Marius Cramer
2014-08-13 42539643c396f9d8865dcf9a51b13dc869709d16
Merge remote-tracking branch 'ispc/stable-3.0.5' into stable-3.0.5
53 files added
406 files modified
2 files deleted
5145 ■■■■ changed files
docs/autoinstall_samples/autoinstall.conf_sample.php 52 ●●●●● patch | view | raw | blame | history
docs/autoinstall_samples/autoinstall.ini.sample 50 ●●●●● patch | view | raw | blame | history
install/autoupdate.php 338 ●●●●● patch | view | raw | blame | history
install/dist/lib/debian60.lib.php 1 ●●●● patch | view | raw | blame | history
install/dist/lib/fedora.lib.php 10 ●●●● patch | view | raw | blame | history
install/dist/lib/gentoo.lib.php 10 ●●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php 12 ●●●● patch | view | raw | blame | history
install/install.php 111 ●●●● patch | view | raw | blame | history
install/lib/install.lib.php 21 ●●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 52 ●●●● patch | view | raw | blame | history
install/sql/incremental/upd_0078.sql 1 ●●●● patch | view | raw | blame | history
install/sql/ispconfig3.sql 8 ●●●● patch | view | raw | blame | history
install/tpl/apache_ispconfig.conf.master 3 ●●●● patch | view | raw | blame | history
install/tpl/apps_php_fpm_pool.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/config.inc.php.master 2 ●●● patch | view | raw | blame | history
install/tpl/debian6_dovecot-sql.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/debian_dovecot-sql.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/debian_postfix.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/fedora_dovecot-sql.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/fedora_postfix.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/gentoo_postfix.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/opensuse_dovecot-sql.conf.master 4 ●●●● patch | view | raw | blame | history
install/tpl/opensuse_postfix.conf.master 6 ●●●●● patch | view | raw | blame | history
install/tpl/php_fpm_pool.conf.master 2 ●●● patch | view | raw | blame | history
install/tpl/server.ini.master 1 ●●●● patch | view | raw | blame | history
install/update.php 73 ●●●● patch | view | raw | blame | history
interface/lib/app.inc.php 6 ●●●● patch | view | raw | blame | history
interface/lib/classes/aps_guicontroller.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/auth.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/classes/functions.inc.php 28 ●●●●● patch | view | raw | blame | history
interface/lib/classes/listform.inc.php 6 ●●●●● patch | view | raw | blame | history
interface/lib/classes/session.inc.php 21 ●●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php 10 ●●●● patch | view | raw | blame | history
interface/lib/classes/validate_domain.inc.php 137 ●●●●● patch | view | raw | blame | history
interface/lib/classes/validate_password.inc.php 5 ●●●●● patch | view | raw | blame | history
interface/lib/classes/validate_systemuser.inc.php 64 ●●●●● patch | view | raw | blame | history
interface/lib/config.inc.php 2 ●●● patch | view | raw | blame | history
interface/lib/lang/el.lng 2 ●●● patch | view | raw | blame | history
interface/lib/lang/fr.lng 2 ●●● patch | view | raw | blame | history
interface/lib/lang/se.lng 3 ●●●● patch | view | raw | blame | history
interface/web/admin/form/server_config.tform.php 368 ●●●● patch | view | raw | blame | history
interface/web/admin/form/system_config.tform.php 2 ●●● patch | view | raw | blame | history
interface/web/admin/language_edit.php 2 ●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ar_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/bg_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/br_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/cz_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/de_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/el_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/el_system_config.lng 2 ●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/es_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/fi_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/fr_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/fr_system_config.lng 2 ●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/hr_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/hu_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/id_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/it_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ja_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/nl_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/pl_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/pt_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ro_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/ru_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_directive_snippets.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_directive_snippets_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_firewall.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_firewall_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_groups.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_groups_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_iptables.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_iptables_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_add.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_complete.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_edit.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_export.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_import.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_language_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_login_as.lng 12 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_package_install.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_remote_action.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_remote_user.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_remote_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_config.lng 53 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_config_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_ip.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_ip_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_php.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_server_php_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_package.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_package_install.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_package_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_repo.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_repo_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_software_update_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_system_config.lng 3 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_tpl_default_admin.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_users.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/se_users_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/sk_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/tr_server_config.lng 52 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/server_config_server_edit.htm 4 ●●●● patch | view | raw | blame | history
interface/web/admin/templates/users_list.htm 2 ●●● patch | view | raw | blame | history
interface/web/client/lib/lang/el_reseller.lng 2 ●●● patch | view | raw | blame | history
interface/web/client/lib/lang/fr_client.lng 2 ●●● patch | view | raw | blame | history
interface/web/client/lib/lang/fr_reseller.lng 2 ●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client.lng 3 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_circle.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_circle_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_del.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_message.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_message_template.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_message_template_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_template.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_client_template_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_clients_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_domain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_domain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_reseller.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/se_resellers_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dashboard/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dashboard/lib/lang/se_dashlet_limits.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dashboard/lib/lang/se_dashlet_modules.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dashboard/lib/lang/se_dashlet_quota.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_form_edit.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_form_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_form_show.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_module_edit.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_module_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_module_nav_edit.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_module_nav_item_edit.lng 1 ●●●● patch | view | raw | blame | history
interface/web/designer/lib/lang/se_module_show.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/br_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/br_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/de_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/de_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/el_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/el_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/en_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/en_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/es_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/es_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/id_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/id_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/it_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/it_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_a.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_a_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_aaaa.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_alias.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_cname.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_hinfo.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_import.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_mx.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_ns.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_ptr.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_rp.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_slave.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_slave_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_soa.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_soa_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_srv.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_template.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_template_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_txt.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/se_dns_wizard.lng 1 ●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng 10 ●●●●● patch | view | raw | blame | history
interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng 11 ●●●●● patch | view | raw | blame | history
interface/web/dns/list/dns_slave.list.php 22 ●●●●● patch | view | raw | blame | history
interface/web/dns/list/dns_soa.list.php 22 ●●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_slave_admin_list.htm 83 ●●●●● patch | view | raw | blame | history
interface/web/dns/templates/dns_soa_admin_list.htm 86 ●●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_faq_form.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_faq_manage_questions_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_faq_sections_form.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_help_faq_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_help_faq_sections_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_support_message.lng 1 ●●●● patch | view | raw | blame | history
interface/web/help/lib/lang/se_support_message_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/js/scrigo.js.php 2 ●●● patch | view | raw | blame | history
interface/web/login/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/login/lib/lang/se_login_as.lng 7 ●●●●● patch | view | raw | blame | history
interface/web/mail/form/mail_user_filter.tform.php 2 ●●● patch | view | raw | blame | history
interface/web/mail/form/mail_whitelist.tform.php 2 ●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/fr_mail_get.lng 2 ●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_alias.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_alias_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_aliasdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_blacklist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_blacklist_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_content_filter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_content_filter_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_domain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_domain_admin_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_domain_catchall.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_domain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_forward.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_forward_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_get.lng 3 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_get_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_mailinglist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_mailinglist_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_relay_recipient.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_spamfilter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_spamfilter_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_transport.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_transport_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_user.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_user_filter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_user_filter_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_user_stats_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_whitelist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_mail_whitelist_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_blacklist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_config.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_config_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_policy.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_policy_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_users.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_users_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_whitelist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/lib/lang/se_user_quota_stats_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mail/mail_domain_edit.php 11 ●●●●● patch | view | raw | blame | history
interface/web/mail/mail_user_edit.php 3 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_index.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_cc.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_filter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_password.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/mailuser/mail_user_password_edit.php 3 ●●●● patch | view | raw | blame | history
interface/web/monitor/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/monitor/lib/lang/se_datalog_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/monitor/lib/lang/se_syslog_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/form/database.tform.php 4 ●●●● patch | view | raw | blame | history
interface/web/sites/form/ftp_user.tform.php 21 ●●●●● patch | view | raw | blame | history
interface/web/sites/form/shell_user.tform.php 27 ●●●●● patch | view | raw | blame | history
interface/web/sites/ftp_user_edit.php 7 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ar_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/bg_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/br_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/br_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/br_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/br_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/cz_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/cz_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/cz_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/cz_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/de_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/el_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/el_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/el_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/el_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/en_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/es_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fi_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr.lng 2 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_aps.lng 16 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/fr_web_subdomain.lng 2 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hr_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hr_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hr_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hr_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hu_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hu_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hu_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/hu_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/id_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/id_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/id_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/id_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/it_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ja_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ja_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ja_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ja_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/nl_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/nl_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/nl_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/nl_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pl_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pl_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pl_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pl_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pt_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pt_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pt_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/pt_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ro_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ro_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ro_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ro_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/ru_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se.lng 3 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_aps.lng 17 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_aps_instances_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_aps_packages_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_aps_update_packagelist.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_cron.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_cron_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database_admin_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database_user.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database_user_admin_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_database_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_ftp_user.lng 3 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_ftp_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_shell_user.lng 4 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_shell_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_user_quota_stats_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_aliasdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_aliasdomain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_backup_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_domain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_domain_admin_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_domain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_folder.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_folder_list.lng 2 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_folder_user.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_folder_user_list.lng 2 ●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_sites_stats_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_subdomain.lng 3 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_subdomain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_vhost_subdomain.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_webdav_user.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/se_webdav_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/sk_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/sk_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/sk_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/sk_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/tr_ftp_user.lng 2 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/tr_shell_user.lng 3 ●●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/tr_web_folder_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/lib/lang/tr_web_folder_user_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/sites/shell_user_edit.php 7 ●●●●● patch | view | raw | blame | history
interface/web/sites/web_aliasdomain_edit.php 10 ●●●●● patch | view | raw | blame | history
interface/web/sites/web_domain_edit.php 6 ●●●●● patch | view | raw | blame | history
interface/web/sites/web_subdomain_edit.php 9 ●●●● patch | view | raw | blame | history
interface/web/sites/web_vhost_subdomain_edit.php 2 ●●●●● patch | view | raw | blame | history
interface/web/strengthmeter/lib/lang/se_strengthmeter.lng 1 ●●●● patch | view | raw | blame | history
interface/web/themes/blue/ispconfig_version 2 ●●● patch | view | raw | blame | history
interface/web/themes/blue/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default-304/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default_64_navimg/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default_combobox/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/themes/default_no_navimg/templates/main.tpl.htm 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se_import_ispconfig.lng 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se_index.lng 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se_interface.lng 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se_tpl_default.lng 1 ●●●● patch | view | raw | blame | history
interface/web/tools/lib/lang/se_usersettings.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_action.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_ip.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_ip_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_ostemplate.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_template.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_template_list.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_vm.lng 1 ●●●● patch | view | raw | blame | history
interface/web/vm/lib/lang/se_openvz_vm_list.lng 1 ●●●● patch | view | raw | blame | history
server/conf/apache_ispconfig.conf.master 2 ●●● patch | view | raw | blame | history
server/conf/apps_php_fpm_pool.conf.master 2 ●●● patch | view | raw | blame | history
server/conf/vhost.conf.master 40 ●●●● patch | view | raw | blame | history
server/cron_daily.php 12 ●●●●● patch | view | raw | blame | history
server/lib/classes/ispcmail.inc.php 869 ●●●●● patch | view | raw | blame | history
server/lib/classes/monitor_tools.inc.php 21 ●●●●● patch | view | raw | blame | history
server/lib/classes/system.inc.php 65 ●●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php 35 ●●●● patch | view | raw | blame | history
server/plugins-available/backup_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
server/plugins-available/bind_dlz_plugin.inc.php 10 ●●●● patch | view | raw | blame | history
server/plugins-available/cron_jailkit_plugin.inc.php 16 ●●●●● patch | view | raw | blame | history
server/plugins-available/cron_plugin.inc.php 9 ●●●●● patch | view | raw | blame | history
server/plugins-available/firewall_plugin.inc.php 30 ●●●● patch | view | raw | blame | history
server/plugins-available/mail_plugin.inc.php 14 ●●●●● patch | view | raw | blame | history
server/plugins-available/mysql_clientdb_plugin.inc.php 11 ●●●● patch | view | raw | blame | history
server/plugins-available/network_settings_plugin.inc.php 51 ●●●●● patch | view | raw | blame | history
server/plugins-available/nginx_plugin.inc.php 16 ●●●● patch | view | raw | blame | history
server/plugins-available/shelluser_base_plugin.inc.php 14 ●●●●● patch | view | raw | blame | history
server/plugins-available/shelluser_jailkit_plugin.inc.php 14 ●●●●● patch | view | raw | blame | history
server/scripts/ispconfig_update.php 4 ●●●● patch | view | raw | blame | history
docs/autoinstall_samples/autoinstall.conf_sample.php
New file
@@ -0,0 +1,52 @@
<?php
$autoinstall['language'] = 'en'; // de, en (default)
$autoinstall['install_mode'] = 'standard'; // standard (default), expert
$autoinstall['hostname'] = 'server1.example.com'; // default
$autoinstall['mysql_hostname'] = 'localhost'; // default: localhost
$autoinstall['mysql_root_user'] = 'root'; // default: root
$autoinstall['mysql_root_password'] = 'howtoforge';
$autoinstall['mysql_database'] = 'dbispconfig'; // default: dbispcongig
$autoinstall['mysql_charset'] = 'utf8'; // default: utf8
$autoinstall['http_server'] = 'nginx'; // apache (default), nginx
$autoinstall['ispconfig_port'] = '8080'; // default: 8080
$autoinstall['ispconfig_use_ssl'] = 'y'; // y (default), n
/* SSL Settings */
$autoinstall['ssl_cert_country'] = 'AU';
$autoinstall['ssl_cert_state'] = 'Some-State';
$autoinstall['ssl_cert_locality'] = 'Chicago';
$autoinstall['ssl_cert_organisation'] = 'Internet Widgits Pty Ltd';
$autoinstall['ssl_cert_organisation_unit'] = 'IT department';
$autoinstall['ssl_cert_common_name'] = $autoinstall['hostname'];
/* optional expert mode settings, needed only for expert mode */
$autoinstall['mysql_ispconfig_user'] = 'ispconfig'; // default: ispconfig
$autoinstall['mysql_ispconfig_password'] = md5(uniqid(rand()));
$autoinstall['join_multiserver_setup'] = 'n'; // y, n (default)
$autoinstall['mysql_master_hostname'] = 'master.example.com';
$autoinstall['mysql_master_root_user'] = 'root';
$autoinstall['mysql_master_root_password'] = 'howtoforge';
$autoinstall['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
$autoinstall['configure_mail'] = 'y'; // y (default), n
$autoinstall['configure_jailkit'] = 'y'; // y (default), n
$autoinstall['configure_ftp'] = 'y'; // y (default), n
$autoinstall['configure_dns'] = 'y'; // y (default), n
$autoinstall['configure_apache'] = 'y'; // y (default), n
$autoinstall['configure_nginx'] = 'y'; // y (default), n
$autoinstall['configure_firewall'] = 'y'; // y (default), n
$autoinstall['install_ispconfig_web_interface'] = 'y'; // y (default), n
/* optional update settings, needed only for updates */
$autoupdate['do_backup'] = 'yes'; // yes (default), no
$autoupdate['mysql_root_password'] = 'howtoforge';
$autoupdate['mysql_master_hostname'] = 'master.example.com';
$autoupdate['mysql_master_root_user'] = 'root';
$autoupdate['mysql_master_root_password'] = 'howtoforge';
$autoupdate['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
$autoupdate['reconfigure_permissions_in_master_database'] = 'no'; // no (default), yes
$autoupdate['reconfigure_services'] = 'yes'; // yes (default), no
$autoupdate['ispconfig_port'] = '8080'; // default: 8080
$autoupdate['create_new_ispconfig_ssl_cert'] = 'no'; // no (default), yes
$autoupdate['reconfigure_crontab'] = 'yes'; // yes (default), no
?>
docs/autoinstall_samples/autoinstall.ini.sample
New file
@@ -0,0 +1,50 @@
[install]
language=en
install_mode=standard
hostname=server1.example.com
mysql_hostname=localhost
mysql_root_user=root
mysql_root_password=ispconfig
mysql_database=dbispconfig
mysql_charset=utf8
http_server=apache
ispconfig_port=8080
ispconfig_use_ssl=y
[ssl_cert]
ssl_cert_country=AU
ssl_cert_state=Some-State
ssl_cert_locality=Chicago
ssl_cert_organisation=Internet Widgits Pty Ltd
ssl_cert_organisation_unit=IT department
ssl_cert_common_name=server1.example.com
[expert]
mysql_ispconfig_user=ispconfig
mysql_ispconfig_password=afStEratXBsgatRtsa42CadwhQ
join_multiserver_setup=n
mysql_master_hostname=master.example.com
mysql_master_root_user=root
mysql_master_root_password=ispconfig
mysql_master_database=dbispconfig
configure_mail=y
configure_jailkit=y
configure_ftp=y
configure_dns=y
configure_apache=y
configure_nginx=y
configure_firewall=y
install_ispconfig_web_interface=y
[update]
do_backup=yes
mysql_root_password=ispconfig
mysql_master_hostname=master.example.com
mysql_master_root_user=root
mysql_master_root_password=ispconfig
mysql_master_database=dbispconfig
reconfigure_permissions_in_master_database=no
reconfigure_services=yes
ispconfig_port=8080
create_new_ispconfig_ssl_cert=no
reconfigure_crontab=yes
install/autoupdate.php
File was deleted
install/dist/lib/debian60.lib.php
@@ -111,6 +111,7 @@
        $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
        $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
        $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
        $content = str_replace('{server_id}', $conf['server_id'], $content);
        wf($config_dir.'/'.$configfile, $content);
        chmod($config_dir.'/'.$configfile, 0600);
install/dist/lib/fedora.lib.php
@@ -229,8 +229,13 @@
        if(!stristr($options, 'dont-create-certs')) {
            //* Create the SSL certificate
            $command = 'cd '.$config_dir.'; '
                .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
            if(AUTOINSTALL){
                $command = 'cd '.$config_dir.'; '
                    ."openssl req -new -subj '/C=".$autoinstall['ssl_cert_country']."/ST=".$autoinstall['ssl_cert_state']."/L=".$autoinstall['ssl_cert_locality']."/O=".$autoinstall['ssl_cert_organisation']."/OU=".$autoinstall['ssl_cert_organisation_unit']."/CN=".$autoinstall['ssl_cert_common_name']."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
            } else {
                $command = 'cd '.$config_dir.'; '
                    ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
            }
            exec($command);
            $command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -445,6 +450,7 @@
        $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
        $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
        $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
        $content = str_replace('{server_id}', $conf['server_id'], $content);
        wf("$config_dir/$configfile", $content);
        exec("chmod 600 $config_dir/$configfile");
install/dist/lib/gentoo.lib.php
@@ -119,9 +119,13 @@
        //* Create the SSL certificate
        if (!stristr($options, 'dont-create-certs'))
        {
            $command = 'cd '.$config_dir.'; '
                .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
            exec($command);
            if(AUTOINSTALL){
                $command = 'cd '.$config_dir.'; '
                    ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
            } else {
                $command = 'cd '.$config_dir.'; '
                    .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
            }
            $command = 'chmod o= '.$config_dir.'/smtpd.key';
            caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
install/dist/lib/opensuse.lib.php
@@ -125,6 +125,7 @@
        //* Create aliasaes
        exec('/usr/lib/mailman/bin/genaliases 2>/dev/null');
        if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
    }
    function configure_postfix($options = '')
@@ -256,9 +257,13 @@
        if(!stristr($options, 'dont-create-certs')) {
            //* Create the SSL certificate
            $command = 'cd '.$config_dir.'; '
                .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
            exec($command);
            if(AUTOINSTALL){
                $command = 'cd '.$config_dir.'; '
                    ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
            } else {
                $command = 'cd '.$config_dir.'; '
                    .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
            }
            $command = 'chmod o= '.$config_dir.'/smtpd.key';
            caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
@@ -494,6 +499,7 @@
        $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
        $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
        $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
        $content = str_replace('{server_id}', $conf['server_id'], $content);
        wf("$config_dir/$configfile", $content);
        exec("chmod 600 $config_dir/$configfile");
install/install.php
@@ -30,6 +30,30 @@
/*
    ISPConfig 3 installer.
    -------------------------------------------------------------------------------------
    - Interactive install
    -------------------------------------------------------------------------------------
    run:
    php install.php
    -------------------------------------------------------------------------------------
    - Noninteractive (autoinstall) mode
    -------------------------------------------------------------------------------------
    The autoinstall mode can read the installer questions from a .ini style file or from
    a php config file. Examples for both file types are in the docs folder.
    See autoinstall.ini.sample and autoinstall.conf_sample.php.
    run:
    php install.php --autoinstall=autoinstall.ini
    or
    php install.php --autoinstall=autoinstall.conf.php
*/
error_reporting(E_ALL|E_STRICT);
@@ -78,6 +102,30 @@
if($dist['id'] == '') die('Linux distribution or version not recognized.');
//** Include the autoinstaller configuration (for non-interactive setups)
error_reporting(E_ALL ^ E_NOTICE);
//** Get commandline options
$cmd_opt = getopt('', array('autoinstall::'));
//** Load autoinstall file
if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
    $path_parts = pathinfo($cmd_opt['autoinstall']);
    if($path_parts['extension'] == 'php') {
        include_once $cmd_opt['autoinstall'];
    } elseif($path_parts['extension'] == 'ini') {
        $tmp = ini_to_array(file_get_contents('autoinstall.ini'));
        $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
        unset($tmp);
    }
    unset($path_parts);
    define('AUTOINSTALL', true);
} else {
    $autoinstall = array();
    define('AUTOINSTALL', false);
}
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -109,7 +157,7 @@
$inst->find_installed_apps();
//** Select the language and set default timezone
$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en');
$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en','language');
$conf['timezone'] = get_system_timezone();
//* Set default theme
@@ -117,13 +165,13 @@
$conf['language_file_import_enabled'] = true;
//** Select installation mode
$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard');
$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard','install_mode');
//** Get the hostname
$tmp_out = array();
exec('hostname -f', $tmp_out);
$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]);
$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0],'hostname');
unset($tmp_out);
// Check if the mysql functions are loaded in PHP
@@ -132,16 +180,17 @@
//** Get MySQL root credentials
$finished = false;
do {
    $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host']);
    $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user']);
    $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
    $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database']);
    $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset']);
    $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host'],'mysql_hostname');
    $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user'],'mysql_root_user');
    $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
    $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database'],'mysql_database');
    $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset'],'mysql_charset');
    if($install_mode == 'expert') {
        swriteln("The next two questions are about the internal ISPConfig database user and password.\nIt is recommended to accept the defaults which are 'ispconfig' as username and a random password.\nIf you use a different password, use only numbers and chars for the password.\n");
        $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']);
        $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']);
        $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user'],'mysql_ispconfig_user');
        $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password'],'mysql_ispconfig_password');
    }
    //* Initialize the MySQL server connection
@@ -176,7 +225,7 @@
    //* Configure Webserver - Apache or nginx
    if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
        $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
        $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
        if($http_server_to_use == 'apache'){
            $conf['nginx']['installed'] = false;
        } else {
@@ -293,12 +342,12 @@
    swriteln('Installing ISPConfig');
    //** Customize the port ISPConfig runs on
    $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
    $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
    if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
    if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
    unset($ispconfig_vhost_port);
    if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
    if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {
        $inst->make_ispconfig_ssl_cert();
    }
@@ -354,17 +403,16 @@
    //** Get Server ID
    // $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
    // Server ID is an autoInc value of the mysql database now
    if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n')) == 'y') {
    if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') {
        $conf['mysql']['master_slave_setup'] = 'y';
        //** Get MySQL root credentials
        $finished = false;
        do {
            $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
            $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
            $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
            $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
            $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
            $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');
            $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
            $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
            //* Initialize the MySQL server connection
            if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -397,7 +445,7 @@
    //* Configure Webserver - Apache or nginx
    if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
        $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
        $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
        if($http_server_to_use == 'apache'){
            $conf['nginx']['installed'] = false;
        } else {
@@ -410,8 +458,7 @@
    swriteln('');
    $inst->add_database_server_record();
    if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y') ) == 'y') {
    if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') {
        $conf['services']['mail'] = true;
@@ -470,20 +517,20 @@
    }
    //** Configure Jailkit
    if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y') ) == 'y') {
    if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y','configure_jailkit') ) == 'y') {
        swriteln('Configuring Jailkit');
        $inst->configure_jailkit();
    }
    //** Configure Pureftpd
    if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y') ) == 'y') {
    if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y','configure_ftp') ) == 'y') {
        swriteln('Configuring Pureftpd');
        $inst->configure_pureftpd();
        if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
    }
    //** Configure DNS
    if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y')) == 'y') {
    if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') {
        $conf['services']['dns'] = true;
        //* Configure DNS
        if($conf['powerdns']['installed'] == true) {
@@ -522,7 +569,7 @@
    //** Configure Apache
    if($conf['apache']['installed'] == true){
        swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.\n");
        if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y')) == 'y') {
        if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y','configure_apache')) == 'y') {
            $conf['services']['web'] = true;
            swriteln('Configuring Apache');
            $inst->configure_apache();
@@ -540,7 +587,7 @@
    //** Configure nginx
    if($conf['nginx']['installed'] == true){
        swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n");
        if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y')) == 'y') {
        if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y','configure_nginx')) == 'y') {
            $conf['services']['web'] = true;
            swriteln('Configuring nginx');
            $inst->configure_nginx();
@@ -556,7 +603,7 @@
    }
    //** Configure Firewall
    if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y')) == 'y') {
    if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') {
        //if($conf['bastille']['installed'] == true) {
        //* Configure Bastille Firewall
        $conf['services']['firewall'] = true;
@@ -579,7 +626,7 @@
    //** Configure ISPConfig :-)
    $install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y';
    if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default)) == 'y') {
    if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') {
        swriteln('Installing ISPConfig');
        //** We want to check if the server is a module or cgi based php enabled server
@@ -597,12 +644,12 @@
        */
        //** Customise the port ISPConfig runs on
        $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
        $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
        if($conf['apache']['installed'] == true) $conf['apache']['vhost_port']  = $ispconfig_vhost_port;
        if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port']  = $ispconfig_vhost_port;
        unset($ispconfig_vhost_port);
        if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
        if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {
            $inst->make_ispconfig_ssl_cert();
        }
install/lib/install.lib.php
@@ -86,6 +86,15 @@
            $mainver = array_filter($mainver);
            $mainver = current($mainver).'.'.next($mainver);
            switch ($mainver){
            case "14.04":
                $relname = "(Trusty Tahr)";
                break;
            case "13.10":
                $relname = "(Saucy Salamander)";
                break;
            case "13.04":
                $relname = "(Raring Ringtail)";
                break;
            case "12.10":
                $relname = "(Quantal Quetzal)";
                break;
@@ -246,6 +255,18 @@
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 5 or compatible\n");
        } elseif(stristr($content, 'CentOS Linux release 6')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 6 or compatible\n");
        } elseif(stristr($content, 'CentOS Linux release 7')) {
            $distname = 'CentOS';
            $distver = 'Unknown';
            $distid = 'centos53';
            $distbaseid = 'fedora';
            swriteln("Operating System: CentOS 7 or compatible\n");
        } else {
            $distname = 'Redhat';
            $distver = 'Unknown';
install/lib/installer_base.lib.php
@@ -56,12 +56,21 @@
        echo 'WARNING: '.$msg."\n";
    }
    public function simple_query($query, $answers, $default) {
    public function simple_query($query, $answers, $default, $name = '') {
        global $autoinstall;
        $finished = false;
        do {
            $answers_str = implode(',', $answers);
            swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
            $input = sread();
            if($name != '' && $autoinstall[$name] != '') {
                if($autoinstall[$name] == 'default') {
                    $input = $default;
                } else {
                    $input = $autoinstall[$name];
                }
            } else {
                $answers_str = implode(',', $answers);
                swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
                $input = sread();
            }
            //* Stop the installation
            if($input == 'quit') {
@@ -86,9 +95,18 @@
        return $answer;
    }
    public function free_query($query, $default) {
        swrite($this->lng($query).' ['.$default.']: ');
        $input = sread();
    public function free_query($query, $default, $name = '') {
        global $autoinstall;
        if($name != '' && $autoinstall[$name] != '') {
            if($autoinstall[$name] == 'default') {
                $input = $default;
            } else {
                $input = $autoinstall[$name];
            }
        } else {
            swrite($this->lng($query).' ['.$default.']: ');
            $input = sread();
        }
        //* Stop the installation
        if($input == 'quit') {
@@ -638,7 +656,7 @@
    }
    public function configure_postfix($options = '') {
        global $conf;
        global $conf,$autoinstall;
        $cf = $conf['postfix'];
        $config_dir = $cf['config_dir'];
@@ -750,8 +768,13 @@
        if(!stristr($options, 'dont-create-certs')) {
            //* Create the SSL certificate
            $command = 'cd '.$config_dir.'; '
                .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
            if(AUTOINSTALL){
                $command = 'cd '.$config_dir.'; '
                    ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
            } else {
                $command = 'cd '.$config_dir.'; '
                    .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
            }
            exec($command);
            $command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -992,6 +1015,7 @@
        $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
        $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
        $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
        $content = str_replace('{server_id}', $conf['server_id'], $content);
        wf($config_dir.'/'.$configfile, $content);
        chmod($config_dir.'/'.$configfile, 0600);
@@ -1671,7 +1695,7 @@
    }
    public function make_ispconfig_ssl_cert() {
        global $conf;
        global $conf,$autoinstall;
        $install_dir = $conf['ispconfig_install_dir'];
@@ -1683,7 +1707,11 @@
        $ssl_pw = substr(md5(mt_rand()), 0, 6);
        exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096");
        exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
        if(AUTOINSTALL){
            exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -key $ssl_key_file -out $ssl_csr_file");
        } else {
            exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
        }
        exec("openssl req -x509 -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -in $ssl_csr_file -out $ssl_crt_file -days 3650");
        exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure");
        rename($ssl_key_file, $ssl_key_file.'.secure');
install/sql/incremental/upd_0078.sql
New file
@@ -0,0 +1 @@
ALTER TABLE  `web_domain` DROP INDEX `serverdomain`, ADD UNIQUE  `serverdomain` (  `server_id` , `ip_address`, `domain` );
install/sql/ispconfig3.sql
@@ -897,8 +897,8 @@
  `login` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  `name` varchar(255) NOT NULL default '',
  `uid` int(11) unsigned NOT NULL default '5000',
  `gid` int(11) unsigned NOT NULL default '5000',
  `uid` int(11) NOT NULL default '5000',
  `gid` int(11) NOT NULL default '5000',
  `maildir` varchar(255) NOT NULL default '',
  `quota` bigint(20) NOT NULL default '-1',
  `cc` varchar(255) NOT NULL default '',
@@ -1879,7 +1879,7 @@
  `added_date` date NOT NULL DEFAULT '0000-00-00',
  `added_by` varchar(255) DEFAULT NULL,
  PRIMARY KEY  (`domain_id`),
  UNIQUE KEY `serverdomain` (  `server_id` ,  `domain` )
  UNIQUE KEY `serverdomain` (  `server_id` , `ip_address`,  `domain` )
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
@@ -2292,7 +2292,7 @@
-- Dumping data for table `sys_config`
--
INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p1');
INSERT INTO sys_config VALUES ('db','db_version','3.0.5.4p2');
INSERT INTO sys_config VALUES ('interface','session_timeout','0');
SET FOREIGN_KEY_CHECKS = 1;
install/tpl/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
# ISPConfig Logfile configuration for vlogger
################################################
LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
@@ -18,6 +18,7 @@
# Do not allow access to the root file system of the server for security reasons
<Directory />
    Options -Indexes
    AllowOverride None
    <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
    Require all denied
install/tpl/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
pm.max_children = 50
pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
install/tpl/config.inc.php.master
@@ -56,7 +56,7 @@
//** Application
define('ISPC_APP_TITLE', 'ISPConfig');
define('ISPC_APP_VERSION', '3.0.5.4p1');
define('ISPC_APP_VERSION', '3.0.5.4p2');
define('DEVSYSTEM', 0);
install/tpl/debian6_dovecot-sql.conf.master
@@ -13,8 +13,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
install/tpl/debian_dovecot-sql.conf.master
@@ -120,8 +120,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
install/tpl/debian_postfix.conf.master
@@ -1,7 +1,7 @@
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -11,7 +11,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
install/tpl/fedora_dovecot-sql.conf.master
@@ -133,8 +133,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
install/tpl/fedora_postfix.conf.master
@@ -1,5 +1,5 @@
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/etc/mailman/virtual-mailman
virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -8,7 +8,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
install/tpl/gentoo_postfix.conf.master
@@ -8,7 +8,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
install/tpl/opensuse_dovecot-sql.conf.master
@@ -133,8 +133,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
install/tpl/opensuse_postfix.conf.master
@@ -1,5 +1,7 @@
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -8,7 +10,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
install/tpl/php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
pm.max_children = 10
pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
install/tpl/server.ini.master
@@ -16,7 +16,6 @@
admin_notify_events=1
backup_dir=/var/backup
backup_dir_is_mount=n
backup_dir_mount_cmd=
backup_mode=rootgz
monit_url=
monit_user=
install/update.php
@@ -30,6 +30,30 @@
/*
    ISPConfig 3 updater.
    -------------------------------------------------------------------------------------
    - Interactive update
    -------------------------------------------------------------------------------------
    run:
    php update.php
    -------------------------------------------------------------------------------------
    - Noninteractive (autoupdate) mode
    -------------------------------------------------------------------------------------
    The autoupdate mode can read the updater questions from a .ini style file or from
    a php config file. Examples for both file types are in the docs folder.
    See autoinstall.ini.sample and autoinstall.conf_sample.php.
    run:
    php update.php --autoinstall=autoinstall.ini
    or
    php update.php --autoinstall=autoinstall.conf.php
*/
error_reporting(E_ALL|E_STRICT);
@@ -83,6 +107,29 @@
if($dist['id'] == '') die('Linux distribution or version not recognized.');
//** Include the autoinstaller configuration (for non-interactive setups)
error_reporting(E_ALL ^ E_NOTICE);
//** Get commandline options
$cmd_opt = getopt('', array('autoinstall::'));
//** Load autoinstall file
if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
    $path_parts = pathinfo($cmd_opt['autoinstall']);
    if($path_parts['extension'] == 'php') {
        include_once $cmd_opt['autoinstall'];
    } elseif($path_parts['extension'] == 'ini') {
        $tmp = ini_to_array(file_get_contents('autoinstall.ini'));
        $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
        unset($tmp);
    }
    unset($path_parts);
    define('AUTOINSTALL', true);
} else {
    $autoinstall = array();
    define('AUTOINSTALL', false);
}
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -131,7 +178,8 @@
echo "This application will update ISPConfig 3 on your server.\n\n";
//* Make a backup before we start the update
$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes');
$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes','do_backup');
if($do_backup == 'yes') {
    //* Create the backup directory
@@ -180,7 +228,7 @@
        $finished = true;
    } else {
        swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
        $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
        $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
    }
} while ($finished == false);
unset($finished);
@@ -198,10 +246,10 @@
    //** Get MySQL root credentials
    $finished = false;
    do {
        $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
        $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
        $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
        $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
        $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
        $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');
        $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
        $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
        //* Initialize the MySQL server connection
        if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -244,7 +292,7 @@
 */
//if($conf_old['dbmaster_user'] != '' or $conf_old['dbmaster_host'] != '') {
//** Update master database rights
$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no');
$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no','reconfigure_permissions_in_master_database');
if($reconfigure_master_database_rights_answer == 'yes') {
    $inst->grant_master_database_rights();
@@ -252,7 +300,7 @@
//}
//** Shall the services be reconfigured during update
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes');
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');
if($reconfigure_services_answer == 'yes') {
@@ -379,15 +427,16 @@
if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
    //** Customise the port ISPConfig runs on
    $ispconfig_port_number = get_ispconfig_port_number();
    if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number;
    if($conf['webserver']['server_type'] == 'nginx'){
        $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
        $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
    } else {
        $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
        $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
    }
    // $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
    if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no')) == 'yes') {
    if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no','create_new_ispconfig_ssl_cert')) == 'yes') {
        $inst->make_ispconfig_ssl_cert();
    }
}
@@ -395,7 +444,7 @@
$inst->install_ispconfig();
//** Configure Crontab
$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes');
$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab');
if($update_crontab_answer == 'yes') {
    swriteln('Updating Crontab');
    $inst->install_crontab();
interface/lib/app.inc.php
@@ -78,16 +78,16 @@
                    $tmp = $this->ini_parser->parse_ini_string(stripslashes($tmp['config']));
                    if(!isset($tmp['misc']['session_allow_endless']) || $tmp['misc']['session_allow_endless'] != 'y') {
                        $this->session->set_timeout($sess_timeout);
                        session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
                        session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
                    } else {
                        // we are doing login here, so we need to set the session data
                        $this->session->set_permanent(true);
                        $this->session->set_timeout(365 * 24 * 3600); // one year
                        session_set_cookie_params(365 * 24 * 3600); // make the cookie live 5 minutes longer
                        session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
                    }
                } else {
                    $this->session->set_timeout($sess_timeout);
                    session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
                    session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
                }
            } else {
                session_set_cookie_params(0); // until browser is closed
interface/lib/classes/aps_guicontroller.inc.php
@@ -333,7 +333,7 @@
        }
        //* Insert new package instance
        $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
        $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->db->quote($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
        $InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id');
        //* Insert all package settings
interface/lib/classes/auth.inc.php
@@ -50,7 +50,7 @@
        $userid = $app->functions->intval($userid);
        $client = $app->db->queryOneRecord("SELECT client.limit_client FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");
        if($client['limit_client'] > 0) {
        if($client['limit_client'] != 0) {
            return true;
        } else {
            return false;
interface/lib/classes/functions.inc.php
@@ -248,7 +248,7 @@
        }
        $ips = array();
        $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'");
        $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'");
        if(!empty($results) && is_array($results)){
            foreach($results as $result){
                if(preg_match($regex, $result['ip'])){
@@ -424,6 +424,32 @@
        return implode("\n", $domains);
    }
    public function is_allowed_user($username, $restrict_names = false) {
        global $app;
        $name_blacklist = array('root','ispconfig','vmail','getmail');
        if(in_array($username,$name_blacklist)) return false;
        if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
        if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
        return true;
    }
    public function is_allowed_group($groupname, $restrict_names = false) {
        global $app;
        $name_blacklist = array('root','ispconfig','vmail','getmail');
        if(in_array($groupname,$name_blacklist)) return false;
        if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
        if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
        return true;
    }
}
?>
interface/lib/classes/listform.inc.php
@@ -97,6 +97,7 @@
            $querystring = str_replace("{AUTHSQL}", $app->tform->getAuthSQL('r'), $querystring);
            $querystring = str_replace("{AUTHSQL-A}", $app->tform->getAuthSQL('r', 'a'), $querystring);
            $querystring = str_replace("{AUTHSQL-B}", $app->tform->getAuthSQL('r', 'b'), $querystring);
            $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
            //* Getting the records
            $tmp_records = $app->db->queryAllRecords($querystring);
@@ -248,6 +249,8 @@
    public function getPagingSQL($sql_where = '1')
    {
        global $app, $conf;
        $old_search_limit = intval($_SESSION['search']['limit']);
        //* Add Global Limit from selectbox
        if(!empty($_POST['search_limit']) and $app->functions->intval($_POST['search_limit']) > 0){
@@ -272,6 +275,9 @@
        //* set PAGE to worth request variable "PAGE" - ? setze page auf wert der request variablen "page"
        if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $app->functions->intval($_REQUEST["page"]);
        //* Set search to changed when search limit has been changed.
        if(intval($_SESSION['search']['limit']) != $old_search_limit) $this->searchChanged = 1;
        //* PAGE to 0 set, if look for themselves ?  page auf 0 setzen, wenn suche sich ge�ndert hat.
        if($this->searchChanged == 1) $_SESSION['search'][$list_name]['page'] = 0;
interface/lib/classes/session.inc.php
@@ -88,25 +88,21 @@
        // Dont write session_data to DB if session data has not been changed after reading it.
        if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) {
            $session_id   = $this->db->quote($session_id);
            $last_updated = date('Y-m-d H:i:s');
            $this->db->query("UPDATE sys_session SET last_updated = '$last_updated' WHERE session_id = '$session_id'");
            $this->db->query("UPDATE sys_session SET last_updated = NOW() WHERE session_id = '$session_id'");
            return true;
        }
        if (@$this->session_array['session_id'] == '') {
            $session_id   = $this->db->quote($session_id);
            $date_created = date('Y-m-d H:i:s');
            $last_updated = date('Y-m-d H:i:s');
            $session_data = $this->db->quote($session_data);
            $sql = "INSERT INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
            $sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id',NOW(),NOW(),'$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
            $this->db->query($sql);
        } else {
            $session_id   = $this->db->quote($session_id);
            $last_updated = date('Y-m-d H:i:s');
            $session_data = $this->db->quote($session_data);
            $sql = "UPDATE sys_session SET last_updated = '$last_updated', session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
            $sql = "UPDATE sys_session SET last_updated = NOW(), session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
            $this->db->query($sql);
        }
@@ -128,18 +124,11 @@
        /*if($this->timeout > 0) {
            $this->db->query("DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($this->timeout) . " MINUTE)");
        } else {*/
            $real_now = date('Y-m-d H:i:s');
            $dt1 = strtotime("$real_now -$max_lifetime seconds");
            $dt2 = date('Y-m-d H:i:s', $dt1);
            $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2' AND `permanent` != 'y'";
            $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($max_lifetime) . " SECOND) AND `permanent` != 'y'";
            $this->db->query($sql);
            
            /* delete very old even if they are permanent */
            $dt1 = strtotime("$real_now -365 days");
            $dt2 = date('Y-m-d H:i:s', $dt1);
            $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2'";
            $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL 1 YEAR)";
            $this->db->query($sql);
        //}
interface/lib/classes/tform.inc.php
@@ -252,7 +252,9 @@
            unset($tmp_recordid);
            $querystring = str_replace("{AUTHSQL}", $this->getAuthSQL('r'), $querystring);
            $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring);
            //$querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', "self::table_auth_sql", $querystring);
            //*Used the ld form to be compatible with php < 5.3
            $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
            // Getting the records
            $tmp_records = $app->db->queryAllRecords($querystring);
@@ -293,10 +295,12 @@
        return $values;
    }
    /*
    function table_auth_sql($matches){
        return $this->getAuthSQL('r', $matches[1]);
    }
    */
    //* If the parameter 'valuelimit' is set
    function applyValueLimit($limit, $values) {
@@ -1509,7 +1513,7 @@
     */
    function _getDateTimeHTML($form_element, $default_value, $display_seconds=false)
    {
        $_datetime = strtotime($default_value);
        $_datetime = ($default_value && $default_value != '0000-00-00 00:00:00' ? strtotime($default_value) : false);
        $_showdate = ($_datetime === false) ? false : true;
        $dselect = array('day', 'month', 'year', 'hour', 'minute');
interface/lib/classes/validate_domain.inc.php
@@ -123,156 +123,41 @@
        }
        // check if domain has alias/subdomains - if we move a web to another IP, make sure alias/subdomains are checked as well
        $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain')");
        $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain' OR type = 'vhostsubdomain')");
        $additional_sql1 = '';
        $additional_sql2 = '';
        if(is_array($aliassubdomains) && !empty($aliassubdomains)){
            foreach($aliassubdomains as $aliassubdomain){
                $additional_sql1 .= " OR `domain` = '".$app->db->quote($aliassubdomain['domain'])."'";
                $additional_sql2 .= " OR CONCAT(`subdomain`, '.', `domain`) = '".$app->db->quote($aliassubdomain['domain'])."'";
                $additional_sql1 .= " OR d.domain = '".$app->db->quote($aliassubdomain['domain'])."'";
                $additional_sql2 .= " OR CONCAT(d.subdomain, '.', d.domain) = '".$app->db->quote($aliassubdomain['domain'])."'";
            }
        }
        //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `domain` = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
        //if($check['cnt'] > 0) return false;
        // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
        $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
        $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
        $checks = $app->db->queryAllRecords($qrystr);
        if(is_array($checks) && !empty($checks)){
            foreach($checks as $check){
                if($domain['ip_address'] == '*') return false;
                if($check['ip_address'] == '*') return false;
                if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
                if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
                // if alias/subdomain: check IP addresses of parent domain
                if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
                    if($check['parent_domain_id'] > 0){
                        $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$check['parent_domain_id']);
                    }
                }
                if($domain['ip_address'] == '' && $check['ip_address'] != ''){
                    if(is_array($parent_domain) && !empty($parent_domain)){
                        if($parent_domain['ip_address'] == '*') return false;
                        if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
                    }
                }
                if($domain['ip_address'] == '' && $check['ip_address'] == ''){
                    if($check['parent_domain_id'] > 0){
                        if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                            if($check_parent_domain['ip_address'] == '*') return false;
                        }
                    }
                    if(is_array($parent_domain) && !empty($parent_domain)){
                        if($parent_domain['ip_address'] == '*') return false;
                        if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
                    }
                }
                if($check['ip_address'] == '' && $domain['ip_address'] != ''){
                    if($check['parent_domain_id'] > 0){
                        if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                            if($check_parent_domain['ip_address'] == '*') return false;
                            if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
                        }
                    }
                }
                if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
                    if(is_array($parent_domain) && !empty($parent_domain)){
                        if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
                    }
                }
                if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
                    if(is_array($parent_domain) && !empty($parent_domain)){
                        if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
                    }
                }
                if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
                    if($check['parent_domain_id'] > 0){
                        if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                            if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
                        }
                    }
                }
            }
        }
        if($only_domain == false) {
            //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
            //if($check['cnt'] > 0) return false;
            // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
            $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
            $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
            $checks = $app->db->queryAllRecords($qrystr);
            if(is_array($checks) && !empty($checks)){
                foreach($checks as $check){
                    if($domain['ip_address'] == '*') return false;
                    if($check['ip_address'] == '*') return false;
                    if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
                    if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
                    // if alias/subdomain: check IP addresses of parent domain
                    if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
                        if($check['parent_domain_id'] > 0){
                            $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$app->functions->intval($check['parent_domain_id']));
                        }
                    }
                    if($domain['ip_address'] == '' && $check['ip_address'] != ''){
                        if(is_array($parent_domain) && !empty($parent_domain)){
                            if($parent_domain['ip_address'] == '*') return false;
                            if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
                        }
                    }
                    if($domain['ip_address'] == '' && $check['ip_address'] == ''){
                        if($check['parent_domain_id'] > 0){
                            if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                                if($check_parent_domain['ip_address'] == '*') return false;
                            }
                        }
                        if(is_array($parent_domain) && !empty($parent_domain)){
                            if($parent_domain['ip_address'] == '*') return false;
                            if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
                        }
                    }
                    if($check['ip_address'] == '' && $domain['ip_address'] != ''){
                        if($check['parent_domain_id'] > 0){
                            if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                                if($check_parent_domain['ip_address'] == '*') return false;
                                if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
                            }
                        }
                    }
                    if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
                        if(is_array($parent_domain) && !empty($parent_domain)){
                            if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
                        }
                    }
                    if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
                        if(is_array($parent_domain) && !empty($parent_domain)){
                            if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
                        }
                    }
                    if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
                        if($check['parent_domain_id'] > 0){
                            if(is_array($check_parent_domain) && !empty($check_parent_domain)){
                                if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
                            }
                        }
                    }
                }
            }
        }
        return true;
    }
interface/lib/classes/validate_password.inc.php
@@ -53,10 +53,11 @@
            $different += 1;
        }
        if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) {
        if (preg_match('/[`~!@#$%^&*()_+|\\=-\[\]}{\';:\/?.>,<" ]/', $password)) {
            $points += 1;
            $different += 1;
        }
        if ($points == 0 || $different < 3) {
            if ($length >= 5 && $length <= 6) {
@@ -122,7 +123,7 @@
            $lng_text = str_replace('{chars}', $min_password_length, $lng_text);
        }
        if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING!
        if(strlen($field_value) < $min_password_length) return $lng_text;
        if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text;
        
interface/lib/classes/validate_systemuser.inc.php
New file
@@ -0,0 +1,64 @@
<?php
/*
Copyright (c) 2014, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
class validate_systemuser {
    /*
        Validator function to check if a given user is ok.
    */
    function check_sysuser($field_name, $field_value, $validator) {
        global $app;
        $errmsg = $validator['errmsg'];
        $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
        if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) {
            return $app->tform->wordbook[$errmsg]."<br>\r\n";
        }
    }
    /*
        Validator function to check if a given group is ok.
    */
    function check_sysgroup($field_name, $field_value, $validator) {
        global $app;
        $errmsg = $validator['errmsg'];
        $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
        if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) {
            return $app->tform->wordbook[$errmsg]."<br>\r\n";
        }
    }
}
interface/lib/config.inc.php
@@ -44,7 +44,7 @@
//** Application
define('ISPC_APP_TITLE', 'ISPConfig');
define('ISPC_APP_VERSION', '3.0.5.4p1');
define('ISPC_APP_VERSION', '3.0.5.4p2');
define('DEVSYSTEM', 0);
interface/lib/lang/el.lng
@@ -145,6 +145,6 @@
$wb['strength_3'] = 'Good';
$wb['strength_4'] = 'Strong';
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
?>
interface/lib/lang/fr.lng
@@ -145,6 +145,6 @@
$wb['strength_3'] = 'Good';
$wb['strength_4'] = 'Strong';
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
?>
interface/lib/lang/se.lng
@@ -145,7 +145,6 @@
$wb['strength_3'] = 'Bra';
$wb['strength_4'] = 'Starkt';
$wb['strength_5'] = 'Väldigt starkt';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
?>
interface/web/admin/form/server_config.tform.php
@@ -126,8 +126,11 @@
                2 => array( 'event' => 'SAVE',
                    'type' => 'TOLOWER')
            ),
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'hostname_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                                'errmsg' => 'hostname_error_empty'),
                                    1 => array ('type' => 'REGEX',
                                                'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
                                                'errmsg'=> 'hostname_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -164,8 +167,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '/var/backup',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'backup_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'backup_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'backup_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -176,14 +182,6 @@
            'formtype' => 'CHECKBOX',
            'default' => 'n',
            'value' => array(0 => 'n', 1 => 'y')
        ),
        'backup_dir_mount_cmd' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'value' => '',
            'width' => '40',
            'maxlength' => '255'
        ),
        'backup_mode' => array(
            'datatype' => 'VARCHAR',
@@ -279,8 +277,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '/home/vmail/[domain]/[localpart]/',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'maildir_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'maildir_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
                                        'errmsg'=> 'maildir_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -290,8 +291,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '/home/vmail/',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'homedir_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'homedir_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'homedir_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -313,8 +317,11 @@
            'datatype' => 'INTEGER',
            'formtype' => 'TEXT',
            'default' => '5000',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'mailuser_uid_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'mailuser_uid_error_empty'),
                                    1 => array('type' => 'RANGE',
                                        'range' => '1999:',
                                        'errmsg' => 'mailuser_uid_error_range'),
            ),
            'value' => '',
            'width' => '10',
@@ -324,8 +331,11 @@
            'datatype' => 'INTEGER',
            'formtype' => 'TEXT',
            'default' => '5000',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'mailuser_gid_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'mailuser_gid_error_empty'),
                                    1 => array('type' => 'RANGE',
                                        'range' => '1999:',
                                        'errmsg' => 'mailuser_gid_error_range'),
            ),
            'value' => '',
            'width' => '10',
@@ -335,8 +345,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => 'vmail',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'mailuser_name_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'mailuser_name_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
                                        'errmsg'=> 'mailuser_name_error_regex'),
            ),
            'value' => '',
            'width' => '10',
@@ -346,8 +359,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => 'vmail',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'mailuser_group_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'mailuser_group_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
                                        'errmsg'=> 'mailuser_group_name_error_regex'),
            ),
            'value' => '',
            'width' => '10',
@@ -455,8 +471,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'getmail_config_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'getmail_config_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'getmail_config_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -486,8 +505,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'website_basedir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'website_basedir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'website_basedir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -497,8 +519,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'website_path_error_empty'),
            'validators' => array(    0 => array(    'type' => 'NOTEMPTY',
                                        'errmsg' => 'website_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
                                        'errmsg'=> 'website_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -508,8 +533,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'website_symlinks_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'website_symlinks_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
                                        'errmsg'=> 'website_symlinks_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -541,8 +569,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'vhost_conf_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'vhost_conf_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'vhost_conf_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -552,8 +583,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -563,8 +597,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -574,8 +611,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -584,6 +624,10 @@
        'CA_path' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array(    0 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
                                        'errmsg'=> 'ca_path_error_regex'),
            ),
            'default' => '',
            'value' => '',
            'width' => '40',
@@ -683,6 +727,13 @@
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'apache_user_error_empty'),
                    1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysuser',
                            'check_names' => false,
                            'errmsg' => 'invalid_apache_user_txt'
                        ),
            ),
            'value' => '',
            'width' => '40',
@@ -694,6 +745,13 @@
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'apache_group_error_empty'),
                    1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysgroup',
                            'check_names' => false,
                            'errmsg' => 'invalid_apache_group_txt'
                        ),
            ),
            'value' => '',
            'width' => '40',
@@ -720,8 +778,15 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'nginx_user_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'nginx_user_error_empty'),
                                    1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysuser',
                            'check_names' => false,
                            'errmsg' => 'invalid_nginx_user_txt'
                        ),
            ),
            'value' => '',
            'width' => '40',
@@ -731,8 +796,15 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'nginx_group_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'nginx_group_error_empty'),
                                    1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysgroup',
                            'check_names' => false,
                            'errmsg' => 'invalid_nginx_group_txt'
                        ),
            ),
            'value' => '',
            'width' => '40',
@@ -742,8 +814,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_ini_path_apache_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_ini_path_apache_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'php_ini_path_apache_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -753,8 +828,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_ini_path_cgi_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_ini_path_cgi_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'php_ini_path_cgi_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -764,8 +842,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_fpm_init_script_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_fpm_init_script_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
                                        'errmsg'=> 'php_fpm_init_script_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -775,8 +856,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_fpm_ini_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_fpm_ini_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'php_fpm_ini_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -786,8 +870,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_fpm_pool_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_fpm_pool_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'php_fpm_pool_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -797,7 +884,7 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
            'validators' => array(0 => array('type' => 'ISPOSITIVE',
                    'errmsg' => 'php_fpm_start_port_error_empty'),
            ),
            'value' => '',
@@ -808,8 +895,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_fpm_socket_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_fpm_socket_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
                                        'errmsg'=> 'php_fpm_socket_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -819,8 +909,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'php_open_basedir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'php_open_basedir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
                                        'errmsg'=> 'php_open_basedir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -830,8 +923,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'nginx_cgi_socket_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'nginx_cgi_socket_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'nginx_cgi_socket_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -841,8 +937,8 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'htaccess_allow_override_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'htaccess_allow_override_error_empty'),
            ),
            'value' => '',
            'width' => '40',
@@ -889,6 +985,12 @@
        'awstats_data_dir' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'awstats_data_dir_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'awstats_data_dir_error_regex'),
            ),
            'default' => '',
            'value' => '',
            'width' => '40',
@@ -897,6 +999,12 @@
        'awstats_pl' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'awstats_pl_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'awstats_pl_error_regex'),
            ),
            'default' => '',
            'value' => '',
            'width' => '40',
@@ -905,6 +1013,12 @@
        'awstats_buildstaticpages_pl' => array(
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'awstats_buildstaticpages_pl_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
            ),
            'default' => '',
            'value' => '',
            'width' => '40',
@@ -928,8 +1042,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'bind_user_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'bind_user_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
                                        'errmsg'=> 'invalid_bind_user_txt'),
            ),
            'value' => '',
            'width' => '40',
@@ -939,8 +1056,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'bind_group_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'bind_group_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
                                        'errmsg'=> 'invalid_bind_group_txt'),
            ),
            'value' => '',
            'width' => '40',
@@ -950,8 +1070,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'bind_zonefiles_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'bind_zonefiles_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'bind_zonefiles_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -961,8 +1084,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'named_conf_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'named_conf_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'named_conf_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -972,8 +1098,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'named_conf_local_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'named_conf_local_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'named_conf_local_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -997,8 +1126,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'fastcgi_starter_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'fastcgi_starter_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
                                        'errmsg'=> 'fastcgi_starter_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1008,8 +1140,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'fastcgi_starter_script_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'fastcgi_starter_script_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'fastcgi_starter_script_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1019,8 +1154,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'fastcgi_alias_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'fastcgi_alias_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'fastcgi_alias_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1030,8 +1168,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'fastcgi_phpini_path_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'fastcgi_phpini_path_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
                                        'errmsg'=> 'fastcgi_phpini_path_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1041,7 +1182,7 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
            'validators' => array(0 => array('type' => 'ISPOSITIVE',
                    'errmsg' => 'fastcgi_children_error_empty'),
            ),
            'value' => '',
@@ -1066,8 +1207,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'fastcgi_bin_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'fastcgi_bin_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
                                        'errmsg'=> 'fastcgi_bin_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1100,8 +1244,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'jailkit_chroot_home_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'jailkit_chroot_home_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
                                        'errmsg'=> 'jailkit_chroot_home_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1111,8 +1258,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
                                        'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1122,8 +1272,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
                                        'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1133,8 +1286,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
                                        'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1222,8 +1378,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'vlogger_config_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'vlogger_config_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'vlogger_config_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1249,8 +1408,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'cron_init_script_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'cron_init_script_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
                                        'errmsg'=> 'cron_init_script_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1260,8 +1422,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'crontab_dir_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'crontab_dir_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'crontab_dir_error_regex'),
            ),
            'value' => '',
            'width' => '40',
@@ -1271,8 +1436,11 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'default' => '',
            'validators' => array(0 => array('type' => 'NOTEMPTY',
                    'errmsg' => 'cron_wget_error_empty'),
            'validators' => array(    0 => array('type' => 'NOTEMPTY',
                                        'errmsg' => 'cron_wget_error_empty'),
                                    1 => array (     'type' => 'REGEX',
                                        'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
                                        'errmsg'=> 'cron_wget_error_regex'),
            ),
            'value' => '',
            'width' => '40',
interface/web/admin/form/system_config.tform.php
@@ -449,7 +449,7 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array ( 0 => array ( 'type' => 'REGEX',
                    'regex' => '/^[a-zA-Z0-0\-\_\[\]]{0,50}$/',
                    'regex' => '/^[a-zA-Z0-9\-\_\[\]]{0,50}$/',
                    'errmsg'=> 'customer_no_template_error_regex'),
            ),
            'default' => '',
interface/web/admin/language_edit.php
@@ -57,7 +57,7 @@
    $file_content = "<?php\n";
    foreach($_POST['records'] as $key => $val) {
        $val = stripslashes($val);
        $val = str_replace('"', '\"', $val);
        $val = preg_replace('/(^|[^\\\\])((\\\\\\\\)*)"/', '$1$2\\"', $val);
        $val = str_replace('$', '', $val);
        $file_content .= '$wb['."'$key'".'] = "'.$val.'";'."\n";
        $msg = 'File saved.';
interface/web/admin/lib/lang/ar_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/bg_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/br_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/cz_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Zástupný symbol';
$wb['backup_dir_is_mount_txt'] = 'Připojit adresář pro zálohy ?';
$wb['backup_dir_mount_cmd_txt'] = 'Příkaz připojení, pokud adresář pro zálohy není připojen .  (např. mount ...)';
$wb['monitor_system_updates_txt'] = 'Kontrolovat aktualizace Linuxu';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/de_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Ungültige Munin-URL';
$wb['munin_url_note_txt'] = 'Platzhalter:';
$wb['backup_dir_is_mount_txt'] = 'Backupverzeichnis ist ein eigener Mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount-Befehl, falls Backupverzeichnis nicht gemountet';
$wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/el_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/el_system_config.lng
@@ -64,7 +64,7 @@
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
$wb['session_timeout_txt'] = 'Session timeout (minutes)';
$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
$wb['No'] = 'No';
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
interface/web/admin/lib/lang/en_server_config.lng
@@ -49,6 +49,7 @@
$wb["netmask_error_wrong"] = 'Invalid Netmask format.';
$wb["gateway_error_wrong"] = 'Invalid Gateway format.';
$wb["hostname_error_empty"] = 'Hostname is empty.';
$wb["hostname_error_regex"] = 'Invalid Hostname.';
$wb["nameservers_error_empty"] = 'Nameserver is empty.';
$wb["config_dir_txt"] = 'Config directory';
$wb["init_script_txt"] = 'Cron init script name';
@@ -189,6 +190,55 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/es_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/fi_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/fr_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/fr_system_config.lng
@@ -64,7 +64,7 @@
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
$wb['session_timeout_txt'] = 'Session timeout (minutes)';
$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
$wb['No'] = 'No';
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
interface/web/admin/lib/lang/hr_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/hu_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/id_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/it_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/ja_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/nl_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/pl_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/pt_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/ro_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/ru_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/se.lng
@@ -48,4 +48,3 @@
$wb['Do ISPConfig-Update'] = 'Utför ISPConfig-uppdatering';
$wb['Directive Snippets'] = 'Directive Snippets';
?>
interface/web/admin/lib/lang/se_directive_snippets.lng
@@ -8,4 +8,3 @@
$wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
$wb['variables_txt'] = 'Variables';
?>
interface/web/admin/lib/lang/se_directive_snippets_list.lng
@@ -5,4 +5,3 @@
$wb['type_txt'] = 'Type';
$wb['add_new_record_txt'] = 'Add Directive Snippet';
?>
interface/web/admin/lib/lang/se_firewall.lng
@@ -9,4 +9,3 @@
$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
?>
interface/web/admin/lib/lang/se_firewall_list.lng
@@ -6,4 +6,3 @@
$wb['udp_port_txt'] = 'Öppna UDP-portar';
$wb['add_new_record_txt'] = 'Lägg till brandväggsinlägg';
?>
interface/web/admin/lib/lang/se_groups.lng
@@ -3,4 +3,3 @@
$wb['name_txt'] = 'Grupp';
$wb['name_err'] = 'Gruppnamnet måste ha minst 1 och max 30 tecken.';
?>
interface/web/admin/lib/lang/se_groups_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny grupp';
$wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
?>
interface/web/admin/lib/lang/se_iptables.lng
@@ -11,4 +11,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['iptables_error_unique'] = 'Det finns redan brandväggsinlägg för den här servern';
?>
interface/web/admin/lib/lang/se_iptables_list.lng
@@ -13,4 +13,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['iptables_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern';
?>
interface/web/admin/lib/lang/se_language_add.lng
@@ -6,4 +6,3 @@
$wb['btn_cancel_txt'] = 'Tillbaka';
$wb['language_new_hint_txt'] = '2 characters ISO 639-1 language-code (See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)';
?>
interface/web/admin/lib/lang/se_language_complete.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Tillbaka';
$wb['list_desc_txt'] = 'Slå ihop språkfilen med den engelska huvudfilen. <br />Detta lägger till saknade fraser från den engelska språkfilen till den valda språkfilen';
?>
interface/web/admin/lib/lang/se_language_edit.lng
@@ -6,4 +6,3 @@
$wb['btn_save_txt'] = 'Spara';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
interface/web/admin/lib/lang/se_language_export.lng
@@ -4,4 +4,3 @@
$wb['btn_save_txt'] = 'Exportera de valda språkfilerna';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
interface/web/admin/lib/lang/se_language_import.lng
@@ -7,4 +7,3 @@
$wb['ignore_version_txt'] = 'Hoppa över ISPConfig versionskontroll';
$wb['list_desc_txt'] = 'VARNING: Importera inte språkfiler från opålitliga källor!';
?>
interface/web/admin/lib/lang/se_language_list.lng
@@ -5,4 +5,3 @@
$wb['lang_file_txt'] = 'Språkfil';
$wb['lang_file_date_txt'] = 'Senast ändrad';
?>
interface/web/admin/lib/lang/se_login_as.lng
File was deleted
interface/web/admin/lib/lang/se_package_install.lng
@@ -5,4 +5,3 @@
$wb['repo_password_txt'] = 'Lösenord (Frivilligt)';
$wb['active_txt'] = 'Aktiv';
?>
interface/web/admin/lib/lang/se_remote_action.lng
@@ -10,4 +10,3 @@
$wb['ispconfig_update_title'] = 'ISPConfig uppdateringsinstruktioner';
$wb['ispconfig_update_text'] = 'Logga in som root på din server och kör kommandot<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />för att påbörja ISPConfig-uppdateringen.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Klicka här för detaljerade instruktioner</a>';
?>
interface/web/admin/lib/lang/se_remote_user.lng
@@ -45,4 +45,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
interface/web/admin/lib/lang/se_remote_user_list.lng
@@ -5,4 +5,3 @@
$wb['parent_remote_userid_txt'] = 'ID';
$wb['username_txt'] = 'Username';
?>
interface/web/admin/lib/lang/se_server.lng
@@ -13,4 +13,3 @@
$wb['proxy_server_txt'] = 'Proxy-server';
$wb['firewall_server_txt'] = 'Brandväggsserver';
?>
interface/web/admin/lib/lang/se_server_config.lng
@@ -189,7 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/se_server_config_list.lng
@@ -2,4 +2,3 @@
$wb['list_head_txt'] = 'Serverkonfiguration';
$wb['server_name_txt'] = 'Server';
?>
interface/web/admin/lib/lang/se_server_ip.lng
@@ -9,4 +9,3 @@
$wb['virtualhost_port_txt'] = 'HTTP-portar';
$wb['error_port_syntax'] = 'Invalid chars in port field, please enter only comma separated numbers. Example: 80,443';
?>
interface/web/admin/lib/lang/se_server_ip_list.lng
@@ -8,4 +8,3 @@
$wb['virtualhost_port_txt'] = 'HTTP-portar';
$wb['ip_type_txt'] = 'Typ';
?>
interface/web/admin/lib/lang/se_server_list.lng
@@ -11,4 +11,3 @@
$wb['proxy_server_txt'] = 'Proxy';
$wb['firewall_server_txt'] = 'Brandvägg';
?>
interface/web/admin/lib/lang/se_server_php.lng
@@ -14,4 +14,3 @@
$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';
?>
interface/web/admin/lib/lang/se_server_php_list.lng
@@ -5,4 +5,3 @@
$wb['client_id_txt'] = 'Kund';
$wb['name_txt'] = 'PHP-namn';
?>
interface/web/admin/lib/lang/se_software_package.lng
@@ -4,4 +4,3 @@
$wb['Software Package'] = 'Mjukvarupaket';
$wb['Modify software package details'] = 'Redigera mjukvarupaketets uppgifter';
?>
interface/web/admin/lib/lang/se_software_package_install.lng
@@ -4,4 +4,3 @@
$wb['btn_save_txt'] = 'Påbörja installation';
$wb['btn_cancel_txt'] = 'Avbryt';
?>
interface/web/admin/lib/lang/se_software_package_list.lng
@@ -11,4 +11,3 @@
$wb['edit_txt'] = 'Redigera';
$wb['delete_txt'] = 'Radera';
?>
interface/web/admin/lib/lang/se_software_repo.lng
@@ -6,4 +6,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['Software Repository which may contain addons or updates'] = 'Pragarmvarubibliotek som kan innehålla uppdateringar eller tillägg';
?>
interface/web/admin/lib/lang/se_software_repo_list.lng
@@ -4,4 +4,3 @@
$wb['repo_name_txt'] = 'Repository';
$wb['repo_url_txt'] = 'URL';
?>
interface/web/admin/lib/lang/se_software_update_list.lng
@@ -7,4 +7,3 @@
$wb['server_select_txt'] = 'Välj server';
$wb['no_updates_txt'] = 'Inga tillgängliga uppdateringar';
?>
interface/web/admin/lib/lang/se_system_config.lng
@@ -64,9 +64,8 @@
$wb['customer_no_start_txt'] = 'Kundnummer startvärde';
$wb['customer_no_counter_txt'] = 'Kundnummer räknare';
$wb['session_timeout_txt'] = 'Session timeout (minuter)';
$wb['session_allow_endless_txt'] = 'Aktivera "håll mig inloggad"';
$wb['session_allow_endless_txt'] = 'Aktivera \"håll mig inloggad\"';
$wb['No'] = 'Nej';
$wb['min_password_length_txt'] = 'Minsta lösenordslängd';
$wb['min_password_strength_txt'] = 'Minsta lösenordsstyrka';
?>
interface/web/admin/lib/lang/se_tpl_default_admin.lng
@@ -16,4 +16,3 @@
$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';
?>
interface/web/admin/lib/lang/se_users.lng
@@ -32,4 +32,3 @@
$wb['username_error_collision'] = 'Användarnamnet får inte vara web  eller web och ett nummer';
$wb['client_not_admin_err'] = 'En användare som tillhör en kund kan inte sättas som admin';
?>
interface/web/admin/lib/lang/se_users_list.lng
@@ -7,4 +7,3 @@
$wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
$wb['groups_txt'] = 'Grupper';
?>
interface/web/admin/lib/lang/sk_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/lib/lang/tr_server_config.lng
@@ -189,6 +189,56 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
$wb['hostname_error_regex'] = 'Invalid Hostname.';
$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
$wb['ca_path_error_regex'] = 'Invalid CA path.';
$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
?>
interface/web/admin/templates/server_config_server_edit.htm
@@ -65,10 +65,6 @@
                    {tmpl_var name='backup_dir_is_mount'}
                </div>
            </div>
            <div class="ctrlHolder">
                <label for="backup_dir_mount_cmd">{tmpl_var name='backup_dir_mount_cmd_txt'}</label>
                <input name="backup_dir_mount_cmd" id="backup_dir_mount_cmd" value="{tmpl_var name='backup_dir_mount_cmd'}" size="40" maxlength="255" type="text" class="textInput" />
            </div>
            <div class="ctrlHolder">
                <label for="backup_mode">{tmpl_var name='backup_mode_txt'}</label>
                <select name="backup_mode" id="backup_mode" class="selectInput">
interface/web/admin/templates/users_list.htm
@@ -44,7 +44,7 @@
                            <td class="tbl_col_groups">{tmpl_var name="groups"}</td>
                            <td class="tbl_col_buttons">
                                <tmpl_if name="username" op="!=" value="admin">
                                    <a class="button icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
                                    <a class="button icons16 icoLoginAs" href="javascript: loadContent('login/login_as.php?cid={tmpl_var name='client_id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
                                    <a class="button icons16 icoDelete" href="javascript: del_record('admin/users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                                </tmpl_if>
                            </td>
interface/web/client/lib/lang/el_reseller.lng
@@ -157,5 +157,5 @@
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
interface/web/client/lib/lang/fr_client.lng
@@ -139,7 +139,7 @@
$wb['customer_no_error_unique'] = 'Le numéro client doit être unique (ou vide).';
$wb['paypal_email_error_isemail'] = 'Saisissez un compte Paypal valide.';
$wb['paypal_email_txt'] = 'Compte Paypal';
$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \"custom\" est sélectionné.';
$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \\"custom\\" est sélectionné.';
$wb['aps_limits_txt'] = 'Nombre max d\'Installeur APS';
$wb['limit_aps_txt'] = 'Nombre max d\'instances APS';
$wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre';
interface/web/client/lib/lang/fr_reseller.lng
@@ -157,5 +157,5 @@
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
interface/web/client/lib/lang/se.lng
@@ -24,4 +24,3 @@
$wb['error_client_can_not_add_domain'] = 'Du kan inte lägga till en ny domän';
$wb['error_client_group_id_empty'] = 'Du måste välja en kund<br>';
?>
interface/web/client/lib/lang/se_client.lng
@@ -139,7 +139,7 @@
$wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
$wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
$wb['paypal_email_txt'] = 'PayPal epostadress';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
@@ -154,4 +154,3 @@
$wb['parent_client_id_txt'] = 'Kund till återförsäljare';
$wb['none_txt'] = 'ingen';
?>
interface/web/client/lib/lang/se_client_circle.lng
@@ -7,4 +7,3 @@
$wb['description_txt'] = 'BEskrivning';
$wb['active_txt'] = 'Aktiv';
?>
interface/web/client/lib/lang/se_client_circle_list.lng
@@ -8,4 +8,3 @@
$wb['delete_txt'] = 'Radera';
$wb['active_txt'] = 'Aktiv';
?>
interface/web/client/lib/lang/se_client_del.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Avbryt utan att radera kunden';
$wb['confirm_client_delete_txt'] = 'Är du säker på att du vill radera den här kunden?';
?>
interface/web/client/lib/lang/se_client_message.lng
@@ -18,4 +18,3 @@
$wb['gender_m_txt'] = 'Herr';
$wb['gender_f_txt'] = 'Fru';
?>
interface/web/client/lib/lang/se_client_message_template.lng
@@ -9,4 +9,3 @@
$wb['variables_description_txt'] = '(Användarnamn- och lösenordsvariablerna är endast tillgängliga i välkomstmail.)';
$wb['duplicate_welcome_error'] = 'Det kan bara finnas en standardmall för välkomstmail. Vänligen redigera den existerande mallen istället för att lägga till en ny.';
?>
interface/web/client/lib/lang/se_client_message_template_list.lng
@@ -3,4 +3,3 @@
$wb['template_type_txt'] = 'Meddelande till';
$wb['template_name_txt'] = 'Mallnamn';
?>
interface/web/client/lib/lang/se_client_template.lng
@@ -90,4 +90,3 @@
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
?>
interface/web/client/lib/lang/se_client_template_list.lng
@@ -4,4 +4,3 @@
$wb['template_name_txt'] = 'Mallnamn';
$wb['template_id_txt'] = 'Mall-ID';
?>
interface/web/client/lib/lang/se_clients_list.lng
@@ -9,4 +9,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['customer_no_txt'] = 'Kundnummer';
?>
interface/web/client/lib/lang/se_domain.lng
@@ -4,4 +4,3 @@
$wb['domain_error_regex'] = 'Denna domän är ogiltig';
$wb['Domain'] = 'Domän';
?>
interface/web/client/lib/lang/se_domain_list.lng
@@ -4,4 +4,3 @@
$wb['domain_txt'] = 'Domän';
$wb['user_txt'] = 'Kund';
?>
interface/web/client/lib/lang/se_reseller.lng
@@ -159,4 +159,3 @@
$wb['client_limits_txt'] = 'Client Limits';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
interface/web/client/lib/lang/se_resellers_list.lng
@@ -9,4 +9,3 @@
$wb['customer_no_txt'] = 'Kundnummer';
$wb['username_txt'] = 'Användarnamn';
?>
interface/web/dashboard/lib/lang/se.lng
@@ -2,4 +2,3 @@
$wb['welcome_user_txt'] = 'Välkommen %s';
$wb['available_modules_txt'] = 'Tillgängliga moduler';
?>
interface/web/dashboard/lib/lang/se_dashlet_limits.lng
@@ -28,4 +28,3 @@
$wb['limit_database_txt'] = 'Antal databaser';
$wb['limit_mailmailinglist_txt'] = 'Antal mailinglistor';
?>
interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
@@ -6,4 +6,3 @@
$wb['quota_txt'] = 'Kvot';
$wb['no_email_accounts_txt'] = 'Inga epostkonton hittades';
?>
interface/web/dashboard/lib/lang/se_dashlet_modules.lng
@@ -1,4 +1,3 @@
<?php
$wb['available_modules_txt'] = 'Tillgängliga moduler';
?>
interface/web/dashboard/lib/lang/se_dashlet_quota.lng
@@ -6,4 +6,3 @@
$wb['soft_txt'] = 'Mjuk gräns';
$wb['no_sites_txt'] = 'Ingen webbsida hittades.';
?>
interface/web/designer/lib/lang/se.lng
@@ -1,3 +1,2 @@
<?php
?>
interface/web/designer/lib/lang/se_form_edit.lng
@@ -22,4 +22,3 @@
$wb['auth_preset_perm_group_txt'] = 'Beh. Grupp';
$wb['auth_preset_perm_other_txt'] = 'Beh. Andra';
?>
interface/web/designer/lib/lang/se_form_list.lng
@@ -5,4 +5,3 @@
$wb['title_txt'] = 'Titel';
$wb['description_txt'] = 'Beskrivning';
?>
interface/web/designer/lib/lang/se_form_show.lng
@@ -16,4 +16,3 @@
$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
?>
interface/web/designer/lib/lang/se_module_edit.lng
@@ -10,4 +10,3 @@
$wb['header_txt'] = 'Modulinställningar';
$wb['description_txt'] = '<b>Description</b><br><br><b>Modulename:</b> Namn på modul mappen. Endast siffror, bokstäver och understreck är tillåtna.<br><b>Moduletitle:</b> Kommer att visas i (övre) huvud navigerigsramen.<br><b>Template file:</b> Mall fil för modulen. Just nu finns: module.tpl.htm och module_tree.tpl.htm. Standard är module.tpl.htm.<br><b>NaviFrame:</b> Om module module_tree.tpl.htm väljs som mall file, skriv här sökvägen till skriptfilen för den vänstra ramen.<br><b>Default page:</b> Dessa sidor kommer att visas när modulen öppnas.<br><b>Tab width:</b> Bredd på Flikarna i huvud navigerings ramen. Detta fält är tomt som standard. Du kan skriva in ett absolutvärde i pixlar (ex. 20) eller relativt värde (ex. 20%).<br><b>Hint:</b> Alla sökvägar är relativa till mappen web.';
?>
interface/web/designer/lib/lang/se_module_list.lng
@@ -3,4 +3,3 @@
$wb['module_txt'] = 'Modul';
$wb['title_txt'] = 'Titel';
?>
interface/web/designer/lib/lang/se_module_nav_edit.lng
@@ -4,4 +4,3 @@
$wb['save_txt'] = 'Spara';
$wb['cancel_txt'] = 'Avbryt';
?>
interface/web/designer/lib/lang/se_module_nav_item_edit.lng
@@ -6,4 +6,3 @@
$wb['save_txt'] = 'Spara';
$wb['cancel_txt'] = 'Avbryt';
?>
interface/web/designer/lib/lang/se_module_show.lng
@@ -14,4 +14,3 @@
$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
?>
interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb['list_head_txt'] = 'Slave DNS-Zonen';
$wb['active_txt'] = 'Aktiv';
$wb['server_id_txt'] = 'Server';
$wb['origin_txt'] = 'Zone';
$wb['ns_txt'] = 'NS';
$wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen';
$wb['eg_domain_tld'] = 'Format: domain.tld.';
$wb['sys_groupid_txt'] = 'Kunde';
?>
interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb['list_head_txt'] = 'DNS Zonen';
$wb['active_txt'] = 'Aktiv';
$wb['server_id_txt'] = 'Server';
$wb['origin_txt'] = 'Zone';
$wb['ns_txt'] = 'NS';
$wb['mbox_txt'] = 'E-Mail';
$wb['add_new_record_txt'] = 'Neue DNS Zone (SOA) hinzufügen';
$wb['add_new_record_wizard_txt'] = 'Neue DNS Zone per Assistent hinzufügen';
$wb['sys_groupid_txt'] = 'Kunde';
?>
interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/se.lng
@@ -20,4 +20,3 @@
$wb['Secondary Zones'] = 'Sekundära zoner';
$wb['Import Zone File'] = 'Importera  zonfiler';
?>
interface/web/dns/lib/lang/se_dns_a.lng
@@ -15,4 +15,3 @@
$wb['data_error_duplicate'] = 'Duplicate A-Record';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_a_list.lng
@@ -13,4 +13,3 @@
$wb['page_of_txt'] = 'of';
$wb['delete_confirmation'] = 'Do you really want to delete this record?';
?>
interface/web/dns/lib/lang/se_dns_aaaa.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'IP-Address format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_alias.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Target hostname format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_cname.lng
@@ -15,4 +15,3 @@
$wb['data_error_duplicate'] = 'Duplicate A-Record or CNAME-Record';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_hinfo.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Host Information format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_import.lng
@@ -12,4 +12,3 @@
$wb['no_file_uploaded_error'] = 'Ingen zonfil uppladdad';
$wb['zone_file_import_txt'] = 'Zonfilsimport';
?>
interface/web/dns/lib/lang/se_dns_mx.lng
@@ -16,4 +16,3 @@
$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_ns.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Namnserverformatet är ogiltigt';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_ptr.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Canonical hostname format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_rp.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Responsible person field format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_slave.lng
@@ -15,4 +15,3 @@
$wb['ipv4_form_txt'] = 'IPv4 form - e.g. 1.2.3.4';
$wb['secondary_zone_txt'] = 'Secondary DNS Zone';
?>
interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/se_dns_slave_list.lng
@@ -7,4 +7,3 @@
$wb['add_new_record_txt'] = 'Add new secondary DNS Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
?>
interface/web/dns/lib/lang/se_dns_soa.lng
@@ -36,4 +36,3 @@
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
$wb['xfer_error_regex'] = 'Also notify: Please use an IP address.';
?>
interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/se_dns_soa_list.lng
@@ -8,4 +8,3 @@
$wb['add_new_record_txt'] = 'Add new DNS Zone (SOA)';
$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
?>
interface/web/dns/lib/lang/se_dns_srv.lng
@@ -18,4 +18,3 @@
$wb['aux_txt'] = 'Priority';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_template.lng
@@ -4,4 +4,3 @@
$wb['template_txt'] = 'Mall';
$wb['visible_txt'] = 'Synlig';
?>
interface/web/dns/lib/lang/se_dns_template_list.lng
@@ -4,4 +4,3 @@
$wb['name_txt'] = 'Name';
$wb['add_new_record_txt'] = 'Add new record';
?>
interface/web/dns/lib/lang/se_dns_txt.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Text format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
interface/web/dns/lib/lang/se_dns_wizard.lng
@@ -36,4 +36,3 @@
$wb['list_head_txt'] = 'DNS Zone Wizard';
$wb['list_desc_txt'] = 'Create a DNS Zone via a wizard';
?>
interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
New file
@@ -0,0 +1,10 @@
<?php
$wb["list_head_txt"] = 'Secondary DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
New file
@@ -0,0 +1,11 @@
<?php
$wb["list_head_txt"] = 'DNS-Zones';
$wb["active_txt"] = 'Active';
$wb["server_id_txt"] = 'Server';
$wb["origin_txt"] = 'Zone';
$wb["ns_txt"] = 'NS';
$wb["mbox_txt"] = 'Email';
$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
$wb["sys_groupid_txt"] = 'Client';
?>
interface/web/dns/list/dns_slave.list.php
@@ -13,7 +13,11 @@
// Name of the list
$liste["name"]    = "dns_slave";
if($_SESSION['s']['user']['typ'] == 'admin') {
    $liste["name"]     = "dns_slave_admin";
} else {
    $liste["name"]     = "dns_slave";
}
// Database table
$liste["table"]   = "dns_slave";
@@ -70,6 +74,22 @@
    ),
    'width' => "",
    'value' => "");
if($_SESSION['s']['user']['typ'] == 'admin') {
    $liste["item"][] = array( 'field'  => "sys_groupid",
        'datatype' => "INTEGER",
        'formtype' => "SELECT",
        'op'  => "=",
        'prefix' => "",
        'suffix' => "",
        'datasource' => array (  'type' => 'SQL',
            'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
            'keyfield'=> 'groupid',
            'valuefield'=> 'name'
        ),
        'width'  => "",
        'value'  => "");
}
$liste["item"][] = array(   'field' => "origin",
    'datatype' => "VARCHAR",
interface/web/dns/list/dns_soa.list.php
@@ -13,7 +13,11 @@
// Name of the list
$liste["name"]     = "dns_soa";
if($_SESSION['s']['user']['typ'] == 'admin') {
    $liste["name"]     = "dns_soa_admin";
} else {
    $liste["name"]     = "dns_soa";
}
// Database table
$liste["table"]    = "dns_soa";
@@ -70,6 +74,22 @@
    ),
    'width'  => "",
    'value'  => "");
if($_SESSION['s']['user']['typ'] == 'admin') {
    $liste["item"][] = array( 'field'  => "sys_groupid",
        'datatype' => "INTEGER",
        'formtype' => "SELECT",
        'op'  => "=",
        'prefix' => "",
        'suffix' => "",
        'datasource' => array (  'type' => 'SQL',
            'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
            'keyfield'=> 'groupid',
            'valuefield'=> 'name'
        ),
        'width'  => "",
        'value'  => "");
}
$liste["item"][] = array( 'field'  => "origin",
    'datatype' => "VARCHAR",
interface/web/dns/templates/dns_slave_admin_list.htm
New file
@@ -0,0 +1,83 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_dns_slave">
    <div class="pnl_toolsarea">
        <tmpl_if name='datalog_changes_count' op='>' value='0'>
        <div>
            <div class="systemmonitor-state state-info">
                <div class="status"></div>
                <div class="statusMsg">
                    {tmpl_var name="datalog_changes_txt"}
                    <ul>
                    <tmpl_loop name="datalog_changes">
                        <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
                    </tmpl_loop>
                    </ul>
                    {tmpl_var name="datalog_changes_end_txt"}
                </div>
            </div><br />
        </div>
        </tmpl_if>
        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
            <div class="buttons">
                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_slave_edit.php');">
                    <span>{tmpl_var name="add_new_record_txt"}</span>
                </button>
            </div>
        </fieldset>
    </div>
    <div class="pnl_listarea">
        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
            <table class="list">
                <thead>
                <tr class="caption">
                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
                    <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
                </tr>
                <tr class="filter">
                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
                    <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
                    <td class="tbl_col_buttons">
                        <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_slave_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
                    </td>
                </tr>
                </thead>
                <tbody>
                <tmpl_loop name="records">
                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                        <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
                        <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
                        <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
                        <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
                        <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
                        <td class="tbl_col_buttons">
                            <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_slave_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                        </td>
                    </tr>
                </tmpl_loop>
                <tmpl_unless name="records">
                    <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                        <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
                    </tr>
                </tmpl_unless>
                </tbody>
                <tfoot>
                <tr>
                    <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
                </tr>
                </tfoot>
            </table>
        </fieldset>
    </div>
</div>
interface/web/dns/templates/dns_soa_admin_list.htm
New file
@@ -0,0 +1,86 @@
<h2><tmpl_var name="list_head_txt"></h2>
<p><tmpl_var name="list_desc_txt"></p>
<div class="panel panel_list_dns_soa">
    <div class="pnl_toolsarea">
        <tmpl_if name='datalog_changes_count' op='>' value='0'>
        <div>
            <div class="systemmonitor-state state-info">
                <div class="status"></div>
                <div class="statusMsg">
                    {tmpl_var name="datalog_changes_txt"}
                    <ul>
                    <tmpl_loop name="datalog_changes">
                        <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
                    </tmpl_loop>
                    </ul>
                    {tmpl_var name="datalog_changes_end_txt"}
                </div>
            </div><br />
        </div>
        </tmpl_if>
        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
            <div class="buttons">
                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name="add_new_record_wizard_txt"}</span></button>
                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_soa_edit.php');"><span>{tmpl_var name="add_new_record_txt"}</span></button>
                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_import.php');"><span>Import Zone File</span></button>
            </div>
        </fieldset>
    </div>
    <div class="pnl_listarea">
        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
            <table class="list">
            <thead>
                <tr class="caption">
                    <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
                    <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
                    <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
                    <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
                    <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
                    <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
                    <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
                </tr>
                <tr class="filter">
                    <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
                    <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
                    <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
                    <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
                    <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
                    <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></td>
                    <td class="tbl_col_buttons">
                        <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_soa_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
                    </td>
                </tr>
            </thead>
            <tbody>
                <tmpl_loop name="records">
                    <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                        <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
                        <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
                        <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
                        <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
                        <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
                        <td class="tbl_col_mbox"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
                        <td class="tbl_col_buttons">
                            <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
                        </td>
                    </tr>
                </tmpl_loop>
                <tmpl_unless name="records">
                    <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                        <td colspan="7">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
                    </tr>
                </tmpl_unless>
            </tbody>
            <tfoot>
                <tr>
                    <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
                </tr>
            </tfoot>
            </table>
        </fieldset>
    </div>
</div>
interface/web/help/lib/lang/se.lng
@@ -12,4 +12,3 @@
$wb['Add a Question & Answer Pair'] = 'Lägg till fråga och svar';
$wb['Manage Questions'] = 'Hantera frågor';
?>
interface/web/help/lib/lang/se_faq_form.lng
@@ -4,4 +4,3 @@
$wb['faq_answer_txt'] = 'Svar';
$wb['faq_section_txt'] = 'Kategori';
?>
interface/web/help/lib/lang/se_faq_manage_questions_list.lng
@@ -7,4 +7,3 @@
$wb['faq_faq_questions_txt'] = 'Vanliga frågor';
$wb['faq_new_question_txt'] = 'Lägg till ny fråga och svar';
?>
interface/web/help/lib/lang/se_faq_sections_form.lng
@@ -1,4 +1,3 @@
<?php
$wb['faq_section_name_txt'] = 'Kategorinamn';
?>
interface/web/help/lib/lang/se_help_faq_list.lng
@@ -1,4 +1,3 @@
<?php
$wb['edit_txt'] = 'Redigera';
?>
interface/web/help/lib/lang/se_help_faq_sections_list.lng
@@ -6,4 +6,3 @@
$wb['faq_faq_sections_txt'] = 'FAQ-kategorier';
$wb['faq_new_section_txt'] = 'Lägg till ny kategori';
?>
interface/web/help/lib/lang/se_support_message.lng
@@ -13,4 +13,3 @@
$wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.';
$wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.';
?>
interface/web/help/lib/lang/se_support_message_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Skapa nyttt supportmeddelande';
$wb['date_txt'] = 'Datum';
?>
interface/web/js/scrigo.js.php
@@ -809,7 +809,7 @@
    oldPWField.remove();
    var pword = password(<?php echo $min_password_length; ?>, false, 1);
    jQuery('#'+repeatPasswordFieldID).val(pword);
    newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup');
    newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup').select();
}
var funcDisableClick = function(e) { e.preventDefault(); return false; };
interface/web/login/lib/lang/se.lng
@@ -25,4 +25,3 @@
$wb['email_error'] = 'Epostadressen innehåller otillåtna tecken eller är felformatterad.';
$wb['stay_logged_in_txt'] = 'Håll mig inloggad';
?>
interface/web/login/lib/lang/se_login_as.lng
@@ -1,12 +1,11 @@
<?php
$wb['login_1_txt'] = 'Vill du loggga in som användare';
$wb['login_2_txt'] = 'If you do so, you can "go back" by clicking at logout.';
$wb['login_2_txt'] = 'If you do so, you can \"go back\" by clicking at logout.';
$wb['btn_yes_txt'] = 'Ja, logga in som kund';
$wb['btn_back_txt'] = 'Nej, tillbaka till listan';
$wb['udp_port_help_txt'] = 'Avdelade med kommatecken';
$wb['active_txt'] = 'Aktiv';
$wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \":\" and \",\".';
$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \":\" and \",\".';
?>
interface/web/mail/form/mail_user_filter.tform.php
@@ -112,7 +112,7 @@
            'datatype' => 'VARCHAR',
            'formtype' => 'TEXT',
            'validators' => array (  0 => array ( 'type' => 'REGEX',
                    'regex' => '/^[\p{Latin}0-9\.\-\_\ ]{0,100}$/u',
                    'regex' => '/^[\p{Latin}0-9\.\-\_\ \&]{0,100}$/u',
                    'errmsg'=> 'target_error_regex'),
            ),
            'default' => '',
interface/web/mail/form/mail_whitelist.tform.php
@@ -51,7 +51,7 @@
$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
$form["tabs"]['whitelist'] = array (
    'title'  => "Witelist",
    'title'  => "Whitelist",
    'width'  => 100,
    'template'  => "templates/mail_whitelist_edit.htm",
    'fields'  => array (
interface/web/mail/lib/lang/fr_mail_get.lng
@@ -14,6 +14,6 @@
$wb['destination_error_isemail'] = 'Pas de destination sélectionnée.';
$wb['source_server_error_regex'] = 'Le serveur POP3 / IMAP n\'est pas un nom de domaine valide.';
$wb['source_read_all_txt'] = 'Récupérer tous les emails (incl. les emails lus)';
$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \"Supprimer les emails après récupération\" = non avec \"Récupérer tous les emails\" = oui';
$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \\"Supprimer les emails après récupération\\" = non avec \\"Récupérer tous les emails\\" = oui';
$wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
?>
interface/web/mail/lib/lang/se.lng
@@ -46,4 +46,3 @@
$wb['Relay Recipients'] = 'Relay Recipients';
$wb['Mailbox quota'] = 'Mailbox quota';
?>
interface/web/mail/lib/lang/se_mail_alias.lng
@@ -12,4 +12,3 @@
$wb['duplicate_email_alias_txt'] = 'Detta epostalias finns redan';
$wb['source_txt'] = 'Alias';
?>
interface/web/mail/lib/lang/se_mail_alias_list.lng
@@ -6,4 +6,3 @@
$wb['source_txt'] = 'Källa';
$wb['add_new_record_txt'] = 'Lägg till nytt epostalias';
?>
interface/web/mail/lib/lang/se_mail_aliasdomain.lng
@@ -9,4 +9,3 @@
$wb['source_error_unique'] = 'Källdomänen finns redan.';
$wb['source_error_regex'] = 'Ogiltig källdomän..';
?>
interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
@@ -5,4 +5,3 @@
$wb['destination_txt'] = 'Destination';
$wb['add_new_record_txt'] = 'Lägg till nytt domänalias';
?>
interface/web/mail/lib/lang/se_mail_blacklist.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
?>
interface/web/mail/lib/lang/se_mail_blacklist_list.lng
@@ -8,4 +8,3 @@
$wb['recipient_txt'] = 'Mottagare';
$wb['access_txt'] = 'åtkomst';
?>
interface/web/mail/lib/lang/se_mail_content_filter.lng
@@ -7,4 +7,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['pattern_error_empty'] = 'Matchningsfältet är tomt.';
?>
interface/web/mail/lib/lang/se_mail_content_filter_list.lng
@@ -6,4 +6,3 @@
$wb['action_txt'] = 'Händelse';
$wb['add_new_record_txt'] = 'Lägg till nytt innehållsfilter';
?>
interface/web/mail/lib/lang/se_mail_domain.lng
@@ -11,4 +11,3 @@
$wb['policy_txt'] = 'Spamfilter';
$wb['no_policy'] = '- ej aktiverat -';
?>
interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
@@ -6,4 +6,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['sys_groupid_txt'] = 'Kund';
?>
interface/web/mail/lib/lang/se_mail_domain_catchall.lng
@@ -9,4 +9,3 @@
$wb['source_txt'] = 'Källa';
$wb['destination_error_isemail'] = 'Destinationen när inte en giltig epostadress.';
?>
interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
@@ -7,4 +7,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['source_txt'] = 'källa';
?>
interface/web/mail/lib/lang/se_mail_domain_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny domän';
$wb['active_txt'] = 'Aktiv';
?>
interface/web/mail/lib/lang/se_mail_forward.lng
@@ -7,4 +7,3 @@
$wb['domain_txt'] = 'Domän';
$wb['source_txt'] = 'Källadress';
?>
interface/web/mail/lib/lang/se_mail_forward_list.lng
@@ -6,4 +6,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny vidarebefordran';
$wb['source_txt'] = 'källa';
?>
interface/web/mail/lib/lang/se_mail_get.lng
@@ -14,7 +14,6 @@
$wb['destination_error_isemail'] = 'Ingen destination vald.';
$wb['source_server_error_regex'] = 'POP3-/Imapserver är inte ett giltigt domännamn.';
$wb['source_read_all_txt'] = 'Hämta all epost (även läst epost)';
$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use "Delete emails after retrieval" = no together with "Retrieve all emails" = yes';
$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \"Delete emails after retrieval\" = no together with \"Retrieve all emails\" = yes';
$wb['source_delete_note_txt'] = 'Vänligen kontrollera först om eposthämtning fungerar innan du aktiverar detta val..';
?>
interface/web/mail/lib/lang/se_mail_get_list.lng
@@ -7,4 +7,3 @@
$wb['destination_txt'] = 'Destination';
$wb['add_new_record_txt'] = 'Lägg till nytt konto';
?>
interface/web/mail/lib/lang/se_mail_mailinglist.lng
@@ -20,4 +20,3 @@
$wb['email_error_isemail'] = 'Epostadressen är ogiltig';
$wb['mailinglist_txt'] = 'Epostlista';
?>
interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
@@ -3,4 +3,3 @@
$wb['domain_txt'] = 'Domän';
$wb['listname_txt'] = 'Listnamn';
?>
interface/web/mail/lib/lang/se_mail_relay_recipient.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
?>
interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
@@ -7,4 +7,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny relämottagare';
$wb['access_txt'] = 'åtkomst';
?>
interface/web/mail/lib/lang/se_mail_spamfilter.lng
@@ -15,4 +15,3 @@
$wb['spam_redirect_maildir_purge_txt'] = 'Töm mappen efter';
$wb['days_txt'] = 'Dagar';
?>
interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
@@ -6,4 +6,3 @@
$wb['email_txt'] = 'Epost';
$wb['add_new_record_txt'] = 'Lägg till nytt spamfilter';
?>
interface/web/mail/lib/lang/se_mail_transport.lng
@@ -9,4 +9,3 @@
$wb['limit_mailrouting_txt'] = 'Det maximala antalet epostrutter för ditt konto är uppnått.';
$wb['transport_txt'] = 'Transport';
?>
interface/web/mail/lib/lang/se_mail_transport_list.lng
@@ -7,4 +7,3 @@
$wb['sort_order_txt'] = 'Sortera på';
$wb['add_new_record_txt'] = 'Lägg till ny transport';
?>
interface/web/mail/lib/lang/se_mail_user.lng
@@ -51,4 +51,3 @@
$wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
$wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
?>
interface/web/mail/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@
$wb['move_to_txt'] = 'Flytta till';
$wb['delete_txt'] = 'Radera';
?>
interface/web/mail/lib/lang/se_mail_user_filter_list.lng
@@ -5,4 +5,3 @@
$wb['page_of_txt'] = 'av';
$wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
?>
interface/web/mail/lib/lang/se_mail_user_list.lng
@@ -6,4 +6,3 @@
$wb['name_txt'] = 'Riktigt namn';
$wb['login_txt'] = 'Logga in';
?>
interface/web/mail/lib/lang/se_mail_user_stats_list.lng
@@ -6,4 +6,3 @@
$wb['this_year_txt'] = 'I år';
$wb['last_year_txt'] = 'Föregående år';
?>
interface/web/mail/lib/lang/se_mail_whitelist.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Maximala antalet epostfilter för ditt konto är uppnått.';
?>
interface/web/mail/lib/lang/se_mail_whitelist_list.lng
@@ -8,4 +8,3 @@
$wb['recipient_txt'] = 'Mottagare';
$wb['access_txt'] = 'åtkomst';
?>
interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
@@ -10,4 +10,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
@@ -7,4 +7,3 @@
$wb['email_txt'] = 'Vitlistad epostadress';
$wb['add_new_record_txt'] = 'Lägg till svartlistning';
?>
interface/web/mail/lib/lang/se_spamfilter_config.lng
@@ -18,4 +18,3 @@
$wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit';
$wb['message_size_limit_txt'] = 'Message Size Limit';
?>
interface/web/mail/lib/lang/se_spamfilter_config_list.lng
@@ -3,4 +3,3 @@
$wb['server_name_txt'] = 'Server';
$wb['server_id_txt'] = 'server_id';
?>
interface/web/mail/lib/lang/se_spamfilter_policy.lng
@@ -36,4 +36,3 @@
$wb['message_size_limit_txt'] = 'Message size limit';
$wb['banned_rulenames_txt'] = 'Banned rulenames';
?>
interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
@@ -7,4 +7,3 @@
$wb['bad_header_lover_txt'] = 'Bad Header lover';
$wb['add_new_record_txt'] = 'Add Policy record';
?>
interface/web/mail/lib/lang/se_spamfilter_users.lng
@@ -11,4 +11,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
interface/web/mail/lib/lang/se_spamfilter_users_list.lng
@@ -8,4 +8,3 @@
$wb['email_txt'] = 'Epost';
$wb['add_new_record_txt'] = 'Lägg till spamfilteranvändare';
?>
interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
@@ -10,4 +10,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
@@ -7,4 +7,3 @@
$wb['email_txt'] = 'Vitlistad epostadress';
$wb['add_new_record_txt'] = 'Lägg till vitlistning';
?>
interface/web/mail/lib/lang/se_user_quota_stats_list.lng
@@ -6,4 +6,3 @@
$wb['used_txt'] = 'Använt utrymme';
$wb['percentage_txt'] = 'Använt %';
?>
interface/web/mail/mail_domain_edit.php
@@ -359,7 +359,16 @@
            //* Update the mailinglist
            $app->db->query("UPDATE mail_mailinglist SET sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE domain = '".$app->db->quote($this->oldDataRecord['domain'])."'");
            //* Update fetchmail accounts
            $fetchmail = $app->db->queryAllRecords("SELECT * FROM mail_get WHERE destination like '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
            if(is_array($fetchmail)) {
                foreach($fetchmail as $rec) {
                    $destination = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['destination']));
                    $app->db->datalogUpdate('mail_get', "destination = '$destination', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'mailget_id', $rec['mailget_id']);
                }
            }
            //* Delete the old spamfilter record
            $tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'");
            $app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]);
interface/web/mail/mail_user_edit.php
@@ -166,7 +166,7 @@
            }
            // Check the quota and adjust
            if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && $app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) {
            if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && (($app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) || ($_POST["quota"] <= 0))) {
                $tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
                $mailquota = $tmp["mailquota"] / 1024 / 1024;
                $new_mailbox_quota = $app->functions->intval($this->dataRecord["quota"]);
@@ -179,6 +179,7 @@
                unset($tmp);
                unset($tmp_quota);
            }
        } // end if user is not admin
interface/web/mailuser/lib/lang/se.lng
@@ -7,4 +7,3 @@
$wb['Spamfilter'] = 'Spamfilter';
$wb['Email Filters'] = 'Epostfilter';
?>
interface/web/mailuser/lib/lang/se_index.lng
@@ -10,4 +10,3 @@
$wb['mb_txt'] = 'MB';
$wb['none_txt'] = 'Inget';
?>
interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
@@ -11,4 +11,3 @@
$wb['now_txt'] = 'Nu';
$wb['autoresponder_subject_txt'] = 'Ämnesrad';
?>
interface/web/mailuser/lib/lang/se_mail_user_cc.lng
@@ -7,4 +7,3 @@
$wb['name_optional_txt'] = '(Frivilligt)';
$wb['cc_note_txt'] = '(Separera flera epostadresser med kommatecken)';
?>
interface/web/mailuser/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@
$wb['move_to_txt'] = 'Flytta till';
$wb['delete_txt'] = 'Radera';
?>
interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
@@ -6,4 +6,3 @@
$wb['page_of_txt'] = 'av';
$wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
?>
interface/web/mailuser/lib/lang/se_mail_user_password.lng
@@ -8,4 +8,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
@@ -5,4 +5,3 @@
$wb['no_policy'] = '- ej aktiverat -';
$wb['policy_txt'] = 'Policy';
?>
interface/web/mailuser/mail_user_password_edit.php
@@ -51,7 +51,8 @@
class page_action extends tform_actions {
    function onSubmit() {
        global $app, $conf;
        $this->id = $app->functions->intval($_SESSION['s']['user']['mailuser_id']);
        parent::onSubmit();
interface/web/monitor/lib/lang/se.lng
@@ -153,4 +153,3 @@
$wb['no_munin_url_defined_txt'] = 'Ingen Munin-URL definierad.';
$wb['no_permissions_to_view_munin_txt'] = 'Du har inte behörighet att visa Munin.';
?>
interface/web/monitor/lib/lang/se_datalog_list.lng
@@ -6,4 +6,3 @@
$wb['action_txt'] = 'Händelse';
$wb['status_txt'] = 'Status';
?>
interface/web/monitor/lib/lang/se_syslog_list.lng
@@ -5,4 +5,3 @@
$wb['loglevel_txt'] = 'Loggnivå';
$wb['message_txt'] = 'Meddelande';
?>
interface/web/sites/form/database.tform.php
@@ -88,7 +88,7 @@
        'type' => array (
            'datatype' => 'VARCHAR',
            'formtype' => 'SELECT',
            'default' => 'y',
            'default' => 'mysql',
            'value'  => array('mysql' => 'MySQL')
        ),
        'database_name' => array (
@@ -139,7 +139,7 @@
        'database_charset' => array (
            'datatype' => 'VARCHAR',
            'formtype' => 'SELECT',
            'default' => 'y',
            'default' => '',
            'value'  => array('' => 'DB-Default', 'latin1' => 'Latin 1', 'utf8' => 'UTF-8')
        ),
        'remote_access' => array (
interface/web/sites/form/ftp_user.tform.php
@@ -91,7 +91,7 @@
            'validators' => array (  0 => array ( 'type' => 'UNIQUE',
                    'errmsg'=> 'username_error_unique'),
                1 => array ( 'type' => 'REGEX',
                    'regex' => '/^[\w\.\-]{0,64}$/',
                    'regex' => '/^[\w\.\-@\+]{0,64}$/',
                    'errmsg'=> 'username_error_regex'),
            ),
            'default' => '',
@@ -166,6 +166,13 @@
                'formtype'  => 'TEXT',
                'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
                        'errmsg'=> 'uid_error_empty'),
                        1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysuser',
                            'check_names' => true,
                            'errmsg' => 'invalid_system_user_or_group_txt'
                        ),
                ),
                'default'   => '0',
                'value'     => '',
@@ -177,6 +184,13 @@
                'formtype'  => 'TEXT',
                'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
                        'errmsg'=> 'gid_error_empty'),
                        1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysgroup',
                            'check_names' => true,
                            'errmsg' => 'invalid_system_user_or_group_txt'
                        ),
                ),
                'default'   => '0',
                'value'     => '',
@@ -187,7 +201,10 @@
                'datatype'  => 'VARCHAR',
                'formtype'  => 'TEXT',
                'validators'    => array (  0 => array (    'type'  => 'NOTEMPTY',
                        'errmsg'=> 'directory_error_empty'),
                                                            'errmsg'=> 'directory_error_empty'),
                                            1 => array (     'type' => 'REGEX',
                                                            'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
                                                            'errmsg'=> 'directory_error_regex'),
                ),
                'default'   => '',
                'value'     => '',
interface/web/sites/form/shell_user.tform.php
@@ -177,6 +177,13 @@
                'formtype' => 'TEXT',
                'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
                        'errmsg'=> 'uid_error_empty'),
                        1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysuser',
                            'check_names' => true,
                            'errmsg' => 'invalid_system_user_or_group_txt'
                        ),
                ),
                'default' => '0',
                'value'  => '',
@@ -188,6 +195,13 @@
                'formtype' => 'TEXT',
                'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
                        'errmsg'=> 'uid_error_empty'),
                        1 => array(
                            'type' => 'CUSTOM',
                            'class' => 'validate_systemuser',
                            'function' => 'check_sysgroup',
                            'check_names' => true,
                            'errmsg' => 'invalid_system_user_or_group_txt'
                        ),
                ),
                'default' => '0',
                'value'  => '',
@@ -197,6 +211,12 @@
            'shell' => array (
                'datatype' => 'VARCHAR',
                'formtype' => 'TEXT',
                'validators' => array ( 0 => array (     'type' => 'NOTEMPTY',
                                                        'errmsg'=> 'shell_error_empty'),
                                        1 => array (     'type' => 'REGEX',
                                                            'regex' => '/^\/[a-zA-Z0-9\/]{5,20}$/',
                                                            'errmsg'=> 'shell_error_regex'),
                ),
                'default' => '/bin/bash',
                'value'  => '',
                'width'  => '30',
@@ -205,8 +225,11 @@
            'dir' => array (
                'datatype' => 'VARCHAR',
                'formtype' => 'TEXT',
                'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
                        'errmsg'=> 'directory_error_empty'),
                'validators' => array ( 0 => array (     'type' => 'NOTEMPTY',
                                                        'errmsg'=> 'directory_error_empty'),
                                        1 => array (     'type' => 'REGEX',
                                                            'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
                                                            'errmsg'=> 'directory_error_regex'),
                ),
                'default' => '',
                'value'  => '',
interface/web/sites/ftp_user_edit.php
@@ -138,6 +138,11 @@
        $dir = $app->db->quote($web["document_root"]);
        $uid = $app->db->quote($web["system_user"]);
        $gid = $app->db->quote($web["system_group"]);
        // Check system user and group
        if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
            $app->error('Invalid system user or group');
        }
        // The FTP user shall be owned by the same group then the website
        $sys_groupid = $app->functions->intval($web['sys_groupid']);
@@ -148,7 +153,7 @@
    function onBeforeUpdate() {
        global $app, $conf, $interfaceConf;
        /*
         * If the names should be restricted -> do it!
         */
interface/web/sites/lib/lang/ar_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/ar_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/ar_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/ar_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/bg_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/bg_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/bg_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Сървър';
$wb['parent_domain_id_txt'] = 'Уебсайт';
$wb['path_txt'] = 'Път';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/bg_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Потребителско име';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/br_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/br_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/br_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/br_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/cz_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Opakujte heslo';
$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
$wb['password_match_txt'] = 'Hesla se shodují.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/cz_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'Hesla se shodují.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/cz_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webové stránky';
$wb['path_txt'] = 'Cesta';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/cz_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktivní';
$wb['web_folder_id_txt'] = 'Složka';
$wb['username_txt'] = 'Uživatelské jméno';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/de_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Passwort wiederholen';
$wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/de_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
$wb['username_must_not_exceed_32_chars_txt'] = 'Der Benutzername darf 32 Zeichen nicht überschreiten.';
$wb['username_not_allowed_txt'] = 'Der Benutzername ist nicht erlaubt.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/de_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webseite';
$wb['path_txt'] = 'Pfad';
$wb['add_new_record_txt'] = 'Ordner hinzufügen';
?>
interface/web/sites/lib/lang/de_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktiv';
$wb['web_folder_id_txt'] = 'Ordner';
$wb['username_txt'] = 'Benutzername';
$wb['add_new_record_txt'] = 'Ordner Benutzer hinzufügen';
?>
interface/web/sites/lib/lang/el_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/el_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/el_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Διαδρομή';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/el_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Ενεργός';
$wb['web_folder_id_txt'] = 'Φάκελος';
$wb['username_txt'] = 'Όνομα Χρήστη';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/en_ftp_user.lng
@@ -32,4 +32,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/en_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/en_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb["server_id_txt"] = 'Server';
$wb["parent_domain_id_txt"] = 'Website';
$wb["path_txt"] = 'Path';
$wb["add_new_record_txt"] = 'Add new Folder';
?>
interface/web/sites/lib/lang/en_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb["active_txt"] = 'Active';
$wb["web_folder_id_txt"] = 'Folder';
$wb["username_txt"] = 'Username';
$wb["add_new_record_txt"] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/es_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/es_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/es_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Servidor';
$wb['parent_domain_id_txt'] = 'Sitio web';
$wb['path_txt'] = 'Ruta';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/es_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Activar';
$wb['web_folder_id_txt'] = 'Carpeta';
$wb['username_txt'] = 'Nombre de usuario';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/fi_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/fi_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/fi_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/fi_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/fr.lng
@@ -31,5 +31,5 @@
$wb['Installed packages'] = 'Packages installés';
$wb['Update Packagelist'] = 'Mise à jour de la liste des packages';
$wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)';
$wb['error_proxy_requires_url'] = 'Type de redirection \"proxy\" nécessite une URL comme chemin de redirection.';
$wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.';
?>
interface/web/sites/lib/lang/fr_aps.lng
@@ -38,14 +38,14 @@
$wb['error_license_agreement'] = 'Avant de continuer, vous devez accepter les conditions d\'utilisation (licence).';
$wb['error_no_database_pw'] = 'Vous n\'avez pas renseigné de mot de passe BDD valide.';
$wb['error_short_database_pw'] = 'Veuillez saisir un mot de passe BDD plus long.';
$wb['error_no_value_for'] = 'Le champ \"%s\" ne peut pas être vide.';
$wb['error_short_value_for'] = 'Le champ \"%s\" nécessite une valeur plus longue.';
$wb['error_long_value_for'] = 'Le champ \"%s\" nécessite une valeur plus courte.';
$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \"%s\".';
$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \"%s\" est invalide.';
$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \"%s\" est invalide.';
$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \"%s\" est invalide.';
$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \"%s\" est invalide.';
$wb['error_no_value_for'] = 'Le champ \\"%s\\" ne peut pas être vide.';
$wb['error_short_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus longue.';
$wb['error_long_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus courte.';
$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \\"%s\\".';
$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \\"%s\\" est invalide.';
$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \\"%s\\" est invalide.';
$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \\"%s\\" est invalide.';
$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \\"%s\\" est invalide.';
$wb['error_used_location'] = 'Le chemin de destination contient déjà un package d\'installation.';
$wb['installation_task_txt'] = 'Installation prévue';
$wb['installation_error_txt'] = 'Erreur d\'installation';
interface/web/sites/lib/lang/fr_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Vérification du mot de passe';
$wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.';
$wb['password_match_txt'] = 'Les mots de passe correspondent.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/fr_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'Les mots de passe correspondent.';
$wb['username_must_not_exceed_32_chars_txt'] = 'Le nom d\'utilisateur ne doit pas dépasser 32 caractères.';
$wb['username_not_allowed_txt'] = 'Le nom d\'utilisateur est interdit.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/fr_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Serveur';
$wb['parent_domain_id_txt'] = 'Site web';
$wb['path_txt'] = 'Chemin';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/fr_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Actif';
$wb['web_folder_id_txt'] = 'Dossier';
$wb['username_txt'] = 'Nom de l\'utilisateur';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/fr_web_subdomain.lng
@@ -42,5 +42,5 @@
$wb['domain_error_wildcard'] = 'Les sous-domaines joker ne sont pas autorisés.';
$wb['proxy_directives_txt'] = 'Directives pour les Proxy';
$wb['available_proxy_directive_snippets_txt'] = 'Directives pour les Proxy Snippets disponibles :';
$wb['error_proxy_requires_url'] = 'Les redirections de type \"proxy\" nécessitent une URL comme chemin de redirection.';
$wb['error_proxy_requires_url'] = 'Les redirections de type \\"proxy\\" nécessitent une URL comme chemin de redirection.';
?>
interface/web/sites/lib/lang/hr_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/hr_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/hr_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Web stranica';
$wb['path_txt'] = 'Putanja';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/hr_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktivno';
$wb['web_folder_id_txt'] = 'Web direkotrij';
$wb['username_txt'] = 'Korisničko ime';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/hu_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/hu_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/hu_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/hu_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/id_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/id_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/id_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/id_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/it_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/it_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/it_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/it_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/ja_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/ja_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/ja_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/ja_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/nl_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/nl_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/nl_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/nl_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/pl_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Powtórz hasło';
$wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
$wb['password_match_txt'] = 'Hasła pasują';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/pl_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'Hasła pasują';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/pl_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Serwer';
$wb['parent_domain_id_txt'] = 'Witryna';
$wb['path_txt'] = 'Ścieżka';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/pl_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktywny';
$wb['web_folder_id_txt'] = 'Katalog';
$wb['username_txt'] = 'Login';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/pt_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/pt_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/pt_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/pt_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/ro_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/ro_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/ro_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/ro_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/ru_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/ru_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/ru_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/ru_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/se.lng
@@ -31,6 +31,5 @@
$wb['Installed packages'] = 'Installerade paket';
$wb['Update Packagelist'] = 'Uppdatera paketlista';
$wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)';
$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.';
$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
?>
interface/web/sites/lib/lang/se_aps.lng
@@ -38,14 +38,14 @@
$wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.';
$wb['error_no_database_pw'] = 'You have provided no valid database password.';
$wb['error_short_database_pw'] = 'Please choose a longer database password.';
$wb['error_no_value_for'] = 'The field "%s" must not be empty.';
$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.';
$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.';
$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".';
$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".';
$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".';
$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".';
$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".';
$wb['error_no_value_for'] = 'The field \"%s\" must not be empty.';
$wb['error_short_value_for'] = 'The field \"%s\" requires a longer input value.';
$wb['error_long_value_for'] = 'The field \"%s\" requires a shorter input value.';
$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \"%s\".';
$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \"%s\".';
$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \"%s\".';
$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \"%s\".';
$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \"%s\".';
$wb['error_used_location'] = 'The installation path already contains a package installation.';
$wb['installation_task_txt'] = 'Installation planerad';
$wb['installation_error_txt'] = 'Installationsfel';
@@ -56,4 +56,3 @@
$wb['btn_cancel_txt'] = 'Avbryt';
$wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.';
?>
interface/web/sites/lib/lang/se_aps_instances_list.lng
@@ -11,4 +11,3 @@
$wb['delete_txt'] = 'Radera';
$wb['reinstall_txt'] = 'Ominstallera';
?>
interface/web/sites/lib/lang/se_aps_packages_list.lng
@@ -6,4 +6,3 @@
$wb['status_txt'] = 'Olåst';
$wb['filter_txt'] = 'Sök';
?>
interface/web/sites/lib/lang/se_aps_update_packagelist.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Avbryt';
$wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.';
?>
interface/web/sites/lib/lang/se_cron.lng
@@ -22,4 +22,3 @@
$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
$wb['command_error_empty'] = 'Kommandofältet är tomt.';
?>
interface/web/sites/lib/lang/se_cron_list.lng
@@ -11,4 +11,3 @@
$wb['add_new_cron_txt'] = 'Lägg till nytt cron-jobb';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
interface/web/sites/lib/lang/se_database.lng
@@ -44,4 +44,3 @@
$wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.';
$wb['database_user_missing_txt'] = 'Vänligen välj en databasanvändare för den här databasen.';
?>
interface/web/sites/lib/lang/se_database_admin_list.lng
@@ -9,4 +9,3 @@
$wb['sys_groupid_txt'] = 'Kund';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
interface/web/sites/lib/lang/se_database_list.lng
@@ -8,4 +8,3 @@
$wb['database_user_txt'] = 'Databasanvändare';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
interface/web/sites/lib/lang/se_database_user.lng
@@ -21,4 +21,3 @@
$wb['globalsearch_searchfield_watermark_txt'] = 'Sök';
$wb['globalsearch_suggestions_text_txt'] = 'Förslag';
?>
interface/web/sites/lib/lang/se_database_user_admin_list.lng
@@ -4,4 +4,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny användare';
$wb['sys_groupid_txt'] = 'Kund';
?>
interface/web/sites/lib/lang/se_database_user_list.lng
@@ -3,4 +3,3 @@
$wb['database_user_txt'] = 'Databasanvändare';
$wb['add_new_record_txt'] = 'Lägg till ny användare';
?>
interface/web/sites/lib/lang/se_ftp_user.lng
@@ -31,5 +31,6 @@
$wb['repeat_password_txt'] = 'Upprepa lösenord';
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/se_ftp_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['add_new_record_txt'] = 'Lägg till ny FTP-användare';
?>
interface/web/sites/lib/lang/se_shell_user.lng
@@ -28,5 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/se_shell_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Shell-User';
?>
interface/web/sites/lib/lang/se_user_quota_stats_list.lng
@@ -7,4 +7,3 @@
$wb['soft_txt'] = 'Soft limit';
$wb['files_txt'] = 'Single files';
?>
interface/web/sites/lib/lang/se_web_aliasdomain.lng
@@ -113,4 +113,3 @@
$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
$wb['Domain'] = 'Aliasdomain';
?>
interface/web/sites/lib/lang/se_web_aliasdomain_list.lng
@@ -12,4 +12,3 @@
$wb['no_flag_txt'] = 'No flag';
$wb['none_txt'] = 'None';
?>
interface/web/sites/lib/lang/se_web_backup_list.lng
@@ -13,4 +13,3 @@
$wb['backup_type_mysql'] = 'MySQL-databaser';
$wb['backup_type_web'] = 'Webbsidefiler';
?>
interface/web/sites/lib/lang/se_web_domain.lng
@@ -128,4 +128,3 @@
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar';
?>
interface/web/sites/lib/lang/se_web_domain_admin_list.lng
@@ -7,4 +7,3 @@
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
?>
interface/web/sites/lib/lang/se_web_domain_list.lng
@@ -6,4 +6,3 @@
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
?>
interface/web/sites/lib/lang/se_web_folder.lng
@@ -6,4 +6,3 @@
$wb['path_error_regex'] = 'Ogiltig katalogsökväg';
$wb['error_folder_already_protected_txt'] = 'Det finns redan ett inlägg för den här mappen.';
?>
interface/web/sites/lib/lang/se_web_folder_list.lng
@@ -4,5 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webbsida';
$wb['path_txt'] = 'Sökväg';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/se_web_folder_user.lng
@@ -12,4 +12,3 @@
$wb['no_folder_perm'] = 'Du har inga rättigheter för denna katalog';
$wb['error_user_exists_already_txt'] = 'Det finns redan ett inlägg för denna användare';
?>
interface/web/sites/lib/lang/se_web_folder_user_list.lng
@@ -3,5 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/se_web_sites_stats_list.lng
@@ -7,4 +7,3 @@
$wb['last_year_txt'] = 'Förra året';
$wb['sum_txt'] = 'Total';
?>
interface/web/sites/lib/lang/se_web_subdomain.lng
@@ -42,6 +42,5 @@
$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
$wb['proxy_directives_txt'] = 'Proxy Directives';
$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.';
$wb['error_proxy_requires_url'] = 'Redirect Type \"proxy\" requires a URL as the redirect path.';
?>
interface/web/sites/lib/lang/se_web_subdomain_list.lng
@@ -6,4 +6,3 @@
$wb['domain_txt'] = 'Subdomain';
$wb['add_new_record_txt'] = 'Add new subdomain';
?>
interface/web/sites/lib/lang/se_web_vhost_subdomain.lng
@@ -125,4 +125,3 @@
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.';
?>
interface/web/sites/lib/lang/se_web_vhost_subdomain_list.lng
@@ -6,4 +6,3 @@
$wb['domain_txt'] = 'Underdomän';
$wb['add_new_record_txt'] = 'Lägg till ny underdomän';
?>
interface/web/sites/lib/lang/se_webdav_user.lng
@@ -19,4 +19,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
interface/web/sites/lib/lang/se_webdav_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['add_new_record_txt'] = 'Lägg till ny WebDAV-användare';
?>
interface/web/sites/lib/lang/sk_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/sk_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/sk_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/sk_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/lib/lang/tr_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
?>
interface/web/sites/lib/lang/tr_shell_user.lng
@@ -28,4 +28,7 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
$wb['directory_error_regex'] = 'Invalid directory';
$wb['shell_error_regex'] = 'Invalid shell';
?>
interface/web/sites/lib/lang/tr_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
$wb['add_new_record_txt'] = 'Add new Folder';
?>
interface/web/sites/lib/lang/tr_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Folder User';
?>
interface/web/sites/shell_user_edit.php
@@ -135,6 +135,8 @@
            }
        }
        unset($blacklist);
        if($app->functions->is_allowed_user(trim(strtolower($this->dataRecord['username']))) == false) $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt');
        /*
         * If the names should be restricted -> do it!
@@ -163,6 +165,11 @@
        $dir = $app->db->quote($web["document_root"]);
        $uid = $app->db->quote($web["system_user"]);
        $gid = $app->db->quote($web["system_group"]);
        // Check system user and group
        if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
            $app->error($app->tform->lng('invalid_system_user_or_group_txt'));
        }
        // The FTP user shall be owned by the same group then the website
        $sys_groupid = $app->functions->intval($web['sys_groupid']);
interface/web/sites/web_aliasdomain_edit.php
@@ -123,9 +123,17 @@
    function onSubmit() {
        global $app, $conf;
        // Get the record of the parent domain
        if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
            $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
            if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
            unset($tmp);
        }
        // Get the record of the parent domain
        $parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
        if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
        /* check if the domain module is used - and check if the selected domain can be used! */
        $app->uses('ini_parser,getconf');
@@ -153,7 +161,7 @@
        //* make sure that the domain is lowercase
        if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
        parent::onSubmit();
    }
interface/web/sites/web_domain_edit.php
@@ -607,9 +607,11 @@
            // When the record is updated
            if($this->id > 0) {
                // restore the server ID if the user is not admin and record is edited
                $tmp = $app->db->queryOneRecord("SELECT server_id, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
                $tmp = $app->db->queryOneRecord("SELECT server_id, `system_user`, `system_group`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
                $this->dataRecord["server_id"] = $tmp["server_id"];
                $this->dataRecord['system_user'] = $tmp['system_user'];
                $this->dataRecord['system_group'] = $tmp['system_group'];
                // set the settings to current if not provided (or cleared due to limits)
                if($this->dataRecord['cgi'] == 'n') $this->dataRecord['cgi'] = $tmp['cgi'];
                if($this->dataRecord['ssi'] == 'n') $this->dataRecord['ssi'] = $tmp['ssi'];
@@ -749,7 +751,7 @@
                    // value inside ''
                    if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*\'.*\'\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
                    // everything else
                    if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
                    if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s|()]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue;
                    $custom_php_ini_settings_are_valid = false;
                    break;
                }
interface/web/sites/web_subdomain_edit.php
@@ -130,6 +130,13 @@
    function onSubmit() {
        global $app, $conf;
        // Get the record of the parent domain
        if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
            $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
            if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
            unset($tmp);
        }
        // Get the record of the parent domain
        $parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
@@ -162,7 +169,7 @@
        //* make sure that the domain is lowercase
        if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
        parent::onSubmit();
    }
interface/web/sites/web_vhost_subdomain_edit.php
@@ -341,6 +341,8 @@
        $this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
        $this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
        $this->dataRecord["vhost_type"] = 'name';
        $this->dataRecord["system_user"] = $parent_domain["system_user"];
        $this->dataRecord["system_group"] = $parent_domain["system_group"];
        $this->parent_domain_record = $parent_domain;
interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
@@ -6,4 +6,3 @@
$wb['password_strength_4_txt'] = 'Starkt';
$wb['password_strength_5_txt'] = 'Mycket starkt';
?>
interface/web/themes/blue/ispconfig_version
@@ -1 +1 @@
3.0.5.4p1
3.0.5.4p2
interface/web/themes/blue/templates/main.tpl.htm
@@ -161,6 +161,7 @@
                <!-- begin: #content -->
                <section id="content">
                    <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <input type="text" style="display:none" /><input type="password" style="display:none"/>
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                    </form>
                    <div id="ie_clearing">&nbsp;</div>
interface/web/themes/default-304/templates/main.tpl.htm
@@ -168,6 +168,7 @@
                            <a id="content" name="content"></a>
                            <!-- skiplink anchor: Content -->
                            <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                                <input type="text" style="display:none" /><input type="password" style="display:none"/>
                                <div id="pageContent"><!-- AJAX CONTENT --></div>
                            </form>
                        </div>
interface/web/themes/default/templates/main.tpl.htm
@@ -164,6 +164,7 @@
                <!-- begin: #content -->
                <section id="content">
                    <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <input type="text" style="display:none" /><input type="password" style="display:none"/>
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                    </form>
                    <div id="ie_clearing">&nbsp;</div>
interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -168,6 +168,7 @@
                        <a id="content" name="content"></a>
                        <!-- skiplink anchor: Content -->
                        <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <input type="text" style="display:none" /><input type="password" style="display:none"/>
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                        </form>
                    </div>
interface/web/themes/default_combobox/templates/main.tpl.htm
@@ -323,6 +323,7 @@
                        <a id="content" name="content"></a>
                        <!-- skiplink anchor: Content -->
                        <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <input type="text" style="display:none" /><input type="password" style="display:none"/>
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                        </form>
                    </div>
interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -169,6 +169,7 @@
                        <a id="content" name="content"></a>
                        <!-- skiplink anchor: Content -->
                        <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
                        <input type="text" style="display:none" /><input type="password" style="display:none"/>
                        <div id="pageContent"><!-- AJAX CONTENT --></div>
                        </form>
                    </div>
interface/web/tools/lib/lang/se.lng
@@ -11,4 +11,3 @@
$wb['PDNS Tupa'] = 'PowerDNS Tupa';
$wb['Interface'] = 'Interface';
?>
interface/web/tools/lib/lang/se_import_ispconfig.lng
@@ -21,4 +21,3 @@
$wb['import_user_filter_txt'] = 'Importera användarfilter';
$wb['import_spamfilter_txt'] = 'Importera spamfilter';
?>
interface/web/tools/lib/lang/se_index.lng
@@ -2,4 +2,3 @@
$wb['page_head_txt'] = 'ISPConfig verktyg';
$wb['page_desc_txt'] = 'Ändra användarinställningar';
?>
interface/web/tools/lib/lang/se_interface.lng
@@ -5,4 +5,3 @@
$wb['startmodule_txt'] = 'Startmodul';
$wb['app_theme_txt'] = 'Design';
?>
interface/web/tools/lib/lang/se_tpl_default.lng
@@ -5,4 +5,3 @@
$wb['btn_start_txt'] = 'Spara';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
interface/web/tools/lib/lang/se_usersettings.lng
@@ -10,4 +10,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
interface/web/vm/lib/lang/se.lng
@@ -5,4 +5,3 @@
$wb['IP addresses'] = 'IP addresses';
$wb['OpenVZ'] = 'OpenVZ';
?>
interface/web/vm/lib/lang/se_openvz_action.lng
@@ -14,4 +14,3 @@
$wb['ostemplate_name_unique_error'] = 'There is already a OSTemplate with that name.';
$wb['ostemplate_exec_txt'] = 'The command to create a OSTemplate has been sent to the host server. It will take several minutes until the OSTemplate has been created.';
?>
interface/web/vm/lib/lang/se_openvz_ip.lng
@@ -7,4 +7,3 @@
$wb['ip_error_unique'] = 'This IP address does already exist.';
$wb['IP address'] = 'IP address';
?>
interface/web/vm/lib/lang/se_openvz_ip_list.lng
@@ -5,4 +5,3 @@
$wb['reserved_txt'] = 'Reserved';
$wb['vm_id_txt'] = 'VM';
?>
interface/web/vm/lib/lang/se_openvz_ostemplate.lng
@@ -9,4 +9,3 @@
$wb['template_file_error_empty'] = 'Template filename is empty.';
$wb['Template'] = 'Template';
?>
interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
@@ -6,4 +6,3 @@
$wb['allservers_txt'] = 'Exists on all servers';
$wb['ostemplate_id_txt'] = 'ID';
?>
interface/web/vm/lib/lang/se_openvz_template.lng
@@ -91,4 +91,3 @@
$wb['Template'] = 'Template';
$wb['Advanced'] = 'Advanced';
?>
interface/web/vm/lib/lang/se_openvz_template_list.lng
@@ -3,4 +3,3 @@
$wb['active_txt'] = 'Active';
$wb['template_name_txt'] = 'Template name';
?>
interface/web/vm/lib/lang/se_openvz_vm.lng
@@ -38,4 +38,3 @@
$wb['Virtual server'] = 'Virtual server';
$wb['Advanced'] = 'Advanced';
?>
interface/web/vm/lib/lang/se_openvz_vm_list.lng
@@ -8,4 +8,3 @@
$wb['ip_address_txt'] = 'IP address';
$wb['veid_txt'] = 'VEID';
?>
server/conf/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
# ISPConfig Logfile configuration for vlogger
################################################
LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
server/conf/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
pm.max_children = 50
pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
server/conf/vhost.conf.master
@@ -57,6 +57,10 @@
        </IfModule>
        <Directory {tmpl_var name='web_document_root_www'}>
                # Clear PHP settings of this website
                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                        SetHandler None
                </FilesMatch>
                Options +FollowSymLinks
                AllowOverride <tmpl_var name='allow_override'>
                <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
@@ -85,6 +89,10 @@
</tmpl_if>
        </Directory>
        <Directory {tmpl_var name='web_document_root'}>
                # Clear PHP settings of this website
                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                        SetHandler None
                </FilesMatch>
                Options +FollowSymLinks
                AllowOverride <tmpl_var name='allow_override'>
                <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
@@ -186,10 +194,6 @@
            SuexecUserGroup <tmpl_var name='system_user'> <tmpl_var name='system_group'>
        </IfModule>
</tmpl_if>
        # Clear PHP settings of this website
        <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                SetHandler None
        </FilesMatch>
<tmpl_if name='php' op='==' value='mod'>
        # mod_php enabled
        AddType application/x-httpd-php .php .php3 .php4 .php5
@@ -221,9 +225,16 @@
        # php as cgi enabled
        ScriptAlias /php5-cgi <tmpl_var name='cgi_starter_path'><tmpl_var name='cgi_starter_script'>
        Action php5-cgi /php5-cgi
        <FilesMatch "\.php[345]?$">
            SetHandler php5-cgi
        </FilesMatch>
        <Directory {tmpl_var name='web_document_root_www'}>
            <FilesMatch "\.php[345]?$">
                SetHandler php5-cgi
            </FilesMatch>
        </Directory>
        <Directory {tmpl_var name='web_document_root'}>
            <FilesMatch "\.php[345]?$">
                SetHandler php5-cgi
            </FilesMatch>
        </Directory>
        <Directory {tmpl_var name='cgi_starter_path'}>
            <tmpl_if name='apache_version' op='>' value='2.2' format='version'>
            Require all granted
@@ -304,9 +315,16 @@
                    Allow from all
                    </tmpl_if>
                </Directory>
                <FilesMatch "\.php[345]?$">
                    SetHandler php5-fcgi
                </FilesMatch>
                <Directory {tmpl_var name='web_document_root_www'}>
                    <FilesMatch "\.php[345]?$">
                        SetHandler php5-fcgi
                    </FilesMatch>
                </Directory>
                <Directory {tmpl_var name='web_document_root'}>
                    <FilesMatch "\.php[345]?$">
                        SetHandler php5-fcgi
                    </FilesMatch>
                </Directory>
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'}
<tmpl_if name='use_tcp'>
@@ -336,7 +354,7 @@
        RewriteCond %{REQUEST_URI} !^<tmpl_var name='rewrite_target'>
</tmpl_if>
        
        RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if>  <tmpl_if name='rewrite_type' value=''><tmpl_if name="rewrite_is_url" op="==" value="n">[PT]</tmpl_if></tmpl_else><tmpl_var name='rewrite_type'></tmpl_if>
        RewriteRule   ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if>  <tmpl_var name='rewrite_type'>
    
</tmpl_loop>
</tmpl_if>
server/cron_daily.php
@@ -647,7 +647,7 @@
// function for sending notification emails
//########
function send_notification_email($template, $placeholders, $recipients) {
    global $conf;
    global $conf, $app;
    if(!is_array($recipients) || count($recipients) < 1) return false;
    if(!is_array($placeholders)) $placeholders = array();
@@ -1104,10 +1104,14 @@
    
    //* mount backup directory, if necessary
    $run_backups = true;
    $server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
    if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
    $backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh';
    if(    $server_config['backup_dir_is_mount'] == 'y' &&
        is_file($backup_dir_mount_cmd) &&
        is_executable($backup_dir_mount_cmd) &&
        fileowner($backup_dir_mount_cmd) === 0
        ){
        if(!$app->system->is_mounted($backup_dir)){
            exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
            exec($backup_dir_mount_cmd);
            sleep(1);
            if(!$app->system->is_mounted($backup_dir)) $run_backups = false;
        }
server/lib/classes/ispcmail.inc.php
New file
@@ -0,0 +1,869 @@
<?php
/*
Copyright (c) 2012, Marius Cramer, pixcept KG
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
 * email class
 *
 * @package pxFramework
 *
 */
class ispcmail {
    /**#@+
     * @access private
     */
    private $html_part;
    private $text_part;
    private $headers;
    private $_logged_in = false;
    private $_smtp_conn = null;
    private $_crlf = "\n";
    private $attach_type = 'application/octet-stream';
    private $attachments;
    private $mime_boundary;
    private $body = '';
    private $_mail_sender = '';
    private $_sent_mails = 0;
    private $user_agent = 'ISPConfig/3 (Mailer Class)';
    /**#@-*/
    /**
     * set the mail charset
     */
    private $mail_charset  = 'UTF-8';//'ISO-8859-1';
    /**#@+
     * Provide smtp credentials for smtp mail sending
     *
     * @access public
     */
    /**
     * if set to true smtp is used instead of mail() to send emails
     * @see mail
     */
    private $use_smtp = false;
    /**
     * the smtp helo string - use the mail server name here!
     */
    private $smtp_helo = '';
    /**
     * the smtp server to send mails
     */
    private $smtp_host = '';
    /**
     * the smtp port
     */
    private $smtp_port = 25;
    /**
     * if the smtp server needs authentication you can set the smtp user here
     */
    private $smtp_user = '';
    /**
     * if the smtp server needs authentication you can set the smtp password here
     */
    private $smtp_pass = '';
    /**
     * If you want to use tls/ssl specify it here
     */
    private $smtp_crypt = ''; // tls or ssl
    /**
     * How many mails should be sent via one single smtp connection
     */
    private $smtp_max_mails = 20;
    /**
     * Should the mail be signed
     */
    private $sign_email = false;
    /**
     * The cert and key to use for email signing
     */
    private $sign_key = '';
    private $sign_key_pass = '';
    private $sign_cert = '';
    private $sign_bundle = '';
    private $_is_signed = false;
    /**
     * get disposition notification
     */
    private $notification = false;
    /**#@-*/
    public function __construct($options = array()) {
        $rand = md5(microtime());
        $this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
        $this->headers = array();
        $this->attachments = array();
        $this->headers['MIME-Version'] = '1.0';
        $this->headers['User-Agent'] = $this->user_agent;
        if(is_array($options) && count($options) > 0) $this->setOptions($options);
    }
    public function __destruct() {
        $this->finish();
    }
    /**
     * Set option
     *
     * @param string $key the option to set
     * @param string $value the option value to set
     */
    public function setOption($key, $value) {
        switch($key) {
        case 'smtp_helo':
            $this->smtp_helo = $value;
            break;
        case 'smtp_host':
            $this->smtp_host = $value;
            break;
        case 'smtp_server':
            $this->smtp_host = $value;
            break;
        case 'smtp_port':
            $this->smtp_port = $value;
            break;
        case 'smtp_user':
            $this->smtp_user = $value;
            break;
        case 'smtp_pass':
            $this->smtp_pass = $value;
            break;
        case 'smtp_max_mails':
            $this->smtp_max_mails = intval($value);
            if($this->smtp_max_mails < 1) $this->smtp_max_mails = 1;
            break;
        case 'use_smtp':
            $this->use_smtp = ($value == true ? true : false);
            if($value == true) $this->_crlf = "\r\n";
            break;
        case 'smtp_crypt':
            if($value != 'ssl' && $value != 'tls') $value = '';
            $this->smtp_crypt = $value;
            break;
        case 'sign_email':
            $this->sign_email = ($value == true ? true : false);
            break;
        case 'sign_key':
            $this->sign_key = $value;
            break;
        case 'sign_key_pass':
            $this->sign_key_pass = $value;
            break;
        case 'sign_cert':
            $this->sign_cert = $value;
            break;
        case 'sign_bundle':
            $this->sign_bundle = $value;
            break;
        case 'mail_charset':
            $this->mail_charset = $value;
            break;
        case 'notify':
            $this->notification = ($value == true ? true : false);
            break;
        }
    }
    /** Detect the helo string if none given
     *
     */
    private function detectHelo() {
        if(isset($_SERVER['HTTP_HOST'])) $this->smtp_helo = (strpos($_SERVER['HTTP_HOST'], ':') !== false ? substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':')) : $_SERVER['HTTP_HOST']);
        elseif(isset($_SERVER['SERVER_NAME'])) $this->smtp_helo = $_SERVER['SERVER_NAME'];
        else $this->smtp_helo = php_uname('n');
        if($this->smtp_helo == '') $this->smtp_helo = 'localhost';
        return $this->smtp_helo;
    }
    /**
     * Set options
     *
     * @param array $options the options to set as an associative array key => value
     */
    public function setOptions($options) {
        foreach($options as $key => $value) $this->setOption($key, $value);
    }
    /**
     * Read a file's contents
     *
     * Simply gets the file's content
     *
     * @access public
     * @param string $filename name and path of file to read
     * @return string file content (can be binary)
     */
    public function read_File($filename) {
        $content = '';
        $fp = fopen($filename, 'r');
        if(!$fp) return false;
        while(!feof($fp)) {
            $content .= fread($fp, 1024);
        }
        fclose($fp);
        return $content;
    }
    /**
     * set smtp connection encryption
     *
     * @access public
     * @param string $mode encryption mode (tls, ssl or empty string)
     */
    public function setSMTPEncryption($mode = '') {
        if($mode != 'ssl' && $mode != 'tls') $mode = '';
        $this->smtp_crypt = $mode;
    }
    /**
     * set a mail header
     *
     * Sets a single mail header to a given value
     *
     * @access public
     * @param string $header header name to set
     * @param string $value value to set in header field
     */
    public function setHeader($header, $value) {
        if(strtolower($header) == 'bcc') $header = 'Bcc';
        elseif(strtolower($header) == 'cc') $header = 'Cc';
        elseif(strtolower($header) == 'from') $header = 'From';
        $this->headers["$header"] = $value;
    }
    /**
     * get a mail header value
     *
     * Returns a value of a single mail header
     *
     * @access public
     * @param string $header header name to get
     * @return string header value
     */
    public function getHeader($header) {
        if(strtolower($header) == 'bcc') $header = 'Bcc';
        elseif(strtolower($header) == 'cc') $header = 'Cc';
        elseif(strtolower($header) == 'from') $header = 'From';
        return isset($this->headers["$header"]) ? $this->headers["$header"] : '';
    }
    /**
     * Set email sender
     *
     * Sets the email sender and optionally the sender's name
     *
     * @access public
     * @param string $email sender email address
     * @param string $name sender name
     */
    public function setSender($email, $name = '') {
        if($name) $header = '"' . $name . '" <' . $email . '>';
        else $header = '<' . $email . '>';
        $this->_mail_sender = $email;
        $this->setHeader('From', $header);
    }
    /**
     * Set mail subject
     *
     * @access public
     * @param string $subject the mail subject
     * @return string where-string for db query
     */
    public function setSubject($subject) {
        $this->setHeader('Subject', $subject);
    }
    /**
     * Get current mail subject
     *
     * @access public
     * @return string mail subject
     */
    public function getSubject() {
        return $this->headers['Subject'];
    }
    /**
     * Set mail content
     *
     * Sets the mail html and plain text content
     *
     * @access public
     * @param string $text plain text mail content (can be empty)
     * @param string $html html mail content
     */
    public function setMailText($text, $html = '') {
        $this->text_part = $text;
        $this->html_part = $html;
    }
    /**
     * Read and attach a file
     *
     * Reads a file and attaches it to the current email
     *
     * @access public
     * @param string $filename the file to read and attach
     * @param string $display_name the name that will be displayed in the mail
     * @see read_File
     */
    public function readAttachFile($filename, $display_name = '') {
        if($display_name == '') {
            $path_parts = pathinfo($filename);
            $display_name = $path_parts["basename"];
            unset($path_parts);
        }
        $this->attachFile($this->read_File($filename), $display_name);
    }
    /**
     * Attach a file
     *
     * Attaches a string (can be binary) as a file to the mail
     *
     * @access public
     * @param string $content attachment data string
     * @param string $filename name for file attachment
     */
    public function attachFile($content, $filename) {
        $attachment = array('content' => $content,
            'filename' => $filename,
            'type' => 'application/octet-stream',
            'encoding' => 'base64'
        );
        $this->attachments[] = $attachment;
    }
    /**
     * @access private
     */
    private function create() {
        $attach = false;
        $html = false;
        $text = false;
        if($this->html_part) $html = true;
        if($this->text_part) $text = true;
        if(count($this->attachments) > 0) $attach = true;
        $textonly = false;
        $htmlonly = false;
        if($text == true && $html == false && $attach == false) {
            // only text
            $content_type = 'text/plain; charset="' . strtolower($this->mail_charset) . '"';
            $textonly = true;
        } elseif($text == true && $html == false && $attach == true) {
            // text and attachment
            $content_type = 'multipart/mixed;';
            $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
        } elseif($html == true && $text == true && $attach == false) {
            // html only (or text too)
            $content_type = 'multipart/alternative;';
            $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
        } elseif($html == true && $text == false && $attach == false) {
            // html only (or text too)
            $content_type = 'text/html; charset="' . strtolower($this->mail_charset) . '"';
            $htmlonly = true;
        } elseif($html == true && $attach == true) {
            // html and attachments
            $content_type = 'multipart/mixed;';
            $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
        }
        $this->headers['Content-Type'] = $content_type;
        if($textonly == false && $htmlonly == false) {
            $this->body = "This is a multi-part message in MIME format.\n\n";
            if($text) {
                /*$this->body .= "--{$this->mime_boundary}\n" .
                              "Content-Type:text/plain; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
                              "Content-Transfer-Encoding: 7bit\n\n" . $this->text_part . "\n\n";*/
                $this->body .= "--{$this->mime_boundary}\n" .
                    "Content-Type:text/plain; charset=\"UTF-8\"\n" .
                    "Content-Transfer-Encoding: 8bit\n\n" . $this->text_part . "\n\n";
            }
            if($html) {
                /*$this->body .= "--{$this->mime_boundary}\n" .
                               "Content-Type:text/html; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
                               "Content-Transfer-Encoding: 7bit\n\n" . $this->html_part . "\n\n";*/
                $this->body .= "--{$this->mime_boundary}\n" .
                    "Content-Type:text/html; charset=\"UTF-8\"\n" .
                    "Content-Transfer-Encoding: 8bit\n\n" . $this->html_part . "\n\n";
            }
            if($attach) {
                foreach($this->attachments as $att) {
                    $this->body .= "--{$this->mime_boundary}\n" .
                        "Content-Type: " . $att['type'] . ";\n" .
                        " name=\"" . $att['filename'] . "\"\n" .
                        "Content-Transfer-Encoding: base64\n" .
                        "Content-Disposition: attachment;\n\n" .
                        chunk_split(base64_encode($att['content'])) . "\n\n";
                }
            }
            $this->body .= "--{$this->mime_boundary}--\n";
        } elseif($htmlonly == true) {
            $this->body = $this->html_part;
        } else {
            $this->body = $this->text_part;
        }
        if (isset($this->body)) {
            // Add message ID header
            $message_id = sprintf('<%s.%s@%s>', base_convert(time(), 10, 36), base_convert(rand(), 10, 36), $this->smtp_helo != '' ? $this->smtp_helo : $this->detectHelo());
            $this->headers['Message-ID'] = $message_id;
            return true;
        } else {
            return false;
        }
    }
    /**
     * Function to sign an email body
     */
    private function sign() {
        if($this->sign_email == false || $this->sign_key == '' || $this->sign_cert == '') return false;
        if(function_exists('openssl_pkcs7_sign') == false) return false;
        $tmpin = tempnam(sys_get_temp_dir(), 'sign');
        $tmpout = tempnam(sys_get_temp_dir(), 'sign');
        if(!file_exists($tmpin) || !is_writable($tmpin)) return false;
        file_put_contents($tmpin, 'Content-Type: ' . $this->getHeader('Content-Type') . "\n\n" . $this->body);
        $tmpf_key = tempnam(sys_get_temp_dir(), 'sign');
        file_put_contents($tmpf_key, $this->sign_key);
        $tmpf_cert = tempnam(sys_get_temp_dir(), 'sign');
        file_put_contents($tmpf_cert, $this->sign_cert);
        if($this->sign_bundle != '')  {
            $tmpf_bundle = tempnam(sys_get_temp_dir(), 'sign');
            file_put_contents($tmpf_bundle, $this->sign_bundle);
            openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array(), PKCS7_DETACHED, realpath($tmpf_bundle));
        } else {
            openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array());
        }
        unlink($tmpin);
        unlink($tmpf_cert);
        unlink($tmpf_key);
        if(file_exists($tmpf_bundle)) unlink($tmpf_bundle);
        if(!file_exists($tmpout) || !is_readable($tmpout)) return false;
        $this->body = file_get_contents($tmpout);
        unlink($tmpout);
        unset($this->headers['Content-Type']);
        unset($this->headers['MIME-Version']);
        $this->_is_signed = true;
    }
    private function _char_to_hex($matches) {
        return '=' . strtoupper(dechex(ord($matches[1])));
    }
    /**
     * Function to encode a header if necessary
     * according to RFC2047
     * @access private
     */
    private function _encodeHeader($input, $charset = 'ISO-8859-1') {
        preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
        foreach ($matches[1] as $value) {
            $replacement = preg_replace_callback('/([\x20\x80-\xFF])/', array($this, '_char_to_hex'), $value);
            $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
        }
        return $input;
    }
    /**
     * Function to encode the subject if necessary
     * according to RFC2047
     * @access private
     */
    private function _encodeSubject($input, $charset = 'ISO-8859-1') {
        /*
        if($charset == 'UTF-8' && function_exists('imap_8bit')) {
            $input = "=?utf-8?Q?" . imap_8bit($input) . "?=";
        } else {
            preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
            foreach ($matches[1] as $value) {
                $replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value);
                $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
            }
        }*/
        $input='=?UTF-8?B?'.base64_encode($input).'?=';
        return $input;
    }
    /**
     * @access private
     */
    private function _smtp_login() {
        $this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'ssl://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30);
        $response = fgets($this->_smtp_conn, 515);
        if(empty($this->_smtp_conn)) return false;
        //Say Hello to SMTP
        if($this->smtp_helo == '') $this->detectHelo();
        fputs($this->_smtp_conn, 'HELO ' . $this->smtp_helo . $this->_crlf);
        $response = fgets($this->_smtp_conn, 515);
        // ENCRYPTED?
        if($this->smtp_crypt == 'tls') {
            fputs($this->_smtp_conn, 'STARTTLS' . $this->_crlf);
            fgets($this->_smtp_conn, 515);
            stream_socket_enable_crypto($this->_smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
        }
        //AUTH LOGIN
        fputs($this->_smtp_conn, 'AUTH LOGIN' . $this->_crlf);
        $response = fgets($this->_smtp_conn, 515);
        //Send username
        fputs($this->_smtp_conn, base64_encode($this->smtp_user) . $this->_crlf);
        $response = fgets($this->_smtp_conn, 515);
        //Send password
        fputs($this->_smtp_conn, base64_encode($this->smtp_pass) . $this->_crlf);
        $response = fgets($this->_smtp_conn, 515);
        $this->_logged_in = true;
        return true;
    }
    /**
     * @access private
     */
    private function _smtp_close() {
        $this->_logged_in = false;
        if(empty($this->_smtp_conn)) {
            return false;
        }
        fputs($this->_smtp_conn, 'QUIT' . $this->_crlf);
        $response = @fgets($this->_smtp_conn, 515);
        return true;
    }
    private function _extract_names($data) {
        $senders = array();
        $data = stripslashes(preg_replace("'(\t|\r|\n)'", '', $data));
        if(trim($data) == '') return $senders;
        $armail = array();
        $counter = 0;  $inthechar = 0;
        $chartosplit = ',;'; $protectchar = '"'; $temp = '';
        $closed = 1;
        for($i = 0; $i < strlen($data); $i++) {
            $thischar = $data[$i];
            if($thischar == '<' && $closed) $closed = 0;
            if($thischar == '>' && !$closed) $closed = 1;
            if($thischar == $protectchar) $inthechar = ($inthechar) ? 0 : 1;
            if((strpos($chartosplit, $thischar) !== false) && !$inthechar && $closed) {
                $armail[] = $temp;
                $temp = '';
            } else {
                $temp .= $thischar;
            }
        }
        if(trim($temp) != '') {
            $armail[] = trim($temp);
            unset($temp);
        }
        foreach($armail as $thisPart) {
            $thisPart = trim(preg_replace('/^"(.*)"$/i', '$1', trim($thisPart)));
            if($thisPart != '') {
                $email = '';
                $name = '';
                if(preg_match('/(.*)<(.*)>/i', $thisPart, $matches)) {
                    $email = trim($matches[2]);
                    $name = trim($matches[1]);
                } else {
                    if(preg_match('/([-a-z0-9_$+.]+@[-a-z0-9_.]+[-a-z0-9_]+)((.*))/i', $thisPart, $matches)) {
                        $email = $matches[1];
                        $name = $matches[2];
                    } else {
                        $email = $thisPart;
                    }
                }
                $email = preg_replace('/<(.*)\\>/', '$1', $email);
                $name = preg_replace('/"(.*)"/', '$1', trim($name));
                $name = preg_replace('/\((.*)\)/', '$1', $name);
                if($name == '') $name = $email;
                if($email == '') $email = $name;
                $senders[] = array(
                    'name' => $name,
                    'mail' => $email
                );
                unset($name);
                unset($email);
            }
        }
        unset($armail);
        unset($thisPart);
        return $senders;
    }
    /**
     * Send the mail to one or more recipients
     *
     * The recipients can be either a string (1 recipient email without name) or an associative array of recipients with names as keys and email addresses as values.
     *
     * @access public
     * @param mixed $recipients one email address or array of recipients with names as keys and email addresses as values
     */
    public function send($recipients) {
        if(!is_array($recipients)) $recipients = array($recipients);
        if($this->use_smtp == true) $this->_crlf = "\r\n";
        else $this->_crlf = "\n";
        $this->create();
        if($this->sign_email == true) $this->sign();
        $subject = '';
        if (!empty($this->headers['Subject'])) {
            //$subject = $this->_encodeHeader($this->headers['Subject'], $this->mail_charset);
            $subject = $this->headers['Subject'];
            //$enc_subject = $this->_encodeHeader($subject, $this->mail_charset);
            $enc_subject = $this->_encodeSubject($subject, $this->mail_charset);
            unset($this->headers['Subject']);
        }
        if($this->notification == true) $this->setHeader('Disposition-Notification-To', $this->getHeader('From'));
        unset($this->headers['To']); // always reset the To header to prevent from sending to multiple users at once
        $this->headers['Date'] = date('r'); //date('D, d M Y H:i:s O');
        // Get flat representation of headers
        foreach ($this->headers as $name => $value) {
            if(strtolower($name) == 'to' || strtolower($name) == 'cc' || strtolower($name) == 'bcc') continue; // never add the To header
            $headers[] = $name . ': ' . $this->_encodeHeader($value, $this->mail_charset);
        }
        if($this->use_smtp == true) {
            if(!$this->_logged_in || !$this->_smtp_conn) {
                $result = $this->_smtp_login();
                if(!$result) return false;
            }
            $bcc_cc_sent = false;
            foreach($recipients as $recipname => $recip) {
                if($this->_sent_mails >= $this->smtp_max_mails) {
                    // close connection to smtp and reconnect
                    $this->_sent_mails = 0;
                    $this->_smtp_close();
                    $result = $this->_smtp_login();
                    if(!$result) return false;
                }
                $this->_sent_mails += 1;
                $recipname = trim(str_replace('"', '', $recipname));
                $recip = $this->_encodeHeader($recip, $this->mail_charset);
                $recipname = $this->_encodeHeader($recipname, $this->mail_charset);
                //Email From
                fputs($this->_smtp_conn, 'MAIL FROM: <' . $this->_mail_sender . '>' . $this->_crlf);
                $response = fgets($this->_smtp_conn, 515);
                //Email To
                fputs($this->_smtp_conn, 'RCPT TO: <' . $recip . '>' . $this->_crlf);
                $response = fgets($this->_smtp_conn, 515);
                if($bcc_cc_sent == false) {
                    $add_recips = array();
                    if($this->getHeader('Cc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Cc')));
                    if($this->getHeader('Bcc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Bcc')));
                    foreach($add_recips as $add_recip) {
                        if(!$add_recip['mail']) continue;
                        fputs($this->_smtp_conn, 'RCPT TO: <' . $this->_encodeHeader($add_recip['mail'], $this->mail_charset) . '>' . $this->_crlf);
                        $response = fgets($this->_smtp_conn, 515);
                    }
                    unset($add_recips);
                    $bcc_cc_sent = true;
                }
                //The Email
                fputs($this->_smtp_conn, 'DATA' . $this->_crlf);
                $response = fgets($this->_smtp_conn, 515);
                //Construct Headers
                if($recipname && !is_numeric($recipname)) $this->setHeader('To', $recipname . ' <' . $recip . '>');
                else $this->setHeader('To', $recip);
                $mail_content = 'Subject: ' . $enc_subject . $this->_crlf;
                $mail_content .= 'To: ' . $this->getHeader('To') . $this->_crlf;
                if($this->getHeader('Cc') != '') $mail_content .= 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset) . $this->_crlf;
                $mail_content .= implode($this->_crlf, $headers) . $this->_crlf . ($this->_is_signed == false ? $this->_crlf : '') . $this->body;
                fputs($this->_smtp_conn, $mail_content . $this->_crlf . '.' . $this->_crlf);
                $response = fgets($this->_smtp_conn, 515);
                // hopefully message was correctly sent now
                $result = true;
            }
        } else {
            if($this->getHeader('Bcc') != '') $headers[] = 'Bcc: ' . $this->_encodeHeader($this->getHeader('Bcc'), $this->mail_charset);
            if($this->getHeader('Cc') != '') $headers[] = 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset);
            $rec_string = '';
            foreach($recipients as $recipname => $recip) {
                $recipname = trim(str_replace('"', '', $recipname));
                if($rec_string != '') $rec_string .= ', ';
                if($recipname && !is_numeric($recipname)) $rec_string .= $recipname . '<' . $recip . '>';
                else $rec_string .= $recip;
            }
            $to = $this->_encodeHeader($rec_string, $this->mail_charset);
            //$result = mail($to, $subject, $this->body, implode($this->_crlf, $headers));
            $result = mail($to, $enc_subject, $this->body, implode($this->_crlf, $headers));
        }
        // Reset the subject in case mail is resent
        if ($subject !== '') {
            $this->headers['Subject'] = $subject;
        }
        // Return
        return $result;
    }
    /**
     * Close mail connections
     *
     * This closes an open smtp connection so you should always call this function in your script if you have finished sending all emails
     *
     * @access public
     */
    public function finish() {
        if($this->use_smtp == true) $this->_smtp_close();
        $rand = md5(microtime());
        $this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
        $this->headers = array();
        $this->attachments = array();
        $this->text_part = '';
        $this->html_part = '';
        $this->headers['MIME-Version'] = '1.0';
        $this->headers['User-Agent'] = $this->user_agent;
        $this->smtp_helo = '';
        $this->smtp_host = '';
        $this->smtp_port = '';
        $this->smtp_user = '';
        $this->smtp_pass = '';
        $this->use_smtp = false;
        $this->smtp_crypt = false;
        $this->mail_charset = 'UTF-8';
        $this->_sent_mails = 0;
        return;
    }
}
?>
server/lib/classes/monitor_tools.inc.php
@@ -62,6 +62,15 @@
                $mainver = array_filter($mainver);
                $mainver = current($mainver).'.'.next($mainver);
                switch ($mainver){
                case "14.04":
                    $relname = "(Trusty Tahr)";
                    break;
                case "13.10":
                    $relname = "(Saucy Salamander)";
                    break;
                case "13.04":
                    $relname = "(Raring Ringtail)";
                    break;
                case "12.10":
                    $relname = "(Quantal Quetzal)";
                    break;
@@ -201,6 +210,18 @@
                $distver = '5.3';
                $distid = 'centos53';
                $distbaseid = 'fedora';
            } elseif(stristr($content, 'CentOS Linux release 6')) {
                $distname = 'CentOS';
                $distver = 'Unknown';
                $distid = 'centos53';
                $distbaseid = 'fedora';
                swriteln("Operating System: CentOS 6 or compatible\n");
            } elseif(stristr($content, 'CentOS Linux release 7')) {
                $distname = 'CentOS';
                $distver = 'Unknown';
                $distid = 'centos53';
                $distbaseid = 'fedora';
                swriteln("Operating System: CentOS 7 or compatible\n");
            } else {
                $distname = 'Redhat';
                $distver = 'Unknown';
server/lib/classes/system.inc.php
@@ -34,7 +34,9 @@
    var $server_id;
    var $server_conf;
    var $data;
    var $min_uid = 500;
    var $min_gid = 500;
    /**
     * Construct for this class
     *
@@ -1785,6 +1787,67 @@
        
        return $modules;
    }
    //* ISPConfig mail function
    public function mail($to, $subject, $text, $from, $filepath = '', $filetype = 'application/pdf', $filename = '', $cc = '', $bcc = '', $from_name = '') {
        global $app, $conf;
        if($conf['demo_mode'] == true) $app->error("Mail sending disabled in demo mode.");
        $app->uses('getconf,ispcmail');
        $mail_config = $app->getconf->get_global_config('mail');
        if($mail_config['smtp_enabled'] == 'y') {
            $mail_config['use_smtp'] = true;
            $app->ispcmail->setOptions($mail_config);
        }
        $app->ispcmail->setSender($from, $from_name);
        $app->ispcmail->setSubject($subject);
        $app->ispcmail->setMailText($text);
        if($filepath != '') {
            if(!file_exists($filepath)) $app->error("Mail attachement does not exist ".$filepath);
            $app->ispcmail->readAttachFile($filepath);
        }
        if($cc != '') $app->ispcmail->setHeader('Cc', $cc);
        if($bcc != '') $app->ispcmail->setHeader('Bcc', $bcc);
        $app->ispcmail->send($to);
        $app->ispcmail->finish();
        return true;
    }
    public function is_allowed_user($username, $check_id = true, $restrict_names = false) {
        global $app;
        $name_blacklist = array('root','ispconfig','vmail','getmail');
        if(in_array($username,$name_blacklist)) return false;
        if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
        if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
        if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
        return true;
    }
    public function is_allowed_group($groupname, $check_id = true, $restrict_names = false) {
        global $app;
        $name_blacklist = array('root','ispconfig','vmail','getmail');
        if(in_array($groupname,$name_blacklist)) return false;
        if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
        if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;
        if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
        return true;
    }
}
?>
server/plugins-available/apache2_plugin.inc.php
@@ -344,8 +344,9 @@
            if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
            return 0;
        }
        if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
            $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
        if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
            || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
            $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
            return 0;
        }
        if(trim($data['new']['domain']) == '') {
@@ -461,6 +462,9 @@
                    $app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
                    $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
                }
                //* Unmount the old log directory bfore we move the log dir
                exec('umount '.escapeshellcmd($old_dir.'/log'));
                //* Create new base directory, if it does not exist yet
                if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -492,6 +496,8 @@
            $app->system->removeLine('/etc/fstab', $fstab_line);
            $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
            $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
            exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
        }
@@ -710,7 +716,7 @@
                $app->system->chmod($data['new']['document_root'].'/ssl', 0755);
                // make tmp directory writable for Apache and the website users
                $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
                $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
                // Set Log directory to 755 to make the logs accessible by the FTP user
                if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -770,7 +776,7 @@
                $app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
                // make temp directory writable for Apache and the website users
                $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
                $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
                // Set Log directory to 755 to make the logs accessible by the FTP user
                if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -1205,18 +1211,15 @@
        } else {
            //remove the php fastgi starter script if available
            $fastcgi_starter_script = $fastcgi_config['fastcgi_starter_script'].($data['old']['type'] == 'vhostsubdomain' ? '_web' . $data['old']['domain_id'] : '');
            if ($data['old']['php'] == 'fast-cgi') {
                $fastcgi_starter_path = str_replace('[system_user]', $data['old']['system_user'], $fastcgi_config['fastcgi_starter_path']);
                $fastcgi_starter_path = str_replace('[client_id]', $client_id, $fastcgi_starter_path);
                if($data['old']['type'] == 'vhost') {
                    if (is_dir($fastcgi_starter_path)) {
                        exec('rm -rf '.$fastcgi_starter_path);
                    }
                    if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
                    if (is_dir($fastcgi_starter_path)) @rmdir($fastcgi_starter_path);
                } else {
                    $fcgi_starter_script = $fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].'_web' . $data['old']['domain_id'];
                    if (file_exists($fcgi_starter_script)) {
                        exec('rm -f '.$fcgi_starter_script);
                    }
                    if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
                }
            }
        }
@@ -2009,7 +2012,7 @@
        //* Create empty .htpasswd file, if it does not exist
        if(!is_file($folder_path.'.htpasswd')) {
            $app->system->touch($folder_path.'.htpasswd');
            $app->system->chmod($folder_path.'.htpasswd', 0750);
            $app->system->chmod($folder_path.'.htpasswd', 0751);
            $app->system->chown($folder_path.'.htpasswd', $website['system_user']);
            $app->system->chgrp($folder_path.'.htpasswd', $website['system_group']);
            $app->log('Created file '.$folder_path.'.htpasswd', LOGLEVEL_DEBUG);
@@ -2063,7 +2066,7 @@
        unset($old_content);
        $app->system->file_put_contents($folder_path.'.htaccess', $ht_file);
        $app->system->chmod($folder_path.'.htaccess', 0750);
        $app->system->chmod($folder_path.'.htaccess', 0751);
        $app->system->chown($folder_path.'.htaccess', $website['system_user']);
        $app->system->chgrp($folder_path.'.htaccess', $website['system_group']);
        $app->log('Created/modified file '.$folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2225,7 +2228,7 @@
            }
            $app->system->file_put_contents($new_folder_path.'.htaccess', $ht_file);
            $app->system->chmod($new_folder_path.'.htaccess', 0750);
            $app->system->chmod($new_folder_path.'.htaccess', 0751);
            $app->system->chown($new_folder_path.'.htaccess', $website['system_user']);
            $app->system->chgrp($new_folder_path.'.htaccess', $website['system_group']);
            $app->log('Created/modified file '.$new_folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2233,7 +2236,7 @@
            //* Create empty .htpasswd file, if it does not exist
            if(!is_file($folder_path.'.htpasswd')) {
                $app->system->touch($new_folder_path.'.htpasswd');
                $app->system->chmod($new_folder_path.'.htpasswd', 0750);
                $app->system->chmod($new_folder_path.'.htpasswd', 0751);
                $app->system->chown($new_folder_path.'.htpasswd', $website['system_user']);
                $app->system->chgrp($new_folder_path.'.htpasswd', $website['system_group']);
                $app->log('Created file '.$new_folder_path.'.htpasswd', LOGLEVEL_DEBUG);
@@ -2654,7 +2657,7 @@
        $fpm_socket = $socket_dir.$pool_name.'.sock';
        $tpl->setVar('fpm_socket', $fpm_socket);
        $tpl->setVar('fpm_listen_mode', '0600');
        $tpl->setVar('fpm_listen_mode', '0660');
        $tpl->setVar('fpm_pool', $pool_name);
        $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
server/plugins-available/backup_plugin.inc.php
@@ -75,10 +75,10 @@
            $backup_dir_is_ready = true;
            $server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
            if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
                if(!$app->system->is_mounted($backup_dir)){
                if(!$app->system->is_mounted($server_config['backup_dir'])){
                    exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
                    sleep(1);
                    if(!$app->system->is_mounted($backup_dir)) $backup_dir_is_ready = false;
                    if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
                }
            }
server/plugins-available/bind_dlz_plugin.inc.php
@@ -188,7 +188,7 @@
        //$_db = clone $app->db;
        //$_db->dbName = 'named';
        $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]}");
        $app->db->query( "DELETE FROM named.dns_records WHERE zone = '".substr($data['old']['origin'], 0, -1)."'");
        //unset($_db);
    }
@@ -252,6 +252,9 @@
        if ($type == 'MX') {
            $app->db->query("INSERT INTO named.records (zone, ttl, type, host, mx_priority, data, ispconfig_id)".
                " VALUES ('$origin', $ttl, '$type', '$name', {$data["new"]["aux"]}, '$content', $ispconfig_id)");
        } elseif ($type == 'SRV') {
            $app->db->query("INSERT INTO named.records (zone, ttl, type, data, ispconfig_id)".
                " VALUES ('$origin', $ttl, '$type', '{$data["new"]["aux"]} $content', $ispconfig_id)");
        } else {
            $app->db->query("INSERT INTO named.records (zone, ttl, type, host, data, ispconfig_id)".
                " VALUES ('$origin', $ttl, '$type', '$name', '$content', $ispconfig_id)");
@@ -327,6 +330,9 @@
                if ($type == 'MX') {
                    $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', mx_priority = $prio, ".
                        "data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
                } elseif ($type == 'SRV') {
                    $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', ".
                        "data = '$prio $content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
                } else {
                    $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', ".
                        "data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
@@ -345,7 +351,7 @@
        //$_db = clone $app->db;
        //$_db->dbName = 'named';
        $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]} AND type != 'SOA'");
        $app->db->query( "DELETE FROM named.dns_records WHERE type != 'SOA' AND zone = '".substr($data['old']['origin'], 0, -1)."'");
        //unset($_db);
    }
server/plugins-available/cron_jailkit_plugin.inc.php
@@ -80,10 +80,14 @@
        if(!$parent_domain["domain_id"]) {
            $app->log("Parent domain not found", LOGLEVEL_WARN);
            return 0;
        } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
            $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
            return 0;
        }
        if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
            || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
            $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
            return false;
        }
        $this->parent_domain = $parent_domain;
@@ -155,9 +159,11 @@
        if(!$parent_domain["domain_id"]) {
            $app->log("Parent domain not found", LOGLEVEL_WARN);
            return 0;
        } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
        }
        if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
            || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
            $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
            return 0;
            return false;
        }
        $app->uses('system');
server/plugins-available/cron_plugin.inc.php
@@ -96,11 +96,14 @@
        if(!$parent_domain["domain_id"]) {
            $app->log("Parent domain not found", LOGLEVEL_WARN);
            return 0;
        } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
            $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
            return 0;
        }
        if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
            || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
            $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
            return false;
        }
        // Get the client ID
        $client = $app->dbmaster->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"]));
        $client_id = intval($client["client_id"]);
server/plugins-available/firewall_plugin.inc.php
@@ -76,29 +76,31 @@
        global $app, $conf;
        //* load the server configuration options
        $app->uses('getconf');
        $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
        if($server_config['firewall'] == 'ufw') {
            $this->ufw_update($event_name, $data);
        } else {
            $this->bastille_update($event_name, $data);
        if(!$data['mirrored']) {
            $app->uses('getconf');
            $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
            if($server_config['firewall'] == 'ufw') {
                $this->ufw_update($event_name, $data);
            } else {
                $this->bastille_update($event_name, $data);
            }
        }
    }
    public function delete($event_name, $data) {
        global $app, $conf;
        //* load the server configuration options
        $app->uses('getconf');
        $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
        if(!$data['mirrored']) {
            $app->uses('getconf');
            $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
        if($server_config['firewall'] == 'ufw') {
            $this->ufw_delete($event_name, $data);
        } else {
            $this->bastille_delete($event_name, $data);
            if($server_config['firewall'] == 'ufw') {
                $this->ufw_delete($event_name, $data);
            } else {
                $this->bastille_delete($event_name, $data);
            }
        }
    }
    private function ufw_update($event_name, $data) {
server/plugins-available/mail_plugin.inc.php
@@ -107,10 +107,11 @@
            $maildomain_path .= '/Maildir';
        }
        //* When the mail user dir exists but it is not a valid maildir, remove it
        //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
        if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
            exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
            $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
            if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
            exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
            $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
        }
        //* Create the maildir, if it doesn not exist, set permissions, set quota.
@@ -238,10 +239,11 @@
            $maildomain_path .= '/Maildir';
        }
        //* When the mail user dir exists but it is not a valid maildir, remove it
        //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
        if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
            exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
            $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
            if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
            exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
            $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
        }
        //* Create the maildir, if it doesn not exist, set permissions, set quota.
server/plugins-available/mysql_clientdb_plugin.inc.php
@@ -83,7 +83,14 @@
        if(!is_array($host_list)) $host_list = explode(',', $host_list);
        $success = true;
        if(!preg_match('/\*[A-F0-9]{40}$/', $database_password)) {
                $result = $link->query("SELECT PASSWORD('" . $link->escape_string($database_password) . "') as `crypted`");
                if($result) {
                        $row = $result->fetch_assoc();
                        $database_password = $row['crypted'];
                        $result->free();
                }
        }
        // loop through hostlist
        foreach($host_list as $db_host) {
            $db_host = trim($db_host);
@@ -270,7 +277,7 @@
            $old_host_list .= 'localhost';
            // Create the database user if database was disabled before
            if($data['new']['active'] == 'y' && $data['old']['active'] == 'n') {
            if($data['new']['active'] == 'y') {
                if($db_user) {
                    if($db_user['database_user'] == 'root') $app->log('User root not allowed for Client databases', LOGLEVEL_WARNING);
                    else $this->process_host_list('GRANT', $data['new']['database_name'], $db_user['database_user'], $db_user['database_password'], $host_list, $link);
server/plugins-available/network_settings_plugin.inc.php
@@ -243,12 +243,61 @@
        } else {
            if($data['mirrored'] == true) {
                $app->log('Skipping network config request. IP addresses from amster are not configured on the mirror.', LOGLEVEL_DEBUG);
                $app->log('Skipping network config request. IP addresses from master are not configured on the mirror.', LOGLEVEL_DEBUG);
            }
            if($server_config['auto_network_configuration'] == 'n') {
                $app->log('Network configuration disabled in server settings.', LOGLEVEL_DEBUG);
            }
        }
        //* Configure hostname
        if($event_name == 'server_update' && $data['mirrored'] == false) {
            //* get old server config
            $tmp = $app->ini_parser->parse_ini_string(stripslashes($data['old']['config']));
            $old_server_config = $tmp['server'];
            unset($tmp);
            $new_hostname = trim($server_config['hostname']);
            $old_hostname = trim($old_server_config['hostname']);
            if($new_hostname != '' && $old_hostname != $new_hostname) {
                if(is_file('/etc/hostname')) {
                    $app->system->file_put_contents('/etc/hostname',$new_hostname);
                    $app->log('Changed /etc/hostname to '.$new_hostname, LOGLEVEL_DEBUG);
                }
                if(is_file('/etc/mailname')) {
                    $app->system->file_put_contents('/etc/mailname',$new_hostname);
                    $app->log('Changed /etc/mailname to '.$new_hostname, LOGLEVEL_DEBUG);
                }
                $postconf_commands = array(
                    'myhostname = '.$new_hostname,
                    'mydestination = '.$new_hostname.', localhost, localhost.localdomain'
                );
                //* Executing the postconf commands
                foreach($postconf_commands as $cmd) {
                    $command = "postconf -e '$cmd'";
                    exec($command);
                }
                $app->log('Changed changed myhostname and mydestination in postfix main.cf to '.$new_hostname, LOGLEVEL_DEBUG);
                //* change /etc/hosts
                $hosts = file_get_contents('/etc/hosts');
                $hosts = str_replace($old_hostname,$new_hostname,$hosts);
                $app->system->file_put_contents('/etc/hosts',$hosts);
                exec($app->system->getinitcommand('postfix', 'restart').' 2>&1');
                exec($app->system->getinitcommand('networking', 'restart').' 2>&1');
            }
        }
    }
server/plugins-available/nginx_plugin.inc.php
@@ -351,10 +351,13 @@
            if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
            return 0;
        }
        if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
            $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
        if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
            || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
            $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
            return 0;
        }
        if(trim($data['new']['domain']) == '') {
            $app->log('domain is empty', LOGLEVEL_WARN);
            return 0;
@@ -465,6 +468,9 @@
                    $app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
                    $app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
                }
                //* Unmount the old log directory bfore we move the log dir
                exec('umount '.escapeshellcmd($old_dir.'/log'));
                //* Create new base directory, if it does not exist yet
                if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -496,6 +502,8 @@
            $app->system->removeLine('/etc/fstab', $fstab_line);
            $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.'    none    bind,nobootwait,_netdev    0 0';
            $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
            exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
        }
@@ -714,7 +722,7 @@
                $app->system->chmod($data['new']['document_root'].'/ssl', 0755);
                // make tmp directory writable for nginx and the website users
                $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
                $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
                // Set Log directory to 755 to make the logs accessible by the FTP user
                if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -774,7 +782,7 @@
                $app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
                // make temp directory writable for nginx and the website users
                $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
                $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
                // Set Log directory to 755 to make the logs accessible by the FTP user
                if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
server/plugins-available/shelluser_base_plugin.inc.php
@@ -82,6 +82,13 @@
            $app->log('Directory of the shell user is not valid.',LOGLEVEL_WARN);
            return false;
        }
        if(!$app->system->is_allowed_user($data['new']['username'], false, false)
            || !$app->system->is_allowed_user($data['new']['puser'], true, true)
            || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
            $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
            return false;
        }
        if($app->system->is_user($data['new']['puser'])) {
@@ -151,6 +158,13 @@
            return false;
        }
        if(!$app->system->is_allowed_user($data['new']['username'], false, false)
            || !$app->system->is_allowed_user($data['new']['puser'], true, true)
            || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
            $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
            return false;
        }
        if($app->system->is_user($data['new']['puser'])) {
            // Get the UID of the parent user
            $uid = intval($app->system->getuid($data['new']['puser']));
server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -74,6 +74,13 @@
        $app->uses('system');
        $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
        if(!$app->system->is_allowed_user($data['new']['username'], false, false)
            || !$app->system->is_allowed_user($data['new']['puser'], true, true)
            || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
            $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
            return false;
        }
        if($app->system->is_user($data['new']['puser'])) {
            // Get the UID of the parent user
            $uid = intval($app->system->getuid($data['new']['puser']));
@@ -139,6 +146,13 @@
        $app->uses('system');
        $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
        if(!$app->system->is_allowed_user($data['new']['username'], false, false)
            || !$app->system->is_allowed_user($data['new']['puser'], true, true)
            || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
            $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
            return false;
        }
        if($app->system->is_user($data['new']['puser'])) {
            // Get the UID of the parent user
            $uid = intval($app->system->getuid($data['new']['puser']));
server/scripts/ispconfig_update.php
@@ -86,9 +86,9 @@
                                             |___/ ";
echo "\n".str_repeat('-', 80)."\n";
echo "\n\n>> Update  \n\n";
echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\nNote: Update all slave server, before you update master server.\n\n";
echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n";
$method = simple_query('Select update method', array('stable', 'svn'), 'stable');
$method = simple_query('Select update method', array('stable', 'git'), 'stable');
if($method == 'stable') {
    $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');