diff --git a/docs/autoinstall_samples/autoinstall.conf_sample.php b/docs/autoinstall_samples/autoinstall.conf_sample.php new file mode 100644 index 0000000000000000000000000000000000000000..ccd36aae6a5d38939068f4269dd24151cb3b94f1 --- /dev/null +++ b/docs/autoinstall_samples/autoinstall.conf_sample.php @@ -0,0 +1,52 @@ + \ No newline at end of file diff --git a/docs/autoinstall_samples/autoinstall.ini.sample b/docs/autoinstall_samples/autoinstall.ini.sample new file mode 100644 index 0000000000000000000000000000000000000000..1f4d9d7da0956d3b819bc86f4b4b519786a81898 --- /dev/null +++ b/docs/autoinstall_samples/autoinstall.ini.sample @@ -0,0 +1,50 @@ +[install] +language=en +install_mode=standard +hostname=server1.example.com +mysql_hostname=localhost +mysql_root_user=root +mysql_root_password=ispconfig +mysql_database=dbispconfig +mysql_charset=utf8 +http_server=apache +ispconfig_port=8080 +ispconfig_use_ssl=y + +[ssl_cert] +ssl_cert_country=AU +ssl_cert_state=Some-State +ssl_cert_locality=Chicago +ssl_cert_organisation=Internet Widgits Pty Ltd +ssl_cert_organisation_unit=IT department +ssl_cert_common_name=server1.example.com + +[expert] +mysql_ispconfig_user=ispconfig +mysql_ispconfig_password=afStEratXBsgatRtsa42CadwhQ +join_multiserver_setup=n +mysql_master_hostname=master.example.com +mysql_master_root_user=root +mysql_master_root_password=ispconfig +mysql_master_database=dbispconfig +configure_mail=y +configure_jailkit=y +configure_ftp=y +configure_dns=y +configure_apache=y +configure_nginx=y +configure_firewall=y +install_ispconfig_web_interface=y + +[update] +do_backup=yes +mysql_root_password=ispconfig +mysql_master_hostname=master.example.com +mysql_master_root_user=root +mysql_master_root_password=ispconfig +mysql_master_database=dbispconfig +reconfigure_permissions_in_master_database=no +reconfigure_services=yes +ispconfig_port=8080 +create_new_ispconfig_ssl_cert=no +reconfigure_crontab=yes \ No newline at end of file diff --git a/install/autoupdate.php b/install/autoupdate.php deleted file mode 100644 index 8960e135874a77f5d538cb249a6aa17df01e49f5..0000000000000000000000000000000000000000 --- a/install/autoupdate.php +++ /dev/null @@ -1,338 +0,0 @@ ->This script is for internal use only! Please use update.php! \n\n"; - exit; -} - -//** Include the library with the basic installer functions -require_once 'lib/install.lib.php'; - -//** Include the library with the basic updater functions -require_once 'lib/update.lib.php'; - -//** Include the base class of the installer class -require_once 'lib/installer_base.lib.php'; - -//** Ensure that current working directory is install directory -$cur_dir = getcwd(); -if(realpath(dirname(__FILE__)) != $cur_dir) die("Please run installation/update from _inside_ the install directory!\n"); - -//** Install logfile -define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log'); -define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../')); - -//** Get distribution identifier -$dist = get_distname(); - -include_once "/usr/local/ispconfig/server/lib/config.inc.php"; -$conf_old = $conf; -unset($conf); - -if($dist['id'] == '') die('Linux distribution or version not recognized.'); - -//** Include the distribution-specific installer class library and configuration -if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php'; -include_once 'dist/lib/'.$dist['id'].'.lib.php'; -include_once 'dist/conf/'.$dist['id'].'.conf.php'; - -//** Get hostname -exec('hostname -f', $tmp_out); -$conf['hostname'] = $tmp_out[0]; -unset($tmp_out); - -//** Set the mysql login information -$conf["mysql"]["host"] = $conf_old["db_host"]; -$conf["mysql"]["database"] = $conf_old["db_database"]; -$conf['mysql']['charset'] = 'utf8'; -$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"]; -$conf["mysql"]["ispconfig_password"] = $conf_old["db_password"]; -$conf['language'] = $conf_old['language']; -if($conf['language'] == '{language}') $conf['language'] = 'en'; - -if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"]; -if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"]; -if(isset($conf_old["dbmaster_user"])) $conf["mysql"]["master_ispconfig_user"] = $conf_old["dbmaster_user"]; -if(isset($conf_old["dbmaster_password"])) $conf["mysql"]["master_ispconfig_password"] = $conf_old["dbmaster_password"]; - -//* Check if this is a master / slave setup -$conf['mysql']['master_slave_setup'] = 'n'; -if($conf["mysql"]["master_host"] != '' && $conf["mysql"]["host"] != $conf["mysql"]["master_host"]) { - $conf['mysql']['master_slave_setup'] = 'y'; -} - -// Resolve the IP address of the mysql hostname. -if(!$conf['mysql']['ip'] = gethostbyname($conf['mysql']['host'])) die('Unable to resolve hostname'.$conf['mysql']['host']); - -$conf['server_id'] = intval($conf_old["server_id"]); -$conf['ispconfig_log_priority'] = $conf_old["log_priority"]; - -$inst = new installer(); -$inst->is_update = true; - -//** Detect the installed applications -$inst->find_installed_apps(); - -//** Initialize the MySQL server connection -include_once 'lib/mysql.lib.php'; - -//** Database update is a bit brute force and should be rebuild later ;) - -/* - * Try to read the DB-admin settings - */ -$clientdb_host = ''; -$clientdb_user = ''; -$clientdb_password = ''; -include_once "/usr/local/ispconfig/server/lib/mysql_clientdb.conf"; -$conf["mysql"]["admin_user"] = $clientdb_user; -$conf["mysql"]["admin_password"] = $clientdb_password; -$clientdb_host = ''; -$clientdb_user = ''; -$clientdb_password = ''; - -//** There is a error if user for mysql admin_password if empty -if( empty($conf["mysql"]["admin_password"]) ) { - die("internal error - MYSQL-Root passord not known"); -} - -//** Test mysql root connection -if(!@mysql_connect($conf["mysql"]["host"], $conf["mysql"]["admin_user"], $conf["mysql"]["admin_password"])) { - die("internal error - MYSQL-Root passord wrong"); -} - -/* - * Check all tables -*/ -checkDbHealth(); - -/* - * Prepare the dump of the database -*/ -prepareDBDump(); - -//* initialize the database -$inst->db = new db(); - -/* - * The next line is a bit tricky! - * At the automated update we have no connection to the master-db (we don't need it, because - * there are only TWO points, where this is needed) - * 1) update the rights --> the autoupdater sets the rights of all clients when the server is - * autoupdated) - * 2) update the server-settings (is web installed, is mail installed) --> the autoupdates - * doesn't change any of this settings, so there ist no need to update this. - * This means, the autoupdater did not need any connection to the master-db (only to the local bd - * of the master-server). To avoid any problems, we set the master-db to the local one. - */ -$inst->dbmaster = $inst->db; - -/* - * If it is NOT a master-slave - Setup then we are at the Master-DB. So set all rights -*/ -if($conf['mysql']['master_slave_setup'] != 'y') { - $inst->grant_master_database_rights(true); -} - -/* - * dump the new Database and reconfigure the server.ini - */ -updateDbAndIni(); - -/* - * Reconfigure all Services - */ -if($conf['services']['mail'] == true) { - //** Configure postfix - swriteln('Configuring Postfix'); - $inst->configure_postfix('dont-create-certs'); - - //** Configure mailman - if($conf['mailman']['installed'] == true) { - swriteln('Configuring Mailman'); - $inst->configure_mailman('update'); - } - - //* Configure Jailkit - swriteln('Configuring Jailkit'); - $inst->configure_jailkit(); - - if($conf['dovecot']['installed'] == true) { - //* Configure dovecot - swriteln('Configuring Dovecot'); - $inst->configure_dovecot(); - } else { - //** Configure saslauthd - swriteln('Configuring SASL'); - $inst->configure_saslauthd(); - - //** Configure PAM - swriteln('Configuring PAM'); - $inst->configure_pam(); - - //* Configure courier - swriteln('Configuring Courier'); - $inst->configure_courier(); - } - - //** Configure Spamasassin - swriteln('Configuring Spamassassin'); - $inst->configure_spamassassin(); - - //** Configure Amavis - swriteln('Configuring Amavisd'); - $inst->configure_amavis(); - - //** Configure Getmail - swriteln('Configuring Getmail'); - $inst->configure_getmail(); -} - -if($conf['services']['web'] == true) { - //** Configure Pureftpd - swriteln('Configuring Pureftpd'); - $inst->configure_pureftpd(); -} - -if($conf['services']['dns'] == true) { - //* Configure DNS - if($conf['powerdns']['installed'] == true) { - swriteln('Configuring PowerDNS'); - $inst->configure_powerdns(); - } elseif($conf['bind']['installed'] == true) { - swriteln('Configuring BIND'); - $inst->configure_bind(); - } else { - swriteln('Configuring MyDNS'); - $inst->configure_mydns(); - } -} - -if($conf['services']['web']) { - if($conf['webserver']['server_type'] == 'apache'){ - //** Configure Apache - swriteln('Configuring Apache'); - $inst->configure_apache(); - - //** Configure vlogger - swriteln('Configuring vlogger'); - $inst->configure_vlogger(); - } else { - //** Configure nginx - swriteln('Configuring nginx'); - $inst->configure_nginx(); - } - - //** Configure apps vhost - swriteln('Configuring Apps vhost'); - $inst->configure_apps_vhost(); -} - - -//* Configure DBServer -swriteln('Configuring Database'); -$inst->configure_dbserver(); - - -//if(@is_dir('/etc/Bastille')) { -//* Configure Firewall -swriteln('Configuring Firewall'); -$inst->configure_firewall(); -//} - -//** Configure ISPConfig -swriteln('Updating ISPConfig'); - - -//** Customise the port ISPConfig runs on -$conf['apache']['vhost_port'] = get_ispconfig_port_number(); - -$inst->install_ispconfig(); - -//** Configure Crontab -swriteln('Updating Crontab'); -$inst->install_crontab(); - -//** Restart services: -swriteln('Restarting services ...'); -if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'reload')); -if($conf['services']['mail']) { - 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'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); - //* Reload is enough for nginx - 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'] != '') 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/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php index 42da878c3de2216bb9b6bf363a3c6e9874ff7191..49327239d746461e7b7c9e1ec2f9beeba0e6abb2 100644 --- a/install/dist/lib/debian60.lib.php +++ b/install/dist/lib/debian60.lib.php @@ -111,6 +111,7 @@ class installer extends installer_base { $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); + $content = str_replace('{server_id}', $conf['server_id'], $content); wf($config_dir.'/'.$configfile, $content); chmod($config_dir.'/'.$configfile, 0600); diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 87fadb028452ba4f1385dea48f5fbd73267c1ec5..7a08f93f13d90716a9f5c3f661dca4d2732d8f2a 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -229,8 +229,13 @@ class installer_dist extends installer_base { if(!stristr($options, 'dont-create-certs')) { //* Create the SSL certificate - $command = 'cd '.$config_dir.'; ' - .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509'; + if(AUTOINSTALL){ + $command = 'cd '.$config_dir.'; ' + ."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; + } else { + $command = 'cd '.$config_dir.'; ' + ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; + } exec($command); $command = 'chmod o= '.$config_dir.'/smtpd.key'; @@ -445,6 +450,7 @@ class installer_dist extends installer_base { $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); + $content = str_replace('{server_id}', $conf['server_id'], $content); wf("$config_dir/$configfile", $content); exec("chmod 600 $config_dir/$configfile"); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index b14cffe877ee200e7538b79843f6a5c6356ae23a..4200a013985df7d2f71003a7fc5812e62f669244 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -119,9 +119,13 @@ class installer extends installer_base //* Create the SSL certificate if (!stristr($options, 'dont-create-certs')) { - $command = 'cd '.$config_dir.'; ' - .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509'; - exec($command); + if(AUTOINSTALL){ + $command = 'cd '.$config_dir.'; ' + ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; + } else { + $command = 'cd '.$config_dir.'; ' + .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'; + } $command = 'chmod o= '.$config_dir.'/smtpd.key'; caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 6e6a618678b1fb485a855c464ab020c00b97ae2f..f990e919601bc4813f1a149862782d2c700cedb4 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -125,6 +125,7 @@ class installer_dist extends installer_base { //* Create aliasaes exec('/usr/lib/mailman/bin/genaliases 2>/dev/null'); + if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman'); } function configure_postfix($options = '') @@ -256,9 +257,13 @@ class installer_dist extends installer_base { if(!stristr($options, 'dont-create-certs')) { //* Create the SSL certificate - $command = 'cd '.$config_dir.'; ' - .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509'; - exec($command); + if(AUTOINSTALL){ + $command = 'cd '.$config_dir.'; ' + ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; + } else { + $command = 'cd '.$config_dir.'; ' + .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'; + } $command = 'chmod o= '.$config_dir.'/smtpd.key'; caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); @@ -494,6 +499,7 @@ class installer_dist extends installer_base { $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); + $content = str_replace('{server_id}', $conf['server_id'], $content); wf("$config_dir/$configfile", $content); exec("chmod 600 $config_dir/$configfile"); diff --git a/install/install.php b/install/install.php index 796b0273fd2502fbe75199886c06d80c133091a8..108ed05b2ef37c121c8ffce4b92883ec9db5c65f 100644 --- a/install/install.php +++ b/install/install.php @@ -30,6 +30,30 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* ISPConfig 3 installer. + + ------------------------------------------------------------------------------------- + - Interactive install + ------------------------------------------------------------------------------------- + run: + + php install.php + + ------------------------------------------------------------------------------------- + - Noninteractive (autoinstall) mode + ------------------------------------------------------------------------------------- + + The autoinstall mode can read the installer questions from a .ini style file or from + a php config file. Examples for both file types are in the docs folder. + See autoinstall.ini.sample and autoinstall.conf_sample.php. + + run: + + php install.php --autoinstall=autoinstall.ini + + or + + php install.php --autoinstall=autoinstall.conf.php + */ error_reporting(E_ALL|E_STRICT); @@ -78,6 +102,30 @@ $dist = get_distname(); if($dist['id'] == '') die('Linux distribution or version not recognized.'); +//** Include the autoinstaller configuration (for non-interactive setups) +error_reporting(E_ALL ^ E_NOTICE); + +//** Get commandline options +$cmd_opt = getopt('', array('autoinstall::')); + +//** Load autoinstall file +if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) { + $path_parts = pathinfo($cmd_opt['autoinstall']); + if($path_parts['extension'] == 'php') { + include_once $cmd_opt['autoinstall']; + } elseif($path_parts['extension'] == 'ini') { + $tmp = ini_to_array(file_get_contents('autoinstall.ini')); + $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update']; + unset($tmp); + } + unset($path_parts); + define('AUTOINSTALL', true); +} else { + $autoinstall = array(); + define('AUTOINSTALL', false); +} + + //** Include the distribution-specific installer class library and configuration if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php'; include_once 'dist/lib/'.$dist['id'].'.lib.php'; @@ -109,7 +157,7 @@ if(is_dir('/usr/local/ispconfig')) { $inst->find_installed_apps(); //** Select the language and set default timezone -$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en'); +$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en','language'); $conf['timezone'] = get_system_timezone(); //* Set default theme @@ -117,13 +165,13 @@ $conf['theme'] = 'default'; $conf['language_file_import_enabled'] = true; //** Select installation mode -$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard'); +$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard','install_mode'); //** Get the hostname $tmp_out = array(); exec('hostname -f', $tmp_out); -$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]); +$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0],'hostname'); unset($tmp_out); // Check if the mysql functions are loaded in PHP @@ -132,16 +180,17 @@ if(!function_exists('mysql_connect')) die('No PHP MySQL functions available. Ple //** Get MySQL root credentials $finished = false; do { - $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host']); - $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user']); - $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']); - $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database']); - $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset']); - + $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host'],'mysql_hostname'); + $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user'],'mysql_root_user'); + $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password'); + $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database'],'mysql_database'); + $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset'],'mysql_charset'); + if($install_mode == 'expert') { swriteln("The next two questions are about the internal ISPConfig database user and password.\nIt is recommended to accept the defaults which are 'ispconfig' as username and a random password.\nIf you use a different password, use only numbers and chars for the password.\n"); - $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']); - $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']); + + $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user'],'mysql_ispconfig_user'); + $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password'],'mysql_ispconfig_password'); } //* Initialize the MySQL server connection @@ -176,7 +225,7 @@ if($install_mode == 'standard') { //* Configure Webserver - Apache or nginx if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { - $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache'); + $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server'); if($http_server_to_use == 'apache'){ $conf['nginx']['installed'] = false; } else { @@ -293,12 +342,12 @@ if($install_mode == 'standard') { swriteln('Installing ISPConfig'); //** Customize the port ISPConfig runs on - $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080'); + $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; unset($ispconfig_vhost_port); - if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') { $inst->make_ispconfig_ssl_cert(); } @@ -354,17 +403,16 @@ if($install_mode == 'standard') { //** Get Server ID // $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1'); // Server ID is an autoInc value of the mysql database now - - if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n')) == 'y') { + if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') { $conf['mysql']['master_slave_setup'] = 'y'; //** Get MySQL root credentials $finished = false; do { - $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']); - $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']); - $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']); - $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']); + $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); + $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user'); + $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); + $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database'); //* Initialize the MySQL server connection if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { @@ -397,7 +445,7 @@ if($install_mode == 'standard') { //* Configure Webserver - Apache or nginx if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) { - $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache'); + $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server'); if($http_server_to_use == 'apache'){ $conf['nginx']['installed'] = false; } else { @@ -410,8 +458,7 @@ if($install_mode == 'standard') { swriteln(''); $inst->add_database_server_record(); - - if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y') ) == 'y') { + if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') { $conf['services']['mail'] = true; @@ -470,20 +517,20 @@ if($install_mode == 'standard') { } //** Configure Jailkit - if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y') ) == 'y') { + if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y','configure_jailkit') ) == 'y') { swriteln('Configuring Jailkit'); $inst->configure_jailkit(); } //** Configure Pureftpd - if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y') ) == 'y') { + if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y','configure_ftp') ) == 'y') { swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); } //** Configure DNS - if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') { $conf['services']['dns'] = true; //* Configure DNS if($conf['powerdns']['installed'] == true) { @@ -522,7 +569,7 @@ if($install_mode == 'standard') { //** Configure Apache if($conf['apache']['installed'] == true){ swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.\n"); - if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y','configure_apache')) == 'y') { $conf['services']['web'] = true; swriteln('Configuring Apache'); $inst->configure_apache(); @@ -540,7 +587,7 @@ if($install_mode == 'standard') { //** Configure nginx if($conf['nginx']['installed'] == true){ swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n"); - if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y','configure_nginx')) == 'y') { $conf['services']['web'] = true; swriteln('Configuring nginx'); $inst->configure_nginx(); @@ -556,7 +603,7 @@ if($install_mode == 'standard') { } //** Configure Firewall - if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') { //if($conf['bastille']['installed'] == true) { //* Configure Bastille Firewall $conf['services']['firewall'] = true; @@ -579,7 +626,7 @@ if($install_mode == 'standard') { //** Configure ISPConfig :-) $install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y'; - if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default)) == 'y') { + if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') { swriteln('Installing ISPConfig'); //** We want to check if the server is a module or cgi based php enabled server @@ -597,12 +644,12 @@ if($install_mode == 'standard') { */ //** Customise the port ISPConfig runs on - $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080'); + $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port'); if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port; if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port; unset($ispconfig_vhost_port); - if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') { + if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') { $inst->make_ispconfig_ssl_cert(); } diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php index 379ae786ec8cdf2471590859b621d068a257ed13..04205ccf41d3d6aebfe20cc3f5e85222f337458f 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -86,6 +86,15 @@ function get_distname() { $mainver = array_filter($mainver); $mainver = current($mainver).'.'.next($mainver); switch ($mainver){ + case "14.04": + $relname = "(Trusty Tahr)"; + break; + case "13.10": + $relname = "(Saucy Salamander)"; + break; + case "13.04": + $relname = "(Raring Ringtail)"; + break; case "12.10": $relname = "(Quantal Quetzal)"; break; @@ -246,6 +255,18 @@ function get_distname() { $distid = 'centos53'; $distbaseid = 'fedora'; swriteln("Operating System: CentOS 5 or compatible\n"); + } elseif(stristr($content, 'CentOS Linux release 6')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; + swriteln("Operating System: CentOS 6 or compatible\n"); + } elseif(stristr($content, 'CentOS Linux release 7')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; + swriteln("Operating System: CentOS 7 or compatible\n"); } else { $distname = 'Redhat'; $distver = 'Unknown'; diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 7d6348bf39f653b3170d2eb8bdf8178487836502..548cf9382a15686e5c501302c0cb4d9e92f97b95 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -56,12 +56,21 @@ class installer_base { echo 'WARNING: '.$msg."\n"; } - public function simple_query($query, $answers, $default) { + public function simple_query($query, $answers, $default, $name = '') { + global $autoinstall; $finished = false; do { - $answers_str = implode(',', $answers); - swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: '); - $input = sread(); + if($name != '' && $autoinstall[$name] != '') { + if($autoinstall[$name] == 'default') { + $input = $default; + } else { + $input = $autoinstall[$name]; + } + } else { + $answers_str = implode(',', $answers); + swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: '); + $input = sread(); + } //* Stop the installation if($input == 'quit') { @@ -86,9 +95,18 @@ class installer_base { return $answer; } - public function free_query($query, $default) { - swrite($this->lng($query).' ['.$default.']: '); - $input = sread(); + public function free_query($query, $default, $name = '') { + global $autoinstall; + if($name != '' && $autoinstall[$name] != '') { + if($autoinstall[$name] == 'default') { + $input = $default; + } else { + $input = $autoinstall[$name]; + } + } else { + swrite($this->lng($query).' ['.$default.']: '); + $input = sread(); + } //* Stop the installation if($input == 'quit') { @@ -638,7 +656,7 @@ class installer_base { } public function configure_postfix($options = '') { - global $conf; + global $conf,$autoinstall; $cf = $conf['postfix']; $config_dir = $cf['config_dir']; @@ -750,8 +768,13 @@ class installer_base { if(!stristr($options, 'dont-create-certs')) { //* Create the SSL certificate - $command = 'cd '.$config_dir.'; ' - .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'; + if(AUTOINSTALL){ + $command = 'cd '.$config_dir.'; ' + ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"; + } else { + $command = 'cd '.$config_dir.'; ' + .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'; + } exec($command); $command = 'chmod o= '.$config_dir.'/smtpd.key'; @@ -992,6 +1015,7 @@ class installer_base { $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content); + $content = str_replace('{server_id}', $conf['server_id'], $content); wf($config_dir.'/'.$configfile, $content); chmod($config_dir.'/'.$configfile, 0600); @@ -1671,7 +1695,7 @@ class installer_base { } public function make_ispconfig_ssl_cert() { - global $conf; + global $conf,$autoinstall; $install_dir = $conf['ispconfig_install_dir']; @@ -1683,7 +1707,11 @@ class installer_base { $ssl_pw = substr(md5(mt_rand()), 0, 6); exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096"); - exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file"); + if(AUTOINSTALL){ + exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -key $ssl_key_file -out $ssl_csr_file"); + } else { + exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file"); + } exec("openssl req -x509 -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -in $ssl_csr_file -out $ssl_crt_file -days 3650"); exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure"); rename($ssl_key_file, $ssl_key_file.'.secure'); diff --git a/install/sql/incremental/upd_0078.sql b/install/sql/incremental/upd_0078.sql new file mode 100644 index 0000000000000000000000000000000000000000..39b8c1ce9c89665247d7bea0de8a189bead019e3 --- /dev/null +++ b/install/sql/incremental/upd_0078.sql @@ -0,0 +1 @@ +ALTER TABLE `web_domain` DROP INDEX `serverdomain`, ADD UNIQUE `serverdomain` ( `server_id` , `ip_address`, `domain` ); \ No newline at end of file diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 21c0644710c15d65b222943b388cc75de6176d17..ab5f795cd286f586226c753bb5099ddbe0b48bd5 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -897,8 +897,8 @@ CREATE TABLE `mail_user` ( `login` varchar(255) NOT NULL default '', `password` varchar(255) NOT NULL default '', `name` varchar(255) NOT NULL default '', - `uid` int(11) unsigned NOT NULL default '5000', - `gid` int(11) unsigned NOT NULL default '5000', + `uid` int(11) NOT NULL default '5000', + `gid` int(11) NOT NULL default '5000', `maildir` varchar(255) NOT NULL default '', `quota` bigint(20) NOT NULL default '-1', `cc` varchar(255) NOT NULL default '', @@ -1879,7 +1879,7 @@ CREATE TABLE `web_domain` ( `added_date` date NOT NULL DEFAULT '0000-00-00', `added_by` varchar(255) DEFAULT NULL, PRIMARY KEY (`domain_id`), - UNIQUE KEY `serverdomain` ( `server_id` , `domain` ) + UNIQUE KEY `serverdomain` ( `server_id` , `ip_address`, `domain` ) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- @@ -2292,7 +2292,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`, -- Dumping data for table `sys_config` -- -INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p1'); +INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p2'); INSERT INTO sys_config VALUES ('interface','session_timeout','0'); SET FOREIGN_KEY_CHECKS = 1; diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master index be6f637b7bfcb6131714558bcc84c6f2ae22717d..cd9924a3770da2c523bb4134c7366ca34bb63583 100644 --- a/install/tpl/apache_ispconfig.conf.master +++ b/install/tpl/apache_ispconfig.conf.master @@ -3,7 +3,7 @@ # ISPConfig Logfile configuration for vlogger ################################################ -LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig +LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig @@ -18,6 +18,7 @@ CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m # Do not allow access to the root file system of the server for security reasons + Options -Indexes AllowOverride None Require all denied diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master index ce6a92fcfba48ab25848ab56ce763634fd01544e..7997e9bb697bb63ae762787cc130f4bff4d2dbd7 100644 --- a/install/tpl/apps_php_fpm_pool.conf.master +++ b/install/tpl/apps_php_fpm_pool.conf.master @@ -9,7 +9,7 @@ user = {fpm_user} group = {fpm_group} pm = dynamic -pm.max_children = 50 +pm.max_children = 500 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 5 diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master index bae60611a31166e07650c4d381137cc38a3836c4..6f40a1cda03c204240ca92a22aa3f32ad91337da 100644 --- a/install/tpl/config.inc.php.master +++ b/install/tpl/config.inc.php.master @@ -56,7 +56,7 @@ $revision = str_replace(array('Revision:','$',' '), '', $svn_revision); //** Application define('ISPC_APP_TITLE', 'ISPConfig'); -define('ISPC_APP_VERSION', '3.0.5.4p1'); +define('ISPC_APP_VERSION', '3.0.5.4p2'); define('DEVSYSTEM', 0); diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master index 86eb4df6fe5a6f5d804a6beb2cdab63a7afd7404..61f86c4cfa6f14dbb6dfa87069bb704337a071c1 100644 --- a/install/tpl/debian6_dovecot-sql.conf.master +++ b/install/tpl/debian6_dovecot-sql.conf.master @@ -13,8 +13,8 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' +password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/debian_dovecot-sql.conf.master b/install/tpl/debian_dovecot-sql.conf.master index 9c55df358f90f71291c3fdfa13d3d99c976d98af..a4d5bbd95d815a206dc3dbec3c29ec8cb7e22254 100644 --- a/install/tpl/debian_dovecot-sql.conf.master +++ b/install/tpl/debian_dovecot-sql.conf.master @@ -120,8 +120,8 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' +password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master index e17880e9506cd4cb03c5c314425a95009c42965d..4775002b641006891fd8ae307cfdff5c26a642ec 100644 --- a/install/tpl/debian_postfix.conf.master +++ b/install/tpl/debian_postfix.conf.master @@ -1,7 +1,7 @@ alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases virtual_alias_domains = -virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman +virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf virtual_mailbox_base = {vmail_mailbox_base} @@ -11,7 +11,7 @@ inet_protocols=all smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes -smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list} +smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list} smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_cert_file = {config_dir}/smtpd.cert diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master index faf3be286c7283700e1a45e1e802acb0b77acbdf..769e0a4a0d117ac32327afa0b8069737ca27592f 100644 --- a/install/tpl/fedora_dovecot-sql.conf.master +++ b/install/tpl/fedora_dovecot-sql.conf.master @@ -133,8 +133,8 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' +password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master index 0911f2a7e5f59e1c14a0df236b51510b07fe97a3..330b1f95f767a87cecdd02b384010c0f279e2b71 100644 --- a/install/tpl/fedora_postfix.conf.master +++ b/install/tpl/fedora_postfix.conf.master @@ -1,5 +1,5 @@ virtual_alias_domains = -virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/etc/mailman/virtual-mailman +virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf virtual_mailbox_base = {vmail_mailbox_base} @@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid} smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes -smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list} +smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list} smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_cert_file = {config_dir}/smtpd.cert diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master index 90ed2859fba0e4895ebf404cce9751dfacea604a..a775c4b032999e6ab4279d080e0894634516c9c5 100644 --- a/install/tpl/gentoo_postfix.conf.master +++ b/install/tpl/gentoo_postfix.conf.master @@ -8,7 +8,7 @@ virtual_gid_maps = static:{vmail_groupid} smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes -smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list} +smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list} smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_cert_file = {config_dir}/smtpd.cert diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master index e33603a1c20ac7332d9608e172286bfc83fb0ef0..57515afe872099e2652258d58730f8a388fb65fd 100644 --- a/install/tpl/opensuse_dovecot-sql.conf.master +++ b/install/tpl/opensuse_dovecot-sql.conf.master @@ -133,8 +133,8 @@ driver = mysql connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password} default_pass_scheme = CRYPT -password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' -user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' +password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}' +user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' # The iterate_query is required for the doveadm command only and works only on dovecot 2 servers. # Do not enable it on Dovecot 1.x servers diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master index 90ed2859fba0e4895ebf404cce9751dfacea604a..7baa703ed42e641111aefe09cab182fe64c6d95a 100644 --- a/install/tpl/opensuse_postfix.conf.master +++ b/install/tpl/opensuse_postfix.conf.master @@ -1,5 +1,7 @@ +alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases +alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases virtual_alias_domains = -virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf +virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf virtual_mailbox_base = {vmail_mailbox_base} @@ -8,7 +10,7 @@ virtual_gid_maps = static:{vmail_groupid} smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes -smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list} +smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list} smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_cert_file = {config_dir}/smtpd.cert diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master index dfa305944446c14f82cdaf2ee644df1241e77dd2..9cde75ab60101b4100d8801f54279b3e6cb916e7 100644 --- a/install/tpl/php_fpm_pool.conf.master +++ b/install/tpl/php_fpm_pool.conf.master @@ -9,7 +9,7 @@ user = {fpm_user} group = {fpm_group} pm = dynamic -pm.max_children = 10 +pm.max_children = 500 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 5 diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index dcac5808cc7474283d788eb37daeeafeada1418c..8af63c3f2d47ee6cdb6b056f904001bc1452673e 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -16,7 +16,6 @@ loglevel=2 admin_notify_events=1 backup_dir=/var/backup backup_dir_is_mount=n -backup_dir_mount_cmd= backup_mode=rootgz monit_url= monit_user= diff --git a/install/update.php b/install/update.php index 6a1b9d13e2dac7c18395f1c13d7b7939112b7822..36eb2018175cef76d39daba55895a33c3e9d3499 100644 --- a/install/update.php +++ b/install/update.php @@ -30,6 +30,30 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* ISPConfig 3 updater. + + ------------------------------------------------------------------------------------- + - Interactive update + ------------------------------------------------------------------------------------- + run: + + php update.php + + ------------------------------------------------------------------------------------- + - Noninteractive (autoupdate) mode + ------------------------------------------------------------------------------------- + + The autoupdate mode can read the updater questions from a .ini style file or from + a php config file. Examples for both file types are in the docs folder. + See autoinstall.ini.sample and autoinstall.conf_sample.php. + + run: + + php update.php --autoinstall=autoinstall.ini + + or + + php update.php --autoinstall=autoinstall.conf.php + */ error_reporting(E_ALL|E_STRICT); @@ -83,6 +107,29 @@ unset($conf); if($dist['id'] == '') die('Linux distribution or version not recognized.'); +//** Include the autoinstaller configuration (for non-interactive setups) +error_reporting(E_ALL ^ E_NOTICE); + +//** Get commandline options +$cmd_opt = getopt('', array('autoinstall::')); + +//** Load autoinstall file +if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) { + $path_parts = pathinfo($cmd_opt['autoinstall']); + if($path_parts['extension'] == 'php') { + include_once $cmd_opt['autoinstall']; + } elseif($path_parts['extension'] == 'ini') { + $tmp = ini_to_array(file_get_contents('autoinstall.ini')); + $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update']; + unset($tmp); + } + unset($path_parts); + define('AUTOINSTALL', true); +} else { + $autoinstall = array(); + define('AUTOINSTALL', false); +} + //** Include the distribution-specific installer class library and configuration if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php'; include_once 'dist/lib/'.$dist['id'].'.lib.php'; @@ -131,7 +178,8 @@ $inst->find_installed_apps(); echo "This application will update ISPConfig 3 on your server.\n\n"; //* Make a backup before we start the update -$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes'); +$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes','do_backup'); + if($do_backup == 'yes') { //* Create the backup directory @@ -180,7 +228,7 @@ do { $finished = true; } else { swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error()); - $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']); + $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password'); } } while ($finished == false); unset($finished); @@ -198,10 +246,10 @@ if($conf['mysql']['master_slave_setup'] == 'y') { //** Get MySQL root credentials $finished = false; do { - $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']); - $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']); - $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']); - $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']); + $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname'); + $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user'); + $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password'); + $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database'); //* Initialize the MySQL server connection if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) { @@ -244,7 +292,7 @@ updateDbAndIni(); */ //if($conf_old['dbmaster_user'] != '' or $conf_old['dbmaster_host'] != '') { //** Update master database rights -$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no'); +$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no','reconfigure_permissions_in_master_database'); if($reconfigure_master_database_rights_answer == 'yes') { $inst->grant_master_database_rights(); @@ -252,7 +300,7 @@ if($reconfigure_master_database_rights_answer == 'yes') { //} //** Shall the services be reconfigured during update -$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes'); +$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services'); if($reconfigure_services_answer == 'yes') { @@ -379,15 +427,16 @@ if($conf['nginx']['installed'] == true){ if ($conf['services']['web'] && $inst->install_ispconfig_interface) { //** Customise the port ISPConfig runs on $ispconfig_port_number = get_ispconfig_port_number(); + if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number; if($conf['webserver']['server_type'] == 'nginx'){ - $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number); + $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port'); } else { - $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number); + $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port'); } // $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n'; - if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no')) == 'yes') { + if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no','create_new_ispconfig_ssl_cert')) == 'yes') { $inst->make_ispconfig_ssl_cert(); } } @@ -395,7 +444,7 @@ if ($conf['services']['web'] && $inst->install_ispconfig_interface) { $inst->install_ispconfig(); //** Configure Crontab -$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes'); +$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab'); if($update_crontab_answer == 'yes') { swriteln('Updating Crontab'); $inst->install_crontab(); diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php index 1d80b8abc5b4f5578a2cf0ba58caf15958389f12..8832f45e1c125e67851a93cdb5675c36f943b9b5 100755 --- a/interface/lib/app.inc.php +++ b/interface/lib/app.inc.php @@ -78,16 +78,16 @@ class app { $tmp = $this->ini_parser->parse_ini_string(stripslashes($tmp['config'])); if(!isset($tmp['misc']['session_allow_endless']) || $tmp['misc']['session_allow_endless'] != 'y') { $this->session->set_timeout($sess_timeout); - session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer + session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short } else { // we are doing login here, so we need to set the session data $this->session->set_permanent(true); $this->session->set_timeout(365 * 24 * 3600); // one year - session_set_cookie_params(365 * 24 * 3600); // make the cookie live 5 minutes longer + session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short } } else { $this->session->set_timeout($sess_timeout); - session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer + session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short } } else { session_set_cookie_params(0); // until browser is closed diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php index 7c4208fbdfc9913c792f5aaf7afac6589f102f3f..f6a0ff4e3d9a54d116c3457536652e7f53ffbfbf 100644 --- a/interface/lib/classes/aps_guicontroller.inc.php +++ b/interface/lib/classes/aps_guicontroller.inc.php @@ -333,7 +333,7 @@ class ApsGUIController extends ApsBase } //* Insert new package instance - $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")"; + $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->db->quote($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")"; $InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id'); //* Insert all package settings diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php index 706dd04090ce6384e20192053ede23a5bb57d2df..070662fda86a5b457fb93e72fd771a4c36ec7ae4 100644 --- a/interface/lib/classes/auth.inc.php +++ b/interface/lib/classes/auth.inc.php @@ -50,7 +50,7 @@ class auth { $userid = $app->functions->intval($userid); $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id"); - if($client['limit_client'] > 0) { + if($client['limit_client'] != 0) { return true; } else { return false; diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 5f62f52ec9fc7f92ae714f52ee4fbd7fd392d49b..8fed767087724713cff4f11dabeeabe13939af91 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -248,7 +248,7 @@ class functions { } $ips = array(); - $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'"); + $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'"); if(!empty($results) && is_array($results)){ foreach($results as $result){ if(preg_match($regex, $result['ip'])){ @@ -424,6 +424,32 @@ class functions { return implode("\n", $domains); } + public function is_allowed_user($username, $restrict_names = false) { + global $app; + + $name_blacklist = array('root','ispconfig','vmail','getmail'); + if(in_array($username,$name_blacklist)) return false; + + if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false; + + if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false; + + return true; + } + + public function is_allowed_group($groupname, $restrict_names = false) { + global $app; + + $name_blacklist = array('root','ispconfig','vmail','getmail'); + if(in_array($groupname,$name_blacklist)) return false; + + if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false; + + if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false; + + return true; + } + } ?> diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index 14c1a13f75fa2e5a2d59bd4e3a7dcc6eb4438eef..1b613a9a89977554c95efb484ac4e9b93fc52d9d 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -97,6 +97,7 @@ class listform { $querystring = str_replace("{AUTHSQL}", $app->tform->getAuthSQL('r'), $querystring); $querystring = str_replace("{AUTHSQL-A}", $app->tform->getAuthSQL('r', 'a'), $querystring); $querystring = str_replace("{AUTHSQL-B}", $app->tform->getAuthSQL('r', 'b'), $querystring); + $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring); //* Getting the records $tmp_records = $app->db->queryAllRecords($querystring); @@ -248,6 +249,8 @@ class listform { public function getPagingSQL($sql_where = '1') { global $app, $conf; + + $old_search_limit = intval($_SESSION['search']['limit']); //* Add Global Limit from selectbox if(!empty($_POST['search_limit']) and $app->functions->intval($_POST['search_limit']) > 0){ @@ -272,6 +275,9 @@ class listform { //* set PAGE to worth request variable "PAGE" - ? setze page auf wert der request variablen "page" if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $app->functions->intval($_REQUEST["page"]); + + //* Set search to changed when search limit has been changed. + if(intval($_SESSION['search']['limit']) != $old_search_limit) $this->searchChanged = 1; //* PAGE to 0 set, if look for themselves ? page auf 0 setzen, wenn suche sich ge�ndert hat. if($this->searchChanged == 1) $_SESSION['search'][$list_name]['page'] = 0; diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php index dcb187b6c0d56bbdca7db87ec45aceab2122cbb5..8b3a7cffc4b530136d472cbe4b7510a5cfbc3df8 100644 --- a/interface/lib/classes/session.inc.php +++ b/interface/lib/classes/session.inc.php @@ -88,25 +88,21 @@ class session { // Dont write session_data to DB if session data has not been changed after reading it. if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) { $session_id = $this->db->quote($session_id); - $last_updated = date('Y-m-d H:i:s'); - $this->db->query("UPDATE sys_session SET last_updated = '$last_updated' WHERE session_id = '$session_id'"); + $this->db->query("UPDATE sys_session SET last_updated = NOW() WHERE session_id = '$session_id'"); return true; } if (@$this->session_array['session_id'] == '') { $session_id = $this->db->quote($session_id); - $date_created = date('Y-m-d H:i:s'); - $last_updated = date('Y-m-d H:i:s'); $session_data = $this->db->quote($session_data); - $sql = "INSERT INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')"; + $sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id',NOW(),NOW(),'$session_data','" . ($this->permanent ? 'y' : 'n') . "')"; $this->db->query($sql); } else { $session_id = $this->db->quote($session_id); - $last_updated = date('Y-m-d H:i:s'); $session_data = $this->db->quote($session_data); - $sql = "UPDATE sys_session SET last_updated = '$last_updated', session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'"; + $sql = "UPDATE sys_session SET last_updated = NOW(), session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'"; $this->db->query($sql); } @@ -128,18 +124,11 @@ class session { /*if($this->timeout > 0) { $this->db->query("DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($this->timeout) . " MINUTE)"); } else {*/ - $real_now = date('Y-m-d H:i:s'); - $dt1 = strtotime("$real_now -$max_lifetime seconds"); - $dt2 = date('Y-m-d H:i:s', $dt1); - - $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2' AND `permanent` != 'y'"; + $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($max_lifetime) . " SECOND) AND `permanent` != 'y'"; $this->db->query($sql); /* delete very old even if they are permanent */ - $dt1 = strtotime("$real_now -365 days"); - $dt2 = date('Y-m-d H:i:s', $dt1); - - $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2'"; + $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL 1 YEAR)"; $this->db->query($sql); //} diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index 5fc06279bc3aa7abd9281c7cae234ad0e5789cb4..452230414a14edf37ee8e4125e764b2c47c637c2 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -252,7 +252,9 @@ class tform { unset($tmp_recordid); $querystring = str_replace("{AUTHSQL}", $this->getAuthSQL('r'), $querystring); - $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring); + //$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring); + //*Used the ld form to be compatible with php < 5.3 + $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring); // Getting the records $tmp_records = $app->db->queryAllRecords($querystring); @@ -293,10 +295,12 @@ class tform { return $values; } - + + /* function table_auth_sql($matches){ return $this->getAuthSQL('r', $matches[1]); } + */ //* If the parameter 'valuelimit' is set function applyValueLimit($limit, $values) { @@ -1509,7 +1513,7 @@ class tform { */ function _getDateTimeHTML($form_element, $default_value, $display_seconds=false) { - $_datetime = strtotime($default_value); + $_datetime = ($default_value && $default_value != '0000-00-00 00:00:00' ? strtotime($default_value) : false); $_showdate = ($_datetime === false) ? false : true; $dselect = array('day', 'month', 'year', 'hour', 'minute'); diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php index 988945df4c96caa4683b03b41d2cf48b3acc4e65..d92de9b943bf17168985a27e607fe2c486071e2a 100644 --- a/interface/lib/classes/validate_domain.inc.php +++ b/interface/lib/classes/validate_domain.inc.php @@ -123,156 +123,41 @@ class validate_domain { } // check if domain has alias/subdomains - if we move a web to another IP, make sure alias/subdomains are checked as well - $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain')"); + $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain' OR type = 'vhostsubdomain')"); $additional_sql1 = ''; $additional_sql2 = ''; if(is_array($aliassubdomains) && !empty($aliassubdomains)){ foreach($aliassubdomains as $aliassubdomain){ - $additional_sql1 .= " OR `domain` = '".$app->db->quote($aliassubdomain['domain'])."'"; - $additional_sql2 .= " OR CONCAT(`subdomain`, '.', `domain`) = '".$app->db->quote($aliassubdomain['domain'])."'"; + $additional_sql1 .= " OR d.domain = '".$app->db->quote($aliassubdomain['domain'])."'"; + $additional_sql2 .= " OR CONCAT(d.subdomain, '.', d.domain) = '".$app->db->quote($aliassubdomain['domain'])."'"; } } - - //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `domain` = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id)); - //if($check['cnt'] > 0) return false; - - // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs) - $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : "")); - + + + $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : ""); + $checks = $app->db->queryAllRecords($qrystr); if(is_array($checks) && !empty($checks)){ foreach($checks as $check){ if($domain['ip_address'] == '*') return false; if($check['ip_address'] == '*') return false; if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false; if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false; - // if alias/subdomain: check IP addresses of parent domain - if($check['ip_address'] == '' || $check['ipv6_address'] == ''){ - if($check['parent_domain_id'] > 0){ - $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$check['parent_domain_id']); - } - } - - if($domain['ip_address'] == '' && $check['ip_address'] != ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ip_address'] == '*') return false; - if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false; - } - } - - if($domain['ip_address'] == '' && $check['ip_address'] == ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ip_address'] == '*') return false; - } - } - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ip_address'] == '*') return false; - if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false; - } - } - - if($check['ip_address'] == '' && $domain['ip_address'] != ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ip_address'] == '*') return false; - if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false; - } - } - } - - if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false; - } - } - - if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false; - } - } - - if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false; - } - } - } } } - - + if($only_domain == false) { - //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id)); - //if($check['cnt'] > 0) return false; - // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs) - $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : "")); + $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : ""); + $checks = $app->db->queryAllRecords($qrystr); if(is_array($checks) && !empty($checks)){ foreach($checks as $check){ if($domain['ip_address'] == '*') return false; if($check['ip_address'] == '*') return false; if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false; if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false; - // if alias/subdomain: check IP addresses of parent domain - if($check['ip_address'] == '' || $check['ipv6_address'] == ''){ - if($check['parent_domain_id'] > 0){ - $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$app->functions->intval($check['parent_domain_id'])); - } - } - - if($domain['ip_address'] == '' && $check['ip_address'] != ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ip_address'] == '*') return false; - if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false; - } - } - - if($domain['ip_address'] == '' && $check['ip_address'] == ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ip_address'] == '*') return false; - } - } - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ip_address'] == '*') return false; - if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false; - } - } - - if($check['ip_address'] == '' && $domain['ip_address'] != ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ip_address'] == '*') return false; - if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false; - } - } - } - - if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false; - } - } - - if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){ - if(is_array($parent_domain) && !empty($parent_domain)){ - if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false; - } - } - - if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){ - if($check['parent_domain_id'] > 0){ - if(is_array($check_parent_domain) && !empty($check_parent_domain)){ - if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false; - } - } - } } } - } - + return true; } diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php index 998c37c4ec40f18dca4ee1161a897c8cd5c18176..da044c6053820c656eddb85bffb1fc6099068a1c 100644 --- a/interface/lib/classes/validate_password.inc.php +++ b/interface/lib/classes/validate_password.inc.php @@ -53,10 +53,11 @@ class validate_password { $different += 1; } - if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) { + if (preg_match('/[`~!@#$%^&*()_+|\\=-\[\]}{\';:\/?.>,<" ]/', $password)) { $points += 1; $different += 1; } + if ($points == 0 || $different < 3) { if ($length >= 5 && $length <= 6) { @@ -122,7 +123,7 @@ class validate_password { $lng_text = str_replace('{chars}', $min_password_length, $lng_text); } if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING! - + if(strlen($field_value) < $min_password_length) return $lng_text; if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text; diff --git a/interface/lib/classes/validate_systemuser.inc.php b/interface/lib/classes/validate_systemuser.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..f1bbd2bb39f940f968ff6b4a9d03f044968eea38 --- /dev/null +++ b/interface/lib/classes/validate_systemuser.inc.php @@ -0,0 +1,64 @@ +functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) { + return $app->tform->wordbook[$errmsg]."
\r\n"; + } + } + + /* + Validator function to check if a given group is ok. + */ + function check_sysgroup($field_name, $field_value, $validator) { + global $app; + + $errmsg = $validator['errmsg']; + $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false; + + if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) { + return $app->tform->wordbook[$errmsg]."
\r\n"; + } + } + + + + +} diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php index 7fcbfe21fde5a8b05ac2d01b305c7fa3683431a9..179acc932590cd27340c0775e084e462e721aa62 100644 --- a/interface/lib/config.inc.php +++ b/interface/lib/config.inc.php @@ -44,7 +44,7 @@ $revision = str_replace(array('Revision:', '$', ' '), '', $svn_revision); //** Application define('ISPC_APP_TITLE', 'ISPConfig'); -define('ISPC_APP_VERSION', '3.0.5.4p1'); +define('ISPC_APP_VERSION', '3.0.5.4p2'); define('DEVSYSTEM', 0); diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng index 5f7cb709e93e1631f4f9e55f582a5fd6c1822009..20f26a448d9ad9050b7c059b6d5d8daa933292f6 100644 --- a/interface/lib/lang/el.lng +++ b/interface/lib/lang/el.lng @@ -145,6 +145,6 @@ $wb['strength_2'] = 'Fair'; $wb['strength_3'] = 'Good'; $wb['strength_4'] = 'Strong'; $wb['strength_5'] = 'Very Strong'; -$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".'; +$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".'; $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.'; ?> diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng index f344dc3a437be9149fd6665c0c7a3339bfa94e36..613f2a3428567c02f5a85bd51e123e118be314bb 100644 --- a/interface/lib/lang/fr.lng +++ b/interface/lib/lang/fr.lng @@ -145,6 +145,6 @@ $wb['strength_2'] = 'Fair'; $wb['strength_3'] = 'Good'; $wb['strength_4'] = 'Strong'; $wb['strength_5'] = 'Very Strong'; -$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".'; +$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".'; $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.'; ?> diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng index 5f493339ecac61e05f9df760b4d2664fe52b914c..41a972f5ca41089f38bfb1a758152760d9ceeabd 100644 --- a/interface/lib/lang/se.lng +++ b/interface/lib/lang/se.lng @@ -145,7 +145,6 @@ $wb['strength_2'] = 'Sådär'; $wb['strength_3'] = 'Bra'; $wb['strength_4'] = 'Starkt'; $wb['strength_5'] = 'Väldigt starkt'; -$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".'; +$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".'; $wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.'; ?> - diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index e115c8b922deb664aa000a6712a34cfc4b99465c..01ac5681d9c123310dcb6bb6ede1293815bfd2b4 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -126,8 +126,11 @@ $form["tabs"]['server'] = array( 2 => array( 'event' => 'SAVE', 'type' => 'TOLOWER') ), - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'hostname_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'hostname_error_empty'), + 1 => array ('type' => 'REGEX', + 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/', + 'errmsg'=> 'hostname_error_regex'), ), 'value' => '', 'width' => '40', @@ -164,8 +167,11 @@ $form["tabs"]['server'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '/var/backup', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'backup_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'backup_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'backup_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -177,14 +183,6 @@ $form["tabs"]['server'] = array( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), - 'backup_dir_mount_cmd' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => '', - 'value' => '', - 'width' => '40', - 'maxlength' => '255' - ), 'backup_mode' => array( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', @@ -279,8 +277,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '/home/vmail/[domain]/[localpart]/', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'maildir_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'maildir_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/', + 'errmsg'=> 'maildir_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -290,8 +291,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '/home/vmail/', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'homedir_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'homedir_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'homedir_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -313,8 +317,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', 'default' => '5000', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'mailuser_uid_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'mailuser_uid_error_empty'), + 1 => array('type' => 'RANGE', + 'range' => '1999:', + 'errmsg' => 'mailuser_uid_error_range'), ), 'value' => '', 'width' => '10', @@ -324,8 +331,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', 'default' => '5000', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'mailuser_gid_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'mailuser_gid_error_empty'), + 1 => array('type' => 'RANGE', + 'range' => '1999:', + 'errmsg' => 'mailuser_gid_error_range'), ), 'value' => '', 'width' => '10', @@ -335,8 +345,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'vmail', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'mailuser_name_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'mailuser_name_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/', + 'errmsg'=> 'mailuser_name_error_regex'), ), 'value' => '', 'width' => '10', @@ -346,8 +359,11 @@ $form["tabs"]['mail'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'vmail', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'mailuser_group_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'mailuser_group_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/', + 'errmsg'=> 'mailuser_group_name_error_regex'), ), 'value' => '', 'width' => '10', @@ -455,8 +471,11 @@ $form["tabs"]['getmail'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'getmail_config_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'getmail_config_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'getmail_config_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -486,8 +505,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'website_basedir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'website_basedir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'website_basedir_error_regex'), ), 'value' => '', 'width' => '40', @@ -497,8 +519,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'website_path_error_empty'), + 'validators' => array( 0 => array( 'type' => 'NOTEMPTY', + 'errmsg' => 'website_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/', + 'errmsg'=> 'website_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -508,8 +533,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'website_symlinks_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'website_symlinks_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/', + 'errmsg'=> 'website_symlinks_error_regex'), ), 'value' => '', 'width' => '40', @@ -541,8 +569,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'vhost_conf_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'vhost_conf_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'vhost_conf_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -552,8 +583,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'vhost_conf_enabled_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'vhost_conf_enabled_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'vhost_conf_enabled_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -563,8 +597,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'nginx_vhost_conf_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'nginx_vhost_conf_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'nginx_vhost_conf_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -574,8 +611,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -584,6 +624,10 @@ $form["tabs"]['web'] = array( 'CA_path' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', + 'validators' => array( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/', + 'errmsg'=> 'ca_path_error_regex'), + ), 'default' => '', 'value' => '', 'width' => '40', @@ -683,6 +727,13 @@ $form["tabs"]['web'] = array( 'default' => '', 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'apache_user_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysuser', + 'check_names' => false, + 'errmsg' => 'invalid_apache_user_txt' + ), ), 'value' => '', 'width' => '40', @@ -694,6 +745,13 @@ $form["tabs"]['web'] = array( 'default' => '', 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'apache_group_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysgroup', + 'check_names' => false, + 'errmsg' => 'invalid_apache_group_txt' + ), ), 'value' => '', 'width' => '40', @@ -720,8 +778,15 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'nginx_user_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'nginx_user_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysuser', + 'check_names' => false, + 'errmsg' => 'invalid_nginx_user_txt' + ), ), 'value' => '', 'width' => '40', @@ -731,8 +796,15 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'nginx_group_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'nginx_group_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysgroup', + 'check_names' => false, + 'errmsg' => 'invalid_nginx_group_txt' + ), ), 'value' => '', 'width' => '40', @@ -742,8 +814,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_ini_path_apache_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_ini_path_apache_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'php_ini_path_apache_error_regex'), ), 'value' => '', 'width' => '40', @@ -753,8 +828,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_ini_path_cgi_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_ini_path_cgi_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'php_ini_path_cgi_error_regex'), ), 'value' => '', 'width' => '40', @@ -764,8 +842,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_fpm_init_script_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_fpm_init_script_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/', + 'errmsg'=> 'php_fpm_init_script_error_regex'), ), 'value' => '', 'width' => '40', @@ -775,8 +856,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_fpm_ini_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_fpm_ini_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'php_fpm_ini_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -786,8 +870,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_fpm_pool_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_fpm_pool_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'php_fpm_pool_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -797,7 +884,7 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', + 'validators' => array(0 => array('type' => 'ISPOSITIVE', 'errmsg' => 'php_fpm_start_port_error_empty'), ), 'value' => '', @@ -808,8 +895,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_fpm_socket_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_fpm_socket_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/', + 'errmsg'=> 'php_fpm_socket_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -819,8 +909,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_open_basedir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'php_open_basedir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/', + 'errmsg'=> 'php_open_basedir_error_regex'), ), 'value' => '', 'width' => '40', @@ -830,8 +923,11 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'nginx_cgi_socket_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'nginx_cgi_socket_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'nginx_cgi_socket_error_regex'), ), 'value' => '', 'width' => '40', @@ -841,8 +937,8 @@ $form["tabs"]['web'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'htaccess_allow_override_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'htaccess_allow_override_error_empty'), ), 'value' => '', 'width' => '40', @@ -889,6 +985,12 @@ $form["tabs"]['web'] = array( 'awstats_data_dir' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'awstats_data_dir_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'awstats_data_dir_error_regex'), + ), 'default' => '', 'value' => '', 'width' => '40', @@ -897,6 +999,12 @@ $form["tabs"]['web'] = array( 'awstats_pl' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'awstats_pl_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'awstats_pl_error_regex'), + ), 'default' => '', 'value' => '', 'width' => '40', @@ -905,6 +1013,12 @@ $form["tabs"]['web'] = array( 'awstats_buildstaticpages_pl' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'awstats_buildstaticpages_pl_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'), + ), 'default' => '', 'value' => '', 'width' => '40', @@ -928,8 +1042,11 @@ $form["tabs"]['dns'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'bind_user_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'bind_user_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/', + 'errmsg'=> 'invalid_bind_user_txt'), ), 'value' => '', 'width' => '40', @@ -939,8 +1056,11 @@ $form["tabs"]['dns'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'bind_group_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'bind_group_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/', + 'errmsg'=> 'invalid_bind_group_txt'), ), 'value' => '', 'width' => '40', @@ -950,8 +1070,11 @@ $form["tabs"]['dns'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'bind_zonefiles_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'bind_zonefiles_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'bind_zonefiles_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -961,8 +1084,11 @@ $form["tabs"]['dns'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'named_conf_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'named_conf_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'named_conf_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -972,8 +1098,11 @@ $form["tabs"]['dns'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'named_conf_local_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'named_conf_local_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'named_conf_local_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -997,8 +1126,11 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'fastcgi_starter_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'fastcgi_starter_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/', + 'errmsg'=> 'fastcgi_starter_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -1008,8 +1140,11 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'fastcgi_starter_script_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'fastcgi_starter_script_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'fastcgi_starter_script_error_regex'), ), 'value' => '', 'width' => '40', @@ -1019,8 +1154,11 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'fastcgi_alias_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'fastcgi_alias_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'fastcgi_alias_error_regex'), ), 'value' => '', 'width' => '40', @@ -1030,8 +1168,11 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'fastcgi_phpini_path_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'fastcgi_phpini_path_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/', + 'errmsg'=> 'fastcgi_phpini_path_error_regex'), ), 'value' => '', 'width' => '40', @@ -1041,7 +1182,7 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', + 'validators' => array(0 => array('type' => 'ISPOSITIVE', 'errmsg' => 'fastcgi_children_error_empty'), ), 'value' => '', @@ -1066,8 +1207,11 @@ $form["tabs"]['fastcgi'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'fastcgi_bin_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'fastcgi_bin_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/', + 'errmsg'=> 'fastcgi_bin_error_regex'), ), 'value' => '', 'width' => '40', @@ -1100,8 +1244,11 @@ $form["tabs"]['jailkit'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'jailkit_chroot_home_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'jailkit_chroot_home_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/', + 'errmsg'=> 'jailkit_chroot_home_error_regex'), ), 'value' => '', 'width' => '40', @@ -1111,8 +1258,11 @@ $form["tabs"]['jailkit'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'jailkit_chroot_app_sections_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'jailkit_chroot_app_sections_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/', + 'errmsg'=> 'jailkit_chroot_app_sections_error_regex'), ), 'value' => '', 'width' => '40', @@ -1122,8 +1272,11 @@ $form["tabs"]['jailkit'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'jailkit_chroot_app_programs_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'jailkit_chroot_app_programs_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/', + 'errmsg'=> 'jailkit_chroot_app_programs_error_regex'), ), 'value' => '', 'width' => '40', @@ -1133,8 +1286,11 @@ $form["tabs"]['jailkit'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'jailkit_chroot_cron_programs_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'jailkit_chroot_cron_programs_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/', + 'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'), ), 'value' => '', 'width' => '40', @@ -1222,8 +1378,11 @@ $form["tabs"]['vlogger'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'vlogger_config_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'vlogger_config_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'vlogger_config_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -1249,8 +1408,11 @@ $form["tabs"]['cron'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'cron_init_script_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'cron_init_script_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/', + 'errmsg'=> 'cron_init_script_error_regex'), ), 'value' => '', 'width' => '40', @@ -1260,8 +1422,11 @@ $form["tabs"]['cron'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'crontab_dir_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'crontab_dir_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'crontab_dir_error_regex'), ), 'value' => '', 'width' => '40', @@ -1271,8 +1436,11 @@ $form["tabs"]['cron'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => '', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'cron_wget_error_empty'), + 'validators' => array( 0 => array('type' => 'NOTEMPTY', + 'errmsg' => 'cron_wget_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/', + 'errmsg'=> 'cron_wget_error_regex'), ), 'value' => '', 'width' => '40', diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index ce4a0cbfab29b453937ba700720d7b1dad6c80fa..c53d02bf30b90e9d8f8eb63bcfdb366105661fda 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -449,7 +449,7 @@ $form["tabs"]['misc'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[a-zA-Z0-0\-\_\[\]]{0,50}$/', + 'regex' => '/^[a-zA-Z0-9\-\_\[\]]{0,50}$/', 'errmsg'=> 'customer_no_template_error_regex'), ), 'default' => '', diff --git a/interface/web/admin/language_edit.php b/interface/web/admin/language_edit.php index fda70a62a3a7ab8ca69f78d9d1e454a86650d648..8199244921de1374d0c2b5f40f105d05d960df60 100644 --- a/interface/web/admin/language_edit.php +++ b/interface/web/admin/language_edit.php @@ -57,7 +57,7 @@ if(isset($_POST['records']) && is_array($_POST['records'])) { $file_content = " $val) { $val = stripslashes($val); - $val = str_replace('"', '\"', $val); + $val = preg_replace('/(^|[^\\\\])((\\\\\\\\)*)"/', '$1$2\\"', $val); $val = str_replace('$', '', $val); $file_content .= '$wb['."'$key'".'] = "'.$val.'";'."\n"; $msg = 'File saved.'; diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng index 2a404c673489c6ff372d24e7fcb5b3c08edc9919..7f23b7d2bf330142bb433b9fa932d1d157e3c71d 100644 --- a/interface/web/admin/lib/lang/ar_server_config.lng +++ b/interface/web/admin/lib/lang/ar_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng index ef13ef5502f5d54a7604cf31a24c031f5da23ed0..b15c3c6d011ff133565c31145a68843e2bb076ec 100644 --- a/interface/web/admin/lib/lang/bg_server_config.lng +++ b/interface/web/admin/lib/lang/bg_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng index 66bacf25110469963f173a35f75de69d18a2feef..2b0dd67050d90693bce0aee549298e968222c467 100644 --- a/interface/web/admin/lib/lang/br_server_config.lng +++ b/interface/web/admin/lib/lang/br_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index 41d1bf8c460783060a1b8770c9ca1c7f157641bf..c2db3bab0f791bd0f898c8532c4ba9a812a345b2 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin heslo'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Zástupný symbol'; $wb['backup_dir_is_mount_txt'] = 'Připojit adresář pro zálohy ?'; -$wb['backup_dir_mount_cmd_txt'] = 'Příkaz připojení, pokud adresář pro zálohy není připojen . (např. mount ...)'; $wb['monitor_system_updates_txt'] = 'Kontrolovat aktualizace Linuxu'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 3711d4a0d402a1466dc078feac0604b3a72835cb..b040dba086fde396e2a2ea30d448f066f0d2cbb5 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin-Passwort'; $wb['munin_url_error_regex'] = 'Ungültige Munin-URL'; $wb['munin_url_note_txt'] = 'Platzhalter:'; $wb['backup_dir_is_mount_txt'] = 'Backupverzeichnis ist ein eigener Mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht gemountet'; $wb['monitor_system_updates_txt'] = 'Suche nach Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index 38da1e40244b10426ab40365a8788b317e7cfde7..6ab52a93c962e7fb7e113adbf8da93eeb35af5c3 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng index 41dff65d03a20862e2c1eb6e4c1c6f39b3ac37fd..6c4f9a61dab1c8c1bea0ac204940d8a6564c2566 100644 --- a/interface/web/admin/lib/lang/el_system_config.lng +++ b/interface/web/admin/lib/lang/el_system_config.lng @@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'The customer No. template contain $wb['customer_no_start_txt'] = 'Customer No. start value'; $wb['customer_no_counter_txt'] = 'Customer No. counter'; $wb['session_timeout_txt'] = 'Session timeout (minutes)'; -$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"'; +$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"'; $wb['No'] = 'No'; $wb['min_password_length_txt'] = 'Minimum password length'; $wb['min_password_strength_txt'] = 'Minimum password strength'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 3dc1d0afd78fe7cc48a878f7f5cc32cd796e83da..cc34e05ac3d3e3f885d7439b5f24e86db8329aa2 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -49,6 +49,7 @@ $wb["ip_address_error_wrong"] = 'Invalid IP address format.'; $wb["netmask_error_wrong"] = 'Invalid Netmask format.'; $wb["gateway_error_wrong"] = 'Invalid Gateway format.'; $wb["hostname_error_empty"] = 'Hostname is empty.'; +$wb["hostname_error_regex"] = 'Invalid Hostname.'; $wb["nameservers_error_empty"] = 'Nameserver is empty.'; $wb["config_dir_txt"] = 'Config directory'; $wb["init_script_txt"] = 'Cron init script name'; @@ -189,6 +190,55 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index 1942704007e21e212e4c66e09962d9e74ae2a835..42aeb0942a455f3860388eb29a6b2ff3f06c60ac 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng index a1a5c6308a59c6847e49eaf284f53e7c472e36a0..13ef9f33375c3f7da9309cdddbd53b106abf95b1 100755 --- a/interface/web/admin/lib/lang/fi_server_config.lng +++ b/interface/web/admin/lib/lang/fi_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng index cee14337392876320e99bf7178aeb5bb28973cff..d66d977f16972004ca6e236e333918b51dd54664 100644 --- a/interface/web/admin/lib/lang/fr_server_config.lng +++ b/interface/web/admin/lib/lang/fr_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng index 9abcd05a2332418cf37d069f998f9053a109f699..3c07c65fccff464a308feab11eb8befebbc3953b 100644 --- a/interface/web/admin/lib/lang/fr_system_config.lng +++ b/interface/web/admin/lib/lang/fr_system_config.lng @@ -64,7 +64,7 @@ $wb['customer_no_template_error_regex_txt'] = 'The customer No. template contain $wb['customer_no_start_txt'] = 'Customer No. start value'; $wb['customer_no_counter_txt'] = 'Customer No. counter'; $wb['session_timeout_txt'] = 'Session timeout (minutes)'; -$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"'; +$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"'; $wb['No'] = 'No'; $wb['min_password_length_txt'] = 'Minimum password length'; $wb['min_password_strength_txt'] = 'Minimum password strength'; diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng index 39bbc2a84b84ec4e4f76afe2df7bd178d019937d..1b71f0b74c47c6850f1f07b5efc7a872f78a72e2 100644 --- a/interface/web/admin/lib/lang/hr_server_config.lng +++ b/interface/web/admin/lib/lang/hr_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng index 178a323a2e3dcc8fbcb2bc9ba54b0915b55efc21..4a1752564d174ad90b9f6f85a4a1c3c034d38266 100644 --- a/interface/web/admin/lib/lang/hu_server_config.lng +++ b/interface/web/admin/lib/lang/hu_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng index 4ef64144d9469882ff8686be1b5794d2a01adfbc..ac67571dfba91c75706ad86d042b06a70ee7c1b2 100644 --- a/interface/web/admin/lib/lang/id_server_config.lng +++ b/interface/web/admin/lib/lang/id_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng index d2a6288b9340046e3302024f7c3025f7d3006857..fac8b35bb82cb6e49d9ab5f7c0e9da7a45dba500 100644 --- a/interface/web/admin/lib/lang/it_server_config.lng +++ b/interface/web/admin/lib/lang/it_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng index 06e2bb659818e26d68cfd8299b528aff9e4a8810..110148ce1153ec7328807bb672ad8378ce388016 100644 --- a/interface/web/admin/lib/lang/ja_server_config.lng +++ b/interface/web/admin/lib/lang/ja_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng index d94b5679db19fcc94adc8cb84b4d009c7051af4a..fb97a2ce24d8bfe049565a734a7e3124f5b5cc1e 100644 --- a/interface/web/admin/lib/lang/nl_server_config.lng +++ b/interface/web/admin/lib/lang/nl_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng index 6d74f7d43c691d68880bb88c982750665d01dd96..ada98882b1aaeeeddb946c5cb78cbab878b76cb2 100644 --- a/interface/web/admin/lib/lang/pl_server_config.lng +++ b/interface/web/admin/lib/lang/pl_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng index b31598ca2daff3737072c632a774c5159919b10b..e9fcd3736abd0cb8c954904b2ac1961c511fc1fe 100644 --- a/interface/web/admin/lib/lang/pt_server_config.lng +++ b/interface/web/admin/lib/lang/pt_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng index 06b78eb38cdc2953ade6b563544148089e975dd8..078910fc122d8b8791c826e19c6c7fb7fc159339 100644 --- a/interface/web/admin/lib/lang/ro_server_config.lng +++ b/interface/web/admin/lib/lang/ro_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng index 9c8e58fc24ace913ad27640e46ea000ce6f4b725..9f881ae24827ed7196b5561e5714cb760fce100f 100644 --- a/interface/web/admin/lib/lang/ru_server_config.lng +++ b/interface/web/admin/lib/lang/ru_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/se.lng b/interface/web/admin/lib/lang/se.lng index 510119279ad128cb094be708be9f30cfe21d342d..0df5d1aa4007e7e0e8fadb6902d390441349a8ac 100644 --- a/interface/web/admin/lib/lang/se.lng +++ b/interface/web/admin/lib/lang/se.lng @@ -48,4 +48,3 @@ $wb['Do OS-Update'] = 'Utför OS-uppdatering'; $wb['Do ISPConfig-Update'] = 'Utför ISPConfig-uppdatering'; $wb['Directive Snippets'] = 'Directive Snippets'; ?> - diff --git a/interface/web/admin/lib/lang/se_directive_snippets.lng b/interface/web/admin/lib/lang/se_directive_snippets.lng index 5366bf17a316fa8bc27f741951788db880e4c6a8..0f09c12ee0abd6491457243d488bbb7ad10b7e10 100644 --- a/interface/web/admin/lib/lang/se_directive_snippets.lng +++ b/interface/web/admin/lib/lang/se_directive_snippets.lng @@ -8,4 +8,3 @@ $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.'; $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.'; $wb['variables_txt'] = 'Variables'; ?> - diff --git a/interface/web/admin/lib/lang/se_directive_snippets_list.lng b/interface/web/admin/lib/lang/se_directive_snippets_list.lng index 3eac528a2087e4b0acfcc1107f503133f8ed464c..4124ea34641c48c25db6319110a5f119264242e6 100644 --- a/interface/web/admin/lib/lang/se_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/se_directive_snippets_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Name of Snippet'; $wb['type_txt'] = 'Type'; $wb['add_new_record_txt'] = 'Add Directive Snippet'; ?> - diff --git a/interface/web/admin/lib/lang/se_firewall.lng b/interface/web/admin/lib/lang/se_firewall.lng index 4ae1ed673858191e99f707a723a440abc7c967fe..123a648300bc9d158e2ca319a1819619f4f96c52 100644 --- a/interface/web/admin/lib/lang/se_firewall.lng +++ b/interface/web/admin/lib/lang/se_firewall.lng @@ -9,4 +9,3 @@ $wb['firewall_error_unique'] = 'Det finns redan ett brandväggsinlägg för den $wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.'; $wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.'; ?> - diff --git a/interface/web/admin/lib/lang/se_firewall_list.lng b/interface/web/admin/lib/lang/se_firewall_list.lng index eff32d328c895a646682a0e2a1dc23e937ece5c2..6f6f9ce17dc93f78ce379a0e7af88d6632a17379 100644 --- a/interface/web/admin/lib/lang/se_firewall_list.lng +++ b/interface/web/admin/lib/lang/se_firewall_list.lng @@ -6,4 +6,3 @@ $wb['tcp_port_txt'] = 'Öppna TCP-portar'; $wb['udp_port_txt'] = 'Öppna UDP-portar'; $wb['add_new_record_txt'] = 'Lägg till brandväggsinlägg'; ?> - diff --git a/interface/web/admin/lib/lang/se_groups.lng b/interface/web/admin/lib/lang/se_groups.lng index 175a42255171fdc9fd6fc9d0e55731889c9ab7e1..4bb34b109d5e720cee1f6224ca214ed3b122d844 100644 --- a/interface/web/admin/lib/lang/se_groups.lng +++ b/interface/web/admin/lib/lang/se_groups.lng @@ -3,4 +3,3 @@ $wb['description_txt'] = 'Beskrivning'; $wb['name_txt'] = 'Grupp'; $wb['name_err'] = 'Gruppnamnet måste ha minst 1 och max 30 tecken.'; ?> - diff --git a/interface/web/admin/lib/lang/se_groups_list.lng b/interface/web/admin/lib/lang/se_groups_list.lng index b5486da5a8b22e100605adc08947b6d1c7063717..fe3f4bec5287404af3df0438ad3ec036cc8eee2e 100644 --- a/interface/web/admin/lib/lang/se_groups_list.lng +++ b/interface/web/admin/lib/lang/se_groups_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Grupp'; $wb['add_new_record_txt'] = 'Lägg till ny grupp'; $wb['warning_txt'] = 'VARNING: Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!'; ?> - diff --git a/interface/web/admin/lib/lang/se_iptables.lng b/interface/web/admin/lib/lang/se_iptables.lng index 7c7dbfdb3ca05f3d935a09192e8a32cc8af1dbe6..b4e6bf8f252578d2c43470eb10216736d39da2df 100644 --- a/interface/web/admin/lib/lang/se_iptables.lng +++ b/interface/web/admin/lib/lang/se_iptables.lng @@ -11,4 +11,3 @@ $wb['source_ip_txt'] = 'Källadress'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Det finns redan brandväggsinlägg för den här servern'; ?> - diff --git a/interface/web/admin/lib/lang/se_iptables_list.lng b/interface/web/admin/lib/lang/se_iptables_list.lng index 3d400b4cd3a0fa2671a264382bdf48c178ac98b9..74a06dfbca739d182dbf103a9dc38114b2346bad 100644 --- a/interface/web/admin/lib/lang/se_iptables_list.lng +++ b/interface/web/admin/lib/lang/se_iptables_list.lng @@ -13,4 +13,3 @@ $wb['source_ip_txt'] = 'Källadress'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_add.lng b/interface/web/admin/lib/lang/se_language_add.lng index a0607f2c1680542c2e22d526aeb1e2c1ed61e597..59dbeeed35038e102bc698f94b3b5424d257d549 100644 --- a/interface/web/admin/lib/lang/se_language_add.lng +++ b/interface/web/admin/lib/lang/se_language_add.lng @@ -6,4 +6,3 @@ $wb['btn_save_txt'] = 'Skapa nya språkfiler'; $wb['btn_cancel_txt'] = 'Tillbaka'; $wb['language_new_hint_txt'] = '2 characters ISO 639-1 language-code (See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_complete.lng b/interface/web/admin/lib/lang/se_language_complete.lng index 9fc84589d5bc4a235acea7997915176fb907c19a..539c95641d7b3c7e7b5434a139c3496aab8e74e3 100644 --- a/interface/web/admin/lib/lang/se_language_complete.lng +++ b/interface/web/admin/lib/lang/se_language_complete.lng @@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Slå ihop filer nu'; $wb['btn_cancel_txt'] = 'Tillbaka'; $wb['list_desc_txt'] = 'Slå ihop språkfilen med den engelska huvudfilen.
Detta lägger till saknade fraser från den engelska språkfilen till den valda språkfilen'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_edit.lng b/interface/web/admin/lib/lang/se_language_edit.lng index e02c9a9e02dcb2b3affd2903e48772e9baeea522..076caaa0faea5005abe5886084db5e43654a6a5a 100644 --- a/interface/web/admin/lib/lang/se_language_edit.lng +++ b/interface/web/admin/lib/lang/se_language_edit.lng @@ -6,4 +6,3 @@ $wb['lang_file_txt'] = 'Språkfil'; $wb['btn_save_txt'] = 'Spara'; $wb['btn_cancel_txt'] = 'Tillbaka'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_export.lng b/interface/web/admin/lib/lang/se_language_export.lng index a4d7147fae4449f952e04404c23810d89584a5ee..21ff513005ff753b860129a39871c6e2d7d7ffa7 100644 --- a/interface/web/admin/lib/lang/se_language_export.lng +++ b/interface/web/admin/lib/lang/se_language_export.lng @@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Välj språk'; $wb['btn_save_txt'] = 'Exportera de valda språkfilerna'; $wb['btn_cancel_txt'] = 'Tillbaka'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_import.lng b/interface/web/admin/lib/lang/se_language_import.lng index 8ecca37dc81cd3ad14a7f19ca9d7deb92811b75c..59af5bc6f8051320e8c42805e107345dc0f9ddcc 100644 --- a/interface/web/admin/lib/lang/se_language_import.lng +++ b/interface/web/admin/lib/lang/se_language_import.lng @@ -7,4 +7,3 @@ $wb['btn_cancel_txt'] = 'Tillbaka'; $wb['ignore_version_txt'] = 'Hoppa över ISPConfig versionskontroll'; $wb['list_desc_txt'] = 'VARNING: Importera inte språkfiler från opålitliga källor!'; ?> - diff --git a/interface/web/admin/lib/lang/se_language_list.lng b/interface/web/admin/lib/lang/se_language_list.lng index b23024d94726e91256e3ab56170b81e382152269..9949044ab36d0a497fe8441d7aae1c765ed9400c 100644 --- a/interface/web/admin/lib/lang/se_language_list.lng +++ b/interface/web/admin/lib/lang/se_language_list.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Språkfil'; $wb['lang_file_date_txt'] = 'Senast ändrad'; ?> - diff --git a/interface/web/admin/lib/lang/se_login_as.lng b/interface/web/admin/lib/lang/se_login_as.lng deleted file mode 100644 index 284a75b55aa8c39f126f5b6889e1371ae9a1ed6b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_login_as.lng +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/interface/web/admin/lib/lang/se_package_install.lng b/interface/web/admin/lib/lang/se_package_install.lng index 438f1d8038bacda2855f1b8e92e4c737dfd97106..2fb833056e7fdfb50a44c6d0693aebaa17184479 100644 --- a/interface/web/admin/lib/lang/se_package_install.lng +++ b/interface/web/admin/lib/lang/se_package_install.lng @@ -5,4 +5,3 @@ $wb['repo_username_txt'] = 'Användare (Frivilligt)'; $wb['repo_password_txt'] = 'Lösenord (Frivilligt)'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng index 99d9e2c9aa276bbbf3bc1d725a5e78b8116dff93..68d2bbd4c3aa3ffde593609e81df370c381fc0d5 100644 --- a/interface/web/admin/lib/lang/se_remote_action.lng +++ b/interface/web/admin/lib/lang/se_remote_action.lng @@ -10,4 +10,3 @@ $wb['select_all_server'] = 'Alla servrar'; $wb['ispconfig_update_title'] = 'ISPConfig uppdateringsinstruktioner'; $wb['ispconfig_update_text'] = 'Logga in som root på din server och kör kommandot

ispconfig_update.sh

för att påbörja ISPConfig-uppdateringen.

Klicka här för detaljerade instruktioner'; ?> - diff --git a/interface/web/admin/lib/lang/se_remote_user.lng b/interface/web/admin/lib/lang/se_remote_user.lng index 5fedddc555b9d680b68cd759660abf08e733c89f..1b3b731fc89b321fb1fa4dc701d160d57da13e8b 100644 --- a/interface/web/admin/lib/lang/se_remote_user.lng +++ b/interface/web/admin/lib/lang/se_remote_user.lng @@ -45,4 +45,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; ?> - diff --git a/interface/web/admin/lib/lang/se_remote_user_list.lng b/interface/web/admin/lib/lang/se_remote_user_list.lng index 9f490230a9a28d2b51d1ab78fe2b1fb2fac14133..152a75fba4c8917a1829b6960df7291e583d34a7 100644 --- a/interface/web/admin/lib/lang/se_remote_user_list.lng +++ b/interface/web/admin/lib/lang/se_remote_user_list.lng @@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Add new user'; $wb['parent_remote_userid_txt'] = 'ID'; $wb['username_txt'] = 'Username'; ?> - diff --git a/interface/web/admin/lib/lang/se_server.lng b/interface/web/admin/lib/lang/se_server.lng index 29f32a738398ab5b86ed96f7f327afbe2a09feff..54df6f2ee36e9d4e25eab837f2ab67a6820cfaca 100644 --- a/interface/web/admin/lib/lang/se_server.lng +++ b/interface/web/admin/lib/lang/se_server.lng @@ -13,4 +13,3 @@ $wb['- None -'] = '- Ingen'; $wb['proxy_server_txt'] = 'Proxy-server'; $wb['firewall_server_txt'] = 'Brandväggsserver'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng index 565659e7d244fe19c1f106d5ce0c86bf7f6fcafb..fc5b2017c53030913e4f42fa526e6abffaf9361a 100644 --- a/interface/web/admin/lib/lang/se_server_config.lng +++ b/interface/web/admin/lib/lang/se_server_config.lng @@ -189,7 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_config_list.lng b/interface/web/admin/lib/lang/se_server_config_list.lng index 9ff7f9b640f54d8a0314158873ce08df5e3c6a77..191b2c8d32f65ec714a135fef04f123f0e4b9c3a 100644 --- a/interface/web/admin/lib/lang/se_server_config_list.lng +++ b/interface/web/admin/lib/lang/se_server_config_list.lng @@ -2,4 +2,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_ip.lng b/interface/web/admin/lib/lang/se_server_ip.lng index ad887bbd67939d1707bafe88c81258c1d0e5288e..c6f92d8b60d66a1d1726f1c872baf5a60acecbb7 100644 --- a/interface/web/admin/lib/lang/se_server_ip.lng +++ b/interface/web/admin/lib/lang/se_server_ip.lng @@ -9,4 +9,3 @@ $wb['ip_type_txt'] = 'Typ'; $wb['virtualhost_port_txt'] = 'HTTP-portar'; $wb['error_port_syntax'] = 'Invalid chars in port field, please enter only comma separated numbers. Example: 80,443'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_ip_list.lng b/interface/web/admin/lib/lang/se_server_ip_list.lng index 67884b3587e90c652daf35a17dd1f2b478af8199..8f20a3b029a29144d2479017c24070440049c108 100644 --- a/interface/web/admin/lib/lang/se_server_ip_list.lng +++ b/interface/web/admin/lib/lang/se_server_ip_list.lng @@ -8,4 +8,3 @@ $wb['virtualhost_txt'] = 'HTTP Vhost'; $wb['virtualhost_port_txt'] = 'HTTP-portar'; $wb['ip_type_txt'] = 'Typ'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_list.lng b/interface/web/admin/lib/lang/se_server_list.lng index 23d6940f7c9b98fd87b6f3523fe510ae9c38a9b4..031ac767f0f3a78a5bfb2acbb188b01d48a11da8 100644 --- a/interface/web/admin/lib/lang/se_server_list.lng +++ b/interface/web/admin/lib/lang/se_server_list.lng @@ -11,4 +11,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny server'; $wb['proxy_server_txt'] = 'Proxy'; $wb['firewall_server_txt'] = 'Brandvägg'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_php.lng b/interface/web/admin/lib/lang/se_server_php.lng index 3b6096e2b4cd9dc1368661a946c95cd710c2deac..addbfa49357aa4e45f3c0ef1700065df9cf541f7 100644 --- a/interface/web/admin/lib/lang/se_server_php.lng +++ b/interface/web/admin/lib/lang/se_server_php.lng @@ -14,4 +14,3 @@ $wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory'; $wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory'; ?> - diff --git a/interface/web/admin/lib/lang/se_server_php_list.lng b/interface/web/admin/lib/lang/se_server_php_list.lng index 353e156f10b824bdffbd4dd22b794662ac1c6c77..f5762ad3a6573b8465e7cef786a8e283d8283294 100644 --- a/interface/web/admin/lib/lang/se_server_php_list.lng +++ b/interface/web/admin/lib/lang/se_server_php_list.lng @@ -5,4 +5,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny PHP-version'; $wb['client_id_txt'] = 'Kund'; $wb['name_txt'] = 'PHP-namn'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_package.lng b/interface/web/admin/lib/lang/se_software_package.lng index f06ca05fe00dc818adbf8c0b1815fcd72ead9b8b..086902db0cbddab5c57150f462e0583e020903a6 100644 --- a/interface/web/admin/lib/lang/se_software_package.lng +++ b/interface/web/admin/lib/lang/se_software_package.lng @@ -4,4 +4,3 @@ $wb['package_key_txt'] = 'Packetnyckel'; $wb['Software Package'] = 'Mjukvarupaket'; $wb['Modify software package details'] = 'Redigera mjukvarupaketets uppgifter'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_package_install.lng b/interface/web/admin/lib/lang/se_software_package_install.lng index 7b0b28bc06f6bfed10852768aa98d39a52c67cf7..434fc4bc98139ec1e01a513bd4cd8036e446edb7 100644 --- a/interface/web/admin/lib/lang/se_software_package_install.lng +++ b/interface/web/admin/lib/lang/se_software_package_install.lng @@ -4,4 +4,3 @@ $wb['install_key_txt'] = 'Fyll i installationsnyckel'; $wb['btn_save_txt'] = 'Påbörja installation'; $wb['btn_cancel_txt'] = 'Avbryt'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_package_list.lng b/interface/web/admin/lib/lang/se_software_package_list.lng index 7762e62a2c49267b1e29feebd12a6fec2bb2408d..c0222e1ba4fb975e56722d0080afde3d734e0cfb 100644 --- a/interface/web/admin/lib/lang/se_software_package_list.lng +++ b/interface/web/admin/lib/lang/se_software_package_list.lng @@ -11,4 +11,3 @@ $wb['no_packages_txt'] = 'Inga paket tillgängliga'; $wb['edit_txt'] = 'Redigera'; $wb['delete_txt'] = 'Radera'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_repo.lng b/interface/web/admin/lib/lang/se_software_repo.lng index db59a1b06d3a5172a6eacf2cd206783c03620bb7..a0e0de6822419055beee042cb8df66b7532d9984 100644 --- a/interface/web/admin/lib/lang/se_software_repo.lng +++ b/interface/web/admin/lib/lang/se_software_repo.lng @@ -6,4 +6,3 @@ $wb['repo_password_txt'] = 'Lösenord (Frivilligt)'; $wb['active_txt'] = 'Aktiv'; $wb['Software Repository which may contain addons or updates'] = 'Pragarmvarubibliotek som kan innehålla uppdateringar eller tillägg'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_repo_list.lng b/interface/web/admin/lib/lang/se_software_repo_list.lng index d997091998172ca757074d22311b0d525594c228..b7a219ffa8e2f6d389fabdc5386286a24fc2a11a 100644 --- a/interface/web/admin/lib/lang/se_software_repo_list.lng +++ b/interface/web/admin/lib/lang/se_software_repo_list.lng @@ -4,4 +4,3 @@ $wb['active_txt'] = 'Active'; $wb['repo_name_txt'] = 'Repository'; $wb['repo_url_txt'] = 'URL'; ?> - diff --git a/interface/web/admin/lib/lang/se_software_update_list.lng b/interface/web/admin/lib/lang/se_software_update_list.lng index 41728b2563eaed67c2e3a001cb4a0da18a143d97..0cf7c0eddc2c9c336c80085af3a5cb98b0f0d806 100644 --- a/interface/web/admin/lib/lang/se_software_update_list.lng +++ b/interface/web/admin/lib/lang/se_software_update_list.lng @@ -7,4 +7,3 @@ $wb['action_txt'] = 'Händelse'; $wb['server_select_txt'] = 'Välj server'; $wb['no_updates_txt'] = 'Inga tillgängliga uppdateringar'; ?> - diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng index 25b35935853e68b587573befa1f351530f759fb8..7e9618102f33f81810a84fc52b4c0d4120f73e27 100644 --- a/interface/web/admin/lib/lang/se_system_config.lng +++ b/interface/web/admin/lib/lang/se_system_config.lng @@ -64,9 +64,8 @@ $wb['customer_no_template_error_regex_txt'] = 'Kundnummermallen innehåller otil $wb['customer_no_start_txt'] = 'Kundnummer startvärde'; $wb['customer_no_counter_txt'] = 'Kundnummer räknare'; $wb['session_timeout_txt'] = 'Session timeout (minuter)'; -$wb['session_allow_endless_txt'] = 'Aktivera "håll mig inloggad"'; +$wb['session_allow_endless_txt'] = 'Aktivera \"håll mig inloggad\"'; $wb['No'] = 'Nej'; $wb['min_password_length_txt'] = 'Minsta lösenordslängd'; $wb['min_password_strength_txt'] = 'Minsta lösenordsstyrka'; ?> - diff --git a/interface/web/admin/lib/lang/se_tpl_default_admin.lng b/interface/web/admin/lib/lang/se_tpl_default_admin.lng index d8989edcc474bad6d706c9badc11392beed3f222..88945588a3d59f4de7fd942abd3991bbb8d471a7 100644 --- a/interface/web/admin/lib/lang/se_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/se_tpl_default_admin.lng @@ -16,4 +16,3 @@ $wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory'; $wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory'; ?> - diff --git a/interface/web/admin/lib/lang/se_users.lng b/interface/web/admin/lib/lang/se_users.lng index 3acec5318e501e7ffefc5b65e9ed020fb79067db..9a819be74eaa0f5d9ff52da89c48a6830d5f1dee 100644 --- a/interface/web/admin/lib/lang/se_users.lng +++ b/interface/web/admin/lib/lang/se_users.lng @@ -32,4 +32,3 @@ $wb['password_match_txt'] = 'Lösenorden matchar'; $wb['username_error_collision'] = 'Användarnamnet får inte vara web eller web och ett nummer'; $wb['client_not_admin_err'] = 'En användare som tillhör en kund kan inte sättas som admin'; ?> - diff --git a/interface/web/admin/lib/lang/se_users_list.lng b/interface/web/admin/lib/lang/se_users_list.lng index f9ea803049235b616ed4586cd4831949b7db2646..a6580d3089ca9caa7b40a1cbe11109f187e9292d 100644 --- a/interface/web/admin/lib/lang/se_users_list.lng +++ b/interface/web/admin/lib/lang/se_users_list.lng @@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny användare'; $wb['warning_txt'] = 'VARNING: Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!'; $wb['groups_txt'] = 'Grupper'; ?> - diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng index de4573dd961f48299614993d2e0950c0063f9201..776357db68da431840ca2d63d115ba7e25fed0e3 100644 --- a/interface/web/admin/lib/lang/sk_server_config.lng +++ b/interface/web/admin/lib/lang/sk_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng index 5b2d389d78dcd8b4b1544798080cfb4f198e0566..6d6e05d5528635ce9d5f1266d2af039fc848b7ca 100644 --- a/interface/web/admin/lib/lang/tr_server_config.lng +++ b/interface/web/admin/lib/lang/tr_server_config.lng @@ -189,6 +189,56 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; $wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?'; -$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted'; $wb['monitor_system_updates_txt'] = 'Check for Linux updates'; +$wb['hostname_error_regex'] = 'Invalid Hostname.'; +$wb['invalid_apache_user_txt'] = 'Invalid apache user.'; +$wb['invalid_apache_group_txt'] = 'Invalid apache group.'; +$wb['backup_dir_error_regex'] = 'Invalid backup directory.'; +$wb['maildir_path_error_regex'] = 'Invalid maildir path.'; +$wb['homedir_path_error_regex'] = 'Invalid homedir path.'; +$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.'; +$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.'; +$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000'; +$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000'; +$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.'; +$wb['website_basedir_error_regex'] = 'Invalid website basedir.'; +$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.'; +$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.'; +$wb['ca_path_error_regex'] = 'Invalid CA path.'; +$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.'; +$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.'; +$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.'; +$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.'; +$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.'; +$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.'; +$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.'; +$wb['awstats_data_dir_empty'] = 'awstats data directory is empty'; +$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.'; +$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.'; +$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.'; +$wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; +$wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; +$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; +$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.'; +$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.'; +$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.'; +$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.'; +$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.'; +$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.'; +$wb['cron_init_script_error_regex'] = 'Invalid cron init script.'; +$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; +$wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; ?> diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index d9b703ae21fdee6ecc34c60da3e404ce3ed89df7..e5034e6aa3df3ce084184f25ca69106482db929c 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -64,10 +64,6 @@
{tmpl_var name='backup_dir_is_mount'}
- -
- -
diff --git a/interface/web/admin/templates/users_list.htm b/interface/web/admin/templates/users_list.htm index dece7f8f3d30b02882c0c5e4c2ccd0173e27e0b8..cac25f54e7c6edc7ba3e5784a54413dc12826d55 100644 --- a/interface/web/admin/templates/users_list.htm +++ b/interface/web/admin/templates/users_list.htm @@ -44,7 +44,7 @@ {tmpl_var name="groups"} - {tmpl_var name='login_as_txt'} + {tmpl_var name='login_as_txt'} {tmpl_var name='delete_txt'} diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng index d336b3b7ebd1b87ffd30c72dd5c37f57cd492aed..0c1ca597771f43d89ec155c055183e867829e620 100644 --- a/interface/web/client/lib/lang/el_reseller.lng +++ b/interface/web/client/lib/lang/el_reseller.lng @@ -157,5 +157,5 @@ $wb['added_date_txt'] = 'Added date'; $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; -$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.'; +$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; ?> diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng index f37d32618c2204d7e1667dad25e365be4c52ce9a..2de8e0a5c0636c5a177c6c8d66660f52fc2bbd51 100644 --- a/interface/web/client/lib/lang/fr_client.lng +++ b/interface/web/client/lib/lang/fr_client.lng @@ -139,7 +139,7 @@ $wb['email_error_isemail'] = 'Saisissez une adresse email valide.'; $wb['customer_no_error_unique'] = 'Le numéro client doit être unique (ou vide).'; $wb['paypal_email_error_isemail'] = 'Saisissez un compte Paypal valide.'; $wb['paypal_email_txt'] = 'Compte Paypal'; -$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \"custom\" est sélectionné.'; +$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \\"custom\\" est sélectionné.'; $wb['aps_limits_txt'] = 'Nombre max d\'Installeur APS'; $wb['limit_aps_txt'] = 'Nombre max d\'instances APS'; $wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre'; diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng index c71020df3ceca0b95c79f431f17ee7a59baeab9e..a4b0d6211860c6c3a42f6bd3a92b9ba5bc1e8f36 100644 --- a/interface/web/client/lib/lang/fr_reseller.lng +++ b/interface/web/client/lib/lang/fr_reseller.lng @@ -157,5 +157,5 @@ $wb['added_date_txt'] = 'Added date'; $wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; -$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.'; +$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; ?> diff --git a/interface/web/client/lib/lang/se.lng b/interface/web/client/lib/lang/se.lng index 271f69d05023b4775c06453ead9ee8f6ba9b798a..3f396d646595612676bac7b5fd5d8480cea5b851 100644 --- a/interface/web/client/lib/lang/se.lng +++ b/interface/web/client/lib/lang/se.lng @@ -24,4 +24,3 @@ $wb['error_domain_in webuse'] = 'Den här domänen kan inte tas bort då den anv $wb['error_client_can_not_add_domain'] = 'Du kan inte lägga till en ny domän'; $wb['error_client_group_id_empty'] = 'Du måste välja en kund
'; ?> - diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng index c8540a69d4212b15d07c5f2d5c222eab859b8866..f6336149ce2d2be5118c080dcb82e723e4578cdb 100644 --- a/interface/web/client/lib/lang/se_client.lng +++ b/interface/web/client/lib/lang/se_client.lng @@ -139,7 +139,7 @@ $wb['email_error_isemail'] = 'Vänligen ange en giltig epostadress'; $wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).'; $wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.'; $wb['paypal_email_txt'] = 'PayPal epostadress'; -$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.'; +$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.'; $wb['aps_limits_txt'] = 'APS Installer Limits'; $wb['limit_aps_txt'] = 'Max. number of APS instances'; $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; @@ -154,4 +154,3 @@ $wb['added_date_txt'] = 'Tillagd datum'; $wb['parent_client_id_txt'] = 'Kund till återförsäljare'; $wb['none_txt'] = 'ingen'; ?> - diff --git a/interface/web/client/lib/lang/se_client_circle.lng b/interface/web/client/lib/lang/se_client_circle.lng index f30732ea0127752238cb503a1625a669b04b71a7..df3c995116bda866ee7232c2ea81eba128bc7a8c 100644 --- a/interface/web/client/lib/lang/se_client_circle.lng +++ b/interface/web/client/lib/lang/se_client_circle.lng @@ -7,4 +7,3 @@ $wb['client_ids_txt'] = 'Kunder/Återförsäljare'; $wb['description_txt'] = 'BEskrivning'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/client/lib/lang/se_client_circle_list.lng b/interface/web/client/lib/lang/se_client_circle_list.lng index 21ae4d602646278680f91a17cc65531b2cc5dc62..f98f551c513730071b79625e47e7135b4d0b8e0f 100644 --- a/interface/web/client/lib/lang/se_client_circle_list.lng +++ b/interface/web/client/lib/lang/se_client_circle_list.lng @@ -8,4 +8,3 @@ $wb['filter_txt'] = 'Filter'; $wb['delete_txt'] = 'Radera'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/client/lib/lang/se_client_del.lng b/interface/web/client/lib/lang/se_client_del.lng index 9cf44fcfe1db642cfe5ae07adca4d0a87345ca2b..99aa9d8a42291116d2d2ce160f48e09e021f6d82 100644 --- a/interface/web/client/lib/lang/se_client_del.lng +++ b/interface/web/client/lib/lang/se_client_del.lng @@ -5,4 +5,3 @@ $wb['btn_save_txt'] = 'Radera kunden'; $wb['btn_cancel_txt'] = 'Avbryt utan att radera kunden'; $wb['confirm_client_delete_txt'] = 'Är du säker på att du vill radera den här kunden?'; ?> - diff --git a/interface/web/client/lib/lang/se_client_message.lng b/interface/web/client/lib/lang/se_client_message.lng index 625b0db7ad3d690ca7384a51f7ea3595f5ce0f3b..e6f9aba919f84ec314c869b6b09d0b0ab706e827 100644 --- a/interface/web/client/lib/lang/se_client_message.lng +++ b/interface/web/client/lib/lang/se_client_message.lng @@ -18,4 +18,3 @@ $wb['variables_txt'] = 'Variabler:'; $wb['gender_m_txt'] = 'Herr'; $wb['gender_f_txt'] = 'Fru'; ?> - diff --git a/interface/web/client/lib/lang/se_client_message_template.lng b/interface/web/client/lib/lang/se_client_message_template.lng index 3ff9480909d1dc3886c8cf965a8c00f79daa4ce0..e406d37cafebaa04a1a7797bc093d6c062741fa8 100644 --- a/interface/web/client/lib/lang/se_client_message_template.lng +++ b/interface/web/client/lib/lang/se_client_message_template.lng @@ -9,4 +9,3 @@ $wb['variables_txt'] = 'Variabler'; $wb['variables_description_txt'] = '(Användarnamn- och lösenordsvariablerna är endast tillgängliga i välkomstmail.)'; $wb['duplicate_welcome_error'] = 'Det kan bara finnas en standardmall för välkomstmail. Vänligen redigera den existerande mallen istället för att lägga till en ny.'; ?> - diff --git a/interface/web/client/lib/lang/se_client_message_template_list.lng b/interface/web/client/lib/lang/se_client_message_template_list.lng index f94a10697398232762cabe659e91d4a36e50dd30..088d2698eb00a08a6df0fff5e32c8afdc0dd5f5c 100644 --- a/interface/web/client/lib/lang/se_client_message_template_list.lng +++ b/interface/web/client/lib/lang/se_client_message_template_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Epostmallar'; $wb['template_type_txt'] = 'Meddelande till'; $wb['template_name_txt'] = 'Mallnamn'; ?> - diff --git a/interface/web/client/lib/lang/se_client_template.lng b/interface/web/client/lib/lang/se_client_template.lng index 12e43554399f00ef6eb7de6c6e7ff18adff66703..353960c946748755747643b31f0db06d78a25bc2 100644 --- a/interface/web/client/lib/lang/se_client_template.lng +++ b/interface/web/client/lib/lang/se_client_template.lng @@ -90,4 +90,3 @@ $wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.'; $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; ?> - diff --git a/interface/web/client/lib/lang/se_client_template_list.lng b/interface/web/client/lib/lang/se_client_template_list.lng index cc9d5d5a6b8776b8bcfb66edb47ae8f230fc55d6..b594337e7ca6ef727ad97849a7036bcd708428dd 100644 --- a/interface/web/client/lib/lang/se_client_template_list.lng +++ b/interface/web/client/lib/lang/se_client_template_list.lng @@ -4,4 +4,3 @@ $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Mallnamn'; $wb['template_id_txt'] = 'Mall-ID'; ?> - diff --git a/interface/web/client/lib/lang/se_clients_list.lng b/interface/web/client/lib/lang/se_clients_list.lng index 89fe0edeef713e48e15f3a2d1e98a1e373746489..263912f0d522d14549982ae50c2d963dbbc1c8ea 100644 --- a/interface/web/client/lib/lang/se_clients_list.lng +++ b/interface/web/client/lib/lang/se_clients_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny kund'; $wb['username_txt'] = 'Användarnamn'; $wb['customer_no_txt'] = 'Kundnummer'; ?> - diff --git a/interface/web/client/lib/lang/se_domain.lng b/interface/web/client/lib/lang/se_domain.lng index 7d648de16db1ddfcce6370ba8058bc39694e6c44..df60bbeca2d3234da77905a44a732acc37d98d39 100644 --- a/interface/web/client/lib/lang/se_domain.lng +++ b/interface/web/client/lib/lang/se_domain.lng @@ -4,4 +4,3 @@ $wb['domain_error_unique'] = 'Domänen finns redan'; $wb['domain_error_regex'] = 'Denna domän är ogiltig'; $wb['Domain'] = 'Domän'; ?> - diff --git a/interface/web/client/lib/lang/se_domain_list.lng b/interface/web/client/lib/lang/se_domain_list.lng index da7504fd4584eee92fdc07f9ab25c5601f598a11..1262367a9db4929e15c424008c228d159f0c5094 100644 --- a/interface/web/client/lib/lang/se_domain_list.lng +++ b/interface/web/client/lib/lang/se_domain_list.lng @@ -4,4 +4,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny domän'; $wb['domain_txt'] = 'Domän'; $wb['user_txt'] = 'Kund'; ?> - diff --git a/interface/web/client/lib/lang/se_reseller.lng b/interface/web/client/lib/lang/se_reseller.lng index de8f50456d5a7b5ce4720baaa05bc6be6c433f9f..7fab36deea75f9f2b29bad7156e879ccb188fea8 100644 --- a/interface/web/client/lib/lang/se_reseller.lng +++ b/interface/web/client/lib/lang/se_reseller.lng @@ -159,4 +159,3 @@ $wb['limit_domainmodule_txt'] = 'Domainmodule Limit'; $wb['client_limits_txt'] = 'Client Limits'; $wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.'; ?> - diff --git a/interface/web/client/lib/lang/se_resellers_list.lng b/interface/web/client/lib/lang/se_resellers_list.lng index 3448e5cd4dcba6b010e25406039dd682c487f7f0..5e03807c7f89b1c43e0faf0be4d8070ebd590d91 100644 --- a/interface/web/client/lib/lang/se_resellers_list.lng +++ b/interface/web/client/lib/lang/se_resellers_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny återförsäljare'; $wb['customer_no_txt'] = 'Kundnummer'; $wb['username_txt'] = 'Användarnamn'; ?> - diff --git a/interface/web/dashboard/lib/lang/se.lng b/interface/web/dashboard/lib/lang/se.lng index 11700f0cac6967c450aa2baa2cad37051b9acc36..307e9e1ca1fcc35f95504642c7b2e9a4593e6c52 100644 --- a/interface/web/dashboard/lib/lang/se.lng +++ b/interface/web/dashboard/lib/lang/se.lng @@ -2,4 +2,3 @@ $wb['welcome_user_txt'] = 'Välkommen %s'; $wb['available_modules_txt'] = 'Tillgängliga moduler'; ?> - diff --git a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng index 49473b7a0f6a8eb61eff41d2cb0112e0c05f01f7..9fbfe97cbd162a94204dd1e40f56bad258bcac22 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng @@ -28,4 +28,3 @@ $wb['limit_client_txt'] = 'Antal kunder'; $wb['limit_database_txt'] = 'Antal databaser'; $wb['limit_mailmailinglist_txt'] = 'Antal mailinglistor'; ?> - diff --git a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng index 883b2a5affff2e5cbde89e3f482e83fcd8f073ba..1ed6f3f228ab53dacba7f4dfc2d5c49069105ea6 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng @@ -6,4 +6,3 @@ $wb['used_txt'] = 'Använt utrymme'; $wb['quota_txt'] = 'Kvot'; $wb['no_email_accounts_txt'] = 'Inga epostkonton hittades'; ?> - diff --git a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng index 4dff679c732556dccfb907ae9b54e36757dcf05d..a6f97280440b6028334093bc1c1230209de3e364 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng index 325b04dfffd1b4a63df0c50768c83bf4da40b37e..7a9603b0f5566ab512f0d418b0825a9410ab84d7 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng @@ -6,4 +6,3 @@ $wb['hard_txt'] = 'Hård gräns'; $wb['soft_txt'] = 'Mjuk gräns'; $wb['no_sites_txt'] = 'Ingen webbsida hittades.'; ?> - diff --git a/interface/web/designer/lib/lang/se.lng b/interface/web/designer/lib/lang/se.lng index 29f4a51efebb370aeb04c5144a604ca2c04e02be..acb6c3546c6150b4edbafb782d3ed85c499210b5 100644 --- a/interface/web/designer/lib/lang/se.lng +++ b/interface/web/designer/lib/lang/se.lng @@ -1,3 +1,2 @@ - diff --git a/interface/web/designer/lib/lang/se_form_edit.lng b/interface/web/designer/lib/lang/se_form_edit.lng index 72d80e52ec822b6c1a5cb1f9ca66da719b6d2add..1a3a831ff07970ae9896817f6619b909066f28cc 100644 --- a/interface/web/designer/lib/lang/se_form_edit.lng +++ b/interface/web/designer/lib/lang/se_form_edit.lng @@ -22,4 +22,3 @@ $wb['auth_preset_perm_user_txt'] = 'Beh. Användare'; $wb['auth_preset_perm_group_txt'] = 'Beh. Grupp'; $wb['auth_preset_perm_other_txt'] = 'Beh. Andra'; ?> - diff --git a/interface/web/designer/lib/lang/se_form_list.lng b/interface/web/designer/lib/lang/se_form_list.lng index 7951bb77b314bfcf5d1a1c557f6dfb90ef052643..10f41870b92fc9a4e314e5a111e0d11eca3b6630 100644 --- a/interface/web/designer/lib/lang/se_form_list.lng +++ b/interface/web/designer/lib/lang/se_form_list.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Titel'; $wb['description_txt'] = 'Beskrivning'; ?> - diff --git a/interface/web/designer/lib/lang/se_form_show.lng b/interface/web/designer/lib/lang/se_form_show.lng index 1d5de499b01ec813be09a44fe9ceeb3563d4f78c..3e21d62ef4e75ae079896de27e96cbe1adf5cbe2 100644 --- a/interface/web/designer/lib/lang/se_form_show.lng +++ b/interface/web/designer/lib/lang/se_form_show.lng @@ -16,4 +16,3 @@ $wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?'; $wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?'; $wb['item_del_txt'] = 'Ta bort menyinnehåll?'; ?> - diff --git a/interface/web/designer/lib/lang/se_module_edit.lng b/interface/web/designer/lib/lang/se_module_edit.lng index 992a0747c147a914938ea93924c7f90abb77c75f..ba828ebbfcc806a0cb95eaf8429ba606bdb83379 100644 --- a/interface/web/designer/lib/lang/se_module_edit.lng +++ b/interface/web/designer/lib/lang/se_module_edit.lng @@ -10,4 +10,3 @@ $wb['cancel_txt'] = 'Avbryt'; $wb['header_txt'] = 'Modulinställningar'; $wb['description_txt'] = 'Description

Modulename: Namn på modul mappen. Endast siffror, bokstäver och understreck är tillåtna.
Moduletitle: Kommer att visas i (övre) huvud navigerigsramen.
Template file: Mall fil för modulen. Just nu finns: module.tpl.htm och module_tree.tpl.htm. Standard är module.tpl.htm.
NaviFrame: Om module module_tree.tpl.htm väljs som mall file, skriv här sökvägen till skriptfilen för den vänstra ramen.
Default page: Dessa sidor kommer att visas när modulen öppnas.
Tab width: Bredd på Flikarna i huvud navigerings ramen. Detta fält är tomt som standard. Du kan skriva in ett absolutvärde i pixlar (ex. 20) eller relativt värde (ex. 20%).
Hint: Alla sökvägar är relativa till mappen web.'; ?> - diff --git a/interface/web/designer/lib/lang/se_module_list.lng b/interface/web/designer/lib/lang/se_module_list.lng index d8408e28e4b44196dbf71e52b518dfdf140439b0..47ff22860895fec10feb82bdcb6d5fcbe118ed21 100644 --- a/interface/web/designer/lib/lang/se_module_list.lng +++ b/interface/web/designer/lib/lang/se_module_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Huvudmodul'; $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Titel'; ?> - diff --git a/interface/web/designer/lib/lang/se_module_nav_edit.lng b/interface/web/designer/lib/lang/se_module_nav_edit.lng index 28bf0ac90564c36efe54849a1924e7d621c3e782..468f8d8ebea4c0db02ea118433040e4d403cfce7 100644 --- a/interface/web/designer/lib/lang/se_module_nav_edit.lng +++ b/interface/web/designer/lib/lang/se_module_nav_edit.lng @@ -4,4 +4,3 @@ $wb['header_txt'] = 'Nav-egenskaper'; $wb['save_txt'] = 'Spara'; $wb['cancel_txt'] = 'Avbryt'; ?> - diff --git a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng index b9f86398323faf8d83b316fe3fb1a429b8d5a9bd..f5df0905780a1869376c96fe6ff77d1dafa4c24b 100644 --- a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng +++ b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng @@ -6,4 +6,3 @@ $wb['header_txt'] = 'Nav. egenskaper'; $wb['save_txt'] = 'Spara'; $wb['cancel_txt'] = 'Avbryt'; ?> - diff --git a/interface/web/designer/lib/lang/se_module_show.lng b/interface/web/designer/lib/lang/se_module_show.lng index 497a62ddf67604ff4fea0aff6c89cfbbd75dd8ef..391947cba03948baa80a87b9b42cf6e13a867eb1 100644 --- a/interface/web/designer/lib/lang/se_module_show.lng +++ b/interface/web/designer/lib/lang/se_module_show.lng @@ -14,4 +14,3 @@ $wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?'; $wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?'; $wb['item_del_txt'] = 'Ta bort menyinnehåll?'; ?> - diff --git a/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..974e214f6305afe187f0cc68d20f2e6be103d912 --- /dev/null +++ b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..363369c65b366c099c76806faa9794b9610c4c54 --- /dev/null +++ b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/se.lng b/interface/web/dns/lib/lang/se.lng index 80c391890a34685d03d31f7234ec010c65c553e9..4f443f079ec960d10eb22da25b56599607e73220 100644 --- a/interface/web/dns/lib/lang/se.lng +++ b/interface/web/dns/lib/lang/se.lng @@ -20,4 +20,3 @@ $wb['Templates'] = 'Mallar'; $wb['Secondary Zones'] = 'Sekundära zoner'; $wb['Import Zone File'] = 'Importera zonfiler'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_a.lng b/interface/web/dns/lib/lang/se_dns_a.lng index a69314db68f6cafb063208d6a975f513dd327a82..7dcfc37ca247af2074369363a067137bedd04513 100644 --- a/interface/web/dns/lib/lang/se_dns_a.lng +++ b/interface/web/dns/lib/lang/se_dns_a.lng @@ -15,4 +15,3 @@ $wb['data_error_regex'] = 'IP-Address format invalid'; $wb['data_error_duplicate'] = 'Duplicate A-Record'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_a_list.lng b/interface/web/dns/lib/lang/se_dns_a_list.lng index b92f4c0f649fab227eacbc3083a830cc8948a646..3fa1e7f8a7b6679c3cc527b9c15f3f1b9ba80166 100644 --- a/interface/web/dns/lib/lang/se_dns_a_list.lng +++ b/interface/web/dns/lib/lang/se_dns_a_list.lng @@ -13,4 +13,3 @@ $wb['page_txt'] = 'Page'; $wb['page_of_txt'] = 'of'; $wb['delete_confirmation'] = 'Do you really want to delete this record?'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_aaaa.lng b/interface/web/dns/lib/lang/se_dns_aaaa.lng index a8cfbf1ed14510fae36c6b0cbad57a4749200a38..b4c5b279bea5e6ba94aad246d4abed0156a84646 100644 --- a/interface/web/dns/lib/lang/se_dns_aaaa.lng +++ b/interface/web/dns/lib/lang/se_dns_aaaa.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'IP-Address empty'; $wb['data_error_regex'] = 'IP-Address format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_alias.lng b/interface/web/dns/lib/lang/se_dns_alias.lng index 05c3f629d94a64c095febe3b76594dd7db4df9a8..bd4be9f219e66a4e78a408cc6cc5bd06f06c28e7 100644 --- a/interface/web/dns/lib/lang/se_dns_alias.lng +++ b/interface/web/dns/lib/lang/se_dns_alias.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Target hostname empty'; $wb['data_error_regex'] = 'Target hostname format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_cname.lng b/interface/web/dns/lib/lang/se_dns_cname.lng index b4e8ae1abd9e24f268424be74e45a76fafe229af..b7ceb5d9c93fda688ad86eae1e4abbe93d9b6946 100644 --- a/interface/web/dns/lib/lang/se_dns_cname.lng +++ b/interface/web/dns/lib/lang/se_dns_cname.lng @@ -15,4 +15,3 @@ $wb['data_error_regex'] = 'Target hostname format invalid'; $wb['data_error_duplicate'] = 'Duplicate A-Record or CNAME-Record'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_hinfo.lng b/interface/web/dns/lib/lang/se_dns_hinfo.lng index df19a84913d72838ea124c6b7c6bad62ce34aefe..937bd9b4ac55f7a17a17170332448b7967a4790b 100644 --- a/interface/web/dns/lib/lang/se_dns_hinfo.lng +++ b/interface/web/dns/lib/lang/se_dns_hinfo.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Host information empty'; $wb['data_error_regex'] = 'Host Information format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_import.lng b/interface/web/dns/lib/lang/se_dns_import.lng index aea47ba1e9a6e89d6dc828a621339a090d7c0bcb..4d703fa868bec66912f16b9bec26df51f9af1ea7 100644 --- a/interface/web/dns/lib/lang/se_dns_import.lng +++ b/interface/web/dns/lib/lang/se_dns_import.lng @@ -12,4 +12,3 @@ $wb['title'] = 'Importera zonfiler'; $wb['no_file_uploaded_error'] = 'Ingen zonfil uppladdad'; $wb['zone_file_import_txt'] = 'Zonfilsimport'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_mx.lng b/interface/web/dns/lib/lang/se_dns_mx.lng index 0bfc2348fff3359fd0a7c9c6128b0620d6fa5e87..58921d35fc2854e555e107a3d76786ada1864ee7 100644 --- a/interface/web/dns/lib/lang/se_dns_mx.lng +++ b/interface/web/dns/lib/lang/se_dns_mx.lng @@ -16,4 +16,3 @@ $wb['data_error_regex'] = 'Mailserver hostname format invalid'; $wb['duplicate_mx_record_txt'] = 'Duplicate MX record.'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_ns.lng b/interface/web/dns/lib/lang/se_dns_ns.lng index 2ce51da7b9ca1d4d604255b34d219ba687b40c0c..d8d652cc5a28347f873803601393364ffe2ca4c5 100644 --- a/interface/web/dns/lib/lang/se_dns_ns.lng +++ b/interface/web/dns/lib/lang/se_dns_ns.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Namnserver tom'; $wb['data_error_regex'] = 'Namnserverformatet är ogiltigt'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_ptr.lng b/interface/web/dns/lib/lang/se_dns_ptr.lng index 6c42a8f94a714e03e811a98245110246881db002..254b45c070a57319ff2e74a7bbbcc78740e46a1e 100644 --- a/interface/web/dns/lib/lang/se_dns_ptr.lng +++ b/interface/web/dns/lib/lang/se_dns_ptr.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Canonical hostname empty'; $wb['data_error_regex'] = 'Canonical hostname format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_rp.lng b/interface/web/dns/lib/lang/se_dns_rp.lng index e37bc8f93e749ae315c92ab346ba145849d4e1b4..91c4f07bd988dcedbb2dac3f891f14b52cbcd86d 100644 --- a/interface/web/dns/lib/lang/se_dns_rp.lng +++ b/interface/web/dns/lib/lang/se_dns_rp.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Responsible person field empty'; $wb['data_error_regex'] = 'Responsible person field format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_slave.lng b/interface/web/dns/lib/lang/se_dns_slave.lng index 254f360d378dde1e8ac69122c18bc4799f7a21fc..c426df7ed5e78a2746d02ac55df9f075eda3dfad 100644 --- a/interface/web/dns/lib/lang/se_dns_slave.lng +++ b/interface/web/dns/lib/lang/se_dns_slave.lng @@ -15,4 +15,3 @@ $wb['eg_domain_tld'] = 'e.g. domain.tld.'; $wb['ipv4_form_txt'] = 'IPv4 form - e.g. 1.2.3.4'; $wb['secondary_zone_txt'] = 'Secondary DNS Zone'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/se_dns_slave_list.lng b/interface/web/dns/lib/lang/se_dns_slave_list.lng index 6e7951de27c622482ba411ab51db15d09ac8c3d9..4ced2ddb591a4a5c538ece8fae6a88d053c624bc 100644 --- a/interface/web/dns/lib/lang/se_dns_slave_list.lng +++ b/interface/web/dns/lib/lang/se_dns_slave_list.lng @@ -7,4 +7,3 @@ $wb['ns_txt'] = 'NS'; $wb['add_new_record_txt'] = 'Add new secondary DNS Zone'; $wb['eg_domain_tld'] = 'e.g. domain.tld.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_soa.lng b/interface/web/dns/lib/lang/se_dns_soa.lng index 4f2eefabcbdf8742cb04fbe9a68231654a06ef2d..935211a060378084eb7a72c4358e254e2393499f 100644 --- a/interface/web/dns/lib/lang/se_dns_soa.lng +++ b/interface/web/dns/lib/lang/se_dns_soa.lng @@ -36,4 +36,3 @@ $wb['minimum_range_error'] = 'Min. Minimum time is 60 seconds.'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; $wb['xfer_error_regex'] = 'Also notify: Please use an IP address.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/se_dns_soa_list.lng b/interface/web/dns/lib/lang/se_dns_soa_list.lng index b534641c1d259ac5d660bdddfb1fcc552d095242..da7b8e28d2c51ba244429eea0198f2ac3240918a 100644 --- a/interface/web/dns/lib/lang/se_dns_soa_list.lng +++ b/interface/web/dns/lib/lang/se_dns_soa_list.lng @@ -8,4 +8,3 @@ $wb['mbox_txt'] = 'Email'; $wb['add_new_record_txt'] = 'Add new DNS Zone (SOA)'; $wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_srv.lng b/interface/web/dns/lib/lang/se_dns_srv.lng index fae1b701860660cccce0d9e9cc3aa07127ad38c6..866f44dab34abf6d080dc0fc404381fbaf5dd575 100644 --- a/interface/web/dns/lib/lang/se_dns_srv.lng +++ b/interface/web/dns/lib/lang/se_dns_srv.lng @@ -18,4 +18,3 @@ $wb['srv_error_regex'] = 'Invalid server record format. The server record must c $wb['aux_txt'] = 'Priority'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_template.lng b/interface/web/dns/lib/lang/se_dns_template.lng index 6fd5b5c498abf2ee6bed1ea8fd119e16d07d9307..516d5c2759e0e0a2796d4248fedd32859056b0d1 100644 --- a/interface/web/dns/lib/lang/se_dns_template.lng +++ b/interface/web/dns/lib/lang/se_dns_template.lng @@ -4,4 +4,3 @@ $wb['fields_txt'] = 'Fält'; $wb['template_txt'] = 'Mall'; $wb['visible_txt'] = 'Synlig'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_template_list.lng b/interface/web/dns/lib/lang/se_dns_template_list.lng index 120335f511d62ad7ddc7b5c3e4d0dd22271fc84b..8d9d730e5031ef939eff8da85b9f426b82d13b88 100644 --- a/interface/web/dns/lib/lang/se_dns_template_list.lng +++ b/interface/web/dns/lib/lang/se_dns_template_list.lng @@ -4,4 +4,3 @@ $wb['visible_txt'] = 'Visible'; $wb['name_txt'] = 'Name'; $wb['add_new_record_txt'] = 'Add new record'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_txt.lng b/interface/web/dns/lib/lang/se_dns_txt.lng index 0fc9b2515aaa44d3684e87394afd821118629732..31da6ebf1adb104cdd166af46b1ac9e4806aedf6 100644 --- a/interface/web/dns/lib/lang/se_dns_txt.lng +++ b/interface/web/dns/lib/lang/se_dns_txt.lng @@ -14,4 +14,3 @@ $wb['data_error_empty'] = 'Text empty'; $wb['data_error_regex'] = 'Text format invalid'; $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; ?> - diff --git a/interface/web/dns/lib/lang/se_dns_wizard.lng b/interface/web/dns/lib/lang/se_dns_wizard.lng index 3bb0a63f3a368611165992b2b1ac860727cb3085..52955fdcc3a2f9338a47b717bf05b55a7ed62cbf 100644 --- a/interface/web/dns/lib/lang/se_dns_wizard.lng +++ b/interface/web/dns/lib/lang/se_dns_wizard.lng @@ -36,4 +36,3 @@ $wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; $wb['list_head_txt'] = 'DNS Zone Wizard'; $wb['list_desc_txt'] = 'Create a DNS Zone via a wizard'; ?> - diff --git a/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..43f67783ce527cd4994c63efc0aa2697e01b845e --- /dev/null +++ b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng @@ -0,0 +1,10 @@ + diff --git a/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng new file mode 100644 index 0000000000000000000000000000000000000000..44cec900b91c118424bf2ddd98b5d0d530d42776 --- /dev/null +++ b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng @@ -0,0 +1,11 @@ + diff --git a/interface/web/dns/list/dns_slave.list.php b/interface/web/dns/list/dns_slave.list.php index 5a242de14c07aa60067ee16867c9e4054350bd6b..5c0be05fb35e3293aef6c39f35ae18e44fe12baf 100644 --- a/interface/web/dns/list/dns_slave.list.php +++ b/interface/web/dns/list/dns_slave.list.php @@ -13,7 +13,11 @@ // Name of the list -$liste["name"] = "dns_slave"; +if($_SESSION['s']['user']['typ'] == 'admin') { + $liste["name"] = "dns_slave_admin"; +} else { + $liste["name"] = "dns_slave"; +} // Database table $liste["table"] = "dns_slave"; @@ -70,6 +74,22 @@ $liste["item"][] = array( 'field' => "server_id", ), 'width' => "", 'value' => ""); + +if($_SESSION['s']['user']['typ'] == 'admin') { + $liste["item"][] = array( 'field' => "sys_groupid", + 'datatype' => "INTEGER", + 'formtype' => "SELECT", + 'op' => "=", + 'prefix' => "", + 'suffix' => "", + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name', + 'keyfield'=> 'groupid', + 'valuefield'=> 'name' + ), + 'width' => "", + 'value' => ""); +} $liste["item"][] = array( 'field' => "origin", 'datatype' => "VARCHAR", diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php index e3b240a7cd840eaf9d1b87ba724c4b9f972fb80d..d6f56414e0a7755a340f1f876a18a5cfb400da81 100644 --- a/interface/web/dns/list/dns_soa.list.php +++ b/interface/web/dns/list/dns_soa.list.php @@ -13,7 +13,11 @@ // Name of the list -$liste["name"] = "dns_soa"; +if($_SESSION['s']['user']['typ'] == 'admin') { + $liste["name"] = "dns_soa_admin"; +} else { + $liste["name"] = "dns_soa"; +} // Database table $liste["table"] = "dns_soa"; @@ -70,6 +74,22 @@ $liste["item"][] = array( 'field' => "server_id", ), 'width' => "", 'value' => ""); + +if($_SESSION['s']['user']['typ'] == 'admin') { + $liste["item"][] = array( 'field' => "sys_groupid", + 'datatype' => "INTEGER", + 'formtype' => "SELECT", + 'op' => "=", + 'prefix' => "", + 'suffix' => "", + 'datasource' => array ( 'type' => 'SQL', + 'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name', + 'keyfield'=> 'groupid', + 'valuefield'=> 'name' + ), + 'width' => "", + 'value' => ""); +} $liste["item"][] = array( 'field' => "origin", 'datatype' => "VARCHAR", diff --git a/interface/web/dns/templates/dns_slave_admin_list.htm b/interface/web/dns/templates/dns_slave_admin_list.htm new file mode 100644 index 0000000000000000000000000000000000000000..d4f13ce8c4fab1275ade3925d9c18f4bd680564e --- /dev/null +++ b/interface/web/dns/templates/dns_slave_admin_list.htm @@ -0,0 +1,83 @@ +

+

+ +
+ +
+ +
+
+
+
+ {tmpl_var name="datalog_changes_txt"} +
    + +
  • {tmpl_var name="text"}: {tmpl_var name="count"}
  • +
    +
+ {tmpl_var name="datalog_changes_end_txt"} +
+

+
+
+
{tmpl_var name="toolsarea_head_txt"} +
+ +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{tmpl_var name='search_limit'}
+ +
{tmpl_var name="active"}{tmpl_var name="sys_groupid"}{tmpl_var name="server_id"}{tmpl_var name="origin"}{tmpl_var name="ns"} + {tmpl_var name='delete_txt'} +
{tmpl_var name='globalsearch_noresults_text_txt'}
+
+
+ +
diff --git a/interface/web/dns/templates/dns_soa_admin_list.htm b/interface/web/dns/templates/dns_soa_admin_list.htm new file mode 100644 index 0000000000000000000000000000000000000000..b77f884499b58ed88453a89a134367436468cccd --- /dev/null +++ b/interface/web/dns/templates/dns_soa_admin_list.htm @@ -0,0 +1,86 @@ +

+

+ +
+ +
+ +
+
+
+
+ {tmpl_var name="datalog_changes_txt"} +
    + +
  • {tmpl_var name="text"}: {tmpl_var name="count"}
  • +
    +
+ {tmpl_var name="datalog_changes_end_txt"} +
+

+
+
+
{tmpl_var name="toolsarea_head_txt"} +
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{tmpl_var name='search_limit'}
+ +
{tmpl_var name="active"}{tmpl_var name="sys_groupid"}{tmpl_var name="server_id"}{tmpl_var name="origin"}{tmpl_var name="ns"}{tmpl_var name="mbox"} + {tmpl_var name='delete_txt'} +
{tmpl_var name='globalsearch_noresults_text_txt'}
+
+
+ +
\ No newline at end of file diff --git a/interface/web/help/lib/lang/se.lng b/interface/web/help/lib/lang/se.lng index e09625785d4eec719c25ad749816ace823802f27..58fe6a006ca780ac123f16bf5d45822f8be6fb7b 100644 --- a/interface/web/help/lib/lang/se.lng +++ b/interface/web/help/lib/lang/se.lng @@ -12,4 +12,3 @@ $wb['Manage Sections'] = 'Hantera kategorier'; $wb['Add a Question & Answer Pair'] = 'Lägg till fråga och svar'; $wb['Manage Questions'] = 'Hantera frågor'; ?> - diff --git a/interface/web/help/lib/lang/se_faq_form.lng b/interface/web/help/lib/lang/se_faq_form.lng index 743e02d5eb70701acddbfbd0c78189ad237bae28..5a7f384831bbb263c6b5bead29e78bbf59be9286 100644 --- a/interface/web/help/lib/lang/se_faq_form.lng +++ b/interface/web/help/lib/lang/se_faq_form.lng @@ -4,4 +4,3 @@ $wb['faq_question_txt'] = 'Fråga'; $wb['faq_answer_txt'] = 'Svar'; $wb['faq_section_txt'] = 'Kategori'; ?> - diff --git a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng index c8021763a5f0ab661587e52aafbc2675084bee5e..d615cdabf52b9466574a663da696450d0b05507b 100644 --- a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng +++ b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng @@ -7,4 +7,3 @@ $wb['faq_sections_txt'] = 'Kategori'; $wb['faq_faq_questions_txt'] = 'Vanliga frågor'; $wb['faq_new_question_txt'] = 'Lägg till ny fråga och svar'; ?> - diff --git a/interface/web/help/lib/lang/se_faq_sections_form.lng b/interface/web/help/lib/lang/se_faq_sections_form.lng index 9367eeb9fd2712808e1f78e2f2414ba41bb1d831..5cc812f8e96029472ef65bfff0a73b3cffadd8c1 100644 --- a/interface/web/help/lib/lang/se_faq_sections_form.lng +++ b/interface/web/help/lib/lang/se_faq_sections_form.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/help/lib/lang/se_help_faq_list.lng b/interface/web/help/lib/lang/se_help_faq_list.lng index c8aebaf36d534ca08c29c94a281b8eec24300168..bc1d42103a099cc8734b963b87c8817a87d2f7ae 100644 --- a/interface/web/help/lib/lang/se_help_faq_list.lng +++ b/interface/web/help/lib/lang/se_help_faq_list.lng @@ -1,4 +1,3 @@ - diff --git a/interface/web/help/lib/lang/se_help_faq_sections_list.lng b/interface/web/help/lib/lang/se_help_faq_sections_list.lng index 021feb36f38eaa9a6c19636a0dc12f91f7151544..5ea1a7163fc7631990935ed4ea1398959026d35c 100644 --- a/interface/web/help/lib/lang/se_help_faq_sections_list.lng +++ b/interface/web/help/lib/lang/se_help_faq_sections_list.lng @@ -6,4 +6,3 @@ $wb['faq_sections_txt'] = 'Kategori'; $wb['faq_faq_sections_txt'] = 'FAQ-kategorier'; $wb['faq_new_section_txt'] = 'Lägg till ny kategori'; ?> - diff --git a/interface/web/help/lib/lang/se_support_message.lng b/interface/web/help/lib/lang/se_support_message.lng index 0de84204162529ab589f09919817d4f6142f3d48..b3cefaa1a014ba4bd7eafa0bb79a560a4c93211e 100644 --- a/interface/web/help/lib/lang/se_support_message.lng +++ b/interface/web/help/lib/lang/se_support_message.lng @@ -13,4 +13,3 @@ $wb['answer_to_support_request_sent_txt'] = 'Your reply to the support request h $wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.'; $wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.'; ?> - diff --git a/interface/web/help/lib/lang/se_support_message_list.lng b/interface/web/help/lib/lang/se_support_message_list.lng index f68bb58088580b72089601edfe66e1d2a2ed92fa..af9663f7bdaabe2563bee9401e95ae31189c81bb 100644 --- a/interface/web/help/lib/lang/se_support_message_list.lng +++ b/interface/web/help/lib/lang/se_support_message_list.lng @@ -5,4 +5,3 @@ $wb['subject_txt'] = 'Ämne'; $wb['add_new_record_txt'] = 'Skapa nyttt supportmeddelande'; $wb['date_txt'] = 'Datum'; ?> - diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php index 4e51cd56ae2fac159cc0bd59c37a92d04f69fbac..85a321c551304f7aafaf48d4ad990955f8eee965 100644 --- a/interface/web/js/scrigo.js.php +++ b/interface/web/js/scrigo.js.php @@ -809,7 +809,7 @@ function generatePassword(passwordFieldID, repeatPasswordFieldID){ oldPWField.remove(); var pword = password(, false, 1); jQuery('#'+repeatPasswordFieldID).val(pword); - newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup'); + newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup').select(); } var funcDisableClick = function(e) { e.preventDefault(); return false; }; diff --git a/interface/web/login/lib/lang/se.lng b/interface/web/login/lib/lang/se.lng index e3301e086e2561cae73c774e9a2d9efe718cf876..aeb58b1588c4eb104bc6c00fa2c71579710f5356 100644 --- a/interface/web/login/lib/lang/se.lng +++ b/interface/web/login/lib/lang/se.lng @@ -25,4 +25,3 @@ $wb['back_txt'] = 'Tillbaka'; $wb['email_error'] = 'Epostadressen innehåller otillåtna tecken eller är felformatterad.'; $wb['stay_logged_in_txt'] = 'Håll mig inloggad'; ?> - diff --git a/interface/web/login/lib/lang/se_login_as.lng b/interface/web/login/lib/lang/se_login_as.lng index e831784766dc4dc87cb164c2ba9d9d5437421824..fea3abca03e2b2af3dd243da2e5475e294b28f96 100644 --- a/interface/web/login/lib/lang/se_login_as.lng +++ b/interface/web/login/lib/lang/se_login_as.lng @@ -1,12 +1,11 @@ - diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php index e001f684261db14b8073b791ad543438deef0976..d5f6a0ab5bd719bf0de027a2f86f297c68c04759 100644 --- a/interface/web/mail/form/mail_user_filter.tform.php +++ b/interface/web/mail/form/mail_user_filter.tform.php @@ -112,7 +112,7 @@ $form["tabs"]['filter'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[\p{Latin}0-9\.\-\_\ ]{0,100}$/u', + 'regex' => '/^[\p{Latin}0-9\.\-\_\ \&]{0,100}$/u', 'errmsg'=> 'target_error_regex'), ), 'default' => '', diff --git a/interface/web/mail/form/mail_whitelist.tform.php b/interface/web/mail/form/mail_whitelist.tform.php index 3edb132df35d2c4542a4978c36ac99864fdbfd8a..aebcfe6cfc367f240f81c3654bc7e2361ba29c4b 100644 --- a/interface/web/mail/form/mail_whitelist.tform.php +++ b/interface/web/mail/form/mail_whitelist.tform.php @@ -51,7 +51,7 @@ $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete $form["tabs"]['whitelist'] = array ( - 'title' => "Witelist", + 'title' => "Whitelist", 'width' => 100, 'template' => "templates/mail_whitelist_edit.htm", 'fields' => array ( diff --git a/interface/web/mail/lib/lang/fr_mail_get.lng b/interface/web/mail/lib/lang/fr_mail_get.lng index 6779ce3c42a5f9b2924924f5235dd9334e83e4bc..934af5e2e718d18fe6c4b61fed82d30216b0d61a 100644 --- a/interface/web/mail/lib/lang/fr_mail_get.lng +++ b/interface/web/mail/lib/lang/fr_mail_get.lng @@ -14,6 +14,6 @@ $wb['source_password_error_isempty'] = 'Le mot de passe est vide.'; $wb['destination_error_isemail'] = 'Pas de destination sélectionnée.'; $wb['source_server_error_regex'] = 'Le serveur POP3 / IMAP n\'est pas un nom de domaine valide.'; $wb['source_read_all_txt'] = 'Récupérer tous les emails (incl. les emails lus)'; -$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \"Supprimer les emails après récupération\" = non avec \"Récupérer tous les emails\" = oui'; +$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \\"Supprimer les emails après récupération\\" = non avec \\"Récupérer tous les emails\\" = oui'; $wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.'; ?> diff --git a/interface/web/mail/lib/lang/se.lng b/interface/web/mail/lib/lang/se.lng index 6542378057b1d06443c609a59d132c47ee1ca54a..3edc2034d007c8f49e8ee0d6f9eb2da5b37021bb 100644 --- a/interface/web/mail/lib/lang/se.lng +++ b/interface/web/mail/lib/lang/se.lng @@ -46,4 +46,3 @@ $wb['Domain Alias'] = 'Domain Alias'; $wb['Relay Recipients'] = 'Relay Recipients'; $wb['Mailbox quota'] = 'Mailbox quota'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_alias.lng b/interface/web/mail/lib/lang/se_mail_alias.lng index 4dc4e255f9833bcd10a8f3f9d6d48c47a5248567..e0f6135c030b2a0ad55e16bf5b97139790f02935 100644 --- a/interface/web/mail/lib/lang/se_mail_alias.lng +++ b/interface/web/mail/lib/lang/se_mail_alias.lng @@ -12,4 +12,3 @@ $wb['domain_txt'] = 'Domän'; $wb['duplicate_email_alias_txt'] = 'Detta epostalias finns redan'; $wb['source_txt'] = 'Alias'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_alias_list.lng b/interface/web/mail/lib/lang/se_mail_alias_list.lng index e72d91bddefc3a954c43a71848783b78f7099794..3b63170e4587d3026fa29e425aebde3deac52e62 100644 --- a/interface/web/mail/lib/lang/se_mail_alias_list.lng +++ b/interface/web/mail/lib/lang/se_mail_alias_list.lng @@ -6,4 +6,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['source_txt'] = 'Källa'; $wb['add_new_record_txt'] = 'Lägg till nytt epostalias'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng index 9a2c5c39aa73ebd8fb9b0de3229493c2fb25f78d..e2105fb2b535757e7e034e84e5e9c3b122a547f8 100644 --- a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng +++ b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng @@ -9,4 +9,3 @@ $wb['source_error_empty'] = 'Källdomän är tomt.'; $wb['source_error_unique'] = 'Källdomänen finns redan.'; $wb['source_error_regex'] = 'Ogiltig källdomän..'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng index d04d8cd7890d1df4ab2cc50b57db0131df02058e..e8740393db1a3de6a6cd5e4138b86bc4bc03a86c 100644 --- a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng +++ b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng @@ -5,4 +5,3 @@ $wb['source_txt'] = 'Källa'; $wb['destination_txt'] = 'Destination'; $wb['add_new_record_txt'] = 'Lägg till nytt domänalias'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_blacklist.lng b/interface/web/mail/lib/lang/se_mail_blacklist.lng index 70b1be58d3a80b2216604cddfc87887777fd92ed..34b1f76db96f694b1701f0aa4f2d6290ec03f1f4 100644 --- a/interface/web/mail/lib/lang/se_mail_blacklist.lng +++ b/interface/web/mail/lib/lang/se_mail_blacklist.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressfältet är tomt.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng index d3da0de6d5a26bb3c1d5364df4f86b60fb9b9de7..158b989ad3e990a7ff27862559d0156ef95ea757 100644 --- a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng +++ b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng @@ -8,4 +8,3 @@ $wb['type_txt'] = 'Typ'; $wb['recipient_txt'] = 'Mottagare'; $wb['access_txt'] = 'åtkomst'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_content_filter.lng b/interface/web/mail/lib/lang/se_mail_content_filter.lng index c7fb5954fa5136001b53f69b990fee0b2861fd9c..2f82e76e86228d5cb5ff53ed458433f3003035e7 100644 --- a/interface/web/mail/lib/lang/se_mail_content_filter.lng +++ b/interface/web/mail/lib/lang/se_mail_content_filter.lng @@ -7,4 +7,3 @@ $wb['action_txt'] = 'Händelse'; $wb['active_txt'] = 'Aktiv'; $wb['pattern_error_empty'] = 'Matchningsfältet är tomt.'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng index c612f9b37b5c15b1a578c3f6f3d8ae4757cd8678..6eac1932c6fd1361e3237251d6b9a5563e3d8426 100644 --- a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng +++ b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng @@ -6,4 +6,3 @@ $wb['pattern_txt'] = 'Mönster'; $wb['action_txt'] = 'Händelse'; $wb['add_new_record_txt'] = 'Lägg till nytt innehållsfilter'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_domain.lng b/interface/web/mail/lib/lang/se_mail_domain.lng index e07dd25f08df6ae190479929e9169ad8b47777ef..295d10a31ff5b441e6f5e6f839465c37743a418c 100644 --- a/interface/web/mail/lib/lang/se_mail_domain.lng +++ b/interface/web/mail/lib/lang/se_mail_domain.lng @@ -11,4 +11,3 @@ $wb['limit_maildomain_txt'] = 'Det maximala antalet epostdomäner för ditt kont $wb['policy_txt'] = 'Spamfilter'; $wb['no_policy'] = '- ej aktiverat -'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng index bf8cd12ee0fbbc8c1c7eff1e627c2bb017600df7..a4a203d7b9f180af6c89549bc5541614cca6c64e 100644 --- a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng +++ b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng @@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny domän'; $wb['active_txt'] = 'Aktiv'; $wb['sys_groupid_txt'] = 'Kund'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng index 9e03e6954b739c22af5416c8df708504d22ccd78..7ef1116390f8acddcd7d556415746b566757c5d7 100644 --- a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng @@ -9,4 +9,3 @@ $wb['limit_mailcatchall_txt'] = 'Det maximala antalet catchall-adresser för dit $wb['source_txt'] = 'Källa'; $wb['destination_error_isemail'] = 'Destinationen när inte en giltig epostadress.'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng index 0e6958eb58fdd648928c5a87a0ffd1c0d89497f9..51789ee522c2909055abb672c0631666efb92b47 100644 --- a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng +++ b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng @@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny catchall'; $wb['active_txt'] = 'Aktiv'; $wb['source_txt'] = 'källa'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_domain_list.lng b/interface/web/mail/lib/lang/se_mail_domain_list.lng index 96120f5b7d5186d563431a8403ae56fcb9624465..4f3b5488f7defb29d356c1a5c3e99d1e750f0963 100644 --- a/interface/web/mail/lib/lang/se_mail_domain_list.lng +++ b/interface/web/mail/lib/lang/se_mail_domain_list.lng @@ -5,4 +5,3 @@ $wb['domain_txt'] = 'Domän'; $wb['add_new_record_txt'] = 'Lägg till ny domän'; $wb['active_txt'] = 'Aktiv'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_forward.lng b/interface/web/mail/lib/lang/se_mail_forward.lng index 511e0b69ab8fe53bae01dce337d20088ada320ea..af583f0474f546cf0af695a910b860c19fe246ec 100644 --- a/interface/web/mail/lib/lang/se_mail_forward.lng +++ b/interface/web/mail/lib/lang/se_mail_forward.lng @@ -7,4 +7,3 @@ $wb['duplicate_mailbox_txt'] = 'Det finns redan ett epostkonto med denna adress' $wb['domain_txt'] = 'Domän'; $wb['source_txt'] = 'Källadress'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_forward_list.lng b/interface/web/mail/lib/lang/se_mail_forward_list.lng index f2713069370ad145fde58e8a455c7a3c62d12249..e1d7464baa09ce30dde78035300e7962a1d8ba87 100644 --- a/interface/web/mail/lib/lang/se_mail_forward_list.lng +++ b/interface/web/mail/lib/lang/se_mail_forward_list.lng @@ -6,4 +6,3 @@ $wb['destination_txt'] = 'Mottagare'; $wb['add_new_record_txt'] = 'Lägg till ny vidarebefordran'; $wb['source_txt'] = 'källa'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_get.lng b/interface/web/mail/lib/lang/se_mail_get.lng index f15208cdcbdb881550f9967e2502fcf08e469322..db4440210e0422d91869ff0fc2963a991eb3789a 100644 --- a/interface/web/mail/lib/lang/se_mail_get.lng +++ b/interface/web/mail/lib/lang/se_mail_get.lng @@ -14,7 +14,6 @@ $wb['source_password_error_isempty'] = 'Lösenord är tomt.'; $wb['destination_error_isemail'] = 'Ingen destination vald.'; $wb['source_server_error_regex'] = 'POP3-/Imapserver är inte ett giltigt domännamn.'; $wb['source_read_all_txt'] = 'Hämta all epost (även läst epost)'; -$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use "Delete emails after retrieval" = no together with "Retrieve all emails" = yes'; +$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \"Delete emails after retrieval\" = no together with \"Retrieve all emails\" = yes'; $wb['source_delete_note_txt'] = 'Vänligen kontrollera först om eposthämtning fungerar innan du aktiverar detta val..'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_get_list.lng b/interface/web/mail/lib/lang/se_mail_get_list.lng index 0d06cadd5854b92896fad8372b1271d885247b6d..9369095102108ac6283733c2753f8a1af8fb3cb7 100644 --- a/interface/web/mail/lib/lang/se_mail_get_list.lng +++ b/interface/web/mail/lib/lang/se_mail_get_list.lng @@ -7,4 +7,3 @@ $wb['source_username_txt'] = 'Användarnamn'; $wb['destination_txt'] = 'Destination'; $wb['add_new_record_txt'] = 'Lägg till nytt konto'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist.lng b/interface/web/mail/lib/lang/se_mail_mailinglist.lng index 68a713097fc3b1da6fe7bd2393cf0c265b3890b2..e7f927b4a879eabbd823daf404917344f6aa4c44 100644 --- a/interface/web/mail/lib/lang/se_mail_mailinglist.lng +++ b/interface/web/mail/lib/lang/se_mail_mailinglist.lng @@ -20,4 +20,3 @@ $wb['listname_error_unique'] = 'There is already a mailinlist with name on the s $wb['email_error_isemail'] = 'Epostadressen är ogiltig'; $wb['mailinglist_txt'] = 'Epostlista'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng index 11a82be460b4987a1d1376a05bcf1aa89ada532e..2e9f3644140d0894acb997e5299d43ecadea4b80 100644 --- a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng +++ b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Epostlista'; $wb['domain_txt'] = 'Domän'; $wb['listname_txt'] = 'Listnamn'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng index ffb64adefd3f66698ef8ebbd260340743174dd49..75061987eaa3ea587ca4657cd9dae68bd0a17af0 100644 --- a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng +++ b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressfältet är tomt.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng index 4c34ebfe69b32fdddb7514e8ffc0ae6d38a513a8..c9176c7dbdb510f9ea33027c0d7fbeca692470b9 100644 --- a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng +++ b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng @@ -7,4 +7,3 @@ $wb['recipient_txt'] = 'Mottagare'; $wb['add_new_record_txt'] = 'Lägg till ny relämottagare'; $wb['access_txt'] = 'åtkomst'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter.lng b/interface/web/mail/lib/lang/se_mail_spamfilter.lng index 30804259598078938a3f4e4a47d97e6b56b54018..c83f09c974edb598f28a150ce33004e78e38a94d 100644 --- a/interface/web/mail/lib/lang/se_mail_spamfilter.lng +++ b/interface/web/mail/lib/lang/se_mail_spamfilter.lng @@ -15,4 +15,3 @@ $wb['email_error_unique'] = 'Det finns redan ett spamfilterinlägg för den här $wb['spam_redirect_maildir_purge_txt'] = 'Töm mappen efter'; $wb['days_txt'] = 'Dagar'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng index 407d5163e9006a5b99a4a07fc074a71a289eb48e..2c361e13566256bb7a2c983c33489c15141aa898 100644 --- a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng +++ b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng @@ -6,4 +6,3 @@ $wb['server_name_txt'] = 'servernamn'; $wb['email_txt'] = 'Epost'; $wb['add_new_record_txt'] = 'Lägg till nytt spamfilter'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_transport.lng b/interface/web/mail/lib/lang/se_mail_transport.lng index 198f8075fe3692a1d91ae55d7dae4add8e7d5ab4..70e26b78f9802d13f596e65e1aec79252d9481ff 100644 --- a/interface/web/mail/lib/lang/se_mail_transport.lng +++ b/interface/web/mail/lib/lang/se_mail_transport.lng @@ -9,4 +9,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['limit_mailrouting_txt'] = 'Det maximala antalet epostrutter för ditt konto är uppnått.'; $wb['transport_txt'] = 'Transport'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_transport_list.lng b/interface/web/mail/lib/lang/se_mail_transport_list.lng index 63474a881a0f7fab2914edcde2b474ae70b3cc6a..2ce6dd8cdf2526003297479f4999e833256f2ee6 100644 --- a/interface/web/mail/lib/lang/se_mail_transport_list.lng +++ b/interface/web/mail/lib/lang/se_mail_transport_list.lng @@ -7,4 +7,3 @@ $wb['transport_txt'] = 'Transport'; $wb['sort_order_txt'] = 'Sortera på'; $wb['add_new_record_txt'] = 'Lägg till ny transport'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_user.lng b/interface/web/mail/lib/lang/se_mail_user.lng index 62be339c0bacf99bd70f7b0d1a53c9d4483d94e7..d6df11307711a4cee3dfa8d8718f4aac940e7837 100644 --- a/interface/web/mail/lib/lang/se_mail_user.lng +++ b/interface/web/mail/lib/lang/se_mail_user.lng @@ -51,4 +51,3 @@ $wb['email_error_isascii'] = 'Please do not use special unicode characters for y $wb['cc_note_txt'] = '(Separate multiple email addresses with commas)'; $wb['disablesmtp_txt'] = 'Disable SMTP (sending)'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_user_filter.lng b/interface/web/mail/lib/lang/se_mail_user_filter.lng index ed9574fe728d45e1f4261ffbf1ec4ac9779fb9a9..e6e62decf6d200ba6a36e58f020897fb1a8d299c 100644 --- a/interface/web/mail/lib/lang/se_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/se_mail_user_filter.lng @@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Slutar med'; $wb['move_to_txt'] = 'Flytta till'; $wb['delete_txt'] = 'Radera'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng index 7825393aeb937606afb2f856b8cc2cdbe929ab51..7d6e0c5004a0c9f7865eb5ad55cd29df5d6c26b6 100644 --- a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng +++ b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng @@ -5,4 +5,3 @@ $wb['page_txt'] = 'Sida'; $wb['page_of_txt'] = 'av'; $wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_user_list.lng b/interface/web/mail/lib/lang/se_mail_user_list.lng index f18bc713a8f495aef6fee59aca4698586e55d15a..af96af83cee50b9d3fe9bd68b03bbf2f6ea6ec84 100644 --- a/interface/web/mail/lib/lang/se_mail_user_list.lng +++ b/interface/web/mail/lib/lang/se_mail_user_list.lng @@ -6,4 +6,3 @@ $wb['add_new_record_txt'] = 'Lägg till nytt epostkonto'; $wb['name_txt'] = 'Riktigt namn'; $wb['login_txt'] = 'Logga in'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng index 1bec4d4b0d7033775194ecfe445b5cf8ca07fbf4..de6afd7c51a25b0ddb68bd9127bb52bd391b83d1 100644 --- a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng +++ b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng @@ -6,4 +6,3 @@ $wb['last_month_txt'] = 'Föregående månad'; $wb['this_year_txt'] = 'I år'; $wb['last_year_txt'] = 'Föregående år'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_whitelist.lng b/interface/web/mail/lib/lang/se_mail_whitelist.lng index 40eaf8693d2e78b596472da0f3a6587a3b70f0cb..7ce682ff6b83d2645fc92b43d77e1bc01060845e 100644 --- a/interface/web/mail/lib/lang/se_mail_whitelist.lng +++ b/interface/web/mail/lib/lang/se_mail_whitelist.lng @@ -7,4 +7,3 @@ $wb['source_error_notempty'] = 'Adressen är tom.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Maximala antalet epostfilter för ditt konto är uppnått.'; ?> - diff --git a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng index a9f52a8daf422110995d98a2eebcca7b7bf0a287..f72e8e290d108cc10871974236fff66a5204aaba 100644 --- a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng +++ b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng @@ -8,4 +8,3 @@ $wb['type_txt'] = 'Typ'; $wb['recipient_txt'] = 'Mottagare'; $wb['access_txt'] = 'åtkomst'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng index 2839c6ce27bd8740e5d7cca8ffc6a3efed4070f5..873e43d0737582ab7ea1730775d18f14cab7af20 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng @@ -10,4 +10,3 @@ $wb['10 - highest'] = '10 - högsta'; $wb['5 - medium'] = '5 - medium'; $wb['1 - lowest'] = '1 - lägsta'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng index edf0842411e9bb963689563a8fbb321546d3ac2d..d5cac76f10e4ae5428a161074579164998b267a4 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng @@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Användare'; $wb['email_txt'] = 'Vitlistad epostadress'; $wb['add_new_record_txt'] = 'Lägg till svartlistning'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_config.lng b/interface/web/mail/lib/lang/se_spamfilter_config.lng index ebfedb3fdda50631dc14619bdad027e90dc839db..a67fb5b2d5cc36e8d5ce6050865c316e78a0c3d1 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_config.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_config.lng @@ -18,4 +18,3 @@ $wb['relayhost_password_txt'] = 'Relayhost Password'; $wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit'; $wb['message_size_limit_txt'] = 'Message Size Limit'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng index 52b398babc6459acc8968538c761c7536bffb817..9d2ec141f1ffbc411343e26b8b3bb7b2ec7cba8f 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; $wb['server_id_txt'] = 'server_id'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy.lng b/interface/web/mail/lib/lang/se_spamfilter_policy.lng index d5a429b17eff453d447fdd6118341354ef3a3684..e876330a68c7c365b12bf9a3f3cf6b5a652a6093 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_policy.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_policy.lng @@ -36,4 +36,3 @@ $wb['spam_admin_txt'] = 'SPAM admin'; $wb['message_size_limit_txt'] = 'Message size limit'; $wb['banned_rulenames_txt'] = 'Banned rulenames'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng index da678a48f2cce6e08079a0a35f69c17588009619..04491ae4cd85667a4e62826f4213d54339f6c266 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng @@ -7,4 +7,3 @@ $wb['banned_files_lover_txt'] = 'Banned Files lover'; $wb['bad_header_lover_txt'] = 'Bad Header lover'; $wb['add_new_record_txt'] = 'Add Policy record'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_users.lng b/interface/web/mail/lib/lang/se_spamfilter_users.lng index babb3048e7cc129c73a244cb3f2ba7a6e7c975f5..ba3b60e273cbac87369962e66c4b75f44f9c0d31 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_users.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_users.lng @@ -11,4 +11,3 @@ $wb['10 - highest'] = '10 - högsta'; $wb['5 - medium'] = '5 - medium'; $wb['1 - lowest'] = '1 - lägsta'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng index 830ac39c31f6c3b6c1f9403efb43651e465053bb..4ff87848e78a2600c14aec66c43b28e4a14d62ca 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng @@ -8,4 +8,3 @@ $wb['fullname_txt'] = 'Namn'; $wb['email_txt'] = 'Epost'; $wb['add_new_record_txt'] = 'Lägg till spamfilteranvändare'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng index 2839c6ce27bd8740e5d7cca8ffc6a3efed4070f5..873e43d0737582ab7ea1730775d18f14cab7af20 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng @@ -10,4 +10,3 @@ $wb['10 - highest'] = '10 - högsta'; $wb['5 - medium'] = '5 - medium'; $wb['1 - lowest'] = '1 - lägsta'; ?> - diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng index 00185a0909c44a8f8b1c8a953e32dcbaa21f6527..080ec2760ba089d9f62a24602aaa33bc88150c22 100644 --- a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng +++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng @@ -7,4 +7,3 @@ $wb['rid_txt'] = 'Användare'; $wb['email_txt'] = 'Vitlistad epostadress'; $wb['add_new_record_txt'] = 'Lägg till vitlistning'; ?> - diff --git a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng index 380cf5bf5f5ec979807f8b36774c92d76f7f788d..dc57c61c8d55244668ce2d301c3abf97a2b5ba92 100755 --- a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng +++ b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng @@ -6,4 +6,3 @@ $wb['email_txt'] = 'Epostadress'; $wb['used_txt'] = 'Använt utrymme'; $wb['percentage_txt'] = 'Använt %'; ?> - diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php index 45a1ade3f117be9f1d1cace863e0a500550d580f..02dc55bfae5ed2618a7e44939f2039ec255a1b09 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -359,7 +359,16 @@ class page_action extends tform_actions { //* Update the mailinglist $app->db->query("UPDATE mail_mailinglist SET sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE domain = '".$app->db->quote($this->oldDataRecord['domain'])."'"); - + + //* Update fetchmail accounts + $fetchmail = $app->db->queryAllRecords("SELECT * FROM mail_get WHERE destination like '%@".$app->db->quote($this->oldDataRecord['domain'])."'"); + if(is_array($fetchmail)) { + foreach($fetchmail as $rec) { + $destination = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['destination'])); + $app->db->datalogUpdate('mail_get', "destination = '$destination', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'mailget_id', $rec['mailget_id']); + } + } + //* Delete the old spamfilter record $tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'"); $app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]); diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php index 0c9110bb73e410195a371ba0f1372579cf5bd683..8166b5814e6da77f5321343b4d6ea7a4fb2754b9 100644 --- a/interface/web/mail/mail_user_edit.php +++ b/interface/web/mail/mail_user_edit.php @@ -166,7 +166,7 @@ class page_action extends tform_actions { } // Check the quota and adjust - if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && $app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) { + if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && (($app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) || ($_POST["quota"] <= 0))) { $tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u')); $mailquota = $tmp["mailquota"] / 1024 / 1024; $new_mailbox_quota = $app->functions->intval($this->dataRecord["quota"]); @@ -179,6 +179,7 @@ class page_action extends tform_actions { unset($tmp); unset($tmp_quota); } + } // end if user is not admin diff --git a/interface/web/mailuser/lib/lang/se.lng b/interface/web/mailuser/lib/lang/se.lng index f9e6f5bbd84f0429f581d5d4993834fb5b80fa8e..b0d55d478af8bdb11192645d86f2d08706e72f46 100644 --- a/interface/web/mailuser/lib/lang/se.lng +++ b/interface/web/mailuser/lib/lang/se.lng @@ -7,4 +7,3 @@ $wb['Send copy'] = 'Skicka kopia'; $wb['Spamfilter'] = 'Spamfilter'; $wb['Email Filters'] = 'Epostfilter'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_index.lng b/interface/web/mailuser/lib/lang/se_index.lng index a23c6a6568c366c447d4efe01bee1ff18e41b2f9..785507b29273de66c5eb9be6d16b0acd627df3a1 100644 --- a/interface/web/mailuser/lib/lang/se_index.lng +++ b/interface/web/mailuser/lib/lang/se_index.lng @@ -10,4 +10,3 @@ $wb['unlimited_txt'] = 'Obegränsat'; $wb['mb_txt'] = 'MB'; $wb['none_txt'] = 'Inget'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng index 9429978911b0592982de2727c34561522c863502..4a9215c8841608170f28a9fb0a7050af32b08e20 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng @@ -11,4 +11,3 @@ $wb['autoresponder_active'] = 'Aktivera autosvaret'; $wb['now_txt'] = 'Nu'; $wb['autoresponder_subject_txt'] = 'Ämnesrad'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng index 203a9284c73077e7b77677ed8c7329174aeb7729..b01ae1b1ab15a806c91a7a5a37a04a137a479668 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng @@ -7,4 +7,3 @@ $wb['email_is_cc_error'] = 'Epostadress och -Skicka kopia till- kan inte vara sa $wb['name_optional_txt'] = '(Frivilligt)'; $wb['cc_note_txt'] = '(Separera flera epostadresser med kommatecken)'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng index 17da57ac7612b9b6238b257b7563ecd14b6db952..8cf96ce86f4b11733acb6b945ee9163ecefbbecc 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng @@ -18,4 +18,3 @@ $wb['ends_with_txt'] = 'Slutar med'; $wb['move_to_txt'] = 'Flytta till'; $wb['delete_txt'] = 'Radera'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng index f4f757ddc46510ec0de8d6203b0d37ec4528f014..c21eef055054e8b8221835779354f3f727ded7c8 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng @@ -6,4 +6,3 @@ $wb['page_txt'] = 'Sida'; $wb['page_of_txt'] = 'av'; $wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_password.lng b/interface/web/mailuser/lib/lang/se_mail_user_password.lng index 27ebb3705021123829217495c0c6cd2d85fddd32..c78430162a7ebeb024c6f033e5328e4155189cd6 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_password.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_password.lng @@ -8,4 +8,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; ?> - diff --git a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng index e457b5a01606ffd15fbf8a4f398f20b364709323..7ec5f2a7d8671cc2ca146de36ed9918c2d4ca9bd 100644 --- a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng +++ b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng @@ -5,4 +5,3 @@ $wb['email_txt'] = 'Epost'; $wb['no_policy'] = '- ej aktiverat -'; $wb['policy_txt'] = 'Policy'; ?> - diff --git a/interface/web/mailuser/mail_user_password_edit.php b/interface/web/mailuser/mail_user_password_edit.php index f6d6d78231b87e18b6db158f915739e93ed195e9..07a19259ea0d045e4d3d65ac939d32453dfb6b2f 100644 --- a/interface/web/mailuser/mail_user_password_edit.php +++ b/interface/web/mailuser/mail_user_password_edit.php @@ -51,7 +51,8 @@ $app->load('tform_actions'); class page_action extends tform_actions { function onSubmit() { - + global $app, $conf; + $this->id = $app->functions->intval($_SESSION['s']['user']['mailuser_id']); parent::onSubmit(); diff --git a/interface/web/monitor/lib/lang/se.lng b/interface/web/monitor/lib/lang/se.lng index 0df65289b61f3a6608760259cfb10f86aede2d18..b550f80a357168c8a59667620ca6978128d117c3 100644 --- a/interface/web/monitor/lib/lang/se.lng +++ b/interface/web/monitor/lib/lang/se.lng @@ -153,4 +153,3 @@ $wb['Show Munin'] = 'Visa Munin'; $wb['no_munin_url_defined_txt'] = 'Ingen Munin-URL definierad.'; $wb['no_permissions_to_view_munin_txt'] = 'Du har inte behörighet att visa Munin.'; ?> - diff --git a/interface/web/monitor/lib/lang/se_datalog_list.lng b/interface/web/monitor/lib/lang/se_datalog_list.lng index 527b14993a804e232b99f6c89b8643e30e312a1d..e3e76ea7ddd2ff2e9757ba21b5a82a8e08f69d75 100644 --- a/interface/web/monitor/lib/lang/se_datalog_list.lng +++ b/interface/web/monitor/lib/lang/se_datalog_list.lng @@ -6,4 +6,3 @@ $wb['dbtable_txt'] = 'Databastabell'; $wb['action_txt'] = 'Händelse'; $wb['status_txt'] = 'Status'; ?> - diff --git a/interface/web/monitor/lib/lang/se_syslog_list.lng b/interface/web/monitor/lib/lang/se_syslog_list.lng index f3194b692cb30438042f72c107d85650f52c9efd..6c7268cb76d9593096cceeca771759a2d7a568da 100644 --- a/interface/web/monitor/lib/lang/se_syslog_list.lng +++ b/interface/web/monitor/lib/lang/se_syslog_list.lng @@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Server'; $wb['loglevel_txt'] = 'Loggnivå'; $wb['message_txt'] = 'Meddelande'; ?> - diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php index a3e8772a41c567091b355b856b426b7fe245f565..fb600fd5c38294f3b1ec75e7d595cc645f237aa9 100644 --- a/interface/web/sites/form/database.tform.php +++ b/interface/web/sites/form/database.tform.php @@ -88,7 +88,7 @@ $form["tabs"]['database'] = array ( 'type' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', - 'default' => 'y', + 'default' => 'mysql', 'value' => array('mysql' => 'MySQL') ), 'database_name' => array ( @@ -139,7 +139,7 @@ $form["tabs"]['database'] = array ( 'database_charset' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', - 'default' => 'y', + 'default' => '', 'value' => array('' => 'DB-Default', 'latin1' => 'Latin 1', 'utf8' => 'UTF-8') ), 'remote_access' => array ( diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php index 20e4565ff8e0b7cb03343b477879204068794b7b..ef11b6058aaf7f282841d53cb0cb99d219a51668 100644 --- a/interface/web/sites/form/ftp_user.tform.php +++ b/interface/web/sites/form/ftp_user.tform.php @@ -91,7 +91,7 @@ $form["tabs"]['ftp'] = array ( 'validators' => array ( 0 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'username_error_unique'), 1 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{0,64}$/', + 'regex' => '/^[\w\.\-@\+]{0,64}$/', 'errmsg'=> 'username_error_regex'), ), 'default' => '', @@ -166,6 +166,13 @@ if($app->auth->is_admin()) { 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'uid_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysuser', + 'check_names' => true, + 'errmsg' => 'invalid_system_user_or_group_txt' + ), ), 'default' => '0', 'value' => '', @@ -177,6 +184,13 @@ if($app->auth->is_admin()) { 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'gid_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysgroup', + 'check_names' => true, + 'errmsg' => 'invalid_system_user_or_group_txt' + ), ), 'default' => '0', 'value' => '', @@ -187,7 +201,10 @@ if($app->auth->is_admin()) { 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'directory_error_empty'), + 'errmsg'=> 'directory_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/', + 'errmsg'=> 'directory_error_regex'), ), 'default' => '', 'value' => '', diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php index ab7cef1bfa24eaa7509e866181f37ec541cf8e3f..062ed6e0b0712365687f7cfb7b9c443ac6385549 100644 --- a/interface/web/sites/form/shell_user.tform.php +++ b/interface/web/sites/form/shell_user.tform.php @@ -177,6 +177,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') { 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'uid_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysuser', + 'check_names' => true, + 'errmsg' => 'invalid_system_user_or_group_txt' + ), ), 'default' => '0', 'value' => '', @@ -188,6 +195,13 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') { 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'uid_error_empty'), + 1 => array( + 'type' => 'CUSTOM', + 'class' => 'validate_systemuser', + 'function' => 'check_sysgroup', + 'check_names' => true, + 'errmsg' => 'invalid_system_user_or_group_txt' + ), ), 'default' => '0', 'value' => '', @@ -197,6 +211,12 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') { 'shell' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'shell_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\/]{5,20}$/', + 'errmsg'=> 'shell_error_regex'), + ), 'default' => '/bin/bash', 'value' => '', 'width' => '30', @@ -205,8 +225,11 @@ if($_SESSION["s"]["user"]["typ"] == 'admin') { 'dir' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'directory_error_empty'), + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'directory_error_empty'), + 1 => array ( 'type' => 'REGEX', + 'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/', + 'errmsg'=> 'directory_error_regex'), ), 'default' => '', 'value' => '', diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php index 034620168ba8bce17e4346771335e48ca74a0cce..ba695e0ff81c55967e4b57f37a2dace9eb97a11e 100644 --- a/interface/web/sites/ftp_user_edit.php +++ b/interface/web/sites/ftp_user_edit.php @@ -138,6 +138,11 @@ class page_action extends tform_actions { $dir = $app->db->quote($web["document_root"]); $uid = $app->db->quote($web["system_user"]); $gid = $app->db->quote($web["system_group"]); + + // Check system user and group + if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) { + $app->error('Invalid system user or group'); + } // The FTP user shall be owned by the same group then the website $sys_groupid = $app->functions->intval($web['sys_groupid']); @@ -148,7 +153,7 @@ class page_action extends tform_actions { function onBeforeUpdate() { global $app, $conf, $interfaceConf; - + /* * If the names should be restricted -> do it! */ diff --git a/interface/web/sites/lib/lang/ar_ftp_user.lng b/interface/web/sites/lib/lang/ar_ftp_user.lng index 04927318462bf832a853630cbdfbec01b19100cd..42b8c4dea6d79e30b5a2457ec07b34adfcdc37b4 100644 --- a/interface/web/sites/lib/lang/ar_ftp_user.lng +++ b/interface/web/sites/lib/lang/ar_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/ar_shell_user.lng b/interface/web/sites/lib/lang/ar_shell_user.lng index 8460d4e7ae75b9316c39ebd272a0b1cc43b12fb2..8095f4becc2b9359e20aa0015b45330feb1819d7 100644 --- a/interface/web/sites/lib/lang/ar_shell_user.lng +++ b/interface/web/sites/lib/lang/ar_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/ar_web_folder_list.lng b/interface/web/sites/lib/lang/ar_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/ar_web_folder_list.lng +++ b/interface/web/sites/lib/lang/ar_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/bg_ftp_user.lng b/interface/web/sites/lib/lang/bg_ftp_user.lng index fc1587273274d4ed8aef2fd8bb8c951841fdb9f0..4d5cef733944ddee41158861aee5ef90dc2b0dfc 100644 --- a/interface/web/sites/lib/lang/bg_ftp_user.lng +++ b/interface/web/sites/lib/lang/bg_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/bg_shell_user.lng b/interface/web/sites/lib/lang/bg_shell_user.lng index 82a44af3488e86456434c7e31fdb3b22dac58b7e..15709147fa1fcfb8ca4ba51e81a954a0f2d2ab81 100644 --- a/interface/web/sites/lib/lang/bg_shell_user.lng +++ b/interface/web/sites/lib/lang/bg_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/bg_web_folder_list.lng b/interface/web/sites/lib/lang/bg_web_folder_list.lng index 36c9cbcf14ee6fdd64e86ffb40fec40a79ece1ed..4e0f4b8a5e858fa685d9e7b9647d1dd536ca65f4 100644 --- a/interface/web/sites/lib/lang/bg_web_folder_list.lng +++ b/interface/web/sites/lib/lang/bg_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Активен'; $wb['server_id_txt'] = 'Сървър'; $wb['parent_domain_id_txt'] = 'Уебсайт'; $wb['path_txt'] = 'Път'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng index ff89ba0613f93b685e6b74507a7a8ab51161db9a..2824380d8da811f14fc70a9d05a2e962940e161a 100644 --- a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Потребителско име'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/br_ftp_user.lng b/interface/web/sites/lib/lang/br_ftp_user.lng index 4873bfd73c6ba654c4494662288b6e80e6871ae1..f46b94fe921c204fddd134e35f326817a738a4a9 100644 --- a/interface/web/sites/lib/lang/br_ftp_user.lng +++ b/interface/web/sites/lib/lang/br_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/br_shell_user.lng b/interface/web/sites/lib/lang/br_shell_user.lng index 8a098cb5ae56f7d6d9d316dac7da715377149dda..69e0f6e287e41b11a063090d0b7b8d2034543b7e 100644 --- a/interface/web/sites/lib/lang/br_shell_user.lng +++ b/interface/web/sites/lib/lang/br_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/br_web_folder_list.lng b/interface/web/sites/lib/lang/br_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/br_web_folder_list.lng +++ b/interface/web/sites/lib/lang/br_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/br_web_folder_user_list.lng b/interface/web/sites/lib/lang/br_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/br_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/br_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/cz_ftp_user.lng b/interface/web/sites/lib/lang/cz_ftp_user.lng index 2ef0f29190a97244797363e0e14fc8ace9a4fc1d..b580e08f5539073273d04b58a3fcee7cea8a6b17 100644 --- a/interface/web/sites/lib/lang/cz_ftp_user.lng +++ b/interface/web/sites/lib/lang/cz_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generovat heslo'; $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodují.'; $wb['password_match_txt'] = 'Hesla se shodují.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/cz_shell_user.lng b/interface/web/sites/lib/lang/cz_shell_user.lng index 9bc6bdd2a87fabcc27c5e376f528e672b78a388e..fc933da057be35938c54ec0ca0555493b64ae729 100644 --- a/interface/web/sites/lib/lang/cz_shell_user.lng +++ b/interface/web/sites/lib/lang/cz_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodují.'; $wb['password_match_txt'] = 'Hesla se shodují.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/cz_web_folder_list.lng b/interface/web/sites/lib/lang/cz_web_folder_list.lng index b75c0e80dae76086394ab8ecf416a2522ffdf473..c7fa12cb241722783beb3aec9de77b8c15cc6f94 100644 --- a/interface/web/sites/lib/lang/cz_web_folder_list.lng +++ b/interface/web/sites/lib/lang/cz_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktivní'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webové stránky'; $wb['path_txt'] = 'Cesta'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng index 99fe62051c1e83cb715f1ba4ff4de3110b2e5107..c0059b23444db3d2b5077522ddaebe94b669a034 100644 --- a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Složka (adresář) uživatele'; $wb['active_txt'] = 'Aktivní'; $wb['web_folder_id_txt'] = 'Složka'; $wb['username_txt'] = 'Uživatelské jméno'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng index 65e84813e5ac1925dc7caa94ffcec61eb59a877e..285c6c687628885f65a1dbf0147b3c1eb4c53958 100644 --- a/interface/web/sites/lib/lang/de_ftp_user.lng +++ b/interface/web/sites/lib/lang/de_ftp_user.lng @@ -31,4 +31,6 @@ $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['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng index 9de369f90da4e6389be4af3b4c99c73116927a4c..3c4cc2d85a7ec34353a01a5d1b071d0452690de1 100644 --- a/interface/web/sites/lib/lang/de_shell_user.lng +++ b/interface/web/sites/lib/lang/de_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['username_must_not_exceed_32_chars_txt'] = 'Der Benutzername darf 32 Zeichen nicht überschreiten.'; $wb['username_not_allowed_txt'] = 'Der Benutzername ist nicht erlaubt.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng index 5491202ac64b2f0a2a9f2ab92f2de44ad6ee6956..34e8f863e10ffef43c286b189145dbbf08f591cf 100644 --- a/interface/web/sites/lib/lang/de_web_folder_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktiv'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webseite'; $wb['path_txt'] = 'Pfad'; +$wb['add_new_record_txt'] = 'Ordner hinzufügen'; ?> diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng index 5357760eb47ae32258a5396648c98d179d5db39c..c9bcb9cf575283724e06e36871a5e33f86825356 100644 --- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Ordner Benutzer'; $wb['active_txt'] = 'Aktiv'; $wb['web_folder_id_txt'] = 'Ordner'; $wb['username_txt'] = 'Benutzername'; +$wb['add_new_record_txt'] = 'Ordner Benutzer hinzufügen'; ?> diff --git a/interface/web/sites/lib/lang/el_ftp_user.lng b/interface/web/sites/lib/lang/el_ftp_user.lng index 2f89d27bdf3e3e1cc620f6c880cb5c7b22397ad6..a77581db847df0a44ae9b230a9255c482adbd3bc 100644 --- a/interface/web/sites/lib/lang/el_ftp_user.lng +++ b/interface/web/sites/lib/lang/el_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/el_shell_user.lng b/interface/web/sites/lib/lang/el_shell_user.lng index 3c3ea316ce78c95fa2aa59f6d8783064a548c2cf..2ced9c23dbc3759dc31f62c490cf8e6e15c1d10d 100644 --- a/interface/web/sites/lib/lang/el_shell_user.lng +++ b/interface/web/sites/lib/lang/el_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/el_web_folder_list.lng b/interface/web/sites/lib/lang/el_web_folder_list.lng index 86dc18cf665572034296a037e372ec385fee9db3..f1e9e33f81e26384cd91bcee93f1a8dc05f18996 100644 --- a/interface/web/sites/lib/lang/el_web_folder_list.lng +++ b/interface/web/sites/lib/lang/el_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Ενεργός'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Διαδρομή'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/el_web_folder_user_list.lng b/interface/web/sites/lib/lang/el_web_folder_user_list.lng index 2103bcbfc24b33695eeadc6950f9fb0f67bd05c2..bcbd08c3931a4fcfe52adabf5cd7f1af40dcbbd2 100644 --- a/interface/web/sites/lib/lang/el_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/el_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Χρήστης Φακέλου'; $wb['active_txt'] = 'Ενεργός'; $wb['web_folder_id_txt'] = 'Φάκελος'; $wb['username_txt'] = 'Όνομα Χρήστη'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/en_ftp_user.lng b/interface/web/sites/lib/lang/en_ftp_user.lng index ed5fe0287c6ed563801437fa4530e6bb34df2ab5..2c8e2a9869caf4630fa76b12a4576071a0146d86 100644 --- a/interface/web/sites/lib/lang/en_ftp_user.lng +++ b/interface/web/sites/lib/lang/en_ftp_user.lng @@ -32,4 +32,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng index c15d1b56d441f5d91af5f98d85686da110e43add..2ae9b4e6a1373c9dd7f3e932e0613d9a95cd58f0 100644 --- a/interface/web/sites/lib/lang/en_shell_user.lng +++ b/interface/web/sites/lib/lang/en_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/en_web_folder_list.lng b/interface/web/sites/lib/lang/en_web_folder_list.lng index 32780abda59b4cb9c2de07805324109ddbb01267..5966c03e8b8373a0fa318bba7ae2045749f54899 100644 --- a/interface/web/sites/lib/lang/en_web_folder_list.lng +++ b/interface/web/sites/lib/lang/en_web_folder_list.lng @@ -4,4 +4,5 @@ $wb["active_txt"] = 'Active'; $wb["server_id_txt"] = 'Server'; $wb["parent_domain_id_txt"] = 'Website'; $wb["path_txt"] = 'Path'; +$wb["add_new_record_txt"] = 'Add new Folder'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_web_folder_user_list.lng b/interface/web/sites/lib/lang/en_web_folder_user_list.lng index d0d9e05d1e56a44ba195f8511ce4929cf7237160..d0350c9d9a270b943730828c3311549889c704ed 100644 --- a/interface/web/sites/lib/lang/en_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/en_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb["list_head_txt"] = 'Folder User'; $wb["active_txt"] = 'Active'; $wb["web_folder_id_txt"] = 'Folder'; $wb["username_txt"] = 'Username'; +$wb["add_new_record_txt"] = 'Add new Folder User'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/es_ftp_user.lng b/interface/web/sites/lib/lang/es_ftp_user.lng index c8b86b064d2711f2483c01ed38524b0a3d3b09ba..f8a5e6c69b436f4e24e052b0968db8809245f2d3 100644 --- a/interface/web/sites/lib/lang/es_ftp_user.lng +++ b/interface/web/sites/lib/lang/es_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/es_shell_user.lng b/interface/web/sites/lib/lang/es_shell_user.lng index 45fd930e21cf996b70f728212a24588911b375a7..46c39cc6adde0e5a963ff3ec1ad38fb6265cf272 100644 --- a/interface/web/sites/lib/lang/es_shell_user.lng +++ b/interface/web/sites/lib/lang/es_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/es_web_folder_list.lng b/interface/web/sites/lib/lang/es_web_folder_list.lng index 668f62602b7021b5209e5d8eb65b222d7806c232..e760a67b197d8a6e4487b5d857c7f0c26963f0ff 100644 --- a/interface/web/sites/lib/lang/es_web_folder_list.lng +++ b/interface/web/sites/lib/lang/es_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Activar'; $wb['server_id_txt'] = 'Servidor'; $wb['parent_domain_id_txt'] = 'Sitio web'; $wb['path_txt'] = 'Ruta'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/es_web_folder_user_list.lng b/interface/web/sites/lib/lang/es_web_folder_user_list.lng index 77799114e567294b93eb759954d6dc00e3848c49..9bdb1e9b718090a4fd5989ace1875557e4d0feca 100644 --- a/interface/web/sites/lib/lang/es_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/es_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Carpeta del usuario'; $wb['active_txt'] = 'Activar'; $wb['web_folder_id_txt'] = 'Carpeta'; $wb['username_txt'] = 'Nombre de usuario'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/fi_ftp_user.lng b/interface/web/sites/lib/lang/fi_ftp_user.lng index ca39439562b91098e210978bd6f4fe11f0c50973..4cf718c2860e211f253f735573ae00f9a7d99418 100755 --- a/interface/web/sites/lib/lang/fi_ftp_user.lng +++ b/interface/web/sites/lib/lang/fi_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/fi_shell_user.lng b/interface/web/sites/lib/lang/fi_shell_user.lng index 06fe1bd7e1df8619e45f5151f1131889f72fb6bd..116e8c8d86680665f9b4a07149f4bd4ba2e8ecca 100755 --- a/interface/web/sites/lib/lang/fi_shell_user.lng +++ b/interface/web/sites/lib/lang/fi_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/fi_web_folder_list.lng b/interface/web/sites/lib/lang/fi_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/fi_web_folder_list.lng +++ b/interface/web/sites/lib/lang/fi_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/fr.lng b/interface/web/sites/lib/lang/fr.lng index c914ef002fb30c96824e8c7cca697e4b62ebd75d..9acee9d061392c2d4befced0ed090f1254869e98 100644 --- a/interface/web/sites/lib/lang/fr.lng +++ b/interface/web/sites/lib/lang/fr.lng @@ -31,5 +31,5 @@ $wb['Available packages'] = 'Packages disponibles'; $wb['Installed packages'] = 'Packages installés'; $wb['Update Packagelist'] = 'Mise à jour de la liste des packages'; $wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)'; -$wb['error_proxy_requires_url'] = 'Type de redirection \"proxy\" nécessite une URL comme chemin de redirection.'; +$wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.'; ?> diff --git a/interface/web/sites/lib/lang/fr_aps.lng b/interface/web/sites/lib/lang/fr_aps.lng index eb268b0266a483786bae2f48e277d548f4be6d52..5d43e803dd70b19998fd5757e3968ea8b807cf47 100644 --- a/interface/web/sites/lib/lang/fr_aps.lng +++ b/interface/web/sites/lib/lang/fr_aps.lng @@ -38,14 +38,14 @@ $wb['error_inv_main_location'] = 'Le dossier d\'installation choisi est invalide $wb['error_license_agreement'] = 'Avant de continuer, vous devez accepter les conditions d\'utilisation (licence).'; $wb['error_no_database_pw'] = 'Vous n\'avez pas renseigné de mot de passe BDD valide.'; $wb['error_short_database_pw'] = 'Veuillez saisir un mot de passe BDD plus long.'; -$wb['error_no_value_for'] = 'Le champ \"%s\" ne peut pas être vide.'; -$wb['error_short_value_for'] = 'Le champ \"%s\" nécessite une valeur plus longue.'; -$wb['error_long_value_for'] = 'Le champ \"%s\" nécessite une valeur plus courte.'; -$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \"%s\".'; -$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \"%s\" est invalide.'; -$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \"%s\" est invalide.'; -$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \"%s\" est invalide.'; -$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \"%s\" est invalide.'; +$wb['error_no_value_for'] = 'Le champ \\"%s\\" ne peut pas être vide.'; +$wb['error_short_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus longue.'; +$wb['error_long_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus courte.'; +$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \\"%s\\".'; +$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \\"%s\\" est invalide.'; +$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \\"%s\\" est invalide.'; +$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \\"%s\\" est invalide.'; +$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \\"%s\\" est invalide.'; $wb['error_used_location'] = 'Le chemin de destination contient déjà un package d\'installation.'; $wb['installation_task_txt'] = 'Installation prévue'; $wb['installation_error_txt'] = 'Erreur d\'installation'; diff --git a/interface/web/sites/lib/lang/fr_ftp_user.lng b/interface/web/sites/lib/lang/fr_ftp_user.lng index 5d00f4b7804c5ceef881fe65b23a2619ad99f930..f73a81b1b32b5ba5867cbf4e87711e8a939c9752 100644 --- a/interface/web/sites/lib/lang/fr_ftp_user.lng +++ b/interface/web/sites/lib/lang/fr_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Générer un mot de passe'; $wb['repeat_password_txt'] = 'Vérification du mot de passe'; $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.'; $wb['password_match_txt'] = 'Les mots de passe correspondent.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/fr_shell_user.lng b/interface/web/sites/lib/lang/fr_shell_user.lng index 3f967f852d1c09626d22a266442dd89c7c4c6cd2..2e518d70b7ee3fa832736a45e6f672b3bb628d4f 100644 --- a/interface/web/sites/lib/lang/fr_shell_user.lng +++ b/interface/web/sites/lib/lang/fr_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.'; $wb['password_match_txt'] = 'Les mots de passe correspondent.'; $wb['username_must_not_exceed_32_chars_txt'] = 'Le nom d\'utilisateur ne doit pas dépasser 32 caractères.'; $wb['username_not_allowed_txt'] = 'Le nom d\'utilisateur est interdit.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/fr_web_folder_list.lng b/interface/web/sites/lib/lang/fr_web_folder_list.lng index f358f8c8824a28f232a50c367ee45b49c1d8d0bf..0eed4fd8d623ed4696fa9638ccf7d505b144adc5 100644 --- a/interface/web/sites/lib/lang/fr_web_folder_list.lng +++ b/interface/web/sites/lib/lang/fr_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Actif'; $wb['server_id_txt'] = 'Serveur'; $wb['parent_domain_id_txt'] = 'Site web'; $wb['path_txt'] = 'Chemin'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng index e1824e2fe598da77085b5d003554cad89cc5f01a..663c6d2a7b172665c494a897d19137f30f74885a 100644 --- a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Utilisateur du dossier'; $wb['active_txt'] = 'Actif'; $wb['web_folder_id_txt'] = 'Dossier'; $wb['username_txt'] = 'Nom de l\'utilisateur'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/fr_web_subdomain.lng b/interface/web/sites/lib/lang/fr_web_subdomain.lng index ebc7250f221227c31f5600069db2c2e97538530f..edc7be0c142db21f9c8ac8f26cbbeee11e7f659e 100644 --- a/interface/web/sites/lib/lang/fr_web_subdomain.lng +++ b/interface/web/sites/lib/lang/fr_web_subdomain.lng @@ -42,5 +42,5 @@ $wb['no_flag_txt'] = 'Aucun flag'; $wb['domain_error_wildcard'] = 'Les sous-domaines joker ne sont pas autorisés.'; $wb['proxy_directives_txt'] = 'Directives pour les Proxy'; $wb['available_proxy_directive_snippets_txt'] = 'Directives pour les Proxy Snippets disponibles :'; -$wb['error_proxy_requires_url'] = 'Les redirections de type \"proxy\" nécessitent une URL comme chemin de redirection.'; +$wb['error_proxy_requires_url'] = 'Les redirections de type \\"proxy\\" nécessitent une URL comme chemin de redirection.'; ?> diff --git a/interface/web/sites/lib/lang/hr_ftp_user.lng b/interface/web/sites/lib/lang/hr_ftp_user.lng index 6290c0e6c66fc8ef0976615af0db282c6ec92a8f..dbefe0bbf592709a310575b8453dd35055720960 100644 --- a/interface/web/sites/lib/lang/hr_ftp_user.lng +++ b/interface/web/sites/lib/lang/hr_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/hr_shell_user.lng b/interface/web/sites/lib/lang/hr_shell_user.lng index 4173787259f4bdee9c10fd527695df96139e7e8b..d081fd76f4335adf5901c9a9e472c1d17f8d449f 100644 --- a/interface/web/sites/lib/lang/hr_shell_user.lng +++ b/interface/web/sites/lib/lang/hr_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/hr_web_folder_list.lng b/interface/web/sites/lib/lang/hr_web_folder_list.lng index 56965897a8582a124022d2518cbb12ff5d331e1b..0a900fb2c4e7f46977e66f21a8e373e4ec203f43 100644 --- a/interface/web/sites/lib/lang/hr_web_folder_list.lng +++ b/interface/web/sites/lib/lang/hr_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktivno'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Web stranica'; $wb['path_txt'] = 'Putanja'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng index af7792fb6cb02064e06b00af40d7d2255dceb11a..3beae9f4776fe3ca03d15c7b97a494089d4a21fb 100644 --- a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Web direktorij korisnik'; $wb['active_txt'] = 'Aktivno'; $wb['web_folder_id_txt'] = 'Web direkotrij'; $wb['username_txt'] = 'Korisničko ime'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/hu_ftp_user.lng b/interface/web/sites/lib/lang/hu_ftp_user.lng index 132bc49758113e4ab5bd6ab421e92d3044934b02..bbf61d4232338c81beeee567590d7f980e921fea 100644 --- a/interface/web/sites/lib/lang/hu_ftp_user.lng +++ b/interface/web/sites/lib/lang/hu_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/hu_shell_user.lng b/interface/web/sites/lib/lang/hu_shell_user.lng index 849f380f8ce676d3681b615a8aa583483b5101fa..8eaa537b580b0f3f2f0783baad14f3fe7c9f6a49 100644 --- a/interface/web/sites/lib/lang/hu_shell_user.lng +++ b/interface/web/sites/lib/lang/hu_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/hu_web_folder_list.lng b/interface/web/sites/lib/lang/hu_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/hu_web_folder_list.lng +++ b/interface/web/sites/lib/lang/hu_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/id_ftp_user.lng b/interface/web/sites/lib/lang/id_ftp_user.lng index 5e1dab23754b489ffb2d07cbeef9e36254d92347..4898de245df2016bd0c8b48afa7945ce188c91da 100644 --- a/interface/web/sites/lib/lang/id_ftp_user.lng +++ b/interface/web/sites/lib/lang/id_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/id_shell_user.lng b/interface/web/sites/lib/lang/id_shell_user.lng index 0ec09ccf775e33225c2db98510b30a873cfc6ae7..83153c14e53d17c4d32aa07bd8f739077f05c5a5 100644 --- a/interface/web/sites/lib/lang/id_shell_user.lng +++ b/interface/web/sites/lib/lang/id_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/id_web_folder_list.lng b/interface/web/sites/lib/lang/id_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/id_web_folder_list.lng +++ b/interface/web/sites/lib/lang/id_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/id_web_folder_user_list.lng b/interface/web/sites/lib/lang/id_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/id_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/id_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/it_ftp_user.lng b/interface/web/sites/lib/lang/it_ftp_user.lng index 1964a9fc54ee4afe98f9401d6b183aac38aea6c4..bdd7818166e98a6b73c6fa2d3f006836736ee7d4 100644 --- a/interface/web/sites/lib/lang/it_ftp_user.lng +++ b/interface/web/sites/lib/lang/it_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/it_shell_user.lng b/interface/web/sites/lib/lang/it_shell_user.lng index 8460d4e7ae75b9316c39ebd272a0b1cc43b12fb2..8095f4becc2b9359e20aa0015b45330feb1819d7 100644 --- a/interface/web/sites/lib/lang/it_shell_user.lng +++ b/interface/web/sites/lib/lang/it_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/it_web_folder_list.lng b/interface/web/sites/lib/lang/it_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/it_web_folder_list.lng +++ b/interface/web/sites/lib/lang/it_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/it_web_folder_user_list.lng b/interface/web/sites/lib/lang/it_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/it_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/it_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/ja_ftp_user.lng b/interface/web/sites/lib/lang/ja_ftp_user.lng index fb80ca35b63c905a7529f7ee66f4ac4e0353d61c..8e92b1b05f568de6b957b47c0a4ba3a4984e8fbd 100644 --- a/interface/web/sites/lib/lang/ja_ftp_user.lng +++ b/interface/web/sites/lib/lang/ja_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/ja_shell_user.lng b/interface/web/sites/lib/lang/ja_shell_user.lng index 19f09a5cb26357a9a1d79fd0e7886c85f45a582d..2ce5ad345e35f9dda24f7837493771d10b8cfc91 100644 --- a/interface/web/sites/lib/lang/ja_shell_user.lng +++ b/interface/web/sites/lib/lang/ja_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/ja_web_folder_list.lng b/interface/web/sites/lib/lang/ja_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/ja_web_folder_list.lng +++ b/interface/web/sites/lib/lang/ja_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/nl_ftp_user.lng b/interface/web/sites/lib/lang/nl_ftp_user.lng index 7f797de3204608f6b55901246f13ff791d54efb1..16e4ae87ce1c7e1770c077ad0efef31cb2d9baea 100644 --- a/interface/web/sites/lib/lang/nl_ftp_user.lng +++ b/interface/web/sites/lib/lang/nl_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/nl_shell_user.lng b/interface/web/sites/lib/lang/nl_shell_user.lng index 53fed2070e6fc82f393fd455d65d7bc011168f41..9a4ae63ed1103e9720f2d50e709775fd90ac0784 100644 --- a/interface/web/sites/lib/lang/nl_shell_user.lng +++ b/interface/web/sites/lib/lang/nl_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/nl_web_folder_list.lng b/interface/web/sites/lib/lang/nl_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/nl_web_folder_list.lng +++ b/interface/web/sites/lib/lang/nl_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/pl_ftp_user.lng b/interface/web/sites/lib/lang/pl_ftp_user.lng index 5c914011331555ac6a0c9461920cd3f5ec65d069..37dd36b18976b88816283288fe491efeed69e69f 100644 --- a/interface/web/sites/lib/lang/pl_ftp_user.lng +++ b/interface/web/sites/lib/lang/pl_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generuj hasło'; $wb['repeat_password_txt'] = 'Powtórz hasło'; $wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie'; $wb['password_match_txt'] = 'Hasła pasują'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/pl_shell_user.lng b/interface/web/sites/lib/lang/pl_shell_user.lng index e51ef644a740f751403c5e6898fac71be1d75a57..19674e3bd74b98c664b3ae7f12a51c504f2f0e80 100644 --- a/interface/web/sites/lib/lang/pl_shell_user.lng +++ b/interface/web/sites/lib/lang/pl_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie'; $wb['password_match_txt'] = 'Hasła pasują'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/pl_web_folder_list.lng b/interface/web/sites/lib/lang/pl_web_folder_list.lng index 87a769008fd76546baefd9bacdc62d7c918448e8..75a403be33d500d99b8ca7d1a31af05af1261381 100644 --- a/interface/web/sites/lib/lang/pl_web_folder_list.lng +++ b/interface/web/sites/lib/lang/pl_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Aktywny'; $wb['server_id_txt'] = 'Serwer'; $wb['parent_domain_id_txt'] = 'Witryna'; $wb['path_txt'] = 'Ścieżka'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng index 81769bd9d0c9dd71b905ac0d1d677c602dff5901..728c1f709c88942f763c80f139746c32a05d6cef 100644 --- a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Użytkownik katalogu'; $wb['active_txt'] = 'Aktywny'; $wb['web_folder_id_txt'] = 'Katalog'; $wb['username_txt'] = 'Login'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/pt_ftp_user.lng b/interface/web/sites/lib/lang/pt_ftp_user.lng index 17708727cadefe70f2e3673606d1a5d2bb18bf2d..9f5ed046ce07d13b9173cb7a45337f8be527b9d2 100644 --- a/interface/web/sites/lib/lang/pt_ftp_user.lng +++ b/interface/web/sites/lib/lang/pt_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/pt_shell_user.lng b/interface/web/sites/lib/lang/pt_shell_user.lng index 5e346483e82128e9f238ef3f243e96e6e0e8861e..4564bbc5a81cdee416a8aba99943415415b485fa 100644 --- a/interface/web/sites/lib/lang/pt_shell_user.lng +++ b/interface/web/sites/lib/lang/pt_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/pt_web_folder_list.lng b/interface/web/sites/lib/lang/pt_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/pt_web_folder_list.lng +++ b/interface/web/sites/lib/lang/pt_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/ro_ftp_user.lng b/interface/web/sites/lib/lang/ro_ftp_user.lng index d7415ec2f28d04f0e5dcd87102bbc089fb595b9b..e28b35e6d90c41b7fa89968cdd6ace70c6f70bed 100644 --- a/interface/web/sites/lib/lang/ro_ftp_user.lng +++ b/interface/web/sites/lib/lang/ro_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/ro_shell_user.lng b/interface/web/sites/lib/lang/ro_shell_user.lng index d4620af9e4cecbd244b1c8c0be86f3da88f9fb7f..912b6b2b0c40e82b7ec012c3b92c3c2a1e7216e7 100644 --- a/interface/web/sites/lib/lang/ro_shell_user.lng +++ b/interface/web/sites/lib/lang/ro_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/ro_web_folder_list.lng b/interface/web/sites/lib/lang/ro_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/ro_web_folder_list.lng +++ b/interface/web/sites/lib/lang/ro_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/ru_ftp_user.lng b/interface/web/sites/lib/lang/ru_ftp_user.lng index 58a2277e5192ccd60b90020ae8d56bec09831826..f9609ce26d796f740c0d551e90479417352ef829 100644 --- a/interface/web/sites/lib/lang/ru_ftp_user.lng +++ b/interface/web/sites/lib/lang/ru_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/ru_shell_user.lng b/interface/web/sites/lib/lang/ru_shell_user.lng index d87f544e111e2f37c2165d179bdc25b7490e34aa..f3b788f14ea92f29a7d5c4609b02f9d49763c1bc 100644 --- a/interface/web/sites/lib/lang/ru_shell_user.lng +++ b/interface/web/sites/lib/lang/ru_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/ru_web_folder_list.lng b/interface/web/sites/lib/lang/ru_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/ru_web_folder_list.lng +++ b/interface/web/sites/lib/lang/ru_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/se.lng b/interface/web/sites/lib/lang/se.lng index 780195fb88657ad0c1c802c55f2aa5ecce9063cd..a63670545c105f79cf9ef7524d138191882677a6 100644 --- a/interface/web/sites/lib/lang/se.lng +++ b/interface/web/sites/lib/lang/se.lng @@ -31,6 +31,5 @@ $wb['Available packages'] = 'Tillgängliga paket'; $wb['Installed packages'] = 'Installerade paket'; $wb['Update Packagelist'] = 'Uppdatera paketlista'; $wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)'; -$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.'; +$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.'; ?> - diff --git a/interface/web/sites/lib/lang/se_aps.lng b/interface/web/sites/lib/lang/se_aps.lng index 315b03c721c9a5c856c39f9096c781216b99d107..1fe86175d37f92c616fd0ae843784352fe22606a 100644 --- a/interface/web/sites/lib/lang/se_aps.lng +++ b/interface/web/sites/lib/lang/se_aps.lng @@ -38,14 +38,14 @@ $wb['error_inv_main_location'] = 'The given install location folder is invalid.' $wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.'; $wb['error_no_database_pw'] = 'You have provided no valid database password.'; $wb['error_short_database_pw'] = 'Please choose a longer database password.'; -$wb['error_no_value_for'] = 'The field "%s" must not be empty.'; -$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.'; -$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.'; -$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".'; -$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".'; -$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".'; -$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".'; -$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".'; +$wb['error_no_value_for'] = 'The field \"%s\" must not be empty.'; +$wb['error_short_value_for'] = 'The field \"%s\" requires a longer input value.'; +$wb['error_long_value_for'] = 'The field \"%s\" requires a shorter input value.'; +$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \"%s\".'; +$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \"%s\".'; +$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \"%s\".'; +$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \"%s\".'; +$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \"%s\".'; $wb['error_used_location'] = 'The installation path already contains a package installation.'; $wb['installation_task_txt'] = 'Installation planerad'; $wb['installation_error_txt'] = 'Installationsfel'; @@ -56,4 +56,3 @@ $wb['btn_install_txt'] = 'Installera'; $wb['btn_cancel_txt'] = 'Avbryt'; $wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.'; ?> - diff --git a/interface/web/sites/lib/lang/se_aps_instances_list.lng b/interface/web/sites/lib/lang/se_aps_instances_list.lng index 81cda2a4c457fe5d4bada5628812405dda55df65..a9428aa737cddf82caa51be17abb3a06d26ff1a1 100644 --- a/interface/web/sites/lib/lang/se_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/se_aps_instances_list.lng @@ -11,4 +11,3 @@ $wb['filter_txt'] = 'Sök'; $wb['delete_txt'] = 'Radera'; $wb['reinstall_txt'] = 'Ominstallera'; ?> - diff --git a/interface/web/sites/lib/lang/se_aps_packages_list.lng b/interface/web/sites/lib/lang/se_aps_packages_list.lng index 1746bfd4ae74a0812ad5635c92e637f8a19e7544..8555961a4ef5c1b27746c736105b8920161f04b9 100644 --- a/interface/web/sites/lib/lang/se_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/se_aps_packages_list.lng @@ -6,4 +6,3 @@ $wb['category_txt'] = 'Kategori'; $wb['status_txt'] = 'Olåst'; $wb['filter_txt'] = 'Sök'; ?> - diff --git a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng index 8d84c057de52e3a48dd92fa5f67f703b838762f1..891a95168848f860d0654813bfd94d6ba2065593 100644 --- a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng @@ -5,4 +5,3 @@ $wb['btn_start_txt'] = 'Uppdatera paketlista'; $wb['btn_cancel_txt'] = 'Avbryt'; $wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.'; ?> - diff --git a/interface/web/sites/lib/lang/se_cron.lng b/interface/web/sites/lib/lang/se_cron.lng index bc89db256455128b7106e4e6709c1c1c60b5bbec..83b7d3b33d8d4416bb2d4813b8d1a31a4f64f116 100644 --- a/interface/web/sites/lib/lang/se_cron.lng +++ b/interface/web/sites/lib/lang/se_cron.lng @@ -22,4 +22,3 @@ $wb['server_id_error_empty'] = 'Fältet för server-ID är tomt.'; $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.'; $wb['command_error_empty'] = 'Kommandofältet är tomt.'; ?> - diff --git a/interface/web/sites/lib/lang/se_cron_list.lng b/interface/web/sites/lib/lang/se_cron_list.lng index b17951c8a4cbe3f21fd6c1222511bfc29ded4181..0459144158cec942e9186f979ff13acf448f16b5 100644 --- a/interface/web/sites/lib/lang/se_cron_list.lng +++ b/interface/web/sites/lib/lang/se_cron_list.lng @@ -11,4 +11,3 @@ $wb['command_txt'] = 'Kommando'; $wb['add_new_cron_txt'] = 'Lägg till nytt cron-jobb'; $wb['parent_domain_id_txt'] = 'Webbsida'; ?> - diff --git a/interface/web/sites/lib/lang/se_database.lng b/interface/web/sites/lib/lang/se_database.lng index 03eac081c7fbd2aa620ebcfdf5452b1e02a94d02..c06c3f0e4427a240bbc4e843b120aa0edc4c44d0 100644 --- a/interface/web/sites/lib/lang/se_database.lng +++ b/interface/web/sites/lib/lang/se_database.lng @@ -44,4 +44,3 @@ $wb['no_dbuser_txt'] = 'Ingen'; $wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.'; $wb['database_user_missing_txt'] = 'Vänligen välj en databasanvändare för den här databasen.'; ?> - diff --git a/interface/web/sites/lib/lang/se_database_admin_list.lng b/interface/web/sites/lib/lang/se_database_admin_list.lng index fe415d32318b4d832fe3e222ccf9c75545bad28c..640c07cf19a4bd1fce06ef1193c2978d8c1bcd5b 100644 --- a/interface/web/sites/lib/lang/se_database_admin_list.lng +++ b/interface/web/sites/lib/lang/se_database_admin_list.lng @@ -9,4 +9,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny databas'; $wb['sys_groupid_txt'] = 'Kund'; $wb['parent_domain_id_txt'] = 'Webbsida'; ?> - diff --git a/interface/web/sites/lib/lang/se_database_list.lng b/interface/web/sites/lib/lang/se_database_list.lng index 3909b37308687a12f306013be79f13f1680fe03f..bfcdaf39f9cddb7103be335c4cdd5074fdc8fe55 100644 --- a/interface/web/sites/lib/lang/se_database_list.lng +++ b/interface/web/sites/lib/lang/se_database_list.lng @@ -8,4 +8,3 @@ $wb['add_new_record_txt'] = 'Lägg till ny databas'; $wb['database_user_txt'] = 'Databasanvändare'; $wb['parent_domain_id_txt'] = 'Webbsida'; ?> - diff --git a/interface/web/sites/lib/lang/se_database_user.lng b/interface/web/sites/lib/lang/se_database_user.lng index c707175cf262d0a0242ba5572a82c3230f2b4b2f..2cf9a1a8cb589b90772f08d433a43babccd4d5eb 100644 --- a/interface/web/sites/lib/lang/se_database_user.lng +++ b/interface/web/sites/lib/lang/se_database_user.lng @@ -21,4 +21,3 @@ $wb['globalsearch_noresults_limit_txt'] = '0 resultat'; $wb['globalsearch_searchfield_watermark_txt'] = 'Sök'; $wb['globalsearch_suggestions_text_txt'] = 'Förslag'; ?> - diff --git a/interface/web/sites/lib/lang/se_database_user_admin_list.lng b/interface/web/sites/lib/lang/se_database_user_admin_list.lng index 6eca0b7ac26c457e6206c31ee1f019a40b6b40b0..a9bb594e77575238d730163dda7c811ba2fb0f60 100644 --- a/interface/web/sites/lib/lang/se_database_user_admin_list.lng +++ b/interface/web/sites/lib/lang/se_database_user_admin_list.lng @@ -4,4 +4,3 @@ $wb['database_user_txt'] = 'Databasanvändare'; $wb['add_new_record_txt'] = 'Lägg till ny användare'; $wb['sys_groupid_txt'] = 'Kund'; ?> - diff --git a/interface/web/sites/lib/lang/se_database_user_list.lng b/interface/web/sites/lib/lang/se_database_user_list.lng index cb6244450434af30f97e9d5aa9ead8c24fff417d..c0eef9d5e19118ec99c44c713de3c92c58e319f3 100644 --- a/interface/web/sites/lib/lang/se_database_user_list.lng +++ b/interface/web/sites/lib/lang/se_database_user_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Databasanvändare'; $wb['database_user_txt'] = 'Databasanvändare'; $wb['add_new_record_txt'] = 'Lägg till ny användare'; ?> - diff --git a/interface/web/sites/lib/lang/se_ftp_user.lng b/interface/web/sites/lib/lang/se_ftp_user.lng index 50d9031c48606d126e800dd0ceb8a980bb72b6b7..3ba08a2019aff923ad08deca90d8a76a452fa50b 100644 --- a/interface/web/sites/lib/lang/se_ftp_user.lng +++ b/interface/web/sites/lib/lang/se_ftp_user.lng @@ -31,5 +31,6 @@ $wb['generate_password_txt'] = 'Generera lösenord'; $wb['repeat_password_txt'] = 'Upprepa lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> - diff --git a/interface/web/sites/lib/lang/se_ftp_user_list.lng b/interface/web/sites/lib/lang/se_ftp_user_list.lng index c833d1a9b3845d78222e61714c38c12e0a7ae92f..f0ac76012ebe52216ceb6f152cefb40cb57ecf63 100644 --- a/interface/web/sites/lib/lang/se_ftp_user_list.lng +++ b/interface/web/sites/lib/lang/se_ftp_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida'; $wb['username_txt'] = 'Användarnamn'; $wb['add_new_record_txt'] = 'Lägg till ny FTP-användare'; ?> - diff --git a/interface/web/sites/lib/lang/se_shell_user.lng b/interface/web/sites/lib/lang/se_shell_user.lng index b2d00838cba70b7454a9eab1a3ca9da4fce87c89..8095f4becc2b9359e20aa0015b45330feb1819d7 100644 --- a/interface/web/sites/lib/lang/se_shell_user.lng +++ b/interface/web/sites/lib/lang/se_shell_user.lng @@ -28,5 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> - diff --git a/interface/web/sites/lib/lang/se_shell_user_list.lng b/interface/web/sites/lib/lang/se_shell_user_list.lng index 338917343680b974fc9a2832b4546a7f5941f9cd..4a9d7cb9a7e0bf090e372fe5893c2f961a041451 100644 --- a/interface/web/sites/lib/lang/se_shell_user_list.lng +++ b/interface/web/sites/lib/lang/se_shell_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Site'; $wb['username_txt'] = 'Username'; $wb['add_new_record_txt'] = 'Add new Shell-User'; ?> - diff --git a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng index 2084a496cc3de60f50c06f2d1d94f9e14b2bb991..7fe4791f602a754d312b77ee7e35c47808bf9bd3 100644 --- a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng @@ -7,4 +7,3 @@ $wb['hard_txt'] = 'Hard limit'; $wb['soft_txt'] = 'Soft limit'; $wb['files_txt'] = 'Single files'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_aliasdomain.lng b/interface/web/sites/lib/lang/se_web_aliasdomain.lng index ecbc150c7b1b363caf4c9d17190c2b5e17334a12..4149c711493e6b6f06d0e99656a1c65744d4ec46 100644 --- a/interface/web/sites/lib/lang/se_web_aliasdomain.lng +++ b/interface/web/sites/lib/lang/se_web_aliasdomain.lng @@ -113,4 +113,3 @@ $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; $wb['Domain'] = 'Aliasdomain'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng index 4860654d03f766ca35db0bbfc37993035f6fe5ff..8ea34c440978e1ec0920627b26e72315d713eda1 100644 --- a/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/se_web_aliasdomain_list.lng @@ -12,4 +12,3 @@ $wb['no_redirect_txt'] = 'No redirect'; $wb['no_flag_txt'] = 'No flag'; $wb['none_txt'] = 'None'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_backup_list.lng b/interface/web/sites/lib/lang/se_web_backup_list.lng index 261304d01af095a16df0c13a858df0cafff3b520..e74395302ab481b7b26cd602b26bdce7ba949330 100644 --- a/interface/web/sites/lib/lang/se_web_backup_list.lng +++ b/interface/web/sites/lib/lang/se_web_backup_list.lng @@ -13,4 +13,3 @@ $wb['restore_pending_txt'] = 'There is already a pending backup restore job.'; $wb['backup_type_mysql'] = 'MySQL-databaser'; $wb['backup_type_web'] = 'Webbsidefiler'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng index e28157993000fae1c46dd5514635cc5a1e88316d..2b9a05647c15023f3c11394f4bfc5bbf3c2b7b48 100644 --- a/interface/web/sites/lib/lang/se_web_domain.lng +++ b/interface/web/sites/lib/lang/se_web_domain.lng @@ -128,4 +128,3 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.'; $wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_domain_admin_list.lng index 073724589d61b9d940f8e1916f19ca5f5b2415ae..b460e27100ae66c0b242dc9d544f9712d26464d1 100644 --- a/interface/web/sites/lib/lang/se_web_domain_admin_list.lng +++ b/interface/web/sites/lib/lang/se_web_domain_admin_list.lng @@ -7,4 +7,3 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Add new website'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_domain_list.lng b/interface/web/sites/lib/lang/se_web_domain_list.lng index eabd54442547ebdd336e4e773c6fdc9b5a1c72ca..88ec412daabfb125db4038dc964c2fdec237e843 100644 --- a/interface/web/sites/lib/lang/se_web_domain_list.lng +++ b/interface/web/sites/lib/lang/se_web_domain_list.lng @@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Add new website'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_folder.lng b/interface/web/sites/lib/lang/se_web_folder.lng index 96553c5d845173542461abe20b3b6ab18c7b0984..6dbc15854cc0691fd28fb77a601b01e9042d6c65 100644 --- a/interface/web/sites/lib/lang/se_web_folder.lng +++ b/interface/web/sites/lib/lang/se_web_folder.lng @@ -6,4 +6,3 @@ $wb['active_txt'] = 'Aktiv'; $wb['path_error_regex'] = 'Ogiltig katalogsökväg'; $wb['error_folder_already_protected_txt'] = 'Det finns redan ett inlägg för den här mappen.'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_folder_list.lng b/interface/web/sites/lib/lang/se_web_folder_list.lng index 194e7444e03931873cdd6577fa445e15baf929dc..f3ce8b100c1cb69bd169cc68ddee5ef07ac22c81 100644 --- a/interface/web/sites/lib/lang/se_web_folder_list.lng +++ b/interface/web/sites/lib/lang/se_web_folder_list.lng @@ -4,5 +4,5 @@ $wb['active_txt'] = 'Aktiv'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webbsida'; $wb['path_txt'] = 'Sökväg'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_folder_user.lng b/interface/web/sites/lib/lang/se_web_folder_user.lng index 0c52cfa476b41e39217a8d26d661be1e3689db91..6db2415703f301bad46e201915d887fefbabe66b 100644 --- a/interface/web/sites/lib/lang/se_web_folder_user.lng +++ b/interface/web/sites/lib/lang/se_web_folder_user.lng @@ -12,4 +12,3 @@ $wb['password_match_txt'] = 'Lösenorden matchar'; $wb['no_folder_perm'] = 'Du har inga rättigheter för denna katalog'; $wb['error_user_exists_already_txt'] = 'Det finns redan ett inlägg för denna användare'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_folder_user_list.lng b/interface/web/sites/lib/lang/se_web_folder_user_list.lng index 3af6f700f50c5d55a4df45443d333cb17e7a0c71..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/se_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/se_web_folder_user_list.lng @@ -3,5 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng index 66137dc1eab2703a4c16e6b5f3ca97b097464c7f..95a82568edb2b08d8e31bdb1de356aa10acf68b2 100644 --- a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng @@ -7,4 +7,3 @@ $wb['this_year_txt'] = 'I år'; $wb['last_year_txt'] = 'Förra året'; $wb['sum_txt'] = 'Total'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_subdomain.lng b/interface/web/sites/lib/lang/se_web_subdomain.lng index 8955209eee4a30966e5f73c5f3aede350d4c0585..856d3c20a01045f77fa0442a1534c7a752527f2e 100644 --- a/interface/web/sites/lib/lang/se_web_subdomain.lng +++ b/interface/web/sites/lib/lang/se_web_subdomain.lng @@ -42,6 +42,5 @@ $wb['no_flag_txt'] = 'Ingan flagga'; $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; -$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.'; +$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_subdomain_list.lng b/interface/web/sites/lib/lang/se_web_subdomain_list.lng index 58084a63ffb1b0515b474cf03b77b4f8e0a8be72..1c16bcda288f146167a5a49221951769017f580b 100644 --- a/interface/web/sites/lib/lang/se_web_subdomain_list.lng +++ b/interface/web/sites/lib/lang/se_web_subdomain_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Website'; $wb['domain_txt'] = 'Subdomain'; $wb['add_new_record_txt'] = 'Add new subdomain'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng index 409c83027db76620ea6ae21cece7396087e97d4e..c0ca93b570368be510f3452d1dc3fd5418375f94 100644 --- a/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/se_web_vhost_subdomain.lng @@ -125,4 +125,3 @@ $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. E $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.'; $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.'; ?> - diff --git a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng index 9604437b66a522d6b53af7a71f6b3d57bfa267fa..100b03bccae050b17691664a0248d082c3257dd1 100644 --- a/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng +++ b/interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida'; $wb['domain_txt'] = 'Underdomän'; $wb['add_new_record_txt'] = 'Lägg till ny underdomän'; ?> - diff --git a/interface/web/sites/lib/lang/se_webdav_user.lng b/interface/web/sites/lib/lang/se_webdav_user.lng index 4c3fe5e5d5523d3ea7f35bdc79b602976440de5f..07dc28114016a61dc446e9c6cbeedaaed123a3cf 100644 --- a/interface/web/sites/lib/lang/se_webdav_user.lng +++ b/interface/web/sites/lib/lang/se_webdav_user.lng @@ -19,4 +19,3 @@ $wb['repeat_password_txt'] = 'Repetera lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; ?> - diff --git a/interface/web/sites/lib/lang/se_webdav_user_list.lng b/interface/web/sites/lib/lang/se_webdav_user_list.lng index 96bd318a70aa1b6ddba349f412a45c30c89bb063..a6031a1fd3e08b896752f05c35705b9e56be445a 100644 --- a/interface/web/sites/lib/lang/se_webdav_user_list.lng +++ b/interface/web/sites/lib/lang/se_webdav_user_list.lng @@ -6,4 +6,3 @@ $wb['parent_domain_id_txt'] = 'Webbsida'; $wb['username_txt'] = 'Användarnamn'; $wb['add_new_record_txt'] = 'Lägg till ny WebDAV-användare'; ?> - diff --git a/interface/web/sites/lib/lang/sk_ftp_user.lng b/interface/web/sites/lib/lang/sk_ftp_user.lng index 1526d4030c4db726a96840eae01ec93a9d485722..c57cbfdd1d18122defc37ded60495590c5049f06 100644 --- a/interface/web/sites/lib/lang/sk_ftp_user.lng +++ b/interface/web/sites/lib/lang/sk_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/sk_shell_user.lng b/interface/web/sites/lib/lang/sk_shell_user.lng index 79f9eac87e3b5d46d8d76fc90c1d6417046fc973..8b94d0d01cc4b341b4ba902fca0b5566e3c8075d 100644 --- a/interface/web/sites/lib/lang/sk_shell_user.lng +++ b/interface/web/sites/lib/lang/sk_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/sk_web_folder_list.lng b/interface/web/sites/lib/lang/sk_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/sk_web_folder_list.lng +++ b/interface/web/sites/lib/lang/sk_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/lib/lang/tr_ftp_user.lng b/interface/web/sites/lib/lang/tr_ftp_user.lng index 4cc2f4d7c798f5a1f16ed98dca1b8ed142b8ad72..62401dee1c540770d2735122b3dbedbf4c0d6bf6 100644 --- a/interface/web/sites/lib/lang/tr_ftp_user.lng +++ b/interface/web/sites/lib/lang/tr_ftp_user.lng @@ -31,4 +31,6 @@ $wb['generate_password_txt'] = 'Generate Password'; $wb['repeat_password_txt'] = 'Repeat Password'; $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; ?> diff --git a/interface/web/sites/lib/lang/tr_shell_user.lng b/interface/web/sites/lib/lang/tr_shell_user.lng index ac45063f0a83ef39160081b45160ee6ee8f66105..0c932c1a4a609a6cf9f1dbcbefa00e1a54d1a4d4 100644 --- a/interface/web/sites/lib/lang/tr_shell_user.lng +++ b/interface/web/sites/lib/lang/tr_shell_user.lng @@ -28,4 +28,7 @@ $wb['password_mismatch_txt'] = 'The passwords do not match.'; $wb['password_match_txt'] = 'The passwords do match.'; $wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.'; $wb['username_not_allowed_txt'] = 'The username is not allowed.'; +$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; +$wb['directory_error_regex'] = 'Invalid directory'; +$wb['shell_error_regex'] = 'Invalid shell'; ?> diff --git a/interface/web/sites/lib/lang/tr_web_folder_list.lng b/interface/web/sites/lib/lang/tr_web_folder_list.lng index 76d97029ba3acd24e5345c8041c9498b6bf51e3c..89f8b65ac3a26b3a9e3c1c9a383ac28c9f81e1a6 100644 --- a/interface/web/sites/lib/lang/tr_web_folder_list.lng +++ b/interface/web/sites/lib/lang/tr_web_folder_list.lng @@ -4,4 +4,5 @@ $wb['active_txt'] = 'Active'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['path_txt'] = 'Path'; +$wb['add_new_record_txt'] = 'Add new Folder'; ?> diff --git a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng index 9a7286a95c6a1228d7424d9da7320f4e798384a7..67612f511153843e91cd5a65112d5e9f88635c4d 100644 --- a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng @@ -3,4 +3,5 @@ $wb['list_head_txt'] = 'Folder User'; $wb['active_txt'] = 'Active'; $wb['web_folder_id_txt'] = 'Folder'; $wb['username_txt'] = 'Username'; +$wb['add_new_record_txt'] = 'Add new Folder User'; ?> diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php index 3c72a5f843c0a25c2871da16d592630a1facb433..f301139d40745518c27529bdfd8e0bb4a3200244 100644 --- a/interface/web/sites/shell_user_edit.php +++ b/interface/web/sites/shell_user_edit.php @@ -135,6 +135,8 @@ class page_action extends tform_actions { } } unset($blacklist); + + if($app->functions->is_allowed_user(trim(strtolower($this->dataRecord['username']))) == false) $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt'); /* * If the names should be restricted -> do it! @@ -163,6 +165,11 @@ class page_action extends tform_actions { $dir = $app->db->quote($web["document_root"]); $uid = $app->db->quote($web["system_user"]); $gid = $app->db->quote($web["system_group"]); + + // Check system user and group + if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) { + $app->error($app->tform->lng('invalid_system_user_or_group_txt')); + } // The FTP user shall be owned by the same group then the website $sys_groupid = $app->functions->intval($web['sys_groupid']); diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php index 4131109821c5e70473be13136bdcf19e0f033619..008e7078a7f2fcce4319ea5164e8794569c3a4b3 100644 --- a/interface/web/sites/web_aliasdomain_edit.php +++ b/interface/web/sites/web_aliasdomain_edit.php @@ -123,9 +123,17 @@ class page_action extends tform_actions { function onSubmit() { global $app, $conf; + + // Get the record of the parent domain + if(!@$this->dataRecord["parent_domain_id"] && $this->id) { + $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); + if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id']; + unset($tmp); + } // Get the record of the parent domain $parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r')); + if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm"); /* check if the domain module is used - and check if the selected domain can be used! */ $app->uses('ini_parser,getconf'); @@ -153,7 +161,7 @@ class page_action extends tform_actions { //* make sure that the domain is lowercase if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); - + parent::onSubmit(); } diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 990e8cd3d7031803c4b7524f0cd72d230ba3b1f3..1208e48a1e67970a6bbc233331e5a87462a4de1b 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -607,9 +607,11 @@ class page_action extends tform_actions { // When the record is updated if($this->id > 0) { // restore the server ID if the user is not admin and record is edited - $tmp = $app->db->queryOneRecord("SELECT server_id, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); + $tmp = $app->db->queryOneRecord("SELECT server_id, `system_user`, `system_group`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); $this->dataRecord["server_id"] = $tmp["server_id"]; + $this->dataRecord['system_user'] = $tmp['system_user']; + $this->dataRecord['system_group'] = $tmp['system_group']; // set the settings to current if not provided (or cleared due to limits) if($this->dataRecord['cgi'] == 'n') $this->dataRecord['cgi'] = $tmp['cgi']; if($this->dataRecord['ssi'] == 'n') $this->dataRecord['ssi'] = $tmp['ssi']; @@ -749,7 +751,7 @@ class page_action extends tform_actions { // value inside '' if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*\'.*\'\s*;*\s*$@', $custom_php_ini_settings_line)) continue; // everything else - if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue; + if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s|()]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue; $custom_php_ini_settings_are_valid = false; break; } diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php index 0d485c4394af8819aabea0959e55d00ef0f1a1ff..4d079ff7e2a724b1a8795f1e6b91f1663dcbcb2d 100644 --- a/interface/web/sites/web_subdomain_edit.php +++ b/interface/web/sites/web_subdomain_edit.php @@ -130,6 +130,13 @@ class page_action extends tform_actions { function onSubmit() { global $app, $conf; + + // Get the record of the parent domain + if(!@$this->dataRecord["parent_domain_id"] && $this->id) { + $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); + if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id']; + unset($tmp); + } // Get the record of the parent domain $parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r')); @@ -162,7 +169,7 @@ class page_action extends tform_actions { //* make sure that the domain is lowercase if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); - + parent::onSubmit(); } diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index 37359a25d501f2fc18fc21a494bb51ae7c83250a..ef1fc4ca026c1f6fad86775a4f75906f8f04ba92 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -341,6 +341,8 @@ class page_action extends tform_actions { $this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"]; $this->dataRecord["client_group_id"] = $parent_domain["client_group_id"]; $this->dataRecord["vhost_type"] = 'name'; + $this->dataRecord["system_user"] = $parent_domain["system_user"]; + $this->dataRecord["system_group"] = $parent_domain["system_group"]; $this->parent_domain_record = $parent_domain; diff --git a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng index 16dcfff68a6d42e5995365ca6030716917f31966..7fb81bfa9a0f9bd417849ca9b407b85bd9f55b97 100644 --- a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng +++ b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng @@ -6,4 +6,3 @@ $wb['password_strength_3_txt'] = 'Bra'; $wb['password_strength_4_txt'] = 'Starkt'; $wb['password_strength_5_txt'] = 'Mycket starkt'; ?> - diff --git a/interface/web/themes/blue/ispconfig_version b/interface/web/themes/blue/ispconfig_version index ec330200a97b35dc7c8ad29e7b1ef3615e88e1ca..0b23ab9c7a143c1c21c79210467cf14c7581dad6 100644 --- a/interface/web/themes/blue/ispconfig_version +++ b/interface/web/themes/blue/ispconfig_version @@ -1 +1 @@ -3.0.5.4p1 +3.0.5.4p2 diff --git a/interface/web/themes/blue/templates/main.tpl.htm b/interface/web/themes/blue/templates/main.tpl.htm index 70c4f26cd400691f3e7873b5cc6445d2d581f386..0007256e0aab3009355932d55c646eefed8475db 100644 --- a/interface/web/themes/blue/templates/main.tpl.htm +++ b/interface/web/themes/blue/templates/main.tpl.htm @@ -161,6 +161,7 @@
+
 
diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm index 862693badae953f09f8b9d4b1787b5ca6ffa04cb..7f227e18afd1352121de5d8f43004da428a053ce 100644 --- a/interface/web/themes/default-304/templates/main.tpl.htm +++ b/interface/web/themes/default-304/templates/main.tpl.htm @@ -168,6 +168,7 @@
+
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm index 9146291bbf39ba7468b8e90427a5d09270178456..3339d9f3bd8f59fa4ac650f8d01e0c7cbf677137 100644 --- a/interface/web/themes/default/templates/main.tpl.htm +++ b/interface/web/themes/default/templates/main.tpl.htm @@ -164,6 +164,7 @@
+
 
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm index c0180e1e95cb565a2f93ef839d820899fc9fd738..6d0395ba1fff1849b6d1e2bda095d107d6dd11b7 100644 --- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm +++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm @@ -168,6 +168,7 @@
+
diff --git a/interface/web/themes/default_combobox/templates/main.tpl.htm b/interface/web/themes/default_combobox/templates/main.tpl.htm index 142794e07ae03b31afce26c3001b936e3471ab94..1df185fdad92300523917b5edb867d00cfdd3511 100644 --- a/interface/web/themes/default_combobox/templates/main.tpl.htm +++ b/interface/web/themes/default_combobox/templates/main.tpl.htm @@ -323,6 +323,7 @@
+
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm index 5f45a0af9ebf5985af7acd9eada91e0345fc64b8..adfc656e0bd01b2aab4fe154878772626f651b92 100644 --- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm +++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm @@ -169,6 +169,7 @@
+
diff --git a/interface/web/tools/lib/lang/se.lng b/interface/web/tools/lib/lang/se.lng index 5c93f2b016fc5ed5695d80ceaeab33e49ba01fd4..e6da7423b7d06e4ae652fa971fc99b70f4dd7dcc 100644 --- a/interface/web/tools/lib/lang/se.lng +++ b/interface/web/tools/lib/lang/se.lng @@ -11,4 +11,3 @@ $wb['ISPConfig 3 mail'] = 'ISPConfig 3 epost'; $wb['PDNS Tupa'] = 'PowerDNS Tupa'; $wb['Interface'] = 'Interface'; ?> - diff --git a/interface/web/tools/lib/lang/se_import_ispconfig.lng b/interface/web/tools/lib/lang/se_import_ispconfig.lng index 0aad8ad9a94b2ceee0f635747e89ac28bf638a09..17ddae91beb5837b7244c244387beb4219676785 100644 --- a/interface/web/tools/lib/lang/se_import_ispconfig.lng +++ b/interface/web/tools/lib/lang/se_import_ispconfig.lng @@ -21,4 +21,3 @@ $wb['import_forward_txt'] = 'Importera vidarebefordring'; $wb['import_user_filter_txt'] = 'Importera användarfilter'; $wb['import_spamfilter_txt'] = 'Importera spamfilter'; ?> - diff --git a/interface/web/tools/lib/lang/se_index.lng b/interface/web/tools/lib/lang/se_index.lng index cf5012ff12815d38b3e81a4f05a6d4d56c78818e..e395435258991516d6cbaac59eb908623bb1de21 100644 --- a/interface/web/tools/lib/lang/se_index.lng +++ b/interface/web/tools/lib/lang/se_index.lng @@ -2,4 +2,3 @@ $wb['page_head_txt'] = 'ISPConfig verktyg'; $wb['page_desc_txt'] = 'Ändra användarinställningar'; ?> - diff --git a/interface/web/tools/lib/lang/se_interface.lng b/interface/web/tools/lib/lang/se_interface.lng index 833679603b5892200c41332909c198143bbe5c41..9a66f59e00d79e4940c7c3e50ebda5e7adcfc7a6 100644 --- a/interface/web/tools/lib/lang/se_interface.lng +++ b/interface/web/tools/lib/lang/se_interface.lng @@ -5,4 +5,3 @@ $wb['language_txt'] = 'Språk'; $wb['startmodule_txt'] = 'Startmodul'; $wb['app_theme_txt'] = 'Design'; ?> - diff --git a/interface/web/tools/lib/lang/se_tpl_default.lng b/interface/web/tools/lib/lang/se_tpl_default.lng index 4c0fd7139bbfb4e318ab7b3f589a70db03a5c70b..013666e63e62f10d4996f566ef664ca3cebf0fd3 100644 --- a/interface/web/tools/lib/lang/se_tpl_default.lng +++ b/interface/web/tools/lib/lang/se_tpl_default.lng @@ -5,4 +5,3 @@ $wb['no_settings_txt'] = 'Det finns inga instälningar för det förvalda temat' $wb['btn_start_txt'] = 'Spara'; $wb['btn_cancel_txt'] = 'Tillbaka'; ?> - diff --git a/interface/web/tools/lib/lang/se_usersettings.lng b/interface/web/tools/lib/lang/se_usersettings.lng index 85176ac23674779156b469c8778c165edf7950ca..f7e05e913cf5ddd0554dcf00f332ea7eec845e11 100644 --- a/interface/web/tools/lib/lang/se_usersettings.lng +++ b/interface/web/tools/lib/lang/se_usersettings.lng @@ -10,4 +10,3 @@ $wb['repeat_password_txt'] = 'Upprepa lösenord'; $wb['password_mismatch_txt'] = 'Lösenorden matchar inte'; $wb['password_match_txt'] = 'Lösenorden matchar'; ?> - diff --git a/interface/web/vm/lib/lang/se.lng b/interface/web/vm/lib/lang/se.lng index 5c1ab5822999a2616d1b6792b084893848cff580..4167e14a8a150090ecfb1aa6738fb8a6abf17760 100644 --- a/interface/web/vm/lib/lang/se.lng +++ b/interface/web/vm/lib/lang/se.lng @@ -5,4 +5,3 @@ $wb['VM Templates'] = 'VM Templates'; $wb['IP addresses'] = 'IP addresses'; $wb['OpenVZ'] = 'OpenVZ'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_action.lng b/interface/web/vm/lib/lang/se_openvz_action.lng index 71e7263f9d5b28773b7735ae115df12209046d9e..52f73285824f2d6c4107d8c9eec5980a251d505c 100644 --- a/interface/web/vm/lib/lang/se_openvz_action.lng +++ b/interface/web/vm/lib/lang/se_openvz_action.lng @@ -14,4 +14,3 @@ $wb['ostemplate_name_error'] = 'The OSTemplate name conatains unallowed characte $wb['ostemplate_name_unique_error'] = 'There is already a OSTemplate with that name.'; $wb['ostemplate_exec_txt'] = 'The command to create a OSTemplate has been sent to the host server. It will take several minutes until the OSTemplate has been created.'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_ip.lng b/interface/web/vm/lib/lang/se_openvz_ip.lng index 67f688576ac762561936a46e18120b84d7033f28..6016681df89f13323f60379acff5e7abd98f4c77 100644 --- a/interface/web/vm/lib/lang/se_openvz_ip.lng +++ b/interface/web/vm/lib/lang/se_openvz_ip.lng @@ -7,4 +7,3 @@ $wb['ip_error_wrong'] = 'Please fill in a valid IPv4 address.'; $wb['ip_error_unique'] = 'This IP address does already exist.'; $wb['IP address'] = 'IP address'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_ip_list.lng b/interface/web/vm/lib/lang/se_openvz_ip_list.lng index 37c1d62e7c2700ef456abcb2398607b9dbda6adc..e6a3a68c2c3b9cad34982f035b86d4446ea68439 100644 --- a/interface/web/vm/lib/lang/se_openvz_ip_list.lng +++ b/interface/web/vm/lib/lang/se_openvz_ip_list.lng @@ -5,4 +5,3 @@ $wb['ip_address_txt'] = 'IP address'; $wb['reserved_txt'] = 'Reserved'; $wb['vm_id_txt'] = 'VM'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng index bfeb2990887a01281a27b62b467b929f6e3a775d..256750f19a0cf4d459214a327d3f86773f9312d7 100644 --- a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng +++ b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng @@ -9,4 +9,3 @@ $wb['template_name_error_empty'] = 'Template name is empty.'; $wb['template_file_error_empty'] = 'Template filename is empty.'; $wb['Template'] = 'Template'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng index df01680e16c89ba24ec3aef446728a2e1a8103a1..6471ec0e277b63b6e110ef8deef7ca35511a2a52 100644 --- a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng +++ b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng @@ -6,4 +6,3 @@ $wb['server_id_txt'] = 'Server'; $wb['allservers_txt'] = 'Exists on all servers'; $wb['ostemplate_id_txt'] = 'ID'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_template.lng b/interface/web/vm/lib/lang/se_openvz_template.lng index 0887164d393bf9bfbc9f785e63aa0d3cc5200e66..d285512dcab15fffb604da4ce421f5e5e056d485 100644 --- a/interface/web/vm/lib/lang/se_openvz_template.lng +++ b/interface/web/vm/lib/lang/se_openvz_template.lng @@ -91,4 +91,3 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_template_list.lng b/interface/web/vm/lib/lang/se_openvz_template_list.lng index 6e4d911c6bbad29d51bd305a60c8b09cec2ca2f5..de4045c36a75506c0452b17c1e9d61080b534ce2 100644 --- a/interface/web/vm/lib/lang/se_openvz_template_list.lng +++ b/interface/web/vm/lib/lang/se_openvz_template_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template'; $wb['active_txt'] = 'Active'; $wb['template_name_txt'] = 'Template name'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_vm.lng b/interface/web/vm/lib/lang/se_openvz_vm.lng index 4698fe681b4101b170b772e6a41517b13b80f587..f2be022dd0ae060ae8688cdcaa356b4200185d7c 100644 --- a/interface/web/vm/lib/lang/se_openvz_vm.lng +++ b/interface/web/vm/lib/lang/se_openvz_vm.lng @@ -38,4 +38,3 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; ?> - diff --git a/interface/web/vm/lib/lang/se_openvz_vm_list.lng b/interface/web/vm/lib/lang/se_openvz_vm_list.lng index a534a65f203afb84fd5882c143d5c336e04c7ba6..2238e2b8f4fa4db72f1b785d6e0849e356922faf 100644 --- a/interface/web/vm/lib/lang/se_openvz_vm_list.lng +++ b/interface/web/vm/lib/lang/se_openvz_vm_list.lng @@ -8,4 +8,3 @@ $wb['hostname_txt'] = 'Hostname'; $wb['ip_address_txt'] = 'IP address'; $wb['veid_txt'] = 'VEID'; ?> - diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master index be6f637b7bfcb6131714558bcc84c6f2ae22717d..6b2accbc8e229c8bfc9e978717ce711b5257aa7c 100644 --- a/server/conf/apache_ispconfig.conf.master +++ b/server/conf/apache_ispconfig.conf.master @@ -3,7 +3,7 @@ # ISPConfig Logfile configuration for vlogger ################################################ -LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig +LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig diff --git a/server/conf/apps_php_fpm_pool.conf.master b/server/conf/apps_php_fpm_pool.conf.master index ce6a92fcfba48ab25848ab56ce763634fd01544e..7997e9bb697bb63ae762787cc130f4bff4d2dbd7 100644 --- a/server/conf/apps_php_fpm_pool.conf.master +++ b/server/conf/apps_php_fpm_pool.conf.master @@ -9,7 +9,7 @@ user = {fpm_user} group = {fpm_group} pm = dynamic -pm.max_children = 50 +pm.max_children = 500 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 5 diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master index 5a110cc119beb89a92952bf1a6a024cac462bd04..96b34433843d4586553da08d142109050962451c 100644 --- a/server/conf/vhost.conf.master +++ b/server/conf/vhost.conf.master @@ -57,6 +57,10 @@ + # Clear PHP settings of this website + + SetHandler None + Options +FollowSymLinks AllowOverride @@ -85,6 +89,10 @@ + # Clear PHP settings of this website + + SetHandler None + Options +FollowSymLinks AllowOverride @@ -186,10 +194,6 @@ SuexecUserGroup - # Clear PHP settings of this website - - SetHandler None - # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 @@ -221,9 +225,16 @@ # php as cgi enabled ScriptAlias /php5-cgi Action php5-cgi /php5-cgi - - SetHandler php5-cgi - + + + SetHandler php5-cgi + + + + + SetHandler php5-cgi + + Require all granted @@ -304,9 +315,16 @@ Allow from all - - SetHandler php5-fcgi - + + + SetHandler php5-fcgi + + + + + SetHandler php5-fcgi + + Action php5-fcgi /php5-fcgi Alias /php5-fcgi {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} @@ -336,7 +354,7 @@ RewriteCond %{REQUEST_URI} !^ - RewriteRule ^/(.*)$ $1 [PT] + RewriteRule ^/(.*)$ $1 diff --git a/server/cron_daily.php b/server/cron_daily.php index b9b34324b06c78f4861c77127b66cf60e78fd213..ee54a4620716d682fd3d78b7a0ecefe9f99dc2f9 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -647,7 +647,7 @@ if ($app->dbmaster == $app->db) { // function for sending notification emails //######## function send_notification_email($template, $placeholders, $recipients) { - global $conf; + global $conf, $app; if(!is_array($recipients) || count($recipients) < 1) return false; if(!is_array($placeholders)) $placeholders = array(); @@ -1104,10 +1104,14 @@ if($backup_dir != '') { //* mount backup directory, if necessary $run_backups = true; - $server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']); - if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){ + $backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh'; + if( $server_config['backup_dir_is_mount'] == 'y' && + is_file($backup_dir_mount_cmd) && + is_executable($backup_dir_mount_cmd) && + fileowner($backup_dir_mount_cmd) === 0 + ){ if(!$app->system->is_mounted($backup_dir)){ - exec(escapeshellcmd($server_config['backup_dir_mount_cmd'])); + exec($backup_dir_mount_cmd); sleep(1); if(!$app->system->is_mounted($backup_dir)) $run_backups = false; } diff --git a/server/lib/classes/ispcmail.inc.php b/server/lib/classes/ispcmail.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..930aabbca94591bbeb7214f0b9a0bbf095d030ec --- /dev/null +++ b/server/lib/classes/ispcmail.inc.php @@ -0,0 +1,869 @@ +mime_boundary = '==Multipart_Boundary_x' . $rand . 'x'; + + $this->headers = array(); + $this->attachments = array(); + + $this->headers['MIME-Version'] = '1.0'; + $this->headers['User-Agent'] = $this->user_agent; + if(is_array($options) && count($options) > 0) $this->setOptions($options); + } + + public function __destruct() { + $this->finish(); + } + + + + /** + * Set option + * + * @param string $key the option to set + * @param string $value the option value to set + */ + public function setOption($key, $value) { + switch($key) { + case 'smtp_helo': + $this->smtp_helo = $value; + break; + case 'smtp_host': + $this->smtp_host = $value; + break; + case 'smtp_server': + $this->smtp_host = $value; + break; + case 'smtp_port': + $this->smtp_port = $value; + break; + case 'smtp_user': + $this->smtp_user = $value; + break; + case 'smtp_pass': + $this->smtp_pass = $value; + break; + case 'smtp_max_mails': + $this->smtp_max_mails = intval($value); + if($this->smtp_max_mails < 1) $this->smtp_max_mails = 1; + break; + case 'use_smtp': + $this->use_smtp = ($value == true ? true : false); + if($value == true) $this->_crlf = "\r\n"; + break; + case 'smtp_crypt': + if($value != 'ssl' && $value != 'tls') $value = ''; + $this->smtp_crypt = $value; + break; + case 'sign_email': + $this->sign_email = ($value == true ? true : false); + break; + case 'sign_key': + $this->sign_key = $value; + break; + case 'sign_key_pass': + $this->sign_key_pass = $value; + break; + case 'sign_cert': + $this->sign_cert = $value; + break; + case 'sign_bundle': + $this->sign_bundle = $value; + break; + case 'mail_charset': + $this->mail_charset = $value; + break; + case 'notify': + $this->notification = ($value == true ? true : false); + break; + } + } + + + + /** Detect the helo string if none given + * + */ + private function detectHelo() { + if(isset($_SERVER['HTTP_HOST'])) $this->smtp_helo = (strpos($_SERVER['HTTP_HOST'], ':') !== false ? substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':')) : $_SERVER['HTTP_HOST']); + elseif(isset($_SERVER['SERVER_NAME'])) $this->smtp_helo = $_SERVER['SERVER_NAME']; + else $this->smtp_helo = php_uname('n'); + if($this->smtp_helo == '') $this->smtp_helo = 'localhost'; + return $this->smtp_helo; + } + + + + /** + * Set options + * + * @param array $options the options to set as an associative array key => value + */ + public function setOptions($options) { + foreach($options as $key => $value) $this->setOption($key, $value); + } + + + + /** + * Read a file's contents + * + * Simply gets the file's content + * + * @access public + * @param string $filename name and path of file to read + * @return string file content (can be binary) + */ + public function read_File($filename) { + $content = ''; + + $fp = fopen($filename, 'r'); + if(!$fp) return false; + + while(!feof($fp)) { + $content .= fread($fp, 1024); + } + fclose($fp); + + return $content; + } + + + + /** + * set smtp connection encryption + * + * @access public + * @param string $mode encryption mode (tls, ssl or empty string) + */ + public function setSMTPEncryption($mode = '') { + if($mode != 'ssl' && $mode != 'tls') $mode = ''; + $this->smtp_crypt = $mode; + } + + /** + * set a mail header + * + * Sets a single mail header to a given value + * + * @access public + * @param string $header header name to set + * @param string $value value to set in header field + */ + public function setHeader($header, $value) { + if(strtolower($header) == 'bcc') $header = 'Bcc'; + elseif(strtolower($header) == 'cc') $header = 'Cc'; + elseif(strtolower($header) == 'from') $header = 'From'; + $this->headers["$header"] = $value; + } + + + + /** + * get a mail header value + * + * Returns a value of a single mail header + * + * @access public + * @param string $header header name to get + * @return string header value + */ + public function getHeader($header) { + if(strtolower($header) == 'bcc') $header = 'Bcc'; + elseif(strtolower($header) == 'cc') $header = 'Cc'; + elseif(strtolower($header) == 'from') $header = 'From'; + return isset($this->headers["$header"]) ? $this->headers["$header"] : ''; + } + + + + /** + * Set email sender + * + * Sets the email sender and optionally the sender's name + * + * @access public + * @param string $email sender email address + * @param string $name sender name + */ + public function setSender($email, $name = '') { + if($name) $header = '"' . $name . '" <' . $email . '>'; + else $header = '<' . $email . '>'; + + $this->_mail_sender = $email; + + $this->setHeader('From', $header); + } + + + + /** + * Set mail subject + * + * @access public + * @param string $subject the mail subject + * @return string where-string for db query + */ + public function setSubject($subject) { + $this->setHeader('Subject', $subject); + } + + + + /** + * Get current mail subject + * + * @access public + * @return string mail subject + */ + public function getSubject() { + return $this->headers['Subject']; + } + + + + /** + * Set mail content + * + * Sets the mail html and plain text content + * + * @access public + * @param string $text plain text mail content (can be empty) + * @param string $html html mail content + */ + public function setMailText($text, $html = '') { + $this->text_part = $text; + $this->html_part = $html; + } + + + + /** + * Read and attach a file + * + * Reads a file and attaches it to the current email + * + * @access public + * @param string $filename the file to read and attach + * @param string $display_name the name that will be displayed in the mail + * @see read_File + */ + public function readAttachFile($filename, $display_name = '') { + if($display_name == '') { + $path_parts = pathinfo($filename); + $display_name = $path_parts["basename"]; + unset($path_parts); + } + $this->attachFile($this->read_File($filename), $display_name); + } + + + + /** + * Attach a file + * + * Attaches a string (can be binary) as a file to the mail + * + * @access public + * @param string $content attachment data string + * @param string $filename name for file attachment + */ + public function attachFile($content, $filename) { + $attachment = array('content' => $content, + 'filename' => $filename, + 'type' => 'application/octet-stream', + 'encoding' => 'base64' + ); + $this->attachments[] = $attachment; + } + + + + /** + * @access private + */ + private function create() { + $attach = false; + $html = false; + $text = false; + + if($this->html_part) $html = true; + if($this->text_part) $text = true; + if(count($this->attachments) > 0) $attach = true; + + $textonly = false; + $htmlonly = false; + if($text == true && $html == false && $attach == false) { + // only text + $content_type = 'text/plain; charset="' . strtolower($this->mail_charset) . '"'; + $textonly = true; + } elseif($text == true && $html == false && $attach == true) { + // text and attachment + $content_type = 'multipart/mixed;'; + $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"'; + } elseif($html == true && $text == true && $attach == false) { + // html only (or text too) + $content_type = 'multipart/alternative;'; + $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"'; + } elseif($html == true && $text == false && $attach == false) { + // html only (or text too) + $content_type = 'text/html; charset="' . strtolower($this->mail_charset) . '"'; + $htmlonly = true; + } elseif($html == true && $attach == true) { + // html and attachments + $content_type = 'multipart/mixed;'; + $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"'; + } + + $this->headers['Content-Type'] = $content_type; + + if($textonly == false && $htmlonly == false) { + $this->body = "This is a multi-part message in MIME format.\n\n"; + + if($text) { + /*$this->body .= "--{$this->mime_boundary}\n" . + "Content-Type:text/plain; charset=\"" . strtolower($this->mail_charset) . "\"\n" . + "Content-Transfer-Encoding: 7bit\n\n" . $this->text_part . "\n\n";*/ + $this->body .= "--{$this->mime_boundary}\n" . + "Content-Type:text/plain; charset=\"UTF-8\"\n" . + "Content-Transfer-Encoding: 8bit\n\n" . $this->text_part . "\n\n"; + } + + if($html) { + /*$this->body .= "--{$this->mime_boundary}\n" . + "Content-Type:text/html; charset=\"" . strtolower($this->mail_charset) . "\"\n" . + "Content-Transfer-Encoding: 7bit\n\n" . $this->html_part . "\n\n";*/ + $this->body .= "--{$this->mime_boundary}\n" . + "Content-Type:text/html; charset=\"UTF-8\"\n" . + "Content-Transfer-Encoding: 8bit\n\n" . $this->html_part . "\n\n"; + } + + if($attach) { + foreach($this->attachments as $att) { + $this->body .= "--{$this->mime_boundary}\n" . + "Content-Type: " . $att['type'] . ";\n" . + " name=\"" . $att['filename'] . "\"\n" . + "Content-Transfer-Encoding: base64\n" . + "Content-Disposition: attachment;\n\n" . + chunk_split(base64_encode($att['content'])) . "\n\n"; + } + } + $this->body .= "--{$this->mime_boundary}--\n"; + } elseif($htmlonly == true) { + $this->body = $this->html_part; + } else { + $this->body = $this->text_part; + } + + if (isset($this->body)) { + // Add message ID header + $message_id = sprintf('<%s.%s@%s>', base_convert(time(), 10, 36), base_convert(rand(), 10, 36), $this->smtp_helo != '' ? $this->smtp_helo : $this->detectHelo()); + $this->headers['Message-ID'] = $message_id; + return true; + } else { + return false; + } + } + + + + /** + * Function to sign an email body + */ + private function sign() { + if($this->sign_email == false || $this->sign_key == '' || $this->sign_cert == '') return false; + if(function_exists('openssl_pkcs7_sign') == false) return false; + + $tmpin = tempnam(sys_get_temp_dir(), 'sign'); + $tmpout = tempnam(sys_get_temp_dir(), 'sign'); + if(!file_exists($tmpin) || !is_writable($tmpin)) return false; + + file_put_contents($tmpin, 'Content-Type: ' . $this->getHeader('Content-Type') . "\n\n" . $this->body); + $tmpf_key = tempnam(sys_get_temp_dir(), 'sign'); + file_put_contents($tmpf_key, $this->sign_key); + $tmpf_cert = tempnam(sys_get_temp_dir(), 'sign'); + file_put_contents($tmpf_cert, $this->sign_cert); + if($this->sign_bundle != '') { + $tmpf_bundle = tempnam(sys_get_temp_dir(), 'sign'); + file_put_contents($tmpf_bundle, $this->sign_bundle); + openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array(), PKCS7_DETACHED, realpath($tmpf_bundle)); + } else { + openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array()); + } + unlink($tmpin); + unlink($tmpf_cert); + unlink($tmpf_key); + if(file_exists($tmpf_bundle)) unlink($tmpf_bundle); + + if(!file_exists($tmpout) || !is_readable($tmpout)) return false; + $this->body = file_get_contents($tmpout); + unlink($tmpout); + + unset($this->headers['Content-Type']); + unset($this->headers['MIME-Version']); + + $this->_is_signed = true; + } + + private function _char_to_hex($matches) { + return '=' . strtoupper(dechex(ord($matches[1]))); + } + + + + /** + * Function to encode a header if necessary + * according to RFC2047 + * @access private + */ + private function _encodeHeader($input, $charset = 'ISO-8859-1') { + preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches); + foreach ($matches[1] as $value) { + $replacement = preg_replace_callback('/([\x20\x80-\xFF])/', array($this, '_char_to_hex'), $value); + $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input); + } + + return $input; + } + + + + /** + * Function to encode the subject if necessary + * according to RFC2047 + * @access private + */ + private function _encodeSubject($input, $charset = 'ISO-8859-1') { + /* + if($charset == 'UTF-8' && function_exists('imap_8bit')) { + $input = "=?utf-8?Q?" . imap_8bit($input) . "?="; + } else { + preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches); + foreach ($matches[1] as $value) { + $replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value); + $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input); + } + }*/ + $input='=?UTF-8?B?'.base64_encode($input).'?='; + + return $input; + } + + + + /** + * @access private + */ + private function _smtp_login() { + $this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'ssl://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30); + $response = fgets($this->_smtp_conn, 515); + if(empty($this->_smtp_conn)) return false; + + //Say Hello to SMTP + if($this->smtp_helo == '') $this->detectHelo(); + fputs($this->_smtp_conn, 'HELO ' . $this->smtp_helo . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + // ENCRYPTED? + if($this->smtp_crypt == 'tls') { + fputs($this->_smtp_conn, 'STARTTLS' . $this->_crlf); + fgets($this->_smtp_conn, 515); + stream_socket_enable_crypto($this->_smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT); + } + + //AUTH LOGIN + fputs($this->_smtp_conn, 'AUTH LOGIN' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + //Send username + fputs($this->_smtp_conn, base64_encode($this->smtp_user) . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + //Send password + fputs($this->_smtp_conn, base64_encode($this->smtp_pass) . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + $this->_logged_in = true; + return true; + } + + + + /** + * @access private + */ + private function _smtp_close() { + $this->_logged_in = false; + + if(empty($this->_smtp_conn)) { + return false; + } + + fputs($this->_smtp_conn, 'QUIT' . $this->_crlf); + $response = @fgets($this->_smtp_conn, 515); + return true; + } + + private function _extract_names($data) { + $senders = array(); + + $data = stripslashes(preg_replace("'(\t|\r|\n)'", '', $data)); + + if(trim($data) == '') return $senders; + + $armail = array(); + $counter = 0; $inthechar = 0; + $chartosplit = ',;'; $protectchar = '"'; $temp = ''; + $closed = 1; + + for($i = 0; $i < strlen($data); $i++) { + $thischar = $data[$i]; + if($thischar == '<' && $closed) $closed = 0; + if($thischar == '>' && !$closed) $closed = 1; + if($thischar == $protectchar) $inthechar = ($inthechar) ? 0 : 1; + if((strpos($chartosplit, $thischar) !== false) && !$inthechar && $closed) { + $armail[] = $temp; + $temp = ''; + } else { + $temp .= $thischar; + } + } + + if(trim($temp) != '') { + $armail[] = trim($temp); + unset($temp); + } + + foreach($armail as $thisPart) { + $thisPart = trim(preg_replace('/^"(.*)"$/i', '$1', trim($thisPart))); + if($thisPart != '') { + $email = ''; + $name = ''; + if(preg_match('/(.*)<(.*)>/i', $thisPart, $matches)) { + $email = trim($matches[2]); + $name = trim($matches[1]); + } else { + if(preg_match('/([-a-z0-9_$+.]+@[-a-z0-9_.]+[-a-z0-9_]+)((.*))/i', $thisPart, $matches)) { + $email = $matches[1]; + $name = $matches[2]; + } else { + $email = $thisPart; + } + } + + $email = preg_replace('/<(.*)\\>/', '$1', $email); + $name = preg_replace('/"(.*)"/', '$1', trim($name)); + $name = preg_replace('/\((.*)\)/', '$1', $name); + + if($name == '') $name = $email; + if($email == '') $email = $name; + $senders[] = array( + 'name' => $name, + 'mail' => $email + ); + unset($name); + unset($email); + } + } + unset($armail); + unset($thisPart); + + return $senders; + } + + /** + * Send the mail to one or more recipients + * + * The recipients can be either a string (1 recipient email without name) or an associative array of recipients with names as keys and email addresses as values. + * + * @access public + * @param mixed $recipients one email address or array of recipients with names as keys and email addresses as values + */ + public function send($recipients) { + if(!is_array($recipients)) $recipients = array($recipients); + + if($this->use_smtp == true) $this->_crlf = "\r\n"; + else $this->_crlf = "\n"; + + $this->create(); + if($this->sign_email == true) $this->sign(); + + $subject = ''; + if (!empty($this->headers['Subject'])) { + //$subject = $this->_encodeHeader($this->headers['Subject'], $this->mail_charset); + $subject = $this->headers['Subject']; + + //$enc_subject = $this->_encodeHeader($subject, $this->mail_charset); + $enc_subject = $this->_encodeSubject($subject, $this->mail_charset); + unset($this->headers['Subject']); + } + + if($this->notification == true) $this->setHeader('Disposition-Notification-To', $this->getHeader('From')); + + unset($this->headers['To']); // always reset the To header to prevent from sending to multiple users at once + $this->headers['Date'] = date('r'); //date('D, d M Y H:i:s O'); + + // Get flat representation of headers + foreach ($this->headers as $name => $value) { + if(strtolower($name) == 'to' || strtolower($name) == 'cc' || strtolower($name) == 'bcc') continue; // never add the To header + $headers[] = $name . ': ' . $this->_encodeHeader($value, $this->mail_charset); + } + + if($this->use_smtp == true) { + if(!$this->_logged_in || !$this->_smtp_conn) { + $result = $this->_smtp_login(); + if(!$result) return false; + } + $bcc_cc_sent = false; + foreach($recipients as $recipname => $recip) { + if($this->_sent_mails >= $this->smtp_max_mails) { + // close connection to smtp and reconnect + $this->_sent_mails = 0; + $this->_smtp_close(); + $result = $this->_smtp_login(); + if(!$result) return false; + } + $this->_sent_mails += 1; + + $recipname = trim(str_replace('"', '', $recipname)); + $recip = $this->_encodeHeader($recip, $this->mail_charset); + $recipname = $this->_encodeHeader($recipname, $this->mail_charset); + + //Email From + fputs($this->_smtp_conn, 'MAIL FROM: <' . $this->_mail_sender . '>' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + //Email To + fputs($this->_smtp_conn, 'RCPT TO: <' . $recip . '>' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + if($bcc_cc_sent == false) { + $add_recips = array(); + if($this->getHeader('Cc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Cc'))); + if($this->getHeader('Bcc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Bcc'))); + foreach($add_recips as $add_recip) { + if(!$add_recip['mail']) continue; + fputs($this->_smtp_conn, 'RCPT TO: <' . $this->_encodeHeader($add_recip['mail'], $this->mail_charset) . '>' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + } + unset($add_recips); + $bcc_cc_sent = true; + } + + //The Email + fputs($this->_smtp_conn, 'DATA' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + //Construct Headers + if($recipname && !is_numeric($recipname)) $this->setHeader('To', $recipname . ' <' . $recip . '>'); + else $this->setHeader('To', $recip); + + $mail_content = 'Subject: ' . $enc_subject . $this->_crlf; + $mail_content .= 'To: ' . $this->getHeader('To') . $this->_crlf; + if($this->getHeader('Cc') != '') $mail_content .= 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset) . $this->_crlf; + $mail_content .= implode($this->_crlf, $headers) . $this->_crlf . ($this->_is_signed == false ? $this->_crlf : '') . $this->body; + + fputs($this->_smtp_conn, $mail_content . $this->_crlf . '.' . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); + + // hopefully message was correctly sent now + $result = true; + } + } else { + if($this->getHeader('Bcc') != '') $headers[] = 'Bcc: ' . $this->_encodeHeader($this->getHeader('Bcc'), $this->mail_charset); + if($this->getHeader('Cc') != '') $headers[] = 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset); + $rec_string = ''; + foreach($recipients as $recipname => $recip) { + $recipname = trim(str_replace('"', '', $recipname)); + + if($rec_string != '') $rec_string .= ', '; + if($recipname && !is_numeric($recipname)) $rec_string .= $recipname . '<' . $recip . '>'; + else $rec_string .= $recip; + } + $to = $this->_encodeHeader($rec_string, $this->mail_charset); + //$result = mail($to, $subject, $this->body, implode($this->_crlf, $headers)); + $result = mail($to, $enc_subject, $this->body, implode($this->_crlf, $headers)); + } + + // Reset the subject in case mail is resent + if ($subject !== '') { + $this->headers['Subject'] = $subject; + } + + // Return + return $result; + } + + + + /** + * Close mail connections + * + * This closes an open smtp connection so you should always call this function in your script if you have finished sending all emails + * + * @access public + */ + public function finish() { + if($this->use_smtp == true) $this->_smtp_close(); + + $rand = md5(microtime()); + $this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x'; + + $this->headers = array(); + $this->attachments = array(); + $this->text_part = ''; + $this->html_part = ''; + + $this->headers['MIME-Version'] = '1.0'; + $this->headers['User-Agent'] = $this->user_agent; + + $this->smtp_helo = ''; + $this->smtp_host = ''; + $this->smtp_port = ''; + $this->smtp_user = ''; + $this->smtp_pass = ''; + $this->use_smtp = false; + $this->smtp_crypt = false; + $this->mail_charset = 'UTF-8'; + $this->_sent_mails = 0; + + return; + } + +} + +?> diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 2170b5ccccbb5aa1a9829029ff6a767752849caa..ae1fbd3228e223cb75692c92417f9e5b8a42dbba 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -62,6 +62,15 @@ class monitor_tools { $mainver = array_filter($mainver); $mainver = current($mainver).'.'.next($mainver); switch ($mainver){ + case "14.04": + $relname = "(Trusty Tahr)"; + break; + case "13.10": + $relname = "(Saucy Salamander)"; + break; + case "13.04": + $relname = "(Raring Ringtail)"; + break; case "12.10": $relname = "(Quantal Quetzal)"; break; @@ -201,6 +210,18 @@ class monitor_tools { $distver = '5.3'; $distid = 'centos53'; $distbaseid = 'fedora'; + } elseif(stristr($content, 'CentOS Linux release 6')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; + swriteln("Operating System: CentOS 6 or compatible\n"); + } elseif(stristr($content, 'CentOS Linux release 7')) { + $distname = 'CentOS'; + $distver = 'Unknown'; + $distid = 'centos53'; + $distbaseid = 'fedora'; + swriteln("Operating System: CentOS 7 or compatible\n"); } else { $distname = 'Redhat'; $distver = 'Unknown'; diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index 16e91ae9b2e74dec9adead0f3a5775b269232b05..af42e5ec31ff46adf1468acfa70b75c56b96c102 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -34,7 +34,9 @@ class system{ var $server_id; var $server_conf; var $data; - + var $min_uid = 500; + var $min_gid = 500; + /** * Construct for this class * @@ -1785,6 +1787,67 @@ class system{ return $modules; } + + //* ISPConfig mail function + public function mail($to, $subject, $text, $from, $filepath = '', $filetype = 'application/pdf', $filename = '', $cc = '', $bcc = '', $from_name = '') { + global $app, $conf; + + if($conf['demo_mode'] == true) $app->error("Mail sending disabled in demo mode."); + + $app->uses('getconf,ispcmail'); + $mail_config = $app->getconf->get_global_config('mail'); + if($mail_config['smtp_enabled'] == 'y') { + $mail_config['use_smtp'] = true; + $app->ispcmail->setOptions($mail_config); + } + $app->ispcmail->setSender($from, $from_name); + $app->ispcmail->setSubject($subject); + $app->ispcmail->setMailText($text); + + if($filepath != '') { + if(!file_exists($filepath)) $app->error("Mail attachement does not exist ".$filepath); + $app->ispcmail->readAttachFile($filepath); + } + + if($cc != '') $app->ispcmail->setHeader('Cc', $cc); + if($bcc != '') $app->ispcmail->setHeader('Bcc', $bcc); + + $app->ispcmail->send($to); + $app->ispcmail->finish(); + + return true; + } + + public function is_allowed_user($username, $check_id = true, $restrict_names = false) { + global $app; + + $name_blacklist = array('root','ispconfig','vmail','getmail'); + if(in_array($username,$name_blacklist)) return false; + + if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false; + + if($check_id && intval($this->getuid($username)) < $this->min_uid) return false; + + if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false; + + return true; + } + + public function is_allowed_group($groupname, $check_id = true, $restrict_names = false) { + global $app; + + $name_blacklist = array('root','ispconfig','vmail','getmail'); + if(in_array($groupname,$name_blacklist)) return false; + + if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false; + + if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false; + + if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false; + + return true; + } + } ?> diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 5f81fa671443ba6adc1801d3d4cba65b63c00d4b..a5339579fbf853f376e6503a92c96ac1957ecb1f 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -344,8 +344,9 @@ class apache2_plugin { if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN); return 0; } - if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') { - $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN); + if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false + || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) { + $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN); return 0; } if(trim($data['new']['domain']) == '') { @@ -461,6 +462,9 @@ class apache2_plugin { $app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s')); $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG); } + + //* Unmount the old log directory bfore we move the log dir + exec('umount '.escapeshellcmd($old_dir.'/log')); //* Create new base directory, if it does not exist yet if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir); @@ -492,6 +496,8 @@ class apache2_plugin { $app->system->removeLine('/etc/fstab', $fstab_line); $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0'; $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1); + + exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder)); } @@ -710,7 +716,7 @@ class apache2_plugin { $app->system->chmod($data['new']['document_root'].'/ssl', 0755); // make tmp directory writable for Apache and the website users - $app->system->chmod($data['new']['document_root'].'/tmp', 0777); + $app->system->chmod($data['new']['document_root'].'/tmp', 0770); // Set Log directory to 755 to make the logs accessible by the FTP user if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { @@ -770,7 +776,7 @@ class apache2_plugin { $app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755); // make temp directory writable for Apache and the website users - $app->system->chmod($data['new']['document_root'].'/tmp', 0777); + $app->system->chmod($data['new']['document_root'].'/tmp', 0770); // Set Log directory to 755 to make the logs accessible by the FTP user if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { @@ -1205,18 +1211,15 @@ class apache2_plugin { } else { //remove the php fastgi starter script if available + $fastcgi_starter_script = $fastcgi_config['fastcgi_starter_script'].($data['old']['type'] == 'vhostsubdomain' ? '_web' . $data['old']['domain_id'] : ''); if ($data['old']['php'] == 'fast-cgi') { $fastcgi_starter_path = str_replace('[system_user]', $data['old']['system_user'], $fastcgi_config['fastcgi_starter_path']); $fastcgi_starter_path = str_replace('[client_id]', $client_id, $fastcgi_starter_path); if($data['old']['type'] == 'vhost') { - if (is_dir($fastcgi_starter_path)) { - exec('rm -rf '.$fastcgi_starter_path); - } + if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script); + if (is_dir($fastcgi_starter_path)) @rmdir($fastcgi_starter_path); } else { - $fcgi_starter_script = $fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].'_web' . $data['old']['domain_id']; - if (file_exists($fcgi_starter_script)) { - exec('rm -f '.$fcgi_starter_script); - } + if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script); } } } @@ -2009,7 +2012,7 @@ class apache2_plugin { //* Create empty .htpasswd file, if it does not exist if(!is_file($folder_path.'.htpasswd')) { $app->system->touch($folder_path.'.htpasswd'); - $app->system->chmod($folder_path.'.htpasswd', 0750); + $app->system->chmod($folder_path.'.htpasswd', 0751); $app->system->chown($folder_path.'.htpasswd', $website['system_user']); $app->system->chgrp($folder_path.'.htpasswd', $website['system_group']); $app->log('Created file '.$folder_path.'.htpasswd', LOGLEVEL_DEBUG); @@ -2063,7 +2066,7 @@ class apache2_plugin { unset($old_content); $app->system->file_put_contents($folder_path.'.htaccess', $ht_file); - $app->system->chmod($folder_path.'.htaccess', 0750); + $app->system->chmod($folder_path.'.htaccess', 0751); $app->system->chown($folder_path.'.htaccess', $website['system_user']); $app->system->chgrp($folder_path.'.htaccess', $website['system_group']); $app->log('Created/modified file '.$folder_path.'.htaccess', LOGLEVEL_DEBUG); @@ -2225,7 +2228,7 @@ class apache2_plugin { } $app->system->file_put_contents($new_folder_path.'.htaccess', $ht_file); - $app->system->chmod($new_folder_path.'.htaccess', 0750); + $app->system->chmod($new_folder_path.'.htaccess', 0751); $app->system->chown($new_folder_path.'.htaccess', $website['system_user']); $app->system->chgrp($new_folder_path.'.htaccess', $website['system_group']); $app->log('Created/modified file '.$new_folder_path.'.htaccess', LOGLEVEL_DEBUG); @@ -2233,7 +2236,7 @@ class apache2_plugin { //* Create empty .htpasswd file, if it does not exist if(!is_file($folder_path.'.htpasswd')) { $app->system->touch($new_folder_path.'.htpasswd'); - $app->system->chmod($new_folder_path.'.htpasswd', 0750); + $app->system->chmod($new_folder_path.'.htpasswd', 0751); $app->system->chown($new_folder_path.'.htpasswd', $website['system_user']); $app->system->chgrp($new_folder_path.'.htpasswd', $website['system_group']); $app->log('Created file '.$new_folder_path.'.htpasswd', LOGLEVEL_DEBUG); @@ -2654,7 +2657,7 @@ class apache2_plugin { $fpm_socket = $socket_dir.$pool_name.'.sock'; $tpl->setVar('fpm_socket', $fpm_socket); - $tpl->setVar('fpm_listen_mode', '0600'); + $tpl->setVar('fpm_listen_mode', '0660'); $tpl->setVar('fpm_pool', $pool_name); $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1); diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php index 46be0a60060fe583de00e1e6d9847e426e987092..c3ed1aee4fa11ab9dba4727629c9799c9ff0c202 100644 --- a/server/plugins-available/backup_plugin.inc.php +++ b/server/plugins-available/backup_plugin.inc.php @@ -75,10 +75,10 @@ class backup_plugin { $backup_dir_is_ready = true; $server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']); if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){ - if(!$app->system->is_mounted($backup_dir)){ + if(!$app->system->is_mounted($server_config['backup_dir'])){ exec(escapeshellcmd($server_config['backup_dir_mount_cmd'])); sleep(1); - if(!$app->system->is_mounted($backup_dir)) $backup_dir_is_ready = false; + if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false; } } diff --git a/server/plugins-available/bind_dlz_plugin.inc.php b/server/plugins-available/bind_dlz_plugin.inc.php index f6d367f27393057795ce7151b969b5d405a3c292..63abcc48ced03d6874b8dc5bcab5e1b865985a60 100644 --- a/server/plugins-available/bind_dlz_plugin.inc.php +++ b/server/plugins-available/bind_dlz_plugin.inc.php @@ -188,7 +188,7 @@ class bind_dlz_plugin { //$_db = clone $app->db; //$_db->dbName = 'named'; - $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]}"); + $app->db->query( "DELETE FROM named.dns_records WHERE zone = '".substr($data['old']['origin'], 0, -1)."'"); //unset($_db); } @@ -252,6 +252,9 @@ class bind_dlz_plugin { if ($type == 'MX') { $app->db->query("INSERT INTO named.records (zone, ttl, type, host, mx_priority, data, ispconfig_id)". " VALUES ('$origin', $ttl, '$type', '$name', {$data["new"]["aux"]}, '$content', $ispconfig_id)"); + } elseif ($type == 'SRV') { + $app->db->query("INSERT INTO named.records (zone, ttl, type, data, ispconfig_id)". + " VALUES ('$origin', $ttl, '$type', '{$data["new"]["aux"]} $content', $ispconfig_id)"); } else { $app->db->query("INSERT INTO named.records (zone, ttl, type, host, data, ispconfig_id)". " VALUES ('$origin', $ttl, '$type', '$name', '$content', $ispconfig_id)"); @@ -327,6 +330,9 @@ class bind_dlz_plugin { if ($type == 'MX') { $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', mx_priority = $prio, ". "data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'"); + } elseif ($type == 'SRV') { + $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', ". + "data = '$prio $content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'"); } else { $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', ". "data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'"); @@ -345,7 +351,7 @@ class bind_dlz_plugin { //$_db = clone $app->db; //$_db->dbName = 'named'; - $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]} AND type != 'SOA'"); + $app->db->query( "DELETE FROM named.dns_records WHERE type != 'SOA' AND zone = '".substr($data['old']['origin'], 0, -1)."'"); //unset($_db); } diff --git a/server/plugins-available/cron_jailkit_plugin.inc.php b/server/plugins-available/cron_jailkit_plugin.inc.php index c3bd5b749bfad1a1c2847a735473131bdaa2f71a..4c95b83c2bdb0d9fbbf798e71772c59cc9236f3b 100644 --- a/server/plugins-available/cron_jailkit_plugin.inc.php +++ b/server/plugins-available/cron_jailkit_plugin.inc.php @@ -80,11 +80,15 @@ class cron_jailkit_plugin { if(!$parent_domain["domain_id"]) { $app->log("Parent domain not found", LOGLEVEL_WARN); return 0; - } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') { + } + + if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true) + || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) { $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN); - return 0; + return false; } + $this->parent_domain = $parent_domain; $app->uses('system'); @@ -155,9 +159,11 @@ class cron_jailkit_plugin { if(!$parent_domain["domain_id"]) { $app->log("Parent domain not found", LOGLEVEL_WARN); return 0; - } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') { + } + if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true) + || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) { $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN); - return 0; + return false; } $app->uses('system'); diff --git a/server/plugins-available/cron_plugin.inc.php b/server/plugins-available/cron_plugin.inc.php index fe00713ecd6d3956583dec7788c66b431d9b61d3..7f8070d78c16cc645b4c302fa6799691812acd83 100644 --- a/server/plugins-available/cron_plugin.inc.php +++ b/server/plugins-available/cron_plugin.inc.php @@ -96,11 +96,14 @@ class cron_plugin { if(!$parent_domain["domain_id"]) { $app->log("Parent domain not found", LOGLEVEL_WARN); return 0; - } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') { - $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN); - return 0; } + if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true) + || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) { + $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN); + return false; + } + // Get the client ID $client = $app->dbmaster->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"])); $client_id = intval($client["client_id"]); diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php index 186e9b9180a5c2ce726ce5b373921448a4c176ed..2cca769fd525bdced81f9a5698538eb0f375bab8 100644 --- a/server/plugins-available/firewall_plugin.inc.php +++ b/server/plugins-available/firewall_plugin.inc.php @@ -76,29 +76,31 @@ class firewall_plugin { global $app, $conf; //* load the server configuration options - $app->uses('getconf'); - $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); - if($server_config['firewall'] == 'ufw') { - $this->ufw_update($event_name, $data); - } else { - $this->bastille_update($event_name, $data); + if(!$data['mirrored']) { + $app->uses('getconf'); + $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); + if($server_config['firewall'] == 'ufw') { + $this->ufw_update($event_name, $data); + } else { + $this->bastille_update($event_name, $data); + } } - } public function delete($event_name, $data) { global $app, $conf; //* load the server configuration options - $app->uses('getconf'); - $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); + if(!$data['mirrored']) { + $app->uses('getconf'); + $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); - if($server_config['firewall'] == 'ufw') { - $this->ufw_delete($event_name, $data); - } else { - $this->bastille_delete($event_name, $data); + if($server_config['firewall'] == 'ufw') { + $this->ufw_delete($event_name, $data); + } else { + $this->bastille_delete($event_name, $data); + } } - } private function ufw_update($event_name, $data) { diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php index 5bf37d14e46c6b76e9d7b55ca98949fe230e3499..6d109c5bd169d77312fa58a36e0c65006efe2516 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -107,10 +107,11 @@ class mail_plugin { $maildomain_path .= '/Maildir'; } - //* When the mail user dir exists but it is not a valid maildir, remove it + //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) { - exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail"); - $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN); + if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']); + exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail"); + $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN); } //* Create the maildir, if it doesn not exist, set permissions, set quota. @@ -238,10 +239,11 @@ class mail_plugin { $maildomain_path .= '/Maildir'; } - //* When the mail user dir exists but it is not a valid maildir, remove it + //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) { - exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail"); - $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN); + if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']); + exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail"); + $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN); } //* Create the maildir, if it doesn not exist, set permissions, set quota. diff --git a/server/plugins-available/mysql_clientdb_plugin.inc.php b/server/plugins-available/mysql_clientdb_plugin.inc.php index cba977cc0558d92bafaa1ed9a7de471b578e16e6..6145db00c7f37e225ce5a76e5f7193267e757a12 100644 --- a/server/plugins-available/mysql_clientdb_plugin.inc.php +++ b/server/plugins-available/mysql_clientdb_plugin.inc.php @@ -83,7 +83,14 @@ class mysql_clientdb_plugin { if(!is_array($host_list)) $host_list = explode(',', $host_list); $success = true; - + if(!preg_match('/\*[A-F0-9]{40}$/', $database_password)) { + $result = $link->query("SELECT PASSWORD('" . $link->escape_string($database_password) . "') as `crypted`"); + if($result) { + $row = $result->fetch_assoc(); + $database_password = $row['crypted']; + $result->free(); + } + } // loop through hostlist foreach($host_list as $db_host) { $db_host = trim($db_host); @@ -270,7 +277,7 @@ class mysql_clientdb_plugin { $old_host_list .= 'localhost'; // Create the database user if database was disabled before - if($data['new']['active'] == 'y' && $data['old']['active'] == 'n') { + if($data['new']['active'] == 'y') { if($db_user) { if($db_user['database_user'] == 'root') $app->log('User root not allowed for Client databases', LOGLEVEL_WARNING); else $this->process_host_list('GRANT', $data['new']['database_name'], $db_user['database_user'], $db_user['database_password'], $host_list, $link); diff --git a/server/plugins-available/network_settings_plugin.inc.php b/server/plugins-available/network_settings_plugin.inc.php index 56e4980fe323512e41d5b3c8c7f265335563a955..46242d98407846a36ae20e2d4d285fd01f9a7621 100644 --- a/server/plugins-available/network_settings_plugin.inc.php +++ b/server/plugins-available/network_settings_plugin.inc.php @@ -243,12 +243,61 @@ class network_settings_plugin { } else { if($data['mirrored'] == true) { - $app->log('Skipping network config request. IP addresses from amster are not configured on the mirror.', LOGLEVEL_DEBUG); + $app->log('Skipping network config request. IP addresses from master are not configured on the mirror.', LOGLEVEL_DEBUG); } if($server_config['auto_network_configuration'] == 'n') { $app->log('Network configuration disabled in server settings.', LOGLEVEL_DEBUG); } } + + //* Configure hostname + if($event_name == 'server_update' && $data['mirrored'] == false) { + + //* get old server config + $tmp = $app->ini_parser->parse_ini_string(stripslashes($data['old']['config'])); + $old_server_config = $tmp['server']; + unset($tmp); + + $new_hostname = trim($server_config['hostname']); + $old_hostname = trim($old_server_config['hostname']); + + if($new_hostname != '' && $old_hostname != $new_hostname) { + + if(is_file('/etc/hostname')) { + $app->system->file_put_contents('/etc/hostname',$new_hostname); + $app->log('Changed /etc/hostname to '.$new_hostname, LOGLEVEL_DEBUG); + } + + if(is_file('/etc/mailname')) { + $app->system->file_put_contents('/etc/mailname',$new_hostname); + $app->log('Changed /etc/mailname to '.$new_hostname, LOGLEVEL_DEBUG); + } + + $postconf_commands = array( + 'myhostname = '.$new_hostname, + 'mydestination = '.$new_hostname.', localhost, localhost.localdomain' + ); + + //* Executing the postconf commands + foreach($postconf_commands as $cmd) { + $command = "postconf -e '$cmd'"; + exec($command); + } + + $app->log('Changed changed myhostname and mydestination in postfix main.cf to '.$new_hostname, LOGLEVEL_DEBUG); + + //* change /etc/hosts + $hosts = file_get_contents('/etc/hosts'); + $hosts = str_replace($old_hostname,$new_hostname,$hosts); + $app->system->file_put_contents('/etc/hosts',$hosts); + + exec($app->system->getinitcommand('postfix', 'restart').' 2>&1'); + exec($app->system->getinitcommand('networking', 'restart').' 2>&1'); + + } + + } + } diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index dcfc674b09bb70ffb1db480607e36df74531008f..b0e18c79a29f8d3f3e7fe4022d68ba5d33498d5f 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -351,10 +351,13 @@ class nginx_plugin { if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN); return 0; } - if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') { - $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN); + + if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false + || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) { + $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN); return 0; } + if(trim($data['new']['domain']) == '') { $app->log('domain is empty', LOGLEVEL_WARN); return 0; @@ -465,6 +468,9 @@ class nginx_plugin { $app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s')); $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG); } + + //* Unmount the old log directory bfore we move the log dir + exec('umount '.escapeshellcmd($old_dir.'/log')); //* Create new base directory, if it does not exist yet if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir); @@ -496,6 +502,8 @@ class nginx_plugin { $app->system->removeLine('/etc/fstab', $fstab_line); $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0'; $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1); + + exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder)); } @@ -714,7 +722,7 @@ class nginx_plugin { $app->system->chmod($data['new']['document_root'].'/ssl', 0755); // make tmp directory writable for nginx and the website users - $app->system->chmod($data['new']['document_root'].'/tmp', 0777); + $app->system->chmod($data['new']['document_root'].'/tmp', 0770); // Set Log directory to 755 to make the logs accessible by the FTP user if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { @@ -774,7 +782,7 @@ class nginx_plugin { $app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755); // make temp directory writable for nginx and the website users - $app->system->chmod($data['new']['document_root'].'/tmp', 0777); + $app->system->chmod($data['new']['document_root'].'/tmp', 0770); // Set Log directory to 755 to make the logs accessible by the FTP user if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') { diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php index 0ceced99d0e34da5c5179e022664fc0d1900b67b..e331624133b9b111340ab39a4c040e25360259d7 100755 --- a/server/plugins-available/shelluser_base_plugin.inc.php +++ b/server/plugins-available/shelluser_base_plugin.inc.php @@ -82,6 +82,13 @@ class shelluser_base_plugin { $app->log('Directory of the shell user is not valid.',LOGLEVEL_WARN); return false; } + + if(!$app->system->is_allowed_user($data['new']['username'], false, false) + || !$app->system->is_allowed_user($data['new']['puser'], true, true) + || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) { + $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN); + return false; + } if($app->system->is_user($data['new']['puser'])) { @@ -151,6 +158,13 @@ class shelluser_base_plugin { return false; } + if(!$app->system->is_allowed_user($data['new']['username'], false, false) + || !$app->system->is_allowed_user($data['new']['puser'], true, true) + || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) { + $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN); + return false; + } + if($app->system->is_user($data['new']['puser'])) { // Get the UID of the parent user $uid = intval($app->system->getuid($data['new']['puser'])); diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php index 90ed6777f105b68a1bfbf209cdaf4d1cffd72d48..9cf6fc89da4a1a76e76b145da05b0729d1f6746e 100755 --- a/server/plugins-available/shelluser_jailkit_plugin.inc.php +++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php @@ -74,6 +74,13 @@ class shelluser_jailkit_plugin { $app->uses('system'); $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']); + if(!$app->system->is_allowed_user($data['new']['username'], false, false) + || !$app->system->is_allowed_user($data['new']['puser'], true, true) + || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) { + $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN); + return false; + } + if($app->system->is_user($data['new']['puser'])) { // Get the UID of the parent user $uid = intval($app->system->getuid($data['new']['puser'])); @@ -139,6 +146,13 @@ class shelluser_jailkit_plugin { $app->uses('system'); $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']); + if(!$app->system->is_allowed_user($data['new']['username'], false, false) + || !$app->system->is_allowed_user($data['new']['puser'], true, true) + || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) { + $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN); + return false; + } + if($app->system->is_user($data['new']['puser'])) { // Get the UID of the parent user $uid = intval($app->system->getuid($data['new']['puser'])); diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php index 3512de9e93d827580828f7f5a245ce102cfdb77e..2a5deedbcd8d029c9d36ddef24a27cd0f6ee8beb 100644 --- a/server/scripts/ispconfig_update.php +++ b/server/scripts/ispconfig_update.php @@ -86,9 +86,9 @@ echo " _____ ___________ _____ __ _ |___/ "; echo "\n".str_repeat('-', 80)."\n"; echo "\n\n>> Update \n\n"; -echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\nNote: Update all slave server, before you update master server.\n\n"; +echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n"; -$method = simple_query('Select update method', array('stable', 'svn'), 'stable'); +$method = simple_query('Select update method', array('stable', 'git'), 'stable'); if($method == 'stable') { $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');