diff --git a/.gitignore b/.gitignore index 32f43c2430e66a26c0100ade3e1685f1836d458a..81d5108cae397b9151249495acd54897a8f1fe45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +.idea /nbproject/private/ .phplint-cache *.swp diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e4a201bfcbb17bd997c528650ffcd13e5cf735f..6eedb903742871981a14de56aa71f0ebd479b2f4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,8 @@ stages: - syntax - syntax_diff + - test + - build # ### Stage syntax @@ -15,6 +17,7 @@ syntax:lint: - schedules - web - merge_requests + - /^\d+\.\d+\.\d+$/ script: - echo "Syntax checking PHP files" @@ -30,6 +33,12 @@ syntax_diff:lint: - pushes - branches + except: + - schedules + - web + - merge_requests + - /^\d+\.\d+\.\d+$/ + script: - echo "Syntax checking PHP files" - bash ./.git-scripts/syntax.sh commit @@ -49,3 +58,47 @@ syntax_diff:lint: # - echo "For more information http://www.icosaedro.it/phplint/" # - vendor/bin/phplint + +#test:install: +# stage: test +# image: jerob/docker-ispconfig +# only: +# - schedules +# - web +# - /^\d+\.\d+\.\d+$/ +# +# script: +# - $CI_PROJECT_DIR/helper_scripts/test_install_docker.sh +# - apt-get update +# - apt-get --yes install curl +# - curl --insecure https://127.0.0.1:8080/login/ +# - ps xaf +# +# needs: ["syntax:lint"] + +build:package: + stage: build + image: edbizarro/gitlab-ci-pipeline-php:7.2 + only: + refs: + - /^\d+\.\d+\.\d+$/ + - web + + script: + - echo "Building release." + - if [[ "$VER" == "" ]] ; then VER="$CI_COMMIT_TAG" ; fi + - if [[ "$VER" == "" ]] ; then VER="3.2dev"$(date +%s) ; fi + - if [[ "$VER" != "" ]] ; then echo "Replacing 3.2dev by $VER" ; sed -i -r 's/3\.2dev/'${VER}'/g' install/tpl/config.inc.php.master install/sql/ispconfig3.sql ; fi + - RET=0 + - tar -cpzf ISPConfig-${VER}.tar.gz --exclude "ISPConfig-${VER}.tar.gz" --exclude ".git*" --exclude ".phplint.yml" --transform 's,^\./,ispconfig3_install/,' . || RET=$? + - if [[ $RET > 1 ]] ; then exit $RET ; fi + - echo "Listing tar contents for verification" + - tar -tvf ISPConfig-${VER}.tar.gz + - echo "Uploading file to download server" + - curl -u "${DEPLOY_FTP_USER}:${DEPLOY_FTP_PASSWORD}" -T ISPConfig-${VER}.tar.gz ftp://${DEPLOY_FTP_SERVER}/web/ + - if [[ "$VER" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] ; then echo "Stable release ${VER}" ; curl -u "${DEPLOY_FTP_USER}:${DEPLOY_FTP_PASSWORD}" -T ISPConfig-${VER}.tar.gz ftp://${DEPLOY_FTP_SERVER}/web/ISPConfig-3-stable.tar.gz ; echo -n "${VER}" > ispconfig3_version.txt ; curl -u "${DEPLOY_FTP_USER}:${DEPLOY_FTP_PASSWORD}" -T ispconfig3_version.txt ftp://${DEPLOY_FTP_SERVER}/web/ ; else echo "Dev release ${VER}" ; fi + - rm ISPConfig-${VER}.tar.gz + - echo "Download url is https://download.ispconfig.org/ISPConfig-${VER}.tar.gz" + + needs: ["syntax:lint"] + allow_failure: false \ No newline at end of file diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md index 751016f70ad21999ff87d79d5e8191e1e1ae5d84..d86285d53d321b491b17bc8cfd3b228190f3773a 100644 --- a/.gitlab/issue_templates/Bug.md +++ b/.gitlab/issue_templates/Bug.md @@ -1,41 +1,45 @@ -## short description -What is happening and what is wrong with that? + -## correct behaviour -What should happen instead? +## Summary + -## environment -Server OS: (debian/ubuntu/centos/...) -Server OS version: (wheezy/trusty/centos6/...) -ISPConfig version: (3.0.5.4/3.1.5/3.1dev/...) -_you can use `grep 'ISPC_APP_VERSION' /usr/local/ispconfig/server/lib/config.inc.php` to get it from the command line_ +## Steps to reproduce +1. [First step] +2. [Second step] +3. [and so on...] -If it might be related to the problem -``` -insert the output of `nginx -v` or `apachectl -v` here -``` +## Correct behaviour + + +## Environment +Server OS + version: (Debian 10/Ubuntu 20.04/CentOS 8/...) \ +ISPConfig version: (3.1.15p3/3.2.3/3.2dev/...) + +Software version of the related software: + ``` -insert the output of `php -v` here +Output of the command ``` -## proposed fix +## Proposed fix optional, of course. -if you want to post code snippets, please use +if you want to post code snippets, please use ``` your code ``` -or attach a code file. Best is to create a merge request of course. +or attach a code file. Best is to create a merge request of course. -## references -if you know of related bugs or feature requests, please reference them by using `#`, e. g. #123 -if you have done a merge request already, please reference it by using `!`, e. g. !12 +## References +if you know of related bugs or feature requests, please reference them by using `#`, e. g. #6105 +if you have done a merge request already, please reference it by using `!`, e. g. !1444 if you know of a forum post on howtoforge.com that deals with this topic, just add the link to the forum topic here -## screenshots +## Screenshots optional, of course. Add screenshots of the problem by clicking "Attach a file" on the bottom right. -## log entries -``` -apache / nginx error.log lines (if related) -``` \ No newline at end of file +## Related log entries diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b515c5348d24a4c042076a9ae5e4c764a522950f..3a4a7de71fac0c761db397a24d37111979ada037 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,99 +1,319 @@ -# Which code branch to use +# Contributing to ISPConfig +ISPConfig is a open source project and community contributions are very welcome. To contribute, please stick to the guidelines. -The master branch is used for code (mostly new features) that shall go into the next major release (e.g. 3.2, 3.3 and so on). The stable branch (e.g. stable-3.1, stable-3.2) is the branch for the current intermediate and bugfix releases. Bugfixes shall be committed to the current stable branch and not the master branch. The stable branch is merged to the master automatically from time to time, please do not submit bugfixes a second time against the master. +This document is under development and will be continuously improved. + +# Issues +* Before opening a new issue, use the search function to check if there isn't a bug report / feature request already. +* If you are reporting a bug, please share your OS and PHP (CLI) version. +* If you want to report several bugs or request several features, open a separate issue for each one of them. + +# Branches +* If you are a new user, please send an email to: dev [at] ispconfig [dot] org to receive rights to fork the project. +* Please create an issue for each contribution you want to make. +* Do not put multiple contributions into a single branch and merge request. Each contribution should have it's own branch. +* Do not use the develop branch in your forked project for your contribution. Create a separate branch for each issue. +* Give your branch a name, e. g. `6049-update-the-contributing-doc ` where 6049 is the issue number. + +# Merge requests +Please give your merge request a description that shortly states what it is about. Merge requests without a good title or with missing description will get delayed because it is more effort for us to check the meaning of the changes made. +Once again: Do not put multiple things into a single merge request. If you for example fix two issues where one affects apache and one mail users, use separate issues and separate merge requests. +You can group multiple issues in a single merge request if they have the same specific topic, e. g. if you have one issue stating that a language entry in mail users is missing and a second issue that a language entry for server config is missing, you can put both issues into a single branch and merge request. Be sure to include all issue ids (if multiple) into the merge request's description in this case. +* Open a issue for the bug you want to fix / the feature you want to implement +* After opening the issue, commit your changes to your branch +* Note the issue # in every commit +* Update the documentation (New devs will not have access to this. Please send a email to docs@ispconfig.org) +* Add translations for every language +* Use a short title +* Write a clear description - for example, when updating the contributing guidelines with issue #6049: \ +"Update of our contributing guidelines \ +Closes #6049" +* Please be aware that we are not able to accept merge request that do not stick to the coding guidelines. We need to insist on that to keep the code clean and maintainable. # Some guidelines for web development with php. ----------------------------------------------------- -* Unix Line Breaks Only, NO windows breaks please. -* Tabs to indent lines, NO spaces -* no accidental _ no spaces before or after -* error_reporting(E_ALL|E_STRICT), yep PHP 5 -* Magic quotes is gone, get used to it now. config = magic_quotes_gpc() Everything must be quoted -* Don't use ereg, split and other old function -> gone in PHP 5.4 -* Don't use features that are not supported in PHP 5.3, for compatibility with LTS OS releases, ISPConfig must support PHP 5.3+ -* Don't use shorttags. A Shorttag is always use always use `uses() or $app->load() functions. * Classes for the server are located in server/lib/classes/ and loaded with $app->uses() or $app->load() functions. -* please mark any section that need review or work on with /* TODO: short description */ -* Make function / var names on the following way, first word lower, next word(s) first letter upper like. getFirstResult(); -* always a space but NO newline before opening braces, e. g. -``` -class abc { - public function cde() { - if($a == $b) { - return false; - } - } + +### Indentations + +Indentations are always done with tabs. Do **not** use spaces. +It is recommended to set your IDE to display tabs with a width of 4 spaces. + +### Variable and method / function names + +Methods and functions should always be written in camel-case. Variables and properties should always be lowercase instead. + +**Correct:** +```php +class MyClass { + private $issue_list = []; + + private function getMyValue() { + + } } ``` -* no spaces after function/method or control names, e. g. -``` -function abc($x, $y) { - if($condition == true) { - $x = 2; - } + +**Wrong:** +```php +class my_class { + private $IssueList = []; + + private function get_my_value() { + + } } ``` -and NOT + +### Blocks + +#### Curly braces + +Opening curly braces always have to be in the same line as the preceding condition. They are separated by a single space from the closing paranthesis. +Closing curly braces are always on a separate line after the last statement in the block. The only exception is a do-while block where the logic is inverted. + +Curly braces are **always** to be used. Do not leave them out, even if there is only a single statement in the corresponding block. + +**Correct:** +```php +if($variable === true) { + +} + +while($condition) { + +} + +do { + +} while($condition); ``` -function abc ($x, $y) { - if ( $condition == true ) { - - } + +**Wrong:** +```php +if($variable === true){ + +} + +if($variable === true) +{ + } + +if($variable === true) + $x = 'no braces'; + +while($condition) { } ``` -# Commenting style +#### Short style + +The short style of conditional assignments is allowed to be used, but it must not affect readability, e. g. they shall not be nested. + +**Allowed:** +```php +$a = 0; +if($condition === true) { + $a = 1; +} -The comments break down into the following types +$a = ($condition === true ? 1 : 0); ``` -// is uses for removing lines and debug dev etc -/* - is used to comment out blocks -*/ -/** is used to create documentaion - * thats over - * lines - */ +**Disallowed:** +```php +$x = ($condition === true ? ($further == 'foo' ? true : false) : true); ``` -If you need to block out a section then use + + +#### Spaces and paranthesis + +The rules for using spaces are: +- no space after `if`/`while` etc. and the following opening paranthesis +- single space after closing paranthesis and before opening curly brace +- no spaces at the end of a line +- no spaces after opening paranthesis and before closing paranthesis +- single space before and after comparators + +**Correct:** +```php +if($variable === $condition) { + +} + +while(($condition !== false || $condition2 === true) && $n <= 15) { + $n++; +} ``` -/* -function redundant_code(){ - something here + +**Wrong:** +```php +if ($variable===$condition) { + +} + +while(($condition!==false||$condition2===true))&&$n<=15){ + } -*/ ``` -To block out single lines use // and all // are assumed to be redundant test code and NOT comments -// print_r($foo); +#### Newlines inside of conditions + +Breaking up conditions into separate lines can be done if it positively affects readability. + +```php +if($condition === true && ($state === 'completed' || $state === 'pending') && ($processed_by !== null || $process_time < time())) { -Do not use the phpdoc on every function, eg +} ``` -/** -* Login a user -* @param string user username -* @param string password of user -*/ -function login($user, $pass){ - +can also be written as +```php +if($condition === true + && ($state === 'completed' || $state === 'pending') + && ($processed_by !== null || $process_time < time()) + ) { + } ``` -as this function is self-explaining, the following clean code will suffice +This must not be abused, e. g. the following is not allowed: + +```php +if($a == 1 + || $b == 2) { + + } ``` -function login($user, $pass){ - -} + +### Arrays + +#### Short syntax + +Please **do** use short array syntax. We have deprecated the old-style array syntax. + +**Correct**: +```php +$var = []; + +$var2 = [ + 'conf' => [ + 'setting1' => 'value1' + ] +]; ``` -# Where to store custom settings +**Wrong:** +```php +$var = array(); -## Interface settings +$var2 = array( + 'conf' => array( + 'setting1' => 'value1' + ) +); +``` + +#### Spaces and newlines + +When defining an empty array, both brackets shall be on the same line. When defining an array with values, the style depends on the values you are going to assign. + +##### List of values + +When defining an array with a list of values, e. g. numbers or names, they should be on the same line as the brackets without using new lines, as long as the line does not exceed a total number of characters of about 90. After each comma there has to be a single space. + +##### Nested array + +When defining a nested array onle the opening bracket is to be on the same line. The closing bracket has to be on a separate line indented by `tabs * level of array`. + +##### Examples + +```php +// empty array +$a = []; +// array with list of values +$array = [4, 3, 76, 12]; + +// array with long list of values +$array = [ + 'This is one entry', 'This is a second one', 'Another one', 'Further entries', 'foo', 'bar', 34, 42, $variable, // newline here for better readability + 'Next entry', 'the last entry' +]; + +// nested array +$array = [ + 'conf' => [ + 'level' => 1, + 'settings' => [ + 'window' => 'open', + 'door' => 'closed + ] + ] +]; +``` + +**Not-to-dos:** +```php +$array=[ +]; + +$array = [ + 1, + 4, + 35, + 23, + 345, + 11, + 221, + 'further', + '...' +]; + +$array=['conf'=>['settings'=>['window' => 'open', 'door' => 'closed]]]; +``` + +### Strings + +Whenever possible use single quotes `'` instead of double qoutes `"`. Try not to embedd variables in string. Concatenate them instead. + +**Correct:** +```php +// simple text +$var = 'This is a text'; + +// array index +$array['index'] = 'value'; + +// text with variables +$var = 'This is a text with ' . $value . ' values inside and at the end: ' . $sum_value; + +// dynamic array index +$idx = 'index' . $key; +$value = $array[$idx]; +``` + +**Wrong:** +```php +// simple text +$var = "This is a text"; + +// array index +$array["index"] = 'value'; + +// text with variables +$var = "This is a text with $value values inside and at the end: {$sum_value}"; + +// dynamic array index +$value = $array['index' . $key]; +$value = $array["index{$key}"]; +``` + +# Where to store custom settings +## Interface settings The recommended place to store global interface settings is the ini style global config system (see system.ini.master file in install/tpl/ to set defaults). The settings file gets stored inside the ispconfig database. Settings can be accessed with the function: @@ -109,7 +329,6 @@ fields to the file interface/web/admin/form/system_config.tform.php and the corr tempalte file in the templates subfolder of the admin module. ## Server settings - Server settings are stored in the ini style server config system (see server.ini.master template file) The settings file gets stored inside the ispconfig database in the server table. Settings can be accessed with the function $app->getconf->get_server_config(....) diff --git a/README.md b/README.md index 1ffa1519938200eda108baa58dce4ea548ffc935..9e0eea359d5d45ef47818fe2d59979807c242f6f 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,46 @@ # ISPConfig - Hosting Control Panel - +![ISPConfig logo](https://www.ispconfig.org/wp-content/themes/ispconfig/images/ispconfig_logo.png "") \ Development branch: [![pipeline status](https://git.ispconfig.org/ispconfig/ispconfig3/badges/develop/pipeline.svg)](https://git.ispconfig.org/ispconfig/ispconfig3/commits/develop) - +## Functions - Manage multiple servers from one control panel -- Web server management (Apache2 and nginx) -- Mail server management (with virtual mail users) -- DNS server management (BIND and MyDNS) +- Single server, multiserver and mirrored clusters. +- Webserver management +- Mailserver management +- DNS server management - Virtualization (OpenVZ) -- Administrator, reseller and client login -- Configuration mirroring and clusters -- Open Source software (BSD license) +- Administrator, reseller, client and mailuser login +- Open Source software ([BSD license](LICENSE)) + +## Supported daemons +- HTTP: Apache2 and NGINX +- HTTP stats: Webalizer, GoAccess and AWStats +- Let's Encrypt: Acme.sh and certbot +- SMTP: Postfix +- POP3/IMAP: Dovecot +- Spamfilter: Rspamd and Amavis +- FTP: PureFTPD +- DNS: BIND9 and PowerDNS[^1] +- Database: MariaDB and MySQL + +[^1]: not actively tested + +## Supported operating systems +- Debian 9, 10, and testing +- Ubuntu 16.04 - 20.04 +- CentOS 7 and 8 + +## Auto-install script +You can install the "Perfect Server" with ISPConfig using [our official autoinstaller](https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/) + +## Migration tool +The Migration Tool helps you to import data from other control panels (currently ISPConfig 2 and 3 – 3.2, Plesk 10 – 12.5, Plesk Onyx, CPanel[^2] and Confixx 3). For more information, see https://www.ispconfig.org/add-ons/ispconfig-migration-tool/ + +[^2]: The Migration Toolkit now contains beta support for migrating CPanel to ISPConfig. + +## Documentation +You can support ISPConfig development by buying the manual: https://www.ispconfig.org/documentation/ + +## Contributing +If you like to contribute to the ISPConfig development, please read the contributing guidelines: [CONTRIBUTING.MD](CONTRIBUTING.md) + diff --git a/helper_scripts/test_install_docker.sh b/helper_scripts/test_install_docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..4de61c38957dff6ddd1ce9ae823ca93974cdcd18 --- /dev/null +++ b/helper_scripts/test_install_docker.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# This script is used from .gitlab-ci.yml to do an automated installation inside a docker container for testing. + +if [ -f /usr/local/ispconfig/interface/lib/config.inc.php ]; then + echo "Found an existing configfile, bailing out!" + exit 1 +fi + +mysql_install_db +service mysql start \ +&& echo "UPDATE mysql.user SET Password = PASSWORD('pass') WHERE User = 'root';" | mysql -u root \ +&& echo "UPDATE mysql.user SET plugin='mysql_native_password' where user='root';" | mysql -u root \ +&& echo "DELETE FROM mysql.user WHERE User='';" | mysql -u root \ +&& echo "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" | mysql -u root \ +&& echo "DROP DATABASE IF EXISTS test;" | mysql -u root \ +&& echo "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" | mysql -u root \ +&& echo "FLUSH PRIVILEGES;" | mysql -u root +sed -i "s/^hostname=server1.example.com$/hostname=$HOSTNAME/g" /root/ispconfig3_install/install/autoinstall.ini + +service mysql start && php -q $CI_PROJECT_DIR/install/install.php --autoinstall=/root/ispconfig3_install/install/autoinstall.ini diff --git a/install/dist/conf/centos52.conf.php b/install/dist/conf/centos52.conf.php index 12044d3ce07d36d42e166c961c4939b4d82ba01f..6dff93f65f3a609cb32111f483fdb10727efbec4 100644 --- a/install/dist/conf/centos52.conf.php +++ b/install/dist/conf/centos52.conf.php @@ -147,6 +147,11 @@ $conf['amavis']['installed'] = false; // will be detected automatically during i $conf['amavis']['config_dir'] = '/etc'; $conf['amavis']['init_script'] = 'amavisd'; +//* Rspamd +$conf['rspamd']['installed'] = false; // will be detected automatically during installation +$conf['rspamd']['config_dir'] = '/etc/rspamd'; +$conf['rspamd']['init_script'] = 'rspamd'; + //* ClamAV $conf['clamav']['installed'] = false; // will be detected automatically during installation $conf['clamav']['init_script'] = 'clamd'; diff --git a/install/dist/conf/centos53.conf.php b/install/dist/conf/centos53.conf.php index 12044d3ce07d36d42e166c961c4939b4d82ba01f..6dff93f65f3a609cb32111f483fdb10727efbec4 100644 --- a/install/dist/conf/centos53.conf.php +++ b/install/dist/conf/centos53.conf.php @@ -147,6 +147,11 @@ $conf['amavis']['installed'] = false; // will be detected automatically during i $conf['amavis']['config_dir'] = '/etc'; $conf['amavis']['init_script'] = 'amavisd'; +//* Rspamd +$conf['rspamd']['installed'] = false; // will be detected automatically during installation +$conf['rspamd']['config_dir'] = '/etc/rspamd'; +$conf['rspamd']['init_script'] = 'rspamd'; + //* ClamAV $conf['clamav']['installed'] = false; // will be detected automatically during installation $conf['clamav']['init_script'] = 'clamd'; diff --git a/install/dist/conf/centos72.conf.php b/install/dist/conf/centos72.conf.php index 221cc5d7c40cbaf72a014f61bdb2bb2947f646e8..8bb2ca5239875b47d37a36a7ca940517f8091b57 100644 --- a/install/dist/conf/centos72.conf.php +++ b/install/dist/conf/centos72.conf.php @@ -96,6 +96,9 @@ $conf['web']['apps_vhost_servername'] = ''; $conf['web']['apps_vhost_user'] = 'ispapps'; $conf['web']['apps_vhost_group'] = 'ispapps'; +//* AWStats settings +$conf['awstats']['pl'] = '/usr/share/awstats/wwwroot/cgi-bin/awstats.pl'; + //* Fastcgi $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/'; $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; diff --git a/install/dist/conf/centos80.conf.php b/install/dist/conf/centos80.conf.php index 04257d4dfece9aab36e1b2506431a7f5a934df7c..0411fb9ce5e95238cf29c0cf1afb374cd5458209 100644 --- a/install/dist/conf/centos80.conf.php +++ b/install/dist/conf/centos80.conf.php @@ -96,6 +96,9 @@ $conf['web']['apps_vhost_servername'] = ''; $conf['web']['apps_vhost_user'] = 'ispapps'; $conf['web']['apps_vhost_group'] = 'ispapps'; +//* AWStats settings +$conf['awstats']['pl'] = '/usr/share/awstats/wwwroot/cgi-bin/awstats.pl'; + //* Fastcgi $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/'; $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; diff --git a/install/dist/conf/debian100.conf.php b/install/dist/conf/debian100.conf.php index 28d82b80794fad567dec6720a890596bd4838bcb..0861af83deb1729230d9d978e0cdd38b0d0371d4 100644 --- a/install/dist/conf/debian100.conf.php +++ b/install/dist/conf/debian100.conf.php @@ -153,6 +153,11 @@ $conf['amavis']['installed'] = false; // will be detected automatically during i $conf['amavis']['config_dir'] = '/etc/amavis'; $conf['amavis']['init_script'] = 'amavis'; +//* Rspamd +$conf['rspamd']['installed'] = false; // will be detected automatically during installation +$conf['rspamd']['config_dir'] = '/etc/rspamd'; +$conf['rspamd']['init_script'] = 'rspamd'; + //* ClamAV $conf['clamav']['installed'] = false; // will be detected automatically during installation $conf['clamav']['init_script'] = 'clamav-daemon'; diff --git a/install/dist/conf/debian110.conf.php b/install/dist/conf/debian110.conf.php new file mode 100644 index 0000000000000000000000000000000000000000..c60152df5c846daa79feaa03868cc65236f0e32a --- /dev/null +++ b/install/dist/conf/debian110.conf.php @@ -0,0 +1,239 @@ + diff --git a/install/dist/conf/debiantesting.conf.php b/install/dist/conf/debiantesting.conf.php index 6ea9112dff854e87e39fac2c521d48cecf5fe840..cbc380fffb931252aba4593aad1a8376a0b4d84a 100644 --- a/install/dist/conf/debiantesting.conf.php +++ b/install/dist/conf/debiantesting.conf.php @@ -32,7 +32,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //* Main $conf['language'] = 'en'; -$conf['distname'] = 'debian100'; +$conf['distname'] = 'debian110'; $conf['hostname'] = 'server1.domain.tld'; // Full hostname $conf['ispconfig_install_dir'] = '/usr/local/ispconfig'; $conf['ispconfig_config_dir'] = '/usr/local/ispconfig'; @@ -83,8 +83,8 @@ $conf['apache']['version'] = '2.4'; $conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available'; $conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled'; $conf['apache']['vhost_port'] = '8080'; -$conf['apache']['php_ini_path_apache'] = '/etc/php/7.3/apache2/php.ini'; -$conf['apache']['php_ini_path_cgi'] = '/etc/php/7.3/cgi/php.ini'; +$conf['apache']['php_ini_path_apache'] = '/etc/php/7.4/apache2/php.ini'; +$conf['apache']['php_ini_path_cgi'] = '/etc/php/7.4/cgi/php.ini'; //* Website base settings $conf['web']['website_basedir'] = '/var/www'; @@ -99,7 +99,7 @@ $conf['web']['apps_vhost_user'] = 'ispapps'; $conf['web']['apps_vhost_group'] = 'ispapps'; //* Fastcgi -$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/7.3/cgi/'; +$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/7.4/cgi/'; $conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/'; $conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi'; @@ -210,11 +210,11 @@ $conf['nginx']['vhost_conf_enabled_dir'] = '/etc/nginx/sites-enabled'; $conf['nginx']['init_script'] = 'nginx'; $conf['nginx']['vhost_port'] = '8080'; $conf['nginx']['cgi_socket'] = '/var/run/fcgiwrap.socket'; -$conf['nginx']['php_fpm_init_script'] = 'php7.3-fpm'; -$conf['nginx']['php_fpm_ini_path'] = '/etc/php/7.3/fpm/php.ini'; -$conf['nginx']['php_fpm_pool_dir'] = '/etc/php/7.3/fpm/pool.d'; +$conf['nginx']['php_fpm_init_script'] = 'php7.4-fpm'; +$conf['nginx']['php_fpm_ini_path'] = '/etc/php/7.4/fpm/php.ini'; +$conf['nginx']['php_fpm_pool_dir'] = '/etc/php/7.4/fpm/pool.d'; $conf['nginx']['php_fpm_start_port'] = 9010; -$conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php7.3-fpm'; +$conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php7.4-fpm'; //* OpenVZ $conf['openvz']['installed'] = false; diff --git a/install/dist/conf/fedora32.conf.php b/install/dist/conf/fedora32.conf.php new file mode 100644 index 0000000000000000000000000000000000000000..6701bb8729f66efaf198deed3b2037bc15475049 --- /dev/null +++ b/install/dist/conf/fedora32.conf.php @@ -0,0 +1,229 @@ + diff --git a/install/dist/conf/fedora33.conf.php b/install/dist/conf/fedora33.conf.php new file mode 100644 index 0000000000000000000000000000000000000000..873376fa2cc5ddfbb1dcb63a360040083f196d32 --- /dev/null +++ b/install/dist/conf/fedora33.conf.php @@ -0,0 +1,229 @@ + diff --git a/install/dist/conf/fedora9.conf.php b/install/dist/conf/fedora9.conf.php index 19c9a4f6259600499d493c66718cf64bb7ff0a13..23453ae48fc5fea77fbd965a8d57d28cafd49032 100644 --- a/install/dist/conf/fedora9.conf.php +++ b/install/dist/conf/fedora9.conf.php @@ -154,7 +154,7 @@ $conf['rspamd']['init_script'] = 'rspamd'; //* ClamAV $conf['clamav']['installed'] = false; // will be detected automatically during installation -$conf['clamav']['init_script'] = 'clamd.amavisd'; +$conf['clamav']['init_script'] = 'clamd@amavisd'; //* Pureftpd $conf['pureftpd']['installed'] = false; // will be detected automatically during installation diff --git a/install/dist/conf/opensuse110.conf.php b/install/dist/conf/opensuse110.conf.php index e389c3b2a0ea727d619b453c477ef0a8f0964122..37f5a14d3b8e28f8517ac42e07690c8197480cb3 100644 --- a/install/dist/conf/opensuse110.conf.php +++ b/install/dist/conf/opensuse110.conf.php @@ -147,6 +147,11 @@ $conf['amavis']['installed'] = false; // will be detected automatically during i $conf['amavis']['config_dir'] = '/etc/amavis'; $conf['amavis']['init_script'] = 'amavis'; +//* Rspamd +$conf['rspamd']['installed'] = false; // will be detected automatically during installation +$conf['rspamd']['config_dir'] = '/etc/rspamd'; +$conf['rspamd']['init_script'] = 'rspamd'; + //* ClamAV $conf['clamav']['installed'] = false; // will be detected automatically during installation $conf['clamav']['init_script'] = 'clamd'; diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php index a8e90f189b47e43a25cfa02e40ace9c67c984733..981e6cff92a70216656435bddb10a393f01dca54 100644 --- a/install/dist/lib/debian60.lib.php +++ b/install/dist/lib/debian60.lib.php @@ -33,13 +33,13 @@ class installer extends installer_base { public function configure_dovecot() { global $conf; - + $virtual_transport = 'dovecot'; $configure_lmtp = false; // use lmtp if installed - if($configure_lmtp = is_file('/usr/lib/dovecot/lmtp')) { + if($configure_lmtp = (is_file('/usr/lib/dovecot/lmtp') || is_file('/usr/libexec/dovecot/lmtp'))) { $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; } @@ -48,7 +48,7 @@ class installer extends installer_base { $tmp = $this->db->queryOneRecord("SELECT * FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . ".server", $conf['server_id']); $ini_array = ini_to_array(stripslashes($tmp['config'])); // ini_array needs not to be checked, because already done in update.php -> updateDbAndIni() - + if(isset($ini_array['mail']['mailbox_virtual_uidgid_maps']) && $ini_array['mail']['mailbox_virtual_uidgid_maps'] == 'y') { $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; $configure_lmtp = true; @@ -108,6 +108,13 @@ class installer extends installer_base { } else { copy('tpl/debian6_dovecot2.conf.master', $config_dir.'/'.$configfile); } + // Copy custom config file + if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/dovecot_custom.conf.master')) { + if(!@is_dir($config_dir . '/conf.d')) { + mkdir($config_dir . '/conf.d'); + } + copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/dovecot_custom.conf.master', $config_dir.'/conf.d/99-ispconfig-custom-config.conf'); + } replaceLine($config_dir.'/'.$configfile, 'postmaster_address = postmaster@example.com', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0); replaceLine($config_dir.'/'.$configfile, 'postmaster_address = webmaster@localhost', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0); if(version_compare($dovecot_version,2.1) < 0) { @@ -123,7 +130,7 @@ class installer extends installer_base { if(version_compare($dovecot_version,2.3) >= 0) { // Remove deprecated setting(s) removeLine($config_dir.'/'.$configfile, 'ssl_protocols ='); - + // Check if we have a dhparams file and if not, create it if(!file_exists('/etc/dovecot/dh.pem')) { swriteln('Creating new DHParams file, this takes several minutes. Do not interrupt the script.'); @@ -146,7 +153,7 @@ class installer extends installer_base { $content = str_replace('#2.3+ ','',$content); file_put_contents($config_dir.'/'.$configfile,$content); unset($content); - + } else { // remove settings which are not supported in Dovecot < 2.3 removeLine($config_dir.'/'.$configfile, 'ssl_min_protocol ='); @@ -159,7 +166,7 @@ class installer extends installer_base { copy('tpl/debian6_dovecot.conf.master', $config_dir.'/'.$configfile); } } - + $dovecot_protocols = 'imap pop3'; //* dovecot-lmtpd @@ -168,7 +175,7 @@ class installer extends installer_base { } //* dovecot-managesieved - if(is_file('/usr/lib/dovecot/managesieve')) { + if(is_file('/usr/lib/dovecot/managesieve') || is_file('/usr/libexec/dovecot/managesieve')) { $dovecot_protocols .= ' sieve'; } @@ -196,7 +203,7 @@ class installer extends installer_base { chmod($config_dir.'/'.$configfile, 0600); chown($config_dir.'/'.$configfile, 'root'); chgrp($config_dir.'/'.$configfile, 'root'); - + // Dovecot shall ignore mounts in website directory if(is_installed('doveadm')) exec("doveadm mount add '/var/www/*' ignore > /dev/null 2> /dev/null"); diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 2d31b89bbd63bd459b1721e911e979820bcb0e60..2e46ed16d351ae9bf906c588e8f39a36bd40989c 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -47,268 +47,6 @@ class installer_dist extends installer_base { } } - function configure_postfix($options = '') - { - global $conf,$autoinstall; - $cf = $conf['postfix']; - $config_dir = $cf['config_dir']; - - if(!is_dir($config_dir)){ - $this->error("The postfix configuration directory '$config_dir' does not exist."); - } - - //* mysql-virtual_domains.cf - $this->process_postfix_config('mysql-virtual_domains.cf'); - - //* mysql-virtual_forwardings.cf - $this->process_postfix_config('mysql-virtual_forwardings.cf'); - - //* mysql-virtual_alias_domains.cf - $this->process_postfix_config('mysql-virtual_alias_domains.cf'); - - //* mysql-virtual_alias_maps.cf - $this->process_postfix_config('mysql-virtual_alias_maps.cf'); - - //* mysql-virtual_mailboxes.cf - $this->process_postfix_config('mysql-virtual_mailboxes.cf'); - - //* mysql-virtual_email2email.cf - $this->process_postfix_config('mysql-virtual_email2email.cf'); - - //* mysql-virtual_transports.cf - $this->process_postfix_config('mysql-virtual_transports.cf'); - - //* mysql-virtual_recipient.cf - $this->process_postfix_config('mysql-virtual_recipient.cf'); - - //* mysql-virtual_sender.cf - $this->process_postfix_config('mysql-virtual_sender.cf'); - - //* mysql-virtual_sender_login_maps.cf - $this->process_postfix_config('mysql-virtual_sender_login_maps.cf'); - - //* mysql-virtual_client.cf - $this->process_postfix_config('mysql-virtual_client.cf'); - - //* mysql-virtual_relaydomains.cf - $this->process_postfix_config('mysql-virtual_relaydomains.cf'); - - //* mysql-virtual_relayrecipientmaps.cf - $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf'); - - //* mysql-virtual_outgoing_bcc.cf - $this->process_postfix_config('mysql-virtual_outgoing_bcc.cf'); - - //* mysql-virtual_policy_greylist.cf - $this->process_postfix_config('mysql-virtual_policy_greylist.cf'); - - //* mysql-virtual_gids.cf.master - $this->process_postfix_config('mysql-virtual_gids.cf'); - - //* mysql-virtual_uids.cf - $this->process_postfix_config('mysql-virtual_uids.cf'); - - //* mysql-virtual_alias_domains.cf - $this->process_postfix_config('mysql-verify_recipients.cf'); - - //* postfix-dkim - $filename='tag_as_originating.re'; - $full_file_name=$config_dir.'/'.$filename; - if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~'); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/postfix-'.$filename.'.master', 'tpl/postfix-'.$filename.'.master'); - wf($full_file_name, $content); - - $filename='tag_as_foreign.re'; - $full_file_name=$config_dir.'/'.$filename; - if(is_file($full_file_name)) copy($full_file_name, $full_file_name.'~'); - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/postfix-'.$filename.'.master', 'tpl/postfix-'.$filename.'.master'); - wf($full_file_name, $content); - - //* Creating virtual mail user and group - $command = 'groupadd -g '.$cf['vmail_groupid'].' '.$cf['vmail_groupname']; - if(!is_group($cf['vmail_groupname'])) caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - - $command = 'useradd -g '.$cf['vmail_groupname'].' -u '.$cf['vmail_userid'].' '.$cf['vmail_username'].' -d '.$cf['vmail_mailbox_base'].' -m'; - if(!is_user($cf['vmail_username'])) caselog("$command &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - - //* These postconf commands will be executed on installation and update - $server_ini_rec = $this->db->queryOneRecord("SELECT config FROM server WHERE server_id = ?", $conf['server_id']); - $server_ini_array = ini_to_array(stripslashes($server_ini_rec['config'])); - unset($server_ini_rec); - - //* If there are RBL's defined, format the list and add them to smtp_recipient_restrictions to prevent removeal after an update - $rbl_list = ''; - if (@isset($server_ini_array['mail']['realtime_blackhole_list']) && $server_ini_array['mail']['realtime_blackhole_list'] != '') { - $rbl_hosts = explode(",", str_replace(" ", "", $server_ini_array['mail']['realtime_blackhole_list'])); - foreach ($rbl_hosts as $key => $value) { - $rbl_list .= ", reject_rbl_client ". $value; - } - } - unset($rbl_hosts); - - //* If Postgrey is installed, configure it - $greylisting = ''; - if($conf['postgrey']['installed'] == true) { - $greylisting = ', check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf'; - } - - $reject_sender_login_mismatch = ''; - $reject_authenticated_sender_login_mismatch = ''; - if(isset($server_ini_array['mail']['reject_sender_login_mismatch']) && ($server_ini_array['mail']['reject_sender_login_mismatch'] == 'y')) { - $reject_sender_login_mismatch = ', reject_sender_login_mismatch'; - $reject_authenticated_sender_login_mismatch = 'reject_authenticated_sender_login_mismatch, '; - } - - # placeholder includes comment char - $stress_adaptive_placeholder = '#{stress_adaptive} '; - $stress_adaptive = (isset($server_ini_array['mail']['stress_adaptive']) && ($server_ini_array['mail']['stress_adaptive'] == 'y')) ? '' : $stress_adaptive_placeholder; - - unset($server_ini_array); - - $postconf_placeholders = array('{config_dir}' => $config_dir, - '{vmail_mailbox_base}' => $cf['vmail_mailbox_base'], - '{vmail_userid}' => $cf['vmail_userid'], - '{vmail_groupid}' => $cf['vmail_groupid'], - '{rbl_list}' => $rbl_list, - '{greylisting}' => $greylisting, - '{reject_slm}' => $reject_sender_login_mismatch, - '{reject_aslm}' => $reject_authenticated_sender_login_mismatch, - $stress_adaptive_placeholder => $stress_adaptive, - ); - - $postconf_tpl = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/fedora_postfix.conf.master', 'tpl/fedora_postfix.conf.master'); - $postconf_tpl = strtr($postconf_tpl, $postconf_placeholders); - $postconf_commands = array_filter(explode("\n", $postconf_tpl)); // read and remove empty lines - - //* These postconf commands will be executed on installation only - if($this->is_update == false) { - $postconf_commands = array_merge($postconf_commands, array( - 'myhostname = '.$conf['hostname'], - 'mydestination = '.$conf['hostname'].', localhost, localhost.localdomain', - 'mynetworks = 127.0.0.0/8 [::1]/128' - )); - } - - //* Create the header and body check files - touch($config_dir.'/header_checks'); - touch($config_dir.'/mime_header_checks'); - touch($config_dir.'/nested_header_checks'); - touch($config_dir.'/body_checks'); - - //* Create the mailman files - if(!is_dir('/var/lib/mailman/data')) exec('mkdir -p /var/lib/mailman/data'); - //if(!is_file('/var/lib/mailman/data/aliases')) touch('/var/lib/mailman/data/aliases'); - if(is_file('/var/lib/mailman/data/aliases')) unlink('/var/lib/mailman/data/aliases'); - if(!is_link('/var/lib/mailman/data/aliases')) symlink('/etc/mailman/aliases', '/var/lib/mailman/data/aliases'); - if(!is_dir('/etc/mailman')) mkdir('/etc/mailman'); - if(!is_file('/etc/mailman/aliases')) touch('/etc/mailman/aliases'); - exec('postalias /var/lib/mailman/data/aliases'); - if(!is_file('/etc/mailman/virtual-mailman')) touch('/etc/mailman/virtual-mailman'); - exec('postmap /etc/mailman/virtual-mailman'); - if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman'); - exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman'); - - //* Create auxillary postfix conf files - $configfile = 'helo_access'; - if(is_file($config_dir.'/'.$configfile)) { - copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); - chmod($config_dir.'/'.$configfile.'~', 0400); - } - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); - $content = strtr($content, $postconf_placeholders); - # todo: look up this server's ip addrs and loop through each - # todo: look up domains hosted on this server and loop through each - wf($config_dir.'/'.$configfile, $content); - - $configfile = 'blacklist_helo'; - if(is_file($config_dir.'/'.$configfile)) { - copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); - chmod($config_dir.'/'.$configfile.'~', 0400); - } - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); - $content = strtr($content, $postconf_placeholders); - wf($config_dir.'/'.$configfile, $content); - - //* Make a backup copy of the main.cf file - copy($config_dir.'/main.cf', $config_dir.'/main.cf~'); - - //* Executing the postconf commands - foreach($postconf_commands as $cmd) { - $command = "postconf -e '$cmd'"; - caselog($command." &> /dev/null", __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); - } - - if(!stristr($options, 'dont-create-certs')) { - //* Create the SSL certificate - 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'; - caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); - } - - //** We have to change the permissions of the courier authdaemon directory to make it accessible for maildrop. - $command = 'chmod 755 /var/spool/authdaemon'; - caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command); - - //* Changing maildrop lines in posfix master.cf - if(is_file($config_dir.'/master.cf')){ - copy($config_dir.'/master.cf', $config_dir.'/master.cf~'); - } - if(is_file($config_dir.'/master.cf~')){ - exec('chmod 400 '.$config_dir.'/master.cf~'); - } - $configfile = $config_dir.'/master.cf'; - $content = rf($configfile); - // if postfix package is from fedora or centios main repo - $content = str_replace('# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}', - ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', - $content); - - // If postfix package is from centos plus repo - $content = str_replace('# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}', - ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', - $content); - - $content = str_replace(' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}', - ' flags=DRhu user='.$cf['vmail_username'].' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}', - $content); - - - $content = str_replace('#maildrop unix - n n - - pipe', - 'maildrop unix - n n - - pipe', - $content); - - wf($configfile, $content); - - //* Writing the Maildrop mailfilter file - $configfile = 'mailfilter'; - if(is_file($cf['vmail_mailbox_base'].'/.'.$configfile)){ - copy($cf['vmail_mailbox_base'].'/.'.$configfile, $cf['vmail_mailbox_base'].'/.'.$configfile.'~'); - } - $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', "tpl/$configfile.master"); - $content = str_replace('{dist_postfix_vmail_mailbox_base}', $cf['vmail_mailbox_base'], $content); - wf($cf['vmail_mailbox_base'].'/.'.$configfile, $content); - - //* Create the directory for the custom mailfilters - $command = 'mkdir '.$cf['vmail_mailbox_base'].'/mailfilters'; - caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - - //* Chmod and chown the .mailfilter file - $command = 'chown -R '.$cf['vmail_username'].':'.$cf['vmail_groupname'].' '.$cf['vmail_mailbox_base'].'/.mailfilter'; - caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - - $command = 'chmod -R 600 '.$cf['vmail_mailbox_base'].'/.mailfilter'; - caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); - - } - public function configure_saslauthd() { global $conf; @@ -381,6 +119,11 @@ class installer_dist extends installer_base { $configure_lmtp = false; + // use lmtp if installed + if($configure_lmtp = (is_file('/usr/lib/dovecot/lmtp') || is_file('/usr/libexec/dovecot/lmtp'))) { + $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; + } + // check if virtual_transport must be changed if ($this->is_update) { $tmp = $this->db->queryOneRecord("SELECT * FROM ?? WHERE server_id = ?", $conf["mysql"]["database"] . ".server", $conf['server_id']); @@ -1208,8 +951,8 @@ class installer_dist extends installer_base { caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); if ($this->install_ispconfig_interface == true && isset($conf['interface_password']) && $conf['interface_password']!='admin') { - $sql = "UPDATE sys_user SET passwort = md5(?) WHERE username = 'admin';"; - $this->db->query($sql, $conf['interface_password']); + $sql = "UPDATE sys_user SET passwort = ? WHERE username = 'admin';"; + $this->db->query($sql, $this->crypt_password($conf['interface_password'])); } if($conf['apache']['installed'] == true && $this->install_ispconfig_interface == true){ @@ -1353,6 +1096,7 @@ class installer_dist extends installer_base { //* Create the ispconfig log directory if(!is_dir($conf['ispconfig_log_dir'])) mkdir($conf['ispconfig_log_dir']); if(!is_file($conf['ispconfig_log_dir'].'/ispconfig.log')) exec('touch '.$conf['ispconfig_log_dir'].'/ispconfig.log'); + chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600); if(is_user('getmail')) { exec('mv /usr/local/ispconfig/server/scripts/run-getmail.sh /usr/local/bin/run-getmail.sh'); diff --git a/interface/web/admin/software_repo_list.php b/install/dist/lib/fedora32.lib.php similarity index 72% rename from interface/web/admin/software_repo_list.php rename to install/dist/lib/fedora32.lib.php index b8afc8f9bc8f6bde874e87e75feb42e93587bd6f..3dcd7494d3326bd3618d229c950518e8c200f3e4 100644 --- a/interface/web/admin/software_repo_list.php +++ b/install/dist/lib/fedora32.lib.php @@ -1,7 +1,7 @@ auth->check_module_permissions('admin'); - -$app->uses('listform_actions'); - -$app->listform_actions->onLoad(); +class installer extends installer_centos { + protected $clamav_socket = '/var/run/clamd.amavisd/clamd.sock'; + + // everything else is inherited from installer_centos class +} ?> diff --git a/interface/web/admin/software_repo_del.php b/install/dist/lib/fedora33.lib.php similarity index 66% rename from interface/web/admin/software_repo_del.php rename to install/dist/lib/fedora33.lib.php index 630993717ce6dd20e3e77804bbf4497e6b6c0f2e..3dcd7494d3326bd3618d229c950518e8c200f3e4 100644 --- a/interface/web/admin/software_repo_del.php +++ b/install/dist/lib/fedora33.lib.php @@ -1,7 +1,7 @@ auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_repo'); -if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.'); - -$app->uses("tform_actions"); -$app->tform_actions->onDelete(); + protected $clamav_socket = '/var/run/clamd.amavisd/clamd.sock'; + + // everything else is inherited from installer_centos class +} ?> diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index 342a583facb64e433a8410abf136c570f7e34df2..83a4b5ffafee0b140530913f8c9bde449dad0b04 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -63,6 +63,9 @@ class installer extends installer_base $this->process_postfix_config( basename($filename, '.master') ); } + //* mysql-verify_recipients.cf + $this->process_postfix_config('mysql-verify_recipients.cf'); + //* Changing mode and group of the new created config files. caselog('chmod o= '.$config_dir.'/mysql-virtual_*.cf* &> /dev/null', __FILE__, __LINE__, 'chmod on mysql-virtual_*.cf*', 'chmod on mysql-virtual_*.cf* failed'); @@ -112,8 +115,19 @@ class installer extends installer_base $stress_adaptive_placeholder = '#{stress_adaptive} '; $stress_adaptive = (isset($server_ini_array['mail']['stress_adaptive']) && ($server_ini_array['mail']['stress_adaptive'] == 'y')) ? '' : $stress_adaptive_placeholder; + $reject_unknown_client_hostname=''; + if (isset($server_ini_array['mail']['reject_unknown']) && ($server_ini_array['mail']['reject_unknown'] == 'client' || $server_ini_array['mail']['reject_unknown'] == 'client_helo')) { + $reject_unknown_client_hostname=',reject_unknown_client_hostname'; + } + $reject_unknown_helo_hostname=''; + if ((!isset($server_ini_array['mail']['reject_unknown'])) || $server_ini_array['mail']['reject_unknown'] == 'helo' || $server_ini_array['mail']['reject_unknown'] == 'client_helo') { + $reject_unknown_helo_hostname=',reject_unknown_helo_hostname'; + } + unset($server_ini_array); + $myhostname = str_replace('.','\.',$conf['hostname']); + $postconf_placeholders = array('{config_dir}' => $config_dir, '{vmail_mailbox_base}' => $cf['vmail_mailbox_base'], '{vmail_userid}' => $cf['vmail_userid'], @@ -122,7 +136,10 @@ class installer extends installer_base '{greylisting}' => $greylisting, '{reject_slm}' => $reject_sender_login_mismatch, '{reject_aslm}' => $reject_authenticated_sender_login_mismatch, + '{myhostname}' => $myhostname, $stress_adaptive_placeholder => $stress_adaptive, + '{reject_unknown_client_hostname}' => $reject_unknown_client_hostname, + '{reject_unknown_helo_hostname}' => $reject_unknown_helo_hostname, ); $postconf_tpl = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/gentoo_postfix.conf.master', 'tpl/gentoo_postfix.conf.master'); @@ -143,6 +160,7 @@ class installer extends installer_base touch($config_dir.'/mime_header_checks'); touch($config_dir.'/nested_header_checks'); touch($config_dir.'/body_checks'); + touch($config_dir.'/sasl_passwd'); //* Create auxillary postfix conf files $configfile = 'helo_access'; @@ -513,10 +531,10 @@ class installer extends installer_base //* load the powerdns databse dump if($conf['mysql']['admin_password'] == '') { - caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", + caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' --force '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); } else { - caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", + caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' --force '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); } @@ -1101,8 +1119,8 @@ class installer extends installer_base caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); if ($this->install_ispconfig_interface == true && isset($conf['interface_password']) && $conf['interface_password']!='admin') { - $sql = "UPDATE sys_user SET passwort = md5(?) WHERE username = 'admin';"; - $this->db->query($sql, $conf['interface_password']); + $sql = "UPDATE sys_user SET passwort = ? WHERE username = 'admin';"; + $this->db->query($sql, $this->crypt_password($conf['interface_password'])); } if($conf['apache']['installed'] == true && $this->install_ispconfig_interface == true){ @@ -1238,6 +1256,7 @@ class installer extends installer_base if (!is_file($conf['ispconfig_log_dir'].'/ispconfig.log')) { touch($conf['ispconfig_log_dir'].'/ispconfig.log'); } + chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600); //* Create the ispconfig auth log file and set uid/gid if(!is_file($conf['ispconfig_log_dir'].'/auth.log')) { diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 07dd5cc690f36cb46d6556e1a67cd9dae38c416e..3effb1d10c8cc61af717601cdaece67e784e9444 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -57,55 +57,12 @@ class installer_dist extends installer_base { $this->error("The postfix configuration directory '$config_dir' does not exist."); } - //* mysql-virtual_domains.cf - $this->process_postfix_config('mysql-virtual_domains.cf'); - - //* mysql-virtual_forwardings.cf - $this->process_postfix_config('mysql-virtual_forwardings.cf'); - - //* mysql-virtual_alias_domains.cf - $this->process_postfix_config('mysql-virtual_alias_domains.cf'); - - //* mysql-virtual_alias_maps.cf - $this->process_postfix_config('mysql-virtual_alias_maps.cf'); - - //* mysql-virtual_mailboxes.cf - $this->process_postfix_config('mysql-virtual_mailboxes.cf'); - - //* mysql-virtual_email2email.cf - $this->process_postfix_config('mysql-virtual_email2email.cf'); - - //* mysql-virtual_transports.cf - $this->process_postfix_config('mysql-virtual_transports.cf'); - - //* mysql-virtual_recipient.cf - $this->process_postfix_config('mysql-virtual_recipient.cf'); - - //* mysql-virtual_sender.cf - $this->process_postfix_config('mysql-virtual_sender.cf'); - - //* mysql-virtual_sender_login_maps.cf - $this->process_postfix_config('mysql-virtual_sender_login_maps.cf'); - - //* mysql-virtual_client.cf - $this->process_postfix_config('mysql-virtual_client.cf'); - - //* mysql-virtual_relaydomains.cf - $this->process_postfix_config('mysql-virtual_relaydomains.cf'); - - //* mysql-virtual_relayrecipientmaps.cf - $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf'); - - //* mysql-virtual_policy_greylist.cf - $this->process_postfix_config('mysql-virtual_policy_greylist.cf'); - - //* mysql-virtual_gids.cf.master - $this->process_postfix_config('mysql-virtual_gids.cf'); - - //* mysql-virtual_uids.cf - $this->process_postfix_config('mysql-virtual_uids.cf'); + //* Install virtual mappings + foreach (glob('tpl/mysql-virtual_*.master') as $filename) { + $this->process_postfix_config( basename($filename, '.master') ); + } - //* mysql-virtual_alias_domains.cf + //* mysql-verify_recipients.cf $this->process_postfix_config('mysql-verify_recipients.cf'); //* postfix-dkim @@ -174,8 +131,19 @@ class installer_dist extends installer_base { $stress_adaptive_placeholder = '#{stress_adaptive} '; $stress_adaptive = (isset($server_ini_array['mail']['stress_adaptive']) && ($server_ini_array['mail']['stress_adaptive'] == 'y')) ? '' : $stress_adaptive_placeholder; + $reject_unknown_client_hostname=''; + if (isset($server_ini_array['mail']['reject_unknown']) && ($server_ini_array['mail']['reject_unknown'] == 'client' || $server_ini_array['mail']['reject_unknown'] == 'client_helo')) { + $reject_unknown_client_hostname=',reject_unknown_client_hostname'; + } + $reject_unknown_helo_hostname=''; + if ((!isset($server_ini_array['mail']['reject_unknown'])) || $server_ini_array['mail']['reject_unknown'] == 'helo' || $server_ini_array['mail']['reject_unknown'] == 'client_helo') { + $reject_unknown_helo_hostname=',reject_unknown_helo_hostname'; + } + unset($server_ini_array); + $myhostname = str_replace('.','\.',$conf['hostname']); + $postconf_placeholders = array('{config_dir}' => $config_dir, '{vmail_mailbox_base}' => $cf['vmail_mailbox_base'], '{vmail_userid}' => $cf['vmail_userid'], @@ -184,7 +152,10 @@ class installer_dist extends installer_base { '{greylisting}' => $greylisting, '{reject_slm}' => $reject_sender_login_mismatch, '{reject_aslm}' => $reject_authenticated_sender_login_mismatch, + '{myhostname}' => $myhostname, $stress_adaptive_placeholder => $stress_adaptive, + '{reject_unknown_client_hostname}' => $reject_unknown_client_hostname, + '{reject_unknown_helo_hostname}' => $reject_unknown_helo_hostname, ); $postconf_tpl = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/opensuse_postfix.conf.master', 'tpl/opensuse_postfix.conf.master'); @@ -205,6 +176,7 @@ class installer_dist extends installer_base { touch($config_dir.'/mime_header_checks'); touch($config_dir.'/nested_header_checks'); touch($config_dir.'/body_checks'); + touch($config_dir.'/sasl_passwd'); //* Create the mailman files if(!is_dir('/var/lib/mailman/data')) exec('mkdir -p /var/lib/mailman/data'); @@ -1201,8 +1173,8 @@ class installer_dist extends installer_base { caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); if ($this->install_ispconfig_interface == true && isset($conf['interface_password']) && $conf['interface_password']!='admin') { - $sql = "UPDATE sys_user SET passwort = md5(?) WHERE username = 'admin';"; - $this->db->query($sql, $conf['interface_password']); + $sql = "UPDATE sys_user SET passwort = ? WHERE username = 'admin';"; + $this->db->query($sql, $this->crypt_password($conf['interface_password'])); } if($conf['apache']['installed'] == true && $this->install_ispconfig_interface == true){ @@ -1355,6 +1327,7 @@ class installer_dist extends installer_base { //* Create the ispconfig log directory if(!is_dir($conf['ispconfig_log_dir'])) mkdir($conf['ispconfig_log_dir']); if(!is_file($conf['ispconfig_log_dir'].'/ispconfig.log')) exec('touch '.$conf['ispconfig_log_dir'].'/ispconfig.log'); + chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600); if(is_user('getmail')) { exec('mv /usr/local/ispconfig/server/scripts/run-getmail.sh /usr/local/bin/run-getmail.sh'); diff --git a/install/dist/tpl/gentoo/amavisd-ispconfig.conf.master b/install/dist/tpl/gentoo/amavisd-ispconfig.conf.master index 7e42c8a362b86f9255fbd46aa16c3a546b727a34..c60b50e2fa9aa47e3a9a93b187c701ba7c6d7e34 100644 --- a/install/dist/tpl/gentoo/amavisd-ispconfig.conf.master +++ b/install/dist/tpl/gentoo/amavisd-ispconfig.conf.master @@ -51,7 +51,8 @@ use strict; $sql_select_policy = 'SELECT *,spamfilter_users.id'. ' FROM spamfilter_users LEFT JOIN spamfilter_policy ON spamfilter_users.policy_id=spamfilter_policy.id'. - ' WHERE spamfilter_users.email IN (%k) ORDER BY spamfilter_users.priority DESC'; + ' WHERE spamfilter_users.email IN (%k) AND spamfilter_users.policy_id != 0'. + ' ORDER BY spamfilter_users.priority DESC'; $sql_select_white_black_list = 'SELECT wb FROM spamfilter_wblist'. diff --git a/install/dist/tpl/gentoo/apache_ispconfig.vhost.master b/install/dist/tpl/gentoo/apache_ispconfig.vhost.master index 20e7b3b684f68f3c19388f8d25b39e138e62295f..01b3b383d572c4de38036ecaeadafcc079cd8e8c 100644 --- a/install/dist/tpl/gentoo/apache_ispconfig.vhost.master +++ b/install/dist/tpl/gentoo/apache_ispconfig.vhost.master @@ -12,6 +12,8 @@ ServerAdmin webmaster@localhost + Alias /mail /var/www/ispconfig/mail + DocumentRoot /var/www/ispconfig/ SuexecUserGroup ispconfig ispconfig diff --git a/install/install.php b/install/install.php index 121e3a13cce6edc5894c69eb54d355ce9c7fd0bf..b94c1c7f6f78346b3b63ddb4583c766b2d47d7b3 100644 --- a/install/install.php +++ b/install/install.php @@ -146,7 +146,6 @@ include_once 'dist/conf/'.$dist['confid'].'.conf.php'; //** Installer Interface //**************************************************************************************************** $inst = new installer(); -if (!$inst->get_php_version()) die('ISPConfig requires PHP '.$inst->min_php."\n"); $retval=shell_exec("which which"); if (empty($retval)) die ("ISPConfig requires which \n"); @@ -161,8 +160,13 @@ if(!is_writable(dirname(ISPC_LOG_FILE))){ die("ERROR: Cannot write to the ".dirname(ISPC_LOG_FILE)." directory. Are you root or sudo ?\n\n"); } +//** Check for ISPConfig 2.x versions if(is_dir('/root/ispconfig') || is_dir('/home/admispconfig')) { - die('This software cannot be installed on a server wich runs ISPConfig 2.x.'); + if(is_dir('/home/admispconfig')) { + die('This software cannot be installed on a server which runs ISPConfig 2.x.'); + } else { + die('This software cannot be installed on a server which runs ISPConfig 2.x; the presence of the /root/ispconfig/ directory may indicate an ISPConfig 2.x installation, otherwise you can remove or rename it to continue.'); + } } if(is_dir('/usr/local/ispconfig')) { @@ -172,6 +176,11 @@ if(is_dir('/usr/local/ispconfig')) { //** Detect the installed applications $inst->find_installed_apps(); +//* crontab required by ISPConfig +if(!$conf['cron']['installed']) { + die("crontab not found; please install a compatible cron daemon before ISPConfig\n\n"); +} + //** Select the language and set default timezone $conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en','language'); $conf['timezone'] = get_system_timezone(); @@ -593,6 +602,9 @@ if(!$issue_asked) { } } +// update acme.sh if installed +$inst->update_acme(); + if($conf['services']['web'] == true) { //** Configure apps vhost swriteln('Configuring Apps vhost'); @@ -607,10 +619,7 @@ $inst->configure_dbserver(); //* Configure ISPConfig swriteln('Installing ISPConfig crontab'); -if($conf['cron']['installed']) { - swriteln('Installing ISPConfig crontab'); - $inst->install_crontab(); -} else swriteln('[ERROR] Cron not found'); +$inst->install_crontab(); swriteln('Detect IP addresses'); $inst->detect_ips(); diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php index 2ed873d9baf4799e80d5c556232a8cb4f50d51bc..6ff32bb785f27dd2c71adb610b23f1a0ce14e992 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -238,6 +238,13 @@ function get_distname() { $distid = 'debian60'; $distbaseid = 'debian'; swriteln("Operating System: Debian 10.0 (Buster) or compatible\n"); + } elseif(substr(trim(file_get_contents('/etc/debian_version')),0,2) == '11') { + $distname = 'Debian'; + $distver = 'Bullseye'; + $distconfid = 'debian110'; + $distid = 'debian60'; + $distbaseid = 'debian'; + swriteln("Operating System: Debian 11.0 (Bullseye) or compatible\n"); } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) { $distname = 'Debian'; $distver = 'Testing'; @@ -308,6 +315,18 @@ function get_distname() { $distid = 'fedora9'; $distbaseid = 'fedora'; swriteln("Operating System: Fedora 11 or compatible\n"); + } elseif(stristr($content, 'Fedora release 32 (Thirty Two)')) { + $distname = 'Fedora'; + $distver = '32'; + $distid = 'fedora32'; + $distbaseid = 'fedora'; + swriteln("Operating System: Fedora 32 or compatible\n"); + } elseif(stristr($content, 'Fedora release 33 (Thirty Three)')) { + $distname = 'Fedora'; + $distver = '33'; + $distid = 'fedora33'; + $distbaseid = 'fedora'; + swriteln("Operating System: Fedora 33 or compatible\n"); } elseif(stristr($content, 'CentOS release 5.2 (Final)')) { $distname = 'CentOS'; $distver = '5.2'; @@ -870,9 +889,8 @@ function get_apps_vhost_port_number() { } /* -* Get the port number of the ISPConfig controlpanel vhost -*/ - + * Check if SSL is anabled in the ISPConfig controlpanel vhost. + */ function is_ispconfig_ssl_enabled() { global $conf; $ispconfig_vhost_file = $conf['apache']['vhost_conf_dir'].'/ispconfig.vhost'; diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index c82fd16537daebade9706f989df254ccee950d67..103abaef1909859b45017bde0f9c6bda9174e7e3 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -34,8 +34,7 @@ class installer_base { var $language = 'en'; var $db; public $install_ispconfig_interface = true; - public $is_update = false; // true if it is an update, falsi if it is a new install - public $min_php = '5.4'; // minimal php-version for update / install + public $is_update = false; // true if it is an update, false if it is a new install protected $mailman_group = 'list'; @@ -43,6 +42,30 @@ class installer_base { global $conf; //TODO: maybe $conf should be passed to constructor } + private function install_acme() { + $install_cmd = 'wget -O - https://get.acme.sh | sh'; + $ret = null; + $val = 0; + exec($install_cmd . ' 2>&1', $ret, $val); + + return ($val == 0 ? true : false); + } + + public function update_acme() { + $acme = explode("\n", shell_exec('which /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh')); + $acme = reset($acme); + $val = 0; + + if($acme && is_executable($acme)) { + $cmd = $acme . ' --upgrade --auto-upgrade ; ' . $acme . ' --set-default-ca --server letsencrypt'; + $ret = null; + $val = 0; + exec($cmd. ' 2>&1', $ret, $val); + } + + return ($val == 0 ? true : false); + } + //: TODO Implement the translation function and language files for the installer. public function lng($text) { return $text; @@ -151,10 +174,32 @@ class installer_base { } } - //** Detect PHP-Version - public function get_php_version() { - if(version_compare(PHP_VERSION, $this->min_php, '<')) return false; - else return true; + public function crypt_password($cleartext_password, $charset = 'UTF-8') { + if($charset != 'UTF-8') { + $cleartext_password = mb_convert_encoding($cleartext_password, $charset, 'UTF-8'); + } + + if(defined('CRYPT_SHA512') && CRYPT_SHA512 == 1) { + $salt = '$6$rounds=5000$'; + $salt_length = 16; + } elseif(defined('CRYPT_SHA256') && CRYPT_SHA256 == 1) { + $salt = '$5$rounds=5000$'; + $salt_length = 16; + } else { + $salt = '$1$'; + $salt_length = 12; + } + + if(function_exists('openssl_random_pseudo_bytes')) { + $salt .= substr(bin2hex(openssl_random_pseudo_bytes($salt_length)), 0, $salt_length); + } else { + $base64_alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./'; + for($n = 0; $n < $salt_length; $n++) { + $salt .= $base64_alphabet[mt_rand(0, 63)]; + } + } + $salt .= "$"; + return crypt($cleartext_password, $salt); } //** Detect installed applications @@ -192,7 +237,7 @@ class installer_base { // if(is_installed('vlogger')) $conf['vlogger']['installed'] = true; // ISPConfig ships with vlogger, so it is always installed. $conf['vlogger']['installed'] = true; - if(is_installed('cron') || is_installed('anacron')) $conf['cron']['installed'] = true; + if(is_installed('crontab')) $conf['cron']['installed'] = true; if (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost"))) $this->ispconfig_interface_installed = true; } @@ -493,7 +538,7 @@ class installer_base { 0, ?, ?, - "y", + "n", "80,443" )', $conf['server_id'], $ip_type, $line); $server_ip_id = $this->dbmaster->insertID(); @@ -512,7 +557,7 @@ class installer_base { 0, ?, ?, - "y", + "n", "80,443" )', $server_ip_id, $conf['server_id'], $ip_type, $line); } else { @@ -530,7 +575,7 @@ class installer_base { 0, ?, ?, - "y", + "n", "80,443" )', $conf['server_id'], $ip_type, $line); } @@ -646,9 +691,6 @@ class installer_base { if ($verbose){ echo $query ."\n"; } - if(!$this->dbmaster->query($query, $value['db'] . '.software_update_inst', $value['user'], $host)) { - $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage); - } $query = "GRANT SELECT, UPDATE(`updated`) ON ?? TO ?@?"; if ($verbose){ @@ -666,6 +708,14 @@ class installer_base { $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage); } + $query = "GRANT SELECT ON ?? TO ?@?"; + if ($verbose){ + echo $query ."\n"; + } + if(!$this->dbmaster->query($query, $value['db'] . '.web_database', $value['user'], $host)) { + $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage); + } + $query = "GRANT SELECT ON ?? TO ?@?"; if ($verbose){ echo $query ."\n"; @@ -774,6 +824,20 @@ class installer_base { chmod($config_dir.$configfile.'~',0600); } + exec('postconf -h recipient_delimiter 2>/dev/null', $out); + if (strlen($out[0]) > 0) { + // build string like: CONCAT(SUBSTRING_INDEX(SUBSTRING_INDEX('%u', '%%', 1), '+', 1), '@%d') + $addr_cleanup = "'%u'"; + foreach (str_split($out[0]) as $delim) { + $recipient_delimiter = $this->db->escape( str_replace('%', '%%', $delim) ); + $addr_cleanup = "SUBSTRING_INDEX(${addr_cleanup}, '${recipient_delimiter}', 1)"; + } + $no_addr_extension = "CONCAT(${addr_cleanup}, '@%d')"; + } else { + $no_addr_extension = "''"; + } + unset($out); + //* Replace variables in config file template $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master'); $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content); @@ -781,6 +845,7 @@ class installer_base { $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content); $content = str_replace('{mysql_server_ip}', $conf['mysql']['ip'], $content); $content = str_replace('{server_id}', $conf['server_id'], $content); + $content = str_replace('{address_without_extension}', $no_addr_extension, $content); wf($full_file_name, $content); //* Changing mode and group of the new created config file @@ -1000,58 +1065,12 @@ class installer_base { $postfix_version = preg_replace('/.*=\s*/', '', $out[0]); unset($out); - //* mysql-virtual_domains.cf - $this->process_postfix_config('mysql-virtual_domains.cf'); - - //* mysql-virtual_forwardings.cf - $this->process_postfix_config('mysql-virtual_forwardings.cf'); - - //* mysql-virtual_alias_domains.cf - $this->process_postfix_config('mysql-virtual_alias_domains.cf'); - - //* mysql-virtual_alias_maps.cf - $this->process_postfix_config('mysql-virtual_alias_maps.cf'); - - //* mysql-virtual_mailboxes.cf - $this->process_postfix_config('mysql-virtual_mailboxes.cf'); - - //* mysql-virtual_email2email.cf - $this->process_postfix_config('mysql-virtual_email2email.cf'); - - //* mysql-virtual_transports.cf - $this->process_postfix_config('mysql-virtual_transports.cf'); - - //* mysql-virtual_recipient.cf - $this->process_postfix_config('mysql-virtual_recipient.cf'); - - //* mysql-virtual_sender.cf - $this->process_postfix_config('mysql-virtual_sender.cf'); - - //* mysql-virtual_sender_login_maps.cf - $this->process_postfix_config('mysql-virtual_sender_login_maps.cf'); - - //* mysql-virtual_client.cf - $this->process_postfix_config('mysql-virtual_client.cf'); - - //* mysql-virtual_relaydomains.cf - $this->process_postfix_config('mysql-virtual_relaydomains.cf'); - - //* mysql-virtual_relayrecipientmaps.cf - $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf'); - - //* mysql-virtual_outgoing_bcc.cf - $this->process_postfix_config('mysql-virtual_outgoing_bcc.cf'); - - //* mysql-virtual_policy_greylist.cf - $this->process_postfix_config('mysql-virtual_policy_greylist.cf'); - - //* mysql-virtual_gids.cf.master - $this->process_postfix_config('mysql-virtual_gids.cf'); - - //* mysql-virtual_uids.cf - $this->process_postfix_config('mysql-virtual_uids.cf'); + //* Install virtual mappings + foreach (glob('tpl/mysql-virtual_*.master') as $filename) { + $this->process_postfix_config( basename($filename, '.master') ); + } - //* mysql-virtual_alias_domains.cf + //* mysql-verify_recipients.cf $this->process_postfix_config('mysql-verify_recipients.cf'); // test if lmtp if available @@ -1171,6 +1190,12 @@ class installer_base { $content = strtr($content, $postconf_placeholders); $postconf_commands = array_merge($postconf_commands, array_filter(explode("\n", $content))); } + $configfile = 'postfix_custom.conf'; + if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/' . $configfile . '.master')) { + $content = file_get_contents($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master'); + $content = strtr($content, $postconf_placeholders); + $postconf_commands = array_merge($postconf_commands, array_filter(explode("\n", $content))); + } // Remove comment lines, these would give fatal errors when passed to postconf. $postconf_commands = array_filter($postconf_commands, function($line) { return preg_match('/^[^#]/', $line); }); @@ -1189,6 +1214,7 @@ class installer_base { touch($config_dir.'/mime_header_checks'); touch($config_dir.'/nested_header_checks'); touch($config_dir.'/body_checks'); + touch($config_dir.'/sasl_passwd'); //* Create the mailman files if(!is_dir('/var/lib/mailman/data')) exec('mkdir -p /var/lib/mailman/data'); @@ -1418,7 +1444,7 @@ class installer_base { $configure_lmtp = false; // use lmtp if installed - if($configure_lmtp = is_file('/usr/lib/dovecot/lmtp')) { + if($configure_lmtp = (is_file('/usr/lib/dovecot/lmtp') || is_file('/usr/libexec/dovecot/lmtp'))) { $virtual_transport = 'lmtp:unix:private/dovecot-lmtp'; } @@ -1435,7 +1461,7 @@ class installer_base { } $config_dir = $conf['postfix']['config_dir']; - $quoted_config_dir = preg_quote($config_dir, '/'); + $quoted_config_dir = preg_quote($config_dir, '|'); $postfix_version = `postconf -d mail_version 2>/dev/null`; $postfix_version = preg_replace( '/mail_version\s*=\s*(.*)\s*/', '$1', $postfix_version ); @@ -1481,7 +1507,7 @@ class installer_base { if ($configure_lmtp && $conf['mail']['content_filter'] === 'amavisd') { for ($i = 0; isset($new_options[$i]); $i++) { if ($new_options[$i] == 'reject_unlisted_recipient') { - array_splice($new_options, $i+1, 0, array("check_recipient_access proxy:mysql:${quoted_config_dir}/mysql-verify_recipients.cf")); + array_splice($new_options, $i+1, 0, array("check_recipient_access proxy:mysql:${config_dir}/mysql-verify_recipients.cf")); break; } } @@ -1523,6 +1549,13 @@ class installer_base { } else { copy('tpl/debian_dovecot2.conf.master', $config_dir.'/'.$configfile); } + // Copy custom config file + if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/dovecot_custom.conf.master')) { + if(!@is_dir($config_dir . '/conf.d')) { + mkdir($config_dir . '/conf.d'); + } + copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/dovecot_custom.conf.master', $config_dir.'/conf.d/99-ispconfig-custom-config.conf'); + } replaceLine($config_dir.'/'.$configfile, 'postmaster_address = postmaster@example.com', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0); replaceLine($config_dir.'/'.$configfile, 'postmaster_address = webmaster@localhost', 'postmaster_address = postmaster@'.$conf['hostname'], 1, 0); if(version_compare($dovecot_version, 2.1, '<')) { @@ -1577,7 +1610,7 @@ class installer_base { } //* dovecot-managesieved - if(is_file('/usr/lib/dovecot/managesieve')) { + if(is_file('/usr/lib/dovecot/managesieve') || is_file('/usr/libexec/dovecot/managesieve')) { $dovecot_protocols .= ' sieve'; } @@ -1745,11 +1778,18 @@ class installer_base { $new_options[] = $value; } if ($mail_config['reject_sender_login_mismatch'] == 'y') { - array_splice($new_options, 0, 0, array('reject_authenticated_sender_login_mismatch')); - + // insert before permit_mynetworks for ($i = 0; isset($new_options[$i]); $i++) { if ($new_options[$i] == 'permit_mynetworks') { - array_splice($new_options, $i+1, 0, array('reject_sender_login_mismatch')); + array_splice($new_options, $i, 0, array('reject_authenticated_sender_login_mismatch')); + break; + } + } + + // insert before permit_sasl_authenticated + for ($i = 0; isset($new_options[$i]); $i++) { + if ($new_options[$i] == 'permit_sasl_authenticated') { + array_splice($new_options, $i, 0, array('reject_sender_login_mismatch')); break; } } @@ -1771,23 +1811,31 @@ class installer_base { } if(is_user('_rspamd') && is_group('amavis')) { - exec("usermod -G amavis _rspamd"); + exec("usermod -a -G amavis _rspamd"); } elseif(is_user('rspamd') && is_group('amavis')) { - exec("usermod -G amavis rspamd"); + exec("usermod -a -G amavis rspamd"); } if(!is_dir('/etc/rspamd/local.d/')){ mkdir('/etc/rspamd/local.d/', 0755, true); + chmod('/etc/rspamd/local.d/', 0755); + } + + if(!is_dir('/etc/rspamd/local.d/maps.d/')){ + mkdir('/etc/rspamd/local.d/maps.d/', 0755, true); + chmod('/etc/rspamd/local.d/maps.d/', 0755); } if(!is_dir('/etc/rspamd/override.d/')){ mkdir('/etc/rspamd/override.d/', 0755, true); + chmod('/etc/rspamd/override.d/', 0755); } if ( substr($mail_config['dkim_path'], strlen($mail_config['dkim_path'])-1) == '/' ) { $mail_config['dkim_path'] = substr($mail_config['dkim_path'], 0, strlen($mail_config['dkim_path'])-1); } $dkim_domains = $this->db->queryAllRecords('SELECT `dkim_selector`, `domain` FROM ?? WHERE `dkim` = ? ORDER BY `domain` ASC', $conf['mysql']['database'] . '.mail_domain', 'y'); + # should move maps to local.d/maps.d/ ? $fpp = fopen('/etc/rspamd/local.d/dkim_domains.map', 'w'); $fps = fopen('/etc/rspamd/local.d/dkim_selectors.map', 'w'); foreach($dkim_domains as $dkim_domain) { @@ -1798,104 +1846,106 @@ class installer_base { fclose($fps); unset($dkim_domains); - $tpl = new tpl(); - $tpl->newTemplate('rspamd_users.conf.master'); - - $whitelist_ips = array(); - $ips = $this->db->queryAllRecords("SELECT * FROM server_ip WHERE server_id = ?", $conf['server_id']); + # look up values for use in template tags + $local_addrs = array(); + $ips = $this->db->queryAllRecords('SELECT `ip_address`, `ip_type` FROM ?? WHERE `server_id` = ?', $conf['mysql']['database'].'.server_ip', $conf['server_id']); if(is_array($ips) && !empty($ips)){ foreach($ips as $ip){ - $whitelist_ips[] = array('ip' => $ip['ip_address']); + $local_addrs[] = array( + 'ip' => $ip['ip_address'], + 'quoted_ip' => "\"".$ip['ip_address']."\",\n" + ); } } - $tpl->setLoop('whitelist_ips', $whitelist_ips); - wf('/etc/rspamd/local.d/users.conf', $tpl->grab()); - - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_groups.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_groups.conf.master /etc/rspamd/local.d/groups.conf'); - } else { - exec('cp tpl/rspamd_groups.conf.master /etc/rspamd/local.d/groups.conf'); - } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_antivirus.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_antivirus.conf.master /etc/rspamd/local.d/antivirus.conf'); - } else { - exec('cp tpl/rspamd_antivirus.conf.master /etc/rspamd/local.d/antivirus.conf'); - } - - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_classifier-bayes.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_classifier-bayes.conf.master /etc/rspamd/local.d/classifier-bayes.conf'); - } else { - exec('cp tpl/rspamd_classifier-bayes.conf.master /etc/rspamd/local.d/classifier-bayes.conf'); - } - - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_greylist.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_greylist.conf.master /etc/rspamd/local.d/greylist.conf'); - } else { - exec('cp tpl/rspamd_greylist.conf.master /etc/rspamd/local.d/greylist.conf'); - } - - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_symbols_antivirus.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_symbols_antivirus.conf.master /etc/rspamd/local.d/antivirus_group.conf'); - } else { - exec('cp tpl/rspamd_symbols_antivirus.conf.master /etc/rspamd/local.d/antivirus_group.conf'); - } - - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_override_rbl.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_override_rbl.conf.master /etc/rspamd/override.d/rbl_group.conf'); - } else { - exec('cp tpl/rspamd_override_rbl.conf.master /etc/rspamd/override.d/rbl_group.conf'); - } + # local.d templates with template tags + # note: ensure these template files are in server/conf/ and symlinked in install/tpl/ + $local_d = array( + 'dkim_signing.conf', # dkim_signing.conf no longer uses template tags, could move below + 'options.inc', + 'redis.conf', + 'classifier-bayes.conf', + ); + foreach ($local_d as $f) { + $tpl = new tpl(); + if (file_exists($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master")) { + $tpl->newTemplate($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master"); + } else { + $tpl->newTemplate("rspamd_${f}.master"); + } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_override_surbl.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_override_surbl.conf.master /etc/rspamd/override.d/surbl_group.conf'); - } else { - exec('cp tpl/rspamd_override_surbl.conf.master /etc/rspamd/override.d/surbl_group.conf'); - } + $tpl->setVar('dkim_path', $mail_config['dkim_path']); + $tpl->setVar('rspamd_redis_servers', $mail_config['rspamd_redis_servers']); + $tpl->setVar('rspamd_redis_password', $mail_config['rspamd_redis_password']); + $tpl->setVar('rspamd_redis_bayes_servers', $mail_config['rspamd_redis_bayes_servers']); + $tpl->setVar('rspamd_redis_bayes_password', $mail_config['rspamd_redis_bayes_password']); + if(count($local_addrs) > 0) { + $tpl->setLoop('local_addrs', $local_addrs); + } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_mx_check.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_mx_check.conf.master /etc/rspamd/local.d/mx_check.conf'); - } else { - exec('cp tpl/rspamd_mx_check.conf.master /etc/rspamd/local.d/mx_check.conf'); + wf("/etc/rspamd/local.d/${f}", $tpl->grab()); } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_redis.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_redis.conf.master /etc/rspamd/local.d/redis.conf'); - } else { - exec('cp tpl/rspamd_redis.conf.master /etc/rspamd/local.d/redis.conf'); - } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_milter_headers.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_milter_headers.conf.master /etc/rspamd/local.d/milter_headers.conf'); - } else { - exec('cp tpl/rspamd_milter_headers.conf.master /etc/rspamd/local.d/milter_headers.conf'); + # local.d templates without template tags + $local_d = array( + 'groups.conf', + 'antivirus.conf', + 'mx_check.conf', + 'milter_headers.conf', + 'neural.conf', + 'neural_group.conf', + 'users.conf', + 'groups.conf', + 'arc.conf', + ); + foreach ($local_d as $f) { + if(file_exists($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master")) { + exec('cp '.$conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master /etc/rspamd/local.d/${f}"); + } else { + exec("cp tpl/rspamd_${f}.master /etc/rspamd/local.d/${f}"); + } } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_options.inc.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_options.inc.master /etc/rspamd/local.d/options.inc'); - } else { - exec('cp tpl/rspamd_options.inc.master /etc/rspamd/local.d/options.inc'); + # override.d templates without template tags + $override_d = array( + 'rbl_group.conf', + 'surbl_group.conf', + ); + foreach ($override_d as $f) { + if(file_exists($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master")) { + exec('cp '.$conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master /etc/rspamd/override.d/${f}"); + } else { + exec("cp tpl/rspamd_${f}.master /etc/rspamd/override.d/${f}"); + } } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_neural.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_neural.conf.master /etc/rspamd/local.d/neural.conf'); - } else { - exec('cp tpl/rspamd_neural.conf.master /etc/rspamd/local.d/neural.conf'); + # local.d/maps.d templates without template tags + $maps_d = array( + 'dkim_whitelist.inc.ispc', + 'dmarc_whitelist.inc.ispc', + 'spf_dkim_whitelist.inc.ispc', + 'spf_whitelist.inc.ispc', + ); + foreach ($maps_d as $f) { + if(file_exists($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master")) { + exec('cp '.$conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_${f}.master /etc/rspamd/local.d/maps.d/${f}"); + } else { + exec("cp tpl/rspamd_${f}.master /etc/rspamd/local.d/maps.d/${f}"); + } } - if(file_exists($conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_neural_group.conf.master')) { - exec('cp '.$conf['ispconfig_install_dir'].'/server/conf-custom/install/rspamd_neural_group.conf.master /etc/rspamd/local.d/neural_group.conf'); - } else { - exec('cp tpl/rspamd_neural_group.conf.master /etc/rspamd/local.d/neural_group.conf'); + # rename rspamd templates we no longer use + if(file_exists("/etc/rspamd/local.d/greylist.conf")) { + rename("/etc/rspamd/local.d/greylist.conf", "/etc/rspamd/local.d/greylist.old"); } - $tpl = new tpl(); - $tpl->newTemplate('rspamd_dkim_signing.conf.master'); - $tpl->setVar('dkim_path', $mail_config['dkim_path']); - wf('/etc/rspamd/local.d/dkim_signing.conf', $tpl->grab()); - - exec('chmod a+r /etc/rspamd/local.d/* /etc/rspamd/override.d/*'); + exec('chmod a+r /etc/rspamd/local.d/* /etc/rspamd/local.d/maps.d/* /etc/rspamd/override.d/*'); + # protect passwords in these files + exec('chgrp _rspamd /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc'); + exec('chmod 640 /etc/rspamd/local.d/redis.conf /etc/rspamd/local.d/classifier-bayes.conf /etc/rspamd/local.d/worker-controller.inc'); + # unneccesary, since this was done above? $command = 'usermod -a -G amavis _rspamd'; caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); @@ -1919,7 +1969,11 @@ class installer_base { unset($server_ini_string); $tpl = new tpl(); - $tpl->newTemplate('rspamd_worker-controller.inc.master'); + if (file_exists($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_worker-controller.inc.master")) { + $tpl->newTemplate($conf['ispconfig_install_dir']."/server/conf-custom/install/rspamd_worker-controller.inc.master"); + } else { + $tpl->newTemplate("rspamd_worker-controller.inc.master"); + } $rspamd_password = $mail_config['rspamd_password']; $crypted_password = trim(exec('rspamadm pw -p ' . escapeshellarg($rspamd_password))); if($crypted_password) { @@ -2034,17 +2088,17 @@ class installer_base { } //* Create the ISPConfig database user in the local database - $query = "GRANT ALL ON ?? TO ?@'localhost'"; - if(!$this->db->query($query, $conf['powerdns']['database'] . '.*', $conf['mysql']['ispconfig_user'])) { + $query = "GRANT ALL ON ??.* TO ?@?"; + if(!$this->db->query($query, $conf['powerdns']['database'], $conf['mysql']['ispconfig_user'], 'localhost')) { $this->error('Unable to create user for powerdns database Error: '.$this->db->errorMessage); } //* load the powerdns databse dump if($conf['mysql']['admin_password'] == '') { - caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", + caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' --force '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); } else { - caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", + caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' --force '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); } @@ -2534,7 +2588,7 @@ class installer_base { $tpl->setVar('apps_vhost_dir',$conf['web']['website_basedir'].'/apps'); $tpl->setVar('apps_vhost_basedir',$conf['web']['website_basedir']); $tpl->setVar('apps_vhost_servername',$apps_vhost_servername); - if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key')) { + if(is_file($conf['ispconfig_install_dir'].'/interface/ssl/ispserver.crt') && is_file($conf['ispconfig_install_dir'].'/interface/ssl/ispserver.key')) { $tpl->setVar('ssl_comment',''); } else { $tpl->setVar('ssl_comment','#'); @@ -2617,6 +2671,15 @@ class installer_base { // Dont just copy over the virtualhost template but add some custom settings $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/nginx_apps.vhost.master', 'tpl/nginx_apps.vhost.master'); + // Enable SSL if a cert is in place. + if(is_file($conf['ispconfig_install_dir'].'/interface/ssl/ispserver.crt') && is_file($conf['ispconfig_install_dir'].'/interface/ssl/ispserver.key')) { + $content = str_replace('{ssl_on}', 'ssl http2', $content); + $content = str_replace('{ssl_comment}', '', $content); + } else { + $content = str_replace('{ssl_on}', '', $content); + $content = str_replace('{ssl_comment}', '#', $content); + } + if($conf['web']['apps_vhost_ip'] == '_default_'){ $apps_vhost_ip = ''; } else { @@ -2659,10 +2722,6 @@ class installer_base { $content = str_replace('{use_tcp}', $use_tcp, $content); $content = str_replace('{use_socket}', $use_socket, $content); - // SSL in apps vhost is off by default. Might change later. - $content = str_replace('{ssl_on}', '', $content); - $content = str_replace('{ssl_comment}', '#', $content); - // Fix socket path on PHP 7 systems if(file_exists('/var/run/php/php7.0-fpm.sock')) $content = str_replace('/var/run/php5-fpm.sock', '/var/run/php/php7.0-fpm.sock', $content); if(file_exists('/var/run/php/php7.1-fpm.sock')) $content = str_replace('/var/run/php5-fpm.sock', '/var/run/php/php7.1-fpm.sock', $content); @@ -2765,7 +2824,7 @@ class installer_base { if(@is_link($vhost_conf_enabled_dir.'/' . $use_symlink)) { unlink($vhost_conf_enabled_dir.'/' . $use_symlink); } - if(!@is_link($vhost_conf_enabled_dir.'' . $use_symlink)) { + if(!@is_link($vhost_conf_enabled_dir.'/' . $use_symlink)) { symlink($vhost_conf_dir.'/' . $use_name, $vhost_conf_enabled_dir.'/' . $use_symlink); } } @@ -2836,8 +2895,13 @@ class installer_base { $check_acme_file = $acme_cert_dir . '/cert.pem'; } } - swriteln('Using certificate path ' . $acme_cert_dir); + + if(!is_dir($conf['ispconfig_log_dir'])) { + mkdir($conf['ispconfig_log_dir'], 0755, true); + } + $acme_log = $conf['ispconfig_log_dir'] . '/acme.log'; + $ip_address_match = false; if(!(($svr_ip4 && in_array($svr_ip4, $dns_ips)) || ($svr_ip6 && in_array($svr_ip6, $dns_ips)))) { swriteln('Server\'s public ip(s) (' . $svr_ip4 . ($svr_ip6 ? ', ' . $svr_ip6 : '') . ') not found in A/AAAA records for ' . $hostname . ': ' . implode(', ', $dns_ips)); @@ -2848,22 +2912,36 @@ class installer_base { $ip_address_match = true; } + // Get subject and issuer of ispserver.crt to check if it is self-signed cert + if (file_exists($ssl_crt_file)) { + $crt_subject = exec("openssl x509 -in ".escapeshellarg($ssl_crt_file)." -inform PEM -noout -subject"); + $crt_issuer = exec("openssl x509 -in ".escapeshellarg($ssl_crt_file)." -inform PEM -noout -issuer"); + } - if ((!@is_dir($acme_cert_dir) || !@file_exists($check_acme_file) || !@file_exists($ssl_crt_file) || md5_file($check_acme_file) != md5_file($ssl_crt_file)) && $ip_address_match == true) { + if ((@file_exists($ssl_crt_file) && ($crt_subject == $crt_issuer)) || (!@is_dir($acme_cert_dir) || !@file_exists($check_acme_file) || !@file_exists($ssl_crt_file) || md5_file($check_acme_file) != md5_file($ssl_crt_file)) && $ip_address_match == true) { // This script is needed earlier to check and open http port 80 or standalone might fail // Make executable and temporary symlink latest letsencrypt pre, post and renew hook script before install if(file_exists(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_pre_hook.sh') && !file_exists('/usr/local/bin/letsencrypt_pre_hook.sh')) { + if(is_link('/usr/local/bin/letsencrypt_pre_hook.sh')) { + unlink('/usr/local/bin/letsencrypt_pre_hook.sh'); + } symlink(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_pre_hook.sh', '/usr/local/bin/letsencrypt_pre_hook.sh'); chown('/usr/local/bin/letsencrypt_pre_hook.sh', 'root'); chmod('/usr/local/bin/letsencrypt_pre_hook.sh', 0700); } if(file_exists(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_post_hook.sh') && !file_exists('/usr/local/bin/letsencrypt_post_hook.sh')) { + if(is_link('/usr/local/bin/letsencrypt_post_hook.sh')) { + unlink('/usr/local/bin/letsencrypt_post_hook.sh'); + } symlink(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_post_hook.sh', '/usr/local/bin/letsencrypt_post_hook.sh'); chown('/usr/local/bin/letsencrypt_post_hook.sh', 'root'); chmod('/usr/local/bin/letsencrypt_post_hook.sh', 0700); } if(file_exists(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_renew_hook.sh') && !file_exists('/usr/local/bin/letsencrypt_renew_hook.sh')) { + if(is_link('/usr/local/bin/letsencrypt_renew_hook.sh')) { + unlink('/usr/local/bin/letsencrypt_renew_hook.sh'); + } symlink(ISPC_INSTALL_ROOT . '/server/scripts/letsencrypt_renew_hook.sh', '/usr/local/bin/letsencrypt_renew_hook.sh'); chown('/usr/local/bin/letsencrypt_renew_hook.sh', 'root'); chmod('/usr/local/bin/letsencrypt_renew_hook.sh', 0700); @@ -2883,13 +2961,31 @@ class installer_base { } // Get the default LE client name and version - $le_client = explode("\n", shell_exec('which letsencrypt certbot /root/.local/share/letsencrypt/bin/letsencrypt /opt/eff.org/certbot/venv/bin/certbot')); + $le_client = explode("\n", shell_exec('which certbot /root/.local/share/letsencrypt/bin/letsencrypt /opt/eff.org/certbot/venv/bin/certbot letsencrypt')); $le_client = reset($le_client); // Check for Neilpang acme.sh as well $acme = explode("\n", shell_exec('which /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh')); $acme = reset($acme); + if((!$acme || !is_executable($acme)) && (!$le_client || !is_executable($le_client))) { + $success = $this->install_acme(); + if(!$success) { + swriteln('Failed installing acme.sh. Will not be able to issue certificate during install.'); + } else { + $acme = explode("\n", shell_exec('which /usr/local/ispconfig/server/scripts/acme.sh /root/.acme.sh/acme.sh')); + $acme = reset($acme); + if($acme && is_executable($acme)) { + swriteln('Installed acme.sh and using it for certificate creation during install.'); + + // we do this even on install to enable automatic updates + $this->update_acme(); + } else { + swriteln('Failed installing acme.sh. Will not be able to issue certificate during install.'); + } + } + } + $restore_conf_symlink = false; // we only need this for apache, so use fixed conf index @@ -2919,44 +3015,73 @@ class installer_base { $issued_successfully = false; + // Backup existing ispserver ssl files + if(file_exists($ssl_crt_file) || is_link($ssl_crt_file)) { + copy($ssl_crt_file, $ssl_crt_file . '-temporary.bak'); + } + if(file_exists($ssl_key_file) || is_link($ssl_key_file)) { + copy($ssl_key_file, $ssl_key_file . '-temporary.bak'); + } + if(file_exists($ssl_pem_file) || is_link($ssl_pem_file)) { + copy($ssl_pem_file, $ssl_pem_file . '-temporary.bak'); + } + // Attempt to use Neilpang acme.sh first, as it is now the preferred LE client if (is_executable($acme)) { + $acme_cert_dir = dirname($acme) . '/' . $hostname; + + swriteln('acme.sh is installed, overriding certificate path to use ' . $acme_cert_dir); + + # acme.sh does not set umask, resulting in incorrect permissions (ispconfig issue #6015) + $old_umask = umask(0022); + + // Switch from zerossl to letsencrypt CA + exec("$acme --set-default-ca --server letsencrypt"); $out = null; $ret = null; if($conf['nginx']['installed'] == true || $conf['apache']['installed'] == true) { - exec("$acme --issue -w /usr/local/ispconfig/interface/acme -d " . escapeshellarg($hostname) . " $renew_hook", $out, $ret); + exec("$acme --issue --log $acme_log -w /usr/local/ispconfig/interface/acme -d " . escapeshellarg($hostname) . " $renew_hook", $out, $ret); } // Else, it is not webserver, so we use standalone else { - exec("$acme --issue --standalone -d " . escapeshellarg($hostname) . " $hook", $out, $ret); + exec("$acme --issue --log $acme_log --standalone -d " . escapeshellarg($hostname) . " $hook", $out, $ret); } if($ret == 0 || ($ret == 2 && file_exists($check_acme_file))) { // acme.sh returns with 2 on issue for already existing certificate - - // Backup existing ispserver ssl files - if(file_exists($ssl_crt_file) || is_link($ssl_crt_file)) { - rename($ssl_crt_file, $ssl_crt_file . '-' . $date->format('YmdHis') . '.bak'); - } - if(file_exists($ssl_key_file) || is_link($ssl_key_file)) { - rename($ssl_key_file, $ssl_key_file . '-' . $date->format('YmdHis') . '.bak'); - } - if(file_exists($ssl_pem_file) || is_link($ssl_pem_file)) { - rename($ssl_pem_file, $ssl_pem_file . '-' . $date->format('YmdHis') . '.bak'); - } - $check_acme_file = $ssl_crt_file; // Define LE certs name and path, then install them //$acme_cert = "--cert-file $acme_cert_dir/cert.pem"; $acme_key = "--key-file " . escapeshellarg($ssl_key_file); $acme_chain = "--fullchain-file " . escapeshellarg($ssl_crt_file); - exec("$acme --install-cert -d " . escapeshellarg($hostname) . " $acme_key $acme_chain"); + exec("$acme --install-cert --log $acme_log -d " . escapeshellarg($hostname) . " $acme_key $acme_chain"); $issued_successfully = true; + umask($old_umask); + + // Make temporary backup of self-signed certs permanent + if(file_exists($ssl_crt_file.'-temporary.bak') || is_link($ssl_crt_file.'-temporary.bak')) + rename($ssl_crt_file.'-temporary.bak', $ssl_crt_file.'-'.$date->format('YmdHis').'.bak'); + if(file_exists($ssl_key_file.'-temporary.bak') || is_link($ssl_key_file.'-temporary.bak')) + rename($ssl_key_file.'-temporary.bak', $ssl_key_file.'-'.$date->format('YmdHis').'.bak'); + if(file_exists($ssl_pem_file.'-temporary.bak') || is_link($ssl_pem_file.'-temporary.bak')) + rename($ssl_pem_file.'-temporary.bak', $ssl_pem_file.'-'.$date->format('YmdHis').'.bak'); + } else { swriteln('Issuing certificate via acme.sh failed. Please check that your hostname can be verified by letsencrypt'); + + umask($old_umask); + + // Restore temporary backup of self-signed certs + if(file_exists($ssl_crt_file.'-temporary.bak') || is_link($ssl_crt_file.'-temporary.bak')) + rename($ssl_crt_file.'-temporary.bak', $ssl_crt_file); + if(file_exists($ssl_key_file.'-temporary.bak') || is_link($ssl_key_file.'-temporary.bak')) + rename($ssl_key_file.'-temporary.bak', $ssl_key_file); + if(file_exists($ssl_pem_file.'-temporary.bak') || is_link($ssl_pem_file.'-temporary.bak')) + rename($ssl_pem_file.'-temporary.bak', $ssl_pem_file); + } // Else, we attempt to use the official LE certbot client certbot } else { @@ -2988,24 +3113,31 @@ class installer_base { if($ret == 0) { // certbot returns with 0 on issue for already existing certificate - // Backup existing ispserver ssl files - if(file_exists($ssl_crt_file) || is_link($ssl_crt_file)) { - rename($ssl_crt_file, $ssl_crt_file . '-' . $date->format('YmdHis') . '.bak'); - } - if(file_exists($ssl_key_file) || is_link($ssl_key_file)) { - rename($ssl_key_file, $ssl_key_file . '-' . $date->format('YmdHis') . '.bak'); - } - if(file_exists($ssl_pem_file) || is_link($ssl_pem_file)) { - rename($ssl_pem_file, $ssl_pem_file . '-' . $date->format('YmdHis') . '.bak'); - } - $acme_cert_dir = '/etc/letsencrypt/live/' . $hostname; symlink($acme_cert_dir . '/fullchain.pem', $ssl_crt_file); symlink($acme_cert_dir . '/privkey.pem', $ssl_key_file); $issued_successfully = true; + + // Make temporary backup of self-signed certs permanent + if(file_exists($ssl_crt_file.'-temporary.bak') || is_link($ssl_crt_file.'-temporary.bak')) + rename($ssl_crt_file.'-temporary.bak', $ssl_crt_file.'-'.$date->format('YmdHis').'.bak'); + if(file_exists($ssl_key_file.'-temporary.bak') || is_link($ssl_key_file.'-temporary.bak')) + rename($ssl_key_file.'-temporary.bak', $ssl_key_file.'-'.$date->format('YmdHis').'.bak'); + if(file_exists($ssl_pem_file.'-temporary.bak') || is_link($ssl_pem_file.'-temporary.bak')) + rename($ssl_pem_file.'-temporary.bak', $ssl_pem_file.'-'.$date->format('YmdHis').'.bak'); + } else { swriteln('Issuing certificate via certbot failed. Please check log files and make sure that your hostname can be verified by letsencrypt'); + + // Restore temporary backup of self-signed certs + if(file_exists($ssl_crt_file.'-temporary.bak') || is_link($ssl_crt_file.'-temporary.bak')) + rename($ssl_crt_file.'-temporary.bak', $ssl_crt_file); + if(file_exists($ssl_key_file.'-temporary.bak') || is_link($ssl_key_file.'-temporary.bak')) + rename($ssl_key_file.'-temporary.bak', $ssl_key_file); + if(file_exists($ssl_pem_file.'-temporary.bak') || is_link($ssl_pem_file.'-temporary.bak')) + rename($ssl_pem_file.'-temporary.bak', $ssl_pem_file); + } } else { swriteln('Did not find any valid acme client (acme.sh or certbot)'); @@ -3033,17 +3165,11 @@ class installer_base { } // We can still use the old self-signed method - $ssl_pw = substr(md5(mt_rand()), 0, 6); - exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096"); + $openssl_cmd = 'openssl req -nodes -newkey rsa:4096 -x509 -days 3650 -keyout ' . escapeshellarg($ssl_key_file) . ' -out ' . escapeshellarg($ssl_crt_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"); + $openssl_cmd .= ' -subj ' . escapeshellarg('/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']); } - 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'); - rename($ssl_key_file.'.insecure', $ssl_key_file); + exec($openssl_cmd); } // Build ispserver.pem file and chmod it @@ -3392,8 +3518,8 @@ class installer_base { caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); if ($this->install_ispconfig_interface == true && isset($conf['interface_password']) && $conf['interface_password']!='admin') { - $sql = "UPDATE sys_user SET passwort = md5(?) WHERE username = 'admin';"; - $this->db->query($sql, $conf['interface_password']); + $sql = "UPDATE sys_user SET passwort = ? WHERE username = 'admin';"; + $this->db->query($sql, $this->crypt_password($conf['interface_password'])); } if($conf['apache']['installed'] == true && $this->install_ispconfig_interface == true){ @@ -3458,7 +3584,7 @@ class installer_base { $content = str_replace('{vhost_port}', $conf['nginx']['vhost_port'], $content); if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key')) { - $content = str_replace('{ssl_on}', 'ssl', $content); + $content = str_replace('{ssl_on}', 'ssl http2', $content); $content = str_replace('{ssl_comment}', '', $content); $content = str_replace('{fastcgi_ssl}', 'on', $content); } else { @@ -3537,6 +3663,7 @@ class installer_base { if(!is_dir($conf['ispconfig_log_dir'])) mkdir($conf['ispconfig_log_dir'], 0755); touch($conf['ispconfig_log_dir'].'/ispconfig.log'); } + chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600); //* Create the ispconfig auth log file and set uid/gid if(!is_file($conf['ispconfig_log_dir'].'/auth.log')) { diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php index 4dcb31cff128ddcc5c6f3bd81a4526de13eb5253..d88d64d6cd414f85387f10882b979bf44fbc7e6e 100644 --- a/install/lib/update.lib.php +++ b/install/lib/update.lib.php @@ -185,9 +185,9 @@ function updateDbAndIni() { else $next_db_version = intval($current_db_version + 1); $sql_patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql'; $php_patch_filename = realpath(dirname(__FILE__).'/../').'/patches/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.php'; - + // comma separated list of version numbers were a update has to be done silently - $silent_update_versions = 'dev_collection,75'; + $silent_update_versions = 'dev_collection,75,91'; if(is_file($sql_patch_filename)) { @@ -214,14 +214,14 @@ function updateDbAndIni() { } else { $cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -P ".escapeshellarg($conf['mysql']['port'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename; } - + if(in_array($next_db_version,explode(',',$silent_update_versions))) { $cmd .= ' > /dev/null 2> /dev/null'; } else { $cmd .= ' >> /var/log/ispconfig_install.log 2>> /var/log/ispconfig_install.log'; } system($cmd); - + swriteln($inst->lng('Loading SQL patch file').': '.$sql_patch_filename); //* Exec onAfterSQL function @@ -231,7 +231,7 @@ function updateDbAndIni() { if($dev_patch == false) $current_db_version = $next_db_version; else $found = false; - + if(isset($php_patch)) unset($php_patch); } elseif($dev_patch == false) { $dev_patch = true; @@ -416,7 +416,7 @@ function updateDbAndIni() { function setDefaultServers(){ global $inst, $conf; - + // clients $clients = $inst->db->queryAllRecords("SELECT * FROM ".$conf["mysql"]["database"].".client"); if(is_array($clients) && !empty($clients)){ @@ -431,7 +431,7 @@ function setDefaultServers(){ if(trim($client['db_servers']) == '') $inst->db->query("UPDATE ?? SET db_servers = ? WHERE client_id = ?", $conf["mysql"]["database"].".client", trim($client['default_dbserver']), $client['client_id']); } } - + } @@ -442,13 +442,13 @@ function setDefaultServers(){ */ function check_service_config_state($servicename, $detected_value) { global $current_svc_config, $inst, $conf; - + if ($current_svc_config[$servicename] == 1) $current_state = 1; else $current_state = 0; if ($detected_value) $detected_value = 1; else $detected_value = 0; - + if ($detected_value != $current_state) { $answer = $inst->simple_query('Service \''.$servicename.'\' '.($detected_value ? 'has been' : 'has not been').' detected ('.($current_state ? 'strongly recommended, currently enabled' : 'currently disabled').') do you want to '.($detected_value ? 'enable and configure' : 'disable').' it? ', array('yes', 'no'), ($current_state ? 'yes' : 'no'), 'svc_detect_change_'.$servicename); if ($answer == 'yes') return $detected_value; @@ -459,4 +459,64 @@ function check_service_config_state($servicename, $detected_value) { } else return $current_state; } +/** + * Check for existing conf-custom templates and offer to rename them. + */ +function checkAndRenameCustomTemplates($default_prompt='no') { + global $inst; + $ret = true; + + $default_prompt = ($default_prompt == 'yes') ? 'yes' : 'no'; + + $template_directories = array( + '/usr/local/ispconfig/server/conf-custom', + '/usr/local/ispconfig/server/conf-custom/install', + ); + + $override_templates = array( + 'postfix_custom.conf.master', + 'dovecot_custom.conf.master', + ); + + $found_templates = array(); + $found_override_templates = array(); + foreach ($template_directories as $dir) { + if (!is_dir($dir)) { continue; } + foreach (glob("$dir/*.master") as $f) { + if (is_file($f)) { + if (in_array( basename($f), $override_templates )) { + $found_override_templates[] = $f; + } else { + $found_templates[] = $f; + } + } + } + } + + if (count($found_templates) > 0) { + echo "The following custom templates were found:\n\n"; + echo implode("\n", $found_templates) . "\n\n"; + + $answer = $inst->simple_query('Do you want to rename these conf-custom templates now so the default templates are used?', array('yes', 'no'), $default_prompt, 'rename_custom_templates'); + if (strtolower($answer) == 'yes') { + $date=date('-Y-m-d_H-i'); + foreach ($found_templates as $f) { + if (!rename($f, $f.$date)) { + echo "Error renaming template $f\n"; + $ret = false; + } + } + } else { + $ret = null; + } + } + + if (count($found_override_templates) > 0) { + echo "The following local config override templates were found, be sure to incorporate upstream changes if needed:\n\n"; + echo implode("\n", $found_override_templates) . "\n\n"; + } + + return $ret; +} + ?> diff --git a/install/patches/upd_0094.php b/install/patches/upd_0094.php new file mode 100644 index 0000000000000000000000000000000000000000..b9516e232e99506f6f451d27a8d50253b6b623f1 --- /dev/null +++ b/install/patches/upd_0094.php @@ -0,0 +1,14 @@ +db->query("DELETE FROM mail_forwarding WHERE forwarding_id IN (SELECT forwarding_id FROM (SELECT forwarding_id, COUNT(source) AS source_count FROM mail_forwarding GROUP BY source HAVING source_count > 1) as t1)"); + } + +} diff --git a/install/sql/incremental/upd_0091.sql b/install/sql/incremental/upd_0091.sql new file mode 100644 index 0000000000000000000000000000000000000000..0ff81ac5915ee27e1bac1c2c3f10b721c213724f --- /dev/null +++ b/install/sql/incremental/upd_0091.sql @@ -0,0 +1,20 @@ +-- we need those to fix some installations failing in 0089 and 0090 +ALTER TABLE `web_domain` ROW_FORMAT=DYNAMIC; +ALTER TABLE `mail_user` ROW_FORMAT=DYNAMIC; +ALTER TABLE `web_domain` ADD COLUMN `proxy_protocol` ENUM('n','y') NOT NULL DEFAULT 'n' AFTER `log_retention`; +ALTER TABLE `web_domain` ADD `backup_format_web` VARCHAR( 255 ) NOT NULL default 'default' AFTER `backup_copies`; +ALTER TABLE `web_domain` ADD `backup_format_db` VARCHAR( 255 ) NOT NULL default 'gzip' AFTER `backup_format_web`; +ALTER TABLE `web_domain` ADD `backup_encrypt` enum('n','y') NOT NULL DEFAULT 'n' AFTER `backup_format_db`; +ALTER TABLE `web_domain` ADD `backup_password` VARCHAR( 255 ) NOT NULL DEFAULT '' AFTER `backup_encrypt`; +ALTER TABLE `web_backup` ADD `backup_format` VARCHAR( 64 ) NOT NULL DEFAULT '' AFTER `backup_mode`; +ALTER TABLE `web_backup` ADD `backup_password` VARCHAR( 255 ) NOT NULL DEFAULT '' AFTER `filesize`; +ALTER TABLE `web_domain` ALTER pm SET DEFAULT 'ondemand'; +ALTER TABLE `web_domain` DROP COLUMN `enable_spdy`; +ALTER TABLE `web_domain` ADD `folder_directive_snippets` TEXT NULL AFTER `https_port`; +ALTER TABLE `web_domain` ADD `server_php_id` INT(11) UNSIGNED NOT NULL DEFAULT 0; +ALTER TABLE `web_domain` CHANGE `apache_directives` `apache_directives` mediumtext NULL DEFAULT NULL; +ALTER TABLE `web_domain` CHANGE `nginx_directives` `nginx_directives` mediumtext NULL DEFAULT NULL; +UPDATE `web_domain` as w LEFT JOIN sys_group as g ON (g.groupid = w.sys_groupid) INNER JOIN `server_php` as p ON (w.fastcgi_php_version = CONCAT(p.name, ':', p.php_fastcgi_binary, ':', p.php_fastcgi_ini_dir) AND p.server_id IN (0, w.server_id) AND p.client_id IN (0, g.client_id)) SET w.server_php_id = p.server_php_id, w.fastcgi_php_version = '' WHERE w.server_php_id = 0; +UPDATE `web_domain` as w LEFT JOIN sys_group as g ON (g.groupid = w.sys_groupid) INNER JOIN `server_php` as p ON (w.fastcgi_php_version = CONCAT(p.name, ':', p.php_fpm_init_script, ':', p.php_fpm_ini_dir, ':', p.php_fpm_pool_dir) AND p.server_id IN (0, w.server_id) AND p.client_id IN (0, g.client_id)) SET w.server_php_id = p.server_php_id, w.fastcgi_php_version = '' WHERE w.server_php_id = 0; +ALTER TABLE `mail_user` ADD `forward_in_lda` enum('n','y') NOT NULL default 'n' AFTER `cc`; +-- end of fixes \ No newline at end of file diff --git a/install/sql/incremental/upd_0092.sql b/install/sql/incremental/upd_0092.sql new file mode 100644 index 0000000000000000000000000000000000000000..a12f9d482b0a58f71639d52a6dba96c3f0c17b4a --- /dev/null +++ b/install/sql/incremental/upd_0092.sql @@ -0,0 +1,8 @@ +-- drop old php column because new installations don't have them (fails in multi-server) +ALTER TABLE `web_domain` DROP COLUMN `fastcgi_php_version`; + +-- add php_fpm_socket_dir column to server_php +ALTER TABLE `server_php` ADD `php_fpm_socket_dir` varchar(255) DEFAULT NULL AFTER `php_fpm_pool_dir`; + +-- fix #5939 +UPDATE `ftp_user` SET `expires` = NULL WHERE `expires` = '0000-00-00 00:00:00'; diff --git a/install/sql/incremental/upd_0093.sql b/install/sql/incremental/upd_0093.sql new file mode 100644 index 0000000000000000000000000000000000000000..96c5307f0ed22c0bda2651b41919f66af1a530a2 --- /dev/null +++ b/install/sql/incremental/upd_0093.sql @@ -0,0 +1,25 @@ +ALTER TABLE `remote_user` MODIFY `remote_password` VARCHAR(200) NOT NULL DEFAULT ''; + +ALTER TABLE `client` ADD COLUMN `limit_mail_wblist` INT(11) NOT NULL DEFAULT '0' AFTER `limit_mailrouting`; +ALTER TABLE `client_template` ADD COLUMN `limit_mail_wblist` INT(11) NOT NULL DEFAULT '0' AFTER `limit_mailrouting`; + +ALTER TABLE mail_access DROP CONSTRAINT `server_id`; +SET SESSION old_alter_table=1; +ALTER IGNORE TABLE mail_access ADD UNIQUE KEY `unique_source` (`server_id`,`source`,`type`); +SET SESSION old_alter_table=0; + +ALTER TABLE mail_domain ADD COLUMN `relay_host` varchar(255) NOT NULL default '' AFTER `dkim_public`, + ADD COLUMN `relay_user` varchar(255) NOT NULL default '' AFTER `relay_host`, + ADD COLUMN `relay_pass` varchar(255) NOT NULL default '' AFTER `relay_user`; +-- Purge apps & addons installer (#5795) +DROP TABLE `software_package`; +DROP TABLE `software_repo`; +DROP TABLE `software_update`; +DROP TABLE `software_update_inst`; + +-- Brexit +UPDATE `country` SET `eu` = 'n' WHERE `iso` = 'GB'; + +-- Add limit for per domain relaying +ALTER TABLE `client` ADD `limit_relayhost` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n' AFTER `limit_spamfilter_policy`; +ALTER TABLE `client_template` ADD `limit_relayhost` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n' AFTER `limit_spamfilter_policy`; diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql index 2985a3e8ee8910446b96aeffb11bc2d393abd42c..2400ca907a96c706f7f8b70b0231f165db3cb488 100644 --- a/install/sql/incremental/upd_dev_collection.sql +++ b/install/sql/incremental/upd_dev_collection.sql @@ -1,3 +1,16 @@ -- Add column for email backup limit (#5732) ALTER TABLE `client_template` ADD `limit_mail_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y' AFTER `limit_spamfilter_policy`; ALTER TABLE `client` ADD `limit_mail_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y' AFTER `limit_spamfilter_policy`; + +-- default spamfilter_users.policy_id to 0 +ALTER TABLE `spamfilter_users` ALTER `policy_id` SET DEFAULT 0; + +-- mail_forwarding.source must be unique +ALTER TABLE `mail_forwarding` DROP KEY `server_id`; +ALTER TABLE `mail_forwarding` ADD UNIQUE KEY `server_id` (`server_id`, `source`); + +-- Purge apps & addons installer (#5795) - second time due to syntax error in 0093 +DROP TABLE IF EXISTS `software_package`; +DROP TABLE IF EXISTS `software_repo`; +DROP TABLE IF EXISTS `software_update`; +DROP TABLE IF EXISTS `software_update_inst`; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 3cbe42540826774725bcc0d7bcb80f75d0305375..e37bef7f28364af45b30f616e71e3c5330cec424 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -178,6 +178,7 @@ CREATE TABLE `client` ( `limit_mailforward` int(11) NOT NULL DEFAULT '-1', `limit_mailcatchall` int(11) NOT NULL DEFAULT '-1', `limit_mailrouting` int(11) NOT NULL DEFAULT '0', + `limit_mail_wblist` int(11) NOT NULL DEFAULT '0', `limit_mailfilter` int(11) NOT NULL DEFAULT '-1', `limit_fetchmail` int(11) NOT NULL DEFAULT '-1', `limit_mailquota` int(11) NOT NULL DEFAULT '-1', @@ -185,6 +186,7 @@ CREATE TABLE `client` ( `limit_spamfilter_user` int(11) NOT NULL DEFAULT '0', `limit_spamfilter_policy` int(11) NOT NULL DEFAULT '0', `limit_mail_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y', + `limit_relayhost` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n', `default_xmppserver` int(11) unsigned NOT NULL DEFAULT '1', `xmpp_servers` text, `limit_xmpp_domain` int(11) NOT NULL DEFAULT '-1', @@ -310,6 +312,7 @@ CREATE TABLE `client_template` ( `limit_mailforward` int(11) NOT NULL default '-1', `limit_mailcatchall` int(11) NOT NULL default '-1', `limit_mailrouting` int(11) NOT NULL default '0', + `limit_mail_wblist` int(11) NOT NULL default '0', `limit_mailfilter` int(11) NOT NULL default '-1', `limit_fetchmail` int(11) NOT NULL default '-1', `limit_mailquota` int(11) NOT NULL default '-1', @@ -317,6 +320,7 @@ CREATE TABLE `client_template` ( `limit_spamfilter_user` int(11) NOT NULL default '0', `limit_spamfilter_policy` int(11) NOT NULL default '0', `limit_mail_backup` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'y', + `limit_relayhost` ENUM( 'n', 'y' ) NOT NULL DEFAULT 'n', `default_xmppserver` int(11) unsigned NOT NULL DEFAULT '1', `xmpp_servers` text, `limit_xmpp_domain` int(11) NOT NULL DEFAULT '-1', @@ -822,7 +826,7 @@ CREATE TABLE `mail_access` ( `type` set('recipient','sender','client') NOT NULL DEFAULT 'recipient', `active` enum('n','y') NOT NULL default 'y', PRIMARY KEY (`access_id`), - KEY `server_id` (`server_id`,`source`) + UNIQUE KEY `unique_source` (`server_id`,`source`,`type`) ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- @@ -884,6 +888,9 @@ CREATE TABLE `mail_domain` ( `dkim_selector` varchar(63) NOT NULL DEFAULT 'default', `dkim_private` mediumtext NULL, `dkim_public` mediumtext NULL, + `relay_host` varchar(255) NOT NULL DEFAULT '', + `relay_user` varchar(255) NOT NULL DEFAULT '', + `relay_pass` varchar(255) NOT NULL DEFAULT '', `active` enum('n','y') NOT NULL DEFAULT 'n', PRIMARY KEY (`domain_id`), KEY `server_id` (`server_id`,`domain`), @@ -911,7 +918,7 @@ CREATE TABLE `mail_forwarding` ( `allow_send_as` ENUM('n','y') NOT NULL DEFAULT 'n', `greylisting` enum('n','y' ) NOT NULL DEFAULT 'n', PRIMARY KEY (`forwarding_id`), - KEY `server_id` (`server_id`,`source`), + UNIQUE KEY `server_id` (`server_id`, `source`), KEY `type` (`type`) ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; @@ -1327,7 +1334,7 @@ CREATE TABLE `remote_user` ( `sys_perm_group` varchar(5) default NULL, `sys_perm_other` varchar(5) default NULL, `remote_username` varchar(64) NOT NULL DEFAULT '', - `remote_password` varchar(64) NOT NULL DEFAULT '', + `remote_password` varchar(200) NOT NULL DEFAULT '', `remote_access` enum('y','n') NOT NULL DEFAULT 'y', `remote_ips` TEXT, `remote_functions` text, @@ -1428,6 +1435,7 @@ CREATE TABLE `server_php` ( `php_fpm_init_script` varchar(255) DEFAULT NULL, `php_fpm_ini_dir` varchar(255) DEFAULT NULL, `php_fpm_pool_dir` varchar(255) DEFAULT NULL, + `php_fpm_socket_dir` varchar(255) DEFAULT NULL, `active` enum('n','y') NOT NULL DEFAULT 'y', PRIMARY KEY (`server_php_id`) ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; @@ -1463,88 +1471,6 @@ CREATE TABLE `shell_user` ( -- -------------------------------------------------------- --- --- Table structure for table `software_package` --- - -CREATE TABLE `software_package` ( - `package_id` int(11) unsigned NOT NULL auto_increment, - `software_repo_id` int(11) unsigned NOT NULL DEFAULT '0', - `package_name` varchar(64) NOT NULL DEFAULT '', - `package_title` varchar(64) NOT NULL DEFAULT '', - `package_description` text, - `package_version` varchar(8) default NULL, - `package_type` enum('ispconfig','app','web') NOT NULL default 'app', - `package_installable` enum('yes','no','key') NOT NULL default 'yes', - `package_requires_db` enum('no','mysql') NOT NULL default 'no', - `package_remote_functions` text, - `package_key` varchar(255) NOT NULL DEFAULT '', - `package_config` text, - PRIMARY KEY (`package_id`), - UNIQUE KEY `package_name` (`package_name`) -) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; - --- -------------------------------------------------------- - --- --- Table structure for table `software_repo` --- - -CREATE TABLE `software_repo` ( - `software_repo_id` int(11) unsigned NOT NULL auto_increment, - `sys_userid` int(11) unsigned NOT NULL default '0', - `sys_groupid` int(11) unsigned NOT NULL default '0', - `sys_perm_user` varchar(5) default NULL, - `sys_perm_group` varchar(5) default NULL, - `sys_perm_other` varchar(5) default NULL, - `repo_name` varchar(64) default NULL, - `repo_url` varchar(255) default NULL, - `repo_username` varchar(64) default NULL, - `repo_password` varchar(64) default NULL, - `active` enum('n','y') NOT NULL default 'y', - PRIMARY KEY (`software_repo_id`) -) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; - --- -------------------------------------------------------- - --- --- Table structure for table `software_update` --- - -CREATE TABLE `software_update` ( - `software_update_id` int(11) unsigned NOT NULL auto_increment, - `software_repo_id` int(11) unsigned NOT NULL DEFAULT '0', - `package_name` varchar(64) NOT NULL DEFAULT '', - `update_url` varchar(255) NOT NULL DEFAULT '', - `update_md5` varchar(255) NOT NULL DEFAULT '', - `update_dependencies` varchar(255) NOT NULL DEFAULT '', - `update_title` varchar(64) NOT NULL DEFAULT '', - `v1` tinyint(1) NOT NULL default '0', - `v2` tinyint(1) NOT NULL default '0', - `v3` tinyint(1) NOT NULL default '0', - `v4` tinyint(1) NOT NULL default '0', - `type` enum('full','update') NOT NULL default 'full', - PRIMARY KEY (`software_update_id`) -) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; - --- -------------------------------------------------------- - --- --- Table structure for table `software_update_inst` --- - -CREATE TABLE `software_update_inst` ( - `software_update_inst_id` int(11) unsigned NOT NULL auto_increment, - `software_update_id` int(11) unsigned NOT NULL default '0', - `package_name` varchar(64) NOT NULL DEFAULT '', - `server_id` int(11) unsigned NOT NULL DEFAULT '0', - `status` enum('none','installing','installed','deleting','deleted','failed') NOT NULL default 'none', - PRIMARY KEY (`software_update_inst_id`), - UNIQUE KEY `software_update_id` (`software_update_id`,`package_name`,`server_id`) -) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; - --- -------------------------------------------------------- - -- -- Table structure for table `spamfilter_policy` -- @@ -1621,7 +1547,7 @@ CREATE TABLE `spamfilter_users` ( `sys_perm_other` varchar(5) NOT NULL DEFAULT '', `server_id` int(11) unsigned NOT NULL DEFAULT '0', `priority` tinyint(3) unsigned NOT NULL default '7', - `policy_id` int(11) unsigned NOT NULL default '1', + `policy_id` int(11) unsigned NOT NULL default '0', `email` varchar(255) NOT NULL DEFAULT '', `fullname` varchar(64) default NULL, `local` varchar(1) default NULL, @@ -2093,7 +2019,7 @@ CREATE TABLE `web_domain` ( `last_jailkit_hash` varchar(255) DEFAULT NULL, PRIMARY KEY (`domain_id`), UNIQUE KEY `serverdomain` ( `server_id` , `ip_address`, `domain` ) -) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; +) ENGINE=InnoDB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- @@ -2486,7 +2412,7 @@ INSERT INTO `country` (`iso`, `name`, `printable_name`, `iso3`, `numcode`, `eu`) ('UG', 'UGANDA', 'Uganda', 'UGA', 800, 'n'), ('UA', 'UKRAINE', 'Ukraine', 'UKR', 804, 'n'), ('AE', 'UNITED ARAB EMIRATES', 'United Arab Emirates', 'ARE', 784, 'n'), -('GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 'y'), +('GB', 'UNITED KINGDOM', 'United Kingdom', 'GBR', 826, 'n'), ('US', 'UNITED STATES', 'United States', 'USA', 840, 'n'), ('UM', 'UNITED STATES MINOR OUTLYING ISLANDS', 'United States Minor Outlying Islands', NULL, NULL, 'n'), ('UY', 'URUGUAY', 'Uruguay', 'URY', 858, 'n'), @@ -2509,7 +2435,7 @@ INSERT INTO `country` (`iso`, `name`, `printable_name`, `iso3`, `numcode`, `eu`) -- Dumping data for table `dns_template` -- -INSERT INTO `dns_template` (`template_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `name`, `fields`, `template`, `visible`) VALUES (1, 1, 1, 'riud', 'riud', '', 'Default', 'DOMAIN,IP,NS1,NS2,EMAIL,DKIM,DNSSEC', '[ZONE]\norigin={DOMAIN}.\nns={NS1}.\nmbox={EMAIL}.\nrefresh=7200\nretry=540\nexpire=604800\nminimum=3600\nttl=3600\ndnssec_algo=ECDSAP256SHA256\n\n[DNS_RECORDS]\nA|{DOMAIN}.|{IP}|0|3600\nA|www|{IP}|0|3600\nA|mail|{IP}|0|3600\nNS|{DOMAIN}.|{NS1}.|0|3600\nNS|{DOMAIN}.|{NS2}.|0|3600\nMX|{DOMAIN}.|mail.{DOMAIN}.|10|3600\nTXT|{DOMAIN}.|v=spf1 mx a ~all|0|3600', 'y'); +INSERT INTO `dns_template` (`template_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `name`, `fields`, `template`, `visible`) VALUES (1, 1, 1, 'riud', 'riud', '', 'Default', 'DOMAIN,IP,NS1,NS2,EMAIL,DKIM,DNSSEC', '[ZONE]\norigin={DOMAIN}.\nns={NS1}.\nmbox={EMAIL}.\nrefresh=7200\nretry=540\nexpire=604800\nminimum=3600\nttl=3600\nxfer=\nalso_notify=\ndnssec_wanted=N\ndnssec_algo=ECDSAP256SHA256\n\n[DNS_RECORDS]\nA|{DOMAIN}.|{IP}|0|3600\nA|www|{IP}|0|3600\nA|mail|{IP}|0|3600\nNS|{DOMAIN}.|{NS1}.|0|3600\nNS|{DOMAIN}.|{NS2}.|0|3600\nMX|{DOMAIN}.|mail.{DOMAIN}.|10|3600\nTXT|{DOMAIN}.|v=spf1 mx a ~all|0|3600', 'y'); -- -------------------------------------------------------- @@ -2530,25 +2456,17 @@ INSERT INTO `help_faq_sections` VALUES (1,'General',0,NULL,NULL,NULL,NULL,NULL); -- -------------------------------------------------------- --- --- Dumping data for table `software_repo` --- - -INSERT INTO `software_repo` (`software_repo_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `repo_name`, `repo_url`, `repo_username`, `repo_password`, `active`) VALUES (1, 1, 1, 'riud', 'riud', '', 'ISPConfig Addons', 'http://repo.ispconfig.org/addons/', '', '', 'n'); - --- -------------------------------------------------------- - -- -- Dumping data for table `spamfilter_policy` -- INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(1, 1, 0, 'riud', 'riud', 'r', 'Non-paying', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y', 'N', 'Y', '', '', '', '', '', '', 3, 7, 10, 0, 0, '', '', '', '', 'N', 'N', 'N', '', '', '', '', '', '', '', 0, '', 'n', 6.00, 8.00, 'rewrite_subject', 12.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(2, 1, 0, 'riud', 'riud', 'r', 'Uncensored', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, 3, 999, 999, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 999.00, 999.00, 'rewrite_subject', 999.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(3, 1, 0, 'riud', 'riud', 'r', 'Wants all spam', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 999, 999, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 999.00, 999.00, 'rewrite_subject', 999.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(4, 1, 0, 'riud', 'riud', 'r', 'Wants viruses', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 6.9, 6.9, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'y', 4.00, 6.00, 'rewrite_subject', 10.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(5, 1, 0, 'riud', 'riud', 'r', 'Normal', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', '', '', '', '', '', '', 1, 4.5, 50, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '***SPAM***', NULL, NULL, 'y', 4.00, 6.00, 'rewrite_subject', 10.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(6, 1, 0, 'riud', 'riud', 'r', 'Trigger happy', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 5, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'y', 2.00, 4.00, 'rewrite_subject', 8.00); -INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(7, 1, 0, 'riud', 'riud', 'r', 'Permissive', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 10, 20, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 7.00, 10.00, 'rewrite_subject', 20.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(2, 1, 0, 'riud', 'riud', 'r', 'Uncensored', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, 3, 999, 999, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 999.00, 999.00, 'rewrite_subject', 999.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(3, 1, 0, 'riud', 'riud', 'r', 'Wants all spam', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 999, 999, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 999.00, 999.00, 'rewrite_subject', 999.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(4, 1, 0, 'riud', 'riud', 'r', 'Wants viruses', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 6.9, 6.9, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'y', 4.00, 6.00, 'rewrite_subject', 10.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(5, 1, 0, 'riud', 'riud', 'r', 'Normal', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', '', '', '', '', '', '', 1, 4.5, 50, 0, 0, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, '', '***SPAM***', NULL, NULL, 'y', 4.00, 6.00, 'rewrite_subject', 10.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(6, 1, 0, 'riud', 'riud', 'r', 'Trigger happy', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 5, 5, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'y', 2.00, 4.00, 'rewrite_subject', 8.00); +INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`, `rspamd_greylisting`, `rspamd_spam_greylisting_level`, `rspamd_spam_tag_level`, `rspamd_spam_tag_method`, `rspamd_spam_kill_level`) VALUES(7, 1, 0, 'riud', 'riud', 'r', 'Permissive', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'Y', NULL, NULL, NULL, NULL, NULL, NULL, 3, 10, 20, NULL, NULL, NULL, NULL, NULL, NULL, 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', 7.00, 10.00, 'rewrite_subject', 20.00); -- -------------------------------------------------------- @@ -2581,7 +2499,7 @@ INSERT INTO `sys_theme` (`var_id`, `tpl_name`, `username`, `logo_url`) VALUES (N -- Dumping data for table `sys_user` -- -INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `username`, `passwort`, `modules`, `startmodule`, `app_theme`, `typ`, `active`, `language`, `groups`, `default_group`, `client_id`) VALUES (1, 1, 0, 'riud', 'riud', '', 'admin', '21232f297a57a5a743894a0e4a801fc3', 'dashboard,admin,client,mail,monitor,sites,dns,vm,tools,help', 'dashboard', 'default', 'admin', 1, 'en', '1,2', 1, 0); +INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `username`, `passwort`, `modules`, `startmodule`, `app_theme`, `typ`, `active`, `language`, `groups`, `default_group`, `client_id`) VALUES (1, 1, 0, 'riud', 'riud', '', 'admin', 'xxx', 'dashboard,admin,client,mail,monitor,sites,dns,vm,tools,help', 'dashboard', 'default', 'admin', 1, 'en', '1,2', 1, 0); -- -------------------------------------------------------- diff --git a/install/sql/powerdns.sql b/install/sql/powerdns.sql index c9bf8280f23f2aa593dcaafd6e793ce2786413c6..640e06eb060f3b8f6a3094fcae5a1695cf476d34 100644 --- a/install/sql/powerdns.sql +++ b/install/sql/powerdns.sql @@ -20,6 +20,8 @@ CREATE TABLE IF NOT EXISTS `records` ( `ttl` int(11) default NULL, `prio` int(11) default NULL, `change_date` int(11) default NULL, + `disabled` tinyint(1) default 0, + `auth` tinyint(1) default 1, `ispconfig_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `rec_name_index` (`name`), @@ -32,3 +34,26 @@ CREATE TABLE IF NOT EXISTS `supermasters` ( `nameserver` varchar(255) NOT NULL, `account` varchar(40) default NULL ) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS `domainmetadata` ( + `id` int auto_increment, + `domain_id` int NOT NULL, + `kind` varchar(32), + `content` TEXT, + PRIMARY KEY (`id`) +) Engine=InnoDB; + + +-- add new columns if not existing +SET @dbname = DATABASE(); + +SELECT count(*) INTO @exist FROM `information_schema`.`columns` WHERE `table_schema` = @dbname AND `column_name` = 'auth' AND `table_name` = 'records' LIMIT 1; +SET @query = IF(@exist <= 0, 'ALTER TABLE `records` ADD COLUMN `auth` tinyint(1) default 1 AFTER `change_date`', 'SELECT \'Column Exists\' STATUS'); +PREPARE stmt FROM @query; +EXECUTE stmt; + +SELECT count(*) INTO @exist FROM `information_schema`.`columns` WHERE `table_schema` = @dbname AND `column_name` = 'disabled' AND `table_name` = 'records' LIMIT 1; +SET @query = IF(@exist <= 0, 'ALTER TABLE `records` ADD COLUMN `disabled` tinyint(1) default 0 AFTER `change_date`', 'SELECT \'Column Exists\' STATUS'); +PREPARE stmt FROM @query; +EXECUTE stmt; + diff --git a/install/tpl/amavisd_user_config.master b/install/tpl/amavisd_user_config.master index 344ea9a152de0ab43982c83b18b6bb7e99525d6c..f764bb3acb0bedd1c884f255662e7782e58b473a 100644 --- a/install/tpl/amavisd_user_config.master +++ b/install/tpl/amavisd_user_config.master @@ -33,7 +33,8 @@ use strict; $sql_select_policy = 'SELECT *,spamfilter_users.id'. ' FROM spamfilter_users LEFT JOIN spamfilter_policy ON spamfilter_users.policy_id=spamfilter_policy.id'. - ' WHERE spamfilter_users.email IN (%k) ORDER BY spamfilter_users.priority DESC'; + ' WHERE spamfilter_users.email IN (%k) AND spamfilter_users.policy_id != 0'. + ' ORDER BY spamfilter_users.priority DESC'; $sql_select_white_black_list = 'SELECT wb FROM spamfilter_wblist'. diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master index b1de2a167621b5ff3fa242e33f64be14ef3065a3..c968abf3679777acd99fa6b8ddbee89524d43956 100644 --- a/install/tpl/apache_ispconfig.conf.master +++ b/install/tpl/apache_ispconfig.conf.master @@ -1,8 +1,12 @@ +# Important: A copy of this file exists in server/conf/ folder. +# Edit both files when applying changes. + ################################################ # ISPConfig General Apache Options ################################################ ServerTokens ProductOnly ServerSignature Off +DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm standard_index.html ################################################ # ISPConfig Logfile configuration for vlogger diff --git a/install/tpl/apache_ispconfig.vhost.master b/install/tpl/apache_ispconfig.vhost.master index cc177f5c480e4bb453867ea164a365603b945960..0d12694f7ae57b57f1a24c4407b37d45d9ae9492 100644 --- a/install/tpl/apache_ispconfig.vhost.master +++ b/install/tpl/apache_ispconfig.vhost.master @@ -9,6 +9,8 @@ NameVirtualHost *: > ServerAdmin webmaster@localhost + Alias /mail /var/www/ispconfig/mail + SetHandler None diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master index 946a3ee50509afc9238c782a65e6ca0fb2e81003..bd5cc8f47fb0206e122361c6d60cb520e2e60bcf 100644 --- a/install/tpl/config.inc.php.master +++ b/install/tpl/config.inc.php.master @@ -33,11 +33,11 @@ if( !empty($_SERVER['DOCUMENT_ROOT']) ) { Header("Pragma: no-cache"); Header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); Header("Content-Type: text/html; charset=utf-8"); - + //** Set a few php.ini values ini_set('register_globals',0); ini_set('magic_quotes_gpc', 0); - + if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']) || isset($_REQUEST['s']) || isset($_REQUEST['s_old']) || isset($_REQUEST['conf'])) { die('Internal Error: var override attempt detected'); exit; @@ -127,8 +127,8 @@ $conf['init_scripts'] = '/etc/init.d'; $conf['interface_modules_enabled'] = 'dashboard,mail,sites,dns,tools,help'; //** Demo mode -/* The demo mode is an option to restrict certain actions in the interface like -* changing the password of users with sys_userid < 3 etc. to be +/* The demo mode is an option to restrict certain actions in the interface like +* changing the password of users with sys_userid < 3 etc. to be * able to run the ISPConfig interface as online demo. It does not * affect the server part. The demo mode should be always set to false * on every normal installation @@ -141,10 +141,6 @@ $conf['log_file'] = $conf['ispconfig_log_dir'].$conf['fs_div'].'ispconfig.log'; $conf['log_priority'] = {ispconfig_log_priority}; // 0 = Debug, 1 = Warning, 2 = Error -//** Allow software package installations -$conf['software_updates_enabled'] = false; - - //** Themes $conf['theme'] = '{theme}'; $conf['html_content_encoding'] = 'utf-8'; // example: utf-8, iso-8859-1, ... diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master index e05330dc26a4216d28e5d85f2918d005558232f4..32a25c995de7f3ac0d739bc7272434d5176b0ffd 100644 --- a/install/tpl/debian6_dovecot-sql.conf.master +++ b/install/tpl/debian6_dovecot-sql.conf.master @@ -14,7 +14,8 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT # password-query with prefetch -password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' +password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) + user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) 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. diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master index a27728ef693e072d2158388668fcaf2eadfde642..36ae86fa6df7023218ba12d686fdb6a6c964ec38 100644 --- a/install/tpl/debian6_dovecot2.conf.master +++ b/install/tpl/debian6_dovecot2.conf.master @@ -1,3 +1,6 @@ +# Do not change this file, as changes will be overwritten by any ISPConfig update. +# Put your custom settings in /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master. +# To start using those changes, do a force upgrade and let it reconfigure your services. (ispconfig_update.sh --force) listen = *,[::] protocols = imap pop3 auth_mechanisms = plain login @@ -65,21 +68,21 @@ service imap-login { process_limit = 512 } protocol imap { - mail_plugins = quota imap_quota + mail_plugins = $mail_plugins quota imap_quota auth_verbose = yes } protocol pop3 { pop3_uidl_format = %08Xu%08Xv - mail_plugins = quota + mail_plugins = $mail_plugins quota auth_verbose = yes } protocol lda { postmaster_address = webmaster@localhost - mail_plugins = sieve quota + mail_plugins = $mail_plugins sieve quota } protocol lmtp { postmaster_address = webmaster@localhost - mail_plugins = quota sieve + mail_plugins = $mail_plugins quota sieve } #2.3+ service stats { @@ -88,7 +91,7 @@ protocol lmtp { #2.3+ group = vmail #2.3+ mode = 0660 #2.3+ } -#2.3+ +#2.3+ #2.3+ unix_listener stats-writer { #2.3+ user = vmail #2.3+ group = vmail @@ -111,7 +114,7 @@ plugin { quota_status_overquota = "552 5.2.2 Mailbox is full" } -imap_capability=+SEPCIAL-USE XLIST +imap_capability=+SPECIAL-USE XLIST namespace inbox { inbox = yes separator = . @@ -131,3 +134,5 @@ namespace inbox { special_use = \Trash } } + +!include_try conf.d/99-ispconfig-custom-config.conf \ No newline at end of file diff --git a/install/tpl/debian_dovecot-sql.conf.master b/install/tpl/debian_dovecot-sql.conf.master index 2e0858057e8739cdc23ae8fef854b797d8b35cdf..f067d6ba108dc547ab48d6c1e11eea1557fc72d8 100644 --- a/install/tpl/debian_dovecot-sql.conf.master +++ b/install/tpl/debian_dovecot-sql.conf.master @@ -121,7 +121,8 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT # password-query with prefetch -password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' +password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) + user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) 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. diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master index 524291c5d8816b0cfeecfb3330c3feb175e1ddfe..12288e2cdeaf510cc80603eb9bd616a371076ed9 100644 --- a/install/tpl/debian_dovecot2.conf.master +++ b/install/tpl/debian_dovecot2.conf.master @@ -1,3 +1,6 @@ +# Do not change this file, as changes will be overwritten by any ISPConfig update. +# Put your custom settings in /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master. +# To start using those changes, do a force upgrade and let it reconfigure your services. (ispconfig_update.sh --force) listen = *,[::] protocols = imap pop3 auth_mechanisms = plain login @@ -12,7 +15,7 @@ ssl_min_protocol = TLSv1.2 ssl_cipher_list = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 ssl_prefer_server_ciphers = no mail_max_userip_connections = 100 -mail_plugins = $mail_plugins quota +mail_plugins = quota passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql @@ -62,21 +65,21 @@ service imap-login { process_limit = 512 } protocol imap { - mail_plugins = quota imap_quota + mail_plugins = $mail_plugins quota imap_quota auth_verbose = yes } protocol pop3 { pop3_uidl_format = %08Xu%08Xv - mail_plugins = quota + mail_plugins = $mail_plugins quota auth_verbose = yes } protocol lda { postmaster_address = webmaster@localhost - mail_plugins = sieve quota + mail_plugins = $mail_plugins sieve quota } protocol lmtp { postmaster_address = webmaster@localhost - mail_plugins = quota sieve + mail_plugins = $mail_plugins quota sieve } @@ -108,3 +111,5 @@ plugin { quota_status_nouser = DUNNO quota_status_overquota = "552 5.2.2 Mailbox is full" } + +!include_try conf.d/99-ispconfig-custom-config.conf \ No newline at end of file diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master index 87ce6fc662e8e31cee4e549e49ba6630e10f383c..5023caf6bee402159e822caa7a396ccd8f910242 100644 --- a/install/tpl/debian_postfix.conf.master +++ b/install/tpl/debian_postfix.conf.master @@ -24,11 +24,12 @@ transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{conf relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions $smtp_sasl_password_maps $sender_dependent_relayhost_maps smtpd_helo_required = yes -smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit -smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf -smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks{rbl_list}, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit +smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit +smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re +smtpd_reject_unlisted_sender = no +smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit smtpd_etrn_restrictions = permit_mynetworks, reject smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit smtpd_client_message_rate_limit = 100 @@ -47,8 +48,14 @@ smtp_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_exclude_ciphers = RC4, aNULL smtp_tls_exclude_ciphers = RC4, aNULL smtpd_tls_mandatory_ciphers = medium -tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 -tls_preempt_cipherlist = no +tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA +tls_preempt_cipherlist = yes address_verify_negative_refresh_time=60s # needed for postfix < 3.3 when using reject_unverified_recipient (lmtp): enable_original_recipient = yes +sender_dependent_relayhost_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayhost.cf +smtp_sasl_password_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayauth.cf, texthash:{config_dir}/sasl_passwd +smtp_sender_dependent_authentication = yes +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous, noplaintext +smtp_sasl_tls_security_options = noanonymous diff --git a/install/tpl/dovecot_custom.conf.master b/install/tpl/dovecot_custom.conf.master new file mode 100644 index 0000000000000000000000000000000000000000..dab73e5a09772417a31d3b45e4c8a36ef82b63e4 --- /dev/null +++ b/install/tpl/dovecot_custom.conf.master @@ -0,0 +1,3 @@ +# You can use this file for custom Dovecot settings. The used settings will overrule the settings set by ISPConfig. +# Use with caution! +# Put this file in /usr/local/ispconfig/server/conf-custom/install/ and make your changes there. diff --git a/install/tpl/fedora_amavisd_conf.master b/install/tpl/fedora_amavisd_conf.master index 9cf4b801bc669813239dc8d4478729b492623872..2435e6939e06511899dde1377f50c27de15c48b5 100644 --- a/install/tpl/fedora_amavisd_conf.master +++ b/install/tpl/fedora_amavisd_conf.master @@ -751,7 +751,8 @@ $banned_filename_re = new_RE( $sql_select_policy = 'SELECT *,spamfilter_users.id'. ' FROM spamfilter_users LEFT JOIN spamfilter_policy ON spamfilter_users.policy_id=spamfilter_policy.id'. - ' WHERE spamfilter_users.email IN (%k) ORDER BY spamfilter_users.priority DESC'; + ' WHERE spamfilter_users.email IN (%k) AND spamfilter_users.policy_id != 0'. + ' ORDER BY spamfilter_users.priority DESC'; $sql_select_white_black_list = 'SELECT wb FROM spamfilter_wblist'. diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master index 5d06d51e5d541447326fd90cc63c45dcd25d5bfb..bac4c9d13d9955027a403c08781b054547794565 100644 --- a/install/tpl/fedora_dovecot-sql.conf.master +++ b/install/tpl/fedora_dovecot-sql.conf.master @@ -134,7 +134,8 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT # password-query with prefetch -password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' +password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) + user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) 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. diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master index e62fd7289a340c275101d02f637e287a457f57f8..d4cd148ef0e3e6c8138d844840084d57dda18e5c 100644 --- a/install/tpl/fedora_dovecot2.conf.master +++ b/install/tpl/fedora_dovecot2.conf.master @@ -1,3 +1,6 @@ +# Do not change this file, as changes will be overwritten by any ISPConfig update. +# Put your custom settings in /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master. +# To start using those changes, do a force upgrade and let it reconfigure your services. (ispconfig_update.sh --force) listen = *,[::] protocols = imap pop3 auth_mechanisms = plain login @@ -59,25 +62,23 @@ service imap-login { process_limit = 500 } protocol imap { - mail_plugins = quota imap_quota + mail_plugins = $mail_plugins quota imap_quota auth_verbose = yes } protocol pop3 { pop3_uidl_format = %08Xu%08Xv - mail_plugins = quota + mail_plugins = $mail_plugins quota auth_verbose = yes } protocol lda { - mail_plugins = sieve quota + mail_plugins = $mail_plugins sieve quota postmaster_address = root@localhost } protocol lmtp { postmaster_address = webmaster@localhost - mail_plugins = quota sieve + mail_plugins = $mail_plugins quota sieve } -mail_plugins = $mail_plugins quota - #2.3+ service stats { #2.3+ unix_listener stats-reader { #2.3+ user = vmail @@ -107,7 +108,7 @@ plugin { quota_status_overquota = "552 5.2.2 Mailbox is full" } -imap_capability=+SEPCIAL-USE XLIST +imap_capability=+SPECIAL-USE XLIST namespace inbox { inbox = yes separator = . @@ -127,3 +128,5 @@ namespace inbox { special_use = \Trash } } + +!include_try conf.d/99-ispconfig-custom-config.conf diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master index a87c7daed9955bab9295af08244e345bc1edb137..c5786c6ea8cf54262d0325a0ebccbe97d2cca640 100644 --- a/install/tpl/fedora_postfix.conf.master +++ b/install/tpl/fedora_postfix.conf.master @@ -1,5 +1,5 @@ virtual_alias_domains = proxy:mysql:{config_dir}/mysql-virtual_alias_domains.cf -virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_alias_maps.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_alias_maps.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} @@ -20,11 +20,12 @@ transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{conf relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions $smtp_sasl_password_maps $sender_dependent_relayhost_maps smtpd_helo_required = yes -smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit -smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf -smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks{rbl_list}, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit +smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit +smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re +smtpd_reject_unlisted_sender = no +smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit smtpd_etrn_restrictions = permit_mynetworks, reject smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit smtpd_client_message_rate_limit = 100 @@ -43,8 +44,14 @@ smtp_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_exclude_ciphers = RC4, aNULL smtp_tls_exclude_ciphers = RC4, aNULL smtpd_tls_mandatory_ciphers = medium -tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 -tls_preempt_cipherlist = no +tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA +tls_preempt_cipherlist = yes address_verify_negative_refresh_time=60s # needed for postfix < 3.3 when using reject_unverified_recipient (lmtp): enable_original_recipient = yes +sender_dependent_relayhost_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayhost.cf +smtp_sasl_password_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayauth.cf, texthash:{config_dir}/sasl_passwd +smtp_sender_dependent_authentication = yes +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous, noplaintext +smtp_sasl_tls_security_options = noanonymous diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master index 605344bd749d98177884538c8198b5e060aa30e5..405640f52a9dd4310289db241ee6fce61fec8aea 100644 --- a/install/tpl/gentoo_postfix.conf.master +++ b/install/tpl/gentoo_postfix.conf.master @@ -19,11 +19,12 @@ transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{conf relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions $smtp_sasl_password_maps $sender_dependent_relayhost_maps smtpd_helo_required = yes -smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit -smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf -smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks{rbl_list}, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit +smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit +smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re +smtpd_reject_unlisted_sender = no +smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit smtpd_etrn_restrictions = permit_mynetworks, reject smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit smtpd_client_message_rate_limit = 100 @@ -42,8 +43,14 @@ smtp_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_exclude_ciphers = RC4, aNULL smtp_tls_exclude_ciphers = RC4, aNULL smtpd_tls_mandatory_ciphers = medium -tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 -tls_preempt_cipherlist = no +tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA +tls_preempt_cipherlist = yes address_verify_negative_refresh_time=60s # needed for postfix < 3.3 when using reject_unverified_recipient (lmtp): enable_original_recipient = yes +sender_dependent_relayhost_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayhost.cf +smtp_sasl_password_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayauth.cf, texthash:{config_dir}/sasl_passwd +smtp_sender_dependent_authentication = yes +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous, noplaintext +smtp_sasl_tls_security_options = noanonymous diff --git a/install/tpl/jk_init.ini.master b/install/tpl/jk_init.ini.master index 0f62aac9efdd0d3bc0b9c9fe5e98becddeba3821..2563c40b04618102fe9206abf71f31635fc7d56e 100644 --- a/install/tpl/jk_init.ini.master +++ b/install/tpl/jk_init.ini.master @@ -6,11 +6,11 @@ [uidbasics] comment = common files for all jails that need user/group information -paths = /lib/libnsl.so.1, /lib64/libnsl.so.1, /lib/libnss*.so.2, /lib64/libnss*.so.2, /lib/i386-linux-gnu/libnsl.so.1, /lib/i386-linux-gnu/libnss*.so.2, /lib/x86_64-linux-gnu/libnsl.so.1, /lib/x86_64-linux-gnu/libnss*.so.2, /lib/arm-linux-gnueabihf/libnss*.so.2, /lib/arm-linux-gnueabihf/libnsl*.so.1, /etc/nsswitch.conf, /etc/ld.so.conf +paths = /lib*/libnsl.so.*, /lib*/libnss*.so.*, /lib/*/libnsl.so.*, /lib/*/libnss*.so.*, /etc/nsswitch.conf, /etc/ld.so.conf [netbasics] comment = common files for all jails that need any internet connectivity -paths = /lib/libnss_dns.so.2, /lib64/libnss_dns.so.2, /lib/libnss_mdns*.so.2, /lib/i386-linux-gnu/libnss_dns.so.2, /lib/x86_64-linux-gnu/libnss_dns.so.2, /etc/resolv.conf, /etc/host.conf, /etc/hosts, /etc/protocols, /etc/services, /etc/ssl/certs/, /usr/lib/ssl/certs +paths = /lib*/libnss_dns.so.*, /lib*/libnss_mdns*.so.*, /lib/*/libnss_dns.so.*, /lib/*/libnss_mdns*.so.*, /etc/resolv.conf, /etc/host.conf, /etc/hosts, /etc/protocols, /etc/services, /etc/ssl/certs/, /usr/lib/ssl/certs [logbasics] comment = timezone information and log sockets @@ -35,22 +35,20 @@ devices = /dev/null [git] comment = Fast Version Control System -paths = /usr/bin/git*, /usr/lib/git-core, /usr/share/git-core, /usr/bin/pager +paths = /usr/bin/git*, /usr/lib/git-core, /usr/share/git-core, pager includesections = editors, perl, netbasics, basicshell, coreutils [scp] comment = ssh secure copy paths = scp includesections = netbasics, uidbasics -devices = /dev/urandom +devices = /dev/urandom, /dev/null [sftp] comment = ssh secure ftp paths = /usr/lib/sftp-server, /usr/libexec/openssh/sftp-server, /usr/lib/misc/sftp-server, /usr/libexec/sftp-server, /usr/lib/openssh/sftp-server includesections = netbasics, uidbasics devices = /dev/urandom, /dev/null -# on solaris -#paths = /usr/lib/ssh/sftp-server [ssh] comment = ssh secure shell @@ -74,6 +72,10 @@ users = root groups = root includesections = uidbasics +[interactiveshell] +comment = for ssh access to a full shell +includesections = uidbasics, basicshell, terminfo, editors, extendedshell + [midnightcommander] comment = Midnight Commander paths = mc, mcedit, mcview, /usr/share/mc @@ -149,8 +151,8 @@ paths_w_setuid = /bin/ping #paths = /usr/bin/X11/xterm, /usr/share/terminfo, /etc/terminfo #devices = /dev/pts/0, /dev/pts/1, /dev/pts/2, /dev/pts/3, /dev/pts/4, /dev/ptyb4, /dev/ptya4, /dev/tty, /dev/tty0, /dev/tty4 -+# coreutils from: -+# (echo -ne '\n[coreutils]\ncomment = non-sbin progs from coreutils\npaths = '; dpkg --listfiles coreutils | grep -E '^/bin/|/usr/bin/' | xargs -n1 -i@ echo -n "@, " | sed -e 's/, *$/\n/g' -e 's|/usr/bin/||g' -e 's|/bin/||g') >> /etc/jailkit/jk_init.ini +# coreutils from: +# (echo -ne '\n[coreutils]\ncomment = non-sbin progs from coreutils\npaths = '; dpkg --listfiles coreutils | grep -E '^/bin/|/usr/bin/' | xargs -n1 -i@ echo -n "@, " | sed -e 's/, *$/\n/g' -e 's|/usr/bin/||g' -e 's|/bin/||g') >> /etc/jailkit/jk_init.ini [coreutils] comment = non-sbin progs from coreutils @@ -163,7 +165,7 @@ includesections = php, mysql-client [mysql-client] comment = mysql client -paths = mysql, mysqldump, mysqlshow, /usr/lib/libmysqlclient.so, /usr/lib/i386-linux-gnu/libmariadb.so.3, /usr/lib/i386-linux-gnu/mariadb19, /usr/lib/x86_64-linux-gnu/libmariadb.so.3, /usr/lib/x86_64-linux-gnu/mariadb19 +paths = mysql, mysqldump, mysqlshow, /usr/lib/libmysqlclient.so, /usr/lib/i386-linux-gnu/libmariadb.so.3, /usr/lib/i386-linux-gnu/mariadb19, /usr/lib/x86_64-linux-gnu/libmariadb.so.3, /usr/lib/x86_64-linux-gnu/mariadb19, /usr/lib/arm-linux-gnueabihf/libmariadb.so.3, /usr/lib/arm-linux-gnueabihf/mariadb19, /usr/lib/aarch64-linux-gnu/libmariadb.so.3, /usr/lib/aarch64-linux-gnu/mariadb19 includesections = netbasics [composer] @@ -173,7 +175,7 @@ includesections = php, uidbasics, netbasics [node] comment = NodeJS -paths = npm, node, nodejs, /usr/lib/nodejs, /usr/share/node-mime, /usr/lib/node_modules, /usr/local/lib/nodejs, /usr/local/lib/node_modules, elmi-to-json, /usr/local/bin/elmi-to-json +paths = npm, node, nodejs, /usr/lib/nodejs, /usr/share/npm, /usr/share/node-mime, /usr/lib/node_modules, /usr/local/lib/nodejs, /usr/local/lib/node_modules, elmi-to-json, /usr/local/bin/elmi-to-json [env] comment = /usr/bin/env for environment variables @@ -194,7 +196,7 @@ comment = common php directories and libraries # or the php config (which includes custom php snippets) from *all* # sites which use fpm will be copied to *every* jailkit paths = /usr/bin/php, /usr/lib/php/, /usr/share/php/, /usr/share/zoneinfo/ -includesections = env +includesections = env, logbasics, netbasics [php5_6] comment = php version 5.6 @@ -225,3 +227,12 @@ includesections = php_common comment = php version 7.4 paths = /usr/bin/php7.4, /usr/lib/php/7.4/, /usr/lib/php/20190902/, /usr/share/php/7.4/, /etc/php/7.4/cli/, /etc/php/7.4/mods-available/ includesections = php_common + +[php8_0] +comment = php version 8.0 +paths = /usr/bin/php8.0, /usr/lib/php/8.0/, /usr/lib/php/20200930/, /usr/share/php/8.0/, /etc/php/8.0/cli/, /etc/php/8.0/mods-available/ +includesections = php_common + +[imagemagick] +comment = ImageMagick needed for php-imagemagick extension +paths = /usr/share/ImageMagick-*, /etc/ImageMagick-*, /usr/lib/*/ImageMagick-* diff --git a/install/tpl/mysql-virtual_email2email.cf.master b/install/tpl/mysql-virtual_email2email.cf.master index 326ef2c3d98682ba18d45e0d6c4496c48323cfe1..21d5146f2c129485c237fcc980f06ccf473c8e25 100644 --- a/install/tpl/mysql-virtual_email2email.cf.master +++ b/install/tpl/mysql-virtual_email2email.cf.master @@ -3,5 +3,7 @@ password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} hosts = {mysql_server_ip} query = SELECT email FROM mail_user WHERE email = '%s' AND forward_in_lda = 'n' AND disabledeliver = 'n' AND postfix = 'y' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) UNION - SELECT cc AS email FROM mail_user WHERE email = '%s' AND cc != '' AND (forward_in_lda = 'n' OR disabledeliver = 'y') AND postfix = 'y' AND server_id = {server_id} + SELECT cc AS email FROM mail_user WHERE email = '%s' AND cc != '' AND (forward_in_lda = 'n' OR disabledeliver = 'y') AND disablesmtp = 'n' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/mysql-virtual_forwardings.cf.master b/install/tpl/mysql-virtual_forwardings.cf.master index 9ab6f3e860fa06ac2f987343f17f2c43115f36bd..8607735c932b18f95a458ed3dcbd297d7120f8ea 100644 --- a/install/tpl/mysql-virtual_forwardings.cf.master +++ b/install/tpl/mysql-virtual_forwardings.cf.master @@ -3,9 +3,9 @@ password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} hosts = {mysql_server_ip} query = SELECT s.destination AS target FROM mail_forwarding AS s - WHERE s.source = '%s' AND s.type IN ('alias', 'forward') AND s.active = 'y' AND s.server_id = {server_id} + WHERE (s.source = '%s' OR s.source = {address_without_extension}) AND s.type IN ('alias', 'forward') AND s.active = 'y' AND s.server_id = {server_id} UNION SELECT s.destination AS target FROM mail_forwarding AS s WHERE s.source = '@%d' AND s.type = 'catchall' AND s.active = 'y' AND s.server_id = {server_id} - AND NOT EXISTS (SELECT email FROM mail_user WHERE email = '%s' AND server_id = {server_id}) - AND NOT EXISTS (SELECT source FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND server_id = {server_id}) + AND NOT EXISTS (SELECT email FROM mail_user WHERE (email = '%s' OR email = {address_without_extension}) AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) AND server_id = {server_id}) + AND NOT EXISTS (SELECT source FROM mail_forwarding WHERE (source = '%s' OR source = {address_without_extension}) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/mysql-virtual_gids.cf.master b/install/tpl/mysql-virtual_gids.cf.master index 5611b935dd2cf6f8fa2afd10713cdf313fb9e11f..0bd2c8ec6964267a3a78516e451a1760de15ad73 100644 --- a/install/tpl/mysql-virtual_gids.cf.master +++ b/install/tpl/mysql-virtual_gids.cf.master @@ -2,4 +2,5 @@ user = {mysql_server_ispconfig_user} password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} hosts = {mysql_server_ip} -query = select gid from mail_user where email = '%s' and postfix = 'y' and server_id = {server_id} +query = SELECT gid FROM mail_user WHERE email = '%s' AND postfix = 'y' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/mysql-virtual_mailboxes.cf.master b/install/tpl/mysql-virtual_mailboxes.cf.master index 8b2677a1966cb2ba01add4139d06940651543e41..76cc05f46433a547860fd4b86c8e045722c64bb5 100644 --- a/install/tpl/mysql-virtual_mailboxes.cf.master +++ b/install/tpl/mysql-virtual_mailboxes.cf.master @@ -2,4 +2,5 @@ user = {mysql_server_ispconfig_user} password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} hosts = {mysql_server_ip} -query = select CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') from mail_user where email = '%s' and postfix = 'y' and disabledeliver = 'n' and server_id = {server_id} +query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM mail_user WHERE email = '%s' AND postfix = 'y' AND disabledeliver = 'n' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/mysql-virtual_outgoing_bcc.cf.master b/install/tpl/mysql-virtual_outgoing_bcc.cf.master index 19b235fcf5a19c2b3a068e9a4820a671f194559d..1501154e161d63a26d27a265c557e396ae18b92f 100644 --- a/install/tpl/mysql-virtual_outgoing_bcc.cf.master +++ b/install/tpl/mysql-virtual_outgoing_bcc.cf.master @@ -4,7 +4,9 @@ dbname = {mysql_server_database} hosts = {mysql_server_ip} query = SELECT sender_cc FROM ( SELECT SUBSTRING_INDEX(sender_cc, ',', 1) AS sender_cc - FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id} + FROM mail_user + WHERE email = '%s' AND disablesmtp = 'n' AND sender_cc != '' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) UNION SELECT SUBSTRING_INDEX(u.sender_cc, ',', 1) AS sender_cc FROM mail_user u, mail_forwarding f @@ -13,4 +15,5 @@ query = SELECT sender_cc FROM ( '[[:blank:]]*(,[[:blank:]]*[[:alnum:]]|,?[[:blank:]]*(\\r?\\n|$))' ) AND u.disablesmtp = 'n' AND u.sender_cc != '' AND u.server_id = {server_id} AND f.source = '%s' AND f.allow_send_as = 'y' AND f.active = 'y' AND f.server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) ) table1 WHERE sender_cc != '' LIMIT 1 diff --git a/install/tpl/mysql-virtual_policy_greylist.cf.master b/install/tpl/mysql-virtual_policy_greylist.cf.master index 5203b1a2ea65a597d034d204289f4abc6bdffd1b..8896b823a7778523d87505e31d24cbf826e86200 100644 --- a/install/tpl/mysql-virtual_policy_greylist.cf.master +++ b/install/tpl/mysql-virtual_policy_greylist.cf.master @@ -5,9 +5,10 @@ hosts = {mysql_server_ip} query = SELECT 'greylisting' FROM ( SELECT `greylisting`, 1 as `prio` FROM `mail_user` WHERE `server_id` = {server_id} AND `email` = '%s' + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) UNION - SELECT `greylisting`, 2 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '%s' + SELECT `greylisting`, 2 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '%s' AND active = 'y' UNION - SELECT `greylisting`, 3 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '@%d' ORDER BY `prio` ASC LIMIT 1 + SELECT `greylisting`, 3 as `prio` FROM `mail_forwarding` WHERE `server_id` = {server_id} AND `source` = '@%d' AND active = 'y' ORDER BY `prio` ASC LIMIT 1 ) AS rules WHERE rules.greylisting = 'y' diff --git a/install/tpl/mysql-virtual_sender-relayauth.cf.master b/install/tpl/mysql-virtual_sender-relayauth.cf.master new file mode 100644 index 0000000000000000000000000000000000000000..413607c763f616d65263e86eb063cfcd0f5c5b2a --- /dev/null +++ b/install/tpl/mysql-virtual_sender-relayauth.cf.master @@ -0,0 +1,10 @@ +user = {mysql_server_ispconfig_user} +password = {mysql_server_ispconfig_password} +dbname = {mysql_server_database} +hosts = {mysql_server_ip} +query = SELECT CONCAT(relay_user,':',relay_pass) as credential + FROM mail_domain + WHERE domain = '%d' + AND active = 'y' + AND concat(relay_host,relay_user,relay_pass) != '' + AND server_id = {server_id} diff --git a/install/tpl/mysql-virtual_sender-relayhost.cf.master b/install/tpl/mysql-virtual_sender-relayhost.cf.master new file mode 100644 index 0000000000000000000000000000000000000000..3bb4c81330bc071d484446c25a1eb3d40ccf6ebd --- /dev/null +++ b/install/tpl/mysql-virtual_sender-relayhost.cf.master @@ -0,0 +1,10 @@ +user = {mysql_server_ispconfig_user} +password = {mysql_server_ispconfig_password} +dbname = {mysql_server_database} +hosts = {mysql_server_ip} +query = SELECT relay_host as relayhost + FROM mail_domain + WHERE domain = '%d' + AND active = 'y' + AND concat(relay_host,relay_user,relay_pass) != '' + AND server_id = {server_id} diff --git a/install/tpl/mysql-virtual_sender_login_maps.cf.master b/install/tpl/mysql-virtual_sender_login_maps.cf.master index f97229d213a9a549065e2ac458f31ae85dfdf3cf..7342cf87faaa978fec482f2f7a67eeeaf092a00a 100644 --- a/install/tpl/mysql-virtual_sender_login_maps.cf.master +++ b/install/tpl/mysql-virtual_sender_login_maps.cf.master @@ -4,4 +4,11 @@ dbname = {mysql_server_database} hosts = {mysql_server_ip} query = SELECT destination FROM mail_forwarding WHERE source = '%s' AND active = 'y' AND allow_send_as = 'y' AND server_id = {server_id} UNION - SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id}; + SELECT email FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) + UNION + SELECT login FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX(email, '@', -1) AND active = 'y' AND server_id = {server_id}) + UNION + SELECT cc FROM mail_user WHERE email = '%s' AND disablesmtp = 'n' AND disabledeliver = 'y' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX(email, '@', -1) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/mysql-virtual_uids.cf.master b/install/tpl/mysql-virtual_uids.cf.master index de35368c0ad39dbba4ee1cfb52ed5f8a48fbab11..6fa041bae5569be38e721161ed494a33f8a8b38d 100644 --- a/install/tpl/mysql-virtual_uids.cf.master +++ b/install/tpl/mysql-virtual_uids.cf.master @@ -2,4 +2,5 @@ user = {mysql_server_ispconfig_user} password = {mysql_server_ispconfig_password} dbname = {mysql_server_database} hosts = {mysql_server_ip} -query = select uid from mail_user where email = '%s' and postfix = 'y' and server_id = {server_id} +query = SELECT uid FROM mail_user WHERE email = '%s' AND postfix = 'y' AND server_id = {server_id} + AND EXISTS (SELECT domain_id FROM mail_domain WHERE domain = SUBSTRING_INDEX('%s', '@', -1) AND active = 'y' AND server_id = {server_id}) diff --git a/install/tpl/named.conf.options.master b/install/tpl/named.conf.options.master index cd5b0ebc2f614b0ab2881c733de35b42f068823c..4f001960bf1b23917146bae849f23cf80487fb2b 100644 --- a/install/tpl/named.conf.options.master +++ b/install/tpl/named.conf.options.master @@ -20,7 +20,6 @@ options { //======================================================================== dnssec-enable yes; dnssec-validation yes; - dnssec-lookaside auto; version "unknown"; diff --git a/install/tpl/nginx_apps.vhost.master b/install/tpl/nginx_apps.vhost.master index b91d1a16c5f05344b0d6c863e28c4043334d5414..181f4c807e2ee0761e61ef26f3f0589153703ca2 100644 --- a/install/tpl/nginx_apps.vhost.master +++ b/install/tpl/nginx_apps.vhost.master @@ -7,7 +7,7 @@ server { {ssl_comment}ssl_certificate_key /usr/local/ispconfig/interface/ssl/ispserver.key; # redirect to https if accessed with http - {ssl_comment}error_page 497 https://$host:{vhost_port}$request_uri; + {ssl_comment}error_page 497 https://$host:{apps_vhost_port}$request_uri; server_name {apps_vhost_servername}; diff --git a/install/tpl/opensuse_amavisd_conf.master b/install/tpl/opensuse_amavisd_conf.master index 419eea237c2a81d2bbb939a135ffe0accacfd4c4..7310db9cbf9e45956d5ce6cdbb7aa1dcaf19231d 100644 --- a/install/tpl/opensuse_amavisd_conf.master +++ b/install/tpl/opensuse_amavisd_conf.master @@ -746,7 +746,8 @@ $banned_filename_re = new_RE( $sql_select_policy = 'SELECT *,spamfilter_users.id'. ' FROM spamfilter_users LEFT JOIN spamfilter_policy ON spamfilter_users.policy_id=spamfilter_policy.id'. - ' WHERE spamfilter_users.email IN (%k) ORDER BY spamfilter_users.priority DESC'; + ' WHERE spamfilter_users.email IN (%k) AND spamfilter_users.policy_id != 0'. + ' ORDER BY spamfilter_users.priority DESC'; $sql_select_white_black_list = 'SELECT wb FROM spamfilter_wblist'. diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master index 5d06d51e5d541447326fd90cc63c45dcd25d5bfb..bac4c9d13d9955027a403c08781b054547794565 100644 --- a/install/tpl/opensuse_dovecot-sql.conf.master +++ b/install/tpl/opensuse_dovecot-sql.conf.master @@ -134,7 +134,8 @@ connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_se default_pass_scheme = CRYPT # password-query with prefetch -password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' +password_query = SELECT email as user, password, maildir as userdb_home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as userdb_mail, uid as userdb_uid, gid as userdb_gid, CONCAT('*:storage=', quota, 'B') AS userdb_quota_rule, CONCAT(maildir, '/.sieve') as userdb_sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}' AND NOT EXISTS (SELECT domain_id FROM mail_domain WHERE domain = '%d' AND active = 'n' AND server_id = {server_id}) + user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) 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. diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master index f7a78c34f2a25c5d2292b67f1c0eb762b14e5b15..fbbb102e1abcc605a329765ffe64db12e9054ea6 100644 --- a/install/tpl/opensuse_dovecot2.conf.master +++ b/install/tpl/opensuse_dovecot2.conf.master @@ -75,15 +75,13 @@ protocol lmtp { mail_plugins = quota sieve } -mail_plugins = $mail_plugins quota - #2.3+ service stats { #2.3+ unix_listener stats-reader { #2.3+ user = vmail #2.3+ group = vmail #2.3+ mode = 0660 #2.3+ } -#2.3+ +#2.3+ #2.3+ unix_listener stats-writer { #2.3+ user = vmail #2.3+ group = vmail @@ -106,7 +104,7 @@ plugin { quota_status_overquota = "552 5.2.2 Mailbox is full" } -imap_capability=+SEPCIAL-USE XLIST +imap_capability=+SPECIAL-USE XLIST namespace inbox { inbox = yes separator = . diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master index 4cb46786a3f0435f7c6d3340f1bc9d29a96d3ba0..a98f4223e13ee1d9221885d4ee6775b08de239ce 100644 --- a/install/tpl/opensuse_postfix.conf.master +++ b/install/tpl/opensuse_postfix.conf.master @@ -22,11 +22,12 @@ transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:{conf relay_domains = proxy:mysql:{config_dir}/mysql-virtual_relaydomains.cf relay_recipient_maps = proxy:mysql:{config_dir}/mysql-virtual_relayrecipientmaps.cf smtpd_sender_login_maps = proxy:mysql:{config_dir}/mysql-virtual_sender_login_maps.cf -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions +proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions $smtp_sasl_password_maps $sender_dependent_relayhost_maps smtpd_helo_required = yes -smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit -smtpd_sender_restrictions = {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re, check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf -smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks{rbl_list}, permit_sasl_authenticated, reject_unauth_pipelining {reject_unknown_client_hostname}, permit +smtpd_helo_restrictions = permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit +smtpd_sender_restrictions = check_sender_access proxy:mysql:{config_dir}/mysql-virtual_sender.cf, {reject_aslm} check_sender_access regexp:{config_dir}/tag_as_originating.re, permit_mynetworks{reject_slm}, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:{config_dir}/tag_as_foreign.re +smtpd_reject_unlisted_sender = no +smtpd_client_restrictions = check_client_access proxy:mysql:{config_dir}/mysql-virtual_client.cf, permit_inet_interfaces, permit_mynetworks, permit_sasl_authenticated{rbl_list}, reject_unauth_pipelining {reject_unknown_client_hostname}, permit smtpd_etrn_restrictions = permit_mynetworks, reject smtpd_data_restrictions = permit_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, permit smtpd_client_message_rate_limit = 100 @@ -45,8 +46,14 @@ smtp_tls_protocols = !SSLv2,!SSLv3 smtpd_tls_exclude_ciphers = RC4, aNULL smtp_tls_exclude_ciphers = RC4, aNULL smtpd_tls_mandatory_ciphers = medium -tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 -tls_preempt_cipherlist = no +tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA +tls_preempt_cipherlist = yes address_verify_negative_refresh_time=60s # needed for postfix < 3.3 when using reject_unverified_recipient (lmtp): enable_original_recipient = yes +sender_dependent_relayhost_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayhost.cf +smtp_sasl_password_maps = proxy:mysql:{config_dir}/mysql-virtual_sender-relayauth.cf, texthash:{config_dir}/sasl_passwd +smtp_sender_dependent_authentication = yes +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous, noplaintext +smtp_sasl_tls_security_options = noanonymous diff --git a/install/tpl/postfix_custom.conf.master b/install/tpl/postfix_custom.conf.master new file mode 100644 index 0000000000000000000000000000000000000000..4f3f2124c84cef97f30c6d6206c62fdf140b56b2 --- /dev/null +++ b/install/tpl/postfix_custom.conf.master @@ -0,0 +1,3 @@ +# You can use this file for custom Postfix settings. The used settings will overrule the settings set by ISPConfig. +# Use with caution! +# Put this file in /usr/local/ispconfig/server/conf-custom/install/ and make your changes there. diff --git a/install/tpl/pureftpd_mysql.conf.master b/install/tpl/pureftpd_mysql.conf.master index 484f1054c843555e273f9ac4d4141c43e2f40d13..fe3df27a3a938e4d679a16e96c85d73e8ecffd48 100644 --- a/install/tpl/pureftpd_mysql.conf.master +++ b/install/tpl/pureftpd_mysql.conf.master @@ -59,12 +59,12 @@ MYSQLCrypt crypt # Query to execute in order to fetch the password -MYSQLGetPW SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MYSQLGetPW SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Query to execute in order to fetch the system user name or uid -MYSQLGetUID SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MYSQLGetUID SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Optional : default UID - if set this overrides MYSQLGetUID @@ -74,7 +74,7 @@ MYSQLGetUID SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '{se # Query to execute in order to fetch the system user group or gid -MYSQLGetGID SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MYSQLGetGID SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Optional : default GID - if set this overrides MYSQLGetGID @@ -84,34 +84,34 @@ MYSQLGetGID SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '{se # Query to execute in order to fetch the home directory -MYSQLGetDir SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MYSQLGetDir SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND username="\L" AND (expires IS NULL OR expires > NOW()) -# Optional : query to get the maximal number of files +# Optional : query to get the maximal number of files # Pure-FTPd must have been compiled with virtual quotas support. -MySQLGetQTAFS SELECT quota_files FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_files != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MySQLGetQTAFS SELECT quota_files FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_files != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Optional : query to get the maximal disk usage (virtual quotas) # The number should be in Megabytes. # Pure-FTPd must have been compiled with virtual quotas support. -MySQLGetQTASZ SELECT quota_size FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_size != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MySQLGetQTASZ SELECT quota_size FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND quota_size != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Optional : ratios. The server has to be compiled with ratio support. -MySQLGetRatioUL SELECT ul_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) -MySQLGetRatioDL SELECT dl_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MySQLGetRatioUL SELECT ul_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) +MySQLGetRatioDL SELECT dl_ratio FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_ratio != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Optional : bandwidth throttling. # The server has to be compiled with throttling support. # Values are in KB/s . -MySQLGetBandwidthUL SELECT ul_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) -MySQLGetBandwidthDL SELECT dl_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires="0000-00-00 00:00:00" OR expires > NOW()) +MySQLGetBandwidthUL SELECT ul_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND ul_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) +MySQLGetBandwidthDL SELECT dl_bandwidth FROM ftp_user WHERE active = 'y' AND server_id = '{server_id}' AND dl_bandwidth != '-1' AND username="\L" AND (expires IS NULL OR expires > NOW()) # Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS : # 1) You know what you are doing. diff --git a/install/tpl/rspamd_antivirus.conf.master b/install/tpl/rspamd_antivirus.conf.master index f88d81ac7ce94c881087b93e0d08bc2f1849f429..aa3d2cc9f252970ad246a6cafdefea639438f36e 100644 --- a/install/tpl/rspamd_antivirus.conf.master +++ b/install/tpl/rspamd_antivirus.conf.master @@ -1,8 +1,11 @@ clamav { # If set force this action if any virus is found (default unset: no action is forced) #action = "reject"; - # if `true` only messages with non-image attachments will be checked (default true) + # Scan mime_parts separately - otherwise the complete mail will be transferred to AV Scanner scan_mime_parts = true; + # Scanning Text is suitable for some av scanner databases (e.g. Sanesecurity) + scan_text_mime = true; + scan_image_mime = true; # If `max_size` is set, messages > n bytes in size are not scanned #max_size = 20000000; # symbol to add (add it to metric if you want non-zero weight) @@ -25,6 +28,10 @@ clamav { # symbol_name = "pattern"; JUST_EICAR = "^Eicar-Test-Signature$"; } + patterns_fail { + # symbol_name = "pattern"; + CLAM_PROTOCOL_ERROR = '^unhandled response'; + } # `whitelist` points to a map of IP addresses. Mail from these addresses is not scanned. whitelist = "/etc/rspamd/antivirus.wl"; -} \ No newline at end of file +} diff --git a/install/tpl/rspamd_symbols_antivirus.conf.master b/install/tpl/rspamd_antivirus_group.conf.master similarity index 100% rename from install/tpl/rspamd_symbols_antivirus.conf.master rename to install/tpl/rspamd_antivirus_group.conf.master diff --git a/install/tpl/rspamd_arc.conf.master b/install/tpl/rspamd_arc.conf.master new file mode 100644 index 0000000000000000000000000000000000000000..781f83ccb26ae13406725022e3f7adb4d568e851 --- /dev/null +++ b/install/tpl/rspamd_arc.conf.master @@ -0,0 +1,8 @@ +sign_authenticated = false; +sign_inbound = true; +sign_local = false; +use_domain = "recipient"; +try_fallback = false; +use_esld = false; +path_map = "/etc/rspamd/local.d/dkim_domains.map"; +selector_map = "/etc/rspamd/local.d/dkim_selectors.map"; diff --git a/install/tpl/rspamd_classifier-bayes.conf.master b/install/tpl/rspamd_classifier-bayes.conf.master deleted file mode 100644 index 1688d57e217673cdfa50ff36c31f4beb782aae70..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_classifier-bayes.conf.master +++ /dev/null @@ -1,3 +0,0 @@ -autolearn = [-0.01, 5.00]; -per_user = true; -per_language = true; \ No newline at end of file diff --git a/install/tpl/rspamd_classifier-bayes.conf.master b/install/tpl/rspamd_classifier-bayes.conf.master new file mode 120000 index 0000000000000000000000000000000000000000..b5324722948b7a3df0d5bd78d858f95ed6583b52 --- /dev/null +++ b/install/tpl/rspamd_classifier-bayes.conf.master @@ -0,0 +1 @@ +../../server/conf/rspamd_classifier-bayes.conf.master \ No newline at end of file diff --git a/install/tpl/rspamd_dkim_signing.conf.master b/install/tpl/rspamd_dkim_signing.conf.master deleted file mode 100644 index 10d89e74952075ce6daa6244ef9dbf5b22fa4a5a..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_dkim_signing.conf.master +++ /dev/null @@ -1,4 +0,0 @@ -try_fallback = false; -use_esld = false; -path_map = "/etc/rspamd/local.d/dkim_domains.map"; -selector_map = "/etc/rspamd/local.d/dkim_selectors.map"; diff --git a/install/tpl/rspamd_dkim_signing.conf.master b/install/tpl/rspamd_dkim_signing.conf.master new file mode 120000 index 0000000000000000000000000000000000000000..ebc6d4ace842401e25e1c48ff73a89d1dc4e11cf --- /dev/null +++ b/install/tpl/rspamd_dkim_signing.conf.master @@ -0,0 +1 @@ +../../server/conf/rspamd_dkim_signing.conf.master \ No newline at end of file diff --git a/install/tpl/rspamd_dkim_whitelist.inc.ispc.master b/install/tpl/rspamd_dkim_whitelist.inc.ispc.master new file mode 100644 index 0000000000000000000000000000000000000000..e9049c3ea89d44a222bf85dac37b32708cbb0295 --- /dev/null +++ b/install/tpl/rspamd_dkim_whitelist.inc.ispc.master @@ -0,0 +1,5 @@ +# Domain whitelist via valid DKIM policy +# (Prefer to spf_dkim_whitelist for domains that use both SPF and DKIM.) + +ispconfig.org + diff --git a/install/tpl/rspamd_dmarc_whitelist.inc.ispc.master b/install/tpl/rspamd_dmarc_whitelist.inc.ispc.master new file mode 100644 index 0000000000000000000000000000000000000000..498fbc971f4e240f786b019da22a512c8a0d8336 --- /dev/null +++ b/install/tpl/rspamd_dmarc_whitelist.inc.ispc.master @@ -0,0 +1,8 @@ +# Domain whitelist via valid DMARC policy (aligned SPF and/or aligned DKIM) + +comodo.com +geotrust.com +geotrusteurope.com +howtoforge.com +ispconfig.org + diff --git a/install/tpl/rspamd_greylist.conf.master b/install/tpl/rspamd_greylist.conf.master deleted file mode 100644 index 74ea715a22cc6fa76671fd47a3f1bf89cfe92d49..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_greylist.conf.master +++ /dev/null @@ -1 +0,0 @@ -servers = "127.0.0.1:6379"; \ No newline at end of file diff --git a/install/tpl/rspamd_milter_headers.conf.master b/install/tpl/rspamd_milter_headers.conf.master index d399bbf4ecc37e39ff900260a4884335767e9957..c9ef9fa2d0a517602706b54d37626517e23df285 100644 --- a/install/tpl/rspamd_milter_headers.conf.master +++ b/install/tpl/rspamd_milter_headers.conf.master @@ -1,2 +1,13 @@ -use = ["x-spamd-bar", "x-spam-level", "authentication-results"]; -authenticated_headers = ["authentication-results"]; \ No newline at end of file +use = ["x-spamd-bar", "x-spam-level", "x-spam-status", "authentication-results", "remove-headers"]; +authenticated_headers = ["authentication-results"]; +routines { + remove-headers { + headers { + "X-Spam" = 0; + "X-Spamd-Bar" = 0; + "X-Spam-Level" = 0; + "X-Spam-Status" = 0; + "X-Spam-Flag" = 0; + } + } +} diff --git a/install/tpl/rspamd_mx_check.conf.master b/install/tpl/rspamd_mx_check.conf.master index 0a628f9c8382ee1f0def03883c91b91d7701e625..0c71ecb26b9e5ae295b179851b41896432c3eb83 100644 --- a/install/tpl/rspamd_mx_check.conf.master +++ b/install/tpl/rspamd_mx_check.conf.master @@ -1,9 +1,8 @@ enabled = true; -servers = "localhost"; key_prefix = "rmx"; symbol_bad_mx = "MX_INVALID"; symbol_no_mx = "MX_MISSING"; symbol_good_mx = "MX_GOOD"; expire = 86400; expire_novalid = 7200; -greylist_invalid = false; \ No newline at end of file +greylist_invalid = false; diff --git a/install/tpl/rspamd_neural.conf.master b/install/tpl/rspamd_neural.conf.master index 76f8a6d34479f05dfb638d736fdb5c975b31a7a0..9047212cd3b6fc135fbeb37a89b6c7c825d4e52b 100644 --- a/install/tpl/rspamd_neural.conf.master +++ b/install/tpl/rspamd_neural.conf.master @@ -1,4 +1,3 @@ -servers = 127.0.0.1:6379; enabled = true; rules { @@ -28,4 +27,4 @@ rules { symbol_ham = "NEURAL_HAM_SHORT"; ann_expire = 1d; } -} \ No newline at end of file +} diff --git a/install/tpl/rspamd_options.inc.master b/install/tpl/rspamd_options.inc.master deleted file mode 100644 index 69e40365b7dc653b046b6e3cb3ff0539936a816e..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_options.inc.master +++ /dev/null @@ -1,5 +0,0 @@ -local_addrs = "127.0.0.0/8, ::1"; - -dns { - nameserver = ["127.0.0.1:53:10"]; -} diff --git a/install/tpl/rspamd_options.inc.master b/install/tpl/rspamd_options.inc.master new file mode 120000 index 0000000000000000000000000000000000000000..7cc72e81b24bd21306280236067c3400c6b61b1a --- /dev/null +++ b/install/tpl/rspamd_options.inc.master @@ -0,0 +1 @@ +../../server/conf/rspamd_options.inc.master \ No newline at end of file diff --git a/install/tpl/rspamd_override_rbl.conf.master b/install/tpl/rspamd_rbl_group.conf.master similarity index 100% rename from install/tpl/rspamd_override_rbl.conf.master rename to install/tpl/rspamd_rbl_group.conf.master diff --git a/install/tpl/rspamd_redis.conf.master b/install/tpl/rspamd_redis.conf.master deleted file mode 100644 index b908af9f5ebe0e23293797e234eb9dd455838a01..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_redis.conf.master +++ /dev/null @@ -1 +0,0 @@ -servers = "127.0.0.1"; \ No newline at end of file diff --git a/install/tpl/rspamd_redis.conf.master b/install/tpl/rspamd_redis.conf.master new file mode 120000 index 0000000000000000000000000000000000000000..df7de6da3cc87c905596bf75991fce01c00b9173 --- /dev/null +++ b/install/tpl/rspamd_redis.conf.master @@ -0,0 +1 @@ +../../server/conf/rspamd_redis.conf.master \ No newline at end of file diff --git a/install/tpl/rspamd_spf_dkim_whitelist.inc.ispc.master b/install/tpl/rspamd_spf_dkim_whitelist.inc.ispc.master new file mode 100644 index 0000000000000000000000000000000000000000..42d5c8fd85577fb807ea52816c57c02517817a57 --- /dev/null +++ b/install/tpl/rspamd_spf_dkim_whitelist.inc.ispc.master @@ -0,0 +1,9 @@ +# Domain whitelist via valid SPF policy AND valid DKIM policy +# (Prefer to spf_whitelist or dkim_whitelist for domains that use both SPF and DKIM.) + +comodo.com +geotrust.com +geotrusteurope.com +# letsencrypt is in rspamd's default spf_dkim_whitelist, only needed if strict: +#letsencrypt.org both:1.0 + diff --git a/install/tpl/rspamd_spf_whitelist.inc.ispc.master b/install/tpl/rspamd_spf_whitelist.inc.ispc.master new file mode 100644 index 0000000000000000000000000000000000000000..8eda01c8d6de5db16f42f62be3246e956776bff4 --- /dev/null +++ b/install/tpl/rspamd_spf_whitelist.inc.ispc.master @@ -0,0 +1,6 @@ +# Domain whitelist via valid SPF policy +# (Prefer to spf_dkim_whitelist for domains that use both SPF and DKIM.) + +howtoforge.com +ispconfig.org + diff --git a/install/tpl/rspamd_override_surbl.conf.master b/install/tpl/rspamd_surbl_group.conf.master similarity index 100% rename from install/tpl/rspamd_override_surbl.conf.master rename to install/tpl/rspamd_surbl_group.conf.master diff --git a/install/tpl/rspamd_users.conf.master b/install/tpl/rspamd_users.conf.master deleted file mode 120000 index 3aa7af31851003f5b742ab52de226af706cf7466..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_users.conf.master +++ /dev/null @@ -1 +0,0 @@ -../../server/conf/rspamd_users.conf.master \ No newline at end of file diff --git a/install/tpl/rspamd_users.conf.master b/install/tpl/rspamd_users.conf.master new file mode 100644 index 0000000000000000000000000000000000000000..ba16bc8b12978d101134ab7058630b7f98f5e2d6 --- /dev/null +++ b/install/tpl/rspamd_users.conf.master @@ -0,0 +1,19 @@ +settings { + authenticated { + priority = 10; + authenticated = yes; + apply "default" { + symbols_disabled = []; + groups_disabled = ["rbl", "spf"]; + } + } + whitelist { + priority = 5; + rcpt = "postmaster"; + rcpt = "hostmaster"; + rcpt = "abuse"; + want_spam = yes; + } + .include(try=true; glob=true) "$LOCAL_CONFDIR/local.d/users/*.conf" + .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/users.local.conf" +} diff --git a/install/tpl/rspamd_users.inc.conf.master b/install/tpl/rspamd_users.inc.conf.master deleted file mode 120000 index 30bb52fd8e22d629bca9e28459d4d04e44e08ea0..0000000000000000000000000000000000000000 --- a/install/tpl/rspamd_users.inc.conf.master +++ /dev/null @@ -1 +0,0 @@ -../../server/conf/rspamd_users.inc.conf.master \ No newline at end of file diff --git a/install/tpl/rspamd_whitelist.conf.master b/install/tpl/rspamd_whitelist.conf.master new file mode 100644 index 0000000000000000000000000000000000000000..6b4647a94831a5ba7a9828345504d8353bba7906 --- /dev/null +++ b/install/tpl/rspamd_whitelist.conf.master @@ -0,0 +1,38 @@ +rules { + "ISPC_WHITELIST_SPF" = { + valid_spf = true; + domains = [ + "$LOCAL_CONFDIR/local.d/maps.d/spf_whitelist.inc.ispc" + ]; + score = -2.0 + inverse_symbol = "ISPC_BLACKLIST_SPF"; + } + + "ISPC_WHITELIST_DKIM" = { + valid_dkim = true; + domains = [ + "$LOCAL_CONFDIR/local.d/maps.d/dkim_whitelist.inc.ispc" + ]; + score = -2.0; + inverse_symbol = "ISPC_BLACKLIST_DKIM"; + } + + "ISPC_WHITELIST_SPF_DKIM" = { + valid_spf = true; + valid_dkim = true; + domains = [ + "$LOCAL_CONFDIR/local.d/maps.d/spf_dkim_whitelist.inc.ispc" + ]; + score = -4.0; + inverse_symbol = "ISPC_BLACKLIST_SPF_DKIM"; + } + + "ISPC_WHITELIST_DMARC" = { + valid_dmarc = true; + domains = [ + "$LOCAL_CONFDIR/local.d/maps.d/dmarc_whitelist.inc.ispc" + ]; + score = -7.0; + inverse_symbol = "ISPC_BLACKLIST_DMARC"; + } +} diff --git a/install/tpl/security_settings.ini.master b/install/tpl/security_settings.ini.master index c135652e17cf15aa650168c206b44ff3725b3345..02b1058074810b1b9bfde9a173f9fb864093c92c 100644 --- a/install/tpl/security_settings.ini.master +++ b/install/tpl/security_settings.ini.master @@ -12,8 +12,6 @@ admin_allow_del_cpuser=superadmin admin_allow_cpuser_group=superadmin admin_allow_firewall_config=superadmin admin_allow_osupdate=superadmin -admin_allow_software_packages=superadmin -admin_allow_software_repo=superadmin remote_api_allowed=yes password_reset_allowed=yes session_regenerate_id=yes @@ -44,4 +42,3 @@ warn_new_admin=yes warn_passwd_change=no warn_shadow_change=no warn_group_change=no - diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 4d65fe934f4d7d59cdf054957a563fcfc3d6b151..36d48d913e420b365a021a43559d0129c1b6a8ea 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -37,9 +37,13 @@ maildir_path=/var/vmail/[domain]/[localpart] homedir_path=/var/vmail maildir_format=maildir dkim_path=/var/lib/amavis/dkim -dkim_strength=1024 +dkim_strength=2048 content_filter=amavis rspamd_password= +rspamd_redis_servers=127.0.0.1 +rspamd_redis_passwd= +rspamd_redis_bayes_servers=127.0.0.1 +rspamd_redis_bayes_passwd= pop3_imap_daemon=courier mail_filter_syntax=maildrop mailuser_uid=5000 @@ -59,6 +63,7 @@ overquota_notify_client=y overquota_notify_freq=7 overquota_notify_onok=n sendmail_path=/usr/sbin/sendmail +rspamd_url= [getmail] getmail_config_dir=/etc/getmail @@ -112,6 +117,7 @@ connect_userid_to_webid=n connect_userid_to_webid_start=10000 web_folder_protection=y php_ini_check_minutes=1 +overtraffic_disable_web=y overquota_notify_admin=y overquota_notify_client=y overquota_notify_freq=7 @@ -142,9 +148,9 @@ fastcgi_config_syntax=2 [jailkit] jailkit_chroot_home=/home/[username] -jailkit_chroot_app_sections=basicshell editors extendedshell netutils ssh sftp scp groups jk_lsh -jailkit_chroot_app_programs=/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico /usr/bin/mysql /usr/bin/mysqldump /usr/bin/git /usr/bin/git-receive-pack /usr/bin/git-upload-pack /usr/bin/unzip /usr/bin/zip /bin/tar /bin/rm /usr/bin/patch /usr/bin/which /usr/lib/x86_64-linux-gnu/libmemcached.so.11 /usr/lib/x86_64-linux-gnu/libmemcachedutil.so.2 /usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2 /opt/php-5.6.8/bin/php /opt/php-5.6.8/include /opt/php-5.6.8/lib -jailkit_chroot_cron_programs=/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/php +jailkit_chroot_app_sections=coreutils basicshell editors extendedshell netutils ssh sftp scp jk_lsh mysql-client git +jailkit_chroot_app_programs=lesspipe pico unzip zip patch which +jailkit_chroot_cron_programs=/usr/bin/php /usr/lib/php/ /usr/share/php/ /usr/share/zoneinfo/ /usr/bin/perl /usr/share/perl/ jailkit_chroot_authorized_keys_template=/root/.ssh/authorized_keys jailkit_hardlinks=allow diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index c42966a01c12bd90906d4795f79de1184eb3bf11..1ac932aea392716d66bddd0d232e95a68632450a 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -8,6 +8,7 @@ [mail] enable_custom_login=n +show_per_domain_relay_options=n mailbox_show_autoresponder_tab=y mailbox_show_mail_filter_tab=y mailbox_show_custom_rules_tab=y @@ -37,6 +38,7 @@ reseller_can_use_options=n web_php_options=no,fast-cgi,mod,php-fpm show_aps_menu=n client_protection=y +ssh_authentication= [tools] @@ -56,6 +58,7 @@ tab_change_discard=n tab_change_warning=n use_loadindicator=y use_combobox=y +show_support_messages=y maintenance_mode=n maintenance_mode_exclude_ips= admin_dashlets_left= @@ -71,4 +74,3 @@ session_timeout=0 session_allow_endless=0 min_password_length=8 min_password_strength=3 -ssh_authentication= diff --git a/install/update.php b/install/update.php index 685d52892f4a0ff9894e932fe36eb2c4772177a1..4639615801635ec03f0ccfa2832999edb9cd1749 100644 --- a/install/update.php +++ b/install/update.php @@ -96,7 +96,11 @@ require_once 'lib/classes/tpl.inc.php'; //** Check for ISPConfig 2.x versions if(is_dir('/root/ispconfig') || is_dir('/home/admispconfig')) { - die('This software cannot be installed on a server wich runs ISPConfig 2.x.'); + if(is_dir('/home/admispconfig')) { + die('This software cannot be installed on a server which runs ISPConfig 2.x.'); + } else { + die('This software cannot be installed on a server which runs ISPConfig 2.x; the presence of the /root/ispconfig/ directory may indicate an ISPConfig 2.x installation, otherwise you can remove or rename it to continue.'); + } } // Patch is required to reapir latest amavis versions @@ -185,7 +189,6 @@ $conf['server_id'] = intval($conf_old["server_id"]); $conf['ispconfig_log_priority'] = $conf_old["log_priority"]; $inst = new installer(); -if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n"); $inst->is_update = true; $inst->check_prerequisites(); @@ -255,6 +258,8 @@ prepareDBDump(); //* initialize the database $inst->db = new db(); +$inst->db->setDBData($conf['mysql']["host"], $conf['mysql']["ispconfig_user"], $conf['mysql']["ispconfig_password"], $conf['mysql']["port"]); +$inst->db->setDBName($conf['mysql']['database']); //* initialize the master DB, if we have a multiserver setup if($conf['mysql']['master_slave_setup'] == 'y') { @@ -361,15 +366,21 @@ if($conf['mysql']['master_slave_setup'] == 'y') { if($conf['apache']['installed'] == true){ if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; } -if($conf['nginx']['installed'] == true){ +elseif($conf['nginx']['installed'] == true){ if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; } +else { + // If neither webserver is installed then this can't be the server that hosts the ispconfig interface. + $inst->install_ispconfig_interface = false; +} //** Shall the services be reconfigured during update $reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services'); if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'selected') { + checkAndRenameCustomTemplates(); + if($conf['services']['mail']) { //** Configure postfix @@ -483,10 +494,10 @@ if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'sel } - if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) { - //** Configure Metronome XMPP - $inst->configure_xmpp('dont-create-certs'); - } + if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) { + //** Configure Metronome XMPP + $inst->configure_xmpp('dont-create-certs'); + } if($conf['services']['firewall'] && $inst->reconfigure_app('Firewall', $reconfigure_services_answer)) { if($conf['ufw']['installed'] == true) { @@ -559,6 +570,9 @@ if(!$issue_asked) { } } +// update acme.sh if installed +$inst->update_acme(); + $inst->install_ispconfig(); // Cleanup diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php index 631bd430dafb6cb4a67d2e10d11c383ee4208493..ee4713cd98981ea80e10146d3c1ddedb822ed5a8 100755 --- a/interface/lib/app.inc.php +++ b/interface/lib/app.inc.php @@ -126,12 +126,15 @@ class app { array($this->session, 'destroy'), array($this->session, 'gc')); + ini_set('session.cookie_httponly', true); + @ini_set('session.cookie_samesite', 'Lax'); + session_start(); //* Initialize session variables if(!isset($_SESSION['s']['id']) ) $_SESSION['s']['id'] = session_id(); - if(empty($_SESSION['s']['theme'])) $_SESSION['s']['theme'] = $conf['theme']; - if(empty($_SESSION['s']['language'])) $_SESSION['s']['language'] = $conf['language']; + if(empty($_SESSION['s']['theme'])) $_SESSION['s']['theme'] = $this->_conf['theme']; + if(empty($_SESSION['s']['language'])) $_SESSION['s']['language'] = $this->_conf['language']; } } diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php index b1ebf9d189520f667c06af8c56c3202d788635a4..036bef7f05dcb53a3fe471b495250779f5033384 100644 --- a/interface/lib/classes/aps_guicontroller.inc.php +++ b/interface/lib/classes/aps_guicontroller.inc.php @@ -53,7 +53,7 @@ class ApsGUIController extends ApsBase if (substr($domain, 0, 4) == 'www.') $domain = substr($domain, 4); return $domain; } - + /** * Reads in a package metadata file and registers it's namespaces @@ -220,7 +220,7 @@ class ApsGUIController extends ApsBase $params[] = $client_id; } $params[] = $id; - + $result = $app->db->queryOneRecord('SELECT id FROM aps_instances WHERE '.$sql_ext.' id = ?', true, $params); if(!$result) return false; @@ -229,18 +229,18 @@ class ApsGUIController extends ApsBase public function createDatabaseForPackageInstance(&$settings, $websrv) { global $app; - + $app->uses('tools_sites'); - + $global_config = $app->getconf->get_global_config('sites'); - + $tmp = array(); $tmp['parent_domain_id'] = $websrv['domain_id']; $tmp['sys_groupid'] = $websrv['sys_groupid']; $dbname_prefix = $app->tools_sites->replacePrefix($global_config['dbname_prefix'], $tmp); $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $tmp); unset($tmp); - + // get information if the webserver is a db server, too $web_server = $app->db->queryOneRecord("SELECT server_id,server_name,db_server FROM server WHERE server_id = ?", $websrv['server_id']); if($web_server['db_server'] == 1) { @@ -276,14 +276,14 @@ class ApsGUIController extends ApsBase * although this does not present any error message to the user. */ return false; - + /*$mysql_db_server_id = $websrv['server_id']; $settings['main_database_host'] = 'localhost'; $mysql_db_remote_access = 'n'; $mysql_db_remote_ips = '';*/ } } - + if (empty($settings['main_database_name'])) { //* Find a free db name for the app for($n = 1; $n <= 1000; $n++) { @@ -302,7 +302,7 @@ class ApsGUIController extends ApsBase } $settings['main_database_login'] = $mysql_db_user; } - + //* Create the mysql database user if not existing $tmp = $app->db->queryOneRecord("SELECT database_user_id FROM web_database_user WHERE database_user = ?", $settings['main_database_login']); if(!$tmp) { @@ -320,7 +320,7 @@ class ApsGUIController extends ApsBase $mysql_db_user_id = $app->db->datalogInsert('web_database_user', $insert_data, 'database_user_id'); } else $mysql_db_user_id = $tmp['database_user_id']; - + //* Create the mysql database if not existing $tmp = $app->db->queryOneRecord("SELECT count(database_id) as number FROM web_database WHERE database_name = ?", $settings['main_database_name']); if($tmp['number'] == 0) { @@ -340,17 +340,15 @@ class ApsGUIController extends ApsBase "remote_access" => $mysql_db_remote_access, "remote_ips" => $mysql_db_remote_ips, "backup_copies" => $websrv['backup_copies'], - "backup_format_web" => $websrv['backup_format_web'], - "backup_format_db" => $websrv['backup_format_db'], - "active" => 'y', + "active" => 'y', "backup_interval" => $websrv['backup_interval'] ); $app->db->datalogInsert('web_database', $insert_data, 'database_id'); } - + return true; } - + /** * Creates a new database record for the package instance and * an install task @@ -398,7 +396,7 @@ class ApsGUIController extends ApsBase // mysql-database-name is updated inside if not set already if (!$this->createDatabaseForPackageInstance($settings, $websrv)) return false; } - + //* Insert new package instance $insert_data = array( "sys_userid" => $websrv['sys_userid'], @@ -428,7 +426,7 @@ class ApsGUIController extends ApsBase //* Set package status to install afetr we inserted the settings $app->db->datalogUpdate('aps_instances', array("instance_status" => INSTANCE_INSTALL), 'id', $InstanceID); - + return $InstanceID; } @@ -446,7 +444,7 @@ class ApsGUIController extends ApsBase $sql = "SELECT web_database.database_id as database_id, web_database.database_user_id as `database_user_id` FROM aps_instances_settings, web_database WHERE aps_instances_settings.value = web_database.database_name AND aps_instances_settings.name = 'main_database_name' AND aps_instances_settings.instance_id = ? LIMIT 0,1"; $tmp = $app->db->queryOneRecord($sql, $instanceid); if($tmp['database_id'] > 0) $app->db->datalogDelete('web_database', 'database_id', $tmp['database_id']); - + $database_user = $tmp['database_user_id']; $tmp = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `database_user_id` = ? OR `database_ro_user_id` = ?", $database_user, $database_user); if($tmp['cnt'] < 1) $app->db->datalogDelete('web_database_user', 'database_user_id', $database_user); @@ -685,7 +683,7 @@ class ApsGUIController extends ApsBase if (isset($postinput['main_database_host'])) $input['main_database_host'] = $postinput['main_database_host']; if (isset($postinput['main_database_name'])) $input['main_database_name'] = $postinput['main_database_name']; if (isset($postinput['main_database_login'])) $input['main_database_login'] = $postinput['main_database_login']; - + if(isset($postinput['main_database_password'])) { if($postinput['main_database_password'] == '') $error[] = $app->lng('error_no_database_pw'); diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php index d5dcfd1fe4d6fe66785fd7f4f4e05c191de2321e..a69d43da2ec1a079c0d4aefe906684f389d4ffa4 100644 --- a/interface/lib/classes/auth.inc.php +++ b/interface/lib/classes/auth.inc.php @@ -58,7 +58,7 @@ class auth { $userid = $app->functions->intval($userid); $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = ? AND sys_user.client_id = client.client_id", $userid); - if($client['limit_client'] != 0) { + if(is_array($client) && $client['limit_client'] != 0) { return true; } else { return false; diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index feab66cd936bbbbb8df15d49e39c9564fb13e6b0..cd9c333b22040081932c4d8a70902c2809ef1e48 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -171,14 +171,10 @@ class db } elseif(is_null($sValue) || (is_string($sValue) && (strcmp($sValue, '#NULL#') == 0))) { $sTxt = 'NULL'; } elseif(is_array($sValue)) { - if(isset($sValue['SQL'])) { - $sTxt = $sValue['SQL']; - } else { - $sTxt = ''; - foreach($sValue as $sVal) $sTxt .= ',\'' . $this->escape($sVal) . '\''; - $sTxt = '(' . substr($sTxt, 1) . ')'; - if($sTxt == '()') $sTxt = '(0)'; - } + $sTxt = ''; + foreach($sValue as $sVal) $sTxt .= ',\'' . $this->escape($sVal) . '\''; + $sTxt = '(' . substr($sTxt, 1) . ')'; + if($sTxt == '()') $sTxt = '(0)'; } else { $sTxt = '\'' . $this->escape($sValue) . '\''; } @@ -258,7 +254,7 @@ class db private function _query($sQuery = '') { global $app; - + $aArgs = func_get_args(); if ($sQuery == '') { @@ -354,7 +350,7 @@ class db * @return array result row or NULL if none found */ public function queryOneRecord($sQuery = '') { - + $aArgs = func_get_args(); if(!empty($aArgs)) { $sQuery = array_shift($aArgs); @@ -363,7 +359,7 @@ class db } array_unshift($aArgs, $sQuery); } - + $oResult = call_user_func_array([&$this, 'query'], $aArgs); if(!$oResult) return null; @@ -750,7 +746,7 @@ class db foreach($insert_data as $key => $val) { $key_str .= '??,'; $params[] = $key; - + $val_str .= '?,'; $v_params[] = $val; } @@ -764,7 +760,7 @@ class db $this->query("INSERT INTO ?? $insert_data_str", $tablename); $app->log("deprecated use of passing values to datalogInsert() - table " . $tablename, 1); } - + $old_rec = array(); $index_value = $this->insertID(); if(!$index_value && isset($insert_data[$index_field])) { @@ -1112,7 +1108,7 @@ class db * @access public * @return string 'mariadb' or string 'mysql' */ - + public function getDatabaseType() { $tmp = $this->queryOneRecord('SELECT VERSION() as version'); if(stristr($tmp['version'],'mariadb')) { @@ -1140,7 +1136,7 @@ class db return $version[0]; } } - + /** * Get a mysql password hash * @@ -1150,9 +1146,9 @@ class db */ public function getPasswordHash($password) { - + $password_type = 'password'; - + /* Disabled until caching_sha2_password is implemented if($this->getDatabaseType() == 'mysql' && $this->getDatabaseVersion(true) >= 8) { // we are in MySQL 8 mode @@ -1162,16 +1158,16 @@ class db } } */ - + if($password_type == 'caching_sha2_password') { /* - caching_sha2_password hashing needs to be implemented, have not + caching_sha2_password hashing needs to be implemented, have not found valid PHP implementation for the new password hash type. */ } else { $password_hash = '*'.strtoupper(sha1(sha1($password, true))); } - + return $password_hash; } diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 03e331f0f14c22db8632e191e9e6a5346401b693..02d573a77812258d68dbd3716f24f5b2fb85234f 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -61,7 +61,7 @@ class functions { if(is_string($to) && strpos($to, ',') !== false) { $to = preg_split('/\s*,\s*/', $to); } - + $app->ispcmail->send($to); $app->ispcmail->finish(); @@ -234,7 +234,7 @@ class functions { if(preg_match($regex, $result['ip'])) $ips[] = $result['ip']; } } - + $results = $app->db->queryAllRecords("SELECT remote_ips FROM web_database WHERE remote_ips != ''"); if(!empty($results) && is_array($results)){ foreach($results as $result){ @@ -290,6 +290,34 @@ class functions { return round(pow(1024, $base-floor($base)), $precision).$suffixes[floor($base)]; } + + /** + * Normalize a path and strip duplicate slashes from it + * + * This will also remove all /../ from the path, reducing the preceding path elements + * + * @param string $path + * @return string + */ + public function normalize_path($path) { + $path = preg_replace('~[/]{2,}~', '/', $path); + $parts = explode('/', $path); + $return_parts = array(); + + foreach($parts as $current_part) { + if($current_part === '..') { + if(!empty($return_parts) && end($return_parts) !== '') { + array_pop($return_parts); + } + } else { + $return_parts[] = $current_part; + } + } + + return implode('/', $return_parts); + } + + /** IDN converter wrapper. * all converter classes should be placed in ISPC_CLASS_PATH.'/idn/' */ @@ -370,42 +398,42 @@ class functions { 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; } - + public function getimagesizefromstring($string){ if (!function_exists('getimagesizefromstring')) { $uri = 'data://application/octet-stream;base64,' . base64_encode($string); return getimagesize($uri); } else { return getimagesizefromstring($string); - } + } } - + public function password($minLength = 10, $special = false){ global $app; - + $iteration = 0; $password = ""; $maxLength = $minLength + 5; @@ -430,7 +458,7 @@ class functions { public function getRandomInt($min, $max){ return floor((mt_rand() / mt_getrandmax()) * ($max - $min + 1)) + $min; } - + public function generate_customer_no(){ global $app; // generate customer no. @@ -438,13 +466,13 @@ class functions { while($app->db->queryOneRecord("SELECT client_id FROM client WHERE customer_no = ?", $customer_no)) { $customer_no = mt_rand(100000, 999999); } - + return $customer_no; } - + public function generate_ssh_key($client_id, $username = ''){ global $app; - + // generate the SSH key pair for the client $id_rsa_file = '/tmp/'.uniqid('',true); $id_rsa_pub_file = $id_rsa_file.'.pub'; @@ -458,7 +486,7 @@ class functions { $app->log("Failed to create SSH keypair for ".$username, LOGLEVEL_WARN); } } - + public function htmlentities($value) { global $conf; @@ -474,10 +502,10 @@ class functions { } else { $out = htmlentities($value, ENT_QUOTES, $conf["html_content_encoding"]); } - + return $out; } - + // Function to check paths before we use it as include. Use with absolute paths only. public function check_include_path($path) { if(strpos($path,'//') !== false) die('Include path seems to be an URL: '.$this->htmlentities($path)); @@ -488,7 +516,7 @@ class functions { if(substr($path,0,strlen(ISPC_ROOT_PATH)) != ISPC_ROOT_PATH) die('Path '.$this->htmlentities($path).' is outside of ISPConfig installation directory.'); return $path; } - + // Function to check language strings public function check_language($language) { global $app; @@ -496,10 +524,121 @@ class functions { return $language; } else { $app->log('Wrong language string: '.$this->htmlentities($language),1); - return 'en'; + return 'en'; } } - + + // Function to lock a client + public function func_client_lock($client_id,$locked) { + global $app; + $client_data = $app->db->queryOneRecord('SELECT `tmp_data` FROM `client` WHERE `client_id` = ?', $client_id); + if($client_data['tmp_data'] == '') $tmp_data = array(); + else $tmp_data = unserialize($client_data['tmp_data']); + if(!is_array($tmp_data)) $tmp_data = array(); + $to_disable = array('cron' => 'id', + 'ftp_user' => 'ftp_user_id', + 'mail_domain' => 'domain_id', + 'mail_user' => 'mailuser_id', + 'mail_user_smtp' => 'mailuser_id', + 'mail_forwarding' => 'forwarding_id', + 'mail_get' => 'mailget_id', + 'openvz_vm' => 'vm_id', + 'shell_user' => 'shell_user_id', + 'webdav_user' => 'webdav_user_id', + 'web_database' => 'database_id', + 'web_domain' => 'domain_id', + 'web_folder' => 'web_folder_id', + 'web_folder_user' => 'web_folder_user_id' + ); + $udata = $app->db->queryOneRecord('SELECT `userid` FROM `sys_user` WHERE `client_id` = ?', $client_id); + $gdata = $app->db->queryOneRecord('SELECT `groupid` FROM `sys_group` WHERE `client_id` = ?', $client_id); + $sys_groupid = $gdata['groupid']; + $sys_userid = $udata['userid']; + if($locked == 'y') { + $prev_active = array(); + $prev_sysuser = array(); + foreach($to_disable as $current => $keycolumn) { + $active_col = 'active'; + $reverse = false; + if($current == 'mail_user') { + $active_col = 'postfix'; + } elseif($current == 'mail_user_smtp') { + $current = 'mail_user'; + $active_col = 'disablesmtp'; + $reverse = true; + } + + if(!isset($prev_active[$current])) $prev_active[$current] = array(); + if(!isset($prev_sysuser[$current])) $prev_sysuser[$current] = array(); + + $entries = $app->db->queryAllRecords('SELECT ?? as `id`, `sys_userid`, ?? FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $active_col, $current, $sys_groupid); + foreach($entries as $item) { + + if($item[$active_col] != 'y' && $reverse == false) $prev_active[$current][$item['id']][$active_col] = 'n'; + elseif($item[$active_col] == 'y' && $reverse == true) $prev_active[$current][$item['id']][$active_col] = 'y'; + if($item['sys_userid'] != $sys_userid) $prev_sysuser[$current][$item['id']] = $item['sys_userid']; + // we don't have to store these if y, as everything without previous state gets enabled later + + //$app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $_SESSION["s"]["user"]["userid"]), $keycolumn, $item['id']); + $app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $sys_userid), $keycolumn, $item['id']); + } + } + + $tmp_data['prev_active'] = $prev_active; + $tmp_data['prev_sys_userid'] = $prev_sysuser; + $app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id); + unset($prev_active); + unset($prev_sysuser); + } elseif ($locked == 'n') { + foreach($to_disable as $current => $keycolumn) { + $active_col = 'active'; + $reverse = false; + if($current == 'mail_user') { + $active_col = 'postfix'; + } elseif($current == 'mail_user_smtp') { + $current = 'mail_user'; + $active_col = 'disablesmtp'; + $reverse = true; + } + + $entries = $app->db->queryAllRecords('SELECT ?? as `id` FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $current, $sys_groupid); + foreach($entries as $item) { + $set_active = ($reverse == true ? 'n' : 'y'); + $set_inactive = ($reverse == true ? 'y' : 'n'); + $set_sysuser = $sys_userid; + if(array_key_exists('prev_active', $tmp_data) == true + && array_key_exists($current, $tmp_data['prev_active']) == true + && array_key_exists($item['id'], $tmp_data['prev_active'][$current]) == true + && $tmp_data['prev_active'][$current][$item['id']][$active_col] == $set_inactive) $set_active = $set_inactive; + if(array_key_exists('prev_sysuser', $tmp_data) == true + && array_key_exists($current, $tmp_data['prev_sysuser']) == true + && array_key_exists($item['id'], $tmp_data['prev_sysuser'][$current]) == true + && $tmp_data['prev_sysuser'][$current][$item['id']] != $sys_userid) $set_sysuser = $tmp_data['prev_sysuser'][$current][$item['id']]; + $app->db->datalogUpdate($current, array($active_col => $set_active, 'sys_userid' => $set_sysuser), $keycolumn, $item['id']); + } + } + if(array_key_exists('prev_active', $tmp_data)) unset($tmp_data['prev_active']); + $app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id); + } + unset($tmp_data); + unset($entries); + unset($to_disable); + } + // Function to cancel disable/enable a client + public function func_client_cancel($client_id,$cancel) { + global $app; + if ($cancel == 'y') { + $sql = "UPDATE sys_user SET active = '0' WHERE client_id = ?"; + $result = $app->db->query($sql, $client_id); + } elseif($cancel == 'n') { + $sql = "UPDATE sys_user SET active = '1' WHERE client_id = ?"; + $result = $app->db->query($sql, $client_id); + } else { + $result = false; + } + return $result; + } + } ?> diff --git a/interface/lib/classes/ispcmail.inc.php b/interface/lib/classes/ispcmail.inc.php index fbf5f84dcae2f0d8104f1cb540c66d5a69dadf49..f5aa35957753ec1c6ff65d6a9eb555cff747065e 100644 --- a/interface/lib/classes/ispcmail.inc.php +++ b/interface/lib/classes/ispcmail.inc.php @@ -612,6 +612,9 @@ class ispcmail { if (stream_socket_enable_crypto($this->_smtp_conn, true, $crypto_method) != true) { return false; } + + fputs($this->_smtp_conn, 'HELO ' . $this->smtp_helo . $this->_crlf); + $response = fgets($this->_smtp_conn, 515); } //AUTH LOGIN @@ -824,8 +827,7 @@ class ispcmail { 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)); + $result = mail($to, $enc_subject, $this->body, implode($this->_crlf, $headers), "-f $this->_mail_sender"); } // Reset the subject in case mail is resent diff --git a/interface/lib/classes/plugin_backuplist.inc.php b/interface/lib/classes/plugin_backuplist.inc.php index 9e21dc6ba6a59b5eef2d77af2e242a00378bbf4e..0b98dc9ec0b2c8a9a42ba11187a4962014243f8c 100644 --- a/interface/lib/classes/plugin_backuplist.inc.php +++ b/interface/lib/classes/plugin_backuplist.inc.php @@ -56,10 +56,22 @@ class plugin_backuplist extends plugin_base { $sql = "SELECT count(action_id) as number FROM sys_remoteaction WHERE action_state = 'pending' AND action_type = ? AND action_param = ?"; $tmp = $app->db->queryOneRecord($sql, $action_type, $domain_id); if ($tmp['number'] == 0) { - $server_id = $this->form->dataRecord['server_id']; + if($action_type === 'backup_database') { + // get all server ids of databases for this domain + $sql = 'SELECT DISTINCT `server_id` FROM `web_database` WHERE `parent_domain_id` = ?'; + $result = $app->db->query($sql, $domain_id); + while(($cur = $result->get())) { + $server_id = $cur['server_id']; + $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) VALUES (?, UNIX_TIMESTAMP(), ?, ?, 'pending', '')"; + $app->db->query($sql, $server_id, $action_type, $domain_id); + } + $result->free(); + } else { + $server_id = $this->form->dataRecord['server_id']; + $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) VALUES (?, UNIX_TIMESTAMP(), ?, ?, 'pending', '')"; + $app->db->query($sql, $server_id, $action_type, $domain_id); + } $message .= $wb['backup_info_txt']; - $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) VALUES (?, UNIX_TIMESTAMP(), ?, ?, 'pending', '')"; - $app->db->query($sql, $server_id, $action_type, $domain_id); } else { $error .= $wb['backup_pending_txt']; } @@ -193,10 +205,10 @@ class plugin_backuplist extends plugin_base { $rec['backup_encrypted'] = empty($rec['backup_password']) ? $wb["no_txt"] : $wb["yes_txt"]; $backup_manual_prefix = 'manual-'; $rec['backup_job'] = (substr($rec['filename'], 0, strlen($backup_manual_prefix)) == $backup_manual_prefix) ? $wb["backup_job_manual_txt"] : $wb["backup_job_auto_txt"]; - + $rec['download_available'] = true; if($rec['server_id'] != $web['server_id']) $rec['download_available'] = false; - + if($rec['filesize'] > 0){ $rec['filesize'] = $app->functions->currency_format($rec['filesize']/(1024*1024), 'client').' MB'; } diff --git a/interface/lib/classes/quota_lib.inc.php b/interface/lib/classes/quota_lib.inc.php index 3bae97f046ada93cb7c701dfb5d52ffa58e7ad8f..b02cdea9949fb92c23451a18f49b2377a3d23d4c 100644 --- a/interface/lib/classes/quota_lib.inc.php +++ b/interface/lib/classes/quota_lib.inc.php @@ -2,8 +2,8 @@ class quota_lib { public function get_quota_data($clientid = null, $readable = true) { - global $app; - + global $app; + $tmp_rec = $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'harddisk_quota' ORDER BY created DESC"); $monitor_data = array(); if(is_array($tmp_rec)) { @@ -12,10 +12,10 @@ class quota_lib { } } //print_r($monitor_data); - + // select all websites or websites belonging to client $sites = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE active = 'y' AND type = 'vhost'".(($clientid != null)?" AND sys_groupid = (SELECT default_group FROM sys_user WHERE client_id=?)":'') . " ORDER BY domain", $clientid); - + //print_r($sites); if(is_array($sites) && !empty($sites)){ for($i=0;$i $sites[$i]['used'][1]){ $sites[$i]['used'] = $sites[$i]['used'][0]; @@ -35,13 +35,13 @@ class quota_lib { if (!is_numeric($sites[$i]['soft'])) $sites[$i]['soft']=$sites[$i]['soft'][1]; if (!is_numeric($sites[$i]['hard'])) $sites[$i]['hard']=$sites[$i]['hard'][1]; if (!is_numeric($sites[$i]['files'])) $sites[$i]['files']=$sites[$i]['files'][1]; - + $sites[$i]['used_raw'] = $sites[$i]['used']; $sites[$i]['soft_raw'] = $sites[$i]['soft']; $sites[$i]['hard_raw'] = $sites[$i]['hard']; $sites[$i]['files_raw'] = $sites[$i]['files']; $sites[$i]['used_percentage'] = ($sites[$i]['soft'] > 0 && $sites[$i]['used'] > 0 ? round($sites[$i]['used'] * 100 / $sites[$i]['soft']) : 0); - + if ($readable) { // colours $sites[$i]['display_colour'] = '#000000'; @@ -52,31 +52,31 @@ class quota_lib { } if($used_ratio >= 0.8) $sites[$i]['display_colour'] = '#fd934f'; if($used_ratio >= 1) $sites[$i]['display_colour'] = '#cc0000'; - + if($sites[$i]['used'] > 1024) { $sites[$i]['used'] = round($sites[$i]['used'] / 1024, 1).' MB'; } else { if ($sites[$i]['used'] != '') $sites[$i]['used'] .= ' KB'; } - + if($sites[$i]['soft'] > 1024) { $sites[$i]['soft'] = round($sites[$i]['soft'] / 1024, 1).' MB'; } else { $sites[$i]['soft'] .= ' KB'; } - + if($sites[$i]['hard'] > 1024) { $sites[$i]['hard'] = round($sites[$i]['hard'] / 1024, 1).' MB'; } else { $sites[$i]['hard'] .= ' KB'; } - + if($sites[$i]['soft'] == " KB") $sites[$i]['soft'] = $app->lng('unlimited_txt'); if($sites[$i]['hard'] == " KB") $sites[$i]['hard'] = $app->lng('unlimited_txt'); - + if($sites[$i]['soft'] == '0 B' || $sites[$i]['soft'] == '0 KB' || $sites[$i]['soft'] == '0') $sites[$i]['soft'] = $app->lng('unlimited_txt'); if($sites[$i]['hard'] == '0 B' || $sites[$i]['hard'] == '0 KB' || $sites[$i]['hard'] == '0') $sites[$i]['hard'] = $app->lng('unlimited_txt'); - + /* if(!strstr($sites[$i]['used'],'M') && !strstr($sites[$i]['used'],'K')) $sites[$i]['used'].= ' B'; if(!strstr($sites[$i]['soft'],'M') && !strstr($sites[$i]['soft'],'K')) $sites[$i]['soft'].= ' B'; @@ -86,35 +86,35 @@ class quota_lib { else { if (empty($sites[$i]['soft'])) $sites[$i]['soft'] = -1; if (empty($sites[$i]['hard'])) $sites[$i]['hard'] = -1; - + if($sites[$i]['soft'] == '0 B' || $sites[$i]['soft'] == '0 KB' || $sites[$i]['soft'] == '0') $sites[$i]['soft'] = -1; if($sites[$i]['hard'] == '0 B' || $sites[$i]['hard'] == '0 KB' || $sites[$i]['hard'] == '0') $sites[$i]['hard'] = -1; } } } - + return $sites; } - + public function get_trafficquota_data($clientid = null, $lastdays = 0) { global $app; - + $traffic_data = array(); - + // select vhosts (belonging to client) if($clientid != null){ $sql_where = " AND sys_groupid = (SELECT default_group FROM sys_user WHERE client_id=?)"; } $sites = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE active = 'y' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias')".$sql_where, $clientid); - + $hostnames = array(); $traffic_data = array(); - + foreach ($sites as $site) { $hostnames[] = $site['domain']; $traffic_data[$site['domain']]['domain_id'] = $site['domain_id']; } - + // fetch all traffic-data of selected vhosts if (!empty($hostnames)) { $tmp_year = date('Y'); @@ -129,7 +129,7 @@ class quota_lib { foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['this_year'] = $tmp_rec['t']; } - + $tmp_year = date('Y', mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $tmp_month = date('m', mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); // Last Month @@ -137,14 +137,14 @@ class quota_lib { foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['last_month'] = $tmp_rec['t']; } - + $tmp_year = date('Y', mktime(0, 0, 0, date("m"), date("d"), date("Y")-1)); // Last Year $tmp_recs = $app->db->queryAllRecords("SELECT hostname, SUM(traffic_bytes) as t FROM web_traffic WHERE YEAR(traffic_date) = ? AND hostname IN ? GROUP BY hostname", $tmp_year, $hostnames); foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['last_year'] = $tmp_rec['t']; } - + if (is_int($lastdays) && ($lastdays > 0)) { // Last xx Days $tmp_recs = $app->db->queryAllRecords("SELECT hostname, SUM(traffic_bytes) as t FROM web_traffic WHERE (traffic_date >= DATE_SUB(NOW(), INTERVAL ? DAY)) AND hostname IN ? GROUP BY hostname", $lastdays, $hostnames); @@ -153,29 +153,29 @@ class quota_lib { } } } - + return $traffic_data; } public function get_ftptrafficquota_data($clientid = null, $lastdays = 0) { global $app; - + $traffic_data = array(); - + // select vhosts (belonging to client) if($clientid != null){ $sql_where = " AND sys_groupid = (SELECT default_group FROM sys_user WHERE client_id=?)"; } $sites = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE active = 'y' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias')".$sql_where, $clientid); - + $hostnames = array(); $traffic_data = array(); - + foreach ($sites as $site) { $hostnames[] = $site['domain']; $traffic_data[$site['domain']]['domain_id'] = $site['domain_id']; } - + // fetch all traffic-data of selected vhosts if (!empty($hostnames)) { $tmp_year = date('Y'); @@ -190,7 +190,7 @@ class quota_lib { foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['this_year'] = $tmp_rec['t']; } - + $tmp_year = date('Y', mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $tmp_month = date('m', mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); // Last Month @@ -198,14 +198,14 @@ class quota_lib { foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['last_month'] = $tmp_rec['t']; } - + $tmp_year = date('Y', mktime(0, 0, 0, date("m"), date("d"), date("Y")-1)); // Last Year $tmp_recs = $app->db->queryAllRecords("SELECT hostname, SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE YEAR(traffic_date) = ? AND hostname IN ? GROUP BY hostname", $tmp_year, $hostnames); foreach ($tmp_recs as $tmp_rec) { $traffic_data[$tmp_rec['hostname']]['last_year'] = $tmp_rec['t']; } - + if (is_int($lastdays) && ($lastdays > 0)) { // Last xx Days $tmp_recs = $app->db->queryAllRecords("SELECT hostname, SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE (traffic_date >= DATE_SUB(NOW(), INTERVAL ? DAY)) AND hostname IN ? GROUP BY hostname", $lastdays, $hostnames); @@ -214,13 +214,13 @@ class quota_lib { } } } - + return $traffic_data; } - + public function get_mailquota_data($clientid = null, $readable = true) { global $app; - + $tmp_rec = $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'email_quota' ORDER BY created DESC"); $monitor_data = array(); if(is_array($tmp_rec)) { @@ -235,25 +235,25 @@ class quota_lib { } } //print_r($monitor_data); - + // select all email accounts or email accounts belonging to client $emails = $app->db->queryAllRecords("SELECT * FROM mail_user".(($clientid != null)? " WHERE sys_groupid = (SELECT default_group FROM sys_user WHERE client_id=?)" : '') . " ORDER BY email", $clientid); - + //print_r($emails); - if(is_array($emails) && !empty($emails)){ + if(is_array($emails) && !empty($emails)) { for($i=0;$ifunctions->htmlentities($emails[$i]['name']); $emails[$i]['used'] = isset($monitor_data[$email]['used']) ? $monitor_data[$email]['used'] : array(1 => 0); - + if (!is_numeric($emails[$i]['used'])) $emails[$i]['used']=$emails[$i]['used'][1]; - + $emails[$i]['quota_raw'] = $emails[$i]['quota']; $emails[$i]['used_raw'] = $emails[$i]['used']; $emails[$i]['used_percentage'] = ($emails[$i]['quota'] > 0 && $emails[$i]['used'] > 0 ? round($emails[$i]['used'] * 100 / $emails[$i]['quota']) : 0); - + if ($readable) { // colours $emails[$i]['display_colour'] = '#000000'; @@ -264,14 +264,14 @@ class quota_lib { } if($used_ratio >= 0.8) $emails[$i]['display_colour'] = '#fd934f'; if($used_ratio >= 1) $emails[$i]['display_colour'] = '#cc0000'; - + if($emails[$i]['quota'] == 0){ $emails[$i]['quota'] = $app->lng('unlimited_txt'); } else { $emails[$i]['quota'] = round($emails[$i]['quota'] / 1048576, 1).' MB'; } - - + + if($emails[$i]['used'] < 1544000) { $emails[$i]['used'] = round($emails[$i]['used'] / 1024, 1).' KB'; } else { @@ -280,13 +280,13 @@ class quota_lib { } } } - + return $emails; } - + public function get_databasequota_data($clientid = null, $readable = true) { global $app; - + $tmp_rec = $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'database_size' ORDER BY created DESC"); $monitor_data = array(); if(is_array($tmp_rec)) { @@ -300,21 +300,21 @@ class quota_lib { } } //print_r($monitor_data); - + // select all databases belonging to client $databases = $app->db->queryAllRecords("SELECT * FROM web_database".(($clientid != null)? " WHERE sys_groupid = (SELECT default_group FROM sys_user WHERE client_id=?)" : '') . " ORDER BY database_name", $clientid); - + //print_r($databases); if(is_array($databases) && !empty($databases)){ for($i=0;$i 0) && ($databases[$i]['used'] > 0)) ? round($databases[$i]['used_raw'] * 100 / $databases[$i]['database_quota']) : 0; - + if ($readable) { // colours $databases[$i]['display_colour'] = '#000000'; @@ -325,14 +325,14 @@ class quota_lib { } if($used_ratio >= 0.8) $databases[$i]['display_colour'] = '#fd934f'; if($used_ratio >= 1) $databases[$i]['display_colour'] = '#cc0000'; - + if($databases[$i]['database_quota'] == 0){ $databases[$i]['database_quota'] = $app->lng('unlimited_txt'); } else { $databases[$i]['database_quota'] = $databases[$i]['database_quota'] . ' MB'; } - - + + if($databases[$i]['used'] < 1544000) { $databases[$i]['used'] = round($databases[$i]['used'] / 1024, 1).' KB'; } else { @@ -341,8 +341,8 @@ class quota_lib { } } } - + return $databases; } - + } diff --git a/interface/lib/classes/remote.d/client.inc.php b/interface/lib/classes/remote.d/client.inc.php index 57412e5e192bef9f478c59db36c80db1fc5864f5..5af1592db9347d60932f5f05b44b27d2274a6d05 100644 --- a/interface/lib/classes/remote.d/client.inc.php +++ b/interface/lib/classes/remote.d/client.inc.php @@ -243,6 +243,15 @@ class remoting_client extends remoting { $affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($reseller_id ? 'reseller' : 'client') . ':on_after_update'); $app->remoting_lib->ispconfig_sysuser_update($params, $client_id); + + // if canceled + if ($params['canceled']) { + $result = $app->functions->func_client_cancel($client_id, $params['canceled']); + } + // if locked + if ($params['locked']) { + $result = $app->functions->func_client_lock($client_id, $params['locked']); + } return $affected_rows; } @@ -404,7 +413,7 @@ class remoting_client extends remoting { $app->db->query("DELETE FROM sys_user WHERE client_id = ?", $client_id); //* Delete all records (sub-clients, mail, web, etc....) of this client. - $tables = 'cron,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_traffic,domain,mail_mailinglist,client'; + $tables = 'cron,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_traffic,domain,mail_mailinglist,client,spamfilter_wblist'; $tables_array = explode(',', $tables); $client_group_id = $app->functions->intval($client_group['groupid']); if($client_group_id > 1) { diff --git a/interface/lib/classes/remote.d/dns.inc.php b/interface/lib/classes/remote.d/dns.inc.php index 3129c6a3a2e44efab799c12f154c08bd5ba18251..15f47db8744985ff60445bc1fc29702089c83db6 100644 --- a/interface/lib/classes/remote.d/dns.inc.php +++ b/interface/lib/classes/remote.d/dns.inc.php @@ -46,7 +46,6 @@ class remoting_dns extends remoting { global $app, $conf; if(!$this->checkPerm($session_id, 'dns_templatezone_add')) { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); - return false; } $client = $app->db->queryOneRecord("SELECT default_dnsserver FROM client WHERE client_id = ?", $client_id); @@ -249,7 +248,7 @@ class remoting_dns extends remoting { return false; } - if(!preg_match('/^[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+$/i', $origin)){ + if(!preg_match('/^[\w\.\-]{1,64}\.[a-zA-Z0-9\-]{2,63}$/', $origin)){ throw new SoapFault('no_domain_found', 'Invalid domain name.'); return false; } diff --git a/interface/lib/classes/remote.d/mail.inc.php b/interface/lib/classes/remote.d/mail.inc.php index c4582c634e43824d632881b2496b5a71930c3ba9..286d6f6c57d6e30d72b4b869b15a0648477e7a3b 100644 --- a/interface/lib/classes/remote.d/mail.inc.php +++ b/interface/lib/classes/remote.d/mail.inc.php @@ -663,7 +663,7 @@ class remoting_mail extends remoting { return $app->remoting_lib->getDataRecord($primary_id); } - //* biała lista e-mail + //* add spamfilter whitelist entry public function mail_spamfilter_whitelist_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_whitelist_add')) @@ -763,7 +763,7 @@ class remoting_mail extends remoting { return $app->remoting_lib->getDataRecord($primary_id); } - //* filtr spamu użytkowników e-mail + //* Add new spamfilter_users public function mail_spamfilter_user_add($session_id, $client_id, $params) { if (!$this->checkPerm($session_id, 'mail_spamfilter_user_add')) diff --git a/interface/lib/classes/remote.d/server.inc.php b/interface/lib/classes/remote.d/server.inc.php index 77649d1bb4c9385dc26cbfffdc175d79ffb026b0..ba057f3775e92029c8d634d256e0e991b42f30fa 100644 --- a/interface/lib/classes/remote.d/server.inc.php +++ b/interface/lib/classes/remote.d/server.inc.php @@ -105,7 +105,7 @@ class remoting_server extends remoting { $affected_rows = $this->deleteQuery('../admin/form/server_ip.tform.php', $ip_id); return $affected_rows; } - + /** Gets the server configuration @param int session id @@ -141,7 +141,7 @@ class remoting_server extends remoting { return false; } } - + /** Set a value in the server configuration @param int session id @@ -169,7 +169,7 @@ class remoting_server extends remoting { return false; } } - + /** Gets a list of all servers @param int session_id @@ -191,7 +191,7 @@ class remoting_server extends remoting { return false; } } - + /** Gets the server_id by server_name @param int session_id @@ -213,7 +213,7 @@ class remoting_server extends remoting { return false; } } - + /** Gets the functions of a server by server_id @param int session_id @@ -227,7 +227,7 @@ class remoting_server extends remoting { throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.'); return false; } - if (!empty($session_id) && !empty($server_id)) { + if (!empty($session_id) && !empty($server_id)) { $sql = "SELECT mail_server, web_server, dns_server, file_server, db_server, vserver_server, proxy_server, firewall_server, mirror_server_id FROM server WHERE server_id = ?"; $all = $app->db->queryOneRecord($sql, $server_id); return $all; @@ -257,7 +257,7 @@ class remoting_server extends remoting { } } - public function server_get_php_versions($session_id, $server_id, $php) + public function server_get_php_versions($session_id, $server_id, $php, $get_full_data = false) { global $app; if(!$this->checkPerm($session_id, 'server_get')) { @@ -272,15 +272,23 @@ class remoting_server extends remoting { if ($php === 'php-fpm' || ($php === 'hhvm' && $server_type === 'nginx')) { $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ? AND (client_id = 0)", $server_id); foreach ($php_records as $php_record) { - $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; - $php_versions[] = $php_version; + if($get_full_data) { + $php_versions[] = $php_record; + } else { + $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; + $php_versions[] = $php_version; + } } } if ($php === 'fast-cgi') { $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ? AND (client_id = 0)", $server_id); foreach ($php_records as $php_record) { - $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; - $php_versions[] = $php_version; + if($get_full_data) { + $php_versions[] = $php_record; + } else { + $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; + $php_versions[] = $php_version; + } } } return $php_versions; diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index 751edcf024ce8d70b157bf74af4e2b45e2ac859c..fbadebd777a078da38ecad0670bc328b6346f3b1 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -124,17 +124,30 @@ class remoting { $remote_functions = ''; $tstamp = time() + $this->session_timeout; $sql = 'INSERT INTO remote_session (remote_session,remote_userid,remote_functions,client_login,tstamp' - .') VALUES (?, ?, ?, 1, $tstamp)'; + .') VALUES (?, ?, ?, 1, ?)'; $app->db->query($sql, $remote_session,$remote_userid,$remote_functions,$tstamp); return $remote_session; } else { - $sql = "SELECT * FROM remote_user WHERE remote_username = ? and remote_password = md5(?)"; - $remote_user = $app->db->queryOneRecord($sql, $username, $password); - if($remote_user['remote_userid'] > 0) { + $sql = "SELECT * FROM remote_user WHERE remote_username = ?"; + $remote_user = $app->db->queryOneRecord($sql, $username); + if($remote_user) { + if(substr($remote_user['remote_password'], 0, 1) === '$') { + if(crypt(stripslashes($password), $remote_user['remote_password']) != $remote_user['remote_password']) { + $remote_user = null; + } + } elseif(md5($password) == $remote_user['remote_password']) { + // update hash algo + $sql = 'UPDATE `remote_user` SET `remote_password` = ? WHERE `remote_username` = ?'; + $app->db->query($sql, $app->auth->crypt_password($password), $username); + } else { + $remote_user = null; + } + } + if($remote_user && $remote_user['remote_userid'] > 0) { if (trim($remote_user['remote_ips']) != '') { $allowed_ips = explode(',',$remote_user['remote_ips']); - foreach($allowed_ips as $i => $allowed) { - if(!filter_var($allowed, FILTER_VALIDATE_IP)) { + foreach($allowed_ips as $i => $allowed) { + if(!filter_var($allowed, FILTER_VALIDATE_IP)) { // get the ip for a hostname unset($allowed_ips[$i]); $temp=dns_get_record($allowed, DNS_A+DNS_AAAA); @@ -169,7 +182,7 @@ class remoting { if(!$remote_allowed) { throw new SoapFault('login_failed', 'The login is not allowed from '.$_SERVER['REMOTE_ADDR']); return false; - } + } //* Create a remote user session //srand ((double)microtime()*1000000); $remote_session = md5(mt_rand().uniqid('ispco')); @@ -368,22 +381,22 @@ class remoting { //* Load the form definition $app->remoting_lib->loadFormDef($formdef_file); - + //* get old record and merge with params, so only new values have to be set in $params $old_rec = $app->remoting_lib->getDataRecord($primary_id, $client_id); - + foreach ($app->remoting_lib->formDef['fields'] as $fieldName => $fieldConf) { if ($fieldConf['formtype'] === 'PASSWORD' && empty($params[$fieldName])) { unset($old_rec[$fieldName]); } } - + $params = $app->functions->array_merge($old_rec,$params); //* Get the SQL query $sql = $app->remoting_lib->getSQL($params, 'UPDATE', $primary_id); - + // throw new SoapFault('debug', $sql); if($app->remoting_lib->errorMessage != '') { throw new SoapFault('data_processing_error', $app->remoting_lib->errorMessage); @@ -546,7 +559,7 @@ class remoting { return false; } } - + /** Gets a list of all servers @param int session_id diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index d83ec0d3d78a89bebedb1e1011158ed22aae7b5c..0053be26634e0b8e172d143c48b7eb7653b541de 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -141,6 +141,8 @@ class tform_actions { $app->tform->datalogSave('UPDATE', $this->id, $this->oldDataRecord, $new_data_record); unset($new_data_record); unset($old_data_record); + + $this->onAfterDatalogSave(); } if($_REQUEST["next_tab"] == '') { @@ -222,6 +224,7 @@ class tform_actions { $new_data_record = $app->tform->getDataRecord($this->id); $app->tform->datalogSave('INSERT', $this->id, array(), $new_data_record); unset($new_data_record); + $this->onAfterDatalogSave(true); } @@ -264,21 +267,19 @@ class tform_actions { } function onBeforeUpdate() { - global $app, $conf; } function onBeforeInsert() { - global $app, $conf; } function onAfterUpdate() { - global $app, $conf; } function onAfterInsert() { - global $app, $conf; } + function onAfterDatalogSave($insert = false) { + } /** * Function called on data insert or update error @@ -297,7 +298,7 @@ class tform_actions { */ function onDelete() { global $app, $conf, $list_def_file, $tform_def_file; - + // Check CSRF Token $app->auth->csrf_token_check('GET'); diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php index 91a855872c9600939ac338f2b5cbe5bd11513d73..cfaf0958d5f5ed39f4d90147501fc871807bec9d 100644 --- a/interface/lib/classes/tform_base.inc.php +++ b/interface/lib/classes/tform_base.inc.php @@ -399,7 +399,7 @@ class tform_base { $tmp_key = $limit_parts[2]; $allowed = $allowed = explode(',',$tmp_conf[$tmp_key]); } - + if($formtype == 'CHECKBOX') { if(strstr($limit,'force_')) { // Force the checkbox field to be ticked and enabled @@ -560,7 +560,13 @@ class tform_base { if(trim($tvl) == trim($k)) $checked = ' CHECKED'; } // $out .= "\r\n"; - $out .= "
\r\n"; + $out .= ""; + if (isset($field['render_inline']) && $field['render_inline'] == 'n') { + $out .= "
\r\n"; + } + else { + $out .= " \r\n"; + } $elementNo++; } } @@ -697,7 +703,13 @@ class tform_base { if(trim($tvl) == trim($k)) $checked = ' CHECKED'; } // $out .= "\r\n"; - $out .= "  \r\n"; + $out .= ""; + if (isset($field['render_inline']) && $field['render_inline'] == 'n') { + $out .= "
\r\n"; + } + else { + $out .= " \r\n"; + } $elementNo++; } } @@ -958,6 +970,9 @@ class tform_base { case 'STRIPNL': $returnval = str_replace(array("\n","\r"),'', $returnval); break; + case 'NORMALIZEPATH': + $returnval = $app->functions->normalize_path($returnval); + break; default: $this->errorMessage .= "Unknown Filter: ".$filter['type']; break; diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php index d57b9b7a3f425a291c842ef089183aea1f59a3f4..91040174683f42e4f27530ff31cfc9270a45c991 100644 --- a/interface/lib/classes/tools_monitor.inc.php +++ b/interface/lib/classes/tools_monitor.inc.php @@ -568,7 +568,7 @@ class tools_monitor { if(isset($record['data'])) { $data = unserialize($record['data']); - $html = nl2br($data['output']); + $html = '
' . htmlspecialchars($data['output']) . '
'; } else { $html = '

'.$app->lng("no_data_mailq_txt").'

'; } diff --git a/interface/lib/classes/validate_dns.inc.php b/interface/lib/classes/validate_dns.inc.php index 48759286a865b5e9b9b79d1f641a86931aa6fdbf..15d670d84a4162057d19cee22ac38fe1e85361e0 100644 --- a/interface/lib/classes/validate_dns.inc.php +++ b/interface/lib/classes/validate_dns.inc.php @@ -283,33 +283,57 @@ class validate_dns { } return $new_serial; } - - function validate_xfer($field_name, $field_value, $validator) { + + function validate_ip($field_name, $field_value, $validator) { global $app; - + $errorMessage = ''; - + if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; if($validator['allowempty'] == 'y' && $field_value == '') { //* Do nothing } elseif ($field_value == 'any') { //* Do nothing } else { - //* Check if its a IPv4 or IPv6 address + //* Check if its a IPv4 or IPv6 address/range if(isset($validator['separator']) && $validator['separator'] != '') { //* When the field may contain several IP addresses, split them by the char defined as separator $field_value_array = explode($validator['separator'], $field_value); } else { $field_value_array[] = $field_value; } + // Check if it's a valid input foreach($field_value_array as $field_value) { - $field_value = trim($field_value); + // Check if the IP is valid without range + $subnet = ''; + $ip = trim($field_value); + if(strpos($ip, '/') !== false) { + list($ip, $subnet) = explode('/', $ip, 2); + $ip = trim($ip); + } if(function_exists('filter_var')) { - if(!filter_var($field_value, FILTER_VALIDATE_IP)) { + if(!filter_var($ip, FILTER_VALIDATE_IP)) { $errmsg = $validator['errmsg']; $errorMessage .= $app->tform->lng($errmsg)."
\r\n"; } } else $this->errorMessage .= "function filter_var missing
\r\n"; + // Check if the range is valid + if ($subnet !== '') { + if (!is_numeric($subnet)) { + $errmsg = $validator['errmsg']; + $errorMessage .= $app->tform->lng($errmsg)."
\r\n"; + } + elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { + if ($subnet < 1 || $subnet > 128) { + $errmsg = $validator['errmsg']; + $errorMessage .= $app->tform->lng($errmsg)."
\r\n"; + } + } + elseif ($subnet < 1 || $subnet > 32) { + $errmsg = $validator['errmsg']; + $errorMessage .= $app->tform->lng($errmsg)."
\r\n"; + } + } } } return $errorMessage; diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php index ccda3717e1ed7a3857e6f23939cb807c54c0b870..c5d14d79cdbdb02d98e2a1129d91871101170258 100644 --- a/interface/lib/config.inc.php +++ b/interface/lib/config.inc.php @@ -128,10 +128,6 @@ $conf['log_file'] = $conf['ispconfig_log_dir'].'/ispconfig.log'; $conf['log_priority'] = 0; // 0 = Debug, 1 = Warning, 2 = Error -//** Allow software package installations -$conf['software_updates_enabled'] = false; - - //** Themes $conf['theme'] = 'default'; $conf['html_content_encoding'] = 'utf-8'; // example: utf-8, iso-8859-1, ... diff --git a/interface/lib/lang/ar.lng b/interface/lib/lang/ar.lng index 1d577862b7e31e4808ba94f3cf7a93c96d05e924..2763f8e82b62ca71763dcba6434898d7eb1f1fac 100644 --- a/interface/lib/lang/ar.lng +++ b/interface/lib/lang/ar.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/bg.lng b/interface/lib/lang/bg.lng index 36a7f7081fe33a2274068e0d37b4e8370090be42..94dfaa8ad19b9f45499558418abcb46ea7cb49de 100644 --- a/interface/lib/lang/bg.lng +++ b/interface/lib/lang/bg.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Създай автоматична задача'; $wb['datalog_status_u_cron'] = 'Обнови автоматична задача'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Изтрий автоматична задача'; $wb['datalog_status_i_mail_get'] = 'Създай имейл акаунт за извличане на поща'; $wb['datalog_status_u_mail_get'] = 'Обнови имейл акаунт за извличане на поща'; diff --git a/interface/lib/lang/br.lng b/interface/lib/lang/br.lng index a236cd5f810364c0ee2cbe85057181e96bb21e4c..e47df8250d24614216a07587ee96874ad4d9426c 100644 --- a/interface/lib/lang/br.lng +++ b/interface/lib/lang/br.lng @@ -11,10 +11,10 @@ $wb['number_format_dec_point'] = '.'; $wb['number_format_thousands_sep'] = '.'; $wb['error_301'] = 'Módulo não permitido para o usuário atual.'; $wb['error_302'] = 'Módulo inválido.'; -$wb['error_1001'] = 'Usuário e/ou senha está em branco!'; -$wb['error_1002'] = 'Usuário e/ou senha incorretos!'; +$wb['error_1001'] = 'Usuário e/ou senha está vazio!'; +$wb['error_1002'] = 'Usuário e/ou senha incorreto!'; $wb['error_1003'] = 'Usuário desabilitado!'; -$wb['delete_confirmation'] = 'Você tem certeza que deseja remover o registro?'; +$wb['delete_confirmation'] = 'Você tem certeza que deseja remover este registro?'; $wb['error_no_view_permission'] = 'Você não tem permissão para visualizar este registro ou o registro não existe!'; $wb['error_no_delete_permission'] = 'Você não tem permissão para remover este registro!'; $wb['page_txt'] = 'Página'; @@ -29,14 +29,14 @@ $wb['btn_save_txt'] = 'Salvar'; $wb['btn_cancel_txt'] = 'Cancelar'; $wb['top_menu_system'] = 'Sistema'; $wb['top_menu_client'] = 'Clientes'; -$wb['top_menu_email'] = 'e-Mail'; +$wb['top_menu_email'] = 'eMail'; $wb['top_menu_monitor'] = 'Monitor'; $wb['top_menu_sites'] = 'Sites'; $wb['top_menu_dns'] = 'DNS'; $wb['top_menu_tools'] = 'Ferramentas'; $wb['top_menu_help'] = 'Ajuda'; $wb['top_menu_billing'] = 'Faturamento'; -$wb['top_menu_mailuser'] = 'Contas de e-mail'; +$wb['top_menu_mailuser'] = 'Contas de email'; $wb['top_menu_domain'] = 'Domínios'; $wb['top_menu_dashboard'] = 'Início'; $wb['top_menu_vm'] = 'VPS'; @@ -78,77 +78,80 @@ $wb['globalsearch_noresults_text_txt'] = 'Sem resultados.'; $wb['globalsearch_noresults_limit_txt'] = '0 resultados'; $wb['globalsearch_searchfield_watermark_txt'] = 'Pesquisar'; $wb['globalsearch_suggestions_text_txt'] = 'Sugestões'; -$wb['global_tabchange_warning_txt'] = 'Para alterar dados nesta aba clique OK. Cancelar descarta todas as alterações.'; -$wb['global_tabchange_discard_txt'] = 'Você não salvou as alterações nesta aba. Todas as alterações serão descartadas caso prossiga.'; -$wb['datalog_changes_txt'] = 'As alterações ainda não propagaram em todos os servidores:'; -$wb['datalog_changes_end_txt'] = 'Gravar alterações pode levar alguns minutos. Por favor, seja paciente.'; +$wb['global_tabchange_warning_txt'] = 'Para modificar dados nesta aba clique OK. Cancelar descarta todas as modificações.'; +$wb['global_tabchange_discard_txt'] = 'Você não salvou as modificações nesta aba. Todas as modificações serão descartadas caso prossiga.'; +$wb['datalog_changes_txt'] = 'As modificações ainda não propagaram em todos os servidores:'; +$wb['datalog_changes_end_txt'] = 'Gravar modificações pode levar alguns minutos. Por favor, seja paciente.'; $wb['datalog_status_i_web_database'] = 'Adicionar novo banco de dados'; $wb['datalog_status_u_web_database'] = 'Atualizar banco de dados'; $wb['datalog_status_d_web_database'] = 'Remover banco de dados'; -$wb['datalog_status_i_web_database_user'] = 'Adicionar novo usuário de banco de dados'; -$wb['datalog_status_u_web_database_user'] = 'Atualizar usuário de banco de dados'; -$wb['datalog_status_d_web_database_user'] = 'Remover usuário de banco de dados'; +$wb['datalog_status_i_web_database_user'] = 'Adicionar novo usuário do Banco de Dados'; +$wb['datalog_status_u_web_database_user'] = 'Atualizar usuário do Banco de Dados'; +$wb['datalog_status_d_web_database_user'] = 'Remover usuário do Banco de Dados'; $wb['datalog_status_i_web_domain'] = 'Adicionar site'; $wb['datalog_status_u_web_domain'] = 'Atualizar site'; $wb['datalog_status_d_web_domain'] = 'Remover site'; -$wb['datalog_status_i_ftp_user'] = 'Adicionar usuário ftp'; -$wb['datalog_status_u_ftp_user'] = 'Atualizar usuário ftp'; -$wb['datalog_status_d_ftp_user'] = 'Remover usuário ftp'; -$wb['datalog_status_i_mail_domain'] = 'Adicionar domínio de e-mail'; -$wb['datalog_status_u_mail_domain'] = 'Atualizar domínio de e-mail'; -$wb['datalog_status_d_mail_domain'] = 'Remover domínio de e-mail'; -$wb['datalog_status_i_mail_user'] = 'Adicionar conta de e-mail'; -$wb['datalog_status_u_mail_user'] = 'Atualizar conta de e-mail'; -$wb['datalog_status_d_mail_user'] = 'Remover conta de e-mail'; +$wb['datalog_status_i_ftp_user'] = 'Adicionar usuário FTP'; +$wb['datalog_status_u_ftp_user'] = 'Atualizar usuário FTP'; +$wb['datalog_status_d_ftp_user'] = 'Remover usuário FTP'; +$wb['datalog_status_i_mail_domain'] = 'Adicionar domínio de email'; +$wb['datalog_status_u_mail_domain'] = 'Atualizar domínio de email'; +$wb['datalog_status_d_mail_domain'] = 'Remover domínio de email'; +$wb['datalog_status_i_mail_user'] = 'Adicionar conta de email'; +$wb['datalog_status_u_mail_user'] = 'Atualizar conta de email'; +$wb['datalog_status_d_mail_user'] = 'Remover conta de email'; $wb['datalog_status_i_spamfilter_users'] = 'Adicionar filtros anti-spam'; $wb['datalog_status_u_spamfilter_users'] = 'Atualizar filtros anti-spam'; $wb['datalog_status_d_spamfilter_users'] = 'Remover filtros anti-spam'; -$wb['datalog_status_i_mail_forwarding'] = 'Adicionar endereço de e-mail'; -$wb['datalog_status_u_mail_forwarding'] = 'Atualizar endereço de e-mail'; -$wb['datalog_status_d_mail_forwarding'] = 'Remover endereço de e-mail'; -$wb['datalog_status_i_dns_rr'] = 'Adicionar registro dns'; -$wb['datalog_status_u_dns_rr'] = 'Atualizar registro dns'; -$wb['datalog_status_d_dns_rr'] = 'Remover registro dns'; -$wb['datalog_status_i_dns_soa'] = 'Adicionar zona dns'; -$wb['datalog_status_u_dns_soa'] = 'Atualizar zona dns'; -$wb['datalog_status_d_dns_soa'] = 'Remover zona dns'; -$wb['datalog_status_i_dns_slave'] = 'Create new secondary DNS zone'; -$wb['datalog_status_u_dns_slave'] = 'Update secondary DNS zone'; -$wb['datalog_status_d_dns_slave'] = 'Delete secondary DNS zone'; -$wb['datalog_status_i_firewall'] = 'Create new firewall rule'; -$wb['datalog_status_u_firewall'] = 'Update firewall rule'; -$wb['datalog_status_d_firewall'] = 'Delete firewall rule'; -$wb['datalog_status_u_server'] = 'Update server settings'; -$wb['datalog_status_d_server'] = 'Delete server'; -$wb['datalog_status_i_cron'] = 'Adicionar tarefa no cron'; -$wb['datalog_status_u_cron'] = 'Atualizar tarefa no cron'; -$wb['datalog_status_d_cron'] = 'Remover tarefa no cron'; -$wb['datalog_status_i_mail_get'] = 'Adicionar conta de busca de e-mail'; -$wb['datalog_status_u_mail_get'] = 'Atualizar conta de busca de e-mail'; -$wb['datalog_status_d_mail_get'] = 'Remover conta de busca de e-mail'; -$wb['datalog_status_i_mail_mailinglist'] = 'Adicionar lista de e-mails'; -$wb['datalog_status_u_mail_mailinglist'] = 'Atualizar lista de e-mails'; -$wb['datalog_status_d_mail_mailinglist'] = 'Remover lista de e-mails'; -$wb['datalog_status_i_shell_user'] = 'Adicionar usuário do shell'; -$wb['datalog_status_u_shell_user'] = 'Atualizar usuário do shell'; -$wb['datalog_status_d_shell_user'] = 'Remover usuário do shell'; -$wb['datalog_status_i_web_folder'] = 'Adicionar pasta protegida'; -$wb['datalog_status_u_web_folder'] = 'Atualizar pasta protegida'; -$wb['datalog_status_d_web_folder'] = 'Remover pasta protegida'; -$wb['datalog_status_i_web_folder_user'] = 'Adicionar usuário de pasta protegida'; -$wb['datalog_status_u_web_folder_user'] = 'Atualizar usuário de pasta protegida'; -$wb['datalog_status_d_web_folder_user'] = 'Remover usuário de pasta protegida'; -$wb['datalog_status_i_xmpp_domain'] = 'Adicionar domínio xmpp'; -$wb['datalog_status_u_xmpp_domain'] = 'Atualizar domínio xmpp'; -$wb['datalog_status_d_xmpp_domain'] = 'Remover domínio xmpp'; -$wb['datalog_status_i_xmpp_user'] = 'Adicionar usuário xmpp'; -$wb['datalog_status_u_xmpp_user'] = 'Atualizar usuário xmpp'; -$wb['datalog_status_d_xmpp_user'] = 'Remover usuário xmpp'; +$wb['datalog_status_i_mail_forwarding'] = 'Adicionar endereço de email'; +$wb['datalog_status_u_mail_forwarding'] = 'Atualizar endereço de email'; +$wb['datalog_status_d_mail_forwarding'] = 'Remover endereço de email'; +$wb['datalog_status_i_dns_rr'] = 'Adicionar registro DNS'; +$wb['datalog_status_u_dns_rr'] = 'Atualizar registro DNS'; +$wb['datalog_status_d_dns_rr'] = 'Remover registro DNS'; +$wb['datalog_status_i_dns_soa'] = 'Adicionar zona DNS'; +$wb['datalog_status_u_dns_soa'] = 'Atualizar zona DNS'; +$wb['datalog_status_d_dns_soa'] = 'Remover zona DNS'; +$wb['datalog_status_i_dns_slave'] = 'Adicionar nova zona DNS secundária'; +$wb['datalog_status_u_dns_slave'] = 'Atualizar zona DNS secundária'; +$wb['datalog_status_d_dns_slave'] = 'Remover zona DNS secundária'; +$wb['datalog_status_i_firewall'] = 'Adicionar nova regra de Firewall'; +$wb['datalog_status_u_firewall'] = 'Atualizar regra de Firewall'; +$wb['datalog_status_d_firewall'] = 'Remover regra de Firewall'; +$wb['datalog_status_u_server'] = 'Atualizar configurações do servidor'; +$wb['datalog_status_d_server'] = 'Remover servidor'; +$wb['datalog_status_i_cron'] = 'Adicionar tarefa no Cron'; +$wb['datalog_status_u_cron'] = 'Atualizar tarefa no Cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; +$wb['datalog_status_d_cron'] = 'Remover tarefa no Cron'; +$wb['datalog_status_i_mail_get'] = 'Adicionar conta de busca de emails'; +$wb['datalog_status_u_mail_get'] = 'Atualizar conta de busca de emails'; +$wb['datalog_status_d_mail_get'] = 'Remover conta de busca de emails'; +$wb['datalog_status_i_mail_mailinglist'] = 'Adicionar lista de emails'; +$wb['datalog_status_u_mail_mailinglist'] = 'Atualizar lista de emails'; +$wb['datalog_status_d_mail_mailinglist'] = 'Remover lista de emails'; +$wb['datalog_status_i_shell_user'] = 'Adicionar usuário Shell'; +$wb['datalog_status_u_shell_user'] = 'Atualizar usuário Shell'; +$wb['datalog_status_d_shell_user'] = 'Remover usuário Shell'; +$wb['datalog_status_i_web_folder'] = 'Adicionar pasta Web'; +$wb['datalog_status_u_web_folder'] = 'Atualizar pasta Web'; +$wb['datalog_status_d_web_folder'] = 'Remover pasta Web'; +$wb['datalog_status_i_web_folder_user'] = 'Adicionar usuário de pasta Web'; +$wb['datalog_status_u_web_folder_user'] = 'Atualizar usuário de pasta Web'; +$wb['datalog_status_d_web_folder_user'] = 'Remover usuário de pasta Web'; +$wb['datalog_status_i_xmpp_domain'] = 'Adicionar domínio XMPP'; +$wb['datalog_status_u_xmpp_domain'] = 'Atualizar domínio XMPP'; +$wb['datalog_status_d_xmpp_domain'] = 'Remover domínio XMPP'; +$wb['datalog_status_i_xmpp_user'] = 'Adicionar usuário XMPP'; +$wb['datalog_status_u_xmpp_user'] = 'Atualizar usuário XMPP'; +$wb['datalog_status_d_xmpp_user'] = 'Remover usuário XMPP'; $wb['err_csrf_attempt_blocked'] = 'Tentativa de CSRF bloqueada.'; $wb['login_as_txt'] = 'Acessar como'; $wb['no_domain_perm'] = 'Você não tem permissão para este domínio.'; $wb['no_destination_perm'] = 'Você não tem permissão para este destino.'; -$wb['client_you_are_locked'] = 'Você não tem permissão para alterar nenhuma configuração.'; +$wb['client_you_are_locked'] = 'Você não tem permissão para modificar qualquer configuração.'; $wb['gender_m_txt'] = 'Sr.'; $wb['gender_f_txt'] = 'Sra.'; $wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'Este cliente possui registros no módulo de faturamento, portanto não pode ser removido.'; @@ -160,13 +163,12 @@ $wb['strength_2'] = 'Razoável'; $wb['strength_3'] = 'Boa'; $wb['strength_4'] = 'Forte'; $wb['strength_5'] = 'Muito Forte'; -$wb['weak_password_txt'] = 'A senha configurada não obedece as diretivas de segurança. A senha deve possuir ao menos {chars} caracteres e ao menos um caractere maiúsculoe um caractere especial e dificuldade "{strength}".'; +$wb['weak_password_txt'] = 'A senha configurada não obedece as diretivas de segurança. A senha deve possuir ao menos {chars} caracteres e ao menos um caractere maiúsculo e um caractere especial e dificuldade "{strength}".'; $wb['weak_password_length_txt'] = 'A senha configurada não obedece as diretivas de segurança. A senha deve possuir ao menos {chars} de comprimento.'; $wb['security_check1_txt'] = 'Verifique as permissões de segurança:'; $wb['security_check2_txt'] = 'falhou.'; $wb['select_directive_snippet_txt'] = 'Diretiva de trechos de código'; $wb['select_master_directive_snippet_txt'] = 'Diretiva mestre de trechos de código'; $wb['unlimited_txt'] = 'Ilimitado'; -$wb['server_id_0_error_txt'] = 'Please select a valid Server. Server ID must be > 0.'; -$wb['datalog_changes_close_txt'] = 'Close'; -?> \ No newline at end of file +$wb['server_id_0_error_txt'] = 'Por favor, selecione um servidor válido. O ID do servidor deve ser > 0.'; +$wb['datalog_changes_close_txt'] = 'Fechar'; diff --git a/interface/lib/lang/ca.lng b/interface/lib/lang/ca.lng index 123748fd0d574035b8aeaa9439098d21be6d0697..c57185fd108c8efb9df79f46b0b1acd786b73844 100644 --- a/interface/lib/lang/ca.lng +++ b/interface/lib/lang/ca.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Créer une tâche cron'; $wb['datalog_status_u_cron'] = 'Modifier une tâche cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Supprimer une tâche cron'; $wb['datalog_status_i_mail_get'] = 'Créer un compte mail récupérateur'; $wb['datalog_status_u_mail_get'] = 'Modifier un compte mail récupérateur'; diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng index 28e76397b451beae87db22b126b2da6cb9dd70bd..04ad86178c2f46e50b7f9b0fd1e5015c0b72de02 100644 --- a/interface/lib/lang/cz.lng +++ b/interface/lib/lang/cz.lng @@ -1,9 +1,9 @@ 0.'; $wb['datalog_changes_close_txt'] = 'Close'; -?> diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng index 22c33380fedb3e9f91f656e86a3f9250c29f2693..11a5e21a5d2ef0f62e26d18627c4b0cab444da93 100644 --- a/interface/lib/lang/de.lng +++ b/interface/lib/lang/de.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Cronjob anlegen'; $wb['datalog_status_u_cron'] = 'Cronjob ändern'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Cronjob löschen'; $wb['datalog_status_i_mail_get'] = 'E-Mailabruf anlegen'; $wb['datalog_status_u_mail_get'] = 'E-Mailabruf ändern'; diff --git a/interface/lib/lang/dk.lng b/interface/lib/lang/dk.lng index 0ffea486c2eb3b9d1576e875ba8f316e097f0a6c..9d09f1dc8dd97691652d4f1353d2fc9ae9490300 100644 --- a/interface/lib/lang/dk.lng +++ b/interface/lib/lang/dk.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Opret cron job'; $wb['datalog_status_u_cron'] = 'Opdater cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Slet cron job'; $wb['datalog_status_i_mail_get'] = 'Opret mail-hentnings konto'; $wb['datalog_status_u_mail_get'] = 'Opdater mail-hentnings konto'; diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng index b0c6507e2765acad0d95e75a5c097927f71a2b01..31829d5f937f3b5effcfc0a26974a8298a82cf70 100644 --- a/interface/lib/lang/el.lng +++ b/interface/lib/lang/el.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng index 904e7e30e4571143152051a6dfe9c62f90f46820..dbffc95b8c9bdcb6a821b6038fa40c72ee35131b 100644 --- a/interface/lib/lang/en.lng +++ b/interface/lib/lang/en.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng index 5af12b6dddae3b6ee3085d03839847fbcf60f4de..3a421e7af51352f0c7e1be5b2e8d1bc0b7e6a301 100644 --- a/interface/lib/lang/es.lng +++ b/interface/lib/lang/es.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Añadir cron job'; $wb['datalog_status_u_cron'] = 'Actualizar cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Borrar cron job'; $wb['datalog_status_i_mail_get'] = 'Añadir cuenta de rescatador de correo'; $wb['datalog_status_u_mail_get'] = 'Actualizar cuenta de rescatador de correo'; diff --git a/interface/lib/lang/fi.lng b/interface/lib/lang/fi.lng index c399b497f221a6840616c56449cee4aec226c08d..f6648e88c6bcc0a07ca3e187f6bf3aea32ce780a 100644 --- a/interface/lib/lang/fi.lng +++ b/interface/lib/lang/fi.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng index 8017f43742f6a346a6e8f30e0b5b3a0ac53edf91..15e8294e0c91aa97a15e19774432a0464a8a5d2c 100644 --- a/interface/lib/lang/fr.lng +++ b/interface/lib/lang/fr.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Créer une tâche cron'; $wb['datalog_status_u_cron'] = 'Modifier une tâche cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Supprimer une tâche cron'; $wb['datalog_status_i_mail_get'] = 'Créer un compte mail récupérateur'; $wb['datalog_status_u_mail_get'] = 'Modifier un compte mail récupérateur'; diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng index 52d78a6b946d613a900657b43e794f454744b7dc..fdb09cbff53d220195ae9b313dba6aea71c86aad 100644 --- a/interface/lib/lang/hr.lng +++ b/interface/lib/lang/hr.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Kreiraj cron zadatak'; $wb['datalog_status_u_cron'] = 'Podesi cron zadatak'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Obriši cron zadatak'; $wb['datalog_status_i_mail_get'] = 'Kreiraj mail fetcher račun'; $wb['datalog_status_u_mail_get'] = 'Podesi mail fetcher račun'; diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng index 3893db11742bfe402d42aee21873080d3f96e6fe..8e65d4c97416c77f9964c24afc0d0bbd5e96f3dd 100644 --- a/interface/lib/lang/hu.lng +++ b/interface/lib/lang/hu.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng index 42e95be1fc57909910fd6874b378c03415a78feb..693ca49015657476fd703df309c8a45f8dd2cd4c 100644 --- a/interface/lib/lang/id.lng +++ b/interface/lib/lang/id.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng index 1924c2a1d3086177310793b24ddbf3658ab9d5fc..1333cc907f541947ec262ecedf708e01985281a0 100644 --- a/interface/lib/lang/it.lng +++ b/interface/lib/lang/it.lng @@ -118,6 +118,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Crea cron job'; $wb['datalog_status_u_cron'] = 'Aggiorna cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Elimina cron job'; $wb['datalog_status_i_mail_mailinglist'] = 'Crea mailing list'; $wb['datalog_status_u_mail_mailinglist'] = 'Aggiorna mailing list'; diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng index 6cd1393ba3066111e1c2541ba1b8dc57fbe7b356..2d24f9a1f70ab5bbdbebd7d53927546ffd52153c 100644 --- a/interface/lib/lang/ja.lng +++ b/interface/lib/lang/ja.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng index 5335efa2e6824eee7ce797b172927290f03d6bcd..3af436ca485348404bc1c3bde176ac4356b9246f 100644 --- a/interface/lib/lang/nl.lng +++ b/interface/lib/lang/nl.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Aanmaken cron job'; $wb['datalog_status_u_cron'] = 'Bijwerken cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Verwijderen cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng index b790794b5bcbdff12a594dcf701a90e24f60fe5b..4a1cd0384e1c8b5f2042bfc954630fc97ec43a1b 100644 --- a/interface/lib/lang/pl.lng +++ b/interface/lib/lang/pl.lng @@ -122,6 +122,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Utwórz zadanie Cron'; $wb['datalog_status_u_cron'] = 'Edytuj zadanie Cron'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Usuń zadanie Cron'; $wb['datalog_status_i_mail_get'] = 'Utwórz konto mail fetcher'; $wb['datalog_status_u_mail_get'] = 'Edytuj konto mail fetcher'; diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng index c95845032967440fff491fc63c624bd74f389884..86d4442c42d2f31eb4d6d83359ce2a30db1cc9af 100644 --- a/interface/lib/lang/pt.lng +++ b/interface/lib/lang/pt.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng index 6cc88b6c4da728c23d1e1615edabe0851a933fdf..4f032832eb92c4b26c261892e3ca6a1268a42e79 100644 --- a/interface/lib/lang/ro.lng +++ b/interface/lib/lang/ro.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng index f886c4168abda7f8afb908df1a23de1ef7e6c830..2d18c9f628a418d3e3232819798e0ff14d0364ca 100644 --- a/interface/lib/lang/ru.lng +++ b/interface/lib/lang/ru.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Создать задание Пданировщика задач'; $wb['datalog_status_u_cron'] = 'Обновить задание Пданировщика задач'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Удалить задание Пданировщика задач'; $wb['datalog_status_i_mail_get'] = 'Создать аккаунт сборщика почты'; $wb['datalog_status_u_mail_get'] = 'Обновить аккаунт сборщика почты'; diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng index d134ce898b7901f298861c6d2b4a106fa971c9a1..5e8b3c7123a96af9a3e5697bbc3855cea19bc668 100644 --- a/interface/lib/lang/se.lng +++ b/interface/lib/lang/se.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Skapa cron-jobb'; $wb['datalog_status_u_cron'] = 'Uppdatera cron-jobb'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Radera cron-jobb'; $wb['datalog_status_i_mail_get'] = 'Skapa eposthämtarkonto'; $wb['datalog_status_u_mail_get'] = 'Uppdatera eposthämtarkonto'; diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng index 232a383d9740dce33f75cf65fdcc798db2c7f7eb..cab3ea1f8f9b8017ca6b92747e5eb5ef062e5640 100644 --- a/interface/lib/lang/sk.lng +++ b/interface/lib/lang/sk.lng @@ -119,6 +119,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Create cron job'; $wb['datalog_status_u_cron'] = 'Update cron job'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Delete cron job'; $wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; $wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng index c87cb26af6fb788748925f87412d60dc8d068a17..041c8d71030e856a9e93ba18bb90a145eb4bfbdc 100644 --- a/interface/lib/lang/tr.lng +++ b/interface/lib/lang/tr.lng @@ -123,6 +123,9 @@ $wb['datalog_status_u_server'] = 'Update server settings'; $wb['datalog_status_d_server'] = 'Delete server'; $wb['datalog_status_i_cron'] = 'Zamanlanmış Görev Ekle'; $wb['datalog_status_u_cron'] = 'Zamanlanmış Görevi Güncelle'; +$wb['datalog_status_i_server_ip'] = 'Add server IP'; +$wb['datalog_status_u_server_ip'] = 'Update server IP'; +$wb['datalog_status_d_server_ip'] = 'Delete server IP'; $wb['datalog_status_d_cron'] = 'Zamanlanmış Görevi Sil'; $wb['datalog_status_i_mail_get'] = 'E-posta Alma Hesabı Ekle'; $wb['datalog_status_u_mail_get'] = 'E-posta Alma Hesabını Güncelle'; diff --git a/interface/lib/plugins/mail_mail_domain_plugin.inc.php b/interface/lib/plugins/mail_mail_domain_plugin.inc.php index 598fe74f09bb75c843b4a9a66a322e454a471957..4ff756f44fb2ec1be22c46313b8c7da649128a99 100644 --- a/interface/lib/plugins/mail_mail_domain_plugin.inc.php +++ b/interface/lib/plugins/mail_mail_domain_plugin.inc.php @@ -13,9 +13,10 @@ class mail_mail_domain_plugin { /* This function is called when the plugin is loaded - */ + */ function onLoad() { global $app; + //Register for the events $app->plugin->registerEvent('mail:mail_domain:on_after_insert', 'mail_mail_domain_plugin', 'mail_mail_domain_edit'); $app->plugin->registerEvent('mail:mail_domain:on_after_update', 'mail_mail_domain_plugin', 'mail_mail_domain_edit'); @@ -23,13 +24,13 @@ class mail_mail_domain_plugin { /* Function to create the sites_web_domain rule and insert it into the custom rules - */ + */ function mail_mail_domain_edit($event_name, $page_form) { global $app, $conf; $domain = $app->functions->idn_encode($page_form->dataRecord['domain']); - // make sure that the record belongs to the client group and not the admin group when a dmin inserts it + // make sure that the record belongs to the client group and not the admin group when admin inserts it // also make sure that the user can not delete entry created by an admin if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($page_form->dataRecord["client_group_id"])) { $client_group_id = $app->functions->intval($page_form->dataRecord["client_group_id"]); @@ -64,6 +65,8 @@ class mail_mail_domain_plugin { $app->uses('getconf'); $mail_config = $app->getconf->get_server_config($page_form->dataRecord["server_id"], 'mail'); + $old_domain = $app->functions->idn_encode($page_form->oldDataRecord['domain']); + //* Update the mailboxes $mailusers = $app->db->queryAllRecords("SELECT * FROM mail_user WHERE email like ?", "%@" . $page_form->oldDataRecord['domain']); $sys_groupid = $app->functions->intval((isset($page_form->dataRecord['client_group_id']))?$page_form->dataRecord['client_group_id']:$page_form->oldDataRecord['sys_groupid']); @@ -76,25 +79,164 @@ class mail_mail_domain_plugin { $maildir = str_replace("[domain]", $domain, $mail_config["maildir_path"]); $maildir = str_replace("[localpart]", $mail_parts[0], $maildir); $email = $mail_parts[0].'@'.$domain; + + // update spamfilter_users and spamfilter_wblist if email change + $skip_spamfilter_users_update = false; + if($email != $rec['email']) { + $tmp_olduser = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email = ?", $rec['email']); + if($tmp_olduser['id'] > 0) { + $tmp_newuser = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", $email); + if($tmp_newuser['id'] > 0) { + // There is a spamfilter_users for both old and new email, we'll update old wblist entries + $tmp_wblist = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_olduser['id']); + foreach ($tmp_wblist as $tmp) { + $update_data = array( + 'rid' => $tmp_newuser['id'], + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + $app->db->datalogUpdate('spamfilter_wblist', $update_data, 'wblist_id', $tmp['wblist_id']); + } + + // now delete old spamfilter_users entry + $app->db->datalogDelete('spamfilter_users', 'id', $tmp_olduser['id']); + } else { + $update_data = array( + 'email' => $email, + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + if($tmp_olduser['fullname'] == $app->functions->idn_decode($rec['email'])) { + $update_data['fullname'] = $app->functions->idn_decode($email); + } + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_olduser['id']); + $skip_spamfilter_users_update = true; + + $tmp_wblist = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_olduser['id']); + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + foreach ($tmp_wblist as $tmp) { + $app->db->datalogUpdate('spamfilter_wblist', $update_data, 'wblist_id', $tmp['wblist_id']); + } + } + } + + $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", $email); + if($tmp_user["id"] > 0) { + // There is already a record that we will update + if(!$skip_spamfilter_users_update) { + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_user['id']); + } + } else { + // We create a new record + $insert_data = array( + "sys_userid" => $client_user_id, + "sys_groupid" => $sys_groupid, + "sys_perm_user" => 'riud', + "sys_perm_group" => 'riud', + "sys_perm_other" => '', + "server_id" => $page_form->dataRecord["server_id"], + "priority" => 5, + "policy_id" => 0, + "email" => $email, + "fullname" => $app->functions->idn_decode($email), + "local" => 'Y' + ); + $app->db->datalogInsert('spamfilter_users', $insert_data, 'id'); + } + } + $app->db->datalogUpdate('mail_user', array("maildir" => $maildir, "email" => $email, "sys_userid" => $client_user_id, "sys_groupid" => $sys_groupid), 'mailuser_id', $rec['mailuser_id']); + } } //* Update the aliases - $forwardings = $app->db->queryAllRecords("SELECT * FROM mail_forwarding WHERE source LIKE ? OR destination LIKE ?", "%@" . $page_form->oldDataRecord['domain'], "%@" . $page_form->oldDataRecord['domain']); + $forwardings = $app->db->queryAllRecords("SELECT * FROM mail_forwarding WHERE source like ? OR destination like ?", '%@' . $old_domain, '%@' . $old_domain); if(is_array($forwardings)) { foreach($forwardings as $rec) { - $destination = str_replace($page_form->oldDataRecord['domain'], $domain, $rec['destination']); - $source = str_replace($page_form->oldDataRecord['domain'], $domain, $rec['source']); + $destination = str_replace($old_domain, $domain, $rec['destination']); + $source = str_replace($old_domain, $domain, $rec['source']); + + // update spamfilter_users and spamfilter_wblist if source email changes + $skip_spamfilter_users_update = false; + if(strpos($rec['source'],'@'.$old_domain) && $source != $rec['source']) { + $tmp_olduser = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email = ?", $rec['source']); + if($tmp_olduser['id'] > 0) { + $tmp_newuser = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", $source); + if($tmp_newuser['id'] > 0) { + // There is a spamfilter_users for both old and new email, we'll update old wblist entries + $tmp_wblist = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_olduser['id']); + foreach ($tmp_wblist as $tmp) { + $update_data = array( + 'rid' => $tmp_newuser['id'], + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + $app->db->datalogUpdate('spamfilter_wblist', $update_data, 'wblist_id', $tmp['wblist_id']); + } + + // now delete old spamfilter_users entry + $app->db->datalogDelete('spamfilter_users', 'id', $tmp_olduser['id']); + } else { + $update_data = array( + 'email' => $source, + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + if($tmp_olduser['fullname'] == $app->functions->idn_decode($rec['source'])) { + $update_data['fullname'] = $app->functions->idn_decode($source); + } + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_olduser['id']); + $skip_spamfilter_users_update = true; + + $tmp_wblist = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_olduser['id']); + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + foreach ($tmp_wblist as $tmp) { + $app->db->datalogUpdate('spamfilter_wblist', $update_data, 'wblist_id', $tmp['wblist_id']); + } + } + } + + + $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", $source); + if($tmp_user["id"] > 0) { + // There is already a record that we will update + if(!$skip_spamfilter_users_update) { + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_user['id']); + } + } + + } + $app->db->datalogUpdate('mail_forwarding', array("source" => $source, "destination" => $destination, "sys_userid" => $client_user_id, "sys_groupid" => $sys_groupid), 'forwarding_id', $rec['forwarding_id']); } } //* Update the mailinglist - $mailing_lists = $app->db->queryAllRecords("SELECT mailinglist_id FROM mail_mailinglist WHERE domain = ?", $page_form->oldDataRecord['domain']); - if(is_array($mailing_lists)) { - foreach($mailing_lists as $rec) { - $app->db->datalogUpdate('mail_mailinglist', array("sys_userid" => $client_user_id, "sys_groupid" => $sys_groupid), 'mailinglist_id', $rec['mailinglist_id']); + $mailinglists = $app->db->queryAllRecords("SELECT * FROM mail_mailinglist WHERE domain = ?", $old_domain); + if(is_array($mailinglists)) { + foreach($mailinglists as $rec) { + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + 'domain' => $domain, + 'email' => str_replace($old_domain, $domain, $rec['email']), + ); + $app->db->datalogUpdate('mail_mailinglist', $update_data, 'mailinglist_id', $rec['mailinglist_id']); } } @@ -107,25 +249,81 @@ class mail_mail_domain_plugin { } } - if ($page_form->oldDataRecord["domain"] != $domain) { - //* Delete the old spamfilter record - $tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", "@" . $page_form->oldDataRecord["domain"]); - $app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]); - unset($tmp); + // Spamfilter policy + $policy_id = $app->functions->intval($page_form->dataRecord["policy"]); + + // If domain changes, update spamfilter_users + // and fire spamfilter_wblist_update events so rspamd files are rewritten + if ($old_domain != $domain) { + $tmp_users = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email LIKE ?", '%@' . $old_domain); + if(is_array($tmp_users)) { + foreach ($tmp_users as $tmp_old) { + $tmp_new = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email = ?", '@' . $domain); + if($tmp_new['id'] > 0) { + // There is a spamfilter_users for both old and new domain, we'll update old wblist entries + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + 'rid' => $tmp_new['id'], + ); + $tmp_wblist = $app->db->queryAllRecords("SELECT wblist_id FROM spamfilter_wblist WHERE rid = ?", $tmp_old['id']); + foreach ($tmp_wblist as $tmp) { + $app->db->datalogUpdate('spamfilter_wblist', $update_data, 'wblist_id', $tmp['wblist_id']); + } + + // now delete old spamfilter_users entry + $app->db->datalogDelete('spamfilter_users', 'id', $tmp_old['id']); + + /// and update the new + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + ); + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_old['id']); + } else { + $update_data = array( + 'sys_userid' => $client_user_id, + 'sys_groupid' => $sys_groupid, + 'email' => '@' . $domain, + ); + if($tmp_old['fullname'] == '@' . $old_domain) { + $update_data['fullname'] = '@' . $domain; + } + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_old['id']); + } + } + } } - $app->db->query("UPDATE spamfilter_users SET email=REPLACE(email, ?, ?), sys_userid = ?, sys_groupid = ? WHERE email LIKE ?", $page_form->oldDataRecord['domain'], $domain, $client_user_id, $sys_groupid, "%@" . $page_form->oldDataRecord['domain']); - } // end if domain name changed - - //* Force-update the aliases (required for spamfilter changes) - $forwardings = $app->db->queryAllRecords("SELECT * FROM mail_forwarding WHERE source LIKE ? OR destination LIKE ?", "%@" . $domain, "%@" . $domain); - - if(is_array($forwardings)) { - foreach($forwardings as $rec) { - $app->db->datalogUpdate('mail_forwarding', array("source" => $rec['source']), 'forwarding_id', $rec['forwarding_id'],true); + $tmp_user = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = ?", '@' . $domain); + if(isset($tmp_user['id']) && $tmp_user['id'] > 0) { + // There is already a record that we will update + if($policy_id != $tmp_user['policy_id']) { + $update_data = array( + 'policy_id' => $policy_id, + ); + $app->db->datalogUpdate('spamfilter_users', $update_data, 'id', $tmp_user["id"]); + } + } else { + // We create a new record + $insert_data = array( + "sys_userid" => $client_user_id, + "sys_groupid" => $sys_groupid, + "sys_perm_user" => 'riud', + "sys_perm_group" => 'riud', + "sys_perm_other" => '', + "server_id" => $page_form->dataRecord["server_id"], + "priority" => 5, + "policy_id" => $policy_id, + "email" => '@' . $domain, + "fullname" => '@' . $domain, + "local" => 'Y' + ); + $app->db->datalogInsert('spamfilter_users', $insert_data, 'id'); } - } - + + } // end if domain name changed + } } diff --git a/interface/lib/plugins/mail_user_filter_plugin.inc.php b/interface/lib/plugins/mail_user_filter_plugin.inc.php index 4f24042b303bca819da67de91ec4ab6c72933b03..a6fe968e4379b625cf9deeaffc6acca62c58eeef 100644 --- a/interface/lib/plugins/mail_user_filter_plugin.inc.php +++ b/interface/lib/plugins/mail_user_filter_plugin.inc.php @@ -217,7 +217,7 @@ class mail_user_filter_plugin { } elseif ($page_form->dataRecord["action"] == 'stop') { $content .= " stop;\n"; } elseif ($page_form->dataRecord["action"] == 'reject') { - $content .= ' reject "'.$page_form->dataRecord["target"].'"; stop;\n\n'; + $content .= ' reject "'.$page_form->dataRecord["target"].'";' . "\n stop;\n"; } else { $content .= " discard;\n stop;\n"; } diff --git a/interface/web/admin/form/dbsync.tform.php b/interface/web/admin/form/dbsync.tform.php index 8a4181b88870045b8b839c686bb67913db67bd6f..b854db81f93238575135def343cc38f603b8a988 100644 --- a/interface/web/admin/form/dbsync.tform.php +++ b/interface/web/admin/form/dbsync.tform.php @@ -94,7 +94,7 @@ unset($form); $form['title'] = 'DB sync'; -$form['description'] = 'ISPConfig database synchronisation tool.'; +//$form['description'] = 'ISPConfig database synchronisation tool.'; $form['name'] = 'dbsync'; $form['action'] = 'dbsync_edit.php'; $form['db_table'] = 'sys_dbsync'; diff --git a/interface/web/admin/form/firewall.tform.php b/interface/web/admin/form/firewall.tform.php index eb7dcb3acf83bf7d603d7a3454fe62b2610b2ee9..90614bac55394582cd661649b72810c32b9d7219 100644 --- a/interface/web/admin/form/firewall.tform.php +++ b/interface/web/admin/form/firewall.tform.php @@ -79,7 +79,7 @@ $form["tabs"]['firewall'] = array ( 'regex' => '/^$|\d{1,5}(?::\d{1,5})?(?:,\d{1,5}(?::\d{1,5})?)*$/', 'errmsg'=> 'tcp_ports_error_regex'), ), - 'default' => '20,21,22,25,53,80,110,143,443,465,587,993,995,3306,8080,8081,10000', + 'default' => '21,22,25,53,80,110,143,443,465,587,993,995,3306,4190,8080,8081,40110:40210', 'value' => '', 'width' => '30', 'maxlength' => '255' @@ -91,7 +91,7 @@ $form["tabs"]['firewall'] = array ( 'regex' => '/^$|\d{1,5}(?::\d{1,5})?(?:,\d{1,5}(?::\d{1,5})?)*$/', 'errmsg'=> 'udp_ports_error_regex'), ), - 'default' => '53,3306', + 'default' => '53', 'value' => '', 'width' => '30', 'maxlength' => '255' diff --git a/interface/web/admin/form/groups.tform.php b/interface/web/admin/form/groups.tform.php index 5bcbe6279f7a82a3e5d49c4b08c67f9e313c7266..6a2b3acb9f82d70bd9def77294cb997870bcc2ec 100644 --- a/interface/web/admin/form/groups.tform.php +++ b/interface/web/admin/form/groups.tform.php @@ -60,7 +60,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ $form["title"] = "Groups"; -$form["description"] = "groups_description"; +//$form["description"] = "groups_description"; $form["name"] = "groups"; $form["action"] = "groups_edit.php"; $form["db_table"] = "sys_group"; diff --git a/interface/web/admin/form/iptables.tform.php b/interface/web/admin/form/iptables.tform.php index 76d747020d3966a7390d141c7df50c2262687764..d36ade42b8637e02a333120e2d57b72ff11ae55f 100644 --- a/interface/web/admin/form/iptables.tform.php +++ b/interface/web/admin/form/iptables.tform.php @@ -1,7 +1,7 @@ 'weak_password_txt' ) ), - 'encryption' => 'MD5', + 'encryption' => 'CRYPT', 'default' => '', 'value' => '', 'width' => '30', @@ -124,11 +124,11 @@ $form["tabs"]['remote_user'] = array ( 'remote_ips' => array ( 'datatype' => 'TEXT', 'formtype' => 'TEXT', - 'validators' => array ( + 'validators' => array ( 0 => array ( - 'type' => 'CUSTOM', - 'class' => 'validate_remote_user', - 'function' => 'valid_remote_ip', + 'type' => 'CUSTOM', + 'class' => 'validate_remote_user', + 'function' => 'valid_remote_ip', 'errmsg' => 'remote_user_error_ips'), ), 'default' => '', @@ -146,6 +146,7 @@ $form["tabs"]['remote_user'] = array ( 'separator' => ';', 'width' => '', 'maxlength' => '', + 'render_inline' => 'n', 'rows' => '5', 'cols' => '30' ) diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 6ecda7872fbdd267a526329270d2b8b0b581868b..47a48a3c279e2bf438a3efeb796debed358b1293 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -34,7 +34,7 @@ */ $form["title"] = "server_config"; -$form["description"] = ""; +//$form["description"] = ""; $form["name"] = "server_config"; $form["action"] = "server_config_edit.php"; $form["db_table"] = "server"; @@ -131,7 +131,7 @@ $form["tabs"]['server'] = array( 'validators' => array( 0 => array('type' => 'NOTEMPTY', 'errmsg' => 'hostname_error_empty'), 1 => array ('type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,63}$/', + 'regex' => '/^[\w\.\-]{1,255}\.[a-zA-Z0-9\-]{2,63}$/', 'errmsg'=> 'hostname_error_regex'), ), 'value' => '', @@ -481,8 +481,57 @@ $form["tabs"]['mail'] = array( 'value' => '', 'width' => '40', 'maxlength' => '255', - 'filters' => array( 0 => array( 'event' => 'SAVE', - 'type' => 'TRIM'), + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'TRIM'), + ), + ), + 'rspamd_redis_servers' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '127.0.0.1', + 'value' => '', + 'width' => '40', + 'maxlength' => '255', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'TRIM'), + ), + ), + 'rspamd_redis_password' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'TRIM'), + ), + ), + 'rspamd_redis_bayes_servers' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '127.0.0.1', + 'value' => '', + 'width' => '40', + 'maxlength' => '255', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'TRIM'), + ), + ), + 'rspamd_redis_bayes_password' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'TRIM'), ), ), 'rspamd_available' => array( @@ -717,6 +766,18 @@ $form["tabs"]['mail'] = array( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'rspamd_url' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'filters' => array( + 0 => array( 'event' => 'SAVE', 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', 'type' => 'IDNTOUTF8') + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), //################################# // END Datatable fields //################################# @@ -1015,6 +1076,12 @@ $form["tabs"]['web'] = array( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'overtraffic_disable_web' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), 'overquota_notify_admin' => array( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', @@ -1784,7 +1851,7 @@ $form["tabs"]['jailkit'] = array( 'validators' => array( 0 => array('type' => 'NOTEMPTY', 'errmsg' => 'jailkit_chroot_home_error_empty'), 1 => array ( 'type' => 'REGEX', - 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/', + 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,}$/', 'errmsg'=> 'jailkit_chroot_home_error_regex'), ), 'value' => '', @@ -1798,7 +1865,7 @@ $form["tabs"]['jailkit'] = array( 'validators' => array( 0 => array('type' => 'NOTEMPTY', 'errmsg' => 'jailkit_chroot_app_sections_error_empty'), 1 => array ( 'type' => 'REGEX', - 'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/', + 'regex' => '/^[a-zA-Z0-9\.\-\_\ ]{1,}$/', 'errmsg'=> 'jailkit_chroot_app_sections_error_regex'), ), 'value' => '', diff --git a/interface/web/admin/form/server_ip.tform.php b/interface/web/admin/form/server_ip.tform.php index d86dbb753568f035144de4e7c087ca1469e570e6..920e55119190a8b77d96a146e50f990704d3619f 100644 --- a/interface/web/admin/form/server_ip.tform.php +++ b/interface/web/admin/form/server_ip.tform.php @@ -65,7 +65,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ $form["title"] = "server_ip_edit_title"; -$form["description"] = "server_ip_edit_desc"; +//$form["description"] = "server_ip_edit_desc"; $form["name"] = "server_ip"; $form["action"] = "server_ip_edit.php"; $form["db_table"] = "server_ip"; diff --git a/interface/web/admin/form/server_ip_map.tform.php b/interface/web/admin/form/server_ip_map.tform.php index 2374ca0ce0e59d3bb32a4579147472e3cc6bedd4..1f611d1dad8aa6f2b8d241f9c64506607c755c23 100644 --- a/interface/web/admin/form/server_ip_map.tform.php +++ b/interface/web/admin/form/server_ip_map.tform.php @@ -29,7 +29,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ $form["title"] = "server_ip_map_title"; -$form["description"] = "server_ip_map_desc"; +//$form["description"] = "server_ip_map_desc"; $form["name"] = "server_ip_map"; $form["action"] = "server_ip_map_edit.php"; $form["db_table"] = "server_ip_map"; @@ -59,7 +59,7 @@ $form["tabs"]['server_ip_map'] = array ( 'source_ip' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', - 'validators' => array ( + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'source_ip_empty'), ), 'default' => '', @@ -68,7 +68,7 @@ $form["tabs"]['server_ip_map'] = array ( 'destination_ip' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', - 'validators' => array ( + 'validators' => array ( 0 => array ( 'type' => 'ISIPV4', 'errmsg'=> 'ip_error_wrong'), 1 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'destination_ip_empty'), ), diff --git a/interface/web/admin/form/server_php.tform.php b/interface/web/admin/form/server_php.tform.php index 6d443e8d50a939f5807e1ec2c9d08de382e9ba04..2a37a1e6d1e66ecaebe10c8eeef22e77f1c27902 100644 --- a/interface/web/admin/form/server_php.tform.php +++ b/interface/web/admin/form/server_php.tform.php @@ -60,7 +60,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ $form["title"] = "Additional PHP Versions"; -$form["description"] = "Form to edit additional PHP versions"; +//$form["description"] = "Form to edit additional PHP versions"; $form["name"] = "server_php"; $form["action"] = "server_php_edit.php"; $form["db_table"] = "server_php"; @@ -229,6 +229,20 @@ $form["tabs"]['php_fpm'] = array( 'width' => '40', 'maxlength' => '255' ), + 'php_fpm_socket_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'filters' => array( + 0 => array( 'event' => 'SAVE', + 'type' => 'STRIPTAGS'), + 1 => array( 'event' => 'SAVE', + 'type' => 'STRIPNL') + ), + 'default' => '', + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), //################################# // END Datatable fields //################################# diff --git a/interface/web/admin/form/software_package.tform.php b/interface/web/admin/form/software_package.tform.php deleted file mode 100644 index b8368d545751d19216fac8c69c588dc62b1cad48..0000000000000000000000000000000000000000 --- a/interface/web/admin/form/software_package.tform.php +++ /dev/null @@ -1,128 +0,0 @@ - 0 id must match with id of current user -$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user -$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete - -$form["tabs"]['software_package'] = array ( - 'title' => "Software Package", - 'width' => 80, - 'template' => "templates/software_package_edit.htm", - 'fields' => array ( - //################################# - // Beginn Datenbankfelder - //################################# - 'package_title' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'filters' => array( - 0 => array( 'event' => 'SAVE', - 'type' => 'STRIPTAGS'), - 1 => array( 'event' => 'SAVE', - 'type' => 'STRIPNL') - ), - 'validators' => '', - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '40', - 'maxlength' => '40', - 'rows' => '', - 'cols' => '' - ), - 'package_key' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'filters' => array( - 0 => array( 'event' => 'SAVE', - 'type' => 'STRIPTAGS'), - 1 => array( 'event' => 'SAVE', - 'type' => 'STRIPNL') - ), - 'validators' => '', - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '40', - 'maxlength' => '40', - 'rows' => '', - 'cols' => '' - ), - //################################# - // ENDE Datenbankfelder - //################################# - ) -); -?> diff --git a/interface/web/admin/form/software_repo.tform.php b/interface/web/admin/form/software_repo.tform.php deleted file mode 100644 index cbf68b3a3588e5e31d2c998e87c3b28b3fe20134..0000000000000000000000000000000000000000 --- a/interface/web/admin/form/software_repo.tform.php +++ /dev/null @@ -1,171 +0,0 @@ - 0 id must match with id of current user -$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user -$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete - -$form["tabs"]['software_repo'] = array ( - 'title' => "Repository", - 'width' => 80, - 'template' => "templates/software_repo_edit.htm", - 'fields' => array ( - //################################# - // Beginn Datenbankfelder - //################################# - 'repo_name' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'repo_name_empty'), - 1 => array ( 'type' => 'UNIQUE', - 'errmsg'=> 'repo_name_unique'), - ), - 'filters' => array( - 0 => array( 'event' => 'SAVE', - 'type' => 'STRIPTAGS'), - 1 => array( 'event' => 'SAVE', - 'type' => 'STRIPNL') - ), - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '40', - 'maxlength' => '40', - 'rows' => '', - 'cols' => '' - ), - 'repo_url' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'repo_name_empty'), - 1 => array ( 'type' => 'UNIQUE', - 'errmsg'=> 'repo_name_unique'), - ), - 'filters' => array( - 0 => array( 'event' => 'SAVE', - 'type' => 'STRIPTAGS'), - 1 => array( 'event' => 'SAVE', - 'type' => 'STRIPNL') - ), - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '40', - 'maxlength' => '40', - 'rows' => '', - 'cols' => '' - ), - 'repo_username' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'filters' => array( - 0 => array( 'event' => 'SAVE', - 'type' => 'STRIPTAGS'), - 1 => array( 'event' => 'SAVE', - 'type' => 'STRIPNL') - ), - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '30', - 'maxlength' => '30', - 'rows' => '', - 'cols' => '' - ), - 'repo_password' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'PASSWORD', - 'encryption' => 'CLEARTEXT', - 'default' => '', - 'value' => '', - 'separator' => '', - 'width' => '30', - 'maxlength' => '30', - 'rows' => '', - 'cols' => '' - ), - 'active' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'y', - 'value' => array(0 => 'n', 1 => 'y') - ), - //################################# - // ENDE Datenbankfelder - //################################# - ) -); -?> diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index 6b9b59b5e4f7f43426be0ff8803840888c5bee65..c7d15ffcf4ddfcb6a7a125a732c539e050f1d68d 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -34,7 +34,7 @@ */ $form["title"] = "system_config_title"; -$form["description"] = "system_config_desc_txt"; +//$form["description"] = "system_config_desc_txt"; $form["name"] = "system_config"; $form["action"] = "system_config_edit.php"; $form["db_table"] = "sys_ini"; @@ -184,6 +184,12 @@ $form["tabs"]['sites'] = array ( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'show_aps_menu' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'default_webserver' => array ( 'datatype' => 'INTEGER', 'formtype' => 'SELECT', @@ -235,6 +241,12 @@ $form["tabs"]['sites'] = array ( 'separator' => ',', 'value' => array('no' => 'Disabled', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM', 'hhvm' => 'HHVM') ), + 'ssh_authentication' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'default' => '', + 'value' => array('' => 'ssh_authentication_password_key', 'password' => 'ssh_authentication_password', 'key' => 'ssh_authentication_key') + ) //################################# // END Datatable fields //################################# @@ -255,6 +267,18 @@ $form["tabs"]['mail'] = array ( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), + 'enable_welcome_mail' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), + 'show_per_domain_relay_options' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'mailbox_show_autoresponder_tab' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', @@ -619,6 +643,12 @@ $form["tabs"]['misc'] = array ( 'default' => 'y', 'value' => array(0 => 'n', 1 => 'y') ), + 'show_support_messages' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), 'maintenance_mode' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', @@ -766,12 +796,6 @@ $form["tabs"]['misc'] = array ( 'formtype' => 'SELECT', 'default' => '', 'value' => array('' => 'None', '1' => 'strength_1', '2' => 'strength_2', '3' => 'strength_3', '4' => 'strength_4', '5' => 'strength_5') - ), - 'ssh_authentication' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'default' => '', - 'value' => array('' => 'ssh_authentication_password_key', 'password' => 'ssh_authentication_password', 'key' => 'ssh_authentication_key') ) //################################# // END Datatable fields diff --git a/interface/web/admin/form/tpl_default.tform.php b/interface/web/admin/form/tpl_default.tform.php index baa84d7b309ecb999de03f7098a10c5a17f790be..804cfd95423615e36fab4ff5715f2d96275ff50e 100644 --- a/interface/web/admin/form/tpl_default.tform.php +++ b/interface/web/admin/form/tpl_default.tform.php @@ -60,7 +60,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ $form["title"] = "tpl_default_head_txt"; -$form["description"] = "tpl_default_desc_txt"; +//$form["description"] = "tpl_default_desc_txt"; $form["name"] = "tpl_default"; $form["action"] = "tpl_default.php"; $form["db_table"] = "sys_theme"; diff --git a/interface/web/admin/lib/lang/ar_remote_action.lng b/interface/web/admin/lib/lang/ar_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/ar_remote_action.lng +++ b/interface/web/admin/lib/lang/ar_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng index ad648de1c610e3d7b9d4434198acc06657066511..ac03605279d769d3b8c8d2be21bcb84b43b8e687 100644 --- a/interface/web/admin/lib/lang/ar_server_config.lng +++ b/interface/web/admin/lib/lang/ar_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/ar_server_php.lng b/interface/web/admin/lib/lang/ar_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/ar_server_php.lng +++ b/interface/web/admin/lib/lang/ar_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/ar_software_package.lng b/interface/web/admin/lib/lang/ar_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_software_package_install.lng b/interface/web/admin/lib/lang/ar_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_software_package_list.lng b/interface/web/admin/lib/lang/ar_software_package_list.lng deleted file mode 100644 index 9fa53867bc70f653a4410da5dc70988beebfdcdb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_software_repo.lng b/interface/web/admin/lib/lang/ar_software_repo.lng deleted file mode 100644 index f2cbbb2c25776ab5f1794e7102ad264a98144049..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_software_repo_list.lng b/interface/web/admin/lib/lang/ar_software_repo_list.lng deleted file mode 100644 index b7a219ffa8e2f6d389fabdc5386286a24fc2a11a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_software_update_list.lng b/interface/web/admin/lib/lang/ar_software_update_list.lng deleted file mode 100644 index fe7639125cd2634fa809d9a6592e9e9fb21e84bb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ar_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ar_system_config.lng b/interface/web/admin/lib/lang/ar_system_config.lng index a5d245f16b1a51a3676000cf0a856557de0409d0..5d21ab4c2e93e8bf0fd713516481429a36d9d97c 100644 --- a/interface/web/admin/lib/lang/ar_system_config.lng +++ b/interface/web/admin/lib/lang/ar_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ar_users_list.lng b/interface/web/admin/lib/lang/ar_users_list.lng index 4f7a7469b020b2d31638c6ed69dd2e40a6b595b6..84869c062694fdd70076f76f84fcdbeb41d86fd8 100644 --- a/interface/web/admin/lib/lang/ar_users_list.lng +++ b/interface/web/admin/lib/lang/ar_users_list.lng @@ -4,6 +4,6 @@ $wb['username_txt'] = 'Username'; $wb['client_id_txt'] = 'Client ID'; $wb['active_txt'] = 'Active'; $wb['add_new_record_txt'] = 'Add new user'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; $wb['groups_txt'] = 'Groups'; ?> diff --git a/interface/web/admin/lib/lang/bg_remote_action.lng b/interface/web/admin/lib/lang/bg_remote_action.lng index 6925ec260dbfa4b48ac2b93884f0358ef28cb892..8d6e441d852736b08b183efc2b178fabcab91c53 100644 --- a/interface/web/admin/lib/lang/bg_remote_action.lng +++ b/interface/web/admin/lib/lang/bg_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Избери сървър'; $wb['btn_do_txt'] = 'Изпълни действие'; $wb['do_osupdate_caption'] = 'Направете OS - Актуализация на отдалечен сървър'; -$wb['do_osupdate_desc'] = 'Това действие прави за aptitude-y ъпгрейд на избрания от Вас сървър.

ИЗПОЛЗВАШ ТОВА НА ТВОЙ РИСК!'; +$wb['do_osupdate_desc'] = 'Това действие прави за apt-y ъпгрейд на избрания от Вас сървър.

ИЗПОЛЗВАШ ТОВА НА ТВОЙ РИСК!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'Това действие прави ISPConfig 3 обновяване на избрания от Вас сървър.

ИЗПОЛЗВАШ ТОВА НА ТВОЙ РИСК!'; $wb['action_scheduled'] = 'Това действие е насрочено за изпълнение'; diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng index b2b655eca261cc858460dcde83a188dcc4d2d085..b9d6e648cedeb6b0666b8112acb93b5a0b9fe838 100644 --- a/interface/web/admin/lib/lang/bg_server_config.lng +++ b/interface/web/admin/lib/lang/bg_server_config.lng @@ -191,6 +191,7 @@ $wb['website_autoalias_txt'] = 'Website auto alias'; $wb['website_autoalias_note_txt'] = 'Placeholders:'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/bg_server_php.lng b/interface/web/admin/lib/lang/bg_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/bg_server_php.lng +++ b/interface/web/admin/lib/lang/bg_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/bg_software_package.lng b/interface/web/admin/lib/lang/bg_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_software_package_install.lng b/interface/web/admin/lib/lang/bg_software_package_install.lng deleted file mode 100644 index 0c9bd116c37c4378c7e84b41215accb29e06e68f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_software_package_list.lng b/interface/web/admin/lib/lang/bg_software_package_list.lng deleted file mode 100644 index e251c95fbd2a3d9bd3f8d01e883e8111fd489813..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_software_repo.lng b/interface/web/admin/lib/lang/bg_software_repo.lng deleted file mode 100644 index f5156543451cdbd127b34dfed1798a2c6dc5c58c..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_software_repo_list.lng b/interface/web/admin/lib/lang/bg_software_repo_list.lng deleted file mode 100644 index 6471d706143866e7e1d94c76de6470d85cba5056..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_software_update_list.lng b/interface/web/admin/lib/lang/bg_software_update_list.lng deleted file mode 100644 index c7fa6e07f5741e21f04f6c78c5bef8eb8f329210..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/bg_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/bg_system_config.lng b/interface/web/admin/lib/lang/bg_system_config.lng index fa9cdbf48d296040b9a18ba485ee871624ecc84d..1b8d10541d05febec539338ac21a0fc9eda0e6ae 100644 --- a/interface/web/admin/lib/lang/bg_system_config.lng +++ b/interface/web/admin/lib/lang/bg_system_config.lng @@ -22,6 +22,7 @@ $wb['webftp_url_txt'] = 'WebFTP URL'; $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)'; $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)'; $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Разреши различни имена за вход'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Мейлинг лист адрес URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/br.lng b/interface/web/admin/lib/lang/br.lng index b558a1510ea75b28c592710886d259ca93be5366..12db8395a41c5a9060a60a0c1ebf99922b2dc8d8 100644 --- a/interface/web/admin/lib/lang/br.lng +++ b/interface/web/admin/lib/lang/br.lng @@ -1,5 +1,5 @@ diff --git a/interface/web/admin/lib/lang/br_directive_snippets.lng b/interface/web/admin/lib/lang/br_directive_snippets.lng index 3179f5fa565e23179fbb7be67b6297950fd6190d..d1ec8239f7ec78ca52f19f773436efb249bb5415 100644 --- a/interface/web/admin/lib/lang/br_directive_snippets.lng +++ b/interface/web/admin/lib/lang/br_directive_snippets.lng @@ -8,8 +8,8 @@ $wb['directive_snippets_name_empty'] = 'Por favor, insira um nome para a diretiv $wb['directive_snippets_name_error_unique'] = 'Já existe uma diretiva com este nome.'; $wb['variables_txt'] = 'Variáveis'; $wb['customer_viewable_txt'] = 'Visualização personalizada'; -$wb['required_php_snippets_txt'] = 'Trecho de código exige php'; -$wb['update_sites_txt'] = 'Update sites using this snippet'; -$wb['error_hide_snippet_active_sites'] = 'You cannot hide this snippet from customers as it is currently used by existing websites.'; -$wb['error_disable_snippet_active_sites'] = 'You cannot disable this snippet as it is currently used by existing websites.'; -$wb['error_delete_snippet_active_sites'] = 'You cannot delete this snippet as it is currently used by existing websites.'; \ No newline at end of file +$wb['required_php_snippets_txt'] = 'Trecho de código exige PHP'; +$wb['update_sites_txt'] = 'Atualizar sites usando este trecho de código'; +$wb['error_hide_snippet_active_sites'] = 'Você não pode ocultar este trecho de código dos clientes, pois ele é usado por sites existentes.'; +$wb['error_disable_snippet_active_sites'] = 'Você não pode desativar este trecho de código, pois ele é usado por sites existentes.'; +$wb['error_delete_snippet_active_sites'] = 'Você não pode excluir este trecho de código, pois ele é usado por sites existentes.'; diff --git a/interface/web/admin/lib/lang/br_directive_snippets_list.lng b/interface/web/admin/lib/lang/br_directive_snippets_list.lng index 70af844dd6fe7bba21c201e79ce7c9427e0a95d6..d74c9f47c90e0e85d57f1dbc862ca8429e27b23c 100644 --- a/interface/web/admin/lib/lang/br_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/br_directive_snippets_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Nome da diretiva'; $wb['type_txt'] = 'Tipo'; $wb['add_new_record_txt'] = 'Adicionar diretiva'; $wb['customer_viewable_txt'] = 'Visível para o cliente'; -?> diff --git a/interface/web/admin/lib/lang/br_firewall.lng b/interface/web/admin/lib/lang/br_firewall.lng index 3fd7f77d3e4f0c651d7dffaf10231649ccab6e0f..9a3eadb4a474a689ad7c03391a611969cf5f3f34 100644 --- a/interface/web/admin/lib/lang/br_firewall.lng +++ b/interface/web/admin/lib/lang/br_firewall.lng @@ -5,7 +5,6 @@ $wb['udp_port_txt'] = 'Portas UDP abertas'; $wb['tcp_port_help_txt'] = 'Separado por vírgula'; $wb['udp_port_help_txt'] = 'Separado por vírgula'; $wb['active_txt'] = 'Ativo'; -$wb['firewall_error_unique'] = 'Já existe uma regra de firewall idêntica para este servidor.'; -$wb['tcp_ports_error_regex'] = 'Caractere não permitido para configuração de porta tcp: Caracteres permitidos são números, ":" e ",".'; -$wb['udp_ports_error_regex'] = 'Caractere não permitido para configuração de porta udp: Caracteres permitidos são números, ":" e ",".'; -?> +$wb['firewall_error_unique'] = 'Já existe uma regra de Firewall idêntica para este servidor.'; +$wb['tcp_ports_error_regex'] = 'Caractere não permitido para configuração de porta TCP: Caracteres permitidos são números, ":" e ",".'; +$wb['udp_ports_error_regex'] = 'Caractere não permitido para configuração de porta UDP: Caracteres permitidos são números, ":" e ",".'; diff --git a/interface/web/admin/lib/lang/br_firewall_list.lng b/interface/web/admin/lib/lang/br_firewall_list.lng index d90ee33d4e5b969bb8fbb1cf0f8c0bebf6755bf8..885491f344b1c7a3eb7b526db79cca316b3895c4 100644 --- a/interface/web/admin/lib/lang/br_firewall_list.lng +++ b/interface/web/admin/lib/lang/br_firewall_list.lng @@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Servidor'; $wb['tcp_port_txt'] = 'Portas TCP abertas'; $wb['udp_port_txt'] = 'Portas UDP abertas'; $wb['add_new_record_txt'] = 'Adicionar nova regra'; -?> diff --git a/interface/web/admin/lib/lang/br_groups.lng b/interface/web/admin/lib/lang/br_groups.lng index 22a1a5c63dda5fd91fdd9435c0c4ab51b447678f..4cad10699123207ee68848a696ef7fe78e250f47 100644 --- a/interface/web/admin/lib/lang/br_groups.lng +++ b/interface/web/admin/lib/lang/br_groups.lng @@ -2,4 +2,3 @@ $wb['description_txt'] = 'Descrição'; $wb['name_txt'] = 'Grupo'; $wb['name_err'] = 'O grupo deve conter no mínimo 1 e no máximo 30 caracteres.'; -?> diff --git a/interface/web/admin/lib/lang/br_groups_list.lng b/interface/web/admin/lib/lang/br_groups_list.lng index 74a414f52d54be8206805124d1ebbae0cf54537f..9d256d5dff75874c12b2d1176610c60e51edbf48 100644 --- a/interface/web/admin/lib/lang/br_groups_list.lng +++ b/interface/web/admin/lib/lang/br_groups_list.lng @@ -3,5 +3,4 @@ $wb['list_head_txt'] = 'Grupos'; $wb['description_txt'] = 'Descrição'; $wb['name_txt'] = 'Grupo'; $wb['add_new_record_txt'] = 'Adicionar novo grupo'; -$wb['warning_txt'] = 'ALERTA: Não editar ou alterar qualquer configuração de usuário aqui. Use o módulo de clientes e revendas para isso. Editar ou alterar usuários ou grupos aqui pode causar perda de dados!'; -?> +$wb['warning_txt'] = 'ALERTA: Não editar ou modificar qualquer configuração de usuário aqui. Use o módulo de clientes e revendas para isso. Editar ou modificar usuários ou grupos aqui pode causar perda de dados!'; diff --git a/interface/web/admin/lib/lang/br_iptables.lng b/interface/web/admin/lib/lang/br_iptables.lng index f899d53178891b5e0c96685bbd6c1890b247accf..839c060996d924073416c46ac68504f585f35ba5 100644 --- a/interface/web/admin/lib/lang/br_iptables.lng +++ b/interface/web/admin/lib/lang/br_iptables.lng @@ -1,6 +1,6 @@ +$wb['iptables_error_unique'] = 'Já existe uma regra de Firewall idêntica para este servidor.'; diff --git a/interface/web/admin/lib/lang/br_iptables_list.lng b/interface/web/admin/lib/lang/br_iptables_list.lng index 3326ac060aa85f4cb29484fe0337bfcefa872aa3..68edbe360249a6efd48df1182cf1c488385f1ed1 100644 --- a/interface/web/admin/lib/lang/br_iptables_list.lng +++ b/interface/web/admin/lib/lang/br_iptables_list.lng @@ -1,6 +1,6 @@ diff --git a/interface/web/admin/lib/lang/br_language_add.lng b/interface/web/admin/lib/lang/br_language_add.lng index dbffcc8425acc8ad459d08b193d7e8e05d8e1062..11af4161709450e4b55d957518921c83f3232ace 100644 --- a/interface/web/admin/lib/lang/br_language_add.lng +++ b/interface/web/admin/lib/lang/br_language_add.lng @@ -5,4 +5,3 @@ $wb['language_new_txt'] = 'Novo idioma'; $wb['language_new_hint_txt'] = '2 caracteres ISO 639-1 para o código do idioma (veja em https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)'; $wb['btn_save_txt'] = 'Adicionar novo conjunto de idiomas'; $wb['btn_cancel_txt'] = 'Voltar'; -?> diff --git a/interface/web/admin/lib/lang/br_language_complete.lng b/interface/web/admin/lib/lang/br_language_complete.lng index cb0ea2eb241110c83d7d0630f5c5166c137d3db1..a2d203fcd1431e964c254c8d5129b5dd597cd6ca 100644 --- a/interface/web/admin/lib/lang/br_language_complete.lng +++ b/interface/web/admin/lib/lang/br_language_complete.lng @@ -4,4 +4,3 @@ $wb['list_desc_txt'] = 'Mesclar o arquivo de idioma selecionado com o arquivo de $wb['language_select_txt'] = 'Selecionar idioma'; $wb['btn_save_txt'] = 'Mesclar arquivos agora'; $wb['btn_cancel_txt'] = 'Voltar'; -?> diff --git a/interface/web/admin/lib/lang/br_language_edit.lng b/interface/web/admin/lib/lang/br_language_edit.lng index ed0e6bb84d57124d82ebd3cee9a2a62e1acb4762..f99c6a2690500de7b2204e8929e43e0f2d648db4 100644 --- a/interface/web/admin/lib/lang/br_language_edit.lng +++ b/interface/web/admin/lib/lang/br_language_edit.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Módulo'; $wb['lang_file_txt'] = 'Arquivo de idioma'; $wb['btn_save_txt'] = 'Salvar'; $wb['btn_cancel_txt'] = 'Voltar'; -?> diff --git a/interface/web/admin/lib/lang/br_language_export.lng b/interface/web/admin/lib/lang/br_language_export.lng index 7d75f7b6dd90483fd3db5ccfddb4befd9953b58f..f7478233c385fbf640338bd8af6f7521d3138374 100644 --- a/interface/web/admin/lib/lang/br_language_export.lng +++ b/interface/web/admin/lib/lang/br_language_export.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Exportar arquivos de idioma'; $wb['language_select_txt'] = 'Selecionar idioma'; $wb['btn_save_txt'] = 'Exportar arquivo de idioma selecionado'; $wb['btn_cancel_txt'] = 'Voltar'; -?> diff --git a/interface/web/admin/lib/lang/br_language_import.lng b/interface/web/admin/lib/lang/br_language_import.lng index 99db3398125213340740f71d3a97dd7020c6bd8e..236ffc4f50adde269dcacba38cfdc8863ae88f66 100644 --- a/interface/web/admin/lib/lang/br_language_import.lng +++ b/interface/web/admin/lib/lang/br_language_import.lng @@ -6,4 +6,3 @@ $wb['btn_save_txt'] = 'Importar arquivo de idioma selecionado'; $wb['language_overwrite_txt'] = 'Sobrescrever arquivo, se existir.'; $wb['btn_cancel_txt'] = 'Voltar'; $wb['ignore_version_txt'] = 'Ignorar verificação da versão do ISPConfig'; -?> diff --git a/interface/web/admin/lib/lang/br_language_list.lng b/interface/web/admin/lib/lang/br_language_list.lng index 37941c4472d18eda4e1ce419a55e81e6d63ae0e5..977dbdba8d7deae163efc247e310706bcdbcd1d2 100644 --- a/interface/web/admin/lib/lang/br_language_list.lng +++ b/interface/web/admin/lib/lang/br_language_list.lng @@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Selecionar idioma'; $wb['module_txt'] = 'Módulo'; $wb['lang_file_txt'] = 'Arquivo de idioma'; $wb['lang_file_date_txt'] = 'Última modificação'; -?> diff --git a/interface/web/admin/lib/lang/br_package_install.lng b/interface/web/admin/lib/lang/br_package_install.lng index bbe518549aed1e40a5cf8395cbf2110b21508a9e..d1677d2f49b0a7037f465049c9554bb156192f3e 100644 --- a/interface/web/admin/lib/lang/br_package_install.lng +++ b/interface/web/admin/lib/lang/br_package_install.lng @@ -4,4 +4,3 @@ $wb['repo_url_txt'] = 'URL'; $wb['repo_username_txt'] = 'Usário (opcional)'; $wb['repo_password_txt'] = 'Senha (opcional)'; $wb['active_txt'] = 'Ativo'; -?> diff --git a/interface/web/admin/lib/lang/br_remote_action.lng b/interface/web/admin/lib/lang/br_remote_action.lng index fa66af6168e150d7501759865a56900c8175327b..84e928dbd9134cf4482133657f611378d8373a4e 100644 --- a/interface/web/admin/lib/lang/br_remote_action.lng +++ b/interface/web/admin/lib/lang/br_remote_action.lng @@ -2,11 +2,10 @@ $wb['select_server_txt'] = 'Selecionar servidor'; $wb['btn_do_txt'] = 'Executar ação'; $wb['do_osupdate_caption'] = 'Atualizar sistema operacional no servidor remoto'; -$wb['do_osupdate_desc'] = 'Esta ação fará o comando \'aptitude -y upgrade\' no servidor selecionado.

UTILIZE POR SUA CONTA E RISCO!'; +$wb['do_osupdate_desc'] = 'Esta ação fará o comando \'apt -y upgrade\' no servidor selecionado.

UTILIZE POR SUA CONTA E RISCO!'; $wb['do_ispcupdate_caption'] = 'Atualizar ISPConfig 3 - Atualizar o servidor remoto'; $wb['do_ispcupdate_desc'] = 'Esta ação atualizará o ISPConfig3 no servidor selecionado.

UTILIZE POR SUA CONTA E RISCO!'; $wb['action_scheduled'] = 'A ação foi agendada.'; $wb['select_all_server'] = 'Todos os servidores'; $wb['ispconfig_update_title'] = 'Instruções de atualização do ISPConfig'; $wb['ispconfig_update_text'] = 'Acesse com o usuário root no shell do servidor e execute o comando

ispconfig_update.sh

para iniciar a atualização do ISPConfig.

Clique aqui para instruções detalhadas'; -?> diff --git a/interface/web/admin/lib/lang/br_remote_user.lng b/interface/web/admin/lib/lang/br_remote_user.lng index 520b95e18f4caf7fe7609586b22452416d15eaf4..86002f5146c0a9f2144ce1f22edb570b142501c3 100644 --- a/interface/web/admin/lib/lang/br_remote_user.lng +++ b/interface/web/admin/lib/lang/br_remote_user.lng @@ -1,70 +1,72 @@ qualquer um)'; +$wb['remote_ips_txt'] = 'Endereços IPs ou nome(s) do(s) host(s) para acesso remoto (separado por vírgula e deixar vazio para qualquer um)'; $wb['remote_user_error_ips'] = 'Ao menos um endereço IP ou nome do host informado é inválido.'; -?> +$wb['DNS caa functions'] = 'Funções de registro DNS CAA'; +$wb['DNS dname functions'] = 'Funções de registro DNS DNAME'; +$wb['DNS sshfp functions'] = 'Funções de registro DNS SSHFP'; diff --git a/interface/web/admin/lib/lang/br_remote_user_list.lng b/interface/web/admin/lib/lang/br_remote_user_list.lng index 0f0381a6f4a87b81abc7b6672669a835c5ea79d7..9ef8c2f57073f5b9ca075c1ddbe52e4b12a7c491 100644 --- a/interface/web/admin/lib/lang/br_remote_user_list.lng +++ b/interface/web/admin/lib/lang/br_remote_user_list.lng @@ -4,4 +4,3 @@ $wb['list_desc_txt'] = 'Usuário remoto'; $wb['add_new_record_txt'] = 'Adicionar novo usuário'; $wb['parent_remote_userid_txt'] = 'ID do usuário'; $wb['username_txt'] = 'Nome'; -?> diff --git a/interface/web/admin/lib/lang/br_server.lng b/interface/web/admin/lib/lang/br_server.lng index a896d0b49ae377aad39c6737e51ebca246aaf1ff..20a2eddbb61dd23cbc3ae41749ea19d833ba2638 100644 --- a/interface/web/admin/lib/lang/br_server.lng +++ b/interface/web/admin/lib/lang/br_server.lng @@ -1,16 +1,15 @@ +$wb['xmpp_server_txt'] = 'Servidor XMPP'; diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng index a598861731fa59ec4962ad2463909bbf591827d8..ac551c588cd5917247c1bce3b1eb3a4991d0affc 100644 --- a/interface/web/admin/lib/lang/br_server_config.lng +++ b/interface/web/admin/lib/lang/br_server_config.lng @@ -1,8 +1,8 @@ Informação: Se o serviço mysql for desligado e estiver selecionado "Desabilitar monitoramento do mysql" aguarde entre 2 e 3 minutos sem abandonar a aba.
Se não aguardar o sistema de recuperação de falhas tentará reiniciar o mysql!'; +$wb['backup_dir_error_empty'] = 'Diretório de backup está vazio.'; +$wb['maildir_path_error_empty'] = 'Caminho do Maildir está vazio.'; +$wb['homedir_path_error_empty'] = 'Caminho do Homedir está vazio.'; +$wb['mailuser_uid_error_empty'] = 'UID do Mailuser UID está vazio.'; +$wb['mailuser_gid_error_empty'] = 'GID do Mailuser GID está vazio.'; +$wb['mailuser_name_error_empty'] = 'Usuário do Mailuser está vazio.'; +$wb['mailuser_group_error_empty'] = 'Grupo do Mailuser Group está vazio.'; +$wb['getmail_config_dir_error_empty'] = 'Diretório de configurações do Getmail está vazio.'; +$wb['website_basedir_error_empty'] = 'Diretório basedir de sites está vazio.'; +$wb['website_path_error_empty'] = 'Caminho do site está vazio.'; +$wb['website_symlinks_error_empty'] = 'Links simbólicos de site está vazio.'; +$wb['vhost_conf_dir_error_empty'] = 'Diretório de configurações do vhost está vazio.'; +$wb['vhost_conf_enabled_dir_error_empty'] = 'Diretório de configurações vhost habilitadas está vazio.'; +$wb['nginx_vhost_conf_dir_error_empty'] = 'Diretório de configurações vhost nginx está vazio.'; +$wb['nginx_vhost_conf_enabled_dir_error_empty'] = 'Diretório de configurações vhost nginx habilitadas está vazio.'; +$wb['apache_user_error_empty'] = 'Usuário do Apache está vazio.'; +$wb['apache_group_error_empty'] = 'Grupo do Apache está vazio.'; +$wb['nginx_user_error_empty'] = 'Usuário do nginx está vazio.'; +$wb['nginx_group_error_empty'] = 'Grupo do nginx está vazio.'; +$wb['php_ini_path_apache_error_empty'] = 'Caminho PHP.ini Apache está vazio.'; +$wb['php_ini_path_cgi_error_empty'] = 'Caminho PHP.ini CGI está vazio.'; +$wb['nginx_cgi_socket_empty'] = 'O socket CGI nginx está vazio.'; +$wb['apps_vhost_port_error_empty'] = 'Portas de apps-vhost está vazio.'; +$wb['apps_vhost_ip_error_empty'] = 'IP do apps-vhost está vazio.'; +$wb['fastcgi_starter_path_error_empty'] = 'Caminho do script de inicialização FastCGI está vazio.'; +$wb['fastcgi_starter_script_error_empty'] = 'Script de inicialização FastCGI está vazio.'; +$wb['fastcgi_alias_error_empty'] = 'Alias FastCGI está vazio.'; +$wb['fastcgi_phpini_path_error_empty'] = 'O caminho PHP.ini FastCGI está vazio.'; +$wb['fastcgi_children_error_empty'] = 'Os processos filhos FastCGI está vazio.'; +$wb['fastcgi_max_requests_error_empty'] = 'O limite de requisições FastCGI está vazio.'; +$wb['fastcgi_bin_error_empty'] = 'O binário FastCGI está vazio.'; +$wb['jailkit_chroot_home_error_empty'] = 'O home em chroot Jailkit está vazio.'; +$wb['jailkit_chroot_app_sections_error_empty'] = 'Seções de aplicações chroot Jailkit está vazio.'; +$wb['jailkit_chroot_app_programs_error_empty'] = 'Aplicações chroot Jailkit está vazio.'; +$wb['jailkit_chroot_cron_programs_error_empty'] = 'Tarefas de aplicações chroot Jailkit está vazio.'; +$wb['vlogger_config_dir_error_empty'] = 'Diretório de configuração está vazio.'; +$wb['cron_init_script_error_empty'] = 'Script de inicialização do cron está vazio.'; +$wb['crontab_dir_error_empty'] = 'Caminho para tarefas individuais no Cron está vazio.'; +$wb['cron_wget_error_empty'] = 'Caminho do binário wget está vazio.'; +$wb['php_fpm_init_script_txt'] = 'Script de inicialização PHP-FPM'; +$wb['php_fpm_init_script_error_empty'] = 'Script de inicialização PHP-FPM está vazio.'; +$wb['php_fpm_ini_path_txt'] = 'Caminho PHP.ini PHP-FPM'; +$wb['php_fpm_ini_path_error_empty'] = 'Caminho PHP.ini PHP-FPM está vazio.'; +$wb['php_fpm_pool_dir_txt'] = 'Diretório da pool PHP-FPM'; +$wb['php_fpm_pool_dir_error_empty'] = 'Diretório da pool PHP-FPM está vazio.'; +$wb['php_fpm_start_port_txt'] = 'Porta PHP-FPM'; +$wb['php_fpm_start_port_error_empty'] = 'Porta PHP-FPM está vazio.'; +$wb['php_fpm_socket_dir_txt'] = 'Diretório do socket PHP-FPM'; +$wb['php_fpm_socket_dir_error_empty'] = 'O diretório do socket PHP-FPM está vazio.'; +$wb['try_rescue_txt'] = 'Habilitar monitoramento e reiniciar em caso de falha'; +$wb['do_not_try_rescue_httpd_txt'] = 'Desabilitar monitoramento do HTTPD'; +$wb['do_not_try_rescue_mongodb_txt'] = 'Desabilitar monitoramento do MongoDB'; +$wb['do_not_try_rescue_mysql_txt'] = 'Desabilitar monitoramento do MySQL'; +$wb['do_not_try_rescue_mail_txt'] = 'Desabilitar monitoramento do servidor de emails'; +$wb['rescue_description_txt'] = 'Informação: Se o serviço MySQL for desligado e estiver selecionado "Desabilitar monitoramento do MySQL" aguarde entre 2 e 3 minutos sem abandonar a aba.
Se não aguardar o sistema de recuperação de falhas tentará reiniciar o MySQL!'; $wb['enable_sni_txt'] = 'Habilitar SNI'; $wb['set_folder_permissions_on_update_txt'] = 'Configurar permissões de pasta quando atualizar'; -$wb['add_web_users_to_sshusers_group_txt'] = 'Adicionar novos usuários web para o grupo ssh'; +$wb['add_web_users_to_sshusers_group_txt'] = 'Adicionar novos usuários Web para o grupo SSH'; $wb['connect_userid_to_webid_txt'] = 'Conectar o UID do usuário no sistema para webID'; $wb['connect_userid_to_webid_start_txt'] = 'Conexão do ID inicial do usuário com o webID'; $wb['realtime_blackhole_list_txt'] = 'Lista RBL em tempo real'; $wb['realtime_blackhole_list_note_txt'] = '(separar as RBLs com vírgulas)'; -$wb['stress_adaptive_txt'] = 'Adapt to temporary load spikes'; -$wb['tooltip_stress_adaptive_txt'] = 'Enables Postfix stress-adaptive behavior.'; +$wb['stress_adaptive_txt'] = 'Adaptar-se a picos de carga temporários'; +$wb['tooltip_stress_adaptive_txt'] = 'Ativa o comportamento adaptativo ao estresse do Postfix.'; $wb['ssl_settings_txt'] = 'Configurações SSL'; $wb['permissions_txt'] = 'Permissões'; -$wb['php_settings_txt'] = 'Configurações php'; +$wb['php_settings_txt'] = 'Configurações PHP'; $wb['apps_vhost_settings_txt'] = 'Configurações de apps vhost'; -$wb['awstats_settings_txt'] = 'Configurações do awstats'; +$wb['awstats_settings_txt'] = 'Configurações do AWStats'; $wb['firewall_txt'] = 'Firewall'; -$wb['mailbox_quota_stats_txt'] = 'Estatísticas das cotas das contas de e-mail'; -$wb['enable_ip_wildcard_txt'] = 'Habilitar curingas de IP (*)'; -$wb['web_folder_protection_txt'] = 'Tornar pastas web imutáveis (atributos estendidos)'; +$wb['mailbox_quota_stats_txt'] = 'Estatísticas das cotas para contas de email'; +$wb['enable_ip_wildcard_txt'] = 'Habilitar curingas IP (*)'; +$wb['web_folder_protection_txt'] = 'Tornar pastas Web imutáveis (atributos estendidos)'; $wb['overtraffic_notify_admin_txt'] = 'Enviar notificação de tráfego excedido para o administrador'; $wb['overtraffic_notify_client_txt'] = 'Enviar notificação de tráfego excedido para o cliente'; -$wb['rbl_error_regex'] = 'Por favor, nomes de host válidos para RBLs.'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; +$wb['rbl_error_regex'] = 'Por favor, insira nomes de host válidos para RBLs.'; $wb['overquota_notify_admin_txt'] = 'Enviar alerta da cota para o administrador'; $wb['overquota_notify_client_txt'] = 'Enviar alerta da cota para o cliente'; $wb['overquota_notify_onok_txt'] = 'Enviar mensagem da cota para o cliente'; -$wb['overquota_notify_freq_txt'] = 'Enviar alerta da cota a cada X dias'; +$wb['overquota_notify_freq_txt'] = 'Enviar alerta da cota a cada N dias'; $wb['overquota_notify_freq_note_txt'] = '0 = enviar mensagem apenas uma vez, sem repetir'; -$wb['admin_notify_events_txt'] = 'Enviar e-mail para o administrador iniciando com o seguinte nível'; +$wb['admin_notify_events_txt'] = 'Enviar email para o administrador iniciando com o seguinte nível:'; $wb['no_notifications_txt'] = 'Sem notificações'; -$wb['monit_url_txt'] = 'URL de monitoramento do monit'; -$wb['monit_user_txt'] = 'Usuário do monit'; -$wb['monit_password_txt'] = 'Senha do monit'; -$wb['monit_url_error_regex'] = 'URL do monit é inválida'; +$wb['monit_url_txt'] = 'URL de monitoramento do Monit'; +$wb['monit_user_txt'] = 'Usuário do Monit'; +$wb['monit_password_txt'] = 'Senha do Monit'; +$wb['monit_url_error_regex'] = 'URL do Monit inválida'; $wb['monit_url_note_txt'] = 'Área reservada:'; -$wb['munin_url_txt'] = 'URL do munin'; -$wb['munin_user_txt'] = 'Usuário do munin'; -$wb['munin_password_txt'] = 'Senda do munin'; -$wb['munin_url_error_regex'] = 'URL do munin e inválida'; +$wb['munin_url_txt'] = 'URL do Munin'; +$wb['munin_user_txt'] = 'Usuário do Munin'; +$wb['munin_password_txt'] = 'Senha do Munin'; +$wb['munin_url_error_regex'] = 'URL do Munin inválida'; $wb['munin_url_note_txt'] = 'Área reservada:'; $wb['v6_prefix_txt'] = 'Prefixo IPv6'; $wb['vhost_rewrite_v6_txt'] = 'Reescrever IPv6 no espelho'; @@ -222,107 +223,114 @@ $wb['v6_prefix_length'] = 'O prefixo é muito longo de acordo com as definiçõe $wb['backup_dir_is_mount_txt'] = 'O diretório de backup está montando?'; $wb['backup_dir_mount_cmd_txt'] = 'Comando mount, se o diretório não está montado'; $wb['backup_delete_txt'] = 'Remover backups de domínios/site'; -$wb['overquota_db_notify_admin_txt'] = 'Enviar alerta da cota do banco de dados para o administrador'; -$wb['overquota_db_notify_client_txt'] = 'Enviar alerta da cota do banco de dados para o cliente'; +$wb['overquota_db_notify_admin_txt'] = 'Enviar alerta da cota do Banco de Dados para o administrador'; +$wb['overquota_db_notify_client_txt'] = 'Enviar alerta da cota do Banco de Dados para o cliente'; $wb['monitor_system_updates_txt'] = 'Verificar por atualizações do sistema'; -$wb['php_handler_txt'] = 'Manipulador padrão do php'; -$wb['php_fpm_default_chroot_txt'] = 'Default chrooted PHP-FPM'; -$wb['php_fpm_incron_reload_txt'] = 'Instale o arquivo de disparo do incron para recarregar o php-fpm.'; +$wb['php_handler_txt'] = 'Manipulador padrão PHP'; +$wb['php_fpm_default_chroot_txt'] = 'Definir PHP-FPM em chroot'; +$wb['php_fpm_incron_reload_txt'] = 'Instale o arquivo de disparo do incron para recarregar o PHP-FPM.'; $wb['disabled_txt'] = 'Desabilitado'; $wb['dkim_strength_txt'] = 'Dificuldade do DKIM'; -$wb['monitor_system_updates_txt'] = 'Verificar por atualizações do sistema'; -$wb['invalid_apache_user_txt'] = 'Usuário do apache é inválido.'; -$wb['invalid_apache_group_txt'] = 'Grupo do apache é inválido.'; -$wb['backup_dir_error_regex'] = 'Diretório de backup é inválido.'; -$wb['maildir_path_error_regex'] = 'Caminho do maildir é inválido.'; -$wb['homedir_path_error_regex'] = 'Caminho do homedir é inválido.'; -$wb['mailuser_name_error_regex'] = 'Caminho do mailuser é inválido.'; -$wb['mailuser_group_name_error_regex'] = 'Grupo do mailuser é inválido.'; -$wb['mailuser_uid_error_range'] = 'A UID do mailuser deve ser >= 2000.'; -$wb['mailuser_gid_error_range'] = 'A GID do mailuser deve ser >= 2000.'; -$wb['getmail_config_dir_error_regex'] = 'Diretório de configurações do getmail é inválido.'; -$wb['website_basedir_error_regex'] = 'Caminho do basedir para sites é inválido. Comprimento mínimo 5 caracteres.'; -$wb['website_symlinks_error_regex'] = 'Links simbólicos para site são inválidos.'; -$wb['vhost_conf_dir_error_regex'] = 'Diretório de configurações vhost é inválido.'; -$wb['vhost_conf_enabled_dir_error_regex'] = 'Diretório de configuração vhost habilitado é inválido.'; -$wb['nginx_vhost_conf_dir_error_regex'] = 'Diretório de configurações do nginx é inválido.'; -$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Diretório de configurações do nginx habilitado é inválido.'; -$wb['ca_path_error_regex'] = 'Caminho da CA é inválido.'; -$wb['invalid_nginx_user_txt'] = 'Usuário do nginx é inválido.'; -$wb['invalid_nginx_group_txt'] = 'Grupo do nginx é inválido.'; -$wb['php_ini_path_apache_error_regex'] = 'Caminho do php.ini do apache é inválido.'; -$wb['php_ini_path_cgi_error_regex'] = 'Caminho do php.ini do cgi é inválido.'; -$wb['php_fpm_init_script_error_regex'] = 'Script de inicialização do php-fpm é inválido.'; -$wb['php_fpm_ini_path_error_regex'] = 'Caminho de inicialização do php-fpm é inválido.'; -$wb['php_fpm_pool_dir_error_regex'] = 'Caminho do diretório de faixas do php-fpm é inválido.'; -$wb['php_fpm_socket_dir_error_regex'] = 'Caminho do diretório de socket do php-fpm é inválido.'; -$wb['php_open_basedir_error_regex'] = 'Caminho do open_basedir do php é inválido.'; -$wb['awstats_data_dir_empty'] = 'O diretório de dados do awstats está em branco.'; -$wb['awstats_data_dir_error_regex'] = 'O diretório de dados do awstats é inválido.'; -$wb['awstats_pl_empty'] = 'A configuração do awstats.pl está em branco.'; -$wb['awstats_pl_error_regex'] = 'O caminho do awstats.pl é inválido.'; -$wb['awstats_buildstaticpages_pl_empty'] = 'O awstats_buildstaticpages.pl está em branco'; -$wb['awstats_buildstaticpages_pl_error_regex'] = 'O caminho do awstats_buildstaticpages.pl é inválido.'; -$wb['invalid_bind_user_txt'] = 'O usuário do bind é inválido.'; -$wb['invalid_bind_group_txt'] = 'O grupo do bind é inválido.'; -$wb['bind_zonefiles_dir_error_regex'] = 'O diretório de zonas do bind é inválido.'; -$wb['named_conf_path_error_regex'] = 'O caminho do named.conf é inválido.'; -$wb['named_conf_local_path_error_regex'] = 'O caminho do named.conf.local é inválido.'; -$wb['fastcgi_starter_path_error_regex'] = 'O caminho do script de inicialização do fastcgi é inválido.'; -$wb['fastcgi_starter_script_error_regex'] = 'O script de inicialização do fastcgi é inválido.'; -$wb['fastcgi_alias_error_regex'] = 'O alias do fastcgi é inválido.'; -$wb['fastcgi_phpini_path_error_regex'] = 'O caminho do fastcgi é inválido.'; -$wb['fastcgi_bin_error_regex'] = 'O binário do fastcgi é inválido.'; -$wb['jailkit_chroot_home_error_regex'] = 'O diretório home em chroot do jailkit é inválido.'; -$wb['jailkit_chroot_app_sections_error_regex'] = 'As seções de aplicações no jaikit são inválidas.'; -$wb['jailkit_chroot_app_programs_error_regex'] = 'As aplicações em chroot no jailkit são inválidas.'; -$wb['jailkit_chroot_cron_programs_error_regex'] = 'As tarefas de aplicações em chroot no jailkit são inválidas.'; -$wb['vlogger_config_dir_error_regex'] = 'Diretório de configurações do vlogger é inválido.'; -$wb['cron_init_script_error_regex'] = 'Script de inicialização do cron é inválido.'; -$wb['crontab_dir_error_regex'] = 'Diretório do cron é inválido.'; -$wb['cron_wget_error_regex'] = 'Caminho do wget no cron é inválido.'; +$wb['invalid_apache_user_txt'] = 'Usuário do Apache inválido.'; +$wb['invalid_apache_group_txt'] = 'Grupo do Apache inválido.'; +$wb['backup_dir_error_regex'] = 'Diretório de backup inválido.'; +$wb['maildir_path_error_regex'] = 'Caminho do Maildir inválido.'; +$wb['homedir_path_error_regex'] = 'Caminho do Homedir inválido.'; +$wb['mailuser_name_error_regex'] = 'Caminho do Mailuser inválido.'; +$wb['mailuser_group_name_error_regex'] = 'Grupo do Mailuser inválido.'; +$wb['mailuser_uid_error_range'] = 'A UID do Mailuser deve ser >= 2000.'; +$wb['mailuser_gid_error_range'] = 'A GID do Mailuser deve ser >= 2000.'; +$wb['getmail_config_dir_error_regex'] = 'Diretório de configurações do Getmail inválido.'; +$wb['website_basedir_error_regex'] = 'Caminho do basedir para sites inválido. Comprimento mínimo 5 caracteres.'; +$wb['website_symlinks_error_regex'] = 'Links simbólicos para site inválidos.'; +$wb['vhost_conf_dir_error_regex'] = 'Diretório de configurações vhost inválido.'; +$wb['vhost_conf_enabled_dir_error_regex'] = 'Diretório de configuração vhost habilitado inválido.'; +$wb['nginx_vhost_conf_dir_error_regex'] = 'Diretório de configurações do nginx inválido.'; +$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Diretório de configurações do nginx habilitado inválido.'; +$wb['ca_path_error_regex'] = 'Caminho da CA inválido.'; +$wb['invalid_nginx_user_txt'] = 'Usuário do nginx inválido.'; +$wb['invalid_nginx_group_txt'] = 'Grupo do nginx inválido.'; +$wb['php_ini_path_apache_error_regex'] = 'Caminho PHP.ini Apache inválido.'; +$wb['php_ini_path_cgi_error_regex'] = 'Caminho PHP.ini CGI inválido.'; +$wb['php_fpm_init_script_error_regex'] = 'Script de inicialização PHP-FPM inválido.'; +$wb['php_fpm_ini_path_error_regex'] = 'Caminho de inicialização PHP-FPM inválido.'; +$wb['php_fpm_pool_dir_error_regex'] = 'Caminho do diretório de pools PHP-FPM inválido.'; +$wb['php_fpm_socket_dir_error_regex'] = 'Caminho do diretório de socket PHP-FPM inválido.'; +$wb['php_open_basedir_error_regex'] = 'Caminho do open_basedir PHP inválido.'; +$wb['awstats_data_dir_empty'] = 'Diretório de dados do AWStats está vazio.'; +$wb['awstats_data_dir_error_regex'] = 'Diretório de dados do AWStats inválido.'; +$wb['awstats_pl_empty'] = 'A configuração do awstats.pl está vazia.'; +$wb['awstats_pl_error_regex'] = 'Caminho do awstats.pl inválido.'; +$wb['awstats_buildstaticpages_pl_empty'] = 'O awstats_buildstaticpages.pl está vazio'; +$wb['awstats_buildstaticpages_pl_error_regex'] = 'Caminho do awstats_buildstaticpages.pl inválido.'; +$wb['invalid_bind_user_txt'] = 'Usuário Bind inválido.'; +$wb['invalid_bind_group_txt'] = 'Grupo Bind inválido.'; +$wb['bind_zonefiles_dir_error_regex'] = 'Diretório de zonas do Bind inválido.'; +$wb['named_conf_path_error_regex'] = 'Caminho do named.conf inválido.'; +$wb['named_conf_local_path_error_regex'] = 'Caminho do named.conf.local inválido.'; +$wb['fastcgi_starter_path_error_regex'] = 'Caminho do script de inicialização FastCGI inválido.'; +$wb['fastcgi_starter_script_error_regex'] = 'Script de inicialização FastCGI inválido.'; +$wb['fastcgi_alias_error_regex'] = 'Alias FastCGI inválido.'; +$wb['fastcgi_phpini_path_error_regex'] = 'Caminho do fastcgi inválido.'; +$wb['fastcgi_bin_error_regex'] = 'Binário do fastcgi inválido.'; +$wb['jailkit_chroot_home_error_regex'] = 'Diretório home em chroot Jailkit inválido.'; +$wb['jailkit_chroot_app_sections_error_regex'] = 'Seções de aplicações em chroot Jailkit inválidas.'; +$wb['jailkit_chroot_app_programs_error_regex'] = 'Aplicações em chroot Jailkit inválidas.'; +$wb['jailkit_chroot_cron_programs_error_regex'] = 'Tarefas de aplicações em chroot Jailkit inválidas.'; +$wb['vlogger_config_dir_error_regex'] = 'Diretório de configurações do vlogger inválido.'; +$wb['cron_init_script_error_regex'] = 'Script de inicialização do cron inválido.'; +$wb['crontab_dir_error_regex'] = 'Diretório do cron inválido.'; +$wb['cron_wget_error_regex'] = 'Caminho do wget no Cron inválido.'; $wb['network_filesystem_txt'] = 'Sistema de arquivos de rede'; -$wb['php_ini_check_minutes_txt'] = 'Verificar alterações no php.ini a cada X minutos'; -$wb['php_ini_check_minutes_error_empty'] = 'Por favor, insira um valor para verificação de alterações no php.ini.'; +$wb['php_ini_check_minutes_txt'] = 'Verificar modificações no php.ini a cada N minutos'; +$wb['php_ini_check_minutes_error_empty'] = 'Por favor, insira um valor para verificação de modificações no php.ini.'; $wb['php_ini_check_minutes_info_txt'] = '0 = sem verificações'; -$wb['web_settings_txt'] = 'Servidor web'; -$wb['xmpp_server_txt'] = 'Servidor xmpp'; +$wb['web_settings_txt'] = 'Servidor Web'; +$wb['xmpp_server_txt'] = 'Servidor XMPP'; $wb['xmpp_use_ipv6_txt'] = 'Usar IPv6'; $wb['xmpp_bosh_max_inactivity_txt'] = 'Tempo de inatividade do BOSH'; -$wb['xmpp_bosh_timeout_range_wrong'] = 'Por favor, insira um valor para o timeout do bosh entre 15 e 360.'; +$wb['xmpp_bosh_timeout_range_wrong'] = 'Por favor, insira um valor para o tempo de inatividade do BOSH, entre 15 e 360.'; $wb['xmpp_module_saslauth'] = 'Autenticação SASL'; $wb['xmpp_server_admins_txt'] = 'Administradores do servidor (JIDs)'; $wb['xmpp_modules_enabled_txt'] = 'Plugins habilitados no servidor (um por linha)'; $wb['xmpp_ports_txt'] = 'Portas dos componentes'; -$wb['xmpp_port_http_txt'] = 'http'; -$wb['xmpp_port_https_txt'] = 'https'; +$wb['xmpp_port_http_txt'] = 'HTTP'; +$wb['xmpp_port_https_txt'] = 'HTTPS'; $wb['xmpp_port_pastebin_txt'] = 'Pastebin'; $wb['xmpp_port_bosh_txt'] = 'BOSH'; -$wb['disable_bind_log_txt'] = 'Desabilitar mensagens de alerta do bind9'; +$wb['disable_bind_log_txt'] = 'Desabilitar mensagens de alerta do Bind9'; $wb['apps_vhost_enabled_txt'] = 'Habilitar apps-vhost'; -$wb['skip_le_check_txt'] = 'Ignorar verificação do Lets Encrypt'; +$wb['skip_le_check_txt'] = 'Ignorar verificação do Let\'s Encrypt'; $wb['migration_mode_txt'] = 'Modo migração de servidor'; $wb['nginx_enable_pagespeed_txt'] = 'Tornar pagespeed disponível'; $wb['logging_txt'] = 'Gravar logs de acesso e erros de sites'; $wb['logging_desc_txt'] = 'Usar Ferramentas > Sicronizar para aplicar mudanças em sites existentes. Para o Apache, os logs de acesso e erros podem ser anonimizados. Para o nginx, apenas o log de acesso é anonimizado, o log de erros conterá endereços IP.'; $wb['log_retention_txt'] = 'Tempo de retenção do log (dias)'; $wb['log_retention_error_ispositive'] = 'O tempo de retenção do log deve ser um número > 0.'; -$wb['php_default_hide_txt'] = 'Hide Default PHP-Version in selectbox'; -$wb['php_default_name_txt'] = 'Descrição da versão padrão do php'; -$wb['php_default_name_error_empty'] = 'A descrição da versão padrão do php está em branco.'; -$wb['error_mailbox_message_size_txt'] = 'O tamanho da cota da conta de e-mail deve ser maior ou igual o tamanho da cota de mensagens.'; -$wb['php_fpm_reload_mode_txt'] = 'Modo da recarga do php-fpm'; +$wb['php_default_hide_txt'] = 'Ocultar versão padrao PHP na caixa de seleção'; +$wb['php_default_name_txt'] = 'Descrição da versão padrão PHP'; +$wb['php_default_name_error_empty'] = 'A descrição da versão padrão PHP está vazia.'; +$wb['error_mailbox_message_size_txt'] = 'O tamanho da cota da conta de email deve ser maior ou igual o tamanho da cota de mensagens.'; +$wb['php_fpm_reload_mode_txt'] = 'Modo da recarga PHP-FPM'; $wb['content_filter_txt'] = 'Filtro de conteúdo'; -$wb['rspamd_url_txt'] = 'URL do rspamd'; -$wb['rspamd_user_txt'] = 'Usuário do rspamd'; -$wb['rspamd_password_txt'] = 'Senha do rspamd'; -$wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; -$wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; -$wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; -$wb['jailkit_chroot_authorized_keys_template_txt'] = 'Jailkit authorized_keys template'; -$wb['jailkit_chroot_authorized_keys_template_error_regex'] = 'Invalid jaikit chroot authorized_keys template file.'; -$wb['jailkit_hardlinks_txt'] = 'Hardlinks within Jailkit chroot'; -$wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves disk space.'; -$wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; -$wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; -$wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['rspamd_url_txt'] = 'URL do RSPAMD'; +$wb['rspamd_user_txt'] = 'Usuário RSPAMD'; +$wb['rspamd_password_txt'] = 'Senha RSPAMD'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; +$wb['vhost_proxy_protocol_enabled_txt'] = 'Habilitar protocolo PROXY'; +$wb['vhost_proxy_protocol_http_port_txt'] = 'Porta HTTP protocolo PROXY'; +$wb['vhost_proxy_protocol_https_port_txt'] = 'Porta HTTPS protocolo PROXY'; +$wb['jailkit_chroot_authorized_keys_template_txt'] = 'Gabarito authorized_keys Jailkit'; +$wb['jailkit_chroot_authorized_keys_template_error_regex'] = 'Arquivo do gabarito authorized_keys Jailkit inválido.'; +$wb['jailkit_hardlinks_txt'] = 'Links físicos (hardlinks) em chroot Jailkit'; +$wb['tooltip_jailkit_hardlinks_txt'] = 'Usar links físicos é inseguro, mas economiza espaço em disco.'; +$wb['jailkit_hardlinks_allow_txt'] = 'Permitir links físicos enjaulados'; +$wb['jailkit_hardlinks_no_txt'] = 'Não, remover arquivos de links físicos'; +$wb['jailkit_hardlinks_yes_txt'] = 'Sim, usar links físicos quando possível'; diff --git a/interface/web/admin/lib/lang/br_server_config_list.lng b/interface/web/admin/lib/lang/br_server_config_list.lng index b9329de9b43c76dafa0063a5774fcc173df880b1..ecb3ce1e0adb608ce33560346e5f5d255294c0ca 100644 --- a/interface/web/admin/lib/lang/br_server_config_list.lng +++ b/interface/web/admin/lib/lang/br_server_config_list.lng @@ -1,4 +1,3 @@ diff --git a/interface/web/admin/lib/lang/br_server_ip.lng b/interface/web/admin/lib/lang/br_server_ip.lng index 8380b61ebd4d2c1f7113f18ff426b6b0d7ecbaaa..135cf8ca6667347769d42b18aaf7e7823767a18d 100644 --- a/interface/web/admin/lib/lang/br_server_ip.lng +++ b/interface/web/admin/lib/lang/br_server_ip.lng @@ -1,13 +1,12 @@ +$wb['error_port_syntax'] = 'Caracteres inválidos para porta HTTP, por favor, insira apenas uma porta ou separe portas por vírgula. Exemplo: 80,443.'; diff --git a/interface/web/admin/lib/lang/br_server_ip_list.lng b/interface/web/admin/lib/lang/br_server_ip_list.lng index 0ae892af876a82f35308158569db43f0dab338f1..97edd7bc4d2e011fb0f4610756a748190c70a5cf 100644 --- a/interface/web/admin/lib/lang/br_server_ip_list.lng +++ b/interface/web/admin/lib/lang/br_server_ip_list.lng @@ -4,7 +4,6 @@ $wb['server_id_txt'] = 'Servidor'; $wb['client_id_txt'] = 'Cliente'; $wb['ip_address_txt'] = 'Endereço IP'; $wb['add_new_record_txt'] = 'Adicionar novo endereço IP'; -$wb['virtualhost_txt'] = 'Virtual host http'; -$wb['virtualhost_port_txt'] = 'Portas http'; +$wb['virtualhost_txt'] = 'Virtual host HTTP'; +$wb['virtualhost_port_txt'] = 'Portas HTTP'; $wb['ip_type_txt'] = 'Tipo'; -?> diff --git a/interface/web/admin/lib/lang/br_server_ip_map.lng b/interface/web/admin/lib/lang/br_server_ip_map.lng index 51af1099abed80be91981ef6bcbdefebc4834ba5..287ae957ad743b5490793521156e2ef974a5d725 100644 --- a/interface/web/admin/lib/lang/br_server_ip_map.lng +++ b/interface/web/admin/lib/lang/br_server_ip_map.lng @@ -1,14 +1,13 @@ +$wb['ip_mapping_error'] = 'Endereço IP de origem não pode ser o IP do servidor a ser reescrito '; diff --git a/interface/web/admin/lib/lang/br_server_ip_map_list.lng b/interface/web/admin/lib/lang/br_server_ip_map_list.lng index 8cb0a1e20fda3ca0355af4112acc20ae9f1297e9..044270fa2e751e589d22fa2de8e1304cb421d7b0 100644 --- a/interface/web/admin/lib/lang/br_server_ip_map_list.lng +++ b/interface/web/admin/lib/lang/br_server_ip_map_list.lng @@ -4,4 +4,3 @@ $wb['server_id_txt'] = 'Servidor'; $wb['source_ip_txt'] = 'Endereço de origem'; $wb['destination_ip_txt'] = 'Endereço de destino'; $wb['active_txt'] = 'Ativo'; -?> diff --git a/interface/web/admin/lib/lang/br_server_list.lng b/interface/web/admin/lib/lang/br_server_list.lng index ae3bb528105819fba1f2e301b7edfc6cda305799..1bd6c31563267595fe62df03621a459b6d94ec68 100644 --- a/interface/web/admin/lib/lang/br_server_list.lng +++ b/interface/web/admin/lib/lang/br_server_list.lng @@ -1,14 +1,13 @@ diff --git a/interface/web/admin/lib/lang/br_server_php.lng b/interface/web/admin/lib/lang/br_server_php.lng index 377763ce45c79b68b43b0f8e54eaadfcb2bd3c8f..d0a1015833f82dfd9c183a1928e02dacfd690e8c 100644 --- a/interface/web/admin/lib/lang/br_server_php.lng +++ b/interface/web/admin/lib/lang/br_server_php.lng @@ -1,17 +1,20 @@ diff --git a/interface/web/admin/lib/lang/br_server_php_list.lng b/interface/web/admin/lib/lang/br_server_php_list.lng index ce558e9054956dbf45100e6b2265cf9262cd087e..423f1237598ecb2ef0c54d666a8af3141bc1ca95 100644 --- a/interface/web/admin/lib/lang/br_server_php_list.lng +++ b/interface/web/admin/lib/lang/br_server_php_list.lng @@ -1,9 +1,8 @@ +$wb['usage_txt'] = 'Contador de utilização'; diff --git a/interface/web/admin/lib/lang/br_software_package.lng b/interface/web/admin/lib/lang/br_software_package.lng deleted file mode 100644 index 94ccc930de4d58a4827f7c48934e6a64e7031589..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_software_package_install.lng b/interface/web/admin/lib/lang/br_software_package_install.lng deleted file mode 100644 index 0fcccf939e11abe9d865e733ee70a903ecf82a9a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_software_package_list.lng b/interface/web/admin/lib/lang/br_software_package_list.lng deleted file mode 100644 index de62e3d305978b4856ed4e0c1af72feb0f13c1bb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_software_repo.lng b/interface/web/admin/lib/lang/br_software_repo.lng deleted file mode 100644 index dbc14e203210c50d1a1c0b32069b29aae045b217..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_software_repo_list.lng b/interface/web/admin/lib/lang/br_software_repo_list.lng deleted file mode 100644 index 6941c7f1470f06d93ed5c4b5a2436e8ec593356a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_software_update_list.lng b/interface/web/admin/lib/lang/br_software_update_list.lng deleted file mode 100644 index 0dff3a245c45d3cc985a0583f9da49dafd6545a2..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/br_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/br_system_config.lng b/interface/web/admin/lib/lang/br_system_config.lng index fba3b5a07ca72611ae032e611217ed57a44bf1c6..6cf3bf58bbb6ef0be3f8a84f780270eef09b8957 100644 --- a/interface/web/admin/lib/lang/br_system_config.lng +++ b/interface/web/admin/lib/lang/br_system_config.lng @@ -1,60 +1,62 @@ +$wb['web_php_options_txt'] = 'Manipulador PHP (Somente apache)'; +$wb['client_protection_txt'] = 'Proteção de Cliente'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; +$wb['monitor_key_txt'] = 'Senha do Monitor'; diff --git a/interface/web/admin/lib/lang/br_tpl_default_admin.lng b/interface/web/admin/lib/lang/br_tpl_default_admin.lng index dbad6b17668dcae270bd642a01f06dd5e91bf030..74daca0f3336c69b32087ab6e4f3631180d41727 100644 --- a/interface/web/admin/lib/lang/br_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/br_tpl_default_admin.lng @@ -3,16 +3,15 @@ $wb['tpl_default_admin_head_txt'] = 'Configurações globais do tema padrão'; $wb['tpl_default_admin_desc_txt'] = 'Descrição'; $wb['server_id_txt'] = 'Servidor'; $wb['client_id_txt'] = 'Cliente'; -$wb['name_txt'] = 'Nome da versão do php'; +$wb['name_txt'] = 'Nome da versão PHP'; $wb['Name'] = 'Nome'; $wb['FastCGI Settings'] = 'Configurações FastCGI'; $wb['PHP-FPM Settings'] = 'Configurações PHP-FPM'; -$wb['Additional PHP Versions'] = 'Versões adicionais do php'; -$wb['Form to edit additional PHP versions'] = 'Editar versões adicionais do php'; -$wb['server_php_name_error_empty'] = 'O nome está em branco.'; -$wb['php_fastcgi_binary_txt'] = 'Caminho do binário do FastCGI'; -$wb['php_fastcgi_ini_dir_txt'] = 'Caminho do diretório do php.ini'; -$wb['php_fpm_init_script_txt'] = 'Caminho do script de inicialização php-fpm'; -$wb['php_fpm_ini_dir_txt'] = 'Caminho do diretório do php.ini'; -$wb['php_fpm_pool_dir_txt'] = 'Caminho do diretório de faixas php-fpm'; -?> +$wb['Additional PHP Versions'] = 'Versões adicionais PHP'; +$wb['Form to edit additional PHP versions'] = 'Editar versões adicionais PHP'; +$wb['server_php_name_error_empty'] = 'O nome está vazio.'; +$wb['php_fastcgi_binary_txt'] = 'Caminho do binário FastCGI'; +$wb['php_fastcgi_ini_dir_txt'] = 'Caminho do diretório para php.ini'; +$wb['php_fpm_init_script_txt'] = 'Caminho do script de inicialização para PHP-FPM'; +$wb['php_fpm_ini_dir_txt'] = 'Caminho do diretório para php.ini'; +$wb['php_fpm_pool_dir_txt'] = 'Caminho do diretório para pool PHP-FPM'; diff --git a/interface/web/admin/lib/lang/br_users.lng b/interface/web/admin/lib/lang/br_users.lng index de664c674dad77d6ea0986b4f00e255f4404e894..2e60a744c0c0ed605b0bfed34cd159495d57d490 100644 --- a/interface/web/admin/lib/lang/br_users.lng +++ b/interface/web/admin/lib/lang/br_users.lng @@ -1,8 +1,8 @@ +$wb['startmodule_empty'] = 'O módulo inicial está vazio.'; +$wb['startmodule_regex'] = 'Caracteres inválidos no módulo inicial.'; +$wb['app_theme_empty'] = 'Tema está vazio.'; +$wb['app_theme_regex'] = 'Caracteres inválidos no tema.'; diff --git a/interface/web/admin/lib/lang/br_users_list.lng b/interface/web/admin/lib/lang/br_users_list.lng index 26910186c5ef5cbc6d521fa151c9f5a70c322057..c1258d0b07749efee6ee42dadac20f7a9c8db3d0 100644 --- a/interface/web/admin/lib/lang/br_users_list.lng +++ b/interface/web/admin/lib/lang/br_users_list.lng @@ -5,5 +5,4 @@ $wb['client_id_txt'] = 'ID do usuário'; $wb['active_txt'] = 'Ativo'; $wb['groups_txt'] = 'Grupos'; $wb['add_new_record_txt'] = 'Adicionar novo usuário'; -$wb['warning_txt'] = 'ALERTA: Não editar ou alterar qualquer configuração de usuário aqui. Use o módulo de clientes e revendas para isso. Editar ou alterar usuários ou grupos aqui pode causar perda de dados!'; -?> +$wb['warning_txt'] = 'ALERTA: Não editar ou modificar qualquer configuração de usuário aqui. Use o módulo de clientes e revendas para isso. Editar ou modificar usuários ou grupos aqui pode causar perda de dados!'; diff --git a/interface/web/admin/lib/lang/ca_remote_action.lng b/interface/web/admin/lib/lang/ca_remote_action.lng index cb7800aca6db155da59f335f2070c2a7bb64c43b..667f382fbbdbafeab52971e520bd57655a7f4487 100644 --- a/interface/web/admin/lib/lang/ca_remote_action.lng +++ b/interface/web/admin/lib/lang/ca_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a \'aptitude -y upgrade\' at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a \'apt -y upgrade\' at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/ca_server_config.lng b/interface/web/admin/lib/lang/ca_server_config.lng index e4e663e01adf3d8a8d80890e085ca0c84f84fae9..25ed761836cafb2f1216212c3582bfe3c6abcd29 100644 --- a/interface/web/admin/lib/lang/ca_server_config.lng +++ b/interface/web/admin/lib/lang/ca_server_config.lng @@ -194,6 +194,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/ca_server_php.lng b/interface/web/admin/lib/lang/ca_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/ca_server_php.lng +++ b/interface/web/admin/lib/lang/ca_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/ca_software_package.lng b/interface/web/admin/lib/lang/ca_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_software_package_install.lng b/interface/web/admin/lib/lang/ca_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_software_package_list.lng b/interface/web/admin/lib/lang/ca_software_package_list.lng deleted file mode 100644 index 2909d8376e51f4a801bf99fb0e0a3f191558d2a4..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_software_repo.lng b/interface/web/admin/lib/lang/ca_software_repo.lng deleted file mode 100644 index f2cbbb2c25776ab5f1794e7102ad264a98144049..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_software_repo_list.lng b/interface/web/admin/lib/lang/ca_software_repo_list.lng deleted file mode 100644 index b7a219ffa8e2f6d389fabdc5386286a24fc2a11a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_software_update_list.lng b/interface/web/admin/lib/lang/ca_software_update_list.lng deleted file mode 100644 index fe7639125cd2634fa809d9a6592e9e9fb21e84bb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ca_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ca_system_config.lng b/interface/web/admin/lib/lang/ca_system_config.lng index ef64d68998e4e322d7cf329ad71c377ebcdf7a33..9f9f3622884342a93ed6088ee9c4956ec9eaa782 100644 --- a/interface/web/admin/lib/lang/ca_system_config.lng +++ b/interface/web/admin/lib/lang/ca_system_config.lng @@ -24,8 +24,10 @@ $wb['ftpuser_prefix_error_regex'] = 'Char not allowed in ftp user prefix.'; $wb['shelluser_prefix_error_regex'] = 'Char not allowed in shell user prefix.'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link to phpmyadmin in DB list'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailboxlist_webmail_link_txt'] = 'Link to webmail in Mailbox list'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ca_users_list.lng b/interface/web/admin/lib/lang/ca_users_list.lng index dec5cc2c04f2a98ac737ac7f6aefc743831a1938..fb1c7bc6ddb8acdcf6dc66b9572f516b935fbf63 100644 --- a/interface/web/admin/lib/lang/ca_users_list.lng +++ b/interface/web/admin/lib/lang/ca_users_list.lng @@ -5,5 +5,5 @@ $wb['client_id_txt'] = 'User ID'; $wb['active_txt'] = 'Active'; $wb['groups_txt'] = 'Groups'; $wb['add_new_record_txt'] = 'Add new user'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; ?> diff --git a/interface/web/admin/lib/lang/cz.lng b/interface/web/admin/lib/lang/cz.lng index 957ddffebf24f2573eff609ccf4f45b87486cd7a..71ed4372d385ff78e12e916c5f4e3543d3ed67e1 100644 --- a/interface/web/admin/lib/lang/cz.lng +++ b/interface/web/admin/lib/lang/cz.lng @@ -1,6 +1,6 @@ +$wb['2'] = 'Uživatelské jméno nebo heslo je prázdné.'; +$wb['3'] = 'Uživatelské jméno nebo heslo je nesprávné.'; diff --git a/interface/web/admin/lib/lang/cz_directive_snippets.lng b/interface/web/admin/lib/lang/cz_directive_snippets.lng index 48a3280cd178abeb41b32a68f0a77eebabf2d948..1f008dc93a2c3103b6f8b67f6eb0209ffab380e5 100644 --- a/interface/web/admin/lib/lang/cz_directive_snippets.lng +++ b/interface/web/admin/lib/lang/cz_directive_snippets.lng @@ -8,8 +8,8 @@ $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'] = 'Proměnné'; $wb['customer_viewable_txt'] = 'Dostupná volba pro klienta'; -$wb['required_php_snippets_txt'] = 'Required PHP Snippet'; +$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet'; $wb['update_sites_txt'] = 'Update sites using this snippet'; $wb['error_hide_snippet_active_sites'] = 'You cannot hide this snippet from customers as it is currently used by existing websites.'; $wb['error_disable_snippet_active_sites'] = 'You cannot disable this snippet as it is currently used by existing websites.'; -$wb['error_delete_snippet_active_sites'] = 'You cannot delete this snippet as it is currently used by existing websites.'; \ No newline at end of file +$wb['error_delete_snippet_active_sites'] = 'You cannot delete this snippet as it is currently used by existing websites.'; diff --git a/interface/web/admin/lib/lang/cz_directive_snippets_list.lng b/interface/web/admin/lib/lang/cz_directive_snippets_list.lng index a4a365c0a8eb0662a35d179aa4d8232d6ffad43a..8059270ab109f87f0049fd4972aa963ada75ed94 100644 --- a/interface/web/admin/lib/lang/cz_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/cz_directive_snippets_list.lng @@ -5,4 +5,3 @@ $wb['name_txt'] = 'Název části prog. kódu'; $wb['type_txt'] = 'Verze'; $wb['add_new_record_txt'] = 'Add Directive Snippet'; $wb['customer_viewable_txt'] = 'Dostupná volba pro klienta'; -?> diff --git a/interface/web/admin/lib/lang/cz_firewall.lng b/interface/web/admin/lib/lang/cz_firewall.lng index c6146ae93d5abd8dcd55c348c570a6490aa146fd..a75b9ed594caf515258cfdccb79bc12c60e2dbc1 100644 --- a/interface/web/admin/lib/lang/cz_firewall.lng +++ b/interface/web/admin/lib/lang/cz_firewall.lng @@ -8,4 +8,3 @@ $wb['active_txt'] = 'Aktivní'; $wb['firewall_error_unique'] = 'Pro tento server již existuje záznam firewallu.'; $wb['tcp_ports_error_regex'] = 'Znak není povole v definici TCP portu. Povolené symboly jsou čísla, : a ,.'; $wb['udp_ports_error_regex'] = 'Znak není povole v definici UDP portu. Povolené symboly jsou čísla, : a ,.'; -?> diff --git a/interface/web/admin/lib/lang/cz_firewall_list.lng b/interface/web/admin/lib/lang/cz_firewall_list.lng index c350ddc418cc343cbb78d7eb5775784c5c0500ea..7ae9ac4725ac73cbd55e23e4fc03a920951e4ebd 100644 --- a/interface/web/admin/lib/lang/cz_firewall_list.lng +++ b/interface/web/admin/lib/lang/cz_firewall_list.lng @@ -5,4 +5,3 @@ $wb['server_id_txt'] = 'Server'; $wb['tcp_port_txt'] = 'Otevřené TCP porty'; $wb['udp_port_txt'] = 'Otevřené UDP porty'; $wb['add_new_record_txt'] = 'Vytvořit záznam'; -?> diff --git a/interface/web/admin/lib/lang/cz_groups.lng b/interface/web/admin/lib/lang/cz_groups.lng index a6281be247dd655b73a2c79aeb4b5a2d78ac5f47..0dce6cbd59d7b6d707d72d85359036b3b371fbca 100644 --- a/interface/web/admin/lib/lang/cz_groups.lng +++ b/interface/web/admin/lib/lang/cz_groups.lng @@ -2,4 +2,3 @@ $wb['description_txt'] = 'Popis'; $wb['name_txt'] = 'Skupina'; $wb['name_err'] = 'Skupina musí mít min. 1, max. 30 znaků.'; -?> diff --git a/interface/web/admin/lib/lang/cz_groups_list.lng b/interface/web/admin/lib/lang/cz_groups_list.lng index 967e3ec0f7704f96b3b2776f97baee153a433f2d..8db04d86a0c8ab26136fba5e9604b4c100b83094 100644 --- a/interface/web/admin/lib/lang/cz_groups_list.lng +++ b/interface/web/admin/lib/lang/cz_groups_list.lng @@ -4,4 +4,3 @@ $wb['description_txt'] = 'Popis'; $wb['name_txt'] = 'Skupina'; $wb['add_new_record_txt'] = 'Vytvořit skupinu'; $wb['warning_txt'] = 'VAROVÁNÍ: Zde neupravujte uživatelská nastavení. Použijte klientská a distributorská nastavení v klientském modulu. Úprava uživatelů nebo skupin zde může způsobit ztrátu dat!'; -?> diff --git a/interface/web/admin/lib/lang/cz_iptables.lng b/interface/web/admin/lib/lang/cz_iptables.lng index a40fc0490f86c20e3c38f874633659306ae192e4..45bda7499a4f5aa14e0c962a4e1c4657ba846392 100644 --- a/interface/web/admin/lib/lang/cz_iptables.lng +++ b/interface/web/admin/lib/lang/cz_iptables.lng @@ -10,4 +10,3 @@ $wb['destination_ip_txt'] = 'Cílové adresy'; $wb['source_ip_txt'] = 'Zdrojové adresy'; $wb['active_txt'] = 'Aktivní'; $wb['iptables_error_unique'] = 'Stejný záznam pro firewall je již na tomto serveru použit.'; -?> diff --git a/interface/web/admin/lib/lang/cz_iptables_list.lng b/interface/web/admin/lib/lang/cz_iptables_list.lng index 65cef7507eeda94dd43925ee61cfb70c455a3690..bfac4c29fad7dd71297a5146f9134d042eb6e11d 100644 --- a/interface/web/admin/lib/lang/cz_iptables_list.lng +++ b/interface/web/admin/lib/lang/cz_iptables_list.lng @@ -12,4 +12,3 @@ $wb['destination_ip_txt'] = 'Cílové adresy'; $wb['source_ip_txt'] = 'Zdrojové adresy'; $wb['active_txt'] = 'Aktivní'; $wb['iptables_error_unique'] = 'Stejný záznam pro firewall je již na tomto serveru použit.'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_add.lng b/interface/web/admin/lib/lang/cz_language_add.lng index e0d381051f81c6c847d6ae704f06bed0d5f7425f..1873038ef2597cfaa64ec347ab6ce2acd09db160 100644 --- a/interface/web/admin/lib/lang/cz_language_add.lng +++ b/interface/web/admin/lib/lang/cz_language_add.lng @@ -2,7 +2,6 @@ $wb['list_head_txt'] = 'Vytvořit nový jazyk'; $wb['language_select_txt'] = 'Vybrat jazykový základ'; $wb['language_new_txt'] = 'Název nového jazyka'; -$wb['language_new_hint_txt'] = '2 znakové ISO 639-1 jazykové kódy (Viz: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)'; +$wb['language_new_hint_txt'] = '2 znakové ISO 639-1 jazykové kódy (Viz: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)'; $wb['btn_save_txt'] = 'Vytvořit novou jazykovou sadu souborů'; $wb['btn_cancel_txt'] = 'Zrušit'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_complete.lng b/interface/web/admin/lib/lang/cz_language_complete.lng index e63b3301f22a1756f00251151e26657a6e959824..1b4ad4fd73dcb5bd60e1851ee9ccf64a5f4bc6fc 100644 --- a/interface/web/admin/lib/lang/cz_language_complete.lng +++ b/interface/web/admin/lib/lang/cz_language_complete.lng @@ -4,4 +4,3 @@ $wb['list_desc_txt'] = 'Sloučit vybraný jazykový soubor s hlavním anglickým $wb['language_select_txt'] = 'Vybrat jazyk k doplnění'; $wb['btn_save_txt'] = 'Sloučit / doplnit jazykový soubor'; $wb['btn_cancel_txt'] = 'Zrušit'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_edit.lng b/interface/web/admin/lib/lang/cz_language_edit.lng index 3efa7e30372bcd909fd81ee0f5f3c90dd86d031b..0bb3938cd9d9ae64d7e16605afdacd763efa887b 100644 --- a/interface/web/admin/lib/lang/cz_language_edit.lng +++ b/interface/web/admin/lib/lang/cz_language_edit.lng @@ -5,4 +5,3 @@ $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Jazykový soubor'; $wb['btn_save_txt'] = 'Uložit'; $wb['btn_cancel_txt'] = 'Zrušit'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_export.lng b/interface/web/admin/lib/lang/cz_language_export.lng index e02f86173890194883cac9c248d3bd4015fbc740..8d0654c3f77ecf0b8033364fa87a9ab20e4dfc6e 100644 --- a/interface/web/admin/lib/lang/cz_language_export.lng +++ b/interface/web/admin/lib/lang/cz_language_export.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Exportovat jazykové soubory'; $wb['language_select_txt'] = 'Vybrat jazykovou sadu'; $wb['btn_save_txt'] = 'Uložit vybranou jazykovou sadu do souboru'; $wb['btn_cancel_txt'] = 'Zrušit'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_import.lng b/interface/web/admin/lib/lang/cz_language_import.lng index 5dc4ccac3835509dc7b470655ea8c9e1d7cea03d..e68efb5c571f3fa4e735c4b5a74fea3bf95f1d4f 100644 --- a/interface/web/admin/lib/lang/cz_language_import.lng +++ b/interface/web/admin/lib/lang/cz_language_import.lng @@ -6,4 +6,3 @@ $wb['language_overwrite_txt'] = 'Přepsat soubor, pokud existuje.'; $wb['btn_cancel_txt'] = 'Zrušit'; $wb['ignore_version_txt'] = 'Přeskočit kontrolu verze ISPConfigu.'; $wb['list_desc_txt'] = 'VAROVÁNÍ: Nepoužívejte import souborů jazyku z nedůvěryhodných zdrojů.'; -?> diff --git a/interface/web/admin/lib/lang/cz_language_list.lng b/interface/web/admin/lib/lang/cz_language_list.lng index b2a78637155d78161423ec338a12165f86010f68..1612b8682ad1c9283e3096345fcc625918401068 100644 --- a/interface/web/admin/lib/lang/cz_language_list.lng +++ b/interface/web/admin/lib/lang/cz_language_list.lng @@ -4,4 +4,3 @@ $wb['language_select_txt'] = 'Vybrat jazyk'; $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Jazykový soubor'; $wb['lang_file_date_txt'] = 'Poslední úprava'; -?> diff --git a/interface/web/admin/lib/lang/cz_package_install.lng b/interface/web/admin/lib/lang/cz_package_install.lng index 2bdc9df31573f41ea296df77994d3611e9434e01..72379faca09a2cd25065ab1203e26dfb9d77cc70 100644 --- a/interface/web/admin/lib/lang/cz_package_install.lng +++ b/interface/web/admin/lib/lang/cz_package_install.lng @@ -4,4 +4,3 @@ $wb['repo_url_txt'] = 'URL'; $wb['repo_username_txt'] = 'Uživatel (volitelné)'; $wb['repo_password_txt'] = 'Heslo (volitelné)'; $wb['active_txt'] = 'Aktivní'; -?> diff --git a/interface/web/admin/lib/lang/cz_remote_action.lng b/interface/web/admin/lib/lang/cz_remote_action.lng index aa3316aa46bc700e9f4b995c3c161d07a2661f56..5f7fb604fcbd7e59871dd8397bd77ffc975a4aa3 100644 --- a/interface/web/admin/lib/lang/cz_remote_action.lng +++ b/interface/web/admin/lib/lang/cz_remote_action.lng @@ -2,11 +2,10 @@ $wb['select_server_txt'] = 'Zvolit server'; $wb['btn_do_txt'] = 'Provést akci'; $wb['do_osupdate_caption'] = 'Aktualizace operačního systému na vzdáleném serveru.'; -$wb['do_osupdate_desc'] = 'Tato akce provede \\"aptitude -y\\" aktualizaci na vybraném serveru.

POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !'; +$wb['do_osupdate_desc'] = 'Tato akce provede \"apt -y\" aktualizaci na vybraném serveru.

POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !'; $wb['do_ispcupdate_caption'] = 'Provedení ISPConfig 3 - aktualizace na vzdáleném serveru'; -$wb['do_ispcupdate_desc'] = 'Tato akce provede \\"ISPConfig 3\\" aktualizaci na vašem vybraném serveru.

POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !'; +$wb['do_ispcupdate_desc'] = 'Tato akce provede \"ISPConfig 3\" aktualizaci na vašem vybraném serveru.

POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !'; $wb['action_scheduled'] = 'Akce je naplánována na provedení'; $wb['select_all_server'] = 'Všechny servery'; $wb['ispconfig_update_title'] = 'ISPConfig pokyny k aktualizaci'; -$wb['ispconfig_update_text'] = 'Přihlaste se jako uživatel root na terminal (shell) serveru a proveďte příkaz

ispconfig_update.sh

spustí se ISPConfig aktualizace.

Klikněte zde pro podrobnější informace o provedení aktualizace'; -?> +$wb['ispconfig_update_text'] = 'Přihlaste se jako uživatel root na terminal (shell) serveru a proveďte příkaz

ispconfig_update.sh

spustí se ISPConfig aktualizace.

Klikněte zde pro podrobnější informace o provedení aktualizace'; diff --git a/interface/web/admin/lib/lang/cz_remote_user.lng b/interface/web/admin/lib/lang/cz_remote_user.lng index 4ea38e6aaac856f823ed029dedb153a8965710e0..81ee2253834ff6b3bf2f79da84519e980ca6682f 100644 --- a/interface/web/admin/lib/lang/cz_remote_user.lng +++ b/interface/web/admin/lib/lang/cz_remote_user.lng @@ -1,5 +1,5 @@ any)'; $wb['remote_user_error_ips'] = 'At least one of the entered ip addresses or hostnames is invalid.'; -?> diff --git a/interface/web/admin/lib/lang/cz_remote_user_list.lng b/interface/web/admin/lib/lang/cz_remote_user_list.lng index 3f4a008f395514440f429f698a0d22640c425a86..a462d0fb5edd26f31a321144b8feae20ba6c0338 100644 --- a/interface/web/admin/lib/lang/cz_remote_user_list.lng +++ b/interface/web/admin/lib/lang/cz_remote_user_list.lng @@ -4,4 +4,3 @@ $wb['list_desc_txt'] = ''; $wb['add_new_record_txt'] = 'Vytvořit uživatele'; $wb['parent_remote_userid_txt'] = 'ID'; $wb['username_txt'] = 'Uživatel'; -?> diff --git a/interface/web/admin/lib/lang/cz_server.lng b/interface/web/admin/lib/lang/cz_server.lng index 8b86caf76bb0ea6d85349e4e349824b3d5f3bb04..e213853198ed14a1e48d70c6974b8f95a3259bca 100644 --- a/interface/web/admin/lib/lang/cz_server.lng +++ b/interface/web/admin/lib/lang/cz_server.lng @@ -1,8 +1,8 @@ diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index 76a37e86f07b4ad4b150f914f19b1dfd63ffd089..6da8dfc0bb4989c6a7e179417fdc1afe7693f1f7 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -1,6 +1,6 @@ Informace: Pokud chcete např. vypnout MySQL službu zatrhněte políčko \\"Zakázat MySQL monitorování\\" změna se provede do 2-3 minut.
Pokud nepočkáte 2-3 minuty, monitorování nastartuje službu MySQL automaticky znovu !'; +$wb['rescue_description_txt'] = 'Informace: Pokud chcete např. vypnout MySQL službu zatrhněte políčko \"Zakázat MySQL monitorování\" změna se provede do 2-3 minut.
Pokud nepočkáte 2-3 minuty, monitorování nastartuje službu MySQL automaticky znovu !'; $wb['enable_sni_txt'] = 'Aktivovat SNI (Server Name Indication)'; $wb['do_not_try_rescue_httpd_txt'] = 'Zakázat HTTPD monitorování'; $wb['set_folder_permissions_on_update_txt'] = 'Nastavení oprávnění složky při aktualizaci'; @@ -177,6 +177,7 @@ $wb['enable_ip_wildcard_txt'] = 'Aktivovat IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Při překročení limitu přenesených dat, poslat oznámení adminovi'; $wb['overtraffic_notify_client_txt'] = 'Při překročení limitu přenesených dat, poslat oznámení klientovi'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Poslat varování o překročení nebo vyčerpání kvót adminovi'; $wb['overquota_notify_client_txt'] = 'Poslat varování o překročení nebo vyčerpání kvót klientovi'; @@ -195,7 +196,7 @@ $wb['munin_user_txt'] = 'Munin uživatel'; $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_is_mount_txt'] = 'Připojit adresář pro zálohy'; $wb['monitor_system_updates_txt'] = 'Kontrolovat aktualizace Linuxu'; $wb['invalid_apache_user_txt'] = 'Invalid apache user.'; $wb['invalid_apache_group_txt'] = 'Invalid apache group.'; @@ -256,13 +257,13 @@ $wb['mailbox_virtual_uidgid_maps_info_txt'] = 'only in single web and mail-serve $wb['mailbox_virtual_uidgid_maps_error_nosingleserver'] = 'Uid cannot be mapped in multi-server-setup.'; $wb['mailbox_virtual_uidgid_maps_error_nodovecot'] = 'Uid-mapping can only be used with dovecot.'; $wb['mailbox_virtual_uidgid_maps_error_alreadyusers'] = 'Uid-mapping cannot be changed if there are already mail users.'; -$wb['reject_sender_login_mismatch_txt'] = 'Reject sender and login mismatch'; -$wb['reject_unknown_txt'] = 'Reject unknown hostnames'; -$wb['tooltip_reject_unknown_txt'] = 'Requires hostnames to pass DNS checks. Not checked for authenticated users.'; -$wb['reject_unknown_helo_txt'] = 'Reject unknown helo hostnames'; -$wb['reject_unknown_client_txt'] = 'Reject unknown client hostnames'; +$wb['reject_sender_login_mismatch_txt'] = 'Odmítnout při nesouladu odesílatele s jeho přihlášením'; +$wb['reject_unknown_txt'] = 'Odmítat hostitele s neznámým jménem'; +$wb['tooltip_reject_unknown_txt'] = 'Vyžaduje jména hostitelů již zadaných v DNS pro úspěšnou zpětnou kontrolu v DNS. Kontrola se neprovádí u ověřených uživatelů.'; +$wb['reject_unknown_helo_txt'] = 'reject_unknown_helo_hostname - Odmítne požadavek, pokud název hostitele HELO nebo EHLO nemá žádný záznam DNS A nebo MX.'; +$wb['reject_unknown_client_txt'] = 'reject_unknown_client_hostname - Odmítne požadavek, když 1) IP adresa klienta->nelze přeložit na DNS jmeno, nebo 2) DNS jmeno->nelze přeložit na IP adresu, nebo 3) DNS jmeno->překlad DNS adresy neodpovídá IP adrese klienta.'; $wb['reject_unknown_client_helo_txt'] = 'Reject unknown helo and client hostnames'; -$wb['do_not_try_rescue_mongodb_txt'] = 'Zakázat MongoDB monitorování'; +$wb['do_not_try_rescue_mongodb_txt'] = 'Zakázat MongoDB monitorování'; $wb['v6_prefix_txt'] = 'IPv6 Prefix'; $wb['vhost_rewrite_v6_txt'] = 'Rewrite IPv6 on Mirror'; $wb['v6_prefix_length'] = 'Prefix too long according to defined IPv6 '; @@ -277,7 +278,7 @@ $wb['disabled_txt'] = 'Vypnuto'; $wb['php_ini_check_minutes_txt'] = 'Provádět kontrolu změny obsahu souboru php.ini každých X minut'; $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.'; $wb['php_ini_check_minutes_info_txt'] = '0 = no check'; -$wb['web_settings_txt'] = 'Web Server'; +$wb['web_settings_txt'] = 'Webový Server'; $wb['xmpp_server_txt'] = 'XMPP Server'; $wb['xmpp_use_ipv6_txt'] = 'Použít IPv6'; $wb['xmpp_bosh_max_inactivity_txt'] = 'Max. BOSH inactivity time'; @@ -290,38 +291,46 @@ $wb['xmpp_port_http_txt'] = 'HTTP'; $wb['xmpp_port_https_txt'] = 'HTTPS'; $wb['xmpp_port_pastebin_txt'] = 'Pastebin'; $wb['xmpp_port_bosh_txt'] = 'BOSH'; -$wb['disable_bind_log_txt'] = 'Disable bind9 messages for Loglevel WARN'; +$wb['disable_bind_log_txt'] = 'Zakázat zprávy bind9 pro Loglevel WARN'; $wb['apps_vhost_enabled_txt'] = 'Apps-vhost enabled'; $wb['hostname_txt'] = 'Název hostitele'; $wb['hostname_error_empty'] = 'Název hostitele je prázdný'; $wb['hostname_error_regex'] = 'Neplatný název hostitele.'; $wb['backup_time_txt'] = 'Spustit zálohovaní v'; -$wb['skip_le_check_txt'] = 'Skip Lets Encrypt Check'; -$wb['migration_mode_txt'] = 'Server Migration Mode'; +$wb['skip_le_check_txt'] = 'Vynechat Lets Encrypt kontrolu '; +$wb['migration_mode_txt'] = 'Režim migrace serveru '; $wb['nginx_enable_pagespeed_txt'] = 'Makes Pagespeed available'; -$wb['backup_tmp_txt'] = 'Backup tmp directory for zip'; -$wb['tmpdir_path_error_empty'] = 'tmp-dir Path is empty.'; -$wb['tmpdir_path_error_regex'] = 'Invalid tmp-dir path.'; -$wb['logging_txt'] = 'Store website access and error logs'; -$wb['logging_desc_txt'] = 'Use Tools > Resync to apply changes to existing sites. For Apache, access and error log can be anonymized. For nginx, only the access log is anonymized, the error log will contain IP addresses.'; -$wb['log_retention_txt'] = 'Log retention (days)'; +$wb['backup_tmp_txt'] = 'Pracovní tmp adresář při vytváření zip záloh'; +$wb['tmpdir_path_error_empty'] = 'Cesta k pracovnímu tmp adresáři je prázdná.'; +$wb['tmpdir_path_error_regex'] = 'Neplatná cesta k pracovnímu tmp adresáři.'; +$wb['logging_txt'] = 'Povolit přístupové a chybové protokoly webových stránek'; +$wb['logging_desc_txt'] = 'Chcete-li uplatnit změny již u stávajících webových stránek, použijte Nástroje > Znovu synchronizovat. U Apache lze přístup a protokol chyb anonymizovat. U nginx je anonymizován pouze protokol přístupu, protokol chyb bude obsahovat IP adresy.'; +$wb['log_retention_txt'] = 'Zachování protokolu (dny)'; $wb['log_retention_error_ispositive'] = 'Log retention must be a number > 0'; -$wb['php_default_hide_txt'] = 'Hide Default PHP-Version in selectbox'; -$wb['php_default_name_txt'] = 'Description Default PHP-Version'; -$wb['php_default_name_error_empty'] = 'Description Default PHP-Version must not be empty'; +$wb['php_default_hide_txt'] = 'Skrýt výchozí verzi PHP při volbě výběru verze PHP'; +$wb['php_default_name_txt'] = 'Popis výchozí verze PHP'; +$wb['php_default_name_error_empty'] = 'Popis výchozí verze PHP nesmí být prázdný'; $wb['error_mailbox_message_size_txt'] = 'Mailbox size must be larger or equal to message size'; $wb['php_fpm_reload_mode_txt'] = 'PHP-FPM reload mode'; -$wb['content_filter_txt'] = 'Content Filter'; +$wb['content_filter_txt'] = 'Filtr obsahu'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; -$wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_password_txt'] = 'Rspamd heslo'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; $wb['jailkit_chroot_authorized_keys_template_txt'] = 'Jailkit authorized_keys template'; $wb['jailkit_chroot_authorized_keys_template_error_regex'] = 'Invalid jaikit chroot authorized_keys template file.'; -$wb['jailkit_hardlinks_txt'] = 'Hardlinks within Jailkit chroot'; +$wb['jailkit_hardlinks_txt'] = 'Pevné odkazy v rámci Jailkit chroot'; $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves disk space.'; $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; -$wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; -$wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['jailkit_hardlinks_no_txt'] = 'Ne, odstranit soubory s pevným odkazem'; +$wb['jailkit_hardlinks_yes_txt'] = 'Ano, pokud je to možné, použijte pevné odkazy'; diff --git a/interface/web/admin/lib/lang/cz_server_config_list.lng b/interface/web/admin/lib/lang/cz_server_config_list.lng index 2118c35357cc0b40228eb0153adfda86f36cfdae..29d42a20ed21c0d90cde81c6548224e56375cbb5 100644 --- a/interface/web/admin/lib/lang/cz_server_config_list.lng +++ b/interface/web/admin/lib/lang/cz_server_config_list.lng @@ -1,4 +1,3 @@ diff --git a/interface/web/admin/lib/lang/cz_server_ip.lng b/interface/web/admin/lib/lang/cz_server_ip.lng index 3698df5c7479189f9193529b844b4efce2330871..5de51014aae5c5e67155a19bc610a88b5a7e5b7d 100644 --- a/interface/web/admin/lib/lang/cz_server_ip.lng +++ b/interface/web/admin/lib/lang/cz_server_ip.lng @@ -10,4 +10,3 @@ $wb['client_id_txt'] = 'Klient'; $wb['ip_type_txt'] = 'Verze'; $wb['virtualhost_port_txt'] = 'HTTP Porty'; $wb['error_port_syntax'] = 'Neplatné znaky ve volbě HTTP Portů. Prosím, zadejte pouze číselné hodnoty oddělené čárkami. Příklad: 80,443'; -?> diff --git a/interface/web/admin/lib/lang/cz_server_ip_list.lng b/interface/web/admin/lib/lang/cz_server_ip_list.lng index a0c10060b3811cc4261d6fb19da040ca124c2be3..076c433fee97e40cd2c41b72345ee54042d62c7e 100644 --- a/interface/web/admin/lib/lang/cz_server_ip_list.lng +++ b/interface/web/admin/lib/lang/cz_server_ip_list.lng @@ -7,4 +7,3 @@ $wb['client_id_txt'] = 'Klient'; $wb['virtualhost_txt'] = 'HTTP Vhost'; $wb['virtualhost_port_txt'] = 'HTTP Ports'; $wb['ip_type_txt'] = 'Verze'; -?> diff --git a/interface/web/admin/lib/lang/cz_server_ip_map.lng b/interface/web/admin/lib/lang/cz_server_ip_map.lng index 57c5ba010803e1b3d759ba34bc29fa9b239cf4cf..d82d4f9878b8245bbd2544d17ed6445b26525660 100644 --- a/interface/web/admin/lib/lang/cz_server_ip_map.lng +++ b/interface/web/admin/lib/lang/cz_server_ip_map.lng @@ -11,4 +11,3 @@ $wb['source_ip_empty'] = 'Zdrojová IP adresa je prázdná.'; $wb['server_empty_error'] = 'The Server is empty.'; $wb['duplicate_mapping_error'] = 'Mapování již existuje.'; $wb['ip_mapping_error'] = 'Source IP can not be an IP of the Rewrite-Server'; -?> diff --git a/interface/web/admin/lib/lang/cz_server_ip_map_list.lng b/interface/web/admin/lib/lang/cz_server_ip_map_list.lng index 9997bb477b25dae08afcf6adae969f9b2e164071..1ca4104dc9c1f10ab2f49b1ebf217e880b2ab686 100644 --- a/interface/web/admin/lib/lang/cz_server_ip_map_list.lng +++ b/interface/web/admin/lib/lang/cz_server_ip_map_list.lng @@ -4,4 +4,3 @@ $wb['server_id_txt'] = 'Server'; $wb['source_ip_txt'] = 'Zdrojová IP adresa'; $wb['destination_ip_txt'] = 'Cílová IP adresa'; $wb['active_txt'] = 'Aktivní'; -?> diff --git a/interface/web/admin/lib/lang/cz_server_list.lng b/interface/web/admin/lib/lang/cz_server_list.lng index 8aaea041f4b690dd18ab546111979b2520d0778e..662b17c1d4bf41f00dbf4c15a0e26c948a3699e9 100644 --- a/interface/web/admin/lib/lang/cz_server_list.lng +++ b/interface/web/admin/lib/lang/cz_server_list.lng @@ -11,4 +11,3 @@ $wb['add_new_record_txt'] = 'Vytvořit server'; $wb['proxy_server_txt'] = 'Proxy'; $wb['firewall_server_txt'] = 'Firewall'; $wb['xmpp_server_txt'] = 'XMPP'; -?> diff --git a/interface/web/admin/lib/lang/cz_server_php.lng b/interface/web/admin/lib/lang/cz_server_php.lng index e3268703409b81751d095a13e1f8d8da655d2030..c1c67f05ef6673858a11f164aa5a2e0f6d483c0c 100644 --- a/interface/web/admin/lib/lang/cz_server_php.lng +++ b/interface/web/admin/lib/lang/cz_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_init_script_txt'] = 'Cesta k PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_pool_dir_txt'] = 'Cesta k PHP-FPM pool adresáři'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Aktivní'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/cz_server_php_list.lng b/interface/web/admin/lib/lang/cz_server_php_list.lng index 70bb2af8aadd810b7bd4602762448116cc411951..cc7f4ee57ebc077c88866ecb662ce07ada6aa956 100644 --- a/interface/web/admin/lib/lang/cz_server_php_list.lng +++ b/interface/web/admin/lib/lang/cz_server_php_list.lng @@ -6,4 +6,3 @@ $wb['client_id_txt'] = 'Klient'; $wb['name_txt'] = 'Verze PHP'; $wb['active_txt'] = 'Aktivní'; $wb['usage_txt'] = 'Usage count'; -?> diff --git a/interface/web/admin/lib/lang/cz_software_package.lng b/interface/web/admin/lib/lang/cz_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_software_package_install.lng b/interface/web/admin/lib/lang/cz_software_package_install.lng deleted file mode 100644 index 0d079ef6d38552240273b77c39b91bc86fd541fd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_software_package_list.lng b/interface/web/admin/lib/lang/cz_software_package_list.lng deleted file mode 100644 index 6896a9feb49237af9b4ef878836ad79b80afa639..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_software_repo.lng b/interface/web/admin/lib/lang/cz_software_repo.lng deleted file mode 100644 index bd7bc9d0f2b3e7cf47c11c189c91716bc48713d0..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_software_repo_list.lng b/interface/web/admin/lib/lang/cz_software_repo_list.lng deleted file mode 100644 index ca04f41dcf2d76f3108c8fb2d68bdabbddafdd94..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_software_update_list.lng b/interface/web/admin/lib/lang/cz_software_update_list.lng deleted file mode 100644 index c48ad8ce30ec1b6fd8a643204e52cfa503501edd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/cz_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/cz_system_config.lng b/interface/web/admin/lib/lang/cz_system_config.lng index ea10785750fd412891c5b3d7ced16b7250a90a38..23dbc9c41efa0b41775599e1a73a7d1a8e939957 100644 --- a/interface/web/admin/lib/lang/cz_system_config.lng +++ b/interface/web/admin/lib/lang/cz_system_config.lng @@ -25,6 +25,7 @@ $wb['new_domain_txt'] = 'HTML vytvořit novou doménu'; $wb['webftp_url_txt'] = 'WebFTP URL'; $wb['admin_mail_txt'] = 'E-mail Administrátora'; $wb['admin_name_txt'] = 'Jméno Administrátora'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Povolit vlastní přihlašovací jméno u e-mailové schránky'; $wb['mailmailinglist_link_txt'] = 'Ikonový odkaz na aplikaci E-mailových konferencí seznamu e-mailových konferencí'; $wb['mailmailinglist_url_txt'] = 'E-mailové konference URL'; @@ -48,9 +49,10 @@ $wb['use_combobox_txt'] = 'Použití jQuery UI Combobox'; $wb['use_loadindicator_txt'] = 'Použití indikátoru zatížení'; $wb['f5_to_reload_js_txt'] = 'Pokud vypnete tuto volbu, zřejmě budete muset používat klávesu F5, aby internetový prohlížeč znovu načetl JavaScript knihovny nebo budete muset ručně vyprázdňovat mezipaměť (cache) vašeho internetového prohlížeče.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'Ukázat kartu automatická odpověď v podrobnostech u e-mailové schránky'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'Ukázat kartu e-mailové filtry v podrobnostech u e-mailové schránky'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'Ukázat kartu vlastní pravidla v podrobnostech u e-mailové schránky'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Ukázat kartu automatická odpověď v podrobnostech u poštovní schránky'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Ukázat kartu poštovní filtry v podrobnostech u poštovní schránky'; +$wb['mailbox_show_custom_rules_tab_txt'] = 'Ukázat kartu vlastní pravidla v podrobnostech u poštovní schránky'; $wb['webmail_url_error_regex'] = 'Neplatný webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Zástupný symbol'; $wb['webmail_url_note_txt'] = 'Zástupný symbol'; @@ -72,7 +74,7 @@ $wb['min_password_length_txt'] = 'Minimální délka hesla'; $wb['min_password_strength_txt'] = 'Minimální síla hesla'; $wb['ssh_authentication_txt'] = 'Allowed SSH authentication'; $wb['ssh_authentication_password_key'] = 'Password & Key'; -$wb['ssh_authentication_password'] = 'Password'; +$wb['ssh_authentication_password'] = 'Heslo'; $wb['ssh_authentication_key'] = 'Key'; $wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site'; $wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Uložit'; $wb['btn_cancel_txt'] = 'Zrušit'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; -?> +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; +$wb['monitor_key_txt'] = 'Monitor keyword'; diff --git a/interface/web/admin/lib/lang/cz_tpl_default_admin.lng b/interface/web/admin/lib/lang/cz_tpl_default_admin.lng index 480d5044215ccee6020d840bf403e3cc11a616bf..9ba5257374ae33374e052d5bf0e04da30380ef9b 100644 --- a/interface/web/admin/lib/lang/cz_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/cz_tpl_default_admin.lng @@ -15,4 +15,3 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_init_script_txt'] = 'Cesta k PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_pool_dir_txt'] = 'Cesta k PHP-FPM pool adresáři'; -?> diff --git a/interface/web/admin/lib/lang/cz_users.lng b/interface/web/admin/lib/lang/cz_users.lng index 00eefa1d5cb2d57d102700fe90fb26d2ab8f5b3c..c973ea2f8044ee67504a22e3c6d8ca6422d32883 100644 --- a/interface/web/admin/lib/lang/cz_users.lng +++ b/interface/web/admin/lib/lang/cz_users.lng @@ -4,7 +4,7 @@ $wb['username_txt'] = 'Uživatelské jméno'; $wb['username_err'] = 'Uživatelské jméno je příliš dlouhé nebo obsahuje neplatné znaky.'; $wb['username_empty'] = 'Uživatelské jméno je prázdné.'; $wb['username_unique'] = 'Toto uživatelské jméno již existuje.'; -$wb['password_txt'] = 'Heslo'; +$wb['password_txt'] = 'Password'; $wb['password_strength_txt'] = 'Bezpečnost hesla'; $wb['modules_txt'] = 'Modul'; $wb['startmodule_txt'] = 'Výchozí modul'; @@ -34,4 +34,7 @@ $wb['username_error_collision'] = 'Uživatelské jméno nesmí být web nebo web $wb['client_not_admin_err'] = 'A user that belongs to a client can not be set to type: admin'; $wb['lost_password_function_txt'] = 'Forgot password function is available'; $wb['no_user_insert'] = 'CP-Users of type -user- get added and updated automatically when you add a client or reseller.'; -?> +$wb['startmodule_empty'] = 'Startmodule empty.'; +$wb['startmodule_regex'] = 'Invalid chars in Startmodule.'; +$wb['app_theme_empty'] = 'App theme empty.'; +$wb['app_theme_regex'] = 'Invalid chars in App theme.'; diff --git a/interface/web/admin/lib/lang/cz_users_list.lng b/interface/web/admin/lib/lang/cz_users_list.lng index 5f2b9d68807c39ffc6c9d46a3ac28fba31140b40..7ff861b9281bfcbe04fbea953c141a44a6343387 100644 --- a/interface/web/admin/lib/lang/cz_users_list.lng +++ b/interface/web/admin/lib/lang/cz_users_list.lng @@ -6,4 +6,3 @@ $wb['active_txt'] = 'Aktivní'; $wb['add_new_record_txt'] = 'Vytvořit uživatele'; $wb['warning_txt'] = 'VAROVÁNÍ: Zde neupravujte uživatelská nastavení. Použijte klientská a distributorská nastavení v klientském modulu. Úprava uživatelů nebo skupin zde může způsobit ztrátu dat!'; $wb['groups_txt'] = 'Skupiny'; -?> diff --git a/interface/web/admin/lib/lang/de_remote_action.lng b/interface/web/admin/lib/lang/de_remote_action.lng index 3bb968d0137b30626b02e80c92b42566d6fbcbec..324c18331154f059f02f56308b2c2897eff7584d 100644 --- a/interface/web/admin/lib/lang/de_remote_action.lng +++ b/interface/web/admin/lib/lang/de_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Server auswählen'; $wb['btn_do_txt'] = 'Aktion ausführen'; $wb['do_osupdate_caption'] = 'Betriebssystem Update auf entferntem Server ausführen'; -$wb['do_osupdate_desc'] = 'Diese Aktion wird ein aptitude -y upgrade auf dem ausgewählten Server ausführen.

DIES GESCHIEHT AUF IHRE EIGENE VERANTWORTUNG!'; +$wb['do_osupdate_desc'] = 'Diese Aktion wird ein apt -y upgrade auf dem ausgewählten Server ausführen.

DIES GESCHIEHT AUF IHRE EIGENE VERANTWORTUNG!'; $wb['do_ispcupdate_caption'] = 'ISPConfig 3 Update auf entferntem Server ausführen'; $wb['do_ispcupdate_desc'] = 'Diese Aktion wird ein Update des ISPConfig 3 Systems auf Ihrem ausgewählten Server ausführen.

DIES GESCHIEHT AUF IHRE EIGENE VERANTWORTUNG!'; $wb['action_scheduled'] = 'Die Aktion wurde zur Ausführung vorgemerkt'; diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index bc6225745f19093041b5c68fe62435ac0e45ac9e..d0b43059c47cf52c0dea5cc5f5363007d7c5edb2 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -197,6 +197,7 @@ $wb['enable_ip_wildcard_txt'] = 'IP Adressen Wildcard (*) aktivieren'; $wb['web_folder_protection_txt'] = 'Webverzeichnis unveränderlich machen (erweiterte Attribute)'; $wb['overtraffic_notify_admin_txt'] = 'Überschreiten des Datentransfer Limits an den Administrator senden'; $wb['overtraffic_notify_client_txt'] = 'Überschreiten des Datentransfer Limits an den Kunden senden'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Bitte geben Sie gültige RBL-Hostnamen an.'; $wb['overquota_notify_admin_txt'] = 'Quota-Warnungen an den Administrator senden'; $wb['overquota_notify_client_txt'] = 'Quota-Warnungen an den Kunden senden'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content-Filter'; $wb['rspamd_url_txt'] = 'Rspamd-URL'; $wb['rspamd_user_txt'] = 'Rspamd-Benutzer'; $wb['rspamd_password_txt'] = 'Rspamd-Passwort'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/de_server_php.lng b/interface/web/admin/lib/lang/de_server_php.lng index f43e79b4af19076cf177201298c3b6988e959b48..b3ad5d991331f2ed1f932f7e271544e3e00f1ce6 100644 --- a/interface/web/admin/lib/lang/de_server_php.lng +++ b/interface/web/admin/lib/lang/de_server_php.lng @@ -13,6 +13,7 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script'; $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Aktiv'; $wb['php_in_use_error'] = 'Diese PHP-Version wird noch benutzt.'; $wb['php_name_in_use_error'] = 'Der Name kann nicht geändert werden.'; diff --git a/interface/web/admin/lib/lang/de_software_package.lng b/interface/web/admin/lib/lang/de_software_package.lng deleted file mode 100644 index 13b3d996c30489a23bf3c02ab9f2935463bf8e5a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_software_package_install.lng b/interface/web/admin/lib/lang/de_software_package_install.lng deleted file mode 100644 index 1ef69d13d32b0fd9cebc50cefc2e3b7b61623513..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_software_package_list.lng b/interface/web/admin/lib/lang/de_software_package_list.lng deleted file mode 100644 index 75b7504390489492a4d84de033807463aaef0540..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_software_repo.lng b/interface/web/admin/lib/lang/de_software_repo.lng deleted file mode 100644 index 242611cd08616fc1159c5dca536282ce672098f8..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_software_repo_list.lng b/interface/web/admin/lib/lang/de_software_repo_list.lng deleted file mode 100644 index db6f49fd4edd70c55ebc84f05dc84fc704e861ce..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_software_update_list.lng b/interface/web/admin/lib/lang/de_software_update_list.lng deleted file mode 100644 index cf31e88154c60bfcdc82fb9b9f778dbbf737eb9b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/de_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index e80de109431569dc3a1bb872ecc1229f3998aaf5..7d372a820e9a56e1ce54ca429c6c2ea28d24ca86 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -31,6 +31,7 @@ $wb['use_domain_module_txt'] = 'Domain Limits im Kundenmodul benutzen, um neue D $wb['use_domain_module_hint'] = 'Falls Sie die Domain Limits benutzen, können Ihre Kunden nur eine der Domains auswählen, die der Admin für sie angelegt hat. Die Kunden können das Domain-Feld nicht frei editieren. Sie müssen sich neu einloggen, wenn Sie diesen Wert ändern.'; $wb['new_domain_txt'] = 'HTML Text zum Anlegen einer neuen Domain'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Abweichenden Login Namen erlauben'; $wb['mailmailinglist_link_txt'] = 'Link zur Mailingliste in der Mailinglisten Übersicht'; $wb['mailmailinglist_url_txt'] = 'Mailinglisten URL'; @@ -51,6 +52,7 @@ $wb['f5_to_reload_js_txt'] = 'Wenn Sie den Wert ändern, müssen Sie F5 drücken $wb['phpmyadmin_url_error_regex'] = 'Falsche phpMyAdmin URL'; $wb['client_username_web_check_disabled_txt'] = 'Deaktiviere die Kunden Benutzernamen Überprüfung für den Begriff web.'; $wb['backups_include_into_web_quota_txt'] = 'Backups in Web Quota hinzuzählen.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Zeige Autoresponder Reiter in E-Mail Kontodetails'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Zeige E-Mail Filter Reiter in E-Mail Kontodetails'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails'; @@ -74,10 +76,6 @@ $wb['session_allow_endless_txt'] = '"Eingeloggt bleiben" aktivieren'; $wb['No'] = 'Nein'; $wb['min_password_length_txt'] = 'Minimale Passwortlänge'; $wb['min_password_strength_txt'] = 'Minimale Passwortstärke'; -$wb['ssh_authentication_txt'] = 'Allowed SSH authentication'; -$wb['ssh_authentication_password_key'] = 'Password & Key'; -$wb['ssh_authentication_password'] = 'Password'; -$wb['ssh_authentication_key'] = 'Key'; $wb['ssh_authentication_txt'] = 'Erlaubte SSH Authentifizierung'; $wb['ssh_authentication_password_key'] = 'Passwort & Schlüssel'; $wb['ssh_authentication_password'] = 'Passwort'; @@ -103,4 +101,8 @@ $wb['btn_save_txt'] = 'Speichern'; $wb['btn_cancel_txt'] = 'Abbrechen'; $wb['web_php_options_txt'] = 'PHP Handler (Nur Apache)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/dk_remote_action.lng b/interface/web/admin/lib/lang/dk_remote_action.lng index a5366d9175b4bab6be04a30686e6b3f732a70953..53c12f6adfb2d3fe5daf95764f544597f21f4392 100644 --- a/interface/web/admin/lib/lang/dk_remote_action.lng +++ b/interface/web/admin/lib/lang/dk_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Vælg Server(e)'; $wb['btn_do_txt'] = 'Udfør handling'; $wb['do_osupdate_caption'] = 'Udfør OS-Opdatering på fjern server'; -$wb['do_osupdate_desc'] = 'Denne Handling udfør en \'aptitude -y upgrade\' på den valgte server.

BRUG DETTE PÅ EGEN RISIKO!'; +$wb['do_osupdate_desc'] = 'Denne Handling udfør en \'apt -y upgrade\' på den valgte server.

BRUG DETTE PÅ EGEN RISIKO!'; $wb['do_ispcupdate_caption'] = 'Udfør ISPConfig 3 - Opdatering på fjern-server'; $wb['do_ispcupdate_desc'] = 'Denne Handling udfør en ISPConfig 3 opdatering på den valgte server.

BRUG DETTE PÅ EGEN RISIKO!'; $wb['action_scheduled'] = 'Handlingen er planlagt til udførelse'; diff --git a/interface/web/admin/lib/lang/dk_server_config.lng b/interface/web/admin/lib/lang/dk_server_config.lng index dda39b38a69bd8f6dc15310c4306b672fcd49f5b..b1ebcec391b4c26a45b1ee7edc204c1b85242560 100644 --- a/interface/web/admin/lib/lang/dk_server_config.lng +++ b/interface/web/admin/lib/lang/dk_server_config.lng @@ -180,6 +180,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Gør web mapper immume (udvidede attributter)'; $wb['overtraffic_notify_admin_txt'] = 'Send over-trafik meddelelse til admin'; $wb['overtraffic_notify_client_txt'] = 'Send over-trafik meddelelse til kunde'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Angiv gyldige RBL værtsnavne.'; $wb['overquota_notify_admin_txt'] = 'Send kvote advarsler til admin'; $wb['overquota_notify_client_txt'] = 'Send kvote advarsler til kunde'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/dk_server_php.lng b/interface/web/admin/lib/lang/dk_server_php.lng index ff8586f5ea7b5b9fb50d821c59fb34428d3a3436..db6ef1f98a2f0f2e7955afb872f06583c2a53922 100644 --- a/interface/web/admin/lib/lang/dk_server_php.lng +++ b/interface/web/admin/lib/lang/dk_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Sti til php.ini mappe'; $wb['php_fpm_init_script_txt'] = 'Sti til PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Sti til php.ini mappe'; $wb['php_fpm_pool_dir_txt'] = 'Sti til PHP-FPM pool mappe'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/dk_software_package.lng b/interface/web/admin/lib/lang/dk_software_package.lng deleted file mode 100644 index 86f45dc91ef21cd0c1f506379c272d5dc71921e9..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_software_package_install.lng b/interface/web/admin/lib/lang/dk_software_package_install.lng deleted file mode 100644 index fd9211652c73e2f188f48de99b97f2bff8738cee..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_software_package_list.lng b/interface/web/admin/lib/lang/dk_software_package_list.lng deleted file mode 100644 index 3fb5399eaecb8a650547e99648e532aa95a6ccfa..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_software_repo.lng b/interface/web/admin/lib/lang/dk_software_repo.lng deleted file mode 100644 index 2c506cdc6b6d9decbf8dda1827104b17c0aaf6b7..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_software_repo_list.lng b/interface/web/admin/lib/lang/dk_software_repo_list.lng deleted file mode 100644 index aa33919cbd6b8e088b3e5dd5fc9b371b97c405f7..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_software_update_list.lng b/interface/web/admin/lib/lang/dk_software_update_list.lng deleted file mode 100644 index 8a8e8686af47c83de5cb82922cac2bd30f4709a9..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/dk_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/dk_system_config.lng b/interface/web/admin/lib/lang/dk_system_config.lng index 5327d8620947289503c1c102a90614d56358e13a..18160789a9d8bb83152ba44547c8ae35fe521326 100644 --- a/interface/web/admin/lib/lang/dk_system_config.lng +++ b/interface/web/admin/lib/lang/dk_system_config.lng @@ -22,6 +22,7 @@ $wb['ftpuser_prefix_error_regex'] = 'Char ikke tilladt i ftp bruger prefix.'; $wb['shelluser_prefix_error_regex'] = 'Char ikke tilladt i shell bruger prefix.'; $wb['webdavuser_prefix_error_regex'] = 'Char ikke tilladt i webdav bruger prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link til phpmyadmin i DB liste'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Tillad brugerdefinerede login-navn'; $wb['mailboxlist_webmail_link_txt'] = 'Link til webmail i Postboks liste'; $wb['webmail_url_txt'] = 'Webmail URL'; @@ -48,6 +49,7 @@ $wb['use_combobox_txt'] = 'Brug jQuery UI Combobox'; $wb['use_loadindicator_txt'] = 'Brug Load Indicator'; $wb['f5_to_reload_js_txt'] = 'Hvis du ændrer dette, kan du blive nødt til at trykke på F5 for at browseren genindlæser JavaScript-biblioteker eller tømme browserens cache.'; $wb['client_username_web_check_disabled_txt'] = 'Deaktiver klient-brugernavns check for ordet \'web\'.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Vis autoresponder tab i mail kontooplysninger'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Vis mail filter tab i mail kontooplysninger'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Vis custom mailfilter tab i mail kontooplysninger'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/el_remote_action.lng b/interface/web/admin/lib/lang/el_remote_action.lng index ff63fd59354a2d9870b3beda773a9ada68baf985..18363323251764dd4f1e2bf6d29eca23b3bb2ec5 100644 --- a/interface/web/admin/lib/lang/el_remote_action.lng +++ b/interface/web/admin/lib/lang/el_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Επιλογή Server'; $wb['btn_do_txt'] = 'Εκτέλεση ενέργειας'; $wb['do_osupdate_caption'] = 'Εκκίνηση αναβάθμισης λειτουργικού συστήματος στον απομακρυσμένο server'; -$wb['do_osupdate_desc'] = 'Αυτή η ενέργεια εκτελεί την εντολή aptitude -y upgrade στον επιλεγμένο σας server.

ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΤΟ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ!'; +$wb['do_osupdate_desc'] = 'Αυτή η ενέργεια εκτελεί την εντολή apt -y upgrade στον επιλεγμένο σας server.

ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΤΟ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ!'; $wb['do_ispcupdate_caption'] = 'Εκκίνηση αναβάθμισης ISPConfig 3 στον απομακρυσμένο server'; $wb['do_ispcupdate_desc'] = 'Αυτή η ενέργεια κάνει αναβάθμιση στο ISPConfig3 στον επιλεγμένο σας server.

ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΤΟ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ!'; $wb['action_scheduled'] = 'Η ενέργεια προγραμματίστηκε για εκτέλεση'; diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index 9dfadedc5d3a06d8d815337b0f83a188782132e2..b147f15e5c98954b23c73b43148a5a74362f366a 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/el_server_php.lng b/interface/web/admin/lib/lang/el_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/el_server_php.lng +++ b/interface/web/admin/lib/lang/el_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/el_software_package.lng b/interface/web/admin/lib/lang/el_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_software_package_install.lng b/interface/web/admin/lib/lang/el_software_package_install.lng deleted file mode 100644 index 5e3d0fd4022ce48fac39c9379b5de0774c46510b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_software_package_list.lng b/interface/web/admin/lib/lang/el_software_package_list.lng deleted file mode 100644 index 1553ea1ceafeca4b43be5bd163c9b3fc47ae9864..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_software_repo.lng b/interface/web/admin/lib/lang/el_software_repo.lng deleted file mode 100644 index 3b12d3fd874fd4e1945f6ce2f234e2f3d619ae24..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_software_repo_list.lng b/interface/web/admin/lib/lang/el_software_repo_list.lng deleted file mode 100644 index deb896a719c990ba6df4b00d5114b8dc1ac62f43..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_software_update_list.lng b/interface/web/admin/lib/lang/el_software_update_list.lng deleted file mode 100644 index 42100d0c8903ad84f65f8f5137feee995b83d3d5..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/el_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng index 5bb6b4a312a6caac81aad280627fa9f6a32e2b25..7e2df97a492f642c466fc3a0095564329f75f4e3 100644 --- a/interface/web/admin/lib/lang/el_system_config.lng +++ b/interface/web/admin/lib/lang/el_system_config.lng @@ -23,6 +23,7 @@ $wb['use_domain_module_txt'] = 'Χρήση του αρθρώματος-domain γ $wb['use_domain_module_hint'] = 'Αν χρησιμοποιήσετε αυτό το άρθρωμα, οι πελάτες σας μπορούν μόνο να διαλέξουν ένα από τα domains που δημιούργησε για αυτούς ο διαχειριστής. Δεν μπορούν να επεξεργαστούν ελεύθερα τα πεδία του domain.Πρέπει να επανασυνδεθείτε αν αλλάξετε αυτή την τιμή, για να γίνουν οι αλλαγές σας, ορατές.'; $wb['new_domain_txt'] = 'HTML για την δημιουργία domain'; $wb['webftp_url_txt'] = 'URL του WebFTP'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Αποδοχή προσαρμοσμένου ονόματος login'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'URL της Mailing list '; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Χρήση Load Indicator (ενδεικτή φό $wb['f5_to_reload_js_txt'] = 'Αν το αλλάξετε, ίσως πρέπει να πατήσετε το F5 για να κάνετε τον φυλλομετρητη να ξαναφορτώσει τις βιβλιοθήκες JavaScript ή να αδείασετε την cache του φυλλομετρητή.'; $wb['client_username_web_check_disabled_txt'] = 'Απενεργοποίηση ελέγχου στο όνομα χρήστη για την λέξη \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Εμφάνιση της καρτέλας Αυτόματης Απάντησης στις λεπτομέρειες του λογαριασμού mail'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Εμφάνιση της καρτέλας Φίλτρα mail στις λεπτομέρειες του λογαριασμού mail'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Εμφάνιση της καρτέλας Προσαρμοσμένοι Κανόνες στις λεπτομέρειες του λογαριασμού mail'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/en_remote_action.lng b/interface/web/admin/lib/lang/en_remote_action.lng index 963eb473faa6e6b0ea4c5e23fe2122a0916392fe..16b45fada9adeb35902c30d5d84cc473af855fa1 100644 --- a/interface/web/admin/lib/lang/en_remote_action.lng +++ b/interface/web/admin/lib/lang/en_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a "aptitude -y upgrade" at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a "apt -y upgrade" at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index e609a339d5ee69808c478ee272999debf54a7482..4125b2648ea4f13786b613c2ab55ac5fd11d1db1 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -204,6 +204,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -323,6 +324,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/en_server_php.lng b/interface/web/admin/lib/lang/en_server_php.lng index 9d322804bb689273678d0733d9ba6e23c738b6c6..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/en_server_php.lng +++ b/interface/web/admin/lib/lang/en_server_php.lng @@ -13,6 +13,7 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; $wb['php_in_use_error'] = 'This PHP-Version is in use.'; $wb['php_name_in_use_error'] = 'The name can not be changed.'; diff --git a/interface/web/admin/lib/lang/en_software_package.lng b/interface/web/admin/lib/lang/en_software_package.lng deleted file mode 100644 index 5850719890ce87b8f5bc29f3356493f8316e9e85..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/admin/lib/lang/en_software_package_install.lng b/interface/web/admin/lib/lang/en_software_package_install.lng deleted file mode 100644 index d6ec373abb7aafe007f477c5f25a957bf521b4a7..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/admin/lib/lang/en_software_package_list.lng b/interface/web/admin/lib/lang/en_software_package_list.lng deleted file mode 100644 index 2909d8376e51f4a801bf99fb0e0a3f191558d2a4..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/en_software_repo.lng b/interface/web/admin/lib/lang/en_software_repo.lng deleted file mode 100644 index 38c163507edd0eb8db509aba945cbb813275dabe..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/admin/lib/lang/en_software_repo_list.lng b/interface/web/admin/lib/lang/en_software_repo_list.lng deleted file mode 100644 index 15b16e2d5b59473324eff98853281749bedf5b3d..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/interface/web/admin/lib/lang/en_software_update_list.lng b/interface/web/admin/lib/lang/en_software_update_list.lng deleted file mode 100644 index fe7639125cd2634fa809d9a6592e9e9fb21e84bb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/en_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 489ddbd32c9d42c84a84c6bc73b495e2787fbdb3..7db4270c128013516c6135c817198d9c30257c06 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -24,11 +24,9 @@ $wb['ftpuser_prefix_error_regex'] = 'Char not allowed in ftp user prefix.'; $wb['shelluser_prefix_error_regex'] = 'Char not allowed in shell user prefix.'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link to phpmyadmin in DB list'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailboxlist_webmail_link_txt'] = 'Link to webmail in Mailbox list'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'Show Autoresponder tab in Mailbox detail'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'Show Mail Filter tab in Mailbox detail'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'Show Custom Rules tab in Mailbox detail'; $wb['webmail_url_txt'] = 'Webmail URL'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -55,6 +53,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -103,4 +102,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/en_users_list.lng b/interface/web/admin/lib/lang/en_users_list.lng index cc978c78d0479757f9ea1fa7a6bf7ec44291e082..fb1c7bc6ddb8acdcf6dc66b9572f516b935fbf63 100644 --- a/interface/web/admin/lib/lang/en_users_list.lng +++ b/interface/web/admin/lib/lang/en_users_list.lng @@ -5,5 +5,5 @@ $wb['client_id_txt'] = 'User ID'; $wb['active_txt'] = 'Active'; $wb['groups_txt'] = 'Groups'; $wb['add_new_record_txt'] = 'Add new user'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; -?> \ No newline at end of file +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; +?> diff --git a/interface/web/admin/lib/lang/es_remote_action.lng b/interface/web/admin/lib/lang/es_remote_action.lng index d259d33a15803951c73a5554f534a4bf59fe15b7..0e7997d049eca881c5644e528a001f8348687afe 100644 --- a/interface/web/admin/lib/lang/es_remote_action.lng +++ b/interface/web/admin/lib/lang/es_remote_action.lng @@ -4,7 +4,7 @@ $wb['btn_do_txt'] = 'Ejecutar acción'; $wb['do_ispcupdate_caption'] = 'Realizar actualización de ISPConfig 3 en el servidor remoto'; $wb['do_ispcupdate_desc'] = 'Esta acción realizará una actualización de ISPConfig 3 en el servidor seleccionado.

¡USE ESTO BAJO SU PROPIA RESPONSABILIDAD!'; $wb['do_osupdate_caption'] = 'Ejecutar actualización de S.O. al servidor remoto'; -$wb['do_osupdate_desc'] = 'Esta acción realizará un \'aptitude -y upgrade\' en el servidor seleccionado.

¡USE ESTO BAJO SU PROPIA RESPONSABILIDAD!'; +$wb['do_osupdate_desc'] = 'Esta acción realizará un \'apt -y upgrade\' en el servidor seleccionado.

¡USE ESTO BAJO SU PROPIA RESPONSABILIDAD!'; $wb['ispconfig_update_text'] = 'Inicie sesión como root en el shell de su servidor y ejecute el comando

ispconfig_update.sh

para iniciar la actualización de ISPConfig.

Pulse aquí para ver una descripción detallada de cómo actualizar'; $wb['ispconfig_update_title'] = 'Instrucciones de actualización de ISPConfig'; $wb['select_all_server'] = 'Todos los servidores'; diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index 7f3289a5837d2132bb14028a1c6b26d29e25613f..67e77efac87b1dd937896a43e163e5e790bd3232 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -228,6 +228,7 @@ $wb['php_open_basedir_error_regex'] = 'El open_basedir para PHP es inválido.'; $wb['php_open_basedir_txt'] = 'open_basedir para PHP'; $wb['php_settings_txt'] = 'Opciones de PHP'; $wb['pop3_imap_daemon_txt'] = 'Servicio POP3/IMAP'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Por favor especifique nombres de host RBL válidos.'; $wb['realtime_blackhole_list_note_txt'] = '(Separe las listas RBL con una coma)'; $wb['realtime_blackhole_list_txt'] = 'Lista de filtrado en tiempo real'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/es_server_php.lng b/interface/web/admin/lib/lang/es_server_php.lng index 762fa0ed8c90c67fd1bfa4a9765858f3ce4da7a2..df2f0778f486de1bbd1b494a37270dc4e7518c2b 100644 --- a/interface/web/admin/lib/lang/es_server_php.lng +++ b/interface/web/admin/lib/lang/es_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fpm_init_script_txt'] = 'Ruta al archivo de arranque de PHP-FPM'; $wb['php_fpm_pool_dir_txt'] = 'Ruta al directorio de procesos de PHP-FPM'; $wb['server_id_txt'] = 'Servidor'; $wb['server_php_name_error_empty'] = 'El campo Nombre no puede estar vacío.'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/es_software_package.lng b/interface/web/admin/lib/lang/es_software_package.lng deleted file mode 100644 index af80e4a47930c8e36e56eb77562ad336903dfed2..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_software_package_install.lng b/interface/web/admin/lib/lang/es_software_package_install.lng deleted file mode 100644 index 838af344ecf3247fb4f49d96bd3a405d79edd36e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_software_package_list.lng b/interface/web/admin/lib/lang/es_software_package_list.lng deleted file mode 100644 index c1837c7a8248a5dd8649e64d431253967cab659e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_software_repo.lng b/interface/web/admin/lib/lang/es_software_repo.lng deleted file mode 100644 index 26382bd50330f5dd9646ac1a61b8ad39d85543dd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_software_repo_list.lng b/interface/web/admin/lib/lang/es_software_repo_list.lng deleted file mode 100644 index f6a624bd7d93b26e788f1d45d9d61270691a41aa..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_software_update_list.lng b/interface/web/admin/lib/lang/es_software_update_list.lng deleted file mode 100644 index 827c60e2999d9449e066a37dc09d1e0998ca7111..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/es_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng index f77377c2d0d05f1e19ee058086b1c512fb6cadb5..92633c160114e1721e48245bcc078cc6bf7bc6c6 100644 --- a/interface/web/admin/lib/lang/es_system_config.lng +++ b/interface/web/admin/lib/lang/es_system_config.lng @@ -29,11 +29,13 @@ $wb['default_dnsserver_txt'] = 'Servidor DNS por defecto'; $wb['default_mailserver_txt'] = 'Servidor de correo por defecto'; $wb['default_slave_dnsserver_txt'] = 'Servidor DNS secundario por defecto'; $wb['default_webserver_txt'] = 'Servidor web por defecto'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Permitir nombre de inicio de sesión personalizado'; $wb['f5_to_reload_js_txt'] = 'Si modifica esto, deberá pulsar F5 para que el explorador cargue las librerías JavaScript o incluso necesitará borrar la caché de su explorador.'; $wb['ftpuser_prefix_error_regex'] = 'Carácter no permitido en el prefijo de usuario de FTP.'; $wb['ftpuser_prefix_txt'] = 'Prefijo del usuario de FTP'; $wb['login_link_error_regex'] = 'Enlace incorrecto para el inicio de sesión personalizado'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Mostrar la pestaña del auto-respondedor en los detalles de la cuenta de correo'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Mostrar la pestaña filtro de correo personalizado en los detalles de la cuenta de correo'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Mostrar la pestaña filtro de correo en los detalles de la cuenta de correo'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/fi_remote_action.lng b/interface/web/admin/lib/lang/fi_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/fi_remote_action.lng +++ b/interface/web/admin/lib/lang/fi_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng index 7ab81469b78d3cc49bf699ffb9af4d5f25783294..dac02a14b7ee502d9c91a121d7a238ffc96c6c66 100644 --- a/interface/web/admin/lib/lang/fi_server_config.lng +++ b/interface/web/admin/lib/lang/fi_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/fi_server_php.lng b/interface/web/admin/lib/lang/fi_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/fi_server_php.lng +++ b/interface/web/admin/lib/lang/fi_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/fi_software_package.lng b/interface/web/admin/lib/lang/fi_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_software_package_install.lng b/interface/web/admin/lib/lang/fi_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_software_package_list.lng b/interface/web/admin/lib/lang/fi_software_package_list.lng deleted file mode 100644 index 87a9e193b5af46ab72dd14323f5d181e74e9907a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_software_repo.lng b/interface/web/admin/lib/lang/fi_software_repo.lng deleted file mode 100644 index f875f428b61f390155ef162d7e27f404328627b2..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_software_repo_list.lng b/interface/web/admin/lib/lang/fi_software_repo_list.lng deleted file mode 100644 index bde844c99f8d8ea61c5e7b4b1dd98c831ae57a92..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_software_update_list.lng b/interface/web/admin/lib/lang/fi_software_update_list.lng deleted file mode 100644 index 7871958353e51a7265e5910c7273e825a04ddb76..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fi_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fi_system_config.lng b/interface/web/admin/lib/lang/fi_system_config.lng index d35125456defe27570e826bf35a72c5dd79d5032..1a124440574379e02b7ac3a80ed90905f40ed01c 100644 --- a/interface/web/admin/lib/lang/fi_system_config.lng +++ b/interface/web/admin/lib/lang/fi_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/fr_remote_action.lng b/interface/web/admin/lib/lang/fr_remote_action.lng index 640c17af9011b93ca5ff543242916f5db27057f2..ca4dc85dddfe078c32937eb68db369e7f3a16446 100644 --- a/interface/web/admin/lib/lang/fr_remote_action.lng +++ b/interface/web/admin/lib/lang/fr_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Sélectionner un serveur'; $wb['btn_do_txt'] = 'Exécuter l’action'; $wb['do_osupdate_caption'] = 'Mettre à jour l\'OS du serveur distant'; -$wb['do_osupdate_desc'] = 'Cette action effectue aptitude -y upgrade sur le serveur sélectionné.

UTILISEZ A VOS RISQUES ET PERILS !'; +$wb['do_osupdate_desc'] = 'Cette action effectue apt -y upgrade sur le serveur sélectionné.

UTILISEZ A VOS RISQUES ET PERILS !'; $wb['do_ispcupdate_caption'] = 'Mettre à jour ISPConfig 3 sur le serveur distant'; $wb['do_ispcupdate_desc'] = 'Cette action met à jour ISPConfig3 sur le serveur sélectionné.

UTILISEZ A VOS RISQUES ET PERILS !'; $wb['action_scheduled'] = 'L’action est marquée pour exécution'; diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng index 0924bd4a4181df04e71c4b114e8551ad5cd7e987..0599b8bbed10b9bd886338f09bb65205f2b4887d 100644 --- a/interface/web/admin/lib/lang/fr_server_config.lng +++ b/interface/web/admin/lib/lang/fr_server_config.lng @@ -179,6 +179,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/fr_server_php.lng b/interface/web/admin/lib/lang/fr_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/fr_server_php.lng +++ b/interface/web/admin/lib/lang/fr_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/fr_software_package.lng b/interface/web/admin/lib/lang/fr_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_software_package_install.lng b/interface/web/admin/lib/lang/fr_software_package_install.lng deleted file mode 100644 index 39f643d3e65cc933abfe042042a4b4c333629590..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_software_package_list.lng b/interface/web/admin/lib/lang/fr_software_package_list.lng deleted file mode 100644 index 405b9e296fb191f3b337bf4f54ee0a8213748d4a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_software_repo.lng b/interface/web/admin/lib/lang/fr_software_repo.lng deleted file mode 100644 index f65c955d52d18927304af8fd78f1148091496408..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_software_repo_list.lng b/interface/web/admin/lib/lang/fr_software_repo_list.lng deleted file mode 100644 index 56749896bb0bf5c6b876cc1646a07ee273380656..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_software_update_list.lng b/interface/web/admin/lib/lang/fr_software_update_list.lng deleted file mode 100644 index 8fb67a03104596fa99c9e79560ccab14b00f50cb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/fr_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng index acbe607c74669bc51f707464ce358817cb7bc40a..a79bf9dafd7ce3b7ed37118e23cffcdd7f9dc2bf 100644 --- a/interface/web/admin/lib/lang/fr_system_config.lng +++ b/interface/web/admin/lib/lang/fr_system_config.lng @@ -16,6 +16,7 @@ $wb['ftpuser_prefix_error_regex'] = 'Caractère non autorisé dans le préfixe d $wb['shelluser_prefix_error_regex'] = 'Caractère non autorisé dans le préfixe de l’utilisateur Shell.'; $wb['webdavuser_prefix_error_regex'] = 'Caractère non autorisé dans le préfixe utilisateur WebDAV.'; $wb['dblist_phpmyadmin_link_txt'] = 'Lien vers PHPMyAdmin dans la liste des bases'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Autoriser les noms d’utilisateurs personnalisés'; $wb['mailboxlist_webmail_link_txt'] = 'Lien vers le Webmail dans la liste des boîtes mail'; $wb['webmail_url_txt'] = 'URL du Webmail'; @@ -48,6 +49,7 @@ $wb['use_combobox_txt'] = 'Use jQuery UI Combobox'; $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word ’web’.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/hr_remote_action.lng b/interface/web/admin/lib/lang/hr_remote_action.lng index 6b10a83f5340b8aa65be2a7a0a365337e9c1add3..d36e61de86750702369587c7cfdb1f7dbaa51006 100644 --- a/interface/web/admin/lib/lang/hr_remote_action.lng +++ b/interface/web/admin/lib/lang/hr_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Izaberi server'; $wb['btn_do_txt'] = 'Pokreni'; $wb['do_osupdate_caption'] = 'Nadogradi operativni sistem na udaljenom serveru'; -$wb['do_osupdate_desc'] = 'Ovime pokrećete \'aptitude -y upgrade\' na izabranom serveru.

KORISTITE NA VLASTITU ODGOVORNOST!'; +$wb['do_osupdate_desc'] = 'Ovime pokrećete \'apt -y upgrade\' na izabranom serveru.

KORISTITE NA VLASTITU ODGOVORNOST!'; $wb['do_ispcupdate_caption'] = 'Nadogradi ISPConfig 3 na udaljenom serveru'; $wb['do_ispcupdate_desc'] = 'Ovime pokrećete nadogradnju ISPConfig3-a na izabranom serveru.

KORISTITE NA VLASTITU ODGOVORNOST!'; $wb['action_scheduled'] = 'Nadogradnja je dodana u planer poslova'; diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng index 97b74e15f95002ec7ce252e172133359ae1e24be..e0894ceb82916b2a2b95c0889bfca6baaed23ade 100644 --- a/interface/web/admin/lib/lang/hr_server_config.lng +++ b/interface/web/admin/lib/lang/hr_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/hr_server_php.lng b/interface/web/admin/lib/lang/hr_server_php.lng index 5bfc1dd6d20d59cb3f1f28dda7755c122a84c1ad..15ec1b30f533c17414ed1908236ba4ee12561a16 100644 --- a/interface/web/admin/lib/lang/hr_server_php.lng +++ b/interface/web/admin/lib/lang/hr_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Putanja do php.ini direktorija'; $wb['php_fpm_init_script_txt'] = 'Putanja do PHP-FPM init skripte'; $wb['php_fpm_ini_dir_txt'] = 'Putanja do php.ini direktorija'; $wb['php_fpm_pool_dir_txt'] = 'Putanja do PHP-FPM pool direktorija'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/hr_software_package.lng b/interface/web/admin/lib/lang/hr_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_software_package_install.lng b/interface/web/admin/lib/lang/hr_software_package_install.lng deleted file mode 100644 index 22d7e0ce7a68bb864877ecaa7274034f9dc970bb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_software_package_list.lng b/interface/web/admin/lib/lang/hr_software_package_list.lng deleted file mode 100644 index 3722c5cff47ab2f4fc138fe036a087aa8226de13..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_software_repo.lng b/interface/web/admin/lib/lang/hr_software_repo.lng deleted file mode 100644 index bbfb2e2db29084c137cfd29804fc6be4ea2960ca..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_software_repo_list.lng b/interface/web/admin/lib/lang/hr_software_repo_list.lng deleted file mode 100644 index b79045bd76e8c2bdd363617f56efde702ebf5c92..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_software_update_list.lng b/interface/web/admin/lib/lang/hr_software_update_list.lng deleted file mode 100644 index 2250a186a33ca4e7cfa2f2882b9100047aed4a9b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hr_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng index a1a63e88dc559269aa78f26e3912759934b8144e..7a3426eff580f77e0e1cf684913b60f5b084e61f 100644 --- a/interface/web/admin/lib/lang/hr_system_config.lng +++ b/interface/web/admin/lib/lang/hr_system_config.lng @@ -23,6 +23,7 @@ $wb['webftp_url_txt'] = 'WebFTP URL'; $wb['dashboard_atom_url_admin_txt'] = 'RSS URL za početnu stranicu (admin)'; $wb['dashboard_atom_url_reseller_txt'] = 'RSS URL za početnu stranicu (reseller)'; $wb['dashboard_atom_url_client_txt'] = 'RSS URL za početnu stranicu (client)'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Dozvoli izbor korisničkog imena'; $wb['mailmailinglist_link_txt'] = 'Link na mailing listu u Mailing listi'; $wb['mailmailinglist_url_txt'] = 'URL mailing liste'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/hu_remote_action.lng b/interface/web/admin/lib/lang/hu_remote_action.lng index 6c31b4fd0dd31a54209267f38515009eb0e3fd86..03d94116b9f6047c100c304a977309083460bad3 100644 --- a/interface/web/admin/lib/lang/hu_remote_action.lng +++ b/interface/web/admin/lib/lang/hu_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Válasszon szervert'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng index 22a0725992d1b73e5e03b858b8e563814af7c435..97774f9ecd77c17812d7c3e4612a935b967ca053 100644 --- a/interface/web/admin/lib/lang/hu_server_config.lng +++ b/interface/web/admin/lib/lang/hu_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/hu_server_php.lng b/interface/web/admin/lib/lang/hu_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/hu_server_php.lng +++ b/interface/web/admin/lib/lang/hu_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/hu_software_package.lng b/interface/web/admin/lib/lang/hu_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_software_package_install.lng b/interface/web/admin/lib/lang/hu_software_package_install.lng deleted file mode 100644 index 6dc8be3f899c18a4a3796440fccbd743a203d51e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_software_package_list.lng b/interface/web/admin/lib/lang/hu_software_package_list.lng deleted file mode 100644 index 430583ce8a807b7741947c3a561baa6ef165b74d..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_software_repo.lng b/interface/web/admin/lib/lang/hu_software_repo.lng deleted file mode 100644 index 3c578e3694e64e0bb61e2042a7af189fbb633b8b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_software_repo_list.lng b/interface/web/admin/lib/lang/hu_software_repo_list.lng deleted file mode 100644 index f5e7aabcb2dd935dc28ee9649aa2e33e85356a04..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_software_update_list.lng b/interface/web/admin/lib/lang/hu_software_update_list.lng deleted file mode 100644 index c2edc83217d879d6cfc829de25c24afb3a1964ef..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/hu_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/hu_system_config.lng b/interface/web/admin/lib/lang/hu_system_config.lng index 65f673941fc38cf7b988768e0763529619e87223..5fb8f7cd6e54e364cbd43b31e3f369e9bbfe8f75 100644 --- a/interface/web/admin/lib/lang/hu_system_config.lng +++ b/interface/web/admin/lib/lang/hu_system_config.lng @@ -27,6 +27,7 @@ $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; $wb['admin_mail_txt'] = 'Administrators e-mail'; $wb['admin_name_txt'] = 'Administrators name'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['maintenance_mode_txt'] = 'Maintenance Mode'; $wb['maintenance_mode_exclude_ips_txt'] = 'Exclude IP\'s from maintenance'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/id_remote_action.lng b/interface/web/admin/lib/lang/id_remote_action.lng index 9e3eccb30885730125e874407887b4322cc08b06..2ddc957f630d7aff9bf3e177ff452b612226a430 100644 --- a/interface/web/admin/lib/lang/id_remote_action.lng +++ b/interface/web/admin/lib/lang/id_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Pilih Server'; $wb['btn_do_txt'] = 'Jalankan Tindakan'; $wb['do_osupdate_caption'] = 'Lakukan pemutakhiran OS di server remote'; -$wb['do_osupdate_desc'] = 'Tindakan ini menjalankan aptitude -y upgrade di server yang dipilih.

PENGGUNAANNYA MENJADI TANGGUNG JAWAB ANDA SENDIRI!'; +$wb['do_osupdate_desc'] = 'Tindakan ini menjalankan apt -y upgrade di server yang dipilih.

PENGGUNAANNYA MENJADI TANGGUNG JAWAB ANDA SENDIRI!'; $wb['do_ispcupdate_caption'] = 'Lakukan pemutakhiran ISPConfig 3 - di server remote'; $wb['do_ispcupdate_desc'] = 'Tindakan ini melakukan pemutakhiran ISPConfig3 di server yang Anda pilih.

PENGGUNAANNYA MENJADI TANGGUNG JAWAB ANDA SENDIRI!'; $wb['action_scheduled'] = 'Tindakan dijadwalkan untuk dijalankan'; diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng index 48627dd61403f3bd4364deeb910c49a3510a8a5a..814e963f649938d4cf6a88cb871844a7d0186b98 100644 --- a/interface/web/admin/lib/lang/id_server_config.lng +++ b/interface/web/admin/lib/lang/id_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/id_server_php.lng b/interface/web/admin/lib/lang/id_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/id_server_php.lng +++ b/interface/web/admin/lib/lang/id_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/id_software_package.lng b/interface/web/admin/lib/lang/id_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_software_package_install.lng b/interface/web/admin/lib/lang/id_software_package_install.lng deleted file mode 100644 index 9e966893caefed15e144571afc07f91705df52ea..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_software_package_list.lng b/interface/web/admin/lib/lang/id_software_package_list.lng deleted file mode 100644 index 02642be6e2c75183a8a08800207bf82f36424fb5..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_software_repo.lng b/interface/web/admin/lib/lang/id_software_repo.lng deleted file mode 100644 index 1c3b0305b4f25e5b09952507b4eb9c200dbc71bd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_software_repo_list.lng b/interface/web/admin/lib/lang/id_software_repo_list.lng deleted file mode 100644 index 63444907f31569d6926313329d15939bf2b9979c..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_software_update_list.lng b/interface/web/admin/lib/lang/id_software_update_list.lng deleted file mode 100644 index f789a0e72c472d55b27e254771c57d98bfcae3fd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/id_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/id_system_config.lng b/interface/web/admin/lib/lang/id_system_config.lng index 357ce174e667d7c00189c2118bfb9cc06ad8afb7..b1df781b7646c5b729a4eb6d19d1b64076e3552b 100644 --- a/interface/web/admin/lib/lang/id_system_config.lng +++ b/interface/web/admin/lib/lang/id_system_config.lng @@ -23,6 +23,7 @@ $wb['use_domain_module_txt'] = 'Gunakan modul domain untuk menambahkan domain ba $wb['use_domain_module_hint'] = 'Jika Anda menggunakan modul ini, pelanggan Anda hanya dapat memilih salah satu domain yang dibuat oleh admin untuk mereka. Mereka tidak bisa menyunting dengan bebas kolom domain. Anda harus masuk kembali setelah mengubah nilai ini, agar perubahannya terlihat.'; $wb['new_domain_txt'] = 'HTML untuk membuat domain baru'; $wb['webftp_url_txt'] = 'URL WebFTP'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/it_remote_action.lng b/interface/web/admin/lib/lang/it_remote_action.lng index 08d02db6a33163db54081c2a556c4721457d93f7..bb14a01f7575b8b34eeb7b77272dc97965441693 100644 --- a/interface/web/admin/lib/lang/it_remote_action.lng +++ b/interface/web/admin/lib/lang/it_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Seleziona Server'; $wb['btn_do_txt'] = 'Esegui Azione'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng index a2e824450b7873106a187a1e86126b1b216d7672..f9e30f39374728b73ef67c587d8c84c625117e68 100644 --- a/interface/web/admin/lib/lang/it_server_config.lng +++ b/interface/web/admin/lib/lang/it_server_config.lng @@ -179,6 +179,7 @@ $wb['enable_ip_wildcard_txt'] = 'Abilita IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Imposta cartelle sito in moaniera non modificabile (attributi estesi)'; $wb['overtraffic_notify_admin_txt'] = 'Trasmetti notifiche superamento traffico ad admin'; $wb['overtraffic_notify_client_txt'] = 'Trasmetti notifiche superamento traffico al cliente'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Per cortesia specificare nomi host RBL validi.'; $wb['overquota_notify_admin_txt'] = 'Trasmetti allarmi quota ad admin'; $wb['overquota_notify_client_txt'] = 'Trasmetti allarmi quota al cliente'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/it_server_php.lng b/interface/web/admin/lib/lang/it_server_php.lng index 805528f376d582be160fd802b36c26530f8b3e22..d85b5cd7da2a6adb369442e1b08734a4e3880d3f 100644 --- a/interface/web/admin/lib/lang/it_server_php.lng +++ b/interface/web/admin/lib/lang/it_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Percorso per php.ini directory'; $wb['php_fpm_init_script_txt'] = 'Percorso per PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Percorso per php.ini directory'; $wb['php_fpm_pool_dir_txt'] = 'Percorso per PHP-FPM pool directory'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/it_software_package.lng b/interface/web/admin/lib/lang/it_software_package.lng deleted file mode 100644 index d2e123cf85abc3c9fce3de2d5b6f3d5fa3c85459..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_software_package_install.lng b/interface/web/admin/lib/lang/it_software_package_install.lng deleted file mode 100644 index 1e210d58940cd0a352afaf9ff1d0f81697b8540e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_software_package_list.lng b/interface/web/admin/lib/lang/it_software_package_list.lng deleted file mode 100644 index 5ab82417de404318600984e7ac4d732fcb130840..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_software_repo.lng b/interface/web/admin/lib/lang/it_software_repo.lng deleted file mode 100644 index 76b01826971d75f28c53c52dbbed40f3587a7fdd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_software_repo_list.lng b/interface/web/admin/lib/lang/it_software_repo_list.lng deleted file mode 100644 index 4db52118ec6bd564032ac437355c68aa5e17cf78..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_software_update_list.lng b/interface/web/admin/lib/lang/it_software_update_list.lng deleted file mode 100644 index cc264b84eccbc926ccc68ca4b553548ad9eaf764..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/it_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/it_system_config.lng b/interface/web/admin/lib/lang/it_system_config.lng index 5d7cd32633b968abe94f8f8ddf72c8c5b3611eed..ddfc072ff2653d987596d44d76ba9949ec0621a6 100644 --- a/interface/web/admin/lib/lang/it_system_config.lng +++ b/interface/web/admin/lib/lang/it_system_config.lng @@ -23,6 +23,7 @@ $wb['webftp_url_txt'] = 'WebFTP URL'; $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)'; $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)'; $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -48,6 +49,7 @@ $wb['use_combobox_txt'] = 'Use jQuery UI Combobox'; $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ja_remote_action.lng b/interface/web/admin/lib/lang/ja_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/ja_remote_action.lng +++ b/interface/web/admin/lib/lang/ja_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng index 135c7ef51e254a59b47ca3186d3e499296a481c6..52ac44a351d9a35a9d25376c288d5225892ae266 100644 --- a/interface/web/admin/lib/lang/ja_server_config.lng +++ b/interface/web/admin/lib/lang/ja_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/ja_server_php.lng b/interface/web/admin/lib/lang/ja_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/ja_server_php.lng +++ b/interface/web/admin/lib/lang/ja_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/ja_software_package.lng b/interface/web/admin/lib/lang/ja_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_software_package_install.lng b/interface/web/admin/lib/lang/ja_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_software_package_list.lng b/interface/web/admin/lib/lang/ja_software_package_list.lng deleted file mode 100644 index e5352e91e7cf91fe7472f0797853dc7d9b77c1d9..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_software_repo.lng b/interface/web/admin/lib/lang/ja_software_repo.lng deleted file mode 100644 index c95399a54ebba86be6c0d10e24e1bdecb0f737cb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_software_repo_list.lng b/interface/web/admin/lib/lang/ja_software_repo_list.lng deleted file mode 100644 index a7d06d8fdec5616b64fbd9e572d0d37b11b0a337..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_software_update_list.lng b/interface/web/admin/lib/lang/ja_software_update_list.lng deleted file mode 100644 index f0ecf5711bfbe603072a559a54073ea008303770..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ja_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ja_system_config.lng b/interface/web/admin/lib/lang/ja_system_config.lng index 1887b69910ed918c40840677d1263e91eb1dc727..8ff20d13cade7b51fdf9d77603fe15f7e4a9c635 100644 --- a/interface/web/admin/lib/lang/ja_system_config.lng +++ b/interface/web/admin/lib/lang/ja_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ja_users_list.lng b/interface/web/admin/lib/lang/ja_users_list.lng index 21b07be3c5a80417f2ed47869aab8c9aaf9beacd..8896b8ccbd3ccd53f68e4f6d4539d8fc9077358d 100644 --- a/interface/web/admin/lib/lang/ja_users_list.lng +++ b/interface/web/admin/lib/lang/ja_users_list.lng @@ -4,6 +4,6 @@ $wb['username_txt'] = 'ユーザー名'; $wb['client_id_txt'] = 'Client ID'; $wb['active_txt'] = 'Active'; $wb['add_new_record_txt'] = 'ユーザーを追加する'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; $wb['groups_txt'] = 'Groups'; ?> diff --git a/interface/web/admin/lib/lang/nl_remote_action.lng b/interface/web/admin/lib/lang/nl_remote_action.lng index 6f1521152f65b993d7a1344369c19c72c5470701..146bbc6bfb7b89afeae5f0bd836b447697cb327d 100644 --- a/interface/web/admin/lib/lang/nl_remote_action.lng +++ b/interface/web/admin/lib/lang/nl_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Seleceert server'; $wb['btn_do_txt'] = 'Actie uitvoeren'; $wb['do_osupdate_caption'] = 'Voer een OS-update uit op de remote server'; -$wb['do_osupdate_desc'] = 'Deze actie voert een aptitude -y upgrade uit op de door u geselecteerde server.

GEBRUIK OP EIGEN RISICO!'; +$wb['do_osupdate_desc'] = 'Deze actie voert een apt -y upgrade uit op de door u geselecteerde server.

GEBRUIK OP EIGEN RISICO!'; $wb['do_ispcupdate_caption'] = 'Voer een ISPConfig 3 - update uit op de remote server'; $wb['do_ispcupdate_desc'] = 'Deze actie voert een ISPConfig3 update uit op de soor u geselecteerde server.

GEBRUIK OP EIGEN RISICO!'; $wb['action_scheduled'] = 'Deze actie is ingepland om uitgevoerd te worden'; diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng index 29bed0ec44c1d2e0829aae772d61ae0382991b82..e9e412b609e1fd6acb6c4374268a3346e1898cd4 100644 --- a/interface/web/admin/lib/lang/nl_server_config.lng +++ b/interface/web/admin/lib/lang/nl_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/nl_server_php.lng b/interface/web/admin/lib/lang/nl_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/nl_server_php.lng +++ b/interface/web/admin/lib/lang/nl_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/nl_software_package.lng b/interface/web/admin/lib/lang/nl_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_software_package_install.lng b/interface/web/admin/lib/lang/nl_software_package_install.lng deleted file mode 100644 index 87150b8cf190777da50b76bb1c1010aa108009c0..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_software_package_list.lng b/interface/web/admin/lib/lang/nl_software_package_list.lng deleted file mode 100644 index 44aaa563ad06f472796aa96a31d9a241c9cee4fc..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_software_repo.lng b/interface/web/admin/lib/lang/nl_software_repo.lng deleted file mode 100644 index 665c4197a24af7dd5caa4cc89e2e599f4a9a953e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_software_repo_list.lng b/interface/web/admin/lib/lang/nl_software_repo_list.lng deleted file mode 100644 index fc05fc269b9d6bdf36e7d0fb2d2f4f25822e33aa..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_software_update_list.lng b/interface/web/admin/lib/lang/nl_software_update_list.lng deleted file mode 100644 index 0d05c855943aad9b9933f72c91130efe5d17622f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/nl_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng index d5cd9e5c3797695240b8aa35a4efe62f773ac28d..0caa9228e08fda0e5dbb84ce29a66704ba2a9e1d 100644 --- a/interface/web/admin/lib/lang/nl_system_config.lng +++ b/interface/web/admin/lib/lang/nl_system_config.lng @@ -17,6 +17,7 @@ $wb['shelluser_prefix_error_regex'] = 'Char niet toegestaan in shell gebruiker v $wb['webdavuser_prefix_error_regex'] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link naar phpmyadmin in DB lijst'; $wb['mailboxlist_webmail_link_txt'] = 'Link naar webmail in Mailbox lijst'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -26,6 +27,7 @@ $wb['use_domain_module_txt'] = 'Gebruik de domein-module om nieuwe domeinen toe $wb['use_domain_module_hint'] = 'Als u deze module gebruikt, kunnen uw klanten alleen de domeinen selecteren die de administrator heeft aangemaakt. klanten kunnen het domein-veld zelf niet wijzigen. Na opnieuw ingelogd te zijn zullen de wijzigingen zichtbaar zijn.'; $wb['new_domain_txt'] = 'HTML om een nieuw domein te maken'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/pl_remote_action.lng b/interface/web/admin/lib/lang/pl_remote_action.lng index 67a819febba341362353e1d375255b698b4b3a06..884b2047d54293e9aae795e8c5737567c7022d54 100644 --- a/interface/web/admin/lib/lang/pl_remote_action.lng +++ b/interface/web/admin/lib/lang/pl_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Wybierz serwer'; $wb['btn_do_txt'] = 'Uruchom akcję'; $wb['do_osupdate_caption'] = 'Wykonaj zdalną aktualizację systemu na serwerze'; -$wb['do_osupdate_desc'] = 'Ta akcja wykona polecenie aptitude -y upgrade na wybranym serwerze.

UŻYWASZ JEJ NA WŁASNĄ ODPOWIEDZIALNOŚĆ!'; +$wb['do_osupdate_desc'] = 'Ta akcja wykona polecenie apt -y upgrade na wybranym serwerze.

UŻYWASZ JEJ NA WŁASNĄ ODPOWIEDZIALNOŚĆ!'; $wb['do_ispcupdate_caption'] = 'Wykonaj zdalną aktualizację ISPConfig 3 na serwerze'; $wb['do_ispcupdate_desc'] = 'Ta akcja przeprowadzi aktualizację ISPConfig3 na wybranym serwerze.

UŻYWASZ JEJ NA WŁASNĄ ODPOWIEDZIALNOŚĆ!'; $wb['action_scheduled'] = 'Akcja zaplanowana do wykonania'; diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng index 524018773f2b42cd4980aabc99f897c0a4402dcd..f9d43d3bfd8e09a3f0e86c1dda8d219f6bbceb51 100644 --- a/interface/web/admin/lib/lang/pl_server_config.lng +++ b/interface/web/admin/lib/lang/pl_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Prześlij informacje o przekroczeniu transferu do admina'; $wb['overtraffic_notify_client_txt'] = 'Prześlij informacje o przekroczeniu transferu do klienta'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/pl_server_php.lng b/interface/web/admin/lib/lang/pl_server_php.lng index 5a7c7b6f9bdd90a5cec71911c98247687365ff46..de4ce60ac1af074b470fa993c661b8890cd3d4db 100644 --- a/interface/web/admin/lib/lang/pl_server_php.lng +++ b/interface/web/admin/lib/lang/pl_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Ścieżka do katalogu php.ini'; $wb['php_fpm_init_script_txt'] = 'Ścieżka do skryptu inicjującego PHP-FPM'; $wb['php_fpm_ini_dir_txt'] = 'Ścieżka do katalogu php.ini'; $wb['php_fpm_pool_dir_txt'] = 'Ścieżka do katalogu pool PHP-FPM'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/pl_software_package.lng b/interface/web/admin/lib/lang/pl_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_software_package_install.lng b/interface/web/admin/lib/lang/pl_software_package_install.lng deleted file mode 100644 index fd2f2930dde345143a239e3755d6c6e0bfe32470..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_software_package_list.lng b/interface/web/admin/lib/lang/pl_software_package_list.lng deleted file mode 100644 index cb47abc46d380b691323486a72343a62f531b3ce..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_software_repo.lng b/interface/web/admin/lib/lang/pl_software_repo.lng deleted file mode 100644 index 1cc3dbb61c0846e040754b5462bb40ccf7cad308..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_software_repo_list.lng b/interface/web/admin/lib/lang/pl_software_repo_list.lng deleted file mode 100644 index 7ca6af9f9f43559891103a0c50ebd189da3f795b..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_software_update_list.lng b/interface/web/admin/lib/lang/pl_software_update_list.lng deleted file mode 100644 index aa49fba4e72ce46c22c3ca7a2d0a23ee6728a8f9..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pl_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pl_system_config.lng b/interface/web/admin/lib/lang/pl_system_config.lng index ace1b379731d681c9afcc6bb31910aabae839992..92b167c60d8c60ba4f19082d4c49a21da2b3a085 100644 --- a/interface/web/admin/lib/lang/pl_system_config.lng +++ b/interface/web/admin/lib/lang/pl_system_config.lng @@ -22,6 +22,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Prefiks użytkownika webdav'; $wb['webdavuser_prefix_error_regex'] = 'Niedozwolony znak w prefiksie użytkownika webdav.'; $wb['webftp_url_txt'] = 'Link do WebFTP'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Zezwalaj na dowolną nazwę loginu'; $wb['mailmailinglist_link_txt'] = 'Link do listy mailingowej na liście list mailingowych'; $wb['mailmailinglist_url_txt'] = 'URL listy mailingowej'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Użyj wskaźnika ładowania'; $wb['f5_to_reload_js_txt'] = 'Jeżeli zmienisz to, możesz potrzebować wcisnąć F5 lub wyczyścić cache aby przeglądarka przeładowała biblioteki JavaScript.'; $wb['client_username_web_check_disabled_txt'] = 'Wyłącz sprawdzanie nazwy klienta w poszukiwaniu słowa -web-.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Pokaż zakładkę autorespondera w szczegółach konta email.'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Pokaż zakładkę filtra email w szczegółach konta email.'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Pokaż zakładkę własnych filtrów email w szczegółach konta email.'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/pt_remote_action.lng b/interface/web/admin/lib/lang/pt_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/pt_remote_action.lng +++ b/interface/web/admin/lib/lang/pt_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng index bf3ae9f8c2cec64ab62e2254e331330b79f0d7d1..468413a1deab53236c67c84e6e51018e5709fd03 100644 --- a/interface/web/admin/lib/lang/pt_server_config.lng +++ b/interface/web/admin/lib/lang/pt_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/pt_server_php.lng b/interface/web/admin/lib/lang/pt_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/pt_server_php.lng +++ b/interface/web/admin/lib/lang/pt_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/pt_software_package.lng b/interface/web/admin/lib/lang/pt_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_software_package_install.lng b/interface/web/admin/lib/lang/pt_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_software_package_list.lng b/interface/web/admin/lib/lang/pt_software_package_list.lng deleted file mode 100644 index 1ec77bdd15f5403cd7bae71e328b56c5666f21ae..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_software_repo.lng b/interface/web/admin/lib/lang/pt_software_repo.lng deleted file mode 100644 index 436758e6871176d63b44f4eb812ebe2b945dc187..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_software_repo_list.lng b/interface/web/admin/lib/lang/pt_software_repo_list.lng deleted file mode 100644 index 5afba6d5e354b883e14193e3b1e45af361fbd135..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_software_update_list.lng b/interface/web/admin/lib/lang/pt_software_update_list.lng deleted file mode 100644 index 12fd9e2fa9106e1b1e6087fe06fc4dc641b1f71e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/pt_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/pt_system_config.lng b/interface/web/admin/lib/lang/pt_system_config.lng index 6738dec45f13c79a100ee841ecd38a3ea69dc735..491aa6272c75a24b0710fb9e04ead319a9288c25 100644 --- a/interface/web/admin/lib/lang/pt_system_config.lng +++ b/interface/web/admin/lib/lang/pt_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ro_remote_action.lng b/interface/web/admin/lib/lang/ro_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/ro_remote_action.lng +++ b/interface/web/admin/lib/lang/ro_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng index 5b5294dabab93ffdcd017eb86ed8c853a26b9ae9..e20fb9ee9f5ecc75ea9ad8da2a475878bc0c9f1d 100644 --- a/interface/web/admin/lib/lang/ro_server_config.lng +++ b/interface/web/admin/lib/lang/ro_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/ro_server_php.lng b/interface/web/admin/lib/lang/ro_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/ro_server_php.lng +++ b/interface/web/admin/lib/lang/ro_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/ro_software_package.lng b/interface/web/admin/lib/lang/ro_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_software_package_install.lng b/interface/web/admin/lib/lang/ro_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_software_package_list.lng b/interface/web/admin/lib/lang/ro_software_package_list.lng deleted file mode 100644 index 4a8dcbcbf09d1141554f5f73e6a0cea790911448..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_software_repo.lng b/interface/web/admin/lib/lang/ro_software_repo.lng deleted file mode 100644 index f2cbbb2c25776ab5f1794e7102ad264a98144049..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_software_repo_list.lng b/interface/web/admin/lib/lang/ro_software_repo_list.lng deleted file mode 100644 index b7a219ffa8e2f6d389fabdc5386286a24fc2a11a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_software_update_list.lng b/interface/web/admin/lib/lang/ro_software_update_list.lng deleted file mode 100644 index 1e85d6de5f373ca10133099e354f59a3debe33f1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ro_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ro_system_config.lng b/interface/web/admin/lib/lang/ro_system_config.lng index c4a82405c975bb61e4606f7d9df0a48912a327f5..fc268d22410452399e5fc8e62a5e36243deaf951 100644 --- a/interface/web/admin/lib/lang/ro_system_config.lng +++ b/interface/web/admin/lib/lang/ro_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; $wb['webdavuser_prefix_txt'] = 'Webdav user prefix'; $wb['webdavuser_prefix_error_regex'] = 'Char not allowed in webdav user prefix.'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/ro_users_list.lng b/interface/web/admin/lib/lang/ro_users_list.lng index c928d6b86f0f38bae8c151f756f4d00593811146..a69fd3dccf08c306532bbfe1fc7206bff8cdc085 100644 --- a/interface/web/admin/lib/lang/ro_users_list.lng +++ b/interface/web/admin/lib/lang/ro_users_list.lng @@ -4,6 +4,6 @@ $wb['username_txt'] = 'Username'; $wb['client_id_txt'] = 'Client ID'; $wb['active_txt'] = 'Active'; $wb['add_new_record_txt'] = 'Add user nou'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; $wb['groups_txt'] = 'Groups'; ?> diff --git a/interface/web/admin/lib/lang/ru_remote_action.lng b/interface/web/admin/lib/lang/ru_remote_action.lng index 858d96b02ef558f5841015886d5d1bbf9ca4c9ee..f9d10afc53873d8670b06aba9649012d29690ced 100644 --- a/interface/web/admin/lib/lang/ru_remote_action.lng +++ b/interface/web/admin/lib/lang/ru_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Выбор сервера'; $wb['btn_do_txt'] = 'Выполнить действие'; $wb['do_osupdate_caption'] = 'Обновление ОС на удалённом сервере'; -$wb['do_osupdate_desc'] = 'Это действие выполнит aptitude -y upgrade на выбранном сервере.

ИСПОЛЬЗУЙТЕ ЭТО НА СВОЙ СТРАХ И РИСК!'; +$wb['do_osupdate_desc'] = 'Это действие выполнит apt -y upgrade на выбранном сервере.

ИСПОЛЬЗУЙТЕ ЭТО НА СВОЙ СТРАХ И РИСК!'; $wb['do_ispcupdate_caption'] = 'Запуск обновления ISPConfig 3 на удалённом сервере'; $wb['do_ispcupdate_desc'] = 'Это действие выполнит обновление ISPConfig 3 на выбранном сервере.

ИСПОЛЬЗУЙТЕ ЭТО НА СВОЙ СТРАХ И РИСК!'; $wb['action_scheduled'] = 'Действие запланировано на выполнение'; diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng index 6499caa292d1d53b437a0af6f320959711ed0735..1799b075f49fd9155b07b7cc667f8fd9cc161f9e 100644 --- a/interface/web/admin/lib/lang/ru_server_config.lng +++ b/interface/web/admin/lib/lang/ru_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Включить IP подстановочны $wb['web_folder_protection_txt'] = 'Сделать веб-папки неизменяемыми (расширенные атрибуты)'; $wb['overtraffic_notify_admin_txt'] = 'Присылать уведомление трафика администратору'; $wb['overtraffic_notify_client_txt'] = 'Присылать уведомление трафика клиенту'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Пожалуйста, укажите действительные имена хостов RBL.'; $wb['overquota_notify_admin_txt'] = 'Присылать предупреждения квоты администратору'; $wb['overquota_notify_client_txt'] = 'Присылать предупреждения квоты клиенту'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/ru_server_php.lng b/interface/web/admin/lib/lang/ru_server_php.lng index 854b8a3c23ebb0a392d77f14bd1947c81f60e3dd..c5c4942b8e08ebf2cbfdba21300d413857356c1d 100644 --- a/interface/web/admin/lib/lang/ru_server_php.lng +++ b/interface/web/admin/lib/lang/ru_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Путь к каталогу php.ini FastCGI'; $wb['php_fpm_init_script_txt'] = 'Путь к скрипту нициализации PHP-FPM'; $wb['php_fpm_ini_dir_txt'] = 'Путь к каталогу php.ini PHP-FPM'; $wb['php_fpm_pool_dir_txt'] = 'Путь до каталога пула PHP-FPM'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/ru_software_package.lng b/interface/web/admin/lib/lang/ru_software_package.lng deleted file mode 100644 index 490184dd9273e48d69c9cecfdd313c95684a75f3..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_software_package_install.lng b/interface/web/admin/lib/lang/ru_software_package_install.lng deleted file mode 100644 index 21efc7d5629d6f3eb9f561786eff2858d8afd2c8..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_software_package_list.lng b/interface/web/admin/lib/lang/ru_software_package_list.lng deleted file mode 100644 index 791cfa33aed4e3141df8a82bf1c4a0f6d9dbb27f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_software_repo.lng b/interface/web/admin/lib/lang/ru_software_repo.lng deleted file mode 100644 index 5aec8763c173d4ac73419c725857b0978e1b8743..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_software_repo_list.lng b/interface/web/admin/lib/lang/ru_software_repo_list.lng deleted file mode 100644 index ed307454aef1042f662726326029eb9ed541340f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_software_update_list.lng b/interface/web/admin/lib/lang/ru_software_update_list.lng deleted file mode 100644 index dde28811d537a8d95b07736564cae1f6d81659cd..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/ru_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/ru_system_config.lng b/interface/web/admin/lib/lang/ru_system_config.lng index 4dc033721ca354a76867c88f660b9f76aa4d4712..ae12c4b4c1682d4b63b38159635896325dafce5d 100644 --- a/interface/web/admin/lib/lang/ru_system_config.lng +++ b/interface/web/admin/lib/lang/ru_system_config.lng @@ -23,6 +23,7 @@ $wb['webftp_url_txt'] = 'URL WebFTP'; $wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)'; $wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)'; $wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Разрешить пользовательское имя входа в систему'; $wb['mailmailinglist_link_txt'] = 'Ссылка на почтовую рассылку в списке рассылок'; $wb['mailmailinglist_url_txt'] = 'URL почтовой рассылки'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Использовать индикатор за $wb['f5_to_reload_js_txt'] = 'Если вы измените это, вам, возможно, придется нажать F5, чтобы перезагрузить в браузере JavaScript-библиотеи или очистить кэш браузера.'; $wb['client_username_web_check_disabled_txt'] = 'Отключить проверку логина клиента для слова \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Включить резервное копирование файлов в веб-квоту.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Показывать вкладку автоответчика в деталях учетной записи электронной почты'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Показывать вкладку почтового фильтра в деталях учетной записи электронной почты'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Показывать вкладку пользовательского почтового фильтра в деталях учетной записи электронной почты'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng index fe6a849905a143f773ec78e3ac2dab2af6233223..9aeb7d9ba3c3e193cbd625b3aebcc1bcbb2e9f97 100644 --- a/interface/web/admin/lib/lang/se_remote_action.lng +++ b/interface/web/admin/lib/lang/se_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Välj server'; $wb['btn_do_txt'] = 'Utför handling'; $wb['do_osupdate_caption'] = 'Utför OS-uppdatering på fjärrserver'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Utför ISPConfig 3 -uppdatering på fjärrserver'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'Handlingen är schemalagd att utföras'; diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng index cedb605b78935bf8cd37ce9e2187ce2b8254a7a7..fe3c2e923401b8d1a9ce1e76ef870513e5c3f30d 100644 --- a/interface/web/admin/lib/lang/se_server_config.lng +++ b/interface/web/admin/lib/lang/se_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/se_server_php.lng b/interface/web/admin/lib/lang/se_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/se_server_php.lng +++ b/interface/web/admin/lib/lang/se_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/se_software_package.lng b/interface/web/admin/lib/lang/se_software_package.lng deleted file mode 100644 index 086902db0cbddab5c57150f462e0583e020903a6..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_software_package_install.lng b/interface/web/admin/lib/lang/se_software_package_install.lng deleted file mode 100644 index 434fc4bc98139ec1e01a513bd4cd8036e446edb7..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_software_package_list.lng b/interface/web/admin/lib/lang/se_software_package_list.lng deleted file mode 100644 index c0222e1ba4fb975e56722d0080afde3d734e0cfb..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_software_repo.lng b/interface/web/admin/lib/lang/se_software_repo.lng deleted file mode 100644 index a0e0de6822419055beee042cb8df66b7532d9984..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_software_repo_list.lng b/interface/web/admin/lib/lang/se_software_repo_list.lng deleted file mode 100644 index b7a219ffa8e2f6d389fabdc5386286a24fc2a11a..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_software_update_list.lng b/interface/web/admin/lib/lang/se_software_update_list.lng deleted file mode 100644 index 0cf7c0eddc2c9c336c80085af3a5cb98b0f0d806..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/se_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng index b6d1768e00bf20e330e913cd935f2628c70dc541..fa302c344aa1531d3e2fc0e7863ec5823088b601 100644 --- a/interface/web/admin/lib/lang/se_system_config.lng +++ b/interface/web/admin/lib/lang/se_system_config.lng @@ -23,6 +23,7 @@ $wb['dashboard_atom_url_client_txt'] = 'Kontrolpanelens nyhetsflöde URL (kund)' $wb['webdavuser_prefix_txt'] = 'Prefix för WebDAV-användare'; $wb['webdavuser_prefix_error_regex'] = 'Otillåtet tecken i prefix för WebDAV-användare'; $wb['webftp_url_txt'] = 'WebbFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Tillåt valfritt inloggningsnamn'; $wb['mailmailinglist_link_txt'] = 'Länka till epostlista i listan över epostlistor'; $wb['mailmailinglist_url_txt'] = 'Adress till epostlista'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Använd laddningsindikator'; $wb['f5_to_reload_js_txt'] = 'Om du ändrar detta kan du behöva trycka F5 för att ladda om javascript, eller rensa din webbläsarcache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Visa autosvarsfliken vid detaljerna för epostkonto'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Visa epostfilterfliken vid detaljerna för epostkonto'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/sk_remote_action.lng b/interface/web/admin/lib/lang/sk_remote_action.lng index 3f8948e19f602408715f9554606f5478359bec9a..dfe56b616d5b3d18abd7eb9965b8c5602cb4354c 100644 --- a/interface/web/admin/lib/lang/sk_remote_action.lng +++ b/interface/web/admin/lib/lang/sk_remote_action.lng @@ -2,7 +2,7 @@ $wb['select_server_txt'] = 'Select Server'; $wb['btn_do_txt'] = 'Execute action'; $wb['do_osupdate_caption'] = 'Do OS-Update at remote server'; -$wb['do_osupdate_desc'] = 'This Action does a aptitude -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; +$wb['do_osupdate_desc'] = 'This Action does a apt -y upgrade at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['do_ispcupdate_caption'] = 'Do ISPConfig 3 - Update at remote server'; $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your selected server.

USE THIS AT YOUR OWN RISK!'; $wb['action_scheduled'] = 'The action is scheduled for execution'; diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng index bacb2e02ad0ecc0a1ed6a650049bb996c8772b02..bc7f9f514bdb25db6f112c4bef47c44a7817530d 100644 --- a/interface/web/admin/lib/lang/sk_server_config.lng +++ b/interface/web/admin/lib/lang/sk_server_config.lng @@ -191,6 +191,7 @@ $wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; $wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; $wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; $wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; $wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; @@ -315,6 +316,14 @@ $wb['content_filter_txt'] = 'Content Filter'; $wb['rspamd_url_txt'] = 'Rspamd URL'; $wb['rspamd_user_txt'] = 'Rspamd User'; $wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/sk_server_php.lng b/interface/web/admin/lib/lang/sk_server_php.lng index 179a8fc357142ea401cd663697ef817237957d10..491be1aae2ecd613527e187940420d748137ed86 100644 --- a/interface/web/admin/lib/lang/sk_server_php.lng +++ b/interface/web/admin/lib/lang/sk_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; $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'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Active'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/sk_software_package.lng b/interface/web/admin/lib/lang/sk_software_package.lng deleted file mode 100644 index faffe38217fb9cac04020e73e473c6c46e3caaa1..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_software_package_install.lng b/interface/web/admin/lib/lang/sk_software_package_install.lng deleted file mode 100644 index 5c8b756434ce27d67e479a96383bbee01bce4f1f..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_software_package_list.lng b/interface/web/admin/lib/lang/sk_software_package_list.lng deleted file mode 100644 index 502a3a2237707e5c196a6b6523743c118fb02870..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_software_repo.lng b/interface/web/admin/lib/lang/sk_software_repo.lng deleted file mode 100644 index 263614f50c2b62177cdaf21eb27de6d42b6adc64..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_software_repo_list.lng b/interface/web/admin/lib/lang/sk_software_repo_list.lng deleted file mode 100644 index c77d4a3846eb7cbcdd5aa639f7c63e96aba501ee..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_software_update_list.lng b/interface/web/admin/lib/lang/sk_software_update_list.lng deleted file mode 100644 index 9a04707c3ed2dc48e79ece8016eab73babe8f86e..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/sk_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/sk_system_config.lng b/interface/web/admin/lib/lang/sk_system_config.lng index db488f222827835509a062934e5bdce744686c7b..6735e91c53f82691edd308d6d07b8723f1f0296c 100644 --- a/interface/web/admin/lib/lang/sk_system_config.lng +++ b/interface/web/admin/lib/lang/sk_system_config.lng @@ -23,6 +23,7 @@ $wb['use_domain_module_txt'] = 'Use the domain-module to add new domains'; $wb['use_domain_module_hint'] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.'; $wb['new_domain_txt'] = 'HTML to create a new domain'; $wb['webftp_url_txt'] = 'WebFTP URL'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; $wb['mailmailinglist_url_txt'] = 'Mailing list URL'; @@ -51,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Use Load Indicator'; $wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; $wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; $wb['backups_include_into_web_quota_txt'] = 'Include backup files into web quota.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; @@ -99,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/lang/sk_users_list.lng b/interface/web/admin/lib/lang/sk_users_list.lng index c393f199928e5c338133613368c407e956065cd3..49746bddaf252d746f2b72a12ff4e77f83185617 100644 --- a/interface/web/admin/lib/lang/sk_users_list.lng +++ b/interface/web/admin/lib/lang/sk_users_list.lng @@ -4,6 +4,6 @@ $wb['username_txt'] = 'Užívateľské meno'; $wb['client_id_txt'] = 'Client ID'; $wb['active_txt'] = 'Active'; $wb['add_new_record_txt'] = 'Pridať nového užívateľa'; -$wb['warning_txt'] = 'WARNING: Do not edit or modify any user settings here. Use the Client- and Reseller settings in the Client module instead. Modifying or changing users or groups here may cause data loss!'; +$wb['warning_txt'] = 'WARNING: Do not edit or modify any client user settings here. Use the client- and reseller settings in the client module instead. Modifying or changing client users or groups here may cause data loss!'; $wb['groups_txt'] = 'Groups'; ?> diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng index f92561872172b98ab0d8ba6e02c213e2bc3a3c98..0d0c84f2c73f873cb7dffb245c8deeb9e1ce2b22 100644 --- a/interface/web/admin/lib/lang/tr_server_config.lng +++ b/interface/web/admin/lib/lang/tr_server_config.lng @@ -198,6 +198,7 @@ $wb['enable_ip_wildcard_txt'] = 'IP Genel Karakteri (*) Kullanılsın'; $wb['web_folder_protection_txt'] = 'Web klasörleri ayarlanamasın (genişletilmiş öznitelikler)'; $wb['overtraffic_notify_admin_txt'] = 'Trafik Aşımı Bildirimi Yöneticiye Gönderilsin'; $wb['overtraffic_notify_client_txt'] = 'Trafik Aşımı Bildirimi Müşteriye Gönderilsin'; +$wb['overtraffic_disable_web_txt'] = 'Disable websites that exceed traffic limit'; $wb['rbl_error_regex'] = 'Lütfen geçerli RBL sunucu adları yazın.'; $wb['overquota_notify_admin_txt'] = 'Kota Uyarıları Yöneticiye Gönderilsin'; $wb['overquota_notify_client_txt'] = 'Kota Uyarıları Müşteriye Gönderilsin'; @@ -309,6 +310,17 @@ $wb['log_retention_error_ispositive'] = 'Günlük tutma süresi 0 değerinden b $wb['php_default_hide_txt'] = 'Hide Default PHP-Version in selectbox'; $wb['php_default_name_txt'] = 'Varsayılan PHP Sürümü Açıklaması'; $wb['php_default_name_error_empty'] = 'Varsayılan PHP sürümü açıklaması boş olamaz'; +$wb['rspamd_url_txt'] = 'Rspamd URL'; +$wb['rspamd_user_txt'] = 'Rspamd User'; +$wb['rspamd_password_txt'] = 'Rspamd Password'; +$wb['rspamd_redis_servers_txt'] = 'Redis Servers'; +$wb['tooltip_rspamd_redis_servers_txt'] = 'Redis server(s) which Rspamd will use. Eg. \'127.0.0.1\', \'localhost:6379\' or \'/var/run/redis/redis-server.sock\'.'; +$wb['rspamd_redis_password_txt'] = 'Redis Password'; +$wb['tooltip_rspamd_redis_password_txt'] = 'Password for Redis Servers (leave blank if unused).'; +$wb['rspamd_redis_bayes_servers_txt'] = 'Redis Servers for Bayes'; +$wb['tooltip_rspamd_redis_bayes_servers_txt'] = 'Redis server(s) which Rspamd will use for Bayes if different (otherwise leave blank). Eg. \'localhost:6378\' or \'/var/run/redis-bayes/redis-server.sock\'.'; +$wb['rspamd_redis_bayes_password_txt'] = 'Redis Password for Bayes'; +$wb['tooltip_rspamd_redis_bayes_password_txt'] = 'Password for Bayes Redis Server (leave blank if unused).'; $wb['vhost_proxy_protocol_enabled_txt'] = 'Enable PROXY Protocol'; $wb['vhost_proxy_protocol_http_port_txt'] = 'PROXY Protocol HTTP Port'; $wb['vhost_proxy_protocol_https_port_txt'] = 'PROXY Protocol HTTPS Port'; diff --git a/interface/web/admin/lib/lang/tr_server_php.lng b/interface/web/admin/lib/lang/tr_server_php.lng index e0437e94b323a1aa5d463d2b7652db266e167669..71b130e3d25bcf8ef9d8a553932416ed13b197b6 100644 --- a/interface/web/admin/lib/lang/tr_server_php.lng +++ b/interface/web/admin/lib/lang/tr_server_php.lng @@ -13,5 +13,8 @@ $wb['php_fastcgi_ini_dir_txt'] = 'php.ini Klasörünün Yolu'; $wb['php_fpm_init_script_txt'] = 'PHP-FPM Başlatma Betiğinin Yolu'; $wb['php_fpm_ini_dir_txt'] = 'php.ini Klasörünün Yolu'; $wb['php_fpm_pool_dir_txt'] = 'PHP-FPM Havuz Klasörünün Yolu'; +$wb['php_fpm_socket_dir_txt'] = 'PHP-FPM socket directory'; $wb['active_txt'] = 'Etkin'; +$wb['php_in_use_error'] = 'This PHP-Version is in use.'; +$wb['php_name_in_use_error'] = 'The name can not be changed.'; ?> diff --git a/interface/web/admin/lib/lang/tr_software_package.lng b/interface/web/admin/lib/lang/tr_software_package.lng deleted file mode 100644 index addda60195a1bb25f115b50b835b59153eea8030..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_package.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_software_package_install.lng b/interface/web/admin/lib/lang/tr_software_package_install.lng deleted file mode 100644 index fe7dd26e735ac376fc846b932c0cc806d9347eed..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_package_install.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_software_package_list.lng b/interface/web/admin/lib/lang/tr_software_package_list.lng deleted file mode 100644 index 1838ff94cfc3b7f0e87cfd68f1bb25da551f4988..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_package_list.lng +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_software_repo.lng b/interface/web/admin/lib/lang/tr_software_repo.lng deleted file mode 100644 index 13e113967fad2f6fe9ef10ee1d190abc9ab7fd23..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_repo.lng +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_software_repo_list.lng b/interface/web/admin/lib/lang/tr_software_repo_list.lng deleted file mode 100644 index 5e2fdf5b928950f51e2da6d597739afef36d1d11..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_repo_list.lng +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_software_update_list.lng b/interface/web/admin/lib/lang/tr_software_update_list.lng deleted file mode 100644 index a462d90faa7dc79180330f9ebe69d176cdc5117d..0000000000000000000000000000000000000000 --- a/interface/web/admin/lib/lang/tr_software_update_list.lng +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/interface/web/admin/lib/lang/tr_system_config.lng b/interface/web/admin/lib/lang/tr_system_config.lng index 64d81b2c695111bfe221811dc5dd9b47bb3d0722..b767101e22a67448d6d91d193b70c69f02da1450 100644 --- a/interface/web/admin/lib/lang/tr_system_config.lng +++ b/interface/web/admin/lib/lang/tr_system_config.lng @@ -24,11 +24,9 @@ $wb['ftpuser_prefix_error_regex'] = 'FTP kullanıcısı ön ekinde izin verilmey $wb['shelluser_prefix_error_regex'] = 'Kabuk kullanıcısı ön ekinde izin verilmeyen karakterler var'; $wb['webdavuser_prefix_error_regex'] = 'Webdav kullanıcısı ön ekinde izin verilmeyen karakterler var.'; $wb['dblist_phpmyadmin_link_txt'] = 'Veritabanı listesinde phpMyAdmin bağlantısı'; +$wb['enable_welcome_mail_txt'] = 'Enable welcome email'; $wb['enable_custom_login_txt'] = 'Özel oturum açma kullanıcı adı kullanılabilsin'; $wb['mailboxlist_webmail_link_txt'] = 'E-posta kutusu listesinde Webmail bağlantısı'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'E-posta hesabı ayrıntılarında otoyanıtlayıcı sekmesi görüntülensin'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'E-posta hesabı ayrıntılarında e-posta süzgeci sekmesi görüntülensin'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'E-posta hesabı ayrıntılarında isteğe bağlı e-posta süzgeci sekmesi görüntülensin'; $wb['webmail_url_txt'] = 'Webmail Adresi'; $wb['mailmailinglist_link_txt'] = 'E-posta Listeleri listesinde E-posta Listesi bağlantısı'; $wb['mailmailinglist_url_txt'] = 'E-posta Listesi Adresi'; @@ -54,6 +52,7 @@ $wb['use_loadindicator_txt'] = 'Yük Göstergesi Kullanılsın'; $wb['f5_to_reload_js_txt'] = 'Bu değer değiştirildiğinde, web tarayıcının JavaScript kitaplıklarını yeniden yüklemesi için F5 tuşuna basmalı ya da web tarayıcının ön belleğini temizlemelisiniz.'; $wb['client_username_web_check_disabled_txt'] = 'Müşteri kullanıcı adında \'web\' sözcüğü denetimi devre dışı bırakılsın.'; $wb['backups_include_into_web_quota_txt'] = 'Yedek dosyaları web kotasına katılsın.'; +$wb['show_per_domain_relay_options_txt'] = 'Show per domain relay options'; $wb['mailbox_show_autoresponder_tab_txt'] = 'E-posta hesabı ayrıntılarında otoyanıtlayıcı sekmesi görüntülensin'; $wb['mailbox_show_mail_filter_tab_txt'] = 'E-posta hesabı ayrıntılarında e-posta süzgeci sekmesi görüntülensin'; $wb['mailbox_show_custom_rules_tab_txt'] = 'E-posta hesabı ayrıntılarında isteğe bağlı e-posta süzgeci sekmesi görüntülensin'; @@ -102,4 +101,8 @@ $wb['btn_save_txt'] = 'Save'; $wb['btn_cancel_txt'] = 'Cancel'; $wb['web_php_options_txt'] = 'PHP Handler (Apache only)'; $wb['client_protection_txt'] = 'Client protection'; +$wb['show_support_messages_txt'] = 'Show message function in help module'; +$wb['show_aps_menu_txt'] = 'Show APS menu'; +$wb['show_aps_menu_note_txt'] = 'APS will be removed from the panel in the near future.'; +$wb['show_aps_menu_note_url_txt'] = 'Click here for more information.'; ?> diff --git a/interface/web/admin/lib/module.conf.php b/interface/web/admin/lib/module.conf.php index 124656b7f302df41d02cd388e21354f7d9688fbb..59b2e1ffc170909c060f93a4db265f965e04a3e5 100644 --- a/interface/web/admin/lib/module.conf.php +++ b/interface/web/admin/lib/module.conf.php @@ -92,30 +92,6 @@ $module['nav'][] = array( 'title' => 'Interface', 'items' => $items); -// cleanup -unset($items); - - -$items[] = array( 'title' => 'Repositories', - 'target' => 'content', - 'link' => 'admin/software_repo_list.php', - 'html_id' => 'software_repo_list'); - -$items[] = array( 'title' => 'Packages', - 'target' => 'content', - 'link' => 'admin/software_package_list.php', - 'html_id' => 'software_package_list'); - -$items[] = array( 'title' => 'Updates', - 'target' => 'content', - 'link' => 'admin/software_update_list.php', - 'html_id' => 'software_update_list'); - -$module['nav'][] = array( 'title' => 'Software', - 'open' => 1, - 'items' => $items); - - // cleanup unset($items); diff --git a/interface/web/admin/lib/remote.conf.php b/interface/web/admin/lib/remote.conf.php index a1067a992f8c035e727355e503e517180430f540..9c2db8144e3da2b20a872f0fef78718f60ba45f7 100644 --- a/interface/web/admin/lib/remote.conf.php +++ b/interface/web/admin/lib/remote.conf.php @@ -3,4 +3,9 @@ $function_list['server_get,server_config_set,get_function_list,client_templates_get_all,server_get_serverid_by_ip,server_ip_get,server_ip_add,server_ip_update,server_ip_delete,system_config_set,system_config_get,config_value_get,config_value_add,config_value_update,config_value_replace,config_value_delete'] = 'Server functions'; $function_list['admin_record_permissions'] = 'Record permission changes'; +# Roundcube: generate list of actual soap methods used with: +# grep soap-\> /usr/share/roundcube/plugins/ispconfig3_*/ispconfig3_*.php | sed -e 's/^.*soap->//g' -e 's/(.*$//g' | sort -u | xargs | sed -e 's/ /,/g' +# +$function_list['client_get_id,login,logout,mail_alias_get,mail_fetchmail_add,mail_fetchmail_delete,mail_fetchmail_get,mail_fetchmail_update,mail_policy_get,mail_spamfilter_blacklist_add,mail_spamfilter_blacklist_delete,mail_spamfilter_blacklist_get,mail_spamfilter_blacklist_update,mail_spamfilter_user_add,mail_spamfilter_user_get,mail_spamfilter_user_update,mail_spamfilter_whitelist_add,mail_spamfilter_whitelist_delete,mail_spamfilter_whitelist_get,mail_spamfilter_whitelist_update,mail_user_filter_add,mail_user_filter_delete,mail_user_filter_get,mail_user_filter_update,mail_user_get,mail_user_update,server_get,server_get_app_version'] = 'Roundcube plugins functions'; + ?> diff --git a/interface/web/admin/list/software_repo.list.php b/interface/web/admin/list/software_repo.list.php deleted file mode 100644 index 0e172ace99ad7bf2bf53234922d2aa7432a90fb3..0000000000000000000000000000000000000000 --- a/interface/web/admin/list/software_repo.list.php +++ /dev/null @@ -1,78 +0,0 @@ - "active", - 'datatype' => "VARCHAR", - 'formtype' => "SELECT", - 'op' => "=", - 'prefix' => "", - 'suffix' => "", - 'width' => "", - 'value' => array('y' => $app->lng('yes_txt'), 'n' => $app->lng('no_txt'))); - -$liste["item"][] = array( 'field' => "repo_name", - 'datatype' => "VARCHAR", - 'formtype' => "TEXT", - 'op' => "like", - 'prefix' => "%", - 'suffix' => "%", - 'width' => "", - 'value' => ""); - - -$liste["item"][] = array( 'field' => "repo_url", - 'datatype' => "VARCHAR", - 'formtype' => "TEXT", - 'op' => "like", - 'prefix' => "%", - 'suffix' => "%", - 'width' => "", - 'value' => ""); - -?> diff --git a/interface/web/admin/server_config_edit.php b/interface/web/admin/server_config_edit.php index 339ac2f2f5605d9b6ad0ccb2d2d462113aee3b4f..1fd1921b84e38562f1b756426c63bddf801430a3 100644 --- a/interface/web/admin/server_config_edit.php +++ b/interface/web/admin/server_config_edit.php @@ -57,7 +57,7 @@ class page_action extends tform_actions { // get the config $app->uses('getconf'); - $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); + $web_config = $app->getconf->get_server_config($this->id, 'web'); if($web_config['server_type'] == 'nginx'){ unset($app->tform->formDef["tabs"]["fastcgi"]); @@ -90,8 +90,12 @@ class page_action extends tform_actions { $this->dataRecord = $app->getconf->get_server_config($server_id, $section); if($section == 'mail'){ - $server_config = $app->getconf->get_server_config($server_id, 'server'); - $rspamd_url = 'https://'.$server_config['hostname'].':8081/rspamd/'; + if(trim($this->dataRecord['rspamd_url'] == '')) { + $server_config = $app->getconf->get_server_config($server_id, 'server'); + $rspamd_url = 'https://'.$server_config['hostname'].':8081/rspamd/'; + } else { + $rspamd_url = $this->dataRecord['rspamd_url']; + } } } diff --git a/interface/web/admin/software_package_del.php b/interface/web/admin/software_package_del.php deleted file mode 100644 index e1387f39c43459b7261f1d90d19798a78c4a7d3e..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_package_del.php +++ /dev/null @@ -1,57 +0,0 @@ -auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_packages'); -if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.'); - -// Check CSRF Token -$app->auth->csrf_token_check('GET'); - -$software_update_inst_id = $app->functions->intval($_GET['software_update_inst_id']); - -if($software_update_inst_id > 0) { - $app->db->datalogDelete('software_update_inst', 'software_update_inst_id', $software_update_inst_id); - //header('Location: admin/software_package_list.php'); - die('HEADER_REDIRECT: admin/software_package_list.php'); -} else { - die('Invalid ID'); -} - - - - - - -?> diff --git a/interface/web/admin/software_package_edit.php b/interface/web/admin/software_package_edit.php deleted file mode 100644 index 65555d3a3570d12fce552171a1df350201902c75..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_package_edit.php +++ /dev/null @@ -1,60 +0,0 @@ -auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_packages'); -if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.'); - -// Loading classes -$app->uses('tpl,tform,tform_actions'); -$app->load('tform_actions'); - -class page_action extends tform_actions { - -} - -$page = new page_action; -$page->onLoad(); - -?> diff --git a/interface/web/admin/software_package_install.php b/interface/web/admin/software_package_install.php deleted file mode 100644 index 6a5326d51a1bed56d1d1b2faf862d8aa38533f3d..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_package_install.php +++ /dev/null @@ -1,179 +0,0 @@ -auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_packages'); - -//* This is only allowed for administrators -if(!$app->auth->is_admin()) die('only allowed for administrators.'); - -// Check CSRF Token -if(count($_POST) > 0) { - $app->auth->csrf_token_check('POST'); -} else { - $app->auth->csrf_token_check('GET'); -} - -$package_name = $_REQUEST['package']; -$install_server_id = $app->functions->intval($_REQUEST['server_id']); -$install_key = trim($_REQUEST['install_key']); - -$package = $app->db->queryOneRecord("SELECT * FROM software_package WHERE package_name = ?", $package_name); - -$install_key_verified = false; -$message_err = ''; -$message_ok = ''; - -//* verify the key -if($package['package_installable'] == 'key' && $install_key != '') { - - $repo = $app->db->queryOneRecord("SELECT * FROM software_repo WHERE software_repo_id = ?", $package['software_repo_id']); - - $client = new SoapClient(null, array('location' => $repo['repo_url'], - 'uri' => $repo['repo_url'])); - - $install_key_verified = $client->check_installable($package_name, $install_key, $repo['repo_username'], $repo['repo_password']); - - if($install_key_verified == false) { - //$install_key = ''; - $message_err = 'Verification of the key failed.'; - } else { - // Store the verified key into the database - $app->db->datalogUpdate('software_package', array("package_key" => $install_key), 'package_id', $package['package_id']); - } -} else { - $message_ok = 'Please enter the software key for the package.'; -} - -//* Install packages, if all requirements are fullfilled. -if($install_server_id > 0 && $package_name != '' && ($package['package_installable'] == 'yes' || $install_key_verified == true)) { - $sql = "SELECT software_update_id, package_name, update_title FROM software_update WHERE type = 'full' AND package_name = ? ORDER BY v1 DESC, v2 DESC, v3 DESC, v4 DESC LIMIT 0,1"; - $tmp = $app->db->queryOneRecord($sql, $package_name); - $software_update_id = $tmp['software_update_id']; - - //* if package requires a DB and there is no data for a db in config, then we create this data now - if($package['package_requires_db'] == 'mysql') { - $app->uses('ini_parser,getconf'); - - $package_config_array = array(); - if(trim($package['package_config']) != '') { - $package_config_array = $app->ini_parser->parse_ini_string(stripslashes($package['package_config'])); - } - - if(!isset($package_config_array['mysql'])) { - $package_config_array['mysql'] = array( 'database_name' => 'ispapp'.$package['package_id'], - 'database_user' => 'ispapp'.$package['package_id'], - 'database_password' => md5(mt_rand()), - 'database_host' => 'localhost'); - $package_config_str = $app->ini_parser->get_ini_string($package_config_array); - $package['package_config'] = $package_config_str; - $app->db->datalogUpdate('software_package', array("package_config" => $package_config_str), 'package_id', $package['package_id']); - } - } - - //* If the packages requires a remote user - if($package['package_remote_functions'] != '') { - - if(trim($package['package_config']) != '') { - $package_config_array = $app->ini_parser->parse_ini_string(stripslashes($package['package_config'])); - } - - if(!isset($package_config_array['remote_api'])) { - $remote_user = 'ispapp'.$package['package_id']; - $remote_password = md5(mt_rand()); - $remote_functions = $package['package_remote_functions']; - - $package_config_array['remote_api'] = array( - 'remote_hostname' => $_SERVER['HTTP_HOST'], - 'remote_user' => $remote_user, - 'remote_password' => $remote_password - ); - - $package_config_str = $app->ini_parser->get_ini_string($package_config_array); - $package['package_config'] = $package_config_str; - $remote_password_md5 = md5($remote_password); - $app->db->datalogUpdate('software_package', array("package_config" => $package_config_str), 'package_id', $package['package_id']); - - $sql = "INSERT INTO `remote_user` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `remote_username`, `remote_password`, `remote_functions`) VALUES - (1, 1, 'riud', 'riud', '', ?, ?, ?)"; - $app->db->query($sql, $remote_user, $remote_password_md5, $remote_functions); - - } - - } - - //* Add the record to start the install process - $insert_data = array( - "package_name" => $package_name, - "server_id" => $install_server_id, - "software_update_id" => $software_update_id, - "status" => 'installing' - ); - $app->db->datalogInsert('software_update_inst', $insert_data, 'software_update_inst_id'); - $message_ok = 'Starting package installation '."".$app->lng('next').""; - -} - -if(count($_POST) > 2 && $install_key == '') { - $message_ok = 'Please enter the software key.'; -} - -//* Show key input form -if($package['package_installable'] == 'key' && !$install_key_verified) { - $insert_key = true; -} else { - $insert_key = false; -} - -// Loading the template -$app->uses('tpl'); -$app->tpl->newTemplate("form.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/software_package_install.htm'); - -$app->tpl->setVar('message_ok', $message_ok); -$app->tpl->setVar('message_err', $message_err); -$app->tpl->setVar('insert_key', $insert_key); -$app->tpl->setVar('install_key', $install_key); -$app->tpl->setVar('package_name', $package_name); -$app->tpl->setVar('server_id', $install_server_id); - - -include_once 'lib/lang/en_software_package_install.lng'; -$app->tpl->setVar($wb); - - -$app->tpl_defaults(); -$app->tpl->pparse(); - -?> diff --git a/interface/web/admin/software_package_list.php b/interface/web/admin/software_package_list.php deleted file mode 100644 index 8a21696c7f398600ba7083b3f95d3e8f548de825..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_package_list.php +++ /dev/null @@ -1,200 +0,0 @@ -auth->check_module_permissions('admin'); - -//* This is only allowed for administrators -if(!$app->auth->is_admin()) die('only allowed for administrators.'); - -//* Get the latest packages from the repositorys and insert them in the local database -$packages_added = 0; -$repos = $app->db->queryAllRecords("SELECT software_repo_id, repo_url, repo_username, repo_password FROM software_repo WHERE active = 'y'"); -if(is_array($repos) && isset($_GET['action']) && $_GET['action'] == 'repoupdate' ) { - foreach($repos as $repo) { - $client = new SoapClient(null, array('location' => $repo['repo_url'], - 'uri' => $repo['repo_url'])); - - $packages = $client->get_packages($repo['repo_username'], $repo['repo_password']); - if(is_array($packages)) { - foreach($packages as $p) { - $package_name = $p['name']; - $tmp = $app->db->queryOneRecord("SELECT package_id FROM software_package WHERE package_name = ?", $package_name); - - $package_title = $p['title']; - $package_description = $p['description']; - $software_repo_id = $app->functions->intval($repo['software_repo_id']); - $package_type = $p['type']; - $package_installable = $p['installable']; - $package_requires_db = $p['requires_db']; - $package_remote_functions = $p['remote_functions']; - - if(empty($tmp['package_id'])) { - $insert_data = array( - "software_repo_id" => $software_repo_id, - "package_name" => $package_name, - "package_title" => $package_title, - "package_description" => $package_description, - "package_type" => $package_type, - "package_installable" => $package_installable, - "package_requires_db" => $package_requires_db, - "package_remote_functions" => $package_remote_functions - ); - $app->db->datalogInsert('software_package', $insert_data, 'package_id'); - $packages_added++; - } else { - $update_data = array( - "software_repo_id" => $software_repo_id, - "package_title" => $package_title, - "package_description" => $package_description, - "package_type" => $package_type, - "package_installable" => $package_installable, - "package_requires_db" => $package_requires_db, - "package_remote_functions" => $package_remote_functions - ); - //echo $update_data; - $app->db->datalogUpdate('software_package', $update_data, 'package_id', $tmp['package_id']); - } - } - } - - $packages = $app->db->queryAllRecords("SELECT software_package.package_name, v1, v2, v3, v4 FROM software_package LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) GROUP BY package_name ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC"); - if(is_array($packages)) { - foreach($packages as $p) { - - $version = $p['v1'].'.'.$p['v2'].'.'.$p['v3'].'.'.$p['v4']; - $updates = $client->get_updates($p['package_name'], $version, $repo['repo_username'], $repo['repo_password']); - - if(is_array($updates)) { - foreach($updates as $u) { - - $version_array = explode('.', $u['version']); - $v1 = $app->functions->intval($version_array[0]); - $v2 = $app->functions->intval($version_array[1]); - $v3 = $app->functions->intval($version_array[2]); - $v4 = $app->functions->intval($version_array[3]); - - $package_name = $u['package_name']; - $software_repo_id = $app->functions->intval($repo['software_repo_id']); - $update_url = $u['url']; - $update_md5 = $u['md5']; - $update_dependencies = (isset($u['dependencies']))?$u['dependencies']:''; - $update_title = $u['title']; - $type = $u['type']; - - // Check that we do not have this update in the database yet - $sql = "SELECT * FROM software_update WHERE package_name = ? and v1 = ? and v2 = ? and v3 = ? and v4 = ?"; - $tmp = $app->db->queryOneRecord($sql, $package_name, $v1, $v2, $v3, $v4); - if(!isset($tmp['software_update_id'])) { - $insert_data = array( - "software_repo_id" => $software_repo_id, - "package_name" => $package_name, - "update_url" => $update_url, - "update_md5" => $update_md5, - "update_dependencies" => $update_dependencies, - "update_title" => $update_title, - "v1" => $v1, - "v2" => $v2, - "v3" => $v3, - "v4" => $v4, - "type" => $type - ); - $app->db->datalogInsert('software_update', $insert_data, 'software_update_id'); - } - - } - } - } - } - } -} - -// Show the list in the interface -// Loading the template -$app->uses('tpl'); -$app->tpl->newTemplate("form.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/software_package_list.htm'); - -$csrf_token = $app->auth->csrf_token_get('software_package_list'); -$_csrf_id = $csrf_token['csrf_id']; -$_csrf_key = $csrf_token['csrf_key']; - -$servers = $app->db->queryAllRecords('SELECT server_id, server_name FROM server ORDER BY server_name'); -$packages = $app->db->queryAllRecords('SELECT * FROM software_package'); -if(is_array($packages) && count($packages) > 0) { - foreach($packages as $key => $p) { - $installed_txt = ''; - foreach($servers as $s) { - $inst = $app->db->queryOneRecord("SELECT * FROM software_update, software_update_inst WHERE software_update_inst.software_update_id = software_update.software_update_id AND software_update_inst.package_name = ? AND server_id = ?", $p["package_name"], $s["server_id"]); - $version = $inst['v1'].'.'.$inst['v2'].'.'.$inst['v3'].'.'.$inst['v4']; - - if($inst['status'] == 'installed') { - $installed_txt .= $s['server_name'].": ".$app->lng("Installed version $version")."
"; - } elseif ($inst['status'] == 'installing') { - $installed_txt .= $s['server_name'].": ".$app->lng("Installation in progress")."
"; - } elseif ($inst['status'] == 'failed') { - $installed_txt .= $s['server_name'].": ".$app->lng("Installation failed")."
"; - } elseif ($inst['status'] == 'deleting') { - $installed_txt .= $s['server_name'].": ".$app->lng("Deletion in progress")."
"; - } else { - if($p['package_installable'] == 'no') { - $installed_txt .= $s['server_name'].": ".$app->lng("Package can not be installed.")."
"; - } else { - $installed_txt .= $s['server_name'].": Install now
"; - } - } - } - $packages[$key]['software_update_inst_id'] = intval($inst['software_update_inst_id']); - $packages[$key]['installed'] = $installed_txt; - $packages[$key]['csrf_id'] = $_csrf_id; - $packages[$key]['csrf_key'] = $_csrf_key; - } - $app->tpl->setVar('has_packages', 1); -} else { - $app->tpl->setVar('has_packages', 0); -} - - - -$app->tpl->setLoop('records', $packages); - -$language = (isset($_SESSION['s']['language']))?$_SESSION['s']['language']:$conf['language']; -include_once 'lib/lang/'.$app->functions->check_language($language).'_software_package_list.lng'; -$app->tpl->setVar($wb); - - -$app->tpl_defaults(); -$app->tpl->pparse(); - - -?> diff --git a/interface/web/admin/software_repo_edit.php b/interface/web/admin/software_repo_edit.php deleted file mode 100644 index 6d52da2b56799f0274239b42bba857bd4388ec8b..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_repo_edit.php +++ /dev/null @@ -1,60 +0,0 @@ -auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_repo'); -if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.'); - -// Loading classes -$app->uses('tpl,tform,tform_actions'); -$app->load('tform_actions'); - -class page_action extends tform_actions { - -} - -$page = new page_action; -$page->onLoad(); - -?> diff --git a/interface/web/admin/software_update_list.php b/interface/web/admin/software_update_list.php deleted file mode 100644 index 6d680c0ec1ce613db0e448866dbd0036a30c78fa..0000000000000000000000000000000000000000 --- a/interface/web/admin/software_update_list.php +++ /dev/null @@ -1,204 +0,0 @@ -auth->check_module_permissions('admin'); -$app->auth->check_security_permissions('admin_allow_software_packages'); - -//* This is only allowed for administrators -if(!$app->auth->is_admin()) die('only allowed for administrators.'); - -//* Get the latest updates from the repositorys and insert them in the local database -$updates_added = 0; -$repos = $app->db->queryAllRecords("SELECT software_repo_id, repo_url, repo_username, repo_password FROM software_repo WHERE active = 'y'"); -if(is_array($repos)) { - foreach($repos as $repo) { - - /* - SELECT software_package.package_name, v1, v2, v3, v4 - FROM software_package - LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) - LEFT JOIN software_update_inst ON ( software_update.software_update_id = software_update_inst.software_update_id ) - GROUP BY package_name - ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC - */ - - $client = new SoapClient(null, array('location' => $repo['repo_url'], - 'uri' => $repo['repo_url'])); - - $packages = $app->db->queryAllRecords("SELECT software_package.package_name, v1, v2, v3, v4 FROM software_package LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) GROUP BY package_name ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC"); - if(is_array($packages)) { - foreach($packages as $p) { - - $version = $p['v1'].'.'.$p['v2'].'.'.$p['v3'].'.'.$p['v4']; - $updates = $client->get_updates($p['package_name'], $version, $repo['repo_username'], $repo['repo_password']); - - if(is_array($updates)) { - foreach($updates as $u) { - - $version_array = explode('.', $u['version']); - $v1 = $app->functions->intval($version_array[0]); - $v2 = $app->functions->intval($version_array[1]); - $v3 = $app->functions->intval($version_array[2]); - $v4 = $app->functions->intval($version_array[3]); - - $package_name = $u['package_name']; - $software_repo_id = $app->functions->intval($repo['software_repo_id']); - $update_url = $u['url']; - $update_md5 = $u['md5']; - $update_dependencies = (isset($u['dependencies']))?$u['dependencies']:''; - $update_title = $u['title']; - $type = $u['type']; - - // Check that we do not have this update in the database yet - $sql = "SELECT * FROM software_update WHERE package_name = ? and v1 = ? and v2 = ? and v3 = ? and v4 = ?"; - $tmp = $app->db->queryOneRecord($sql, $package_name, $v1, $v2, $v3, $v4); - if(!isset($tmp['software_update_id'])) { - // Insert the update in the datbase - $sql = "INSERT INTO software_update (software_repo_id, package_name, update_url, update_md5, update_dependencies, update_title, v1, v2, v3, v4, type) - VALUES ($software_repo_id, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; - //die($sql); - $app->db->query($sql, $package_name, $update_url, $update_md5, $update_dependencies, $update_title, $v1, $v2, $v3, $v4, $type); - } - - } - } - } - } - } -} - - -//* Install packages, if GET Request -if(isset($_GET['action']) && $_GET['action'] == 'install' && $_GET['package'] != '' && $_GET['server_id'] > 0) { - $package_name = $_GET['package']; - $server_id = $app->functions->intval($_GET['server_id']); - $software_update_id = $app->functions->intval($_GET['id']); - - $insert_data = array( - "package_name" => $package_name, - "server_id" => $server_id, - "software_update_id" => $software_update_id, - "status" => 'installing' - ); - $app->db->datalogInsert('software_update_inst', $insert_data, 'software_update_inst_id'); - -} - - - -// Show the list in the interface -// Loading the template -$app->uses('tpl'); -$app->tpl->newTemplate("form.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/software_update_list.htm'); - -/* -SELECT software_package.package_name, software_package.package_title, software_update.update_title, v1, v2, v3, v4, software_update_inst.status - FROM software_package - LEFT JOIN software_update ON ( software_package.package_name = software_update.package_name ) - LEFT JOIN software_update_inst ON ( software_update.software_update_id = software_update_inst.software_update_id ) -GROUP BY software_update.software_update_id - ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC -*/ - - - -if(isset($_POST["server_id"]) && $_POST["server_id"] > 0) { - $server_id = $app->functions->intval($_POST["server_id"]); -} else { - $server_id = 1; -} - -$servers = $app->db->queryAllRecords('SELECT server_id, server_name FROM server ORDER BY server_name'); -foreach($servers as $key => $server) { - if($server['server_id'] == $server_id) { - $servers[$key]['selected'] = 'selected'; - } else { - $servers[$key]['selected'] = ''; - } -} - -$app->tpl->setLoop('servers', $servers); - -$sql = "SELECT v1, v2, v3, v4, software_update.update_title, software_update.software_update_id, software_update.package_name, v1, v2, v3, v4, software_update_inst.status - FROM software_update LEFT JOIN software_update_inst ON ( software_update.software_update_id = software_update_inst.software_update_id ) - WHERE server_id = $server_id - GROUP BY software_update.package_name - ORDER BY software_update.package_name ASC, v1 DESC , v2 DESC , v3 DESC , v4 DESC"; - -$installed_packages = $app->db->queryAllRecords($sql); - - -$records_out = array(); - -if(is_array($installed_packages)) { - foreach($installed_packages as $ip) { - - // Get version number of the latest installed version - $sql = "SELECT v1, v2, v3, v4 FROM software_update, software_update_inst WHERE software_update.software_update_id = software_update_inst.software_update_id AND server_id = ? ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC LIMIT 0,1"; - $lu = $app->db->queryOneRecord($sql, $server_id); - - // Get all installable updates - $sql = "SELECT * FROM software_update WHERE v1 >= ? AND v2 >= ? AND v3 >= ? AND v4 >= ? AND package_name = ? ORDER BY v1 DESC , v2 DESC , v3 DESC , v4 DESC"; - $updates = $app->db->queryAllRecords($sql, $lu['v1'], $lu['v2'], $lu['v3'], $lu['v4'], $ip['package_name']); - //die($sql); - - if(is_array($updates)) { - // Delete the last record as it is already installed - unset($updates[count($updates)-1]); - - foreach($updates as $key => $u) { - $version = $u['v1'].'.'.$u['v2'].'.'.$u['v3'].'.'.$u['v4']; - $installed_txt = "Install Update
"; - $records_out[] = array('version' => $version, 'update_title' => $u["update_title"], 'installed' => $installed_txt); - - } - } - } -} - - - -$app->tpl->setLoop('records', $records_out); - -$language = (isset($_SESSION['s']['language']))?$_SESSION['s']['language']:$conf['language']; -include_once 'lib/lang/'.$app->functions->check_language($language).'_software_update_list.lng'; -$app->tpl->setVar($wb); - - -$app->tpl_defaults(); -$app->tpl->pparse(); - - -?> diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index c26cff24ba8b1fa0bdea00722a398437fd00fb08..0eac9889610954e97e4a5575eb7dc4a543e5e0f6 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -49,12 +49,38 @@
- +
+ + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index f98226c104a9d7b3570078fbdaad985a202a9470..ca1d54344cbf9e50baaf6dd21c37afbbcd69928f 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -138,6 +138,12 @@
{tmpl_var name='overtraffic_notify_client'}
+ +
+ +
+ {tmpl_var name='overtraffic_disable_web'} +
diff --git a/interface/web/admin/templates/server_php_fpm_edit.htm b/interface/web/admin/templates/server_php_fpm_edit.htm index 372b3702fcccbad4edbb06c46db3cff9da74f986..c3369f1fdb2a94224ef4b73ddaf02c3d1b8948c3 100644 --- a/interface/web/admin/templates/server_php_fpm_edit.htm +++ b/interface/web/admin/templates/server_php_fpm_edit.htm @@ -7,10 +7,13 @@
- - +
+ +
+ + - +
diff --git a/interface/web/admin/templates/software_package_edit.htm b/interface/web/admin/templates/software_package_edit.htm deleted file mode 100644 index 2569c267f0d55b6dc967118bc03e79ff8ae15c44..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_package_edit.htm +++ /dev/null @@ -1,22 +0,0 @@ - -

- - - -
- - {tmpl_var name='package_title'} -
-
- -
- - - - -
- - -
\ No newline at end of file diff --git a/interface/web/admin/templates/software_package_install.htm b/interface/web/admin/templates/software_package_install.htm deleted file mode 100644 index 8524b3c08755982c38b050d12e8b45ee1d955d72..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_package_install.htm +++ /dev/null @@ -1,31 +0,0 @@ - -

- -
- -
-
- -
-
- -
- -

 

-
- -
- - - -

 

-
- - -
- -
-
-
\ No newline at end of file diff --git a/interface/web/admin/templates/software_package_list.htm b/interface/web/admin/templates/software_package_list.htm deleted file mode 100644 index e69e3780af4e3ccff25906c9a5867f46b8b19f5c..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_package_list.htm +++ /dev/null @@ -1,55 +0,0 @@ - -

- - -

{tmpl_var name="toolsarea_head_txt"}

- - - - - - -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{tmpl_var name='search_limit'}
{tmpl_var name="installed"}{tmpl_var name="package_title"}{tmpl_var name="package_description"}ispapp{tmpl_var name="package_id"} - - -
{tmpl_var name='no_packages_txt'}
-
- - \ No newline at end of file diff --git a/interface/web/admin/templates/software_repo_edit.htm b/interface/web/admin/templates/software_repo_edit.htm deleted file mode 100644 index a43ea74900dddbd01d8091792acddadf45a15764..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_repo_edit.htm +++ /dev/null @@ -1,26 +0,0 @@ -
- -
-
- -
-
- -
-
- -
-
- -
- {tmpl_var name='active'} -
-
- - - - -
- - -
diff --git a/interface/web/admin/templates/software_repo_list.htm b/interface/web/admin/templates/software_repo_list.htm deleted file mode 100644 index d408896de6f943ba0a5d23240f37eefb58dc858a..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_repo_list.htm +++ /dev/null @@ -1,58 +0,0 @@ - -

- - -

{tmpl_var name="toolsarea_head_txt"}

- - - - - - -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
- -
{tmpl_var name="active"}{tmpl_var name="repo_name"}{tmpl_var name="repo_url"} - -
{tmpl_var name='globalsearch_noresults_text_txt'}
-
- - \ No newline at end of file diff --git a/interface/web/admin/templates/software_update_list.htm b/interface/web/admin/templates/software_update_list.htm deleted file mode 100644 index 6776b66a7a04ea4d3feb66fbe99dcf9b3e072b98..0000000000000000000000000000000000000000 --- a/interface/web/admin/templates/software_update_list.htm +++ /dev/null @@ -1,53 +0,0 @@ - -

- - - Tools - -
- -
- - -
- - -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
{tmpl_var name="installed"}{tmpl_var name="update_title"}{tmpl_var name="version"}
{tmpl_var name='no_updates_txt'}
-
- - \ No newline at end of file diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm index af0a7a25cad39ec7e13f6cfc45584afdfafc853c..ac9271a9cf2c11854ad253d917d13fa06a6985ef 100644 --- a/interface/web/admin/templates/system_config_mail_edit.htm +++ b/interface/web/admin/templates/system_config_mail_edit.htm @@ -4,6 +4,18 @@ {tmpl_var name='enable_custom_login'}
+
+ +
+ {tmpl_var name='enable_welcome_mail'} +
+
+
+ +
+ {tmpl_var name='show_per_domain_relay_options'} +
+
@@ -77,10 +89,10 @@ {tmpl_var name='default_mailserver'}
- - + + - +
diff --git a/interface/web/admin/templates/system_config_misc_edit.htm b/interface/web/admin/templates/system_config_misc_edit.htm index ea8386c224608c07fbe199e295da2c944dc1dba1..5c57eeb9a668fcdcfffa93dffaef4a406552a641 100644 --- a/interface/web/admin/templates/system_config_misc_edit.htm +++ b/interface/web/admin/templates/system_config_misc_edit.htm @@ -84,6 +84,12 @@ {tmpl_var name='use_combobox'}
{tmpl_var name='f5_to_reload_js_txt'}
+
+ +
+ {tmpl_var name='show_support_messages'} +
+
@@ -117,13 +123,6 @@
-
- -
-
-
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm index c84b50e6b81ecb3304a4ef68bf8154013545ae89..c0db318d0128a62a626b04c1f5383ee41bf222cb 100644 --- a/interface/web/admin/templates/system_config_sites_edit.htm +++ b/interface/web/admin/templates/system_config_sites_edit.htm @@ -61,6 +61,12 @@
{tmpl_var name='reseller_can_use_options'}
+
+
+ +
+ {tmpl_var name='show_aps_menu'} {tmpl_var name='show_aps_menu_note_txt'} {tmpl_var name='show_aps_menu_note_url_txt'} +
@@ -90,6 +96,13 @@
+
+ +
+
+
diff --git a/interface/web/client/client_del.php b/interface/web/client/client_del.php index c018b7a27db50b9686f63aedce827cc8a89b49ef..dadcae0bdff53f2152b17a59e596d0d906902def 100644 --- a/interface/web/client/client_del.php +++ b/interface/web/client/client_del.php @@ -69,7 +69,8 @@ class page_action extends tform_actions { 'mail_user' => 'email', 'mail_user_filter' => '', 'shell_user' => 'username', - 'spamfilter_users' => '', 'spamfilter_wblist' => '', + 'spamfilter_users' => '', + 'spamfilter_wblist' => '', 'support_message' => '', 'web_domain' => 'domain', 'web_folder' => 'path', @@ -208,6 +209,5 @@ class page_action extends tform_actions { } $page = new page_action; -$page->onDelete() +$page->onDelete(); -?> diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php index bbc7849f1f296bbda7bb132252a36574ed7f6638..f1964d7eff567a3ef7bd5d93d859a7c8ebb3c519 100644 --- a/interface/web/client/client_edit.php +++ b/interface/web/client/client_edit.php @@ -92,7 +92,7 @@ class page_action extends tform_actions { } } } - + //* Resellers shall not be able to create another reseller if($_SESSION["s"]["user"]["typ"] == 'user') { $this->dataRecord['limit_client'] = 0; @@ -181,18 +181,35 @@ class page_action extends tform_actions { $app->tpl->setVar('template_additional_list', $text); $app->tpl->setVar('app_module', 'client'); - + + // Check wether per domain relaying is enabled or not + $global_config = $app->getconf->get_global_config('mail'); + if($global_config['show_per_domain_relay_options'] == 'y') { + $app->tpl->setVar("show_per_domain_relay_options", 1); + } else { + $app->tpl->setVar("show_per_domain_relay_options", 0); + } + + // APS is enabled or not + $global_config = $app->getconf->get_global_config('sites'); + if($global_config['show_aps_menu'] == 'y') { + $app->tpl->setVar("show_aps_menu", 1); + } else { + $app->tpl->setVar("show_aps_menu", 0); + } + + //* Set the 'customer no' default value if($this->id == 0) { - + if($app->auth->is_admin()) { //* Logged in User is admin //* get the system config $app->uses('getconf'); $system_config = $app->getconf->get_global_config(); if($system_config['misc']['customer_no_template'] != '') { - + //* Set customer no default $customer_no = $app->functions->intval($system_config['misc']['customer_no_start']+$system_config['misc']['customer_no_counter']); $customer_no_string = str_replace('[CUSTOMER_NO]',$customer_no,$system_config['misc']['customer_no_template']); @@ -203,7 +220,7 @@ class page_action extends tform_actions { //* get the record of the reseller $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); $reseller = $app->db->queryOneRecord("SELECT client.client_id, client.customer_no_template, client.customer_no_counter, client.customer_no_start FROM sys_group,client WHERE client.client_id = sys_group.client_id and sys_group.groupid = ?", $client_group_id); - + if($reseller['customer_no_template'] != '') { if(isset($this->dataRecord['customer_no'])&& $this->dataRecord['customer_no']!='') $customer_no_string = $this->dataRecord['customer_no']; else { @@ -215,7 +232,7 @@ class page_action extends tform_actions { } } } - + if($app->auth->is_admin()) { // Fill the client select field $sql = "SELECT client.client_id, sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 AND client.limit_client != 0 ORDER BY client.company_name, client.contact_name, sys_group.name"; @@ -234,7 +251,7 @@ class page_action extends tform_actions { } $app->tpl->setVar("parent_client_id", $client_select); } - + parent::onShowEnd(); } @@ -317,7 +334,7 @@ class page_action extends tform_actions { $app->uses('client_templates'); $app->client_templates->update_client_templates($this->id, $this->_template_additional); } - + if($this->dataRecord['customer_no'] == $this->dataRecord['customer_no_org']) { if($app->auth->is_admin()) { //* Logged in User is admin @@ -325,7 +342,7 @@ class page_action extends tform_actions { $app->uses('getconf'); $system_config = $app->getconf->get_global_config(); if($system_config['misc']['customer_no_template'] != '') { - + //* save new counter value $system_config['misc']['customer_no_counter']++; $system_config_str = $app->ini_parser->get_ini_string($system_config); @@ -336,7 +353,7 @@ class page_action extends tform_actions { //* get the record of the reseller $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); $reseller = $app->db->queryOneRecord("SELECT client.client_id, client.customer_no_template, client.customer_no_counter, client.customer_no_start FROM sys_group,client WHERE client.client_id = sys_group.client_id and sys_group.groupid = ?", $client_group_id); - + if($reseller['customer_no_template'] != '') { //* save new counter value $customer_no_counter = $app->functions->intval($reseller['customer_no_counter']+1); @@ -344,7 +361,7 @@ class page_action extends tform_actions { } } } - + //* Send welcome email $client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]); $sql = "SELECT * FROM client_message_template WHERE template_type = 'welcome' AND sys_groupid = ?"; @@ -369,7 +386,7 @@ class page_action extends tform_actions { $subject = str_replace('{'.$key.'}', $val, $subject); } } - + //* Get sender address if($app->auth->is_admin()) { $app->uses('getconf'); @@ -384,7 +401,7 @@ class page_action extends tform_actions { //* Send the email $app->functions->mail($client['email'], $subject, $message, $from); } - + parent::onAfterInsert(); } @@ -417,122 +434,16 @@ class page_action extends tform_actions { $app->db->query($sql, $password, $client_id); } - if(!isset($this->dataRecord['locked'])) $this->dataRecord['locked'] = 'n'; - if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["locked"] != $this->oldDataRecord['locked']) { - /** lock all the things like web, mail etc. - easy to extend */ - - - // get tmp_data of client - $client_data = $app->db->queryOneRecord('SELECT `tmp_data` FROM `client` WHERE `client_id` = ?', $this->id); - - if($client_data['tmp_data'] == '') $tmp_data = array(); - else $tmp_data = unserialize($client_data['tmp_data']); - - if(!is_array($tmp_data)) $tmp_data = array(); - - // database tables with their primary key columns - $to_disable = array('cron' => 'id', - 'ftp_user' => 'ftp_user_id', - 'mail_domain' => 'domain_id', - 'mail_user' => 'mailuser_id', - 'mail_user_smtp' => 'mailuser_id', - 'mail_forwarding' => 'forwarding_id', - 'mail_get' => 'mailget_id', - 'openvz_vm' => 'vm_id', - 'shell_user' => 'shell_user_id', - 'webdav_user' => 'webdav_user_id', - 'web_database' => 'database_id', - 'web_domain' => 'domain_id', - 'web_folder' => 'web_folder_id', - 'web_folder_user' => 'web_folder_user_id' - ); - - $udata = $app->db->queryOneRecord('SELECT `userid` FROM `sys_user` WHERE `client_id` = ?', $this->id); - $gdata = $app->db->queryOneRecord('SELECT `groupid` FROM `sys_group` WHERE `client_id` = ?', $this->id); - $sys_groupid = $gdata['groupid']; - $sys_userid = $udata['userid']; - - $entries = array(); - if($this->dataRecord['locked'] == 'y') { - $prev_active = array(); - $prev_sysuser = array(); - foreach($to_disable as $current => $keycolumn) { - $active_col = 'active'; - $reverse = false; - if($current == 'mail_user') { - $active_col = 'postfix'; - } elseif($current == 'mail_user_smtp') { - $current = 'mail_user'; - $active_col = 'disablesmtp'; - $reverse = true; - } - - if(!isset($prev_active[$current])) $prev_active[$current] = array(); - if(!isset($prev_sysuser[$current])) $prev_sysuser[$current] = array(); - - $entries = $app->db->queryAllRecords('SELECT ?? as `id`, `sys_userid`, ?? FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $active_col, $current, $sys_groupid); - foreach($entries as $item) { - - if($item[$active_col] != 'y' && $reverse == false) $prev_active[$current][$item['id']][$active_col] = 'n'; - elseif($item[$active_col] == 'y' && $reverse == true) $prev_active[$current][$item['id']][$active_col] = 'y'; - if($item['sys_userid'] != $sys_userid) $prev_sysuser[$current][$item['id']] = $item['sys_userid']; - // we don't have to store these if y, as everything without previous state gets enabled later - - $app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $_SESSION["s"]["user"]["userid"]), $keycolumn, $item['id']); - } - } - - $tmp_data['prev_active'] = $prev_active; - $tmp_data['prev_sys_userid'] = $prev_sysuser; - $app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $this->id); - unset($prev_active); - unset($prev_sysuser); - } elseif($this->dataRecord['locked'] == 'n') { - foreach($to_disable as $current => $keycolumn) { - $active_col = 'active'; - $reverse = false; - if($current == 'mail_user') { - $active_col = 'postfix'; - } elseif($current == 'mail_user_smtp') { - $current = 'mail_user'; - $active_col = 'disablesmtp'; - $reverse = true; - } - - $entries = $app->db->queryAllRecords('SELECT ?? as `id` FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $current, $sys_groupid); - foreach($entries as $item) { - $set_active = ($reverse == true ? 'n' : 'y'); - $set_inactive = ($reverse == true ? 'y' : 'n'); - $set_sysuser = $sys_userid; - if(array_key_exists('prev_active', $tmp_data) == true - && array_key_exists($current, $tmp_data['prev_active']) == true - && array_key_exists($item['id'], $tmp_data['prev_active'][$current]) == true - && $tmp_data['prev_active'][$current][$item['id']][$active_col] == $set_inactive) $set_active = $set_inactive; - if(array_key_exists('prev_sysuser', $tmp_data) == true - && array_key_exists($current, $tmp_data['prev_sysuser']) == true - && array_key_exists($item['id'], $tmp_data['prev_sysuser'][$current]) == true - && $tmp_data['prev_sysuser'][$current][$item['id']] != $sys_userid) $set_sysuser = $tmp_data['prev_sysuser'][$current][$item['id']]; - - $app->db->datalogUpdate($current, array($active_col => $set_active, 'sys_userid' => $set_sysuser), $keycolumn, $item['id']); - } - } - if(array_key_exists('prev_active', $tmp_data)) unset($tmp_data['prev_active']); - $app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $this->id); - } - unset($tmp_data); - unset($entries); - unset($to_disable); - } + // lock and cancel + if(!isset($this->dataRecord['locked'])) $this->dataRecord['locked'] = 'n'; + if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["locked"] != $this->oldDataRecord['locked']) + { + $lock = $app->functions->func_client_lock($this->id,$this->dataRecord["locked"]); + } if(!isset($this->dataRecord['canceled'])) $this->dataRecord['canceled'] = 'n'; if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["canceled"] != $this->oldDataRecord['canceled']) { - if($this->dataRecord['canceled'] == 'y') { - $sql = "UPDATE sys_user SET active = '0' WHERE client_id = ?"; - $app->db->query($sql, $this->id); - } elseif($this->dataRecord['canceled'] == 'n') { - $sql = "UPDATE sys_user SET active = '1' WHERE client_id = ?"; - $app->db->query($sql, $this->id); - } + $cancel = $app->functions->func_client_cancel($this->id,$this->dataRecord["canceled"]); } // language changed @@ -551,14 +462,14 @@ class page_action extends tform_actions { $sql = "UPDATE sys_user SET modules = ? WHERE client_id = ?"; $app->db->query($sql, $modules, $client_id); } - + //* Client has been moved to another reseller if($_SESSION['s']['user']['typ'] == 'admin' && isset($this->dataRecord['parent_client_id']) && $this->dataRecord['parent_client_id'] != $this->oldDataRecord['parent_client_id']) { //* Get groupid of the client $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ?", $this->id); $groupid = $tmp['groupid']; unset($tmp); - + //* Remove sys_user of old reseller from client group if($this->oldDataRecord['parent_client_id'] > 0) { //* get userid of the old reseller remove it from the group of the client @@ -566,7 +477,7 @@ class page_action extends tform_actions { $app->auth->remove_group_from_user($tmp['userid'], $groupid); unset($tmp); } - + //* Add sys_user of new reseller to client group if($this->dataRecord['parent_client_id'] > 0) { //* get userid of the reseller and add it to the group of the client diff --git a/interface/web/client/client_template_edit.php b/interface/web/client/client_template_edit.php index 8ae08b965ed2e321ee546eca8a01f3c2260695b2..7cc3ab5ff9742bd1d8b48bf0120a8399b6b1c954 100644 --- a/interface/web/client/client_template_edit.php +++ b/interface/web/client/client_template_edit.php @@ -51,19 +51,38 @@ $app->load('tform_actions'); class page_action extends tform_actions { - + function onSubmit() { global $app; - + //* Resellers shall not be able to create another reseller or set reseller specific settings if($_SESSION["s"]["user"]["typ"] == 'user') { $this->dataRecord['limit_client'] = 0; $this->dataRecord['limit_domainmodule'] = 0; } - + parent::onSubmit(); } - + + function onShowEnd() { + global $app; + // Check wether per domain relaying is enabled or not + $global_config = $app->getconf->get_global_config('mail'); + if($global_config['show_per_domain_relay_options'] == 'y') { + $app->tpl->setVar("show_per_domain_relay_options", 1); + } else { + $app->tpl->setVar("show_per_domain_relay_options", 0); + } + // APS is enabled or not + $global_config = $app->getconf->get_global_config('sites'); + if($global_config['show_aps_menu'] == 'y') { + $app->tpl->setVar("show_aps_menu", 1); + } else { + $app->tpl->setVar("show_aps_menu", 0); + } + parent::onShowEnd(); + } + function onBeforeUpdate() { global $app; diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php index 018e174aac005366e115dbae894bbda8b9145815..ef3a01ec96ec9ab5330561629be7e56415bb1d2a 100644 --- a/interface/web/client/form/client.tform.php +++ b/interface/web/client/form/client.tform.php @@ -840,6 +840,20 @@ $form["tabs"]['limits'] = array ( 'rows' => '', 'cols' => '' ), + 'limit_mail_wblist' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_mail_wblist_error_notint'), + ), + 'default' => '-1', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'limit_mailfilter' => array ( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', @@ -929,6 +943,11 @@ $form["tabs"]['limits'] = array ( 'formtype' => 'CHECKBOX', 'default' => 'y', 'valuelimit' => 'client:limit_mail_backup', + 'limit_relayhost' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'valuelimit' => 'client:limit_relayhost', 'value' => array(0 => 'n', 1 => 'y') ), 'default_xmppserver' => array ( diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php index d023e7f88173e58e36111c604fab0e50949ff8b7..adf72670f8f01f97a1bc02e8a9e35b797191b09c 100644 --- a/interface/web/client/form/client_template.tform.php +++ b/interface/web/client/form/client_template.tform.php @@ -256,6 +256,20 @@ $form["tabs"]['limits'] = array ( 'rows' => '', 'cols' => '' ), + 'limit_mail_wblist' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_mail_wblist_error_notint'), + ), + 'default' => '-1', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'limit_mailfilter' => array ( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', @@ -346,7 +360,15 @@ $form["tabs"]['limits'] = array ( 'default' => 'y', 'valuelimit' => 'client:limit_mail_backup', 'value' => array(0 => 'n', 1 => 'y') - ),/* + ), + 'limit_relayhost' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'valuelimit' => 'client:limit_relayhost', + 'value' => array(0 => 'n', 1 => 'y') + ), + /* 'default_xmppserver' => array ( 'datatype' => 'INTEGER', 'formtype' => 'SELECT', diff --git a/interface/web/client/form/domain.tform.php b/interface/web/client/form/domain.tform.php index a3dc1aaac030bab9328c8beb677d32033c86dea1..f521a55b2dac3b5b8f8c18628f4ffbd2b63aa047 100644 --- a/interface/web/client/form/domain.tform.php +++ b/interface/web/client/form/domain.tform.php @@ -100,7 +100,7 @@ $form["tabs"]['domain'] = array ( 1 => array ( 'type' => 'UNIQUE', 'errmsg'=> 'domain_error_unique'), 2 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,63}$/', + 'regex' => '/^[\w\.\-]{1,255}\.[a-zA-Z0-9\-]{2,63}$/', 'errmsg'=> 'domain_error_regex'), ), 'default' => '', diff --git a/interface/web/client/form/reseller.tform.php b/interface/web/client/form/reseller.tform.php index 0b2a0dc730b26f9e626a666084523f37658c939d..ec2a078533dd6aa594e0ddbf679deb84019d8550 100644 --- a/interface/web/client/form/reseller.tform.php +++ b/interface/web/client/form/reseller.tform.php @@ -838,6 +838,20 @@ $form["tabs"]['limits'] = array ( 'rows' => '', 'cols' => '' ), + 'limit_mail_wblist' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_mail_wblist_error_notint'), + ), + 'default' => '-1', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'limit_mailfilter' => array ( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', @@ -927,6 +941,10 @@ $form["tabs"]['limits'] = array ( 'formtype' => 'CHECKBOX', 'default' => 'y', 'valuelimit' => 'client:limit_mail_backup', + 'limit_relayhost' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), 'default_xmppserver' => array ( diff --git a/interface/web/client/lib/lang/ar_client.lng b/interface/web/client/lib/lang/ar_client.lng index 8cd379432c17a85d1e5dddf67b597e798b27ad0a..8b6ff765c9692163f0320df1fe9acc6e3a3bdfc9 100644 --- a/interface/web/client/lib/lang/ar_client.lng +++ b/interface/web/client/lib/lang/ar_client.lng @@ -6,6 +6,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. number of domain aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Company'; $wb['title_txt'] = 'Title'; $wb['firstname_txt'] = 'Firstname'; $wb['surname_txt'] = 'Surname'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -69,6 +71,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'The email domain alias limit must b $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ar_client_template.lng b/interface/web/client/lib/lang/ar_client_template.lng index b93ebaa519acb7fe7b4bf3f38af04039f9f5e6e9..464f1426bec1b804c03ffc63190f639cf8df4467 100644 --- a/interface/web/client/lib/lang/ar_client_template.lng +++ b/interface/web/client/lib/lang/ar_client_template.lng @@ -8,12 +8,14 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. number of domain aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; $wb['limit_spamfilter_wblist_txt'] = 'Max. number of spamfilter white / blacklist filters'; $wb['limit_spamfilter_user_txt'] = 'Max. number of spamfilter users'; $wb['limit_spamfilter_policy_txt'] = 'Max. number of spamfilter policies'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -37,6 +39,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'The email domain alias limit must b $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ar_reseller.lng b/interface/web/client/lib/lang/ar_reseller.lng index a8968077ac0cf08a4470b60ba335c994f6afb760..9f3ce64e8007a6dd75590e1e68f32586827d9561 100644 --- a/interface/web/client/lib/lang/ar_reseller.lng +++ b/interface/web/client/lib/lang/ar_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. number of email aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Company'; $wb['title_txt'] = 'Title'; $wb['firstname_txt'] = 'Firstname'; $wb['surname_txt'] = 'Surname'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -67,6 +69,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/bg_client.lng b/interface/web/client/lib/lang/bg_client.lng index ce61104a7f813bfb6baa9e6a32eb2cecfdd16325..233a7c9b2733733bfad7d03bb56a3e308e4aa733 100644 --- a/interface/web/client/lib/lang/bg_client.lng +++ b/interface/web/client/lib/lang/bg_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Макс. брой email aliases'; $wb['limit_mailforward_txt'] = 'Макс. брой email forwarders'; $wb['limit_mailcatchall_txt'] = 'Макс. брой email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Макс. брой email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Макс. брой email filters'; $wb['limit_fetchmail_txt'] = 'Макс. брой fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Размер на пощенските кутии'; @@ -38,6 +39,7 @@ $wb['title_txt'] = 'Обръщение'; $wb['firstname_txt'] = 'Име'; $wb['surname_txt'] = 'Фамилия'; $wb['limit_client_txt'] = 'Макс. брой клиенти'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -64,6 +66,7 @@ $wb['limit_mailalias_error_notint'] = ' The email alias трябва да е ч $wb['limit_mailforward_error_notint'] = 'The email forward трябва да е число'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall трябва да е число'; $wb['limit_mailrouting_error_notint'] = 'The email routing трябва да е число'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter трябва да е число'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail трябва да е число'; $wb['limit_mailquota_error_notint'] = 'Размерът на пощенските кутии трябва да е число.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/bg_client_template.lng b/interface/web/client/lib/lang/bg_client_template.lng index ff4eb0db86778f31f0b7306cb068ba9bc3dd762e..393af633eb323c27eddf094195a82c82f95682d5 100644 --- a/interface/web/client/lib/lang/bg_client_template.lng +++ b/interface/web/client/lib/lang/bg_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Макс. брой на email aliases'; $wb['limit_mailforward_txt'] = 'Макс. брой на email forwarders'; $wb['limit_mailcatchall_txt'] = 'Макс. брой на email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Макс. брой на email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Макс. брой на email filters'; $wb['limit_fetchmail_txt'] = 'Макс. брой на fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Квота на пощенската кутия'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Макс. брой на spamfilter white / $wb['limit_spamfilter_user_txt'] = 'Макс. брой на spamfilter users'; $wb['limit_spamfilter_policy_txt'] = 'Макс. брой на spamfilter policys'; $wb['limit_client_txt'] = 'Макс. брой на Клиентите'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -32,6 +34,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias трябва да е чи $wb['limit_mailforward_error_notint'] = 'The email forward трябва да е число'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall трябва да е число'; $wb['limit_mailrouting_error_notint'] = 'The email routing трябва да е число'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter трябва да е число'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail трябва да е число'; $wb['limit_mailquota_error_notint'] = 'The email quota трябва да е число'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/bg_reseller.lng b/interface/web/client/lib/lang/bg_reseller.lng index 3352f07ae0d8d7018521a125b0cf0cc9b08ce84d..bd25475c64b7d53f9039ee404fb9d352eca2db9f 100644 --- a/interface/web/client/lib/lang/bg_reseller.lng +++ b/interface/web/client/lib/lang/bg_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. number of email aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Квота на пощенската кутия'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Компания'; $wb['title_txt'] = 'Обръщение'; $wb['firstname_txt'] = 'Първо име '; $wb['surname_txt'] = 'Фамилия'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -67,6 +69,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias трябва да е чи $wb['limit_mailforward_error_notint'] = 'The email forward трябва да е число'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall трябва да е число'; $wb['limit_mailrouting_error_notint'] = 'The email routing трябва да е число'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter трябва да е число'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail трябва да е число'; $wb['limit_mailquota_error_notint'] = 'The email quota трябва да е число'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/br.lng b/interface/web/client/lib/lang/br.lng index b65fba3044e99b04938206be75101ff51be80f43..ebc3055eaa1fabd81356dd43c19b377b59804f57 100644 --- a/interface/web/client/lib/lang/br.lng +++ b/interface/web/client/lib/lang/br.lng @@ -14,17 +14,16 @@ $wb['error_has_clients'] = 'Esta revenda possui clientes associados. Certifique- $wb['add_additional_template_txt'] = 'Adicionar gabarito personalizado'; $wb['delete_additional_template_txt'] = 'Remover gabarito personalizado'; $wb['Messaging'] = 'Mensagens'; -$wb['Send email'] = 'Enviar e-mail'; +$wb['Send email'] = 'Enviar email'; $wb['Edit Client Circle'] = 'Editar círculo de clientes'; $wb['Domains'] = 'Domínios'; -$wb['Add Domain'] = 'Add Domain'; +$wb['Add Domain'] = 'Adicionar domínio'; $wb['domain_txt'] = 'Domínio'; $wb['client_txt'] = 'Cliente'; -$wb['error_domain_in dnsuse'] = 'Este domínio não pode ser removido pois é utilizado em uma zona dns.'; -$wb['error_domain_in dnsslaveuse'] = 'Este domínio não pode ser removido pois é utilizado em uma zona dns secundária.'; -$wb['error_domain_in mailuse'] = 'Este domínio não pode ser removido pois é utilizado como um domínio de e-mail.'; +$wb['error_domain_in dnsuse'] = 'Este domínio não pode ser removido pois é utilizado em uma zona DNS.'; +$wb['error_domain_in dnsslaveuse'] = 'Este domínio não pode ser removido pois é utilizado em uma zona DNS secundária.'; +$wb['error_domain_in mailuse'] = 'Este domínio não pode ser removido pois é utilizado como um domínio de email.'; $wb['error_domain_in webuse'] = 'Este domínio não pode ser removido pois é utilizado como um domínio de site.'; $wb['error_client_can_not_add_domain'] = 'Você não tem permissão para adicionar novos domínios.'; $wb['error_client_group_id_empty'] = 'Você deve selecionar um cliente.'; -$wb['Email-Templates'] = 'Gabaritos de e-mail'; -?> +$wb['Email-Templates'] = 'Gabaritos de email'; diff --git a/interface/web/client/lib/lang/br_client.lng b/interface/web/client/lib/lang/br_client.lng index 0fa94829e1642c0faf6bec903036d4471b47458f..58557a3a00860c55e399213c506b594d8d60d90f 100644 --- a/interface/web/client/lib/lang/br_client.lng +++ b/interface/web/client/lib/lang/br_client.lng @@ -1,17 +1,18 @@ diff --git a/interface/web/client/lib/lang/br_client_circle.lng b/interface/web/client/lib/lang/br_client_circle.lng index 6c6cb132718096bfddefebf37f4f7aae72ba0216..e0a745ed90adf391f608d19e7326e73dc4e6b753 100644 --- a/interface/web/client/lib/lang/br_client_circle.lng +++ b/interface/web/client/lib/lang/br_client_circle.lng @@ -6,4 +6,3 @@ $wb['circle_name_txt'] = 'Nome do círculo'; $wb['client_ids_txt'] = 'Clientes/Revendas'; $wb['description_txt'] = 'Descrição'; $wb['active_txt'] = 'Ativo'; -?> diff --git a/interface/web/client/lib/lang/br_client_circle_list.lng b/interface/web/client/lib/lang/br_client_circle_list.lng index 1c1a43f49aad36796541c4c268f0f80ff65f0496..5f7c0172644e1ab6dfd2fa99b3747fe73ba42a06 100644 --- a/interface/web/client/lib/lang/br_client_circle_list.lng +++ b/interface/web/client/lib/lang/br_client_circle_list.lng @@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Adicionar novo círculo'; $wb['filter_txt'] = 'Filtro'; $wb['delete_txt'] = 'Remover'; $wb['active_txt'] = 'Ativo'; -?> diff --git a/interface/web/client/lib/lang/br_client_del.lng b/interface/web/client/lib/lang/br_client_del.lng index fbea0a66a06dfa148ad048f001b4c22aae69baf7..ce138c609a5c02bca1c07d816a323e292332ae3a 100644 --- a/interface/web/client/lib/lang/br_client_del.lng +++ b/interface/web/client/lib/lang/br_client_del.lng @@ -4,7 +4,6 @@ $wb['delete_explanation'] = 'Esta ação removerá os seguintes registros associ $wb['btn_save_txt'] = 'Remover o cliente'; $wb['btn_cancel_txt'] = 'Cancelar sem remover o cliente'; $wb['confirm_client_delete_txt'] = 'Você tem certeza que deseja remover este cliente?'; -$wb['list_head_txt'] = 'Delete Client'; -$wb['table_txt'] = 'Table'; -$wb['data_txt'] = 'Data'; -?> +$wb['list_head_txt'] = 'Remover cliente'; +$wb['table_txt'] = 'Tabela'; +$wb['data_txt'] = 'Dados'; diff --git a/interface/web/client/lib/lang/br_client_message.lng b/interface/web/client/lib/lang/br_client_message.lng index 75aa3480c5af620a875cd30b700928b9e0f0074c..a0b3c199405100111d6170c0be577d813ee47007 100644 --- a/interface/web/client/lib/lang/br_client_message.lng +++ b/interface/web/client/lib/lang/br_client_message.lng @@ -1,20 +1,19 @@ diff --git a/interface/web/client/lib/lang/br_client_message_template.lng b/interface/web/client/lib/lang/br_client_message_template.lng index 8fb0934837872af9fd6eebfe68ba219e382b96b2..dcf08c32a20156b9c440d3f69d8505981f5f41a4 100644 --- a/interface/web/client/lib/lang/br_client_message_template.lng +++ b/interface/web/client/lib/lang/br_client_message_template.lng @@ -1,13 +1,12 @@ +$wb['variables_description_txt'] = '(Variáveis de usuário e senha só estão disponíveis em email de boas-vindas.)'; +$wb['duplicate_welcome_error'] = 'Só pode existir um gabarito de email de boas-vindas. Edite o modelo existente ao invés de adicionar um novo.'; +$wb['subject_error_empty'] = 'Assunto está vazio.'; +$wb['message_error_empty'] = 'Mensagem está vazia.'; diff --git a/interface/web/client/lib/lang/br_client_message_template_list.lng b/interface/web/client/lib/lang/br_client_message_template_list.lng index 36737693548ded01de015f277df8c59104f881cd..3f9aef7b3a595e845681b67c2fbf26319dd9ae73 100644 --- a/interface/web/client/lib/lang/br_client_message_template_list.lng +++ b/interface/web/client/lib/lang/br_client_message_template_list.lng @@ -1,5 +1,4 @@ diff --git a/interface/web/client/lib/lang/br_client_template.lng b/interface/web/client/lib/lang/br_client_template.lng index 225684176f201dd627c2069534c081d41b869e55..92bff5cb06e629bb1b83ccf4bdf2802fc2496fdc 100644 --- a/interface/web/client/lib/lang/br_client_template.lng +++ b/interface/web/client/lib/lang/br_client_template.lng @@ -1,82 +1,84 @@ +$wb['Client-Templates'] = 'Gabaritos de clientes'; +$wb['Template'] = 'Gabarito'; diff --git a/interface/web/client/lib/lang/br_client_template_list.lng b/interface/web/client/lib/lang/br_client_template_list.lng index 47bd2e5779ed45cbeef57ed9d7021b33bda5b7f3..7a81d5c907c658f0c1ac274a1b78fd8d1e256f9d 100644 --- a/interface/web/client/lib/lang/br_client_template_list.lng +++ b/interface/web/client/lib/lang/br_client_template_list.lng @@ -4,4 +4,3 @@ $wb['template_type_txt'] = 'Tipo'; $wb['template_name_txt'] = 'Nome do gabarito'; $wb['template_id_txt'] = 'ID do gabarito'; $wb['sys_groupid_txt'] = 'Revenda'; -?> diff --git a/interface/web/client/lib/lang/br_clients_list.lng b/interface/web/client/lib/lang/br_clients_list.lng index 8016151a9bd270bd389fce43947b3c19f14f5f69..a4047fd4d27ce58f0c08303c2aa4ff73251e678b 100644 --- a/interface/web/client/lib/lang/br_clients_list.lng +++ b/interface/web/client/lib/lang/br_clients_list.lng @@ -11,4 +11,3 @@ $wb['customer_no_txt'] = 'Código do cliente'; $wb['locked_txt'] = 'Bloqueado'; $wb['yes_txt'] = 'Sim'; $wb['no_txt'] = 'Não'; -?> diff --git a/interface/web/client/lib/lang/br_domain.lng b/interface/web/client/lib/lang/br_domain.lng index 988976d2ce5ef0da5f79ae5c6349505e9ffda855..0ebd82d63c921bed761c65e4a9cb986a4cd937a5 100644 --- a/interface/web/client/lib/lang/br_domain.lng +++ b/interface/web/client/lib/lang/br_domain.lng @@ -1,6 +1,5 @@ diff --git a/interface/web/client/lib/lang/br_domain_list.lng b/interface/web/client/lib/lang/br_domain_list.lng index 57ec6c10646e581fab6ce2ef160ec2a48b97182e..2d7db28a659a6cfc6349ca02b06b935eb27a6a2c 100644 --- a/interface/web/client/lib/lang/br_domain_list.lng +++ b/interface/web/client/lib/lang/br_domain_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Domínios'; $wb['add_new_record_txt'] = 'Adicionar novo domínio'; $wb['domain_txt'] = 'Domínio'; $wb['user_txt'] = 'Cliente'; -?> diff --git a/interface/web/client/lib/lang/br_reseller.lng b/interface/web/client/lib/lang/br_reseller.lng index d8393913df05a2b74c7fa5227a4e85c199c20dfe..fea2945178b27515760599e835e6a117f2c7fdf8 100644 --- a/interface/web/client/lib/lang/br_reseller.lng +++ b/interface/web/client/lib/lang/br_reseller.lng @@ -1,16 +1,17 @@ diff --git a/interface/web/client/lib/lang/br_resellers_list.lng b/interface/web/client/lib/lang/br_resellers_list.lng index 1f67e7f5934437c8f433c718738c6432bd5dc816..4417a64a19d1d5686bce627015b997c006949fdf 100644 --- a/interface/web/client/lib/lang/br_resellers_list.lng +++ b/interface/web/client/lib/lang/br_resellers_list.lng @@ -8,4 +8,3 @@ $wb['country_txt'] = 'País'; $wb['add_new_record_txt'] = 'Adicionar nova revenda'; $wb['customer_no_txt'] = 'Código do cliente'; $wb['username_txt'] = 'Usuário'; -?> diff --git a/interface/web/client/lib/lang/ca_client.lng b/interface/web/client/lib/lang/ca_client.lng index 58fba376ffec40f12068017ce9892393e02f10f9..4482b8f2415cd068bdf22d9ea8e8bb1494b15cd2 100644 --- a/interface/web/client/lib/lang/ca_client.lng +++ b/interface/web/client/lib/lang/ca_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d\'alias d\'email'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d\'email'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d\'email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d\'emails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur courriel'; $wb['limit_mailquota_txt'] = 'Quota des boites courriel'; @@ -37,6 +38,7 @@ $wb['title_txt'] = 'Titre'; $wb['firstname_txt'] = 'Prénom'; $wb['surname_txt'] = 'Nom'; $wb['limit_client_txt'] = 'Nombre maximal de clients'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -62,6 +64,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d\'alias d\'email doit être un $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d\'email doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d\'email doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d\'email doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur courriel doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boites d\'email doit être un nombre.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ca_client_template.lng b/interface/web/client/lib/lang/ca_client_template.lng index fb4a8c1cb02b65bb52171c5a9c7180f4b8785b22..2a0f6eac455066350e28e2cf2d6169dd4159ed0a 100644 --- a/interface/web/client/lib/lang/ca_client_template.lng +++ b/interface/web/client/lib/lang/ca_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d\'alias d\'email'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d\'email'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d\'emails'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d\'emails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur courriel'; $wb['limit_mailquota_txt'] = 'Quota des boites courriel'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Nombre maximal de liste blanches/noires d\ $wb['limit_spamfilter_user_txt'] = 'Nombre maximal d\'utilisateurs du filtre antispam'; $wb['limit_spamfilter_policy_txt'] = 'Nombre maximal de règles du filtre antispam'; $wb['limit_client_txt'] = 'Nombre maximal de clients'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -31,6 +33,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d\'alias d\'email doit être un $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d\'email doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d\'email doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d\'email doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur courriel doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boites d\'email doit être un nombre.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ca_reseller.lng b/interface/web/client/lib/lang/ca_reseller.lng index f55cbd2b7640d7383d738fe54cf1459c466afaf7..7d92ced9888ab9105744d8b615c37721955c464e 100644 --- a/interface/web/client/lib/lang/ca_reseller.lng +++ b/interface/web/client/lib/lang/ca_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d\'alias d\'email'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d\'email'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d\'emails'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d\'emails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur courriel'; $wb['limit_mailquota_txt'] = 'Quota des boites courriel'; @@ -36,6 +37,7 @@ $wb['company_txt'] = 'Entreprise'; $wb['title_txt'] = 'Titre'; $wb['firstname_txt'] = 'Prénom'; $wb['surname_txt'] = 'Nom'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -65,6 +67,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d\'alias d\'email doit être un $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d\'email doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d\'email doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d\'email doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur courriel doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boites d\'email doit être un nombre.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/cz.lng b/interface/web/client/lib/lang/cz.lng index c8c8f50074d36257af8f8c7e7b7e4418f5bfaf05..f0c18e31fc6d0f4477eae0e800f9d813bb141abb 100644 --- a/interface/web/client/lib/lang/cz.lng +++ b/interface/web/client/lib/lang/cz.lng @@ -17,14 +17,13 @@ $wb['Messaging'] = 'Odesílání zpráv'; $wb['Send email'] = 'Odeslat e-mail'; $wb['Edit Client Circle'] = 'Upravit skupinu klientů'; $wb['Domains'] = 'Domény'; -$wb['Add Domain'] = 'Add Domain'; +$wb['Add Domain'] = 'Přidat doménu'; $wb['domain_txt'] = 'Doména'; $wb['client_txt'] = 'Klient'; $wb['error_domain_in mailuse'] = 'Tato doména nelze odstranit, protože je v používána jako poštovní doména'; $wb['error_domain_in webuse'] = 'Tato doména nelze odstranit, protože je v používána jako webová doména'; $wb['error_client_can_not_add_domain'] = 'Nemůžete přidat novou doménu'; $wb['error_client_group_id_empty'] = 'Musíte vybrat zákazníka
'; -$wb['error_domain_in dnsuse'] = 'This domain cannot be deleted, because it is in use as dns zone'; -$wb['error_domain_in dnsslaveuse'] = 'This domain cannot be deleted, because it is in use as secondary dns zone'; -$wb['Email-Templates'] = 'E-mailové šablony'; -?> +$wb['error_domain_in dnsuse'] = 'Tuto doménu nelze odstranit, protože se používá jako zóna DNS'; +$wb['error_domain_in dnsslaveuse'] = 'Tuto doménu nelze odstranit, protože se používá jako sekundární dns zóna'; +$wb['Email-Templates'] = 'Poštovní šablony'; diff --git a/interface/web/client/lib/lang/cz_client.lng b/interface/web/client/lib/lang/cz_client.lng index 01efe3372b3d7b03eabc7e7f8cd9c7e2fa66bcae..691bac508a09cdf18debf37c3878096e3835757d 100644 --- a/interface/web/client/lib/lang/cz_client.lng +++ b/interface/web/client/lib/lang/cz_client.lng @@ -1,11 +1,12 @@ diff --git a/interface/web/client/lib/lang/cz_client_circle.lng b/interface/web/client/lib/lang/cz_client_circle.lng index f26e2d6d4b790622e0ba7809095d7063205bfe03..24b624a88ededb670b6024c9f98119799926ff91 100644 --- a/interface/web/client/lib/lang/cz_client_circle.lng +++ b/interface/web/client/lib/lang/cz_client_circle.lng @@ -6,4 +6,3 @@ $wb['circle_name_txt'] = 'Název skupiny'; $wb['client_ids_txt'] = 'Klienti/Distributoři'; $wb['description_txt'] = 'Popis'; $wb['active_txt'] = 'Aktivní'; -?> diff --git a/interface/web/client/lib/lang/cz_client_circle_list.lng b/interface/web/client/lib/lang/cz_client_circle_list.lng index e1e0da1443ab9ffbed85c3fb2a25520c5f3dec65..70f60728cfe7d045d79cc04d4fc514e41b67dd1c 100644 --- a/interface/web/client/lib/lang/cz_client_circle_list.lng +++ b/interface/web/client/lib/lang/cz_client_circle_list.lng @@ -7,4 +7,3 @@ $wb['add_new_record_txt'] = 'Vytvořit skupinu'; $wb['filter_txt'] = 'Filtr'; $wb['delete_txt'] = 'Smazat'; $wb['active_txt'] = 'Aktivní'; -?> diff --git a/interface/web/client/lib/lang/cz_client_del.lng b/interface/web/client/lib/lang/cz_client_del.lng index d19949fec5ce2f6b54135252a4cda39475eff671..406dd0a91cef3b8b9fc1f2bb7ec15978bdb2a6d4 100644 --- a/interface/web/client/lib/lang/cz_client_del.lng +++ b/interface/web/client/lib/lang/cz_client_del.lng @@ -7,4 +7,3 @@ $wb['confirm_client_delete_txt'] = 'Jste si jisti, že chcete smazat tohoto klie $wb['list_head_txt'] = 'Delete Client'; $wb['table_txt'] = 'Table'; $wb['data_txt'] = 'Data'; -?> diff --git a/interface/web/client/lib/lang/cz_client_message.lng b/interface/web/client/lib/lang/cz_client_message.lng index 3710cbd254f546ab067c2c43f1158bf3c97867fd..4f05afc2c719115cdfb2940892c56ca1a0d2a5a4 100644 --- a/interface/web/client/lib/lang/cz_client_message.lng +++ b/interface/web/client/lib/lang/cz_client_message.lng @@ -17,4 +17,3 @@ $wb['all_clients_txt'] = 'Všichni klienti'; $wb['variables_txt'] = 'Výběr (možnosti):'; $wb['gender_m_txt'] = 'Pan'; $wb['gender_f_txt'] = 'Paní'; -?> diff --git a/interface/web/client/lib/lang/cz_client_message_template.lng b/interface/web/client/lib/lang/cz_client_message_template.lng index b1d730c06718101e23581f616d4f5899b7f8bcc0..9c770d03abd4a7c9600f9df039616ae9e4fcb2fa 100644 --- a/interface/web/client/lib/lang/cz_client_message_template.lng +++ b/interface/web/client/lib/lang/cz_client_message_template.lng @@ -10,4 +10,3 @@ $wb['variables_description_txt'] = 'Proměnné uživatelské jméno a heslo jsou $wb['duplicate_welcome_error'] = 'There can be only one default welcome email template. Please edit the existing template instead of adding a new one.'; $wb['subject_error_empty'] = 'Subject is empty'; $wb['message_error_empty'] = 'Message is empty'; -?> diff --git a/interface/web/client/lib/lang/cz_client_message_template_list.lng b/interface/web/client/lib/lang/cz_client_message_template_list.lng index d4c2f638579d8a9f4b063ffe0b954264ea6bcf4a..3dd0a7cd40bbb9665c55445bef051c941bfa1539 100644 --- a/interface/web/client/lib/lang/cz_client_message_template_list.lng +++ b/interface/web/client/lib/lang/cz_client_message_template_list.lng @@ -1,5 +1,4 @@ diff --git a/interface/web/client/lib/lang/cz_client_template.lng b/interface/web/client/lib/lang/cz_client_template.lng index 697b6a184ab6a825f51df4b909938d9367521141..f927e7bffdcd3b2acf51f25b20d9ae936d84dac6 100644 --- a/interface/web/client/lib/lang/cz_client_template.lng +++ b/interface/web/client/lib/lang/cz_client_template.lng @@ -2,18 +2,20 @@ $wb['ssh_chroot_notempty'] = 'No SSH chroot option selected. Select at least one option.'; $wb['limit_client_error_notint'] = 'Klientský limit není číslo.'; $wb['limit_maildomain_txt'] = 'Max. počet e-mailových domén'; -$wb['limit_mailbox_txt'] = 'Max. počet mailboxů'; +$wb['limit_mailbox_txt'] = 'Max. počet e-mailových schránek'; $wb['limit_mailalias_txt'] = 'Max. e-mailových aliasů'; $wb['limit_mailaliasdomain_txt'] = 'Max. počet doménových přezdívek'; $wb['limit_mailforward_txt'] = 'Max. počet e-mailových předávání'; $wb['limit_mailcatchall_txt'] = 'Max. počet e-mailových košů'; $wb['limit_mailrouting_txt'] = 'Max. počet e-mailových směrování'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. počet e-mailových filtrů'; $wb['limit_fetchmail_txt'] = 'Max. počet účtů externího získávání e-mailů'; $wb['limit_mailquota_txt'] = 'Kvóta e-mailové schránky'; $wb['limit_spamfilter_wblist_txt'] = 'Max. počet spamfiltrových bílých / černých listinových filtrů'; $wb['limit_spamfilter_user_txt'] = 'Max. počet spamflitrových uživatelů'; $wb['limit_spamfilter_policy_txt'] = 'Max. počet spamfiltrových politik'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -37,6 +39,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Limit pro e-mailové doménové ali $wb['limit_mailforward_error_notint'] = 'Limit pro e-mailové předávání musí být číslo.'; $wb['limit_mailcatchall_error_notint'] = 'Limit pro e-mailové koše musí být číslo.'; $wb['limit_mailrouting_error_notint'] = 'Limit pro e-mailová směrování musí být číslo.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Limit pro e-mailové filtry limit musí být číslo.'; $wb['limit_mailfetchmail_error_notint'] = 'Limit pro externí získávání e-mailů musí být číslo.'; $wb['limit_mailquota_error_notint'] = 'Limit pro e-mailovou kvótu musí být číslo.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webové servery'; $wb['db_servers_txt'] = 'Databázové servery'; $wb['mail_servers_txt'] = 'E-mailové servery'; $wb['Limits'] = 'Limity'; -?> diff --git a/interface/web/client/lib/lang/cz_client_template_list.lng b/interface/web/client/lib/lang/cz_client_template_list.lng index 28a5d3bf63ff2509eba0e910ba6591d2a6047650..e7914073eae4069ac8d338ab20d1feda6d45d956 100644 --- a/interface/web/client/lib/lang/cz_client_template_list.lng +++ b/interface/web/client/lib/lang/cz_client_template_list.lng @@ -3,5 +3,4 @@ $wb['list_head_txt'] = 'Klientské šablony'; $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Název šablony'; $wb['template_id_txt'] = 'ID šablony'; -$wb['sys_groupid_txt'] = 'Reseller'; -?> +$wb['sys_groupid_txt'] = 'Prodejce'; diff --git a/interface/web/client/lib/lang/cz_clients_list.lng b/interface/web/client/lib/lang/cz_clients_list.lng index 270da3674db2c36b250ce6c8b70b282561d4115f..92ebc7e2d7c3ffcdc8795d7dfa4011e6fdfa8a17 100644 --- a/interface/web/client/lib/lang/cz_clients_list.lng +++ b/interface/web/client/lib/lang/cz_clients_list.lng @@ -11,4 +11,3 @@ $wb['customer_no_txt'] = 'Zákaznické číslo'; $wb['locked_txt'] = 'Zamčené'; $wb['yes_txt'] = 'Ano'; $wb['no_txt'] = 'Ne'; -?> diff --git a/interface/web/client/lib/lang/cz_domain.lng b/interface/web/client/lib/lang/cz_domain.lng index 08b113fc4d755e75090fd20498cd7445e0b7897f..33d634d8e34fc2dc4bafac47154329b6cc594c73 100644 --- a/interface/web/client/lib/lang/cz_domain.lng +++ b/interface/web/client/lib/lang/cz_domain.lng @@ -3,4 +3,3 @@ $wb['domain_error_empty'] = 'Doménové jméno je prázdné'; $wb['domain_error_unique'] = 'Doména již existuje'; $wb['domain_error_regex'] = 'Toto doménové jméno je zakázáno'; $wb['Domain'] = 'Doména'; -?> diff --git a/interface/web/client/lib/lang/cz_domain_list.lng b/interface/web/client/lib/lang/cz_domain_list.lng index 25adf20c251b2203cdc311fd0e03afcadfa5e8b3..220ab3d9e12dae828f54445fa47136cf46a4592f 100644 --- a/interface/web/client/lib/lang/cz_domain_list.lng +++ b/interface/web/client/lib/lang/cz_domain_list.lng @@ -3,4 +3,3 @@ $wb['list_head_txt'] = 'Domény'; $wb['add_new_record_txt'] = 'Vytvořit doménu'; $wb['domain_txt'] = 'Doména'; $wb['user_txt'] = 'Klient'; -?> diff --git a/interface/web/client/lib/lang/cz_reseller.lng b/interface/web/client/lib/lang/cz_reseller.lng index 2650592334b4a06c10d52c83eedf3bcd238091b4..3b137a11bc9999b1b1c299dbab0807dc491f93bc 100644 --- a/interface/web/client/lib/lang/cz_reseller.lng +++ b/interface/web/client/lib/lang/cz_reseller.lng @@ -1,10 +1,11 @@ 0 or -1 (unlimited)'; @@ -204,7 +207,6 @@ $wb['limit_database_user_error_notint'] = 'Limit databázové kvóty musí být $wb['limit_database_quota_txt'] = 'Databázové kvóty'; $wb['limit_database_quota_error_notint'] = 'Limit databázové kvóty musí být číslo.'; $wb['password_click_to_set_txt'] = 'Pro nastavení klikni zde'; -$wb['Reseller'] = 'Reseller'; -$wb['Address'] = 'Address'; +$wb['Reseller'] = 'Prodejce'; +$wb['Address'] = 'Adresa'; $wb['Limits'] = 'Limity'; -?> diff --git a/interface/web/client/lib/lang/cz_resellers_list.lng b/interface/web/client/lib/lang/cz_resellers_list.lng index 13202ff743eee19864a9613f95102e917520ba1f..8d7d2a89fe87a0a3fc1d256d2181e39ff78d6d1d 100644 --- a/interface/web/client/lib/lang/cz_resellers_list.lng +++ b/interface/web/client/lib/lang/cz_resellers_list.lng @@ -8,4 +8,3 @@ $wb['country_txt'] = 'Stát'; $wb['add_new_record_txt'] = 'Vytvořit distributora'; $wb['customer_no_txt'] = 'Zákaznické číslo'; $wb['username_txt'] = 'Uživatelské jméno'; -?> diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index ae58555c17321a41ef57de3ec897b6de3a564c14..c75f3263a02360a77b8d144b11a49e220eb98e2e 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. Anzahl an E-Mail Aliase'; $wb['limit_mailforward_txt'] = 'Max. Anzahl an E-Mail Weiterleitungen'; $wb['limit_mailcatchall_txt'] = 'Max. Anzahl an E-Mail Catchall Konten'; $wb['limit_mailrouting_txt'] = 'Max. Anzahl an E-Mail Routen'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. Anzahl an E-Mail Filter'; $wb['limit_fetchmail_txt'] = 'Max. Anzahl an Fetchmail Konten'; $wb['limit_mailquota_txt'] = 'E-Mail Konto Beschränkung'; @@ -37,6 +38,7 @@ $wb['title_txt'] = 'Titel'; $wb['firstname_txt'] = 'Vorname'; $wb['surname_txt'] = 'Nachname'; $wb['limit_client_txt'] = 'Max. Anzahl an Kunden'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Max. Anzahl an Domains'; $wb['limit_subdomain_txt'] = 'Max. Anzahl an Subdomains'; $wb['limit_webquota_txt'] = 'Max. Webbeschränkung'; @@ -65,6 +67,7 @@ $wb['limit_mailalias_error_notint'] = 'Das E-Mail Alias Limit muss eine Zahl sei $wb['limit_mailforward_error_notint'] = 'Das E-Mail Weiterleitung Limit muss eine Zahl sein.'; $wb['limit_mailcatchall_error_notint'] = 'Das E-Mail Catchall Limit muss eine Zahl sein.'; $wb['limit_mailrouting_error_notint'] = 'Das E-Mail Routing Limit muss eine Zahl sein.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Das E-Mail Filter Limit muss eine Zahl sein.'; $wb['limit_mailfetchmail_error_notint'] = 'Das Fetchmail Limit muss eine Zahl sein.'; $wb['limit_mailquota_error_notint'] = 'Das E-Mailbeschränkungs Limit muss eine Zahl sein.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng index 432a5d9c7196cbec264710726a91fb6eb5b3822c..f985e19847c23a23596b0cb2f1443adfa74548ff 100644 --- a/interface/web/client/lib/lang/de_client_template.lng +++ b/interface/web/client/lib/lang/de_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Max. Anzahl an E-Mail Aliasse'; $wb['limit_mailforward_txt'] = 'Max. Anzahl an E-Mail Weiterleitungen'; $wb['limit_mailcatchall_txt'] = 'Max. Anzahl an E-Mail Catchall Konten'; $wb['limit_mailrouting_txt'] = 'Max. Anzahl E-Mail Routen'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. Anzahl an E-Mail Filtern'; $wb['limit_fetchmail_txt'] = 'Max. Anzahl an E-Mail Sammeldienst Konten'; $wb['limit_mailquota_txt'] = 'E-Mail Konto Beschränkung'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Max. Anzahl an Spamfilter (White-/Blacklis $wb['limit_spamfilter_user_txt'] = 'Max. Anzahl Spamfilter Benutzer'; $wb['limit_spamfilter_policy_txt'] = 'Max. Anzahl an Spamfilter Richtlinien'; $wb['limit_client_txt'] = 'Max. Anzahl an Kunden'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Max. Anzahl an Domains'; $wb['limit_subdomain_txt'] = 'Max. Anzahl an Subdomains'; $wb['limit_webquota_txt'] = 'Max. Speicherplatzbeschränkung'; @@ -34,6 +36,7 @@ $wb['limit_mailalias_error_notint'] = 'Das E-Mail Alias Limit muss eine Zahl sei $wb['limit_mailforward_error_notint'] = 'Das E-Mail Weiterleitung Limit muss eine Zahl sein.'; $wb['limit_mailcatchall_error_notint'] = 'Das E-Mail Catchall Limit muss eine Zahl sein.'; $wb['limit_mailrouting_error_notint'] = 'Das E-Mail Routing Limit muss eine Zahl sein.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Das E-Mail Filter Limit muss eine Zahl sein.'; $wb['limit_mailfetchmail_error_notint'] = 'Das E-Mail Sammeldienst Limit muss eine Zahl sein.'; $wb['limit_mailquota_error_notint'] = 'Das E-Mail Beschränkungs Limit muss eine Zahl sein.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Web-Server'; $wb['db_servers_txt'] = 'Datenbank-Server'; $wb['mail_servers_txt'] = 'Mail-Server'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng index 53429cb0f1c6b951eab3c40043d20fdf0b2f12fa..108cf7cd95100009633196d244341a47983109e2 100644 --- a/interface/web/client/lib/lang/de_reseller.lng +++ b/interface/web/client/lib/lang/de_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. Anzahl an E-Mail Aliasse'; $wb['limit_mailforward_txt'] = 'Max. Anzahl an E-Mail Weiterleitungen'; $wb['limit_mailcatchall_txt'] = 'Max. Anzahl an E-Mail Catchall Konten'; $wb['limit_mailrouting_txt'] = 'Max. Anzahl an E-Mail Routen'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. Anzahl an E-Mail Filtern'; $wb['limit_fetchmail_txt'] = 'Max. Anzahl an Fetchmail Konten'; $wb['limit_mailquota_txt'] = 'E-Mail konten Beschränkung'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Firma'; $wb['title_txt'] = 'Titel'; $wb['firstname_txt'] = 'Vorname'; $wb['surname_txt'] = 'Nachname'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Max. Anzahl an Domains'; $wb['limit_subdomain_txt'] = 'Max. Anzahl an Subdomains'; $wb['limit_webquota_txt'] = 'Max. Speicherplatzbeschränkung'; @@ -66,6 +68,7 @@ $wb['limit_mailalias_error_notint'] = 'Das E-Mail Alias Limit muss eine Zahl sei $wb['limit_mailforward_error_notint'] = 'Das E-Mail Weiterleitungs Limit muss eine Zahl sein.'; $wb['limit_mailcatchall_error_notint'] = 'Das E-Mail Catchall Limit muss eine Zahl sein.'; $wb['limit_mailrouting_error_notint'] = 'Das E-Mail Routing Limit muss eine Zahl sein.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Das E-Mail Filter Limit muss eine Zahl sein.'; $wb['limit_mailfetchmail_error_notint'] = 'Das Fetchmail Limit muss eine Zahl sein.'; $wb['limit_mailquota_error_notint'] = 'Das E-Mail Beschräkungs Limit muss eine Zahl sein.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/dk_client.lng b/interface/web/client/lib/lang/dk_client.lng index b1aa48c6e56678006471e5c6016e60f425ed55c3..c5154dac5d95889718361249f70da1e499b4d19c 100644 --- a/interface/web/client/lib/lang/dk_client.lng +++ b/interface/web/client/lib/lang/dk_client.lng @@ -7,6 +7,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. antal af domæne aliaser'; $wb['limit_mailforward_txt'] = 'Max. antal af e-mail forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. antal af e-mail catchall konti'; $wb['limit_mailrouting_txt'] = 'Max. antal af e-mail routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. antal af e-mail filtere'; $wb['limit_fetchmail_txt'] = 'Max. antal af fetchmail konti'; $wb['limit_mailquota_txt'] = 'Postboks kvota'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Firma'; $wb['title_txt'] = 'Titel'; $wb['firstname_txt'] = 'Fornavn'; $wb['surname_txt'] = 'Efternavn'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webkvote'; @@ -71,6 +73,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'E-mail domæne alias grænse skal v $wb['limit_mailforward_error_notint'] = 'E-mail forward grænse skal være et tal.'; $wb['limit_mailcatchall_error_notint'] = 'E-mail catchall grænse skal være et tal.'; $wb['limit_mailrouting_error_notint'] = 'E-mail routing grænse skal være et tal.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'E-mail filter grænse skal være et tal.'; $wb['limit_mailfetchmail_error_notint'] = 'Fetchmail grænse skal være et tal.'; $wb['limit_mailquota_error_notint'] = 'E-mail kvote grænse skal være et tal.'; @@ -203,4 +206,3 @@ $wb['limit_directive_snippets_txt'] = 'Show web server config selection'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/dk_client_template.lng b/interface/web/client/lib/lang/dk_client_template.lng index 4e7a609aa9b372232c8b89d7678e3e7dc3cca085..daacc207e49901281a688a0d197266210c662e3d 100644 --- a/interface/web/client/lib/lang/dk_client_template.lng +++ b/interface/web/client/lib/lang/dk_client_template.lng @@ -11,12 +11,14 @@ $wb['limit_mailmailinglist_txt'] = 'Max. antal af mailing lister'; $wb['limit_mailforward_txt'] = 'Max. antal af e-mail forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. antal af e-mail catchall konti'; $wb['limit_mailrouting_txt'] = 'Max. antal af e-mail routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. antal af e-mail filtere'; $wb['limit_fetchmail_txt'] = 'Max. antal af fetchmail konti'; $wb['limit_mailquota_txt'] = 'Postboks kvota'; $wb['limit_spamfilter_wblist_txt'] = 'Max. antal af spamfilter white/blacklist filtere'; $wb['limit_spamfilter_user_txt'] = 'Max. antal af spamfilter brugere'; $wb['limit_spamfilter_policy_txt'] = 'Max. antal af spamfilter politikker'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webkvote'; @@ -42,6 +44,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'E-mail domæne alias grænse skal v $wb['limit_mailforward_error_notint'] = 'E-mail forward grænse skal være et tal.'; $wb['limit_mailcatchall_error_notint'] = 'E-mail catchall grænse skal være et tal.'; $wb['limit_mailrouting_error_notint'] = 'E-mail routing grænse skal være et tal.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'E-mail filter grænse skal være et tal.'; $wb['limit_mailfetchmail_error_notint'] = 'Fetchmail grænse skal være et tal.'; $wb['limit_mailquota_error_notint'] = 'E-mail kvote grænse skal være et tal.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/dk_reseller.lng b/interface/web/client/lib/lang/dk_reseller.lng index af8c3fc53e87a262a16f7194927eeef532020dc2..816d9a35ef2768afe2ef23ac53b3b0b849f02eea 100644 --- a/interface/web/client/lib/lang/dk_reseller.lng +++ b/interface/web/client/lib/lang/dk_reseller.lng @@ -7,6 +7,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. antal af domæne aliaser'; $wb['limit_mailforward_txt'] = 'Max. antal af e-mail forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. antal af e-mail catchall konti'; $wb['limit_mailrouting_txt'] = 'Max. antal af e-mail routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. antal af e-mail filtere'; $wb['limit_fetchmail_txt'] = 'Max. antal af fetchmail konti'; $wb['limit_mailquota_txt'] = 'Postboks kvota'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Firma'; $wb['title_txt'] = 'Titel'; $wb['firstname_txt'] = 'Fornavn'; $wb['surname_txt'] = 'Efternavn'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webkvote'; @@ -70,6 +72,7 @@ $wb['limit_mailalias_error_notint'] = 'E-mail alias grænse skal være et tal.'; $wb['limit_mailforward_error_notint'] = 'E-mail forward grænse skal være et tal.'; $wb['limit_mailcatchall_error_notint'] = 'E-mail catchall grænse skal være et tal.'; $wb['limit_mailrouting_error_notint'] = 'E-mail routing grænse skal være et tal.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'E-mail filter grænse skal være et tal.'; $wb['limit_mailfetchmail_error_notint'] = 'Fetchmail grænse skal være et tal.'; $wb['limit_mailquota_error_notint'] = 'E-mail kvote grænse skal være et tal.'; @@ -207,4 +210,3 @@ $wb['limit_database_quota_error_notint'] = 'The database quota limit must be a n $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/el_client.lng b/interface/web/client/lib/lang/el_client.lng index 0058743c90622461f56fe76c23a19f85ab46b586..373c751a520fef1438b9127481716da653f92bf5 100644 --- a/interface/web/client/lib/lang/el_client.lng +++ b/interface/web/client/lib/lang/el_client.lng @@ -6,6 +6,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Όριο ψευδωνύμων domain'; $wb['limit_mailforward_txt'] = 'Όριο email forwarders'; $wb['limit_mailcatchall_txt'] = 'Όριο λογαριασμών email catchall'; $wb['limit_mailrouting_txt'] = 'Όριο δρομολογήσεων των email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Όριο φίλτρων email'; $wb['limit_fetchmail_txt'] = 'Όριο λογαριασμών fetchmail'; $wb['limit_mailquota_txt'] = 'Όριο χώρου θυρίδας'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Εταιρία'; $wb['title_txt'] = 'Τίτλος'; $wb['firstname_txt'] = 'Όνομα'; $wb['surname_txt'] = 'Επίθετο'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Όριο domain'; $wb['limit_subdomain_txt'] = 'Όριο subdomain'; $wb['limit_webquota_txt'] = 'Όριο χώρου web'; @@ -71,6 +73,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Το όριο των ψευδωνύ $wb['limit_mailforward_error_notint'] = 'Το όριο των email forward πρέπει να είναι αριθμός'; $wb['limit_mailcatchall_error_notint'] = 'Το όριο των email catchall πρέπει να είναι αριθμός'; $wb['limit_mailrouting_error_notint'] = 'Το όριο των δρομολογήσεων email πρέπει να είναι αριθμός'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Το όριο των email filter πρέπει να είναι αριθμός'; $wb['limit_mailfetchmail_error_notint'] = 'Το όριο των fetchmail πρέπει να είναι αριθμός'; $wb['limit_mailquota_error_notint'] = 'Το όριο μεγέθους των email πρέπει να είναι αριθμός'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/el_client_template.lng b/interface/web/client/lib/lang/el_client_template.lng index 9202451f35af19432c7db7dfec690a77ae9872f8..bd0097b3dfe1b548ad6fba74daa26e0d04847637 100644 --- a/interface/web/client/lib/lang/el_client_template.lng +++ b/interface/web/client/lib/lang/el_client_template.lng @@ -8,12 +8,14 @@ $wb['limit_mailaliasdomain_txt'] = 'Όριο ψευδωνύμων domain'; $wb['limit_mailforward_txt'] = 'Όριο email forwarders'; $wb['limit_mailcatchall_txt'] = 'Όριο λογαριασμών email'; $wb['limit_mailrouting_txt'] = 'Όριο δρομολογήσεων email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Όριο φίλτρων email'; $wb['limit_fetchmail_txt'] = 'Όριο λογαριασμών fetchmail'; $wb['limit_mailquota_txt'] = 'Όριο θυρίδας'; $wb['limit_spamfilter_wblist_txt'] = 'Όριο spamfilter white / blacklist'; $wb['limit_spamfilter_user_txt'] = 'Όριο χρηστών spamfilter'; $wb['limit_spamfilter_policy_txt'] = 'Όριο πολιτικών spamfilter'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Όριο domain'; $wb['limit_subdomain_txt'] = 'Όριο subdomain'; $wb['limit_webquota_txt'] = 'Όριο χώρου web'; @@ -39,6 +41,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Το όριο ψευδωνύμων $wb['limit_mailforward_error_notint'] = 'Το όριο email forward πρέπει να είναι αριθμός.'; $wb['limit_mailcatchall_error_notint'] = 'Το όριο email catchall πρέπει να είναι αριθμός.'; $wb['limit_mailrouting_error_notint'] = 'Το όριο των δρομολογήσεων email πρέπει να είναι αριθμός.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Το όριο φίλτρων email πρέπει να είναι αριθμός.'; $wb['limit_mailfetchmail_error_notint'] = 'Το όριο fetchmail πρέπει να είναι αριθμός.'; $wb['limit_mailquota_error_notint'] = 'Το όριο χώρου email πρέπει να είναι αριθμός.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng index 190943bfeb6d4179a10e948580b2d8edd35b44b9..512351c8f0374ae136a7bf642a753016b50fc2d9 100644 --- a/interface/web/client/lib/lang/el_reseller.lng +++ b/interface/web/client/lib/lang/el_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Όριο ψευδωνύμων email'; $wb['limit_mailforward_txt'] = 'Όριο email forwarders'; $wb['limit_mailcatchall_txt'] = 'Όριο λογαριασμών email catchall'; $wb['limit_mailrouting_txt'] = 'Όριο δρομολογήσεων email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Όριο φίλτρων email'; $wb['limit_fetchmail_txt'] = 'Όριο λογαριασμών fetchmail'; $wb['limit_mailquota_txt'] = 'Όριο θυρίδας'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Εταιρία'; $wb['title_txt'] = 'Τίτλος'; $wb['firstname_txt'] = 'Όνομα'; $wb['surname_txt'] = 'Επίθετο'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Όριο Domain'; $wb['limit_subdomain_txt'] = 'Όριο Subdomain'; $wb['limit_webquota_txt'] = 'Όριο Χώρου Web'; @@ -67,6 +69,7 @@ $wb['limit_mailalias_error_notint'] = 'Το όριο ψευδωνύμων email $wb['limit_mailforward_error_notint'] = 'Το όριο email forward πρέπει να είναι αριθμός.'; $wb['limit_mailcatchall_error_notint'] = 'Το όριο email catchall πρέπει να είναι αριθμός.'; $wb['limit_mailrouting_error_notint'] = 'Το όριο δρομολογήσεων email πρέπει να είναι αριθμός.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Το όριο φίλτρων email πρέπει να είναι αριθμός.'; $wb['limit_mailfetchmail_error_notint'] = 'Το όριο fetchmail πρέπει να είναι αριθμός.'; $wb['limit_mailquota_error_notint'] = 'Το όριο χώρου email πρέπει να είναι αριθμός.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng index 28e637929dc837aa9449e9f0d22f25380a4bb30d..acaafeb390e9ae7c62180f35fa615dbc49ad9870 100644 --- a/interface/web/client/lib/lang/en_client.lng +++ b/interface/web/client/lib/lang/en_client.lng @@ -7,6 +7,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. number of domain aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -40,6 +41,7 @@ $wb['company_txt'] = 'Company'; $wb['title_txt'] = 'Title'; $wb['firstname_txt'] = 'Firstname'; $wb['surname_txt'] = 'Surname'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -74,6 +76,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'The email domain alias limit must b $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -205,4 +208,3 @@ $wb['email_error_empty'] = 'Email is empty'; $wb['limit_directive_snippets_txt'] = 'Show web server config selection'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng index 56878843ff552b0b9f9c2509dc1bb12426dd661f..ad20fc5699b774a50588513119ad21c7ed9e9457 100644 --- a/interface/web/client/lib/lang/en_client_template.lng +++ b/interface/web/client/lib/lang/en_client_template.lng @@ -13,12 +13,14 @@ $wb['limit_mailmailinglist_txt'] = 'Max. number of mailing lists'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; $wb['limit_spamfilter_wblist_txt'] = 'Max. number of spamfilter white / blacklist filters'; $wb['limit_spamfilter_user_txt'] = 'Max. number of spamfilter users'; $wb['limit_spamfilter_policy_txt'] = 'Max. number of spamfilter policies'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -48,6 +50,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'The email domain alias limit must b $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -126,4 +129,3 @@ $wb['xmpp_servers_txt'] = 'XMPP Servers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/en_reseller.lng b/interface/web/client/lib/lang/en_reseller.lng index 47bc8d37d271694a0d3d49f93ffac653f016e0ec..d243c28cc17e6785121a63afc7c0d1e2c42a445f 100644 --- a/interface/web/client/lib/lang/en_reseller.lng +++ b/interface/web/client/lib/lang/en_reseller.lng @@ -7,6 +7,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Max. number of domain aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -40,6 +41,7 @@ $wb['company_txt'] = 'Company'; $wb['title_txt'] = 'Title'; $wb['firstname_txt'] = 'Firstname'; $wb['surname_txt'] = 'Surname'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -74,6 +76,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -211,4 +214,3 @@ $wb['limit_database_quota_error_notint'] = 'The database quota limit must be a n $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/es_client.lng b/interface/web/client/lib/lang/es_client.lng index 44b68fca33dbd9e12ce7b1bb1e41a2bfc6ae8093..d9210b8ec36b1a97b2acafda4bc12684f1833d11 100644 --- a/interface/web/client/lib/lang/es_client.lng +++ b/interface/web/client/lib/lang/es_client.lng @@ -80,6 +80,7 @@ $wb['limit_dns_slave_zone_error_notint'] = 'El límite de zonas esclavas de dns $wb['limit_dns_slave_zone_txt'] = 'Cantidad máxima de zonas secundarias de DNS'; $wb['limit_dns_zone_error_notint'] = 'El límite de zonas DNS debe ser un número.'; $wb['limit_dns_zone_txt'] = 'Cantidad máxima de zonas DNS'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_fetchmail_txt'] = 'Cantidad máx. de recogedores de correo'; $wb['limit_ftp_user_error_notint'] = 'El límite de usuarios de FTP debe ser un número.'; @@ -106,6 +107,8 @@ $wb['limit_mailquota_error_notint'] = 'El límite de cuota de correo debe ser un $wb['limit_mailquota_txt'] = 'Cuota de buzones de correo'; $wb['limit_mailrouting_error_notint'] = 'El límite de enrutadores de correo debe ser un número.'; $wb['limit_mailrouting_txt'] = 'Cantidad máx. de enrutadores de correos'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_openvz_vm_error_notint'] = 'El límite de servidores virtuales debe ser un número.'; $wb['limit_openvz_vm_template_id_txt'] = 'Forzar plantilla para servidor virtual'; $wb['limit_openvz_vm_txt'] = 'Cantidad máxima de servidores virtuales'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/es_client_template.lng b/interface/web/client/lib/lang/es_client_template.lng index 5d968437f6f818b75d2cffddf4c92b17b145a185..2099173c191006baf1c7d7e1fd0e3f191335c1fb 100644 --- a/interface/web/client/lib/lang/es_client_template.lng +++ b/interface/web/client/lib/lang/es_client_template.lng @@ -36,6 +36,7 @@ $wb['limit_dns_slave_zone_error_notint'] = 'El límite de zonas esclavas de dns $wb['limit_dns_slave_zone_txt'] = 'Cantidad máx. de zonas secundarias de DNS'; $wb['limit_dns_zone_error_notint'] = 'El límite de zonas DNS debe ser un número.'; $wb['limit_dns_zone_txt'] = 'Cantidad máx. de zonas DNS'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_domainmodule_txt'] = 'Límites del módulo de dominio'; $wb['limit_fetchmail_txt'] = 'Cantidad máx. de recuperadores de correo'; @@ -63,6 +64,8 @@ $wb['limit_mailquota_error_notint'] = 'El límite de cuota de correo debe ser un $wb['limit_mailquota_txt'] = 'Cuota de buzones de correo'; $wb['limit_mailrouting_error_notint'] = 'El límite de enrutadores de correo debe ser un número.'; $wb['limit_mailrouting_txt'] = 'Cantidad máx. de enrutadores de correos'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_openvz_vm_error_notint'] = 'El límite del servidor virtual debe ser un número.'; $wb['limit_openvz_vm_template_id_txt'] = 'Forzar plantilla de servidor virtual'; $wb['limit_openvz_vm_txt'] = 'Cantidad máx. de servidores virtuales'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/es_reseller.lng b/interface/web/client/lib/lang/es_reseller.lng index e3cbe4104606117c2c97c1cbc511b5fb46ff66d0..9fe710e6e327e33656ca2821ccc7a50507d1c11d 100644 --- a/interface/web/client/lib/lang/es_reseller.lng +++ b/interface/web/client/lib/lang/es_reseller.lng @@ -86,6 +86,7 @@ $wb['limit_dns_slave_zone_error_notint'] = 'El límite de zonas esclavas de dns $wb['limit_dns_slave_zone_txt'] = 'Cantidad máxima de zonas secundarias de DNS'; $wb['limit_dns_zone_error_notint'] = 'El límite de zonas DNS debe ser un número.'; $wb['limit_dns_zone_txt'] = 'Cantidad máxima de zonas DNS'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_domainmodule_error_notint'] = 'El límite del módulo de dominio debe ser un número.'; $wb['limit_domainmodule_txt'] = 'Límites del módulo de dominio'; @@ -113,6 +114,8 @@ $wb['limit_mailquota_error_notint'] = 'El límite de cuota de correo debe ser un $wb['limit_mailquota_txt'] = 'Cuota de buzones de correo'; $wb['limit_mailrouting_error_notint'] = 'El límite de enrutadores de correo debe ser un número.'; $wb['limit_mailrouting_txt'] = 'Cantidad máx. de enrutadores de correos'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_openvz_vm_error_notint'] = 'El límite del servidor virtual debe ser un número.'; $wb['limit_openvz_vm_template_id_txt'] = 'Forzar plantilla de servidor virtual'; $wb['limit_openvz_vm_txt'] = 'Cantidad máx. de servidores virtuales'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fi_client.lng b/interface/web/client/lib/lang/fi_client.lng index 81f87ce4935b4470dee89aa5372188fa32066493..68058e1ab5a4c87365db95dc285519b21feb9216 100644 --- a/interface/web/client/lib/lang/fi_client.lng +++ b/interface/web/client/lib/lang/fi_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Postisoitteiden aliastunnuksien määrä'; $wb['limit_mailforward_txt'] = 'Edelleenlähetysosoitteiden määrä'; $wb['limit_mailcatchall_txt'] = 'Postiverkkotunnuksien Catchall-tilien määrä'; $wb['limit_mailrouting_txt'] = 'Postireititysten määrä'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Roskapostisuodattimien määrä'; $wb['limit_fetchmail_txt'] = 'Noudettavien postilaatikoiden määrä'; $wb['limit_mailquota_txt'] = 'Postilaatikon enimmäiskoko'; @@ -37,6 +38,7 @@ $wb['title_txt'] = 'Otsikko'; $wb['firstname_txt'] = 'Etunimi'; $wb['surname_txt'] = 'Sukunimi'; $wb['limit_client_txt'] = 'Asiakkaiden määrä'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Verkkotunnuksien määrä'; $wb['limit_subdomain_txt'] = 'Aliverkkotunnuksien määrä'; $wb['limit_webquota_txt'] = 'Kotisivutila'; @@ -63,6 +65,7 @@ $wb['limit_mailalias_error_notint'] = 'Postin aliastunnuksien raja-arvon pitää $wb['limit_mailforward_error_notint'] = 'Postin edelleenlähetysten raja-arvon pitää olla numero.'; $wb['limit_mailcatchall_error_notint'] = 'Postiverkkotunnuksien catchall-tunnuksien raja-arvon pitää olla numero.'; $wb['limit_mailrouting_error_notint'] = 'Postireititysten raja-arvon pitää olla numero.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Roskapostisuodattimien raja-arvon pitää olla numero.'; $wb['limit_mailfetchmail_error_notint'] = 'Noudettavien postilaatikoiden raja-arvon pitää olla numero.'; $wb['limit_mailquota_error_notint'] = 'Postilaatikon koon raja-arvon pitää olla numero.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fi_client_template.lng b/interface/web/client/lib/lang/fi_client_template.lng index 142208637faf4c2ff5de08203c96b914a5034668..46ce6e6a8d03a0a96d6964adf46253d8aa2820bb 100644 --- a/interface/web/client/lib/lang/fi_client_template.lng +++ b/interface/web/client/lib/lang/fi_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Postialiaksien määrä'; $wb['limit_mailforward_txt'] = 'Edelleenlähetysosoitteiden määrä'; $wb['limit_mailcatchall_txt'] = 'Postiverkkotunnuksien Catchall-tilien määrä'; $wb['limit_mailrouting_txt'] = 'Postireititysten määrä'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Roskapostisuodattimien määrä'; $wb['limit_fetchmail_txt'] = 'Noudettavien postilaatikoiden määrä'; $wb['limit_mailquota_txt'] = 'Postilaatikon koko'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Roskapostisuodattimen estolistojen määr $wb['limit_spamfilter_user_txt'] = 'Roskapostisuodattimen käyttäjien määrä'; $wb['limit_spamfilter_policy_txt'] = 'Roskapostisuodattimen kohtelutapojen määrä'; $wb['limit_client_txt'] = 'Asiakkaiden määrä'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Verkkotunnuksien raja'; $wb['limit_subdomain_txt'] = 'Aliverkkotunnuksien raja'; $wb['limit_webquota_txt'] = 'Kotisivutilan raja'; @@ -32,6 +34,7 @@ $wb['limit_mailalias_error_notint'] = 'Postialiaksien raja-arvon pitää olla nu $wb['limit_mailforward_error_notint'] = 'Edelleenlähetysosoitteiden raja-arvon pitää olla numero.'; $wb['limit_mailcatchall_error_notint'] = 'Catchall-tunnuksien raja-arvon pitää olla numero.'; $wb['limit_mailrouting_error_notint'] = 'Postireitityksien raja-arvon pitää olla numero.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Roskapostisuodattimien raja-arvon pitää olla numero.'; $wb['limit_mailfetchmail_error_notint'] = 'Noudettavien postilaatikoiden raja-arvon pitää olla numero.'; $wb['limit_mailquota_error_notint'] = 'Postilaatikon koon raja-arvon pitää olla numero.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fi_reseller.lng b/interface/web/client/lib/lang/fi_reseller.lng index e32c8f1e13f4024481c06eed4dd175a0c8c5a15b..5c16e702644e8586b5aff5795f7aac8c3e2857f8 100644 --- a/interface/web/client/lib/lang/fi_reseller.lng +++ b/interface/web/client/lib/lang/fi_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Sähköpostin aliastunnuksien enimmäismäärä'; $wb['limit_mailforward_txt'] = 'Edelleenlähetettävien sähköpostitunnuksien enimmäismäärä'; $wb['limit_mailcatchall_txt'] = 'Sähköpostin catchall-tilien enimmäismäärä'; $wb['limit_mailrouting_txt'] = 'Sähköpostireitityksien enimmäismäärä'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Sähköpostisuodattimien enimmäismäärä'; $wb['limit_fetchmail_txt'] = 'Noudettavien sähköpotilaatikoiden enimmäismäärä'; $wb['limit_mailquota_txt'] = 'Sähköpostilaatikoiden levytila'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Yritys'; $wb['title_txt'] = 'Titteli'; $wb['firstname_txt'] = 'Etunimi'; $wb['surname_txt'] = 'Sukunimi'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Verkkotunnusraja'; $wb['limit_subdomain_txt'] = 'Aliverkkotunnusraja'; $wb['limit_webquota_txt'] = 'WWW-levytila'; @@ -66,6 +68,7 @@ $wb['limit_mailalias_error_notint'] = 'Sähköpostialiaksien rajan pitää olla $wb['limit_mailforward_error_notint'] = 'Sähköpostin edelleenlähetyksen rajan pitää olla numeerinen.'; $wb['limit_mailcatchall_error_notint'] = 'Catchall-tunnuksien rajan pitää olla numeerinen.'; $wb['limit_mailrouting_error_notint'] = 'Sähköpostireittien rajan pitää olla numeerinen.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Sähköpostisuodattimien rajan pitää olla numeerinen.'; $wb['limit_mailfetchmail_error_notint'] = 'Noudettavien laatikoiden rajan pitää olla numeerinen.'; $wb['limit_mailquota_error_notint'] = 'Sähköpostin levytilan rajan pitää olla numeerinen.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng index 7722a4544a13cc9bacb9811363cd62acba467a71..fc96c0d3195dab0b51bc75225e646395c2f14e03 100644 --- a/interface/web/client/lib/lang/fr_client.lng +++ b/interface/web/client/lib/lang/fr_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d’alias d’e-mail'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d’e-mail'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d’e-mail'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d’e-mails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur e-mail'; $wb['limit_mailquota_txt'] = 'Quota des boîtes aux lettres'; @@ -37,6 +38,7 @@ $wb['title_txt'] = 'Titre'; $wb['firstname_txt'] = 'Prénom'; $wb['surname_txt'] = 'Nom'; $wb['limit_client_txt'] = 'Nombre maximal de clients'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -62,6 +64,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d’alias d’e-mail doit être $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d’e-mail doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d’e-mail doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d’e-mail doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur e-mail doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boîtes d’e-mail doit être un nombre.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fr_client_template.lng b/interface/web/client/lib/lang/fr_client_template.lng index 8d36e144c65150c8d228eb77be14597a0ffc56d9..33548deba4979d017765df6fd9a6eebbe787c742 100644 --- a/interface/web/client/lib/lang/fr_client_template.lng +++ b/interface/web/client/lib/lang/fr_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d’alias d’e-mail'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d’e-mail'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d’e-mails'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d’e-mails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur e-mail'; $wb['limit_mailquota_txt'] = 'Quota des boîtes aux lettres'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Nombre maximal de liste blanches/noires d $wb['limit_spamfilter_user_txt'] = 'Nombre maximal d’utilisateurs du filtre antispam'; $wb['limit_spamfilter_policy_txt'] = 'Nombre maximal de règles du filtre antispam'; $wb['limit_client_txt'] = 'Nombre maximal de clients'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -31,6 +33,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d’alias d’e-mail doit être $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d’e-mail doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d’e-mail doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d’e-mail doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur e-mail doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boîtes d’e-mail doit être un nombre.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng index 704f9406dfa921f45d0ae833d5c9de0a55c9b5ca..867e9d5da06ff6320e8389d42f9bb41934679317 100644 --- a/interface/web/client/lib/lang/fr_reseller.lng +++ b/interface/web/client/lib/lang/fr_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Nombre maximal d’alias d’e-mail'; $wb['limit_mailforward_txt'] = 'Nombre maximal de routeurs d’e-mail'; $wb['limit_mailcatchall_txt'] = 'Nombre maximal de comptes collecteurs'; $wb['limit_mailrouting_txt'] = 'Nombre maximal de routes d’e-mails'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Nombre maximal de filtres d’e-mails'; $wb['limit_fetchmail_txt'] = 'Nombre maximal de comptes récupérateur e-mail'; $wb['limit_mailquota_txt'] = 'Quota des boîtes aux lettres'; @@ -36,6 +37,7 @@ $wb['company_txt'] = 'Entreprise'; $wb['title_txt'] = 'Titre'; $wb['firstname_txt'] = 'Prénom'; $wb['surname_txt'] = 'Nom'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'Nombre maximal de domaines'; $wb['limit_subdomain_txt'] = 'Nombre maximal de sous-domaines'; $wb['limit_webquota_txt'] = 'Limite du quota web'; @@ -65,6 +67,7 @@ $wb['limit_mailalias_error_notint'] = 'La limite d’alias d’e-mail doit être $wb['limit_mailforward_error_notint'] = 'La limite de routeurs d’e-mail doit être un nombre.'; $wb['limit_mailcatchall_error_notint'] = 'La limite de comptes collecteurs doit être un nombre.'; $wb['limit_mailrouting_error_notint'] = 'La limite de routes d’e-mail doit être un nombre.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'La limite de filtres d’e-mail doit être un nombre.'; $wb['limit_mailfetchmail_error_notint'] = 'La limite de comptes récupérateur e-mail doit être un nombre.'; $wb['limit_mailquota_error_notint'] = 'La limite du quota des boîtes d’e-mail doit être un nombre.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hr_client.lng b/interface/web/client/lib/lang/hr_client.lng index aa3ffba78fedb2c5b689e3a04292713348fce398..ed00a5c5202ee427218c3f7dfbc3af6a54f7421c 100644 --- a/interface/web/client/lib/lang/hr_client.lng +++ b/interface/web/client/lib/lang/hr_client.lng @@ -6,6 +6,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Maksimalan broj aliasa email domena'; $wb['limit_mailforward_txt'] = 'Maksimalan broj email forwardera'; $wb['limit_mailcatchall_txt'] = 'Maksimalan broj email catchall računa'; $wb['limit_mailrouting_txt'] = 'Maksimalan broj email ruta'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Maksimalan broj email filtera'; $wb['limit_fetchmail_txt'] = 'Maksimalan broj fetchmail računa'; $wb['limit_mailquota_txt'] = 'Veličina mailboxa'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Poduzeće'; $wb['title_txt'] = 'Naziv'; $wb['firstname_txt'] = 'Ime'; $wb['surname_txt'] = 'Prezime'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domena'; $wb['limit_subdomain_txt'] = 'limit_poddomena'; $wb['limit_webquota_txt'] = 'limit_prostora'; @@ -71,6 +73,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Maksimalan broj email alias domena $wb['limit_mailforward_error_notint'] = 'Limit email forwarda mora biti znamenka.'; $wb['limit_mailcatchall_error_notint'] = 'Limit email catchalla mora biti znamenka.'; $wb['limit_mailrouting_error_notint'] = 'Limit email ruta mora biti znamenka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Limit email filtera mora biti znamenka.'; $wb['limit_mailfetchmail_error_notint'] = 'Limit fetchmaila mora biti znamenka.'; $wb['limit_mailquota_error_notint'] = 'Veličina mailboxa mora biti znamenka.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hr_client_template.lng b/interface/web/client/lib/lang/hr_client_template.lng index 641e4ab3fa0c8bfb313f0d5c0ed9f70269d07ac4..ce5b3e8ebc874b95612da325d18f4a3add305157 100644 --- a/interface/web/client/lib/lang/hr_client_template.lng +++ b/interface/web/client/lib/lang/hr_client_template.lng @@ -8,12 +8,14 @@ $wb['limit_mailaliasdomain_txt'] = 'Maksimalan broj aliasa email domena'; $wb['limit_mailforward_txt'] = 'Maksimalan broj email forwardera'; $wb['limit_mailcatchall_txt'] = 'Maksimalan broj email catchall računa'; $wb['limit_mailrouting_txt'] = 'Maksimalan broj email ruta'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Maksimalan broj email filtera'; $wb['limit_fetchmail_txt'] = 'Maksimalan broj fetchmail računa'; $wb['limit_mailquota_txt'] = 'Veličina mailboxa'; $wb['limit_spamfilter_wblist_txt'] = 'Maksimalan broj spamfilter white / blacklist filtera'; $wb['limit_spamfilter_user_txt'] = 'Maksimalan broj spamfilter korisnika'; $wb['limit_spamfilter_policy_txt'] = 'Maksimalan broj spamfilter pravila'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domena'; $wb['limit_subdomain_txt'] = 'limit_poddomena'; $wb['limit_webquota_txt'] = 'limit_prostora'; @@ -39,6 +41,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Maksimalan broj email alias domena $wb['limit_mailforward_error_notint'] = 'Limit email forwarda mora biti znamenka.'; $wb['limit_mailcatchall_error_notint'] = 'Limit email catchalla mora biti znamenka.'; $wb['limit_mailrouting_error_notint'] = 'Limit email ruta mora biti znamenka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Limit email filtera mora biti znamenka.'; $wb['limit_mailfetchmail_error_notint'] = 'Limit fetchmaila mora biti znamenka.'; $wb['limit_mailquota_error_notint'] = 'Veličina mailboxa mora biti znamenka.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hr_reseller.lng b/interface/web/client/lib/lang/hr_reseller.lng index 6b2ee95138f57c1dfe95393afc385b091c7971a2..aaedd0b1c5e35e98b5fef8510a81839e0e5da42d 100644 --- a/interface/web/client/lib/lang/hr_reseller.lng +++ b/interface/web/client/lib/lang/hr_reseller.lng @@ -6,6 +6,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Maksimalan broj aliasa email domena'; $wb['limit_mailforward_txt'] = 'Maksimalan broj email forwardera'; $wb['limit_mailcatchall_txt'] = 'Maksimalan broj email catchall računa'; $wb['limit_mailrouting_txt'] = 'Maksimalan broj email ruta'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Maksimalan broj email filtera'; $wb['limit_fetchmail_txt'] = 'Maksimalan broj fetchmail računa'; $wb['limit_mailquota_txt'] = 'Veličina mailboxa'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Poduzeće'; $wb['title_txt'] = 'Naziv'; $wb['firstname_txt'] = 'Ime'; $wb['surname_txt'] = 'Prezime'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domena'; $wb['limit_subdomain_txt'] = 'limit_poddomena'; $wb['limit_webquota_txt'] = 'limit_prostora'; @@ -70,6 +72,7 @@ $wb['limit_mailalias_error_notint'] = 'Maksimalan broj email aliasa mora biti zn $wb['limit_mailforward_error_notint'] = 'Limit email forwarda mora biti znamenka.'; $wb['limit_mailcatchall_error_notint'] = 'Limit email catchalla mora biti znamenka.'; $wb['limit_mailrouting_error_notint'] = 'Limit email ruta mora biti znamenka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Limit email filtera mora biti znamenka.'; $wb['limit_mailfetchmail_error_notint'] = 'Limit fetchmaila mora biti znamenka.'; $wb['limit_mailquota_error_notint'] = 'Veličina mailboxa mora biti znamenka.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hu_client.lng b/interface/web/client/lib/lang/hu_client.lng index 85d8e87a88a1da6d9016f5da9b673445113c53cb..9e6ad94a7b80c65bae8def8c4b09e87e773bab5a 100644 --- a/interface/web/client/lib/lang/hu_client.lng +++ b/interface/web/client/lib/lang/hu_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Maximálisan létrehozható email alias-ok száma' $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox korlát'; @@ -37,6 +38,7 @@ $wb['title_txt'] = 'Titulus'; $wb['firstname_txt'] = 'Keresztnév'; $wb['surname_txt'] = 'Vezetéknév'; $wb['limit_client_txt'] = 'Max. number of Clients'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -63,6 +65,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hu_client_template.lng b/interface/web/client/lib/lang/hu_client_template.lng index e03e1fd983894b37e93763fa2deb83775a244245..74d37e7589486816faa3462e85e7ae1257c5cf47 100644 --- a/interface/web/client/lib/lang/hu_client_template.lng +++ b/interface/web/client/lib/lang/hu_client_template.lng @@ -7,12 +7,14 @@ $wb['limit_mailalias_txt'] = 'Max. number of email aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; $wb['limit_spamfilter_wblist_txt'] = 'Max. number of spamfilter white / blacklist filters'; $wb['limit_spamfilter_user_txt'] = 'Max. number of spamfilter users'; $wb['limit_spamfilter_policy_txt'] = 'Max. number of spamfilter policies'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -32,6 +34,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/hu_reseller.lng b/interface/web/client/lib/lang/hu_reseller.lng index 9c925bf07d64b2ee1a3600bcf89f487dd3a11d91..26fffbc7e35a00eece5f249f943667fe516cea11 100644 --- a/interface/web/client/lib/lang/hu_reseller.lng +++ b/interface/web/client/lib/lang/hu_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. number of email aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Cég'; $wb['title_txt'] = 'Titulus'; $wb['firstname_txt'] = 'Keresztnév'; $wb['surname_txt'] = 'Vezetéknév'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -67,6 +69,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/id_client.lng b/interface/web/client/lib/lang/id_client.lng index 56c0fa4b7657ce4d58f27463fd91491d18a01f37..47f8971b1fdec6b1dd36c9ce145319b19cffcd7d 100644 --- a/interface/web/client/lib/lang/id_client.lng +++ b/interface/web/client/lib/lang/id_client.lng @@ -6,6 +6,7 @@ $wb['limit_mailaliasdomain_txt'] = 'Jumlah maks alias domain'; $wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email'; $wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email'; $wb['limit_mailrouting_txt'] = 'Jumlah maks rute email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email'; $wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail'; $wb['limit_mailquota_txt'] = 'Kuota Mailbox'; @@ -38,6 +39,7 @@ $wb['company_txt'] = 'Perusahaan'; $wb['title_txt'] = 'Judul'; $wb['firstname_txt'] = 'Nama depan'; $wb['surname_txt'] = 'Nama belakang'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'batasan domain'; $wb['limit_subdomain_txt'] = 'batasan subdomain'; $wb['limit_webquota_txt'] = 'batasan kuota web'; @@ -68,6 +70,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Batasan alias domain email harus be $wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.'; $wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.'; $wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.'; $wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.'; $wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/id_client_template.lng b/interface/web/client/lib/lang/id_client_template.lng index a99e30763c91939c144070febfd876e82990586d..b4367236f73c9f09c1a35c92490d8867737184b1 100644 --- a/interface/web/client/lib/lang/id_client_template.lng +++ b/interface/web/client/lib/lang/id_client_template.lng @@ -8,12 +8,14 @@ $wb['limit_mailaliasdomain_txt'] = 'Jumlah maks alias domain'; $wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email'; $wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email'; $wb['limit_mailrouting_txt'] = 'Jumlah maks rute email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Jumlah maks filter email'; $wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail'; $wb['limit_mailquota_txt'] = 'Kuota Mailbox'; $wb['limit_spamfilter_wblist_txt'] = 'Jumlah maks filter white/blacklist spamfilter'; $wb['limit_spamfilter_user_txt'] = 'Jumlah maks pengguna spamfilter'; $wb['limit_spamfilter_policy_txt'] = 'Jumlah maks kebijakan spamfilter'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'batasan domain'; $wb['limit_subdomain_txt'] = 'batasan subdomain'; $wb['limit_webquota_txt'] = 'batasan kuota web'; @@ -36,6 +38,7 @@ $wb['limit_mailaliasdomain_error_notint'] = 'Batasan alias domain email harus be $wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.'; $wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.'; $wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.'; $wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.'; $wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/id_reseller.lng b/interface/web/client/lib/lang/id_reseller.lng index 16433cc0e8f532d8f41029855730d3ef9bd36644..01195a244c3eb45d6fad9134d7d3abd44e452281 100644 --- a/interface/web/client/lib/lang/id_reseller.lng +++ b/interface/web/client/lib/lang/id_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Jumlah maks alias email'; $wb['limit_mailforward_txt'] = 'Jumlah maks forwarder email'; $wb['limit_mailcatchall_txt'] = 'Jumlah maks akun catchall email'; $wb['limit_mailrouting_txt'] = 'Jumlah maks rute email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Jumlah maks penyaringan email'; $wb['limit_fetchmail_txt'] = 'Jumlah maks akun fetchmail'; $wb['limit_mailquota_txt'] = 'Kuota Mailbox'; @@ -37,6 +38,7 @@ $wb['company_txt'] = 'Perusahaan'; $wb['title_txt'] = 'Judul'; $wb['firstname_txt'] = 'Nama Depan'; $wb['surname_txt'] = 'Nama Belakang'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'batasan domain'; $wb['limit_subdomain_txt'] = 'batasan subdomain'; $wb['limit_webquota_txt'] = 'batasan kuota web'; @@ -66,6 +68,7 @@ $wb['limit_mailalias_error_notint'] = 'Batasan alias email harus berupa angka.'; $wb['limit_mailforward_error_notint'] = 'Batasan forward email harus berupa angka.'; $wb['limit_mailcatchall_error_notint'] = 'Batasan catchall email harus berupa angka.'; $wb['limit_mailrouting_error_notint'] = 'Batasan routing email harus berupa angka.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Batasan penyaringan email harus berupa angka.'; $wb['limit_mailfetchmail_error_notint'] = 'Batasan fetchmail harus berupa angka.'; $wb['limit_mailquota_error_notint'] = 'Batasan kuota email harus berupa angka.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/it_client.lng b/interface/web/client/lib/lang/it_client.lng index 754e875c0efa859f51080797510a5b265eda5520..883bb424871254d74866fe486141122264874e75 100644 --- a/interface/web/client/lib/lang/it_client.lng +++ b/interface/web/client/lib/lang/it_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Numero massimo di aliases di posta'; $wb['limit_mailforward_txt'] = 'Numero massimo di forwarders di posta'; $wb['limit_mailcatchall_txt'] = 'Numero massimo di catchall accounts'; $wb['limit_mailrouting_txt'] = 'Numero massimo di email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Numero massimo di email filters'; $wb['limit_fetchmail_txt'] = 'Numero massimo di fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Limite quota mailbox'; @@ -36,6 +37,7 @@ $wb['title_txt'] = 'Titolo'; $wb['firstname_txt'] = 'Nome'; $wb['surname_txt'] = 'Cognome'; $wb['limit_client_txt'] = 'Numero massimo clienti'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -62,6 +64,7 @@ $wb['limit_mailalias_error_notint'] = 'Il limite di email alias deve essere un n $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/it_client_template.lng b/interface/web/client/lib/lang/it_client_template.lng index 36718d461395aad1db2d60e0c654db0382659b59..119d5d28e50ecf4b47205051a20479eb24b6cf9b 100644 --- a/interface/web/client/lib/lang/it_client_template.lng +++ b/interface/web/client/lib/lang/it_client_template.lng @@ -7,6 +7,7 @@ $wb['limit_mailalias_txt'] = 'Num. massimo alias email'; $wb['limit_mailforward_txt'] = 'Num. massimo inoltri email'; $wb['limit_mailcatchall_txt'] = 'Num. massimo account email catchall'; $wb['limit_mailrouting_txt'] = 'Num. massimo routes email'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Num. massimo filtri email'; $wb['limit_fetchmail_txt'] = 'Num. massimo account fetchmail'; $wb['limit_mailquota_txt'] = 'Quota caselle di posta'; @@ -14,6 +15,7 @@ $wb['limit_spamfilter_wblist_txt'] = 'Num. massimo filtri spam white / blacklist $wb['limit_spamfilter_user_txt'] = 'Num. massimo utenti spamfilter'; $wb['limit_spamfilter_policy_txt'] = 'Num. massimo policys spamfilter'; $wb['limit_client_txt'] = 'Num. massimo clienti'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -32,6 +34,7 @@ $wb['limit_mailalias_error_notint'] = 'Il limite alias email devessere un numero $wb['limit_mailforward_error_notint'] = 'Il limite inoltro email devessere un numero.'; $wb['limit_mailcatchall_error_notint'] = 'Il limite catchall email devessere un numero.'; $wb['limit_mailrouting_error_notint'] = 'Il limite routing email devessere un numero .'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'Il limite filtri email devessere un numero.'; $wb['limit_mailfetchmail_error_notint'] = 'Il limite fetchmail devessere un numero.'; $wb['limit_mailquota_error_notint'] = 'Il limite quota email devessere un numero.'; @@ -123,4 +126,3 @@ $wb['web_servers_txt'] = 'Webservers'; $wb['db_servers_txt'] = 'Database servers'; $wb['mail_servers_txt'] = 'Mailservers'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/it_reseller.lng b/interface/web/client/lib/lang/it_reseller.lng index 3420507d207cbc49af69222c7336dfc72f650391..ca1f01467d2ee4513fb2425ac87c767eaae50659 100644 --- a/interface/web/client/lib/lang/it_reseller.lng +++ b/interface/web/client/lib/lang/it_reseller.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'Max. number of email aliases'; $wb['limit_mailforward_txt'] = 'Max. number of email forwarders'; $wb['limit_mailcatchall_txt'] = 'Max. number of email catchall accounts'; $wb['limit_mailrouting_txt'] = 'Max. number of email routes'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'Max. number of email filters'; $wb['limit_fetchmail_txt'] = 'Max. number of fetchmail accounts'; $wb['limit_mailquota_txt'] = 'Mailbox quota'; @@ -36,6 +37,7 @@ $wb['company_txt'] = 'Azienda'; $wb['title_txt'] = 'Titolo'; $wb['firstname_txt'] = 'Nome'; $wb['surname_txt'] = 'Cognome'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -66,6 +68,7 @@ $wb['limit_mailalias_error_notint'] = 'The email alias limit must be a number.'; $wb['limit_mailforward_error_notint'] = 'The email forward limit must be a number.'; $wb['limit_mailcatchall_error_notint'] = 'The email catchall limit must be a number.'; $wb['limit_mailrouting_error_notint'] = 'The email routing limit must be a number.'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'The email filter limit must be a number.'; $wb['limit_mailfetchmail_error_notint'] = 'The fetchmail limit must be a number.'; $wb['limit_mailquota_error_notint'] = 'The email quota limit must be a number.'; @@ -207,4 +210,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['Reseller'] = 'Reseller'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ja_client.lng b/interface/web/client/lib/lang/ja_client.lng index 889488269261eef07eea7c3dff1d6f53dab8ea3e..4639125717189e1184ce60564d6cf5ea501b7eca 100644 --- a/interface/web/client/lib/lang/ja_client.lng +++ b/interface/web/client/lib/lang/ja_client.lng @@ -5,6 +5,7 @@ $wb['limit_mailalias_txt'] = 'メールエイリアスの最大数'; $wb['limit_mailforward_txt'] = 'メールフォワードの最大数'; $wb['limit_mailcatchall_txt'] = 'キャッチオール・メールアカウントの最大数'; $wb['limit_mailrouting_txt'] = 'メール配送経路の最大数'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'メールフィルターの最大数'; $wb['limit_fetchmail_txt'] = 'fetchmailアカウントの最大数'; $wb['limit_mailquota_txt'] = 'メールボックスの容量'; @@ -37,6 +38,7 @@ $wb['company_txt'] = '社名'; $wb['title_txt'] = '役職'; $wb['firstname_txt'] = '名'; $wb['surname_txt'] = '姓'; +$wb['limit_relayhost_txt'] = 'Show SMTP relay host options'; $wb['limit_domain_txt'] = 'limit_domain'; $wb['limit_subdomain_txt'] = 'limit_subdomain'; $wb['limit_webquota_txt'] = 'limit_webquota'; @@ -67,6 +69,7 @@ $wb['limit_mailalias_error_notint'] = 'メールエイリアスの最大数は $wb['limit_mailforward_error_notint'] = 'メールフォワードの最大数は数字で指定してください。'; $wb['limit_mailcatchall_error_notint'] = 'キャッチオール・メールアドレスの最大数は数字で指定してください。'; $wb['limit_mailrouting_error_notint'] = 'メールの配送経路の最大数は数字で指定してください。'; +$wb['limit_mail_wblist_error_notint'] = 'The email white / blacklist limit must be a number.'; $wb['limit_mailfilter_error_notint'] = 'メールフィルターの最大数は数字で指定してください。'; $wb['limit_mailfetchmail_error_notint'] = 'fetchmailアカウントの最大数は数字で指定してください。'; $wb['limit_mailquota_error_notint'] = 'メールボックスの最大容量は数字で指定してください。'; @@ -203,4 +206,3 @@ $wb['password_click_to_set_txt'] = 'Click to set'; $wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; $wb['Address'] = 'Address'; $wb['Limits'] = 'Limits'; -?> diff --git a/interface/web/client/lib/lang/ja_client_template.lng b/interface/web/client/lib/lang/ja_client_template.lng index 3d9780972c0e20002225bf4ff8815245ab8156a7..a871199051c506aaccf96f3111b827c16bbc9d18 100644 --- a/interface/web/client/lib/lang/ja_client_template.lng +++ b/interface/web/client/lib/lang/ja_client_template.lng @@ -7,12 +7,14 @@ $wb['limit_mailalias_txt'] = 'メールエイリアスの最大数'; $wb['limit_mailforward_txt'] = 'メールフォワードの最大数'; $wb['limit_mailcatchall_txt'] = 'キャッチオール・メールアカウントの最大数'; $wb['limit_mailrouting_txt'] = 'メール配送経路の最大数'; +$wb['limit_mail_wblist_txt'] = 'Max. number of email white / blacklist entries'; $wb['limit_mailfilter_txt'] = 'メールフィルターの最大数'; $wb['limit_fetchmail_txt'] = 'fetchmailアカウントの最大数'; $wb['limit_mailquota_txt'] = 'メールボックスの容量'; $wb['limit_spamfilter_wblist_txt'] = '迷惑メールのホワイトリスト、ブラックリストフィルターの最大数'; $w