From 992797f73c92b413a7fecff02c27c61b7db55b43 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Mon, 14 Oct 2013 15:54:49 +0200 Subject: [PATCH] Copied files from svn 3.0.5 stable branch (git migration) --- install/autoupdate.php | 2 +- install/dist/lib/fedora.lib.php | 2 + install/dist/lib/gentoo.lib.php | 1 + install/dist/lib/opensuse.lib.php | 2 + install/install.php | 37 +- install/lib/installer_base.lib.php | 8 +- install/lib/update.lib.php | 48 +- install/patches/upd_0001.php | 21 + install/sql/incremental/upd_0049.sql | 3 +- install/sql/incremental/upd_0052.sql | 6 +- install/sql/incremental/upd_0055.sql | 4 +- install/sql/incremental/upd_0057.sql | 7 + install/sql/incremental/upd_0058.sql | 3 + install/sql/ispconfig3.sql | 238 +- install/tpl/amavisd_user_config.master | 6 - install/tpl/config.inc.php.master | 2 + install/tpl/opensuse_amavisd_conf.master | 6 - install/tpl/server.ini.master | 32 +- install/tpl/system.ini.master | 1 - install/update.php | 14 +- interface/cache/empty.dir | 1 + interface/lib/classes/aps_base.inc.php | 204 +- interface/lib/classes/aps_crawler.inc.php | 1182 +++++----- .../lib/classes/aps_guicontroller.inc.php | 11 +- .../lib/classes/custom_datasource.inc.php | 3 + interface/lib/classes/idn/empty.dir | 1 + interface/lib/classes/listform.inc.php | 7 +- .../lib/classes/plugin_backuplist.inc.php | 7 +- interface/lib/classes/remoting_lib.inc.php | 2 +- interface/lib/classes/simplepie.inc.php | 4 +- interface/lib/classes/tform.inc.php | 1974 ++++++++--------- interface/lib/classes/tform_actions.inc.php | 11 +- interface/lib/classes/tools_monitor.inc.php | 34 - interface/lib/classes/validate_dkim.inc.php | 79 - interface/lib/lang/cz.lng | 9 +- interface/lib/lang/de.lng | 1 + interface/lib/lang/el.lng | 126 +- interface/lib/lang/en.lng | 3 + interface/lib/shelluser_blacklist | 3 +- interface/ssl/empty.dir | 1 + interface/tools/empty.dir | 1 + .../web/admin/form/server_config.tform.php | 122 +- .../web/admin/form/system_config.tform.php | 36 +- interface/web/admin/language_edit.php | 2 +- interface/web/admin/language_import.php | 94 +- .../web/admin/lib/lang/ar_language_import.lng | 1 + .../web/admin/lib/lang/ar_remote_action.lng | 2 +- .../admin/lib/lang/ar_software_package.lng | 8 +- .../web/admin/lib/lang/ar_system_config.lng | 7 + .../web/admin/lib/lang/bg_language_import.lng | 1 + .../web/admin/lib/lang/bg_remote_action.lng | 2 +- .../admin/lib/lang/bg_software_package.lng | 8 +- .../web/admin/lib/lang/bg_system_config.lng | 7 + .../web/admin/lib/lang/br_language_import.lng | 1 + .../web/admin/lib/lang/br_remote_action.lng | 2 +- .../admin/lib/lang/br_software_package.lng | 8 +- .../web/admin/lib/lang/br_system_config.lng | 7 + interface/web/admin/lib/lang/cz.lng | 1 + .../admin/lib/lang/cz_directive_snippets.lng | 1 + .../lib/lang/cz_directive_snippets_list.lng | 1 + interface/web/admin/lib/lang/cz_firewall.lng | 1 + .../web/admin/lib/lang/cz_firewall_list.lng | 1 + interface/web/admin/lib/lang/cz_groups.lng | 1 + .../web/admin/lib/lang/cz_groups_list.lng | 1 + interface/web/admin/lib/lang/cz_iptables.lng | 1 + .../web/admin/lib/lang/cz_iptables_list.lng | 1 + .../web/admin/lib/lang/cz_language_add.lng | 1 + .../admin/lib/lang/cz_language_complete.lng | 1 + .../web/admin/lib/lang/cz_language_edit.lng | 1 + .../web/admin/lib/lang/cz_language_export.lng | 1 + .../web/admin/lib/lang/cz_language_import.lng | 1 + .../web/admin/lib/lang/cz_language_list.lng | 1 + interface/web/admin/lib/lang/cz_login_as.lng | 1 + .../web/admin/lib/lang/cz_package_install.lng | 1 + .../web/admin/lib/lang/cz_remote_action.lng | 1 + .../web/admin/lib/lang/cz_remote_user.lng | 1 + .../admin/lib/lang/cz_remote_user_list.lng | 1 + interface/web/admin/lib/lang/cz_server.lng | 1 + .../web/admin/lib/lang/cz_server_config.lng | 9 +- .../admin/lib/lang/cz_server_config_list.lng | 1 + interface/web/admin/lib/lang/cz_server_ip.lng | 1 + .../web/admin/lib/lang/cz_server_ip_list.lng | 1 + .../web/admin/lib/lang/cz_server_list.lng | 1 + .../web/admin/lib/lang/cz_server_php.lng | 1 + .../web/admin/lib/lang/cz_server_php_list.lng | 1 + .../admin/lib/lang/cz_software_package.lng | 9 +- .../lib/lang/cz_software_package_install.lng | 1 + .../lib/lang/cz_software_package_list.lng | 5 +- .../web/admin/lib/lang/cz_software_repo.lng | 1 + .../admin/lib/lang/cz_software_repo_list.lng | 1 + .../lib/lang/cz_software_update_list.lng | 1 + .../web/admin/lib/lang/cz_system_config.lng | 1 + .../admin/lib/lang/cz_tpl_default_admin.lng | 1 + interface/web/admin/lib/lang/cz_users.lng | 1 + .../web/admin/lib/lang/cz_users_list.lng | 1 + interface/web/admin/lib/lang/de.lng | 1 + .../admin/lib/lang/de_directive_snippets.lng | 3 +- .../lib/lang/de_directive_snippets_list.lng | 1 + interface/web/admin/lib/lang/de_firewall.lng | 1 + .../web/admin/lib/lang/de_firewall_list.lng | 1 + interface/web/admin/lib/lang/de_groups.lng | 1 + .../web/admin/lib/lang/de_groups_list.lng | 1 + interface/web/admin/lib/lang/de_iptables.lng | 3 +- .../web/admin/lib/lang/de_iptables_list.lng | 1 + .../web/admin/lib/lang/de_language_add.lng | 3 +- .../admin/lib/lang/de_language_complete.lng | 3 +- .../web/admin/lib/lang/de_language_edit.lng | 3 +- .../web/admin/lib/lang/de_language_export.lng | 3 +- .../web/admin/lib/lang/de_language_import.lng | 3 +- .../web/admin/lib/lang/de_language_list.lng | 1 + interface/web/admin/lib/lang/de_login_as.lng | 1 + .../web/admin/lib/lang/de_package_install.lng | 1 + .../web/admin/lib/lang/de_remote_action.lng | 1 + .../web/admin/lib/lang/de_remote_user.lng | 29 +- .../admin/lib/lang/de_remote_user_list.lng | 1 + interface/web/admin/lib/lang/de_server.lng | 1 + .../web/admin/lib/lang/de_server_config.lng | 30 +- .../admin/lib/lang/de_server_config_list.lng | 1 + interface/web/admin/lib/lang/de_server_ip.lng | 7 +- .../web/admin/lib/lang/de_server_ip_list.lng | 1 + .../web/admin/lib/lang/de_server_list.lng | 1 + .../web/admin/lib/lang/de_server_php.lng | 1 + .../web/admin/lib/lang/de_server_php_list.lng | 1 + .../admin/lib/lang/de_software_package.lng | 9 +- .../lib/lang/de_software_package_install.lng | 3 +- .../lib/lang/de_software_package_list.lng | 9 +- .../web/admin/lib/lang/de_software_repo.lng | 5 +- .../admin/lib/lang/de_software_repo_list.lng | 5 +- .../lib/lang/de_software_update_list.lng | 1 + .../web/admin/lib/lang/de_system_config.lng | 12 +- .../admin/lib/lang/de_tpl_default_admin.lng | 1 + interface/web/admin/lib/lang/de_users.lng | 1 + .../web/admin/lib/lang/de_users_list.lng | 1 + interface/web/admin/lib/lang/el.lng | 12 +- .../admin/lib/lang/el_directive_snippets.lng | 10 +- .../lib/lang/el_directive_snippets_list.lng | 8 +- interface/web/admin/lib/lang/el_firewall.lng | 2 +- .../web/admin/lib/lang/el_language_import.lng | 1 + interface/web/admin/lib/lang/el_login_as.lng | 18 +- .../web/admin/lib/lang/el_remote_action.lng | 4 +- .../web/admin/lib/lang/el_remote_user.lng | 10 +- .../web/admin/lib/lang/el_server_config.lng | 72 +- interface/web/admin/lib/lang/el_server_ip.lng | 2 +- .../web/admin/lib/lang/el_server_php.lng | 22 +- .../web/admin/lib/lang/el_server_php_list.lng | 8 +- .../admin/lib/lang/el_software_package.lng | 10 +- .../lib/lang/el_software_package_list.lng | 4 +- .../lib/lang/el_software_update_list.lng | 2 +- .../web/admin/lib/lang/el_system_config.lng | 63 +- .../admin/lib/lang/el_tpl_default_admin.lng | 26 +- interface/web/admin/lib/lang/el_users.lng | 12 +- .../web/admin/lib/lang/el_users_list.lng | 2 +- .../web/admin/lib/lang/en_language_import.lng | 1 + .../web/admin/lib/lang/en_server_config.lng | 9 +- .../web/admin/lib/lang/en_system_config.lng | 3 - .../web/admin/lib/lang/es_language_import.lng | 1 + .../admin/lib/lang/es_software_package.lng | 8 +- .../web/admin/lib/lang/es_system_config.lng | 7 + .../web/admin/lib/lang/fi_language_import.lng | 1 + .../web/admin/lib/lang/fi_remote_action.lng | 2 +- .../admin/lib/lang/fi_software_package.lng | 8 +- .../web/admin/lib/lang/fi_system_config.lng | 7 + .../web/admin/lib/lang/fr_language_import.lng | 1 + .../web/admin/lib/lang/fr_remote_action.lng | 2 +- .../admin/lib/lang/fr_software_package.lng | 8 +- .../web/admin/lib/lang/fr_system_config.lng | 7 + .../web/admin/lib/lang/hr_language_import.lng | 1 + .../admin/lib/lang/hr_software_package.lng | 8 +- .../web/admin/lib/lang/hr_system_config.lng | 7 + .../web/admin/lib/lang/hu_language_import.lng | 1 + .../web/admin/lib/lang/hu_remote_action.lng | 2 +- .../admin/lib/lang/hu_software_package.lng | 8 +- .../web/admin/lib/lang/hu_system_config.lng | 7 + .../web/admin/lib/lang/id_language_import.lng | 1 + .../web/admin/lib/lang/id_remote_action.lng | 2 +- .../admin/lib/lang/id_software_package.lng | 8 +- .../web/admin/lib/lang/id_system_config.lng | 7 + .../web/admin/lib/lang/it_language_import.lng | 1 + .../web/admin/lib/lang/it_remote_action.lng | 2 +- .../admin/lib/lang/it_software_package.lng | 8 +- .../web/admin/lib/lang/it_system_config.lng | 7 + .../web/admin/lib/lang/ja_language_import.lng | 1 + .../web/admin/lib/lang/ja_remote_action.lng | 2 +- .../admin/lib/lang/ja_software_package.lng | 8 +- .../web/admin/lib/lang/ja_system_config.lng | 7 + .../web/admin/lib/lang/nl_language_import.lng | 1 + .../web/admin/lib/lang/nl_remote_action.lng | 2 +- .../admin/lib/lang/nl_software_package.lng | 8 +- .../web/admin/lib/lang/nl_system_config.lng | 10 +- .../web/admin/lib/lang/pl_language_import.lng | 1 + .../web/admin/lib/lang/pl_remote_action.lng | 2 +- .../admin/lib/lang/pl_software_package.lng | 8 +- .../web/admin/lib/lang/pl_system_config.lng | 7 + .../web/admin/lib/lang/pt_language_import.lng | 1 + .../web/admin/lib/lang/pt_remote_action.lng | 2 +- .../admin/lib/lang/pt_software_package.lng | 8 +- .../web/admin/lib/lang/pt_system_config.lng | 7 + .../web/admin/lib/lang/ro_language_import.lng | 1 + .../web/admin/lib/lang/ro_remote_action.lng | 2 +- .../admin/lib/lang/ro_software_package.lng | 8 +- .../web/admin/lib/lang/ro_system_config.lng | 7 + .../web/admin/lib/lang/ru_language_import.lng | 1 + .../web/admin/lib/lang/ru_remote_action.lng | 2 +- .../admin/lib/lang/ru_software_package.lng | 8 +- .../web/admin/lib/lang/ru_system_config.lng | 7 + .../web/admin/lib/lang/se_language_import.lng | 1 + .../web/admin/lib/lang/se_remote_action.lng | 2 +- .../admin/lib/lang/se_software_package.lng | 8 +- .../web/admin/lib/lang/se_system_config.lng | 7 + .../web/admin/lib/lang/sk_language_import.lng | 1 + .../web/admin/lib/lang/sk_remote_action.lng | 2 +- .../admin/lib/lang/sk_software_package.lng | 8 +- .../web/admin/lib/lang/sk_system_config.lng | 7 + .../web/admin/lib/lang/tr_language_import.lng | 1 + .../web/admin/lib/lang/tr_remote_action.lng | 2 +- .../admin/lib/lang/tr_software_package.lng | 8 +- .../web/admin/lib/lang/tr_system_config.lng | 7 + .../web/admin/lib/menu.d/tpl_default.menu.php | 30 +- .../web/admin/templates/iptables_edit.htm | 132 +- .../web/admin/templates/iptables_list.htm | 146 +- .../web/admin/templates/language_import.htm | 2 +- .../templates/server_config_mail_edit.htm | 6 +- .../templates/server_config_rescue_edit.htm | 16 +- .../templates/server_config_server_edit.htm | 29 +- .../templates/server_config_web_edit.htm | 36 +- .../system_config_branding_edit.html | 42 +- .../templates/system_config_mail_edit.htm | 20 +- .../templates/system_config_sites_edit.htm | 10 +- interface/web/client/client_message.php | 21 +- interface/web/client/lib/lang/ar_client.lng | 5 + interface/web/client/lib/lang/ar_reseller.lng | 5 + interface/web/client/lib/lang/bg_client.lng | 5 + interface/web/client/lib/lang/bg_reseller.lng | 5 + interface/web/client/lib/lang/br_client.lng | 5 + interface/web/client/lib/lang/br_reseller.lng | 5 + interface/web/client/lib/lang/cz.lng | 1 + interface/web/client/lib/lang/cz_client.lng | 41 +- .../web/client/lib/lang/cz_client_circle.lng | 1 + .../client/lib/lang/cz_client_circle_list.lng | 1 + .../web/client/lib/lang/cz_client_del.lng | 3 +- .../web/client/lib/lang/cz_client_message.lng | 1 + .../client/lib/lang/cz_client_template.lng | 43 +- .../lib/lang/cz_client_template_list.lng | 3 +- .../web/client/lib/lang/cz_clients_list.lng | 1 + interface/web/client/lib/lang/cz_domain.lng | 7 +- .../web/client/lib/lang/cz_domain_list.lng | 1 + interface/web/client/lib/lang/cz_reseller.lng | 43 +- .../web/client/lib/lang/cz_resellers_list.lng | 1 + interface/web/client/lib/lang/de.lng | 3 +- interface/web/client/lib/lang/de_client.lng | 86 +- .../web/client/lib/lang/de_client_circle.lng | 1 + .../client/lib/lang/de_client_circle_list.lng | 1 + .../web/client/lib/lang/de_client_del.lng | 1 + .../web/client/lib/lang/de_client_message.lng | 1 + .../client/lib/lang/de_client_template.lng | 1 + .../lib/lang/de_client_template_list.lng | 1 + .../web/client/lib/lang/de_clients_list.lng | 1 + interface/web/client/lib/lang/de_domain.lng | 1 + .../web/client/lib/lang/de_domain_list.lng | 1 + interface/web/client/lib/lang/de_reseller.lng | 6 +- .../web/client/lib/lang/de_resellers_list.lng | 1 + interface/web/client/lib/lang/el.lng | 20 +- interface/web/client/lib/lang/el_client.lng | 81 +- .../web/client/lib/lang/el_client_circle.lng | 14 +- .../client/lib/lang/el_client_circle_list.lng | 16 +- .../web/client/lib/lang/el_client_message.lng | 32 +- .../client/lib/lang/el_client_template.lng | 38 +- .../web/client/lib/lang/el_clients_list.lng | 4 +- .../web/client/lib/lang/el_domain_list.lng | 2 +- interface/web/client/lib/lang/el_reseller.lng | 65 +- .../web/client/lib/lang/el_resellers_list.lng | 4 +- .../web/client/lib/lang/en_client_message.lng | 2 + interface/web/client/lib/lang/es_client.lng | 5 + interface/web/client/lib/lang/es_reseller.lng | 5 + interface/web/client/lib/lang/fi_client.lng | 5 + interface/web/client/lib/lang/fi_reseller.lng | 5 + interface/web/client/lib/lang/fr_client.lng | 5 + interface/web/client/lib/lang/fr_reseller.lng | 5 + interface/web/client/lib/lang/hr_client.lng | 5 + interface/web/client/lib/lang/hr_reseller.lng | 5 + interface/web/client/lib/lang/hu_client.lng | 5 + interface/web/client/lib/lang/hu_reseller.lng | 5 + interface/web/client/lib/lang/id_client.lng | 5 + interface/web/client/lib/lang/id_reseller.lng | 5 + interface/web/client/lib/lang/it_client.lng | 5 + interface/web/client/lib/lang/it_reseller.lng | 5 + interface/web/client/lib/lang/ja_client.lng | 5 + interface/web/client/lib/lang/ja_reseller.lng | 5 + interface/web/client/lib/lang/nl_client.lng | 5 + interface/web/client/lib/lang/nl_reseller.lng | 5 + interface/web/client/lib/lang/pl_client.lng | 5 + interface/web/client/lib/lang/pl_reseller.lng | 5 + interface/web/client/lib/lang/pt_client.lng | 5 + interface/web/client/lib/lang/pt_reseller.lng | 5 + interface/web/client/lib/lang/ro_client.lng | 5 + interface/web/client/lib/lang/ro_reseller.lng | 5 + interface/web/client/lib/lang/ru_client.lng | 5 + interface/web/client/lib/lang/ru_reseller.lng | 5 + interface/web/client/lib/lang/se_client.lng | 5 + interface/web/client/lib/lang/se_reseller.lng | 5 + interface/web/client/lib/lang/sk_client.lng | 5 + interface/web/client/lib/lang/sk_reseller.lng | 5 + interface/web/client/lib/lang/tr_client.lng | 5 + interface/web/client/lib/lang/tr_reseller.lng | 5 + interface/web/dashboard/form/empty.dir | 1 + .../lib/lang/ar_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/ar_dashlet_quota.lng | 14 +- .../lib/lang/bg_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/bg_dashlet_quota.lng | 14 +- .../lib/lang/br_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/br_dashlet_quota.lng | 14 +- interface/web/dashboard/lib/lang/cz.lng | 1 + .../dashboard/lib/lang/cz_dashlet_limits.lng | 1 + .../lib/lang/cz_dashlet_mailquota.lng | 15 +- .../dashboard/lib/lang/cz_dashlet_modules.lng | 1 + .../dashboard/lib/lang/cz_dashlet_quota.lng | 15 +- interface/web/dashboard/lib/lang/de.lng | 1 + .../dashboard/lib/lang/de_dashlet_limits.lng | 3 +- .../lib/lang/de_dashlet_mailquota.lng | 7 +- .../dashboard/lib/lang/de_dashlet_modules.lng | 1 + .../dashboard/lib/lang/de_dashlet_quota.lng | 5 +- .../dashboard/lib/lang/el_dashlet_limits.lng | 6 +- .../lib/lang/el_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/el_dashlet_quota.lng | 14 +- .../lib/lang/es_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/es_dashlet_quota.lng | 14 +- .../lib/lang/fi_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/fi_dashlet_quota.lng | 14 +- .../lib/lang/fr_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/fr_dashlet_quota.lng | 14 +- .../lib/lang/hr_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/hr_dashlet_quota.lng | 14 +- .../lib/lang/hu_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/hu_dashlet_quota.lng | 14 +- .../lib/lang/id_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/id_dashlet_quota.lng | 14 +- .../lib/lang/it_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/it_dashlet_quota.lng | 14 +- .../lib/lang/ja_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/ja_dashlet_quota.lng | 14 +- .../lib/lang/nl_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/nl_dashlet_quota.lng | 14 +- .../lib/lang/pl_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/pl_dashlet_quota.lng | 14 +- .../lib/lang/pt_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/pt_dashlet_quota.lng | 14 +- .../lib/lang/ro_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/ro_dashlet_quota.lng | 14 +- .../lib/lang/ru_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/ru_dashlet_quota.lng | 14 +- .../lib/lang/se_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/se_dashlet_quota.lng | 14 +- .../lib/lang/sk_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/sk_dashlet_quota.lng | 14 +- .../lib/lang/tr_dashlet_mailquota.lng | 14 +- .../dashboard/lib/lang/tr_dashlet_quota.lng | 14 +- interface/web/dashboard/list/empty.dir | 1 + interface/web/designer/form/empty.dir | 1 + interface/web/designer/lib/lang/cz.lng | 1 + .../web/designer/lib/lang/cz_form_edit.lng | 1 + .../web/designer/lib/lang/cz_form_list.lng | 1 + .../web/designer/lib/lang/cz_form_show.lng | 3 +- .../web/designer/lib/lang/cz_module_edit.lng | 12 +- .../web/designer/lib/lang/cz_module_list.lng | 1 + .../designer/lib/lang/cz_module_nav_edit.lng | 1 + .../lib/lang/cz_module_nav_item_edit.lng | 1 + .../web/designer/lib/lang/cz_module_show.lng | 3 +- interface/web/designer/lib/lang/de.lng | 1 + .../web/designer/lib/lang/de_form_edit.lng | 1 + .../web/designer/lib/lang/de_form_list.lng | 1 + .../web/designer/lib/lang/de_form_show.lng | 1 + .../web/designer/lib/lang/de_module_edit.lng | 1 + .../web/designer/lib/lang/de_module_list.lng | 1 + .../designer/lib/lang/de_module_nav_edit.lng | 1 + .../lib/lang/de_module_nav_item_edit.lng | 1 + .../web/designer/lib/lang/de_module_show.lng | 1 + .../web/designer/lib/lang/el_form_edit.lng | 10 +- interface/web/designer/list/empty.dir | 1 + interface/web/dns/dns_dkim_edit.php | 142 -- interface/web/dns/dns_dkim_get.php | 91 - interface/web/dns/dns_wizard.php | 47 +- interface/web/dns/form/dns_dkim.tform.php | 154 -- interface/web/dns/form/dns_rp.tform.php | 8 +- interface/web/dns/form/dns_template.tform.php | 27 +- interface/web/dns/lib/lang/cz.lng | 1 + interface/web/dns/lib/lang/cz_dns_a.lng | 1 + interface/web/dns/lib/lang/cz_dns_a_list.lng | 1 + interface/web/dns/lib/lang/cz_dns_aaaa.lng | 1 + interface/web/dns/lib/lang/cz_dns_alias.lng | 1 + interface/web/dns/lib/lang/cz_dns_cname.lng | 1 + interface/web/dns/lib/lang/cz_dns_hinfo.lng | 1 + interface/web/dns/lib/lang/cz_dns_import.lng | 3 +- interface/web/dns/lib/lang/cz_dns_mx.lng | 3 +- interface/web/dns/lib/lang/cz_dns_ns.lng | 1 + interface/web/dns/lib/lang/cz_dns_ptr.lng | 1 + interface/web/dns/lib/lang/cz_dns_rp.lng | 1 + interface/web/dns/lib/lang/cz_dns_slave.lng | 1 + .../web/dns/lib/lang/cz_dns_slave_list.lng | 1 + interface/web/dns/lib/lang/cz_dns_soa.lng | 1 + .../web/dns/lib/lang/cz_dns_soa_list.lng | 1 + interface/web/dns/lib/lang/cz_dns_srv.lng | 1 + .../web/dns/lib/lang/cz_dns_template.lng | 1 + .../web/dns/lib/lang/cz_dns_template_list.lng | 1 + interface/web/dns/lib/lang/cz_dns_txt.lng | 1 + interface/web/dns/lib/lang/cz_dns_wizard.lng | 1 + interface/web/dns/lib/lang/de.lng | 1 + interface/web/dns/lib/lang/de_dns_a.lng | 1 + interface/web/dns/lib/lang/de_dns_a_list.lng | 1 + interface/web/dns/lib/lang/de_dns_aaaa.lng | 1 + interface/web/dns/lib/lang/de_dns_alias.lng | 1 + interface/web/dns/lib/lang/de_dns_cname.lng | 1 + interface/web/dns/lib/lang/de_dns_hinfo.lng | 1 + interface/web/dns/lib/lang/de_dns_import.lng | 1 + interface/web/dns/lib/lang/de_dns_mx.lng | 1 + interface/web/dns/lib/lang/de_dns_ns.lng | 1 + interface/web/dns/lib/lang/de_dns_ptr.lng | 1 + interface/web/dns/lib/lang/de_dns_rp.lng | 1 + interface/web/dns/lib/lang/de_dns_slave.lng | 1 + .../web/dns/lib/lang/de_dns_slave_list.lng | 1 + interface/web/dns/lib/lang/de_dns_soa.lng | 1 + .../web/dns/lib/lang/de_dns_soa_list.lng | 1 + interface/web/dns/lib/lang/de_dns_srv.lng | 1 + .../web/dns/lib/lang/de_dns_template.lng | 1 + .../web/dns/lib/lang/de_dns_template_list.lng | 1 + interface/web/dns/lib/lang/de_dns_txt.lng | 1 + interface/web/dns/lib/lang/de_dns_wizard.lng | 1 + interface/web/dns/lib/lang/el.lng | 4 +- interface/web/dns/lib/lang/el_dns_alias.lng | 2 +- interface/web/dns/lib/lang/el_dns_hinfo.lng | 2 +- interface/web/dns/lib/lang/el_dns_import.lng | 20 +- interface/web/dns/lib/lang/el_dns_mx.lng | 2 +- interface/web/dns/lib/lang/el_dns_slave.lng | 2 +- interface/web/dns/lib/lang/el_dns_soa.lng | 14 +- interface/web/dns/lib/lang/el_dns_srv.lng | 28 +- interface/web/dns/lib/lang/el_dns_wizard.lng | 18 +- interface/web/dns/lib/lang/en_dns_dkim.lng | 8 - interface/web/dns/lib/lang/en_dns_wizard.lng | 21 +- interface/web/dns/templates/dns_a_list.htm | 13 +- interface/web/dns/templates/dns_dkim_edit.htm | 38 - interface/web/dns/templates/dns_wizard.htm | 17 +- interface/web/help/lib/lang/cz.lng | 1 + interface/web/help/lib/lang/cz_faq_form.lng | 1 + .../lib/lang/cz_faq_manage_questions_list.lng | 1 + .../web/help/lib/lang/cz_help_faq_list.lng | 3 +- .../lib/lang/cz_help_faq_sections_list.lng | 1 + .../web/help/lib/lang/cz_support_message.lng | 7 +- .../help/lib/lang/cz_support_message_list.lng | 3 +- interface/web/help/lib/lang/de.lng | 1 + interface/web/help/lib/lang/de_faq_form.lng | 1 + .../lib/lang/de_faq_manage_questions_list.lng | 1 + .../help/lib/lang/de_faq_sections_form.lng | 1 + .../web/help/lib/lang/de_help_faq_list.lng | 1 + .../lib/lang/de_help_faq_sections_list.lng | 1 + .../web/help/lib/lang/de_support_message.lng | 11 +- .../help/lib/lang/de_support_message_list.lng | 1 + .../web/help/lib/lang/el_help_faq_list.lng | 2 +- interface/web/js/dns_dkim.js | 73 - interface/web/js/js.d/empty.dir | 1 + interface/web/js/mail_domain_dkim.js | 72 - interface/web/login/lib/lang/cz.lng | 1 + interface/web/login/lib/lang/de.lng | 1 + interface/web/login/lib/lang/el.lng | 14 +- interface/web/mail/form/mail_domain.tform.php | 29 +- interface/web/mail/form/mail_user.tform.php | 215 +- interface/web/mail/lib/lang/cz.lng | 3 +- interface/web/mail/lib/lang/cz_mail_alias.lng | 1 + .../web/mail/lib/lang/cz_mail_alias_list.lng | 1 + .../web/mail/lib/lang/cz_mail_aliasdomain.lng | 1 + .../lib/lang/cz_mail_aliasdomain_list.lng | 1 + .../web/mail/lib/lang/cz_mail_blacklist.lng | 1 + .../mail/lib/lang/cz_mail_blacklist_list.lng | 3 +- .../mail/lib/lang/cz_mail_content_filter.lng | 1 + .../lib/lang/cz_mail_content_filter_list.lng | 1 + .../web/mail/lib/lang/cz_mail_domain.lng | 1 + .../lib/lang/cz_mail_domain_admin_list.lng | 1 + .../mail/lib/lang/cz_mail_domain_catchall.lng | 1 + .../lib/lang/cz_mail_domain_catchall_list.lng | 1 + .../web/mail/lib/lang/cz_mail_domain_list.lng | 1 + .../web/mail/lib/lang/cz_mail_forward.lng | 3 +- .../mail/lib/lang/cz_mail_forward_list.lng | 1 + interface/web/mail/lib/lang/cz_mail_get.lng | 1 + .../web/mail/lib/lang/cz_mail_get_list.lng | 1 + .../web/mail/lib/lang/cz_mail_mailinglist.lng | 3 +- .../lib/lang/cz_mail_mailinglist_list.lng | 1 + .../mail/lib/lang/cz_mail_relay_recipient.lng | 3 +- .../lib/lang/cz_mail_relay_recipient_list.lng | 1 + .../web/mail/lib/lang/cz_mail_spamfilter.lng | 1 + .../mail/lib/lang/cz_mail_spamfilter_list.lng | 1 + .../web/mail/lib/lang/cz_mail_transport.lng | 3 +- .../mail/lib/lang/cz_mail_transport_list.lng | 1 + interface/web/mail/lib/lang/cz_mail_user.lng | 3 +- .../web/mail/lib/lang/cz_mail_user_filter.lng | 1 + .../lib/lang/cz_mail_user_filter_list.lng | 1 + .../web/mail/lib/lang/cz_mail_user_list.lng | 1 + .../mail/lib/lang/cz_mail_user_stats_list.lng | 1 + .../web/mail/lib/lang/cz_mail_whitelist.lng | 1 + .../mail/lib/lang/cz_mail_whitelist_list.lng | 1 + .../mail/lib/lang/cz_spamfilter_blacklist.lng | 1 + .../lib/lang/cz_spamfilter_blacklist_list.lng | 3 +- .../mail/lib/lang/cz_spamfilter_config.lng | 1 + .../lib/lang/cz_spamfilter_config_list.lng | 1 + .../mail/lib/lang/cz_spamfilter_policy.lng | 3 +- .../lib/lang/cz_spamfilter_policy_list.lng | 1 + .../web/mail/lib/lang/cz_spamfilter_users.lng | 7 +- .../lib/lang/cz_spamfilter_users_list.lng | 1 + .../mail/lib/lang/cz_spamfilter_whitelist.lng | 1 + .../lib/lang/cz_spamfilter_whitelist_list.lng | 1 + .../lib/lang/cz_user_quota_stats_list.lng | 5 +- interface/web/mail/lib/lang/de.lng | 1 + interface/web/mail/lib/lang/de_mail_alias.lng | 1 + .../web/mail/lib/lang/de_mail_alias_list.lng | 1 + .../web/mail/lib/lang/de_mail_aliasdomain.lng | 1 + .../lib/lang/de_mail_aliasdomain_list.lng | 1 + .../web/mail/lib/lang/de_mail_blacklist.lng | 1 + .../mail/lib/lang/de_mail_blacklist_list.lng | 1 + .../mail/lib/lang/de_mail_content_filter.lng | 1 + .../lib/lang/de_mail_content_filter_list.lng | 1 + .../web/mail/lib/lang/de_mail_domain.lng | 1 + .../lib/lang/de_mail_domain_admin_list.lng | 1 + .../mail/lib/lang/de_mail_domain_catchall.lng | 1 + .../lib/lang/de_mail_domain_catchall_list.lng | 1 + .../web/mail/lib/lang/de_mail_domain_list.lng | 1 + .../web/mail/lib/lang/de_mail_forward.lng | 1 + .../mail/lib/lang/de_mail_forward_list.lng | 1 + interface/web/mail/lib/lang/de_mail_get.lng | 3 +- .../web/mail/lib/lang/de_mail_get_list.lng | 1 + .../web/mail/lib/lang/de_mail_mailinglist.lng | 1 + .../lib/lang/de_mail_mailinglist_list.lng | 1 + .../mail/lib/lang/de_mail_relay_recipient.lng | 1 + .../lib/lang/de_mail_relay_recipient_list.lng | 1 + .../web/mail/lib/lang/de_mail_spamfilter.lng | 1 + .../mail/lib/lang/de_mail_spamfilter_list.lng | 1 + .../web/mail/lib/lang/de_mail_transport.lng | 1 + .../mail/lib/lang/de_mail_transport_list.lng | 1 + interface/web/mail/lib/lang/de_mail_user.lng | 1 + .../web/mail/lib/lang/de_mail_user_filter.lng | 1 + .../lib/lang/de_mail_user_filter_list.lng | 1 + .../web/mail/lib/lang/de_mail_user_list.lng | 1 + .../mail/lib/lang/de_mail_user_stats_list.lng | 1 + .../web/mail/lib/lang/de_mail_whitelist.lng | 1 + .../mail/lib/lang/de_mail_whitelist_list.lng | 1 + .../mail/lib/lang/de_spamfilter_blacklist.lng | 1 + .../lib/lang/de_spamfilter_blacklist_list.lng | 1 + .../mail/lib/lang/de_spamfilter_config.lng | 1 + .../lib/lang/de_spamfilter_config_list.lng | 1 + .../mail/lib/lang/de_spamfilter_policy.lng | 1 + .../lib/lang/de_spamfilter_policy_list.lng | 1 + .../web/mail/lib/lang/de_spamfilter_users.lng | 1 + .../lib/lang/de_spamfilter_users_list.lng | 1 + .../mail/lib/lang/de_spamfilter_whitelist.lng | 1 + .../lib/lang/de_spamfilter_whitelist_list.lng | 1 + .../lib/lang/de_user_quota_stats_list.lng | 1 + interface/web/mail/lib/lang/el.lng | 4 +- interface/web/mail/lib/lang/el_mail_alias.lng | 4 +- .../mail/lib/lang/el_mail_domain_catchall.lng | 4 +- .../web/mail/lib/lang/el_mail_forward.lng | 2 +- interface/web/mail/lib/lang/el_mail_get.lng | 4 +- .../web/mail/lib/lang/el_mail_mailinglist.lng | 18 +- .../web/mail/lib/lang/el_mail_spamfilter.lng | 6 +- .../web/mail/lib/lang/el_mail_transport.lng | 2 +- .../mail/lib/lang/el_mail_transport_list.lng | 4 +- interface/web/mail/lib/lang/el_mail_user.lng | 18 +- .../web/mail/lib/lang/el_mail_user_list.lng | 2 +- .../web/mail/lib/lang/el_spamfilter_users.lng | 4 +- .../lib/lang/el_user_quota_stats_list.lng | 2 +- .../web/mail/lib/lang/en_mail_domain.lng | 11 +- .../web/mail/mail_domain_dkim_create.php | 99 - .../web/mail/templates/mail_domain_edit.htm | 30 +- interface/web/mailuser/lib/lang/cz.lng | 1 + interface/web/mailuser/lib/lang/cz_index.lng | 1 + .../lib/lang/cz_mail_user_autoresponder.lng | 1 + .../web/mailuser/lib/lang/cz_mail_user_cc.lng | 1 + .../mailuser/lib/lang/cz_mail_user_filter.lng | 1 + .../lib/lang/cz_mail_user_filter_list.lng | 1 + .../lib/lang/cz_mail_user_password.lng | 3 +- .../lib/lang/cz_mail_user_spamfilter.lng | 1 + interface/web/mailuser/lib/lang/de.lng | 1 + interface/web/mailuser/lib/lang/de_index.lng | 1 + .../lib/lang/de_mail_user_autoresponder.lng | 1 + .../web/mailuser/lib/lang/de_mail_user_cc.lng | 1 + .../mailuser/lib/lang/de_mail_user_filter.lng | 1 + .../lib/lang/de_mail_user_filter_list.lng | 1 + .../lib/lang/de_mail_user_password.lng | 1 + .../lib/lang/de_mail_user_spamfilter.lng | 1 + interface/web/mailuser/lib/lang/el.lng | 14 +- interface/web/mailuser/lib/lang/el_index.lng | 18 +- .../lib/lang/el_mail_user_autoresponder.lng | 22 +- .../web/mailuser/lib/lang/el_mail_user_cc.lng | 8 +- .../mailuser/lib/lang/el_mail_user_filter.lng | 36 +- .../lib/lang/el_mail_user_filter_list.lng | 12 +- .../lib/lang/el_mail_user_password.lng | 14 +- .../lib/lang/el_mail_user_spamfilter.lng | 8 +- interface/web/monitor/form/empty.dir | 1 + interface/web/monitor/lib/lang/cz.lng | 7 +- .../web/monitor/lib/lang/cz_datalog_list.lng | 1 + .../web/monitor/lib/lang/cz_syslog_list.lng | 1 + interface/web/monitor/lib/lang/de.lng | 4 +- .../web/monitor/lib/lang/de_datalog_list.lng | 1 + interface/web/monitor/lib/lang/el.lng | 14 +- .../web/monitor/lib/lang/el_datalog_list.lng | 10 +- interface/web/monitor/lib/lang/en.lng | 3 - interface/web/monitor/lib/module.conf.php | 7 +- interface/web/monitor/show_data.php | 7 - interface/web/monitor/show_log.php | 15 +- .../web/monitor/templates/show_sys_state.htm | 48 +- interface/web/remote/monitor.php | 5 + .../web/sites/aps_cron_apscrawler_if.php | 124 +- interface/web/sites/aps_do_operation.php | 224 +- interface/web/sites/aps_install_package.php | 420 ++-- .../web/sites/aps_installedpackages_list.php | 284 +-- .../web/sites/aps_meta_packages/empty.dir | 1 + .../web/sites/aps_packagedetails_show.php | 198 +- interface/web/sites/database_user_edit.php | 62 +- interface/web/sites/form/database.tform.php | 9 +- .../web/sites/form/database_user.tform.php | 10 +- interface/web/sites/form/web_domain.tform.php | 6 +- .../sites/form/web_vhost_subdomain.tform.php | 14 +- .../sites/lib/lang/ar_database_admin_list.lng | 1 + .../web/sites/lib/lang/ar_database_list.lng | 1 + .../web/sites/lib/lang/ar_web_domain.lng | 1 + .../sites/lib/lang/bg_database_admin_list.lng | 1 + .../web/sites/lib/lang/bg_database_list.lng | 1 + .../web/sites/lib/lang/bg_web_domain.lng | 1 + .../sites/lib/lang/br_database_admin_list.lng | 1 + .../web/sites/lib/lang/br_database_list.lng | 1 + .../web/sites/lib/lang/br_web_domain.lng | 1 + interface/web/sites/lib/lang/cz.lng | 1 + interface/web/sites/lib/lang/cz_aps.lng | 3 +- .../sites/lib/lang/cz_aps_instances_list.lng | 1 + .../sites/lib/lang/cz_aps_packages_list.lng | 1 + .../lib/lang/cz_aps_update_packagelist.lng | 7 +- interface/web/sites/lib/lang/cz_cron.lng | 5 +- interface/web/sites/lib/lang/cz_cron_list.lng | 1 + interface/web/sites/lib/lang/cz_database.lng | 3 +- .../sites/lib/lang/cz_database_admin_list.lng | 2 + .../web/sites/lib/lang/cz_database_list.lng | 2 + .../web/sites/lib/lang/cz_database_user.lng | 3 +- .../lib/lang/cz_database_user_admin_list.lng | 1 + .../sites/lib/lang/cz_database_user_list.lng | 1 + interface/web/sites/lib/lang/cz_ftp_user.lng | 1 + .../web/sites/lib/lang/cz_ftp_user_list.lng | 1 + .../web/sites/lib/lang/cz_shell_user.lng | 1 + .../web/sites/lib/lang/cz_shell_user_list.lng | 1 + .../lib/lang/cz_user_quota_stats_list.lng | 5 +- .../web/sites/lib/lang/cz_web_aliasdomain.lng | 7 +- .../lib/lang/cz_web_aliasdomain_list.lng | 1 + .../web/sites/lib/lang/cz_web_backup_list.lng | 1 + .../web/sites/lib/lang/cz_web_domain.lng | 12 +- .../lib/lang/cz_web_domain_admin_list.lng | 1 + .../web/sites/lib/lang/cz_web_domain_list.lng | 1 + .../web/sites/lib/lang/cz_web_folder.lng | 1 + .../web/sites/lib/lang/cz_web_folder_list.lng | 1 + .../web/sites/lib/lang/cz_web_folder_user.lng | 5 +- .../lib/lang/cz_web_folder_user_list.lng | 1 + .../lib/lang/cz_web_sites_stats_list.lng | 1 + .../web/sites/lib/lang/cz_web_subdomain.lng | 1 + .../sites/lib/lang/cz_web_subdomain_list.lng | 1 + .../sites/lib/lang/cz_web_vhost_subdomain.lng | 3 +- .../lib/lang/cz_web_vhost_subdomain_list.lng | 1 + .../web/sites/lib/lang/cz_webdav_user.lng | 1 + .../sites/lib/lang/cz_webdav_user_list.lng | 1 + interface/web/sites/lib/lang/de.lng | 9 +- interface/web/sites/lib/lang/de_aps.lng | 3 +- .../sites/lib/lang/de_aps_instances_list.lng | 1 + .../sites/lib/lang/de_aps_packages_list.lng | 1 + .../lib/lang/de_aps_update_packagelist.lng | 3 +- interface/web/sites/lib/lang/de_cron.lng | 5 +- interface/web/sites/lib/lang/de_cron_list.lng | 1 + interface/web/sites/lib/lang/de_database.lng | 13 +- .../sites/lib/lang/de_database_admin_list.lng | 6 +- .../web/sites/lib/lang/de_database_list.lng | 6 +- .../web/sites/lib/lang/de_database_user.lng | 5 +- .../lib/lang/de_database_user_admin_list.lng | 1 + .../sites/lib/lang/de_database_user_list.lng | 1 + interface/web/sites/lib/lang/de_ftp_user.lng | 7 +- .../web/sites/lib/lang/de_ftp_user_list.lng | 1 + .../web/sites/lib/lang/de_shell_user.lng | 11 +- .../web/sites/lib/lang/de_shell_user_list.lng | 1 + .../lib/lang/de_user_quota_stats_list.lng | 7 +- .../web/sites/lib/lang/de_web_aliasdomain.lng | 71 +- .../lib/lang/de_web_aliasdomain_list.lng | 9 +- .../web/sites/lib/lang/de_web_backup_list.lng | 6 +- .../web/sites/lib/lang/de_web_domain.lng | 67 +- .../lib/lang/de_web_domain_admin_list.lng | 1 + .../web/sites/lib/lang/de_web_domain_list.lng | 1 + .../web/sites/lib/lang/de_web_folder.lng | 1 + .../web/sites/lib/lang/de_web_folder_list.lng | 1 + .../web/sites/lib/lang/de_web_folder_user.lng | 1 + .../lib/lang/de_web_folder_user_list.lng | 1 + .../lib/lang/de_web_sites_stats_list.lng | 11 +- .../web/sites/lib/lang/de_web_subdomain.lng | 29 +- .../sites/lib/lang/de_web_subdomain_list.lng | 1 + .../sites/lib/lang/de_web_vhost_subdomain.lng | 55 +- .../lib/lang/de_web_vhost_subdomain_list.lng | 1 + .../web/sites/lib/lang/de_webdav_user.lng | 3 +- .../sites/lib/lang/de_webdav_user_list.lng | 1 + interface/web/sites/lib/lang/el.lng | 24 +- interface/web/sites/lib/lang/el_aps.lng | 110 +- .../sites/lib/lang/el_aps_instances_list.lng | 22 +- .../sites/lib/lang/el_aps_packages_list.lng | 12 +- .../lib/lang/el_aps_update_packagelist.lng | 8 +- interface/web/sites/lib/lang/el_cron.lng | 2 +- interface/web/sites/lib/lang/el_database.lng | 44 +- .../sites/lib/lang/el_database_admin_list.lng | 1 + .../web/sites/lib/lang/el_database_list.lng | 1 + .../web/sites/lib/lang/el_database_user.lng | 42 +- .../lib/lang/el_database_user_admin_list.lng | 8 +- .../sites/lib/lang/el_database_user_list.lng | 6 +- interface/web/sites/lib/lang/el_ftp_user.lng | 14 +- .../web/sites/lib/lang/el_shell_user.lng | 18 +- .../web/sites/lib/lang/el_shell_user_list.lng | 4 +- .../lib/lang/el_user_quota_stats_list.lng | 2 +- .../web/sites/lib/lang/el_web_aliasdomain.lng | 140 +- .../lib/lang/el_web_aliasdomain_list.lng | 6 +- .../web/sites/lib/lang/el_web_backup_list.lng | 26 +- .../web/sites/lib/lang/el_web_domain.lng | 41 +- .../web/sites/lib/lang/el_web_folder_user.lng | 10 +- .../lib/lang/el_web_sites_stats_list.lng | 2 +- .../web/sites/lib/lang/el_web_subdomain.lng | 8 +- .../sites/lib/lang/el_web_vhost_subdomain.lng | 142 +- .../lib/lang/el_web_vhost_subdomain_list.lng | 4 +- .../web/sites/lib/lang/el_webdav_user.lng | 14 +- interface/web/sites/lib/lang/en_aps.lng | 114 +- .../sites/lib/lang/en_aps_instances_list.lng | 24 +- .../sites/lib/lang/en_aps_packages_list.lng | 14 +- .../lib/lang/en_aps_update_packagelist.lng | 12 +- .../sites/lib/lang/en_database_admin_list.lng | 3 +- .../web/sites/lib/lang/en_database_list.lng | 1 - .../web/sites/lib/lang/en_web_backup_list.lng | 16 +- .../sites/lib/lang/en_web_vhost_subdomain.lng | 4 + .../sites/lib/lang/es_database_admin_list.lng | 1 + .../web/sites/lib/lang/es_database_list.lng | 1 + .../web/sites/lib/lang/es_web_domain.lng | 1 + .../sites/lib/lang/fi_database_admin_list.lng | 1 + .../web/sites/lib/lang/fi_database_list.lng | 1 + .../web/sites/lib/lang/fi_web_domain.lng | 1 + .../sites/lib/lang/fr_database_admin_list.lng | 1 + .../web/sites/lib/lang/fr_database_list.lng | 1 + .../web/sites/lib/lang/fr_web_domain.lng | 1 + .../sites/lib/lang/hr_database_admin_list.lng | 1 + .../web/sites/lib/lang/hr_database_list.lng | 1 + .../web/sites/lib/lang/hr_web_domain.lng | 1 + .../sites/lib/lang/hu_database_admin_list.lng | 1 + .../web/sites/lib/lang/hu_database_list.lng | 1 + .../web/sites/lib/lang/hu_web_domain.lng | 1 + .../sites/lib/lang/id_database_admin_list.lng | 1 + .../web/sites/lib/lang/id_database_list.lng | 1 + .../web/sites/lib/lang/id_web_domain.lng | 1 + .../sites/lib/lang/it_database_admin_list.lng | 1 + .../web/sites/lib/lang/it_database_list.lng | 1 + .../web/sites/lib/lang/it_web_domain.lng | 1 + .../sites/lib/lang/ja_database_admin_list.lng | 1 + .../web/sites/lib/lang/ja_database_list.lng | 1 + .../web/sites/lib/lang/ja_web_domain.lng | 1 + .../sites/lib/lang/nl_database_admin_list.lng | 1 + .../web/sites/lib/lang/nl_database_list.lng | 1 + .../web/sites/lib/lang/nl_web_domain.lng | 1 + .../sites/lib/lang/pl_database_admin_list.lng | 1 + .../web/sites/lib/lang/pl_database_list.lng | 1 + .../web/sites/lib/lang/pl_web_domain.lng | 1 + .../sites/lib/lang/pt_database_admin_list.lng | 1 + .../web/sites/lib/lang/pt_database_list.lng | 1 + .../web/sites/lib/lang/pt_web_domain.lng | 1 + .../sites/lib/lang/ro_database_admin_list.lng | 1 + .../web/sites/lib/lang/ro_database_list.lng | 1 + .../web/sites/lib/lang/ro_web_domain.lng | 1 + .../sites/lib/lang/ru_database_admin_list.lng | 1 + .../web/sites/lib/lang/ru_database_list.lng | 1 + .../web/sites/lib/lang/ru_web_domain.lng | 1 + .../sites/lib/lang/se_database_admin_list.lng | 1 + .../web/sites/lib/lang/se_database_list.lng | 1 + .../web/sites/lib/lang/se_web_domain.lng | 1 + .../sites/lib/lang/sk_database_admin_list.lng | 1 + .../web/sites/lib/lang/sk_database_list.lng | 1 + .../web/sites/lib/lang/sk_web_domain.lng | 1 + .../sites/lib/lang/tr_database_admin_list.lng | 1 + .../web/sites/lib/lang/tr_database_list.lng | 1 + .../web/sites/lib/lang/tr_web_domain.lng | 1 + .../sites/list/aps_availablepackages.list.php | 170 +- interface/web/sites/list/database.list.php | 15 +- .../sites/templates/aps_install_package.htm | 112 +- .../sites/templates/aps_instances_list.htm | 122 +- .../templates/aps_packagedetails_show.htm | 280 +-- .../web/sites/templates/aps_packages_list.htm | 108 +- .../sites/templates/database_admin_list.htm | 7 +- .../web/sites/templates/database_list.htm | 7 +- .../templates/web_aliasdomain_advanced.htm | 72 +- .../web/sites/templates/web_backup_list.htm | 34 +- .../templates/web_subdomain_advanced.htm | 74 +- .../web_vhost_subdomain_redirect.htm | 6 + interface/web/sites/web_domain_edit.php | 47 - .../web/sites/web_vhost_subdomain_edit.php | 105 +- .../lib/lang/cz_strengthmeter.lng | 1 + .../lib/lang/de_strengthmeter.lng | 1 + interface/web/temp/empty.dir | 1 + .../redmond/jquery-ui-1.8.16.custom.css | 886 ++++---- .../themes/default-304/css/screen/tipsy.css | 50 +- .../templates/monitor/show_sys_state.htm | 48 +- .../templates/sites/aps_install_package.htm | 110 +- .../templates/sites/aps_instances_list.htm | 122 +- .../sites/aps_packagedetails_show.htm | 276 +-- .../templates/sites/aps_packages_list.htm | 98 +- interface/web/themes/default/CHANGELOG | 62 +- interface/web/themes/default/TODO | 14 +- .../default/css/jquery-ui-1.8.16.custom.css | 890 ++++---- interface/web/tools/import_plesk.php | 243 +- interface/web/tools/import_vpopmail.php | 267 --- .../lib/interface.d/tpl_default.menu.php | 16 +- interface/web/tools/lib/lang/cz.lng | 1 + .../tools/lib/lang/cz_import_ispconfig.lng | 1 + .../web/tools/lib/lang/cz_import_vpopmail.lng | 8 + interface/web/tools/lib/lang/cz_index.lng | 1 + interface/web/tools/lib/lang/cz_interface.lng | 1 + interface/web/tools/lib/lang/cz_resync.lng | 1 + .../web/tools/lib/lang/cz_tpl_default.lng | 1 + .../web/tools/lib/lang/cz_usersettings.lng | 1 + interface/web/tools/lib/lang/de.lng | 1 + .../tools/lib/lang/de_import_ispconfig.lng | 1 + interface/web/tools/lib/lang/de_index.lng | 1 + interface/web/tools/lib/lang/de_interface.lng | 1 + interface/web/tools/lib/lang/de_resync.lng | 1 + .../web/tools/lib/lang/de_tpl_default.lng | 1 + .../web/tools/lib/lang/de_usersettings.lng | 1 + interface/web/tools/lib/lang/el.lng | 8 +- .../tools/lib/lang/el_import_ispconfig.lng | 42 +- interface/web/tools/lib/lang/el_index.lng | 4 +- interface/web/tools/lib/lang/el_interface.lng | 10 +- interface/web/tools/lib/lang/el_resync.lng | 22 +- .../web/tools/lib/lang/el_tpl_default.lng | 10 +- .../web/tools/lib/lang/el_usersettings.lng | 10 +- .../web/tools/lib/lang/en_import_vpopmail.lng | 8 - interface/web/tools/list/empty.dir | 1 + .../web/tools/templates/import_vpopmail.htm | 53 - interface/web/vm/lib/lang/cz.lng | 1 + .../web/vm/lib/lang/cz_openvz_action.lng | 1 + interface/web/vm/lib/lang/cz_openvz_ip.lng | 1 + .../web/vm/lib/lang/cz_openvz_ip_list.lng | 1 + .../web/vm/lib/lang/cz_openvz_ostemplate.lng | 1 + .../vm/lib/lang/cz_openvz_ostemplate_list.lng | 1 + .../web/vm/lib/lang/cz_openvz_template.lng | 1 + .../vm/lib/lang/cz_openvz_template_list.lng | 1 + interface/web/vm/lib/lang/cz_openvz_vm.lng | 1 + .../web/vm/lib/lang/cz_openvz_vm_list.lng | 1 + interface/web/vm/lib/lang/de.lng | 7 +- .../web/vm/lib/lang/de_openvz_action.lng | 1 + interface/web/vm/lib/lang/de_openvz_ip.lng | 1 + .../web/vm/lib/lang/de_openvz_ip_list.lng | 1 + .../web/vm/lib/lang/de_openvz_ostemplate.lng | 1 + .../vm/lib/lang/de_openvz_ostemplate_list.lng | 1 + .../web/vm/lib/lang/de_openvz_template.lng | 1 + .../vm/lib/lang/de_openvz_template_list.lng | 1 + interface/web/vm/lib/lang/de_openvz_vm.lng | 1 + .../web/vm/lib/lang/de_openvz_vm_list.lng | 1 + interface/web/vm/lib/lang/el_openvz_ip.lng | 2 +- .../web/vm/lib/lang/el_openvz_ip_list.lng | 2 +- .../web/vm/lib/lang/el_openvz_template.lng | 20 +- interface/web/vm/lib/lang/el_openvz_vm.lng | 8 +- server/aps_packages/empty.dir | 1 + server/conf-custom/empty.dir | 1 + server/conf-custom/error/empty.dir | 1 + server/conf-custom/index/empty.dir | 1 + server/conf-custom/install/empty.dir | 1 + server/conf-custom/mail/empty.dir | 1 + server/conf/nginx_vhost.conf.master | 2 +- server/cron_daily.php | 277 +-- server/lib/classes/aps_base.inc.php | 204 +- server/lib/classes/aps_installer.inc.php | 1440 ++++++------ server/lib/classes/monitor_tools.inc.php | 61 +- server/lib/classes/system.inc.php | 3 +- .../monitor_core_module.inc.php | 44 +- .../mods-available/rescue_core_module.inc.php | 175 +- server/mods-core/empty.dir | 1 + server/mods-enabled/empty.dir | 1 + .../plugins-available/apache2_plugin.inc.php | 131 +- server/plugins-available/aps_plugin.inc.php | 234 +- .../plugins-available/backup_plugin.inc.php | 66 +- server/plugins-available/mail_plugin.inc.php | 3 +- .../mail_plugin_dkim.inc.php | 266 --- .../mongo_clientdb_plugin.inc.php | 820 ------- server/plugins-available/nginx_plugin.inc.php | 8 +- .../webserver_plugin.inc.php | 166 -- server/plugins-enabled/empty.dir | 1 + server/scripts/ispconfig_patch | 142 ++ server/server.php | 3 - server/temp/empty.dir | 1 + 885 files changed, 9037 insertions(+), 11079 deletions(-) create mode 100644 install/patches/upd_0001.php create mode 100644 install/sql/incremental/upd_0057.sql create mode 100644 install/sql/incremental/upd_0058.sql create mode 100644 interface/cache/empty.dir create mode 100644 interface/lib/classes/idn/empty.dir delete mode 100644 interface/lib/classes/validate_dkim.inc.php create mode 100644 interface/ssl/empty.dir create mode 100644 interface/tools/empty.dir create mode 100644 interface/web/dashboard/form/empty.dir create mode 100644 interface/web/dashboard/list/empty.dir create mode 100644 interface/web/designer/form/empty.dir create mode 100644 interface/web/designer/list/empty.dir delete mode 100644 interface/web/dns/dns_dkim_edit.php delete mode 100644 interface/web/dns/dns_dkim_get.php delete mode 100644 interface/web/dns/form/dns_dkim.tform.php delete mode 100644 interface/web/dns/lib/lang/en_dns_dkim.lng delete mode 100644 interface/web/dns/templates/dns_dkim_edit.htm delete mode 100644 interface/web/js/dns_dkim.js create mode 100644 interface/web/js/js.d/empty.dir delete mode 100644 interface/web/js/mail_domain_dkim.js delete mode 100644 interface/web/mail/mail_domain_dkim_create.php create mode 100644 interface/web/monitor/form/empty.dir create mode 100644 interface/web/sites/aps_meta_packages/empty.dir create mode 100644 interface/web/temp/empty.dir delete mode 100644 interface/web/tools/import_vpopmail.php create mode 100644 interface/web/tools/lib/lang/cz_import_vpopmail.lng delete mode 100644 interface/web/tools/lib/lang/en_import_vpopmail.lng create mode 100644 interface/web/tools/list/empty.dir delete mode 100644 interface/web/tools/templates/import_vpopmail.htm create mode 100644 server/aps_packages/empty.dir create mode 100644 server/conf-custom/empty.dir create mode 100644 server/conf-custom/error/empty.dir create mode 100644 server/conf-custom/index/empty.dir create mode 100644 server/conf-custom/install/empty.dir create mode 100644 server/conf-custom/mail/empty.dir create mode 100644 server/mods-core/empty.dir create mode 100644 server/mods-enabled/empty.dir delete mode 100644 server/plugins-available/mail_plugin_dkim.inc.php delete mode 100644 server/plugins-available/mongo_clientdb_plugin.inc.php delete mode 100644 server/plugins-available/webserver_plugin.inc.php create mode 100644 server/plugins-enabled/empty.dir create mode 100644 server/scripts/ispconfig_patch create mode 100644 server/temp/empty.dir diff --git a/install/autoupdate.php b/install/autoupdate.php index de53b241f6..e43cd51985 100644 --- a/install/autoupdate.php +++ b/install/autoupdate.php @@ -285,7 +285,7 @@ $inst->configure_dbserver(); //if(@is_dir('/etc/Bastille')) { //* Configure Firewall swriteln('Configuring Firewall'); -$inst->configure_bastille_firewall(); +$inst->configure_firewall(); //} //** Configure ISPConfig diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 61130a1362..99fd2af543 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -845,6 +845,7 @@ class installer_dist extends installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf("$install_dir/interface/lib/$configfile", $content); @@ -869,6 +870,7 @@ class installer_dist extends installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf("$install_dir/server/lib/$configfile", $content); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index 382689cd55..853208896f 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -725,6 +725,7 @@ class installer extends installer_base $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); $this->write_config_file("$install_dir/interface/lib/$configfile", $content); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 7a2fa264db..e087772e46 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -900,6 +900,7 @@ class installer_dist extends installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf("$install_dir/interface/lib/$configfile", $content); @@ -924,6 +925,7 @@ class installer_dist extends installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf("$install_dir/server/lib/$configfile", $content); diff --git a/install/install.php b/install/install.php index c6b85a3beb..adb1db5030 100644 --- a/install/install.php +++ b/install/install.php @@ -34,6 +34,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. error_reporting(E_ALL|E_STRICT); +define('INSTALLER_RUN', true); + //** The banner on the command line echo "\n\n".str_repeat('-',80)."\n"; echo " _____ ___________ _____ __ _ ____ @@ -106,8 +108,9 @@ $inst->find_installed_apps(); $conf['language'] = $inst->simple_query('Select language', array('en','de'), 'en'); $conf['timezone'] = get_system_timezone(); -//* Set defaukt theme +//* Set default theme $conf['theme'] = 'default'; +$conf['language_file_import_enabled'] = true; //** Select installation mode $install_mode = $inst->simple_query('Installation mode', array('standard','expert'), 'standard'); @@ -257,17 +260,10 @@ if($install_mode == 'standard') { $inst->configure_apps_vhost(); //* Configure Firewall - if($conf['ufw']['installed'] == true) { - //* Configure Ubuntu Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Ubuntu Firewall'); - $inst->configure_ufw_firewall(); - } else { - //* Configure Bastille Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Bastille Firewall'); - $inst->configure_bastille_firewall(); - } + //* Configure Bastille Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Bastille Firewall'); + $inst->configure_firewall(); //* Configure Fail2ban if($conf['fail2ban']['installed'] == true) { @@ -335,7 +331,7 @@ if($install_mode == 'standard') { if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); //if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); - if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); + //if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); }else{ //* In expert mode, we select the services in the following steps, only db is always available @@ -551,17 +547,18 @@ if($install_mode == 'standard') { //** Configure Firewall if(strtolower($inst->simple_query('Configure Firewall Server',array('y','n'),'y')) == 'y') { - if($conf['ufw']['installed'] == true) { + //if($conf['bastille']['installed'] == true) { + //* Configure Bastille Firewall + $conf['services']['firewall'] = true; + swriteln('Configuring Bastille Firewall'); + $inst->configure_firewall(); + /*} elseif($conf['ufw']['installed'] == true) { //* Configure Ubuntu Firewall $conf['services']['firewall'] = true; swriteln('Configuring Ubuntu Firewall'); $inst->configure_ufw_firewall(); - } else { - //* Configure Bastille Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Bastille Firewall'); - $inst->configure_bastille_firewall(); } + */ } //** Configure Firewall @@ -629,4 +626,4 @@ if($install_mode == 'standard') { echo "Installation completed.\n"; -?> +?> \ No newline at end of file diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 1e8459e2a5..7bf502f1a5 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -132,7 +132,7 @@ class installer_base { if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true; if(is_installed('squid')) $conf['squid']['installed'] = true; if(is_installed('nginx')) $conf['nginx']['installed'] = true; - if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true; + // if(is_installed('iptables') && is_installed('ufw')) $conf['ufw']['installed'] = true; if(is_installed('fail2ban-server')) $conf['fail2ban']['installed'] = true; if(is_installed('vzctl')) $conf['openvz']['installed'] = true; if(is_dir("/etc/Bastille")) $conf['bastille']['installed'] = true; @@ -1365,6 +1365,7 @@ class installer_base { exec('chown root:root '.$conf["squid"]["config_dir"].'/'.$configfile); } + /* public function configure_ufw_firewall() { $configfile = 'ufw.conf'; @@ -1374,8 +1375,9 @@ class installer_base { exec('chmod 600 /etc/ufw/ufw.conf'); exec('chown root:root /etc/ufw/ufw.conf'); } + */ - public function configure_bastille_firewall() { + public function configure_firewall() { global $conf; $dist_init_scripts = $conf['init_scripts']; @@ -1691,6 +1693,7 @@ class installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf($install_dir.'/interface/lib/'.$configfile, $content); @@ -1715,6 +1718,7 @@ class installer_base { $content = str_replace('{language}', $conf['language'], $content); $content = str_replace('{timezone}', $conf['timezone'], $content); $content = str_replace('{theme}', $conf['theme'], $content); + $content = str_replace('{language_file_import_enabled}', ($conf['language_file_import_enabled'] == true)?'true':'false', $content); wf($install_dir.'/server/lib/'.$configfile, $content); diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php index 5beca81020..b4e73abb1d 100644 --- a/install/lib/update.lib.php +++ b/install/lib/update.lib.php @@ -27,6 +27,15 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +//* Installer patch stub class +class installer_patch_update { + protected function onBeforeSQL() { + } + protected function onAfterSQL() { + } +} + +//* DB dump function function prepareDBDump() { global $conf; @@ -151,16 +160,43 @@ function updateDbAndIni() { $found = true; while($found == true) { $next_db_version = intval($current_db_version + 1); - $patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql'; - if(is_file($patch_filename)) { + $sql_patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql'; + $php_patch_filename = realpath(dirname(__FILE__).'/../').'/patches/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.php'; + + if(is_file($sql_patch_filename)) { + + //* Load php patch file and instantiate object + if(is_file($php_patch_filename)) { + $php_patch_class_name = 'upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT); + include_once($php_patch_filename); + if(class_exists($php_patch_class_name)) { + $php_patch = new $php_patch_class_name; + } else { + swriteln($inst->lng('WARNING: PHP patch file').': '.$php_patch_filename.' '.$inst->lng('contains errors.')); + } + } + + //* Exec onBeforeSQL function + if(isset($php_patch) && is_object($php_patch)) { + $php_patch->onBeforeSQL(); + swriteln($inst->lng('Executing PHP patch file').': '.$php_patch_filename); + } + //* Load patch file into database if( !empty($conf["mysql"]["admin_password"]) ) { - system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$patch_filename); + system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename); } else { - system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$patch_filename); + system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename); + } + swriteln($inst->lng('Loading SQL patch file').': '.$sql_patch_filename); + + //* Exec onAfterSQL function + if(isset($php_patch) && is_object($php_patch)) { + $php_patch->onAfterSQL(); } - swriteln($inst->lng('Loading SQL patch file').': '.$patch_filename); + $current_db_version = $next_db_version; + if(isset($php_patch)) unset($php_patch); } else { $found = false; } @@ -332,4 +368,6 @@ function updateDbAndIni() { unset($new_ini); } + + ?> diff --git a/install/patches/upd_0001.php b/install/patches/upd_0001.php new file mode 100644 index 0000000000..93d6967b9d --- /dev/null +++ b/install/patches/upd_0001.php @@ -0,0 +1,21 @@ +<?php + +if(!defined('INSTALLER_RUN')) die('Patch update file access violation.'); + +/* + Example installer patch update class. the classname must match + the php and the sql patch update filename. The php patches are + only executed when a corresponding sql patch exists. +*/ + +class upd_0001 extends installer_patch_update { + + public function onBeforeSQL() { + // Do something + } + public function onAfterSQL() { + // Do something + } +} + +?> diff --git a/install/sql/incremental/upd_0049.sql b/install/sql/incremental/upd_0049.sql index d55f0dafae..55eff842e0 100644 --- a/install/sql/incremental/upd_0049.sql +++ b/install/sql/incremental/upd_0049.sql @@ -1,2 +1 @@ -ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; -ALTER TABLE `web_backup` ADD `filesize` VARCHAR(10) NOT NULL AFTER `filename`; +ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; \ No newline at end of file diff --git a/install/sql/incremental/upd_0052.sql b/install/sql/incremental/upd_0052.sql index d92bc3265e..7ad62b2d6b 100644 --- a/install/sql/incremental/upd_0052.sql +++ b/install/sql/incremental/upd_0052.sql @@ -1,5 +1 @@ -ALTER TABLE `client_template` CHANGE `limit_aps` `limit_aps` INT( 11 ) NOT NULL DEFAULT '-1'; -ALTER TABLE `mail_domain` ADD `dkim_public` MEDIUMTEXT NOT NULL AFTER `domain`; -ALTER TABLE `mail_domain` ADD `dkim_private` MEDIUMTEXT NOT NULL AFTER `domain`; -ALTER TABLE `mail_domain` ADD `dkim` ENUM( 'n', 'y' ) NOT NULL AFTER `domain`; -ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`; +ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`; \ No newline at end of file diff --git a/install/sql/incremental/upd_0055.sql b/install/sql/incremental/upd_0055.sql index 3a7c5d5863..6f7a2e79ec 100644 --- a/install/sql/incremental/upd_0055.sql +++ b/install/sql/incremental/upd_0055.sql @@ -1,3 +1 @@ -ALTER TABLE `web_backup` CHANGE `backup_type` `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web'; -ALTER TABLE `web_database_user` ADD `database_password_mongo` varchar(32) DEFAULT NULL AFTER `database_password`; -ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL; +ALTER TABLE `sys_datalog` ADD `error` MEDIUMTEXT NULL DEFAULT NULL; \ No newline at end of file diff --git a/install/sql/incremental/upd_0057.sql b/install/sql/incremental/upd_0057.sql new file mode 100644 index 0000000000..b8452fe6e9 --- /dev/null +++ b/install/sql/incremental/upd_0057.sql @@ -0,0 +1,7 @@ +CREATE TABLE IF NOT EXISTS `sys_cron` ( + `name` varchar(50) NOT NULL, + `last_run` datetime NULL DEFAULT NULL, + `next_run` datetime NULL DEFAULT NULL, + `running` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/install/sql/incremental/upd_0058.sql b/install/sql/incremental/upd_0058.sql new file mode 100644 index 0000000000..087b499c47 --- /dev/null +++ b/install/sql/incremental/upd_0058.sql @@ -0,0 +1,3 @@ +ALTER TABLE `client` ADD COLUMN `can_use_api` enum('n','y') NOT NULL DEFAULT 'n' AFTER `canceled`; + +ALTER TABLE `remote_session` ADD COLUMN `client_login` tinyint(1) unsigned NOT NULL default '0' AFTER `remote_functions`; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 8480e76448..24a0a98c47 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -26,24 +26,24 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ --- Includes --- +-- Includes +-- -- iso_country_list.sql --- +-- -- This will create and then populate a MySQL table with a list of the names and -- ISO 3166 codes for countries in existence as of the date below. --- +-- -- For updates to this file, see http://27.org/isocountrylist/ -- For more about ISO 3166, see http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html --- +-- -- Created by getisocountrylist.pl on Sun Nov 2 14:59:20 2003. -- Wm. Rhodes <iso_country_list@27.org> --- +-- --- +-- -- ISPConfig 3 -- DB-Version: 3.0.0.9 --- +-- SET FOREIGN_KEY_CHECKS = 0; @@ -228,6 +228,7 @@ CREATE TABLE `client` ( `created_at` bigint(20) DEFAULT NULL, `locked` enum('n','y') NOT NULL DEFAULT 'n', `canceled` enum('n','y') NOT NULL DEFAULT 'n', + `can_use_api` enum('n','y') NOT NULL DEFAULT 'n', `tmp_data` mediumblob, `id_rsa` varchar(2000) NOT NULL DEFAULT '', `ssh_rsa` varchar(600) NOT NULL DEFAULT '', @@ -256,9 +257,9 @@ CREATE TABLE `client_circle` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `client_template` --- +-- CREATE TABLE `client_template` ( `template_id` int(11) unsigned NOT NULL auto_increment, @@ -266,7 +267,7 @@ CREATE TABLE `client_template` ( `sys_groupid` int(11) unsigned NOT NULL default '0', `sys_perm_user` varchar(5) default NULL, `sys_perm_group` varchar(5) default NULL, - `sys_perm_other` varchar(5) default NULL, + `sys_perm_other` varchar(5) default NULL, `template_name` varchar(64) NOT NULL, `template_type` varchar(1) NOT NULL default 'm', `limit_maildomain` int(11) NOT NULL default '-1', @@ -347,9 +348,9 @@ CREATE TABLE `country` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `cron` --- +-- CREATE TABLE `cron` ( `id` int(11) unsigned NOT NULL auto_increment, `sys_userid` int(11) unsigned NOT NULL default '0', @@ -372,9 +373,9 @@ CREATE TABLE `cron` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `directive_snippets` --- +-- CREATE TABLE IF NOT EXISTS `directive_snippets` ( `directive_snippets_id` int(11) unsigned NOT NULL AUTO_INCREMENT, @@ -392,9 +393,9 @@ CREATE TABLE IF NOT EXISTS `directive_snippets` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `dns_rr` --- +-- CREATE TABLE `dns_rr` ( `id` int(11) unsigned NOT NULL auto_increment, @@ -442,9 +443,9 @@ CREATE TABLE `dns_slave` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `dns_soa` --- +-- CREATE TABLE `dns_soa` ( `id` int(10) unsigned NOT NULL auto_increment, @@ -474,9 +475,9 @@ CREATE TABLE `dns_soa` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `dns_template` --- +-- CREATE TABLE `dns_template` ( `template_id` int(11) unsigned NOT NULL auto_increment, @@ -510,9 +511,9 @@ CREATE TABLE `domain` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `firewall` --- +-- CREATE TABLE `firewall` ( `firewall_id` int(11) unsigned NOT NULL auto_increment, @@ -530,9 +531,9 @@ CREATE TABLE `firewall` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `ftp_user` --- +-- CREATE TABLE `ftp_user` ( `ftp_user_id` int(11) unsigned NOT NULL auto_increment, @@ -624,9 +625,9 @@ CREATE TABLE `iptables` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_access` --- +-- CREATE TABLE `mail_access` ( `access_id` int(11) unsigned NOT NULL auto_increment, @@ -646,9 +647,9 @@ CREATE TABLE `mail_access` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_content_filter` --- +-- CREATE TABLE `mail_content_filter` ( `content_filter_id` int(11) unsigned NOT NULL auto_increment, @@ -668,9 +669,9 @@ CREATE TABLE `mail_content_filter` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_domain` --- +-- CREATE TABLE `mail_domain` ( `domain_id` int(11) unsigned NOT NULL auto_increment, @@ -681,9 +682,6 @@ CREATE TABLE `mail_domain` ( `sys_perm_other` varchar(5) NOT NULL default '', `server_id` int(11) unsigned NOT NULL default '0', `domain` varchar(255) NOT NULL default '', - `dkim` ENUM( 'n', 'y' ) NOT NULL default 'n', - `dkim_private` mediumtext NOT NULL default '', - `dkim_public` mediumtext NOT NULL default '', `active` enum('n','y') NOT NULL, PRIMARY KEY (`domain_id`), KEY `server_id` (`server_id`,`domain`), @@ -692,9 +690,9 @@ CREATE TABLE `mail_domain` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_forwarding` --- +-- CREATE TABLE `mail_forwarding` ( `forwarding_id` int(11) unsigned NOT NULL auto_increment, @@ -715,9 +713,9 @@ CREATE TABLE `mail_forwarding` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_get` --- +-- CREATE TABLE `mail_get` ( `mailget_id` int(11) unsigned NOT NULL auto_increment, @@ -781,9 +779,9 @@ CREATE TABLE IF NOT EXISTS `mail_relay_recipient` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_traffic` --- +-- CREATE TABLE `mail_traffic` ( `traffic_id` int(11) unsigned NOT NULL auto_increment, @@ -796,9 +794,9 @@ CREATE TABLE `mail_traffic` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_transport` --- +-- CREATE TABLE `mail_transport` ( `transport_id` int(11) unsigned NOT NULL auto_increment, @@ -819,9 +817,9 @@ CREATE TABLE `mail_transport` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_user` --- +-- CREATE TABLE `mail_user` ( `mailuser_id` int(11) unsigned NOT NULL auto_increment, @@ -865,9 +863,9 @@ CREATE TABLE `mail_user` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `mail_user_filter` --- +-- CREATE TABLE `mail_user_filter` ( `filter_id` int(11) unsigned NOT NULL auto_increment, @@ -1078,23 +1076,24 @@ CREATE TABLE IF NOT EXISTS `openvz_vm` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `remote_session` --- +-- CREATE TABLE `remote_session` ( `remote_session` varchar(64) NOT NULL, `remote_userid` int(11) unsigned NOT NULL, `remote_functions` text NOT NULL, + `client_login` tinyint(1) unsigned NOT NULL default '0', `tstamp` int(10) unsigned NOT NULL, PRIMARY KEY (`remote_session`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; -- -------------------------------------------------------- --- +-- -- Table structure for table `remote_user` --- +-- CREATE TABLE `remote_user` ( `remote_userid` int(11) unsigned NOT NULL auto_increment, @@ -1111,9 +1110,9 @@ CREATE TABLE `remote_user` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `server` --- +-- CREATE TABLE `server` ( `server_id` int(11) unsigned NOT NULL auto_increment, @@ -1141,9 +1140,9 @@ CREATE TABLE `server` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `server_ip` --- +-- CREATE TABLE `server_ip` ( `server_ip_id` int(11) unsigned NOT NULL auto_increment, @@ -1217,9 +1216,9 @@ CREATE TABLE `shell_user` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `software_package` --- +-- CREATE TABLE `software_package` ( `package_id` int(11) unsigned NOT NULL auto_increment, @@ -1240,9 +1239,9 @@ CREATE TABLE `software_package` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `software_repo` --- +-- CREATE TABLE `software_repo` ( `software_repo_id` int(11) unsigned NOT NULL auto_increment, @@ -1261,9 +1260,9 @@ CREATE TABLE `software_repo` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `software_update` --- +-- CREATE TABLE `software_update` ( `software_update_id` int(11) unsigned NOT NULL auto_increment, @@ -1283,9 +1282,9 @@ CREATE TABLE `software_update` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `software_update_inst` --- +-- CREATE TABLE `software_update_inst` ( `software_update_inst_id` int(11) unsigned NOT NULL auto_increment, @@ -1299,9 +1298,9 @@ CREATE TABLE `software_update_inst` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `spamfilter_policy` --- +-- CREATE TABLE `spamfilter_policy` ( `id` int(11) unsigned NOT NULL auto_increment, @@ -1352,9 +1351,9 @@ CREATE TABLE `spamfilter_policy` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `spamfilter_users` --- +-- CREATE TABLE `spamfilter_users` ( `id` int(11) unsigned NOT NULL auto_increment, @@ -1375,9 +1374,9 @@ CREATE TABLE `spamfilter_users` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `spamfilter_wblist` --- +-- CREATE TABLE `spamfilter_wblist` ( `wblist_id` int(11) unsigned NOT NULL auto_increment, @@ -1397,9 +1396,9 @@ CREATE TABLE `spamfilter_wblist` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `support_message` --- +-- CREATE TABLE `support_message` ( `support_message_id` int(11) unsigned NOT NULL auto_increment, @@ -1432,9 +1431,24 @@ CREATE TABLE `sys_config` ( -- -------------------------------------------------------- -- --- Table structure for table `sys_datalog` +-- Table structure for table `sys_cron` -- +CREATE TABLE IF NOT EXISTS `sys_cron` ( + `name` varchar(50) NOT NULL, + `last_run` datetime NULL DEFAULT NULL, + `next_run` datetime NULL DEFAULT NULL, + `running` tinyint(1) UNSIGNED NOT NULL DEFAULT '0', + PRIMARY KEY (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sys_datalog` +-- + CREATE TABLE `sys_datalog` ( `datalog_id` int(11) unsigned NOT NULL auto_increment, `server_id` int(11) unsigned NOT NULL, @@ -1452,9 +1466,9 @@ CREATE TABLE `sys_datalog` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_dbsync` --- +-- CREATE TABLE `sys_dbsync` ( `id` int(11) unsigned NOT NULL auto_increment, @@ -1476,9 +1490,9 @@ CREATE TABLE `sys_dbsync` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_filesync` --- +-- CREATE TABLE `sys_filesync` ( `id` int(11) unsigned NOT NULL auto_increment, @@ -1496,9 +1510,9 @@ CREATE TABLE `sys_filesync` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_group` --- +-- CREATE TABLE `sys_group` ( `groupid` int(11) unsigned NOT NULL auto_increment, @@ -1510,9 +1524,9 @@ CREATE TABLE `sys_group` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_ini` --- +-- CREATE TABLE `sys_ini` ( `sysini_id` int(11) unsigned NOT NULL auto_increment, @@ -1522,9 +1536,9 @@ CREATE TABLE `sys_ini` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_log` --- +-- CREATE TABLE `sys_log` ( `syslog_id` int(11) unsigned NOT NULL auto_increment, @@ -1590,9 +1604,9 @@ CREATE TABLE IF NOT EXISTS `sys_theme` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `sys_user` --- +-- CREATE TABLE `sys_user` ( `userid` int(11) unsigned NOT NULL auto_increment, @@ -1613,7 +1627,7 @@ CREATE TABLE `sys_user` ( `default_group` int(11) unsigned NOT NULL default '0', `client_id` int(11) unsigned NOT NULL default '0', `id_rsa` VARCHAR( 2000 ) NOT NULL default '', - `ssh_rsa` VARCHAR( 600 ) NOT NULL default '', + `ssh_rsa` VARCHAR( 600 ) NOT NULL default '', PRIMARY KEY (`userid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; @@ -1650,12 +1664,11 @@ CREATE TABLE `web_backup` ( `backup_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `server_id` int(10) unsigned NOT NULL, `parent_domain_id` int(10) unsigned NOT NULL, - `backup_type` enum('web','mongodb','mysql') NOT NULL DEFAULT 'web', - `backup_mode` varchar(64) NOT NULL DEFAULT '', - `tstamp` int(10) unsigned NOT NULL, - `filename` varchar(255) NOT NULL, - `filesize` VARCHAR(10) NOT NULL, - PRIMARY KEY (`backup_id`) + `backup_type` enum('web','mysql') NOT NULL DEFAULT 'web', + `backup_mode` varchar(64) NOT NULL DEFAULT '', + `tstamp` int(10) unsigned NOT NULL, + `filename` varchar(255) NOT NULL, + PRIMARY KEY (`backup_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- @@ -1706,15 +1719,14 @@ CREATE TABLE IF NOT EXISTS `web_database_user` ( `database_user` varchar(64) DEFAULT NULL, `database_user_prefix` varchar(50) NOT NULL default '', `database_password` varchar(64) DEFAULT NULL, - `database_password_mongo` varchar(32) DEFAULT NULL, PRIMARY KEY (`database_user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- --- +-- -- Table structure for table `web_domain` --- +-- CREATE TABLE `web_domain` ( `domain_id` int(11) unsigned NOT NULL auto_increment, @@ -2114,41 +2126,41 @@ INSERT INTO `country` (`iso`, `name`, `printable_name`, `iso3`, `numcode`) VALUE -- -------------------------------------------------------- --- +-- -- Dumping data for table `dns_template` --- +-- INSERT INTO `dns_template` (`template_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `name`, `fields`, `template`, `visible`) VALUES (1, 1, 1, 'riud', 'riud', '', 'Default', 'DOMAIN,IP,NS1,NS2,EMAIL', '[ZONE]\norigin={DOMAIN}.\nns={NS1}.\nmbox={EMAIL}.\nrefresh=7200\nretry=540\nexpire=604800\nminimum=86400\nttl=3600\n\n[DNS_RECORDS]\nA|{DOMAIN}.|{IP}|0|3600\nA|www|{IP}|0|3600\nA|mail|{IP}|0|3600\nNS|{DOMAIN}.|{NS1}.|0|3600\nNS|{DOMAIN}.|{NS2}.|0|3600\nMX|{DOMAIN}.|mail.{DOMAIN}.|10|3600', 'y'); -- -------------------------------------------------------- --- +-- -- Dumping data for table `help_faq` --- +-- INSERT INTO `help_faq` VALUES (1,1,0,'I would like to know ...','Yes, of course.',1,1,'riud','riud','r'); -- -------------------------------------------------------- --- +-- -- Dumping data for table `help_faq_sections` --- +-- INSERT INTO `help_faq_sections` VALUES (1,'General',0,NULL,NULL,NULL,NULL,NULL); -- -------------------------------------------------------- --- +-- -- Dumping data for table `software_repo` --- +-- INSERT INTO `software_repo` (`software_repo_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `repo_name`, `repo_url`, `repo_username`, `repo_password`, `active`) VALUES (1, 1, 1, 'riud', 'riud', '', 'ISPConfig Addons', 'http://repo.ispconfig.org/addons/', '', '', 'n'); -- -------------------------------------------------------- --- +-- -- Dumping data for table `spamfilter_policy` --- +-- INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`) VALUES(1, 1, 0, 'riud', 'riud', 'r', 'Non-paying', 'N', 'N', 'N', 'N', 'Y', 'Y', 'Y', 'N', 'Y', '', '', '', '', '', '', 3, 7, 10, 0, 0, '', '', '', '', 'N', 'N', 'N', '', '', '', '', '', '', '', 0, ''); INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `policy_name`, `virus_lover`, `spam_lover`, `banned_files_lover`, `bad_header_lover`, `bypass_virus_checks`, `bypass_spam_checks`, `bypass_banned_checks`, `bypass_header_checks`, `spam_modifies_subj`, `virus_quarantine_to`, `spam_quarantine_to`, `banned_quarantine_to`, `bad_header_quarantine_to`, `clean_quarantine_to`, `other_quarantine_to`, `spam_tag_level`, `spam_tag2_level`, `spam_kill_level`, `spam_dsn_cutoff_level`, `spam_quarantine_cutoff_level`, `addr_extension_virus`, `addr_extension_spam`, `addr_extension_banned`, `addr_extension_bad_header`, `warnvirusrecip`, `warnbannedrecip`, `warnbadhrecip`, `newvirus_admin`, `virus_admin`, `banned_admin`, `bad_header_admin`, `spam_admin`, `spam_subject_tag`, `spam_subject_tag2`, `message_size_limit`, `banned_rulenames`) VALUES(2, 1, 0, 'riud', 'riud', 'r', 'Uncensored', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', NULL, NULL, NULL, NULL, NULL, NULL, 3, 999, 999, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2160,34 +2172,34 @@ INSERT INTO `spamfilter_policy` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_us -- -------------------------------------------------------- --- +-- -- Dumping data for table `sys_group` --- +-- INSERT INTO `sys_group` (`groupid`, `name`, `description`, `client_id`) VALUES (1, 'admin', 'Administrators group', 0); -- -------------------------------------------------------- --- +-- -- Dumping data for table `sys_ini` --- +-- INSERT INTO `sys_ini` (`sysini_id`, `config`) VALUES (1, ''); -- -------------------------------------------------------- --- +-- -- Dumping data for table `sys_user` --- +-- INSERT INTO `sys_theme` (`var_id`, `tpl_name`, `username`, `logo_url`) VALUES (NULL, 'default', 'global', 'themes/default/images/header_logo.png'); INSERT INTO `sys_theme` (`var_id`, `tpl_name`, `username`, `logo_url`) VALUES (NULL, 'default-v2', 'global', 'themes/default-v2/images/header_logo.png'); -- -------------------------------------------------------- --- +-- -- Dumping data for table `sys_user` --- +-- INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `username`, `passwort`, `modules`, `startmodule`, `app_theme`, `typ`, `active`, `language`, `groups`, `default_group`, `client_id`) VALUES (1, 1, 0, 'riud', 'riud', '', 'admin', '21232f297a57a5a743894a0e4a801fc3', 'dashboard,admin,client,mail,monitor,sites,dns,vm,tools,help', 'dashboard', 'default', 'admin', 1, 'en', '1,2', 1, 0); @@ -2196,7 +2208,7 @@ INSERT INTO `sys_user` (`userid`, `sys_userid`, `sys_groupid`, `sys_perm_user`, -- -- Dumping data for table `sys_config` -- - + INSERT INTO sys_config VALUES ('1','db','db_version','3.0.5.3'); -SET FOREIGN_KEY_CHECKS = 1; +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/install/tpl/amavisd_user_config.master b/install/tpl/amavisd_user_config.master index f37795501d..c89f875883 100644 --- a/install/tpl/amavisd_user_config.master +++ b/install/tpl/amavisd_user_config.master @@ -75,12 +75,6 @@ $LOGFILE = "/var/log/amavis.log"; # (defaults to empty, no log) # Set the log_level to 5 for debugging $log_level = 0; # (defaults to 0) -# DKIM - -$enable_dkim_verification = 1; -$enable_dkim_signing = 1; # load DKIM signing code, -@dkim_signature_options_bysender_maps = ( -{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } ); #------------ Do not modify anything below this line ------------- 1; # insure a defined return diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master index 8c8bedd2b7..b217603e69 100644 --- a/install/tpl/config.inc.php.master +++ b/install/tpl/config.inc.php.master @@ -148,9 +148,11 @@ $conf['theme'] = '{theme}'; $conf['html_content_encoding'] = 'utf-8'; // example: utf-8, iso-8859-1, ... $conf['logo'] = 'themes/default/images/header_logo.png'; + //** Default Language and Timezone $conf['language'] = '{language}'; $conf['debug_language'] = false; +$conf['language_file_import_enabled'] = {language_file_import_enabled}; // Bool value: true / false //* Complete timezone list: http://php.net/manual/en/timezones.php $conf['timezone'] = '{timezone}'; diff --git a/install/tpl/opensuse_amavisd_conf.master b/install/tpl/opensuse_amavisd_conf.master index 5f9f867dc3..d0d8a87773 100644 --- a/install/tpl/opensuse_amavisd_conf.master +++ b/install/tpl/opensuse_amavisd_conf.master @@ -778,11 +778,5 @@ $spam_admin = undef; $DO_SYSLOG = 1; $LOGFILE = "/var/log/amavis.log"; # (defaults to empty, no log) -# DKIM - -$enable_dkim_verification = 1; -$enable_dkim_signing = 1; # load DKIM signing code, -@dkim_signature_options_bysender_maps = ( -{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } ); 1; # insure a defined return diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index d22a0722f3..b822131cee 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -5,13 +5,12 @@ dnsserver=mydns [server] -auto_network_configuration=n -ip_address=0.0.0.0 -netmask=255.255.255.0 -v6_prefix= -gateway=0.0.0.0 -hostname=server1.domain.tld -nameservers=8.8.8.8,8.8.4.4 +auto_network_configuration=n +ip_address=0.0.0.0 +netmask=255.255.255.0 +gateway=0.0.0.0 +hostname=server1.domain.tld +nameservers=8.8.8.8,8.8.4.4 firewall=bastille loglevel=2 admin_notify_events=1 @@ -28,7 +27,6 @@ munin_password= module=postfix_mysql maildir_path=/var/vmail/[domain]/[localpart] homedir_path=/var/vmail -dkim_path=/etc/postfix/dkim pop3_imap_daemon=courier mail_filter_syntax=maildrop mailuser_uid=5000 @@ -46,7 +44,6 @@ overquota_notify_admin=y overquota_notify_client=y overquota_notify_freq=7 overquota_notify_onok=n -sendmail_path=/usr/sbin/sendmail [getmail] getmail_config_dir=/etc/getmail @@ -54,12 +51,12 @@ getmail_config_dir=/etc/getmail [web] server_type=apache website_basedir=/var/www -website_path=/var/www/clients/client[client_id]/web[website_id] -website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/ -website_symlinks_rel=n -vhost_conf_dir=/etc/apache2/sites-available -vhost_conf_enabled_dir=/etc/apache2/sites-enabled -nginx_vhost_conf_dir=/etc/nginx/sites-available +website_path=/var/www/clients/client[client_id]/web[website_id] +website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/ +website_symlinks_rel=n +vhost_conf_dir=/etc/apache2/sites-available +vhost_conf_enabled_dir=/etc/apache2/sites-enabled +nginx_vhost_conf_dir=/etc/nginx/sites-available nginx_vhost_conf_enabled_dir=/etc/nginx/sites-enabled security_level=20 user=www-data @@ -93,12 +90,11 @@ add_web_users_to_sshusers_group=y connect_userid_to_webid=n connect_userid_to_webid_start=10000 web_folder_protection=y -<<<<<<< .minephp_ini_check_minutes=1 -=======overquota_notify_admin=y +overquota_notify_admin=y overquota_notify_client=y overquota_notify_freq=7 overquota_notify_onok=n ->>>>>>> .theirs + [dns] bind_user=root bind_group=bind diff --git a/install/tpl/system.ini.master b/install/tpl/system.ini.master index abb89311cd..14a75e42d2 100644 --- a/install/tpl/system.ini.master +++ b/install/tpl/system.ini.master @@ -23,7 +23,6 @@ dblist_phpmyadmin_link=y phpmyadmin_url=/phpmyadmin webftp_url= client_username_web_check_disabled=n -reseller_can_use_options=n [tools] diff --git a/install/update.php b/install/update.php index b7753dc7e7..1999bc0c2d 100644 --- a/install/update.php +++ b/install/update.php @@ -34,6 +34,8 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. error_reporting(E_ALL|E_STRICT); +define('INSTALLER_RUN', true); + //** The banner on the command line echo "\n\n".str_repeat('-',80)."\n"; echo " _____ ___________ _____ __ _ ____ @@ -99,6 +101,7 @@ $conf['theme'] = $conf_old['theme']; if($conf['language'] == '{language}') $conf['language'] = 'en'; $conf['timezone'] = (isset($conf_old['timezone']))?$conf_old['timezone']:'UTC'; if($conf['timezone'] == '{timezone}' or trim($conf['timezone']) == '') $conf['timezone'] = 'UTC'; +$conf['language_file_import_enabled'] = (isset($conf_old['language_file_import_enabled']))?$conf_old['language_file_import_enabled']:true; if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"]; if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"]; @@ -341,15 +344,10 @@ if($reconfigure_services_answer == 'yes') { if($conf['services']['firewall']) { - if($conf['ufw']['installed'] == true) { - //* Configure Ubuntu Firewall - $conf['services']['firewall'] = true; - swriteln('Configuring Ubuntu Firewall'); - $inst->configure_ufw_firewall(); - } else { + if($conf['bastille']['installed'] == true) { //* Configure Bastille Firewall swriteln('Configuring Bastille Firewall'); - $inst->configure_bastille_firewall(); + $inst->configure_firewall(); } } @@ -431,7 +429,7 @@ if($reconfigure_services_answer == 'yes') { } if($conf['services']['firewall']) { - if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); + //if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); } } diff --git a/interface/cache/empty.dir b/interface/cache/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/cache/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/lib/classes/aps_base.inc.php b/interface/lib/classes/aps_base.inc.php index 4c1512ba2a..b8f6ad9232 100644 --- a/interface/lib/classes/aps_base.inc.php +++ b/interface/lib/classes/aps_base.inc.php @@ -1,103 +1,103 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -// Constants describing instances -define('INSTANCE_PENDING', 0); -define('INSTANCE_INSTALL', 1); -define('INSTANCE_ERROR', 2); -define('INSTANCE_SUCCESS', 3); -define('INSTANCE_REMOVE', 4); - -// Constants describing packages -define('PACKAGE_LOCKED', 1); -define('PACKAGE_ENABLED', 2); -define('PACKAGE_OUTDATED', 3); -define('PACKAGE_ERROR_NOMETA', 4); - -class ApsBase -{ - protected $log_prefix = ''; - protected $fetch_url = ''; - protected $aps_version = ''; - protected $packages_dir = ''; - protected $temp_pkg_dir = ''; - protected $interface_pkg_dir = ''; - protected $interface_mode = false; // server mode by default - - /** - * Constructor - * - * @param $app the application instance (db handle + log method) - * @param $interface_mode act in interface (true) or server mode (false) - * @param $log_prefix a prefix to set before all log entries - */ - public function __construct($app, $log_prefix = 'APS: ', $interface_mode = false) - { - $this->log_prefix = $log_prefix; - $this->interface_mode = $interface_mode; - $this->fetch_url = 'apscatalog.com'; - $this->aps_version = '1'; - $this->packages_dir = ISPC_ROOT_PATH.'/aps_packages'; - $this->interface_pkg_dir = ISPC_ROOT_PATH.'/web/sites/aps_meta_packages'; - } - - /** - * Converts a given value to it's native representation in 1024 units - * - * @param $value the size to convert - * @return integer and string - */ - public function convertSize($value) - { - $unit = array('Bytes', 'KB', 'MB', 'GB', 'TB'); - return @round($value/pow(1024, ($i = floor(log($value, 1024)))), 2).' '.$unit[$i]; - } - - /** - * Determine a specific xpath from a given SimpleXMLElement handle. If the - * element is found, it's string representation is returned. If not, - * the return value will stay empty - * - * @param $xml_handle the SimpleXMLElement handle - * @param $query the XPath query - * @param $array define whether to return an array or a string - * @return $ret the return string - */ - protected function getXPathValue($xml_handle, $query, $array = false) - { - $ret = ''; - - $xp_result = @($xml_handle->xpath($query)) ? $xml_handle->xpath($query) : false; - if($xp_result !== false) $ret = (($array === false) ? (string)$xp_result[0] : $xp_result); - - return $ret; - } -} +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +// Constants describing instances +define('INSTANCE_PENDING', 0); +define('INSTANCE_INSTALL', 1); +define('INSTANCE_ERROR', 2); +define('INSTANCE_SUCCESS', 3); +define('INSTANCE_REMOVE', 4); + +// Constants describing packages +define('PACKAGE_LOCKED', 1); +define('PACKAGE_ENABLED', 2); +define('PACKAGE_OUTDATED', 3); +define('PACKAGE_ERROR_NOMETA', 4); + +class ApsBase +{ + protected $log_prefix = ''; + protected $fetch_url = ''; + protected $aps_version = ''; + protected $packages_dir = ''; + protected $temp_pkg_dir = ''; + protected $interface_pkg_dir = ''; + protected $interface_mode = false; // server mode by default + + /** + * Constructor + * + * @param $app the application instance (db handle + log method) + * @param $interface_mode act in interface (true) or server mode (false) + * @param $log_prefix a prefix to set before all log entries + */ + public function __construct($app, $log_prefix = 'APS: ', $interface_mode = false) + { + $this->log_prefix = $log_prefix; + $this->interface_mode = $interface_mode; + $this->fetch_url = 'apscatalog.com'; + $this->aps_version = '1'; + $this->packages_dir = ISPC_ROOT_PATH.'/aps_packages'; + $this->interface_pkg_dir = ISPC_ROOT_PATH.'/web/sites/aps_meta_packages'; + } + + /** + * Converts a given value to it's native representation in 1024 units + * + * @param $value the size to convert + * @return integer and string + */ + public function convertSize($value) + { + $unit = array('Bytes', 'KB', 'MB', 'GB', 'TB'); + return @round($value/pow(1024, ($i = floor(log($value, 1024)))), 2).' '.$unit[$i]; + } + + /** + * Determine a specific xpath from a given SimpleXMLElement handle. If the + * element is found, it's string representation is returned. If not, + * the return value will stay empty + * + * @param $xml_handle the SimpleXMLElement handle + * @param $query the XPath query + * @param $array define whether to return an array or a string + * @return $ret the return string + */ + protected function getXPathValue($xml_handle, $query, $array = false) + { + $ret = ''; + + $xp_result = @($xml_handle->xpath($query)) ? $xml_handle->xpath($query) : false; + if($xp_result !== false) $ret = (($array === false) ? (string)$xp_result[0] : $xp_result); + + return $ret; + } +} ?> \ No newline at end of file diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php index 2c6906efda..00b1d76327 100644 --- a/interface/lib/classes/aps_crawler.inc.php +++ b/interface/lib/classes/aps_crawler.inc.php @@ -1,592 +1,592 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ -require_once('aps_base.inc.php'); - -@set_time_limit(0); -@ignore_user_abort(1); - -class ApsCrawler extends ApsBase -{ - - //public $app_download_url_list = array(); - - /** - * Constructor - * - * @param $app the application instance (db handle + log method) - * @param $interface_mode act in interface (true) or server mode (false) - */ - public function __construct($app, $interface_mode = false) - { - parent::__construct($app, 'APS crawler: ', $interface_mode); - } - - /** - * Before the cron is executed, make sure all necessary options are set - * and all functions (i.e. cURL) are available - */ - private function checkRequirements() - { - global $app; - - try - { - // Check if allow_url_fopen is enabled - if(!@ini_get('allow_url_fopen')) throw new Exception('allow_url_fopen is not enabled'); - // Check if the cURL module is available - if(!function_exists('curl_version')) throw new Exception('cURL is not available'); - - // Check if used folders are writable - if($this->interface_mode) - { - if(!is_writable($this->interface_pkg_dir)) - throw new Exception('the folder '.basename($this->interface_pkg_dir).' is not writable'); - } - else - { - if(!is_writable($this->packages_dir)) - throw new Exception('the folder '.basename($this->packages_dir).' is not writable'); - } - - return true; - } - catch(Exception $e) - { - $app->log($this->log_prefix.'Aborting execution because '.$e->getMessage(), LOGLEVEL_ERROR); - return false; - } - } - - /** - * Remove a directory recursively - * In case of error be silent - * - * @param $dir the directory to remove - */ - private function removeDirectory($dir) - { - if(is_dir($dir)) - { - $files = scandir($dir); - foreach($files as $file) - { - if($file != '.' && $file != '..') - if(filetype($dir.'/'.$file) == 'dir') $this->removeDirectory($dir.'/'.$file); - else @unlink($dir.'/'.$file); - } - reset($files); - @rmdir($dir); - } - } - - - /** - * Fetch HTML data from one or more given URLs - * If a string is given, a string is returned, if an array of URLs should - * be fetched, the responses of the parallel queries are returned as array - * - * @param $input the string or array to fetch - * @return $ret a query response string or array - */ - private function fetchPage($input) - { - $ret = array(); - $url = array(); - $conn = array(); - - // Make sure we are working with an array, further on - if(!is_array($input)) $url[] = $input; - else $url = $input; - - // Build the single cURL handles and add them to a multi handle - $mh = curl_multi_init(); - for($i = 0; $i < count($url); $i++) - { - $conn[$i] = curl_init('http://'.$this->fetch_url.$url[$i]); - curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, true); - curl_multi_add_handle($mh, $conn[$i]); - } - - $active = 0; - do curl_multi_exec($mh, $active); - while($active > 0); - - // Get the response(s) - for($i = 0; $i < count($url); $i++) - { - $ret[$i] = curl_multi_getcontent($conn[$i]); - curl_multi_remove_handle($mh, $conn[$i]); - curl_close($conn[$i]); - } - curl_multi_close($mh); - - if(count($url) == 1) $ret = $ret[0]; - - return $ret; - } - - /** - * Fetch binary data from a given array - * The data is retrieved in binary mode and - * then directly written to an output file - * - * @param $input a specially structed array - * @see $this->startUpdate() - */ - private function fetchFiles($input) - { - $fh = array(); - $url = array(); - $conn = array(); - - // Build the single cURL handles and add them to a multi handle - $mh = curl_multi_init(); - - // Process each app - for($i = 0; $i < count($input); $i++) - { - $conn[$i] = curl_init($input[$i]['url']); - $fh[$i] = fopen($input[$i]['localtarget'], 'wb'); - - curl_setopt($conn[$i], CURLOPT_BINARYTRANSFER, true); - curl_setopt($conn[$i], CURLOPT_FILE, $fh[$i]); - curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); - curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); - curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); - - curl_multi_add_handle($mh, $conn[$i]); - } - - $active = 0; - do curl_multi_exec($mh, $active); - while($active > 0); - - // Close the handles - for($i = 0; $i < count($input); $i++) - { - fclose($fh[$i]); - curl_multi_remove_handle($mh, $conn[$i]); - curl_close($conn[$i]); - } - curl_multi_close($mh); - } - - /** - * A method to build query URLs out of a list of vendors - * - */ - private function formatVendorCallback($array_item) - { - $array_item = str_replace(' ', '%20', $array_item); - $array_item = str_replace('http://', '', $array_item); - $array_item = '/'.$this->aps_version.'.atom?vendor='.$array_item.'&pageSize=100'; - return($array_item); - } - - /** - * The main method which performs the actual crawling - */ - public function startCrawler() - { - global $app; - - try - { - // Make sure the requirements are given so that this script can execute - $req_ret = $this->checkRequirements(); - if(!$req_ret) return false; - - // Execute the open task and first fetch all vendors (APS catalog API 1.1, p. 12) - $app->log($this->log_prefix.'Fetching data from '.$this->fetch_url); - - $vendor_page = $this->fetchPage('/all-app/'); //$vendor_page = $this->fetchPage('/'.$this->aps_version.'/'); - preg_match_all("/\<a href=\"(.+)\/\" class=\"vendor\"/i", $vendor_page, $matches); - $vendors = array_map('urldecode', $matches[1]); - if(!$vendors) throw new Exception('Unable to fetch vendors. Aborting'); - - // Format all vendors for further processing (i.e. typo3.org -> /1.atom?vendor=typo3.org&pageSize=100 - //array_walk($vendors, array($this, 'formatVendorCallback')); - if(is_array($vendors)) { - foreach($vendors as $key => $array_item) { - $vendors[$key] = $this->formatVendorCallback($array_item); - } - } - - // Process all vendors in chunks of 50 entries - $vendor_chunks = array_chunk($vendors, 50); - //var_dump($vendor_chunks); - - // Get all known apps from the database and the highest known version - // Note: A dirty hack is used for numerical sorting of the VARCHAR field Version: +0 -> cast - // A longer but typesafe way would be: ORDER BY CAST(REPLACE(Version, '.', '') AS UNSIGNED) DESC - $existing_apps = $app->db->queryAllRecords("SELECT * FROM ( - SELECT name AS Name, CONCAT(version, '-', CAST(`release` AS CHAR)) AS CurrentVersion - FROM aps_packages ORDER BY REPLACE(version, '.', '')+0 DESC, `release` DESC - ) as Versions GROUP BY name"); - //var_dump($existing_apps); - - // Used for statistics later - $apps_in_repo = 0; - $apps_updated = 0; - $apps_downloaded = 0; - - $apps_to_dl = array(); - - for($i = 0; $i < count($vendor_chunks); $i++) - { - // Fetch all apps for the current chunk of vendors - $apps = $this->fetchPage($vendor_chunks[$i]); - - for($j = 0; $j < count($apps); $j++) - { - // Before parsing, make sure it's worth the work by checking if at least one app exists - $apps_count = substr_count($apps[$j], '<opensearch:totalResults>0</opensearch:totalResults>'); - if($apps_count == 0) // obviously this vendor provides one or more apps - { - // Rename namespaces and register them - $xml = str_replace("xmlns=", "ns=", $apps[$j]); - $sxe = new SimpleXMLElement($xml); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - // Fetching values of interest - $app_name = parent::getXPathValue($sxe, 'entry[position()=1]/a:name'); - $app_version = parent::getXPathValue($sxe, 'entry[position()=1]/a:version'); - $app_release = parent::getXPathValue($sxe, 'entry[position()=1]/a:release'); - - // Find out a (possibly) existing package version - $ex_ver = ''; - /* - array_walk($existing_apps, - create_function('$v, $k, $ex_ver', 'if($v["Name"] == "'.$app_name.'") $ex_ver = $v["CurrentVersion"];'), &$ex_ver); - */ - if(is_array($existing_apps)) { - foreach($existing_apps as $k => $v) { - if($v["Name"] == $app_name) $ex_ver = $v["CurrentVersion"]; - } - } - - $new_ver = $app_version.'-'.$app_release; - $local_intf_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$new_ver.'.app.zip/'; - - // Proceed if a newer or at least equal version has been found with server mode or - // interface mode is activated and there are no valid APP-META.xml and PKG_URL existing yet - if((!$this->interface_mode && version_compare($new_ver, $ex_ver) >= 0) || ($this->interface_mode && (!file_exists($local_intf_folder.'APP-META.xml') || filesize($local_intf_folder.'APP-META.xml') == 0 || !file_exists($local_intf_folder.'PKG_URL') || filesize($local_intf_folder.'PKG_URL') == 0))){ - // Check if we already have an old version of this app - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) $apps_updated++; - - $app_dl = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@href"); - $app_filesize = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@length"); - $app_metafile = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='meta']/@href"); - - //$this->app_download_url_list[$app_name.'-'.$new_ver.'.app.zip'] = $app_dl; - // Skip ASP.net packages because they can't be used at all - $asp_handler = parent::getXPathValue($sxe, '//aspnet:handler'); - $asp_permissions = parent::getXPathValue($sxe, '//aspnet:permissions'); - $asp_version = parent::getXPathValue($sxe, '//aspnet:version'); - if(!empty($asp_handler) || !empty($asp_permissions) || !empty($asp_version)) continue; - - // Interface mode (download only parts) - if($this->interface_mode) - { - // Delete an obviously out-dated version from the system and DB - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) - { - $old_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; - if(file_exists($old_folder)) $this->removeDirectory($old_folder); - - /* - $app->db->query("UPDATE aps_packages SET package_status = '".PACKAGE_OUTDATED."' WHERE name = '". - $app->db->quote($app_name)."' AND CONCAT(version, '-', CAST(`release` AS CHAR)) = '". - $app->db->quote($ex_ver)."';"); - */ - $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE name = '". - $app->db->quote($app_name)."' AND CONCAT(version, '-', CAST(`release` AS CHAR)) = '". - $app->db->quote($ex_ver)."';"); - $app->db->datalogUpdate('aps_packages', "package_status = ".PACKAGE_OUTDATED, 'id', $tmp['id']); - unset($tmp); - } - - // Create the local folder if not yet existing - if(!file_exists($local_intf_folder)) @mkdir($local_intf_folder, 0777, true); - - // Save the package URL in an extra file because it's not part of the APP-META.xml file - @file_put_contents($local_intf_folder.'PKG_URL', $app_dl); - - // Download the meta file - $local_metafile = $local_intf_folder.'APP-META.xml'; - if(!file_exists($local_metafile) || filesize($local_metafile) == 0) - { - $apps_to_dl[] = array('name' => 'APP-META.xml', - 'url' => $app_metafile, - 'filesize' => 0, - 'localtarget' => $local_metafile); - $apps_downloaded++; - } - - // Download package license - $license = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='eula']/@href"); - if($license != '') - { - $local_license = $local_intf_folder.'LICENSE'; - if(!file_exists($local_license) || filesize($local_license) == 0) - { - $apps_to_dl[] = array('name' => basename($license), - 'url' => $license, - 'filesize' => 0, - 'localtarget' => $local_license); - } - } - - // Download package icon - $icon = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='icon']/@href"); - if($icon != '') - { - $local_icon = $local_intf_folder.basename($icon); - if(!file_exists($local_icon) || filesize($local_icon) == 0) - { - $apps_to_dl[] = array('name' => basename($icon), - 'url' => $icon, - 'filesize' => 0, - 'localtarget' => $local_icon); - } - } - - // Download available screenshots - $screenshots = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='screenshot']", true); - if(!empty($screenshots)) - { - foreach($screenshots as $screen) - { - $local_screen = $local_intf_folder.basename($screen['href']); - if(!file_exists($local_screen) || filesize($local_screen) == 0) - { - $apps_to_dl[] = array('name' => basename($screen['href']), - 'url' => $screen['href'], - 'filesize' => 0, - 'localtarget' => $local_screen); - } - } - } - } - else // Server mode (download whole ZIP archive) - { - // Delete an obviously out-dated version from the system - if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) - { - $old_file = $this->packages_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; - if(file_exists($old_file)) $this->removeDirectory($old_file); - } - - // Attention: $new_ver can also be == $ex_ver (according to version_compare >= 0) - $local_zip = $this->packages_dir.'/'.$app_name.'-'.$new_ver.'.app.zip'; - - // Before re-downloading a file, make sure it's not yet existing on HDD (due to DB inconsistency) - if((file_exists($local_zip) && (filesize($local_zip) == $app_filesize)) === false) - { - $apps_to_dl[] = array('name' => $app_name, - 'url' => $app_dl, - 'filesize' => $app_filesize, - 'localtarget' => $local_zip); - $apps_downloaded++; - } - } - } - - unset($sxe); - $apps_in_repo++; - } - } - //var_dump($apps); - - // For memory reasons, unset the current vendor and his apps - unset($apps); - } - - // Shuffle the download array (in order to compensate unexpected php aborts) - shuffle($apps_to_dl); - - // After collecting all provisioned apps, download them - $apps_to_dl_chunks = array_chunk($apps_to_dl, 10); - - for($i = 0; $i < count($apps_to_dl_chunks); $i++) - { - $this->fetchFiles($apps_to_dl_chunks[$i]); - - // Check the integrity of all downloaded files - // but exclude cases where no filesize is available (i.e. screenshot or metafile download) - for($j = 0; $j < count($apps_to_dl_chunks[$i]); $j++) - { - if($apps_to_dl_chunks[$i][$j]['filesize'] != 0 && - $apps_to_dl_chunks[$i][$j]['filesize'] != filesize($apps_to_dl_chunks[$i][$j]['localtarget'])) - { - $app->log($this->log_prefix.' The filesize of the package "'. - $apps_to_dl_chunks[$i][$j]['name'].'" is wrong. Download failure?', LOGLEVEL_WARN); - } - } - } - - $app->log($this->log_prefix.'Processed '.$apps_in_repo. - ' apps from the repo. Downloaded '.$apps_updated. - ' updates, '.$apps_downloaded.' new apps'); - } - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - return false; - } - } - - /** - * Read in all possible packages from the interface packages folder and - * check if they are not ASP.net code (as this can't be processed). - * - * Note: There's no need to check if the packages to register are newer - * than those in the database because this already happended in startCrawler() - */ - public function parseFolderToDB() - { - global $app; - - try - { - // This method must be used in interface mode - if(!$this->interface_mode) return false; - - $pkg_list = array(); - - // Read in every package having a correct filename - $temp_handle = @dir($this->interface_pkg_dir); - if(!$temp_handle) throw new Exception('The temp directory is not accessible'); - while($folder = $temp_handle->read()) - if(substr($folder, -8) == '.app.zip') $pkg_list[] = $folder; - $temp_handle->close(); - - // If no packages are available -> exception (because at this point there should exist packages) - if(empty($pkg_list)) throw new Exception('No packages to read in'); - - // Get registered packages and mark non-existant packages with an error code to omit the install - $existing_packages = array(); - $path_query = $app->db->queryAllRecords('SELECT path AS Path FROM aps_packages;'); - foreach($path_query as $path) $existing_packages[] = $path['Path']; - $diff = array_diff($existing_packages, $pkg_list); - foreach($diff as $todelete) { - /*$app->db->query("UPDATE aps_packages SET package_status = '".PACKAGE_ERROR_NOMETA."' - WHERE path = '".$app->db->quote($todelete)."';");*/ - $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE path = '".$app->db->quote($todelete)."';"); - $app->db->datalogUpdate('aps_packages', "package_status = ".PACKAGE_ERROR_NOMETA, 'id', $tmp['id']); - unset($tmp); - } - - // Register all new packages - $new_packages = array_diff($pkg_list, $existing_packages); - foreach($new_packages as $pkg) - { - // Load in meta file if existing and register its namespaces - $metafile = $this->interface_pkg_dir.'/'.$pkg.'/APP-META.xml'; - if(!file_exists($metafile)) - { - $app->log($this->log_prefix.'Cannot read metadata from '.$pkg, LOGLEVEL_ERROR); - continue; - } - - $metadata = file_get_contents($metafile); - $metadata = str_replace("xmlns=", "ns=", $metadata); - $sxe = new SimpleXMLElement($metadata); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - // Insert the new package - $pkg_name = parent::getXPathValue($sxe, 'name'); - $pkg_category = parent::getXPathValue($sxe, '//category'); - $pkg_version = parent::getXPathValue($sxe, 'version'); - $pkg_release = parent::getXPathValue($sxe, 'release'); - //$pkg_url = $this->app_download_url_list[$pkg]; - $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$pkg.'/PKG_URL'); - - /* - $app->db->query("INSERT INTO `aps_packages` - (`path`, `name`, `category`, `version`, `release`, `package_status`) VALUES - ('".$app->db->quote($pkg)."', '".$app->db->quote($pkg_name)."', - '".$app->db->quote($pkg_category)."', '".$app->db->quote($pkg_version)."', - ".$app->db->quote($pkg_release).", ".PACKAGE_ENABLED.");"); - */ - // Insert only if data is complete - if($pkg != '' && $pkg_name != '' && $pkg_category != '' && $pkg_version != '' && $pkg_release != '' && $pkg_url){ - $insert_data = "(`path`, `name`, `category`, `version`, `release`, `package_url`, `package_status`) VALUES - ('".$app->db->quote($pkg)."', '".$app->db->quote($pkg_name)."', - '".$app->db->quote($pkg_category)."', '".$app->db->quote($pkg_version)."', - ".$app->db->quote($pkg_release).", '".$app->db->quote($pkg_url)."', ".PACKAGE_ENABLED.");"; - - $app->db->datalogInsert('aps_packages', $insert_data, 'id'); - } else { - if(file_exists($this->interface_pkg_dir.'/'.$pkg)) $this->removeDirectory($this->interface_pkg_dir.'/'.$pkg); - } - } - } - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - $app->error($e->getMessage()); - return false; - } - } - - /** - * Add missing package URLs to database - */ - public function fixURLs() - { - global $app; - - try - { - // This method must be used in interface mode - if(!$this->interface_mode) return false; - - $incomplete_pkgs = $app->db->queryAllRecords("SELECT * FROM aps_packages WHERE package_url = ''"); - if(is_array($incomplete_pkgs) && !empty($incomplete_pkgs)){ - foreach($incomplete_pkgs as $incomplete_pkg){ - $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$incomplete_pkg['path'].'/PKG_URL'); - if($pkg_url != ''){ - $app->db->datalogUpdate('aps_packages', "package_url = '".$pkg_url."'", 'id', $incomplete_pkg['id']); - } - } - } - } - catch(Exception $e) - { - $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); - $app->error($e->getMessage()); - return false; - } - } -} +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ +require_once('aps_base.inc.php'); + +@set_time_limit(0); +@ignore_user_abort(1); + +class ApsCrawler extends ApsBase +{ + + //public $app_download_url_list = array(); + + /** + * Constructor + * + * @param $app the application instance (db handle + log method) + * @param $interface_mode act in interface (true) or server mode (false) + */ + public function __construct($app, $interface_mode = false) + { + parent::__construct($app, 'APS crawler: ', $interface_mode); + } + + /** + * Before the cron is executed, make sure all necessary options are set + * and all functions (i.e. cURL) are available + */ + private function checkRequirements() + { + global $app; + + try + { + // Check if allow_url_fopen is enabled + if(!@ini_get('allow_url_fopen')) throw new Exception('allow_url_fopen is not enabled'); + // Check if the cURL module is available + if(!function_exists('curl_version')) throw new Exception('cURL is not available'); + + // Check if used folders are writable + if($this->interface_mode) + { + if(!is_writable($this->interface_pkg_dir)) + throw new Exception('the folder '.basename($this->interface_pkg_dir).' is not writable'); + } + else + { + if(!is_writable($this->packages_dir)) + throw new Exception('the folder '.basename($this->packages_dir).' is not writable'); + } + + return true; + } + catch(Exception $e) + { + $app->log($this->log_prefix.'Aborting execution because '.$e->getMessage(), LOGLEVEL_ERROR); + return false; + } + } + + /** + * Remove a directory recursively + * In case of error be silent + * + * @param $dir the directory to remove + */ + private function removeDirectory($dir) + { + if(is_dir($dir)) + { + $files = scandir($dir); + foreach($files as $file) + { + if($file != '.' && $file != '..') + if(filetype($dir.'/'.$file) == 'dir') $this->removeDirectory($dir.'/'.$file); + else @unlink($dir.'/'.$file); + } + reset($files); + @rmdir($dir); + } + } + + + /** + * Fetch HTML data from one or more given URLs + * If a string is given, a string is returned, if an array of URLs should + * be fetched, the responses of the parallel queries are returned as array + * + * @param $input the string or array to fetch + * @return $ret a query response string or array + */ + private function fetchPage($input) + { + $ret = array(); + $url = array(); + $conn = array(); + + // Make sure we are working with an array, further on + if(!is_array($input)) $url[] = $input; + else $url = $input; + + // Build the single cURL handles and add them to a multi handle + $mh = curl_multi_init(); + for($i = 0; $i < count($url); $i++) + { + $conn[$i] = curl_init('http://'.$this->fetch_url.$url[$i]); + curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, true); + curl_multi_add_handle($mh, $conn[$i]); + } + + $active = 0; + do curl_multi_exec($mh, $active); + while($active > 0); + + // Get the response(s) + for($i = 0; $i < count($url); $i++) + { + $ret[$i] = curl_multi_getcontent($conn[$i]); + curl_multi_remove_handle($mh, $conn[$i]); + curl_close($conn[$i]); + } + curl_multi_close($mh); + + if(count($url) == 1) $ret = $ret[0]; + + return $ret; + } + + /** + * Fetch binary data from a given array + * The data is retrieved in binary mode and + * then directly written to an output file + * + * @param $input a specially structed array + * @see $this->startUpdate() + */ + private function fetchFiles($input) + { + $fh = array(); + $url = array(); + $conn = array(); + + // Build the single cURL handles and add them to a multi handle + $mh = curl_multi_init(); + + // Process each app + for($i = 0; $i < count($input); $i++) + { + $conn[$i] = curl_init($input[$i]['url']); + $fh[$i] = fopen($input[$i]['localtarget'], 'wb'); + + curl_setopt($conn[$i], CURLOPT_BINARYTRANSFER, true); + curl_setopt($conn[$i], CURLOPT_FILE, $fh[$i]); + curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); + curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); + curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); + + curl_multi_add_handle($mh, $conn[$i]); + } + + $active = 0; + do curl_multi_exec($mh, $active); + while($active > 0); + + // Close the handles + for($i = 0; $i < count($input); $i++) + { + fclose($fh[$i]); + curl_multi_remove_handle($mh, $conn[$i]); + curl_close($conn[$i]); + } + curl_multi_close($mh); + } + + /** + * A method to build query URLs out of a list of vendors + * + */ + private function formatVendorCallback($array_item) + { + $array_item = str_replace(' ', '%20', $array_item); + $array_item = str_replace('http://', '', $array_item); + $array_item = '/'.$this->aps_version.'.atom?vendor='.$array_item.'&pageSize=100'; + return($array_item); + } + + /** + * The main method which performs the actual crawling + */ + public function startCrawler() + { + global $app; + + try + { + // Make sure the requirements are given so that this script can execute + $req_ret = $this->checkRequirements(); + if(!$req_ret) return false; + + // Execute the open task and first fetch all vendors (APS catalog API 1.1, p. 12) + $app->log($this->log_prefix.'Fetching data from '.$this->fetch_url); + + $vendor_page = $this->fetchPage('/all-app/'); //$vendor_page = $this->fetchPage('/'.$this->aps_version.'/'); + preg_match_all("/\<a href=\"(.+)\/\" class=\"vendor\"/i", $vendor_page, $matches); + $vendors = array_map('urldecode', $matches[1]); + if(!$vendors) throw new Exception('Unable to fetch vendors. Aborting'); + + // Format all vendors for further processing (i.e. typo3.org -> /1.atom?vendor=typo3.org&pageSize=100 + //array_walk($vendors, array($this, 'formatVendorCallback')); + if(is_array($vendors)) { + foreach($vendors as $key => $array_item) { + $vendors[$key] = $this->formatVendorCallback($array_item); + } + } + + // Process all vendors in chunks of 50 entries + $vendor_chunks = array_chunk($vendors, 50); + //var_dump($vendor_chunks); + + // Get all known apps from the database and the highest known version + // Note: A dirty hack is used for numerical sorting of the VARCHAR field Version: +0 -> cast + // A longer but typesafe way would be: ORDER BY CAST(REPLACE(Version, '.', '') AS UNSIGNED) DESC + $existing_apps = $app->db->queryAllRecords("SELECT * FROM ( + SELECT name AS Name, CONCAT(version, '-', CAST(`release` AS CHAR)) AS CurrentVersion + FROM aps_packages ORDER BY REPLACE(version, '.', '')+0 DESC, `release` DESC + ) as Versions GROUP BY name"); + //var_dump($existing_apps); + + // Used for statistics later + $apps_in_repo = 0; + $apps_updated = 0; + $apps_downloaded = 0; + + $apps_to_dl = array(); + + for($i = 0; $i < count($vendor_chunks); $i++) + { + // Fetch all apps for the current chunk of vendors + $apps = $this->fetchPage($vendor_chunks[$i]); + + for($j = 0; $j < count($apps); $j++) + { + // Before parsing, make sure it's worth the work by checking if at least one app exists + $apps_count = substr_count($apps[$j], '<opensearch:totalResults>0</opensearch:totalResults>'); + if($apps_count == 0) // obviously this vendor provides one or more apps + { + // Rename namespaces and register them + $xml = str_replace("xmlns=", "ns=", $apps[$j]); + $sxe = new SimpleXMLElement($xml); + $namespaces = $sxe->getDocNamespaces(true); + foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); + + // Fetching values of interest + $app_name = parent::getXPathValue($sxe, 'entry[position()=1]/a:name'); + $app_version = parent::getXPathValue($sxe, 'entry[position()=1]/a:version'); + $app_release = parent::getXPathValue($sxe, 'entry[position()=1]/a:release'); + + // Find out a (possibly) existing package version + $ex_ver = ''; + /* + array_walk($existing_apps, + create_function('$v, $k, $ex_ver', 'if($v["Name"] == "'.$app_name.'") $ex_ver = $v["CurrentVersion"];'), &$ex_ver); + */ + if(is_array($existing_apps)) { + foreach($existing_apps as $k => $v) { + if($v["Name"] == $app_name) $ex_ver = $v["CurrentVersion"]; + } + } + + $new_ver = $app_version.'-'.$app_release; + $local_intf_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$new_ver.'.app.zip/'; + + // Proceed if a newer or at least equal version has been found with server mode or + // interface mode is activated and there are no valid APP-META.xml and PKG_URL existing yet + if((!$this->interface_mode && version_compare($new_ver, $ex_ver) >= 0) || ($this->interface_mode && (!file_exists($local_intf_folder.'APP-META.xml') || filesize($local_intf_folder.'APP-META.xml') == 0 || !file_exists($local_intf_folder.'PKG_URL') || filesize($local_intf_folder.'PKG_URL') == 0))){ + // Check if we already have an old version of this app + if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) $apps_updated++; + + $app_dl = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@href"); + $app_filesize = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='aps']/@length"); + $app_metafile = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='meta']/@href"); + + //$this->app_download_url_list[$app_name.'-'.$new_ver.'.app.zip'] = $app_dl; + // Skip ASP.net packages because they can't be used at all + $asp_handler = parent::getXPathValue($sxe, '//aspnet:handler'); + $asp_permissions = parent::getXPathValue($sxe, '//aspnet:permissions'); + $asp_version = parent::getXPathValue($sxe, '//aspnet:version'); + if(!empty($asp_handler) || !empty($asp_permissions) || !empty($asp_version)) continue; + + // Interface mode (download only parts) + if($this->interface_mode) + { + // Delete an obviously out-dated version from the system and DB + if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) + { + $old_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; + if(file_exists($old_folder)) $this->removeDirectory($old_folder); + + /* + $app->db->query("UPDATE aps_packages SET package_status = '".PACKAGE_OUTDATED."' WHERE name = '". + $app->db->quote($app_name)."' AND CONCAT(version, '-', CAST(`release` AS CHAR)) = '". + $app->db->quote($ex_ver)."';"); + */ + $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE name = '". + $app->db->quote($app_name)."' AND CONCAT(version, '-', CAST(`release` AS CHAR)) = '". + $app->db->quote($ex_ver)."';"); + $app->db->datalogUpdate('aps_packages', "package_status = ".PACKAGE_OUTDATED, 'id', $tmp['id']); + unset($tmp); + } + + // Create the local folder if not yet existing + if(!file_exists($local_intf_folder)) @mkdir($local_intf_folder, 0777, true); + + // Save the package URL in an extra file because it's not part of the APP-META.xml file + @file_put_contents($local_intf_folder.'PKG_URL', $app_dl); + + // Download the meta file + $local_metafile = $local_intf_folder.'APP-META.xml'; + if(!file_exists($local_metafile) || filesize($local_metafile) == 0) + { + $apps_to_dl[] = array('name' => 'APP-META.xml', + 'url' => $app_metafile, + 'filesize' => 0, + 'localtarget' => $local_metafile); + $apps_downloaded++; + } + + // Download package license + $license = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='eula']/@href"); + if($license != '') + { + $local_license = $local_intf_folder.'LICENSE'; + if(!file_exists($local_license) || filesize($local_license) == 0) + { + $apps_to_dl[] = array('name' => basename($license), + 'url' => $license, + 'filesize' => 0, + 'localtarget' => $local_license); + } + } + + // Download package icon + $icon = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='icon']/@href"); + if($icon != '') + { + $local_icon = $local_intf_folder.basename($icon); + if(!file_exists($local_icon) || filesize($local_icon) == 0) + { + $apps_to_dl[] = array('name' => basename($icon), + 'url' => $icon, + 'filesize' => 0, + 'localtarget' => $local_icon); + } + } + + // Download available screenshots + $screenshots = parent::getXPathValue($sxe, "entry[position()=1]/link[@a:type='screenshot']", true); + if(!empty($screenshots)) + { + foreach($screenshots as $screen) + { + $local_screen = $local_intf_folder.basename($screen['href']); + if(!file_exists($local_screen) || filesize($local_screen) == 0) + { + $apps_to_dl[] = array('name' => basename($screen['href']), + 'url' => $screen['href'], + 'filesize' => 0, + 'localtarget' => $local_screen); + } + } + } + } + else // Server mode (download whole ZIP archive) + { + // Delete an obviously out-dated version from the system + if(!empty($ex_ver) && version_compare($new_ver, $ex_ver) == 1) + { + $old_file = $this->packages_dir.'/'.$app_name.'-'.$ex_ver.'.app.zip'; + if(file_exists($old_file)) $this->removeDirectory($old_file); + } + + // Attention: $new_ver can also be == $ex_ver (according to version_compare >= 0) + $local_zip = $this->packages_dir.'/'.$app_name.'-'.$new_ver.'.app.zip'; + + // Before re-downloading a file, make sure it's not yet existing on HDD (due to DB inconsistency) + if((file_exists($local_zip) && (filesize($local_zip) == $app_filesize)) === false) + { + $apps_to_dl[] = array('name' => $app_name, + 'url' => $app_dl, + 'filesize' => $app_filesize, + 'localtarget' => $local_zip); + $apps_downloaded++; + } + } + } + + unset($sxe); + $apps_in_repo++; + } + } + //var_dump($apps); + + // For memory reasons, unset the current vendor and his apps + unset($apps); + } + + // Shuffle the download array (in order to compensate unexpected php aborts) + shuffle($apps_to_dl); + + // After collecting all provisioned apps, download them + $apps_to_dl_chunks = array_chunk($apps_to_dl, 10); + + for($i = 0; $i < count($apps_to_dl_chunks); $i++) + { + $this->fetchFiles($apps_to_dl_chunks[$i]); + + // Check the integrity of all downloaded files + // but exclude cases where no filesize is available (i.e. screenshot or metafile download) + for($j = 0; $j < count($apps_to_dl_chunks[$i]); $j++) + { + if($apps_to_dl_chunks[$i][$j]['filesize'] != 0 && + $apps_to_dl_chunks[$i][$j]['filesize'] != filesize($apps_to_dl_chunks[$i][$j]['localtarget'])) + { + $app->log($this->log_prefix.' The filesize of the package "'. + $apps_to_dl_chunks[$i][$j]['name'].'" is wrong. Download failure?', LOGLEVEL_WARN); + } + } + } + + $app->log($this->log_prefix.'Processed '.$apps_in_repo. + ' apps from the repo. Downloaded '.$apps_updated. + ' updates, '.$apps_downloaded.' new apps'); + } + catch(Exception $e) + { + $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); + return false; + } + } + + /** + * Read in all possible packages from the interface packages folder and + * check if they are not ASP.net code (as this can't be processed). + * + * Note: There's no need to check if the packages to register are newer + * than those in the database because this already happended in startCrawler() + */ + public function parseFolderToDB() + { + global $app; + + try + { + // This method must be used in interface mode + if(!$this->interface_mode) return false; + + $pkg_list = array(); + + // Read in every package having a correct filename + $temp_handle = @dir($this->interface_pkg_dir); + if(!$temp_handle) throw new Exception('The temp directory is not accessible'); + while($folder = $temp_handle->read()) + if(substr($folder, -8) == '.app.zip') $pkg_list[] = $folder; + $temp_handle->close(); + + // If no packages are available -> exception (because at this point there should exist packages) + if(empty($pkg_list)) throw new Exception('No packages to read in'); + + // Get registered packages and mark non-existant packages with an error code to omit the install + $existing_packages = array(); + $path_query = $app->db->queryAllRecords('SELECT path AS Path FROM aps_packages;'); + foreach($path_query as $path) $existing_packages[] = $path['Path']; + $diff = array_diff($existing_packages, $pkg_list); + foreach($diff as $todelete) { + /*$app->db->query("UPDATE aps_packages SET package_status = '".PACKAGE_ERROR_NOMETA."' + WHERE path = '".$app->db->quote($todelete)."';");*/ + $tmp = $app->db->queryOneRecord("SELECT id FROM aps_packages WHERE path = '".$app->db->quote($todelete)."';"); + $app->db->datalogUpdate('aps_packages', "package_status = ".PACKAGE_ERROR_NOMETA, 'id', $tmp['id']); + unset($tmp); + } + + // Register all new packages + $new_packages = array_diff($pkg_list, $existing_packages); + foreach($new_packages as $pkg) + { + // Load in meta file if existing and register its namespaces + $metafile = $this->interface_pkg_dir.'/'.$pkg.'/APP-META.xml'; + if(!file_exists($metafile)) + { + $app->log($this->log_prefix.'Cannot read metadata from '.$pkg, LOGLEVEL_ERROR); + continue; + } + + $metadata = file_get_contents($metafile); + $metadata = str_replace("xmlns=", "ns=", $metadata); + $sxe = new SimpleXMLElement($metadata); + $namespaces = $sxe->getDocNamespaces(true); + foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); + + // Insert the new package + $pkg_name = parent::getXPathValue($sxe, 'name'); + $pkg_category = parent::getXPathValue($sxe, '//category'); + $pkg_version = parent::getXPathValue($sxe, 'version'); + $pkg_release = parent::getXPathValue($sxe, 'release'); + //$pkg_url = $this->app_download_url_list[$pkg]; + $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$pkg.'/PKG_URL'); + + /* + $app->db->query("INSERT INTO `aps_packages` + (`path`, `name`, `category`, `version`, `release`, `package_status`) VALUES + ('".$app->db->quote($pkg)."', '".$app->db->quote($pkg_name)."', + '".$app->db->quote($pkg_category)."', '".$app->db->quote($pkg_version)."', + ".$app->db->quote($pkg_release).", ".PACKAGE_ENABLED.");"); + */ + // Insert only if data is complete + if($pkg != '' && $pkg_name != '' && $pkg_category != '' && $pkg_version != '' && $pkg_release != '' && $pkg_url){ + $insert_data = "(`path`, `name`, `category`, `version`, `release`, `package_url`, `package_status`) VALUES + ('".$app->db->quote($pkg)."', '".$app->db->quote($pkg_name)."', + '".$app->db->quote($pkg_category)."', '".$app->db->quote($pkg_version)."', + ".$app->db->quote($pkg_release).", '".$app->db->quote($pkg_url)."', ".PACKAGE_ENABLED.");"; + + $app->db->datalogInsert('aps_packages', $insert_data, 'id'); + } else { + if(file_exists($this->interface_pkg_dir.'/'.$pkg)) $this->removeDirectory($this->interface_pkg_dir.'/'.$pkg); + } + } + } + catch(Exception $e) + { + $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); + $app->error($e->getMessage()); + return false; + } + } + + /** + * Add missing package URLs to database + */ + public function fixURLs() + { + global $app; + + try + { + // This method must be used in interface mode + if(!$this->interface_mode) return false; + + $incomplete_pkgs = $app->db->queryAllRecords("SELECT * FROM aps_packages WHERE package_url = ''"); + if(is_array($incomplete_pkgs) && !empty($incomplete_pkgs)){ + foreach($incomplete_pkgs as $incomplete_pkg){ + $pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$incomplete_pkg['path'].'/PKG_URL'); + if($pkg_url != ''){ + $app->db->datalogUpdate('aps_packages', "package_url = '".$pkg_url."'", 'id', $incomplete_pkg['id']); + } + } + } + } + catch(Exception $e) + { + $app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_ERROR); + $app->error($e->getMessage()); + return false; + } + } +} ?> \ No newline at end of file diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php index 5a5cbe9a7e..5d1c79fc49 100644 --- a/interface/lib/classes/aps_guicontroller.inc.php +++ b/interface/lib/classes/aps_guicontroller.inc.php @@ -728,9 +728,8 @@ class ApsGUIController extends ApsBase // Using parse_url() to filter malformed URLs $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$icon); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); - + // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path + $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); $pkg['Icon'] = $path; } else $pkg['Icon'] = ''; @@ -744,8 +743,8 @@ class ApsGUIController extends ApsBase // Using parse_url() to filter malformed URLs $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$screen['path']); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); + // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path + $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); $pkg['Screenshots'][] = array('ScreenPath' => $path, 'ScreenDescription' => htmlspecialchars(trim((string)$screen->description))); @@ -843,4 +842,4 @@ class ApsGUIController extends ApsBase return $pkg; } } -?> +?> \ No newline at end of file diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php index 17aa7a2952..35bf7d55dc 100644 --- a/interface/lib/classes/custom_datasource.inc.php +++ b/interface/lib/classes/custom_datasource.inc.php @@ -105,6 +105,9 @@ class custom_datasource { case 'default_dnsserver': $field = 'dns_server'; break; + case 'default_slave_dnsserver': + $field = 'dns_server'; + break; case 'default_fileserver': $field = 'file_server'; break; diff --git a/interface/lib/classes/idn/empty.dir b/interface/lib/classes/idn/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/lib/classes/idn/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index 197c406483..ef3a52f868 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -199,9 +199,10 @@ class listform { $_SESSION['search']['limit'] = $app->functions->intval($_POST['search_limit']); } - if(preg_match('{^[0-9]$}',$_SESSION['search']['limit'])){ - $_SESSION['search']['limit'] = 15; - } + //if(preg_match('{^[0-9]$}',$_SESSION['search']['limit'])){ + // $_SESSION['search']['limit'] = 15; + //} + if(intval($_SESSION['search']['limit']) < 1) $_SESSION['search']['limit'] = 15; //* Get Config variables $list_name = $this->listDef['name']; diff --git a/interface/lib/classes/plugin_backuplist.inc.php b/interface/lib/classes/plugin_backuplist.inc.php index 2e0fdc5d3b..a527f233ee 100644 --- a/interface/lib/classes/plugin_backuplist.inc.php +++ b/interface/lib/classes/plugin_backuplist.inc.php @@ -57,7 +57,12 @@ class plugin_backuplist extends plugin_base { //* check if the user is owner of the parent domain $domain_backup = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_backup WHERE backup_id = ".$backup_id); - if(!$app->tform->checkOwnerPermisssions($this->dataRecord["parent_domain_id"])){ + + $check_perm = 'u'; + if($_GET['backup_action'] == 'download') $check_perm = 'r'; // only check read permissions on download, not update permissions + + $get_domain = $app->db->queryOneRecord("SELECT domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($domain_backup["parent_domain_id"])." AND ".$app->tform->getAuthSQL($check_perm)); + if(empty($get_domain) || !$get_domain) { $app->error($app->tform->lng('no_domain_perm')); } diff --git a/interface/lib/classes/remoting_lib.inc.php b/interface/lib/classes/remoting_lib.inc.php index 0c40a86262..7ecc663362 100644 --- a/interface/lib/classes/remoting_lib.inc.php +++ b/interface/lib/classes/remoting_lib.inc.php @@ -785,7 +785,7 @@ class remoting_lib { } else { if($primary_id != 0) { // update client permissions only if client_id > 0 - if($this->formDef['auth'] == 'yes' && $this->client_id > 0 && $this->sys_userid > 0 && $this->sys_default_group > 0) { + if($this->formDef['auth'] == 'yes' && $this->client_id > 0) { $sql_update .= '`sys_userid` = '.$this->sys_userid.', '; $sql_update .= '`sys_groupid` = '.$this->sys_default_group.', '; } diff --git a/interface/lib/classes/simplepie.inc.php b/interface/lib/classes/simplepie.inc.php index d6d2045ec0..4fcb2c3a7b 100644 --- a/interface/lib/classes/simplepie.inc.php +++ b/interface/lib/classes/simplepie.inc.php @@ -9200,7 +9200,7 @@ class SimplePie_Misc return $return; } - function element_implode($element) + static function element_implode($element) { $full = "<$element[tag]"; foreach ($element['attribs'] as $key => $value) @@ -10879,7 +10879,7 @@ class SimplePie_Misc * @param string $data Input data * @return string Output data */ - function entities_decode($data) + static function entities_decode($data) { $decoder = new SimplePie_Decode_HTML_Entities($data); return $decoder->parse(); diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index f4ea0d7de1..7cefb223c3 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -7,14 +7,14 @@ 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. + * 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 @@ -60,250 +60,250 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. class tform { - /** - * Definition of the database table (array) - * @var tableDef - */ - var $tableDef; - - /** - * Private - * @var action - */ - var $action; - - /** - * Table name (String) - * @var table_name - */ - var $table_name; - - /** - * Debug Variable - * @var debug - */ - var $debug = 0; - - /** - * name of the primary field of the database table (string) - * @var table_index - */ - var $table_index; - - /** - * contains the error messages - * @var errorMessage - */ - var $errorMessage = ''; - - var $dateformat = "d.m.Y"; - var $formDef = array(); - var $wordbook; - var $module; - var $primary_id; + /** + * Definition of the database table (array) + * @var tableDef + */ + var $tableDef; + + /** + * Private + * @var action + */ + var $action; + + /** + * Table name (String) + * @var table_name + */ + var $table_name; + + /** + * Debug Variable + * @var debug + */ + var $debug = 0; + + /** + * name of the primary field of the database table (string) + * @var table_index + */ + var $table_index; + + /** + * contains the error messages + * @var errorMessage + */ + var $errorMessage = ''; + + var $dateformat = "d.m.Y"; + var $formDef = array(); + var $wordbook; + var $module; + var $primary_id; var $diffrec = array(); - /** - * Loading of the table definition - * - * @param file: path to the form definition file - * @return true - */ - /* - function loadTableDef($file) { - global $app,$conf; - - include_once($file); - $this->tableDef = $table; - $this->table_name = $table_name; - $this->table_index = $table_index; - return true; - } - */ - - function loadFormDef($file,$module = '') { - global $app,$conf; - - include($file); - $this->formDef = $form; - - $this->module = $module; + /** + * Loading of the table definition + * + * @param file: path to the form definition file + * @return true + */ + /* + function loadTableDef($file) { + global $app,$conf; + + include_once($file); + $this->tableDef = $table; + $this->table_name = $table_name; + $this->table_index = $table_index; + return true; + } + */ + + function loadFormDef($file,$module = '') { + global $app,$conf; + + include($file); + $this->formDef = $form; + + $this->module = $module; $wb = array(); - + include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng'); - + if(is_array($wb)) $wb_global = $wb; - - if($module == '') { + + if($module == '') { $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng"; if(!file_exists($lng_file)) $lng_file = "lib/lang/en_".$this->formDef["name"].".lng"; include($lng_file); - } else { + } else { $lng_file = "../$module/lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng"; if(!file_exists($lng_file)) $lng_file = "../$module/lib/lang/en_".$this->formDef["name"].".lng"; include($lng_file); - } + } if(is_array($wb_global)) { $wb = $app->functions->array_merge($wb_global,$wb); } if(isset($wb_global)) unset($wb_global); - - $this->wordbook = $wb; - + + $this->wordbook = $wb; + $this->dateformat = $app->lng('conf_format_dateshort'); - return true; - } + return true; + } - /** - * Converts the data in the array to human readable format - * Datatype conversion e.g. to show the data in lists - * - * @param record - * @return record - */ - function decode($record,$tab) { - global $conf, $app; + /** + * Converts the data in the array to human readable format + * Datatype conversion e.g. to show the data in lists + * + * @param record + * @return record + */ + function decode($record,$tab) { + global $conf, $app; if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab)."); - $new_record = ''; + $new_record = ''; $table_idx = $this->formDef['db_table_idx']; if(isset($record[$table_idx])) $new_record[$table_idx] = $app->functions->intval($record[$table_idx ]); - + if(is_array($record)) { foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { - + //* Apply filter to record value. if(isset($field['filters']) && is_array($field['filters'])) { $record[$key] = $this->filterField($key, (isset($record[$key]))?$record[$key]:'', $field['filters'], 'SHOW'); } - + switch ($field['datatype']) { - case 'VARCHAR': - $new_record[$key] = $record[$key]; - break; - - case 'TEXT': - $new_record[$key] = $record[$key]; - break; + case 'VARCHAR': + $new_record[$key] = $record[$key]; + break; - case 'DATETSTAMP': - if($record[$key] > 0) { - $new_record[$key] = date($this->dateformat,$record[$key]); - } - break; + case 'TEXT': + $new_record[$key] = $record[$key]; + break; + case 'DATETSTAMP': + if($record[$key] > 0) { + $new_record[$key] = date($this->dateformat,$record[$key]); + } + break; + case 'DATE': - if($record[$key] != '' && $record[$key] != '0000-00-00') { + if($record[$key] != '' && $record[$key] != '0000-00-00') { $tmp = explode('-',$record[$key]); - $new_record[$key] = date($this->dateformat,mktime(0, 0, 0, $tmp[1] , $tmp[2], $tmp[0])); - } - break; - - case 'INTEGER': - $new_record[$key] = $app->functions->intval($record[$key]); - break; - - case 'DOUBLE': - $new_record[$key] = $record[$key]; - break; - - case 'CURRENCY': - $new_record[$key] = $app->functions->currency_format($record[$key]); - break; - - default: - $new_record[$key] = $record[$key]; - } - } - - } - - return $new_record; - } - - /** - * Get the key => value array of a form filled from a datasource definitiom - * - * @param field = array with field definition - * @param record = Dataset as array - * @return key => value array for the value field of a form - */ - - function getDatasourceData($field, $record) { - global $app; + $new_record[$key] = date($this->dateformat,mktime(0, 0, 0, $tmp[1] , $tmp[2], $tmp[0])); + } + break; - $values = array(); + case 'INTEGER': + $new_record[$key] = $app->functions->intval($record[$key]); + break; - if($field["datasource"]["type"] == 'SQL') { + case 'DOUBLE': + $new_record[$key] = $record[$key]; + break; - // Preparing SQL string. We will replace some - // common placeholders - $querystring = $field["datasource"]["querystring"]; - $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring); - $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring); - $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring); - $table_idx = $this->formDef['db_table_idx']; + case 'CURRENCY': + $new_record[$key] = $app->functions->currency_format($record[$key]); + break; + default: + $new_record[$key] = $record[$key]; + } + } + + } + + return $new_record; + } + + /** + * Get the key => value array of a form filled from a datasource definitiom + * + * @param field = array with field definition + * @param record = Dataset as array + * @return key => value array for the value field of a form + */ + + function getDatasourceData($field, $record) { + global $app; + + $values = array(); + + if($field["datasource"]["type"] == 'SQL') { + + // Preparing SQL string. We will replace some + // common placeholders + $querystring = $field["datasource"]["querystring"]; + $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring); + $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring); + $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring); + $table_idx = $this->formDef['db_table_idx']; + $tmp_recordid = (isset($record[$table_idx]))?$record[$table_idx]:0; - $querystring = str_replace("{RECORDID}",$tmp_recordid,$querystring); + $querystring = str_replace("{RECORDID}",$tmp_recordid,$querystring); unset($tmp_recordid); - - $querystring = str_replace("{AUTHSQL}",$this->getAuthSQL('r'),$querystring); - - // Getting the records - $tmp_records = $app->db->queryAllRecords($querystring); - if($app->db->errorMessage != '') die($app->db->errorMessage); - if(is_array($tmp_records)) { - $key_field = $field["datasource"]["keyfield"]; - $value_field = $field["datasource"]["valuefield"]; - foreach($tmp_records as $tmp_rec) { - $tmp_id = $tmp_rec[$key_field]; - $values[$tmp_id] = $tmp_rec[$value_field]; - } - } - } - - if($field["datasource"]["type"] == 'CUSTOM') { - // Calls a custom class to validate this record - if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') { - $datasource_class = $field["datasource"]['class']; - $datasource_function = $field["datasource"]['function']; - $app->uses($datasource_class); - $values = $app->$datasource_class->$datasource_function($field, $record); - } else { - $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n"; - } - } - - if(isset($field['filters']) && is_array($field['filters'])) { - $new_values = array(); - foreach($values as $index => $value) { - $new_index = $this->filterField($index, $index, $field['filters'], 'SHOW'); - $new_values[$new_index] = $this->filterField($index, (isset($values[$index]))?$values[$index]:'', $field['filters'], 'SHOW'); - } - $values = $new_values; - unset($new_values); - unset($new_index); - } - - return $values; - - } - + + $querystring = str_replace("{AUTHSQL}",$this->getAuthSQL('r'),$querystring); + + // Getting the records + $tmp_records = $app->db->queryAllRecords($querystring); + if($app->db->errorMessage != '') die($app->db->errorMessage); + if(is_array($tmp_records)) { + $key_field = $field["datasource"]["keyfield"]; + $value_field = $field["datasource"]["valuefield"]; + foreach($tmp_records as $tmp_rec) { + $tmp_id = $tmp_rec[$key_field]; + $values[$tmp_id] = $tmp_rec[$value_field]; + } + } + } + + if($field["datasource"]["type"] == 'CUSTOM') { + // Calls a custom class to validate this record + if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') { + $datasource_class = $field["datasource"]['class']; + $datasource_function = $field["datasource"]['function']; + $app->uses($datasource_class); + $values = $app->$datasource_class->$datasource_function($field, $record); + } else { + $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n"; + } + } + + if(isset($field['filters']) && is_array($field['filters'])) { + $new_values = array(); + foreach($values as $index => $value) { + $new_index = $this->filterField($index, $index, $field['filters'], 'SHOW'); + $new_values[$new_index] = $this->filterField($index, (isset($values[$index]))?$values[$index]:'', $field['filters'], 'SHOW'); + } + $values = $new_values; + unset($new_values); + unset($new_index); + } + + return $values; + + } + //* If the parameter 'valuelimit' is set function applyValueLimit($limit,$values) { - + global $app; - + $limit_parts = explode(':',$limit); - + //* values are limited to a comma separated list if($limit_parts[0] == 'list') { $allowed = explode(',',$limit_parts[1]); } - + //* values are limited to a field in the client settings if($limit_parts[0] == 'client') { if($_SESSION["s"]["user"]["typ"] == 'admin') { @@ -314,7 +314,7 @@ class tform { $allowed = explode(',',$client['lm']); } } - + //* values are limited to a field in the reseller settings if($limit_parts[0] == 'reseller') { if($_SESSION["s"]["user"]["typ"] == 'admin') { @@ -326,12 +326,12 @@ class tform { //echo "SELECT parent_client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"; //* If the client belongs to a reseller, we will check against the reseller Limit too if($client['parent_client_id'] != 0) { - + //* first we need to know the groups of this reseller $tmp = $app->db->queryOneRecord("SELECT userid, groups FROM sys_user WHERE client_id = ".$client['parent_client_id']); $reseller_groups = $tmp["groups"]; $reseller_userid = $tmp["userid"]; - + // Get the limits of the reseller of the logged in client $client_group_id = $_SESSION["s"]["user"]["default_group"]; $reseller = $app->db->queryOneRecord("SELECT ".$limit_parts[1]." as lm FROM client WHERE client_id = ".$client['parent_client_id']); @@ -341,7 +341,7 @@ class tform { } } // end if admin } // end if reseller - + //* values are limited to a field in the system settings if($limit_parts[0] == 'system') { $app->uses('getconf'); @@ -349,296 +349,296 @@ class tform { $tmp_key = $limit_parts[2]; $allowed = $tmp_conf[$tmp_key]; } - + $values_new = array(); foreach($values as $key => $val) { if(in_array($key,$allowed)) $values_new[$key] = $val; } - + return $values_new; } - /** - * Prepare the data record to show the data in a form. - * - * @param record = Datensatz als Array - * @param action = NEW oder EDIT - * @return record - */ - function getHTML($record, $tab, $action = 'NEW') { - - global $app; + /** + * Prepare the data record to show the data in a form. + * + * @param record = Datensatz als Array + * @param action = NEW oder EDIT + * @return record + */ + function getHTML($record, $tab, $action = 'NEW') { - $this->action = $action; + global $app; - if(!is_array($this->formDef)) $app->error("No form definition found."); - if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab)."); + $this->action = $action; - $new_record = array(); - if($action == 'EDIT') { - $record = $this->decode($record,$tab); - if(is_array($record)) { - foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { + if(!is_array($this->formDef)) $app->error("No form definition found."); + if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab)."); - if(isset($record[$key])) { + $new_record = array(); + if($action == 'EDIT') { + $record = $this->decode($record,$tab); + if(is_array($record)) { + foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { + + if(isset($record[$key])) { $val = $record[$key]; } else { $val = ''; } - // If Datasource is set, get the data from there - if(isset($field['datasource']) && is_array($field['datasource'])) { + // If Datasource is set, get the data from there + if(isset($field['datasource']) && is_array($field['datasource'])) { if(is_array($field["value"])) { //$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record)); $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record)); } else { - $field["value"] = $this->getDatasourceData($field, $record); + $field["value"] = $this->getDatasourceData($field, $record); } - } - + } + // If a limitation for the values is set if(isset($field['valuelimit']) && is_array($field["value"])) { $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]); } - switch ($field['formtype']) { - case 'SELECT': + switch ($field['formtype']) { + case 'SELECT': $out = ''; - if(is_array($field['value'])) { - foreach($field['value'] as $k => $v) { - $selected = ($k == $val)?' SELECTED':''; + if(is_array($field['value'])) { + foreach($field['value'] as $k => $v) { + $selected = ($k == $val)?' SELECTED':''; if(!empty($this->wordbook[$v])) $v = $this->wordbook[$v]; - $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n"; - } - } - $new_record[$key] = $out; - break; - case 'MULTIPLE': - if(is_array($field['value'])) { - - // Split - $vals = explode($field['separator'],$val); - - // write HTML - $out = ''; - foreach($field['value'] as $k => $v) { - - $selected = ''; - foreach($vals as $tvl) { - if(trim($tvl) == trim($k)) $selected = ' SELECTED'; - } - - $out .= "<option value='$k'$selected>$v</option>\r\n"; - } - } - $new_record[$key] = $out; - break; - - case 'PASSWORD': - $new_record[$key] = ''; - break; - - case 'CHECKBOX': - $checked = ($val == $field['value'][1])?' CHECKED':''; - $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n"; - break; - - case 'CHECKBOXARRAY': - if(is_array($field['value'])) { - - // aufsplitten ergebnisse - $vals = explode($field['separator'],$val); - - // HTML schreiben - $out = ''; - $elementNo = 0; - foreach($field['value'] as $k => $v) { - - $checked = ''; - foreach($vals as $tvl) { - if(trim($tvl) == trim($k)) $checked = ' CHECKED'; - } - // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n"; + $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n"; + } + } + $new_record[$key] = $out; + break; + case 'MULTIPLE': + if(is_array($field['value'])) { + + // Split + $vals = explode($field['separator'],$val); + + // write HTML + $out = ''; + foreach($field['value'] as $k => $v) { + + $selected = ''; + foreach($vals as $tvl) { + if(trim($tvl) == trim($k)) $selected = ' SELECTED'; + } + + $out .= "<option value='$k'$selected>$v</option>\r\n"; + } + } + $new_record[$key] = $out; + break; + + case 'PASSWORD': + $new_record[$key] = ''; + break; + + case 'CHECKBOX': + $checked = ($val == $field['value'][1])?' CHECKED':''; + $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n"; + break; + + case 'CHECKBOXARRAY': + if(is_array($field['value'])) { + + // aufsplitten ergebnisse + $vals = explode($field['separator'],$val); + + // HTML schreiben + $out = ''; + $elementNo = 0; + foreach($field['value'] as $k => $v) { + + $checked = ''; + foreach($vals as $tvl) { + if(trim($tvl) == trim($k)) $checked = ' CHECKED'; + } + // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n"; $out .= "<label for=\"".$key.$elementNo."\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key.$elementNo."\" value=\"$k\" type=\"checkbox\" $checked /> $v</label><br/>\r\n"; - $elementNo++; - } - } - $new_record[$key] = $out; - break; - - case 'RADIO': - if(is_array($field['value'])) { - - // HTML schreiben - $out = ''; - $elementNo = 0; - foreach($field['value'] as $k => $v) { - $checked = ($k == $val)?' CHECKED':''; - //$out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n"; + $elementNo++; + } + } + $new_record[$key] = $out; + break; + + case 'RADIO': + if(is_array($field['value'])) { + + // HTML schreiben + $out = ''; + $elementNo = 0; + foreach($field['value'] as $k => $v) { + $checked = ($k == $val)?' CHECKED':''; + //$out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n"; $out .= "<label for=\"".$key.$elementNo."\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key.$elementNo."\" value=\"$k\" type=\"radio\" $checked/> $v </label>\r\n"; - $elementNo++; - } - } - $new_record[$key] = $out; - break; - - case 'DATETIME': - if (strtotime($val) !== false) { - $dt_value = $val; - } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) { - $dt_value = $field['default']; - } else { - $dt_value = 0; - } - - $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; - - $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); - break; - - default: + $elementNo++; + } + } + $new_record[$key] = $out; + break; + + case 'DATETIME': + if (strtotime($val) !== false) { + $dt_value = $val; + } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) { + $dt_value = $field['default']; + } else { + $dt_value = 0; + } + + $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; + + $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); + break; + + default: if(isset($record[$key])) { - $new_record[$key] = htmlspecialchars($record[$key]); + $new_record[$key] = htmlspecialchars($record[$key]); } else { $new_record[$key] = ''; } - } - } - } - } else { - // Action: NEW - foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { - - // If Datasource is set, get the data from there - if(@is_array($field['datasource'])) { - if(is_array($field["value"])) { + } + } + } + } else { + // Action: NEW + foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { + + // If Datasource is set, get the data from there + if(@is_array($field['datasource'])) { + if(is_array($field["value"])) { $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record)); } else { - $field["value"] = $this->getDatasourceData($field, $record); + $field["value"] = $this->getDatasourceData($field, $record); } - } - + } + // If a limitation for the values is set if(isset($field['valuelimit']) && is_array($field["value"])) { $field["value"] = $this->applyValueLimit($field['valuelimit'],$field["value"]); } - switch ($field['formtype']) { - case 'SELECT': - if(is_array($field['value'])) { - $out = ''; - foreach($field['value'] as $k => $v) { - $selected = ($k == $field["default"])?' SELECTED':''; - $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n"; - } - } - if(isset($out)) $new_record[$key] = $out; - break; - case 'MULTIPLE': - if(is_array($field['value'])) { + switch ($field['formtype']) { + case 'SELECT': + if(is_array($field['value'])) { + $out = ''; + foreach($field['value'] as $k => $v) { + $selected = ($k == $field["default"])?' SELECTED':''; + $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n"; + } + } + if(isset($out)) $new_record[$key] = $out; + break; + case 'MULTIPLE': + if(is_array($field['value'])) { - // aufsplitten ergebnisse - $vals = explode($field['separator'],$val); + // aufsplitten ergebnisse + $vals = explode($field['separator'],$val); - // HTML schreiben - $out = ''; - foreach($field['value'] as $k => $v) { + // HTML schreiben + $out = ''; + foreach($field['value'] as $k => $v) { - $out .= "<option value='$k'>$v</option>\r\n"; - } - } - $new_record[$key] = $out; - break; + $out .= "<option value='$k'>$v</option>\r\n"; + } + } + $new_record[$key] = $out; + break; case 'PASSWORD': //$new_record[$key] = ''; $new_record[$key] = htmlspecialchars($field['default']); break; - case 'CHECKBOX': - // $checked = (empty($field["default"]))?'':' CHECKED'; - $checked = ($field["default"] == $field['value'][1])?' CHECKED':''; - $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n"; - break; + case 'CHECKBOX': + // $checked = (empty($field["default"]))?'':' CHECKED'; + $checked = ($field["default"] == $field['value'][1])?' CHECKED':''; + $new_record[$key] = "<input name=\"".$key."\" id=\"".$key."\" value=\"".$field['value'][1]."\" type=\"checkbox\" $checked />\r\n"; + break; - case 'CHECKBOXARRAY': - if(is_array($field['value'])) { + case 'CHECKBOXARRAY': + if(is_array($field['value'])) { - // aufsplitten ergebnisse - $vals = explode($field['separator'],$field["default"]); + // aufsplitten ergebnisse + $vals = explode($field['separator'],$field["default"]); - // HTML schreiben - $out = ''; - $elementNo = 0; - foreach($field['value'] as $k => $v) { + // HTML schreiben + $out = ''; + $elementNo = 0; + foreach($field['value'] as $k => $v) { - $checked = ''; - foreach($vals as $tvl) { - if(trim($tvl) == trim($k)) $checked = ' CHECKED'; - } - // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n"; + $checked = ''; + foreach($vals as $tvl) { + if(trim($tvl) == trim($k)) $checked = ' CHECKED'; + } + // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n"; $out .= "<label for=\"".$key.$elementNo."\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key.$elementNo."\" value=\"$k\" type=\"checkbox\" $checked /> $v</label> \r\n"; - $elementNo++; - } - } - $new_record[$key] = $out; - break; + $elementNo++; + } + } + $new_record[$key] = $out; + break; - case 'RADIO': - if(is_array($field['value'])) { + case 'RADIO': + if(is_array($field['value'])) { - // HTML schreiben - $out = ''; - $elementNo = 0; - foreach($field['value'] as $k => $v) { - $checked = ($k == $field["default"])?' CHECKED':''; - //$out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n"; + // HTML schreiben + $out = ''; + $elementNo = 0; + foreach($field['value'] as $k => $v) { + $checked = ($k == $field["default"])?' CHECKED':''; + //$out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n"; $out .= "<label for=\"".$key.$elementNo."\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key.$elementNo."\" value=\"$k\" type=\"radio\" $checked/> $v</label>\r\n"; - $elementNo++; - } - } - $new_record[$key] = $out; - break; - - case 'DATETIME': - $dt_value = (isset($field['default'])) ? $field['default'] : 0; - $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; - - $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); - break; + $elementNo++; + } + } + $new_record[$key] = $out; + break; + + case 'DATETIME': + $dt_value = (isset($field['default'])) ? $field['default'] : 0; + $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false; + + $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds); + break; - default: - $new_record[$key] = htmlspecialchars($field['default']); - } - } + default: + $new_record[$key] = htmlspecialchars($field['default']); + } + } - } + } - if($this->debug == 1) $this->dbg($new_record); + if($this->debug == 1) $this->dbg($new_record); - return $new_record; - } + return $new_record; + } - /** - * Rewrite the record data to be stored in the database - * and check values with regular expressions. - * - * @param record = Datensatz als Array - * @return record - */ - function encode($record,$tab,$dbencode = true) { + /** + * Rewrite the record data to be stored in the database + * and check values with regular expressions. + * + * @param record = Datensatz als Array + * @return record + */ + function encode($record,$tab,$dbencode = true) { global $app; + + if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab is empty or does not exist (TAB: $tab)."); + //$this->errorMessage = ''; - if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab is empty or does not exist (TAB: $tab)."); - //$this->errorMessage = ''; - - if(is_array($record)) { - foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { - + if(is_array($record)) { + foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { + //* Apply filter to record value - if(isset($field['filters']) && is_array($field['filters'])) { + if(isset($field['filters']) && is_array($field['filters'])) { $record[$key] = $this->filterField($key, (isset($record[$key]))?$record[$key]:'', $field['filters'], 'SAVE'); } //* Validate record value @@ -646,31 +646,31 @@ class tform { $this->validateField($key, (isset($record[$key]))?$record[$key]:'', $field['validators']); } - switch ($field['datatype']) { - case 'VARCHAR': - if(!@is_array($record[$key])) { + switch ($field['datatype']) { + case 'VARCHAR': + if(!@is_array($record[$key])) { $new_record[$key] = (isset($record[$key]))?$record[$key]:''; - } else { - $new_record[$key] = implode($field['separator'],$record[$key]); - } - break; - case 'TEXT': - if(!is_array($record[$key])) { - $new_record[$key] = $record[$key]; - } else { - $new_record[$key] = implode($field['separator'],$record[$key]); - } - break; - case 'DATETSTAMP': - if($record[$key] > 0) { - list($tag,$monat,$jahr) = explode('.',$record[$key]); - $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr); - } else { + } else { + $new_record[$key] = implode($field['separator'],$record[$key]); + } + break; + case 'TEXT': + if(!is_array($record[$key])) { + $new_record[$key] = $record[$key]; + } else { + $new_record[$key] = implode($field['separator'],$record[$key]); + } + break; + case 'DATETSTAMP': + if($record[$key] > 0) { + list($tag,$monat,$jahr) = explode('.',$record[$key]); + $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr); + } else { $new_record[$key] = 0; } - break; + break; case 'DATE': - if($record[$key] != '' && $record[$key] != '0000-00-00') { + if($record[$key] != '' && $record[$key] != '0000-00-00') { if(function_exists('date_parse_from_format')) { $date_parts = date_parse_from_format($this->dateformat,$record[$key]); //list($tag,$monat,$jahr) = explode('.',$record[$key]); @@ -683,67 +683,67 @@ class tform { $tmp = strtotime($record[$key]); $new_record[$key] = date('Y-m-d',$tmp); } - } else { + } else { $new_record[$key] = '0000-00-00'; } - break; - case 'INTEGER': + break; + case 'INTEGER': $new_record[$key] = (isset($record[$key]))?$app->functions->intval($record[$key]):0; - //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default']; - //if($key == 'refresh') die($record[$key]); - break; - case 'DOUBLE': - $new_record[$key] = $record[$key]; - break; - case 'CURRENCY': - $new_record[$key] = str_replace(",",".",$record[$key]); - break; - - case 'DATETIME': - if (is_array($record[$key])) - { - $filtered_values = array_map(create_function('$item','return (int)$item;'), $record[$key]); - extract($filtered_values, EXTR_PREFIX_ALL, '_dt'); - - if ($_dt_day != 0 && $_dt_month != 0 && $_dt_year != 0) { - $new_record[$key] = date( 'Y-m-d H:i:s', mktime($_dt_hour, $_dt_minute, $_dt_second, $_dt_month, $_dt_day, $_dt_year) ); - } - } - break; - } - - // The use of the field value is deprecated, use validators instead - if(isset($field['regex']) && $field['regex'] != '') { - // Enable that "." matches also newlines - $field['regex'] .= 's'; - if(!preg_match($field['regex'], $record[$key])) { - $errmsg = $field['errmsg']; - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; - } - } - + //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default']; + //if($key == 'refresh') die($record[$key]); + break; + case 'DOUBLE': + $new_record[$key] = $record[$key]; + break; + case 'CURRENCY': + $new_record[$key] = str_replace(",",".",$record[$key]); + break; + + case 'DATETIME': + if (is_array($record[$key])) + { + $filtered_values = array_map(create_function('$item','return (int)$item;'), $record[$key]); + extract($filtered_values, EXTR_PREFIX_ALL, '_dt'); + + if ($_dt_day != 0 && $_dt_month != 0 && $_dt_year != 0) { + $new_record[$key] = date( 'Y-m-d H:i:s', mktime($_dt_hour, $_dt_minute, $_dt_second, $_dt_month, $_dt_day, $_dt_year) ); + } + } + break; + } + + // The use of the field value is deprecated, use validators instead + if(isset($field['regex']) && $field['regex'] != '') { + // Enable that "." matches also newlines + $field['regex'] .= 's'; + if(!preg_match($field['regex'], $record[$key])) { + $errmsg = $field['errmsg']; + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + } + } + //* Add slashes to all records, when we encode data which shall be inserted into mysql. if($dbencode == true) $new_record[$key] = $app->db->quote($new_record[$key]); - } - } - return $new_record; - } - + } + } + return $new_record; + } + /** - * process the filters for a given field. - * - * @param field_name = Name of the field - * @param field_value = value of the field - * @param filters = Array of filters + * process the filters for a given field. + * + * @param field_name = Name of the field + * @param field_value = value of the field + * @param filters = Array of filters * @param filter_event = 'SAVE'or 'SHOW' - * @return record - */ + * @return record + */ - function filterField($field_name, $field_value, $filters, $filter_event) { + function filterField($field_name, $field_value, $filters, $filter_event) { global $app; $returnval = $field_value; - + //* Loop trough all filters foreach($filters as $filter) { if($filter['event'] == $filter_event) { @@ -766,177 +766,179 @@ class tform { } } } - return $returnval; - } - - /** - * process the validators for a given field. - * - * @param field_name = Name of the field - * @param field_value = value of the field - * @param validatoors = Array of validators - * @return record - */ - - function validateField($field_name, $field_value, $validators) { - - global $app; - + return $returnval; + } + + /** + * process the validators for a given field. + * + * @param field_name = Name of the field + * @param field_value = value of the field + * @param validatoors = Array of validators + * @return record + */ + + function validateField($field_name, $field_value, $validators) { + + global $app; + $escape = '`'; - - // loop trough the validators - foreach($validators as $validator) { - - switch ($validator['type']) { - case 'REGEX': - $validator['regex'] .= 's'; - if(!preg_match($validator['regex'], $field_value)) { - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + + // loop trough the validators + foreach($validators as $validator) { + + switch ($validator['type']) { + case 'REGEX': + $validator['regex'] .= 's'; + if(!preg_match($validator['regex'], $field_value)) { + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } - break; - case 'UNIQUE': + } + break; + case 'UNIQUE': if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; if($validator['allowempty'] == 'n' || ($validator['allowempty'] == 'y' && $field_value != '')){ if($this->action == 'NEW') { - $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'"); - if($num_rec["number"] > 0) { - $errmsg = $validator['errmsg']; + $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'"); + if($num_rec["number"] > 0) { + $errmsg = $validator['errmsg']; if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } else { - $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id); - if($num_rec["number"] > 0) { - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id); + if($num_rec["number"] > 0) { + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } } - break; - case 'NOTEMPTY': - if(empty($field_value)) { - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + break; + case 'NOTEMPTY': + if(empty($field_value)) { + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } - break; - case 'ISEMAIL': - if(function_exists('filter_var')) { + } + break; + case 'ISEMAIL': + if(function_exists('filter_var')) { if(filter_var($field_value, FILTER_VALIDATE_EMAIL) === false) { $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } else { if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-zA-Z0-9\-]{2,30}$/i", $field_value)) { - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } - break; - case 'ISINT': + break; + case 'ISINT': if(function_exists('filter_var') && $field_value < 2147483647) { if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT) === false) { $errmsg = $validator['errmsg']; if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } else { - $tmpval = $app->functions->intval($field_value); - if($tmpval === 0 and !empty($field_value)) { - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + $tmpval = $app->functions->intval($field_value); + if($tmpval === 0 and !empty($field_value)) { + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } } - break; - case 'ISPOSITIVE': - if(!is_numeric($field_value) || $field_value <= 0){ - $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + break; + case 'ISPOSITIVE': + if(!is_numeric($field_value) || $field_value <= 0){ + $errmsg = $validator['errmsg']; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; - } - } - break; - case 'ISV6PREFIX': - $v6_prefix_ok = 0; - $explode_field_value = explode(':',$field_value); - if ($explode_field_value[count($explode_field_value)-1]=='' && $explode_field_value[count($explode_field_value)-2]=='' ){ - if ( count($explode_field_value) <= 9 ) { - if(filter_var(substr($field_value,0,strlen($field_value)-2),FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) or filter_var(substr($field_value,0,strlen($field_value)-2).'::0',FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) or filter_var(substr($field_value,0,strlen($field_value)-2).':0',FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) ) { - $v6_prefix_ok = 1; - } - } - } else { - $v6_prefix_ok = 2; - } - // check subnet against defined server-ipv6 - $sql_v6 = $app->db->queryOneRecord("SELECT ip_address FROM server_ip WHERE ip_type = 'IPv6' AND virtualhost = 'y' LIMIT 0,1"); - $sql_v6_explode=explode(':',$sql_v6['ip_address']); - if ( count($sql_v6_explode) < count($explode_field_value) && isset($sql_v6['ip_address']) ) { - $v6_prefix_ok = 3; - } - if($v6_prefix_ok == 0) { - $errmsg = $validator['errmsg']; - } - if($v6_prefix_ok == 2) { - $errmsg = 'IPv6 Prefix must end with ::'; - } - if($v6_prefix_ok == 3) { - $errmsg = 'IPv6 Prefix too long (according to Server IP Addresses)'; - } - if($v6_prefix_ok <> 1){ - $this->errorMessage .= $errmsg."<br />\r\n"; - } + } + } + break; + /* + case 'ISV6PREFIX': + $v6_prefix_ok = 0; + $explode_field_value = explode(':',$field_value); + if ($explode_field_value[count($explode_field_value)-1]=='' && $explode_field_value[count($explode_field_value)-2]=='' ){ + if ( count($explode_field_value) <= 9 ) { + if(filter_var(substr($field_value,0,strlen($field_value)-2),FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) or filter_var(substr($field_value,0,strlen($field_value)-2).'::0',FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) or filter_var(substr($field_value,0,strlen($field_value)-2).':0',FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) ) { + $v6_prefix_ok = 1; + } + } + } else { + $v6_prefix_ok = 2; + } + // check subnet against defined server-ipv6 + $sql_v6 = $app->db->queryOneRecord("SELECT ip_address FROM server_ip WHERE ip_type = 'IPv6' AND virtualhost = 'y' LIMIT 0,1"); + $sql_v6_explode=explode(':',$sql_v6['ip_address']); + if ( count($sql_v6_explode) < count($explode_field_value) && isset($sql_v6['ip_address']) ) { + $v6_prefix_ok = 3; + } + if($v6_prefix_ok == 0) { + $errmsg = $validator['errmsg']; + } + if($v6_prefix_ok == 2) { + $errmsg = 'IPv6 Prefix must end with ::'; + } + if($v6_prefix_ok == 3) { + $errmsg = 'IPv6 Prefix too long (according to Server IP Addresses)'; + } + if($v6_prefix_ok <> 1){ + $this->errorMessage .= $errmsg."<br />\r\n"; + } break; - case 'ISIPV4': - $vip=1; - if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){ + */ + case 'ISIPV4': + $vip=1; + if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){ $groups=explode(".",$field_value); foreach($groups as $group){ if($group<0 OR $group>255) $vip=0; } }else{$vip=0;} - if($vip==0) { + if($vip==0) { $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { - $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; + if(isset($this->wordbook[$errmsg])) { + $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; } else { $this->errorMessage .= $errmsg."<br />\r\n"; } } - break; + break; case 'ISIP': if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n'; if($validator['allowempty'] == 'y' && $field_value == '') { @@ -980,13 +982,13 @@ class tform { } } } - break; + break; case 'RANGE': - //* Checks if the value is within the given range or above / below a value + //* Checks if the value is within the given range or above / below a value //* Range examples: < 10 = ":10", between 2 and 10 = "2:10", above 5 = "5:". $range_parts = explode(':',trim($validator['range'])); $ok = true; - if($range_parts[0] != '' && $field_value < $range_parts[0]) { + if($range_parts[0] != '' && $field_value < $range_parts[0]) { $ok = false; } if($range_parts[1] != '' && $field_value > $range_parts[1]) { @@ -999,76 +1001,76 @@ class tform { } else { $this->errorMessage .= $errmsg."<br />\r\n"; } - } + } unset($range_parts); - break; - case 'CUSTOM': - // Calls a custom class to validate this record - if($validator['class'] != '' and $validator['function'] != '') { - $validator_class = $validator['class']; - $validator_function = $validator['function']; - $app->uses($validator_class); - $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator); - } else { - $this->errorMessage .= "Custom validator class or function is empty<br />\r\n"; - } - break; + break; + case 'CUSTOM': + // Calls a custom class to validate this record + if($validator['class'] != '' and $validator['function'] != '') { + $validator_class = $validator['class']; + $validator_function = $validator['function']; + $app->uses($validator_class); + $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator); + } else { + $this->errorMessage .= "Custom validator class or function is empty<br />\r\n"; + } + break; default: $this->errorMessage .= "Unknown Validator: ".$validator['type']; break; - } - - - } - - return true; - } - - /** - * Create SQL statement - * - * @param record = Datensatz als Array - * @param action = INSERT oder UPDATE - * @param primary_id - * @return record - */ - function getSQL($record, $tab, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') { - - global $app; - - // If there are no data records on the tab, return empty sql string - if(count($this->formDef['tabs'][$tab]['fields']) == 0) return ''; - - // checking permissions - if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') { - if($action == "INSERT") { - if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br />\r\n"; - } else { - if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br />\r\n"; - } - } - - $this->action = $action; - $this->primary_id = $primary_id; - - $record = $this->encode($record,$tab,true); - $sql_insert_key = ''; - $sql_insert_val = ''; - $sql_update = ''; - - if(!is_array($this->formDef)) $app->error("Form definition not found."); - if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab)."); - - // go trough all fields of the tab - if(is_array($record)) { - foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { - // Wenn es kein leeres Passwortfeld ist - if (!($field['formtype'] == 'PASSWORD' and $record[$key] == '')) { - // Erzeuge Insert oder Update Quelltext - if($action == "INSERT") { - if($field['formtype'] == 'PASSWORD') { - $sql_insert_key .= "`$key`, "; - if($field['encryption'] == 'CRYPT') { + } + + + } + + return true; + } + + /** + * Create SQL statement + * + * @param record = Datensatz als Array + * @param action = INSERT oder UPDATE + * @param primary_id + * @return record + */ + function getSQL($record, $tab, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') { + + global $app; + + // If there are no data records on the tab, return empty sql string + if(count($this->formDef['tabs'][$tab]['fields']) == 0) return ''; + + // checking permissions + if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') { + if($action == "INSERT") { + if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br />\r\n"; + } else { + if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br />\r\n"; + } + } + + $this->action = $action; + $this->primary_id = $primary_id; + + $record = $this->encode($record,$tab,true); + $sql_insert_key = ''; + $sql_insert_val = ''; + $sql_update = ''; + + if(!is_array($this->formDef)) $app->error("Form definition not found."); + if(!is_array($this->formDef['tabs'][$tab])) $app->error("The tab is empty or does not exist (TAB: $tab)."); + + // go trough all fields of the tab + if(is_array($record)) { + foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { + // Wenn es kein leeres Passwortfeld ist + if (!($field['formtype'] == 'PASSWORD' and $record[$key] == '')) { + // Erzeuge Insert oder Update Quelltext + if($action == "INSERT") { + if($field['formtype'] == 'PASSWORD') { + $sql_insert_key .= "`$key`, "; + if($field['encryption'] == 'CRYPT') { $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } elseif ($field['encryption'] == 'MYSQL') { @@ -1077,13 +1079,13 @@ class tform { $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; } elseif ($field['encryption'] == 'CLEARTEXT') { $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; - } else { - $record[$key] = md5(stripslashes($record[$key])); + } else { + $record[$key] = md5(stripslashes($record[$key])); $sql_insert_val .= "'".$app->db->quote($record[$key])."', "; - } - - } elseif ($field['formtype'] == 'CHECKBOX') { - $sql_insert_key .= "`$key`, "; + } + + } elseif ($field['formtype'] == 'CHECKBOX') { + $sql_insert_key .= "`$key`, "; if($record[$key] == '') { // if a checkbox is not set, we set it to the unchecked value $sql_insert_val .= "'".$field['value'][0]."', "; @@ -1091,14 +1093,14 @@ class tform { } else { $sql_insert_val .= "'".$record[$key]."', "; } - } else { - $sql_insert_key .= "`$key`, "; - $sql_insert_val .= "'".$record[$key]."', "; - } - } else { - if($field['formtype'] == 'PASSWORD') { + } else { + $sql_insert_key .= "`$key`, "; + $sql_insert_val .= "'".$record[$key]."', "; + } + } else { + if($field['formtype'] == 'PASSWORD') { if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { - $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); + $record[$key] = $app->auth->crypt_password(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') { $tmp = $app->db->queryOneRecord("SELECT PASSWORD('".$app->db->quote(stripslashes($record[$key]))."') as `crypted`"); @@ -1106,12 +1108,12 @@ class tform { $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; } elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') { $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; - } else { - $record[$key] = md5(stripslashes($record[$key])); + } else { + $record[$key] = md5(stripslashes($record[$key])); $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', "; - } - - } elseif ($field['formtype'] == 'CHECKBOX') { + } + + } elseif ($field['formtype'] == 'CHECKBOX') { if($record[$key] == '') { // if a checkbox is not set, we set it to the unchecked value $sql_update .= "`$key` = '".$field['value'][0]."', "; @@ -1119,343 +1121,279 @@ class tform { } else { $sql_update .= "`$key` = '".$record[$key]."', "; } - } else { - $sql_update .= "`$key` = '".$record[$key]."', "; - } - } - } else { - // we unset the password filed, if empty to tell the datalog function + } else { + $sql_update .= "`$key` = '".$record[$key]."', "; + } + } + } else { + // we unset the password filed, if empty to tell the datalog function // that the password has not been changed - unset($record[$key]); + unset($record[$key]); } - } - } - - - // Add backticks for incomplete table names - if(stristr($this->formDef['db_table'],'.')) { - $escape = ''; - } else { - $escape = '`'; - } - - - if($action == "INSERT") { - if($this->formDef['auth'] == 'yes') { - // Set user and group - $sql_insert_key .= "`sys_userid`, "; - $sql_insert_val .= ($this->formDef["auth_preset"]["userid"] > 0)?"'".$this->formDef["auth_preset"]["userid"]."', ":"'".$_SESSION["s"]["user"]["userid"]."', "; - $sql_insert_key .= "`sys_groupid`, "; - $sql_insert_val .= ($this->formDef["auth_preset"]["groupid"] > 0)?"'".$this->formDef["auth_preset"]["groupid"]."', ":"'".$_SESSION["s"]["user"]["default_group"]."', "; - $sql_insert_key .= "`sys_perm_user`, "; - $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_user"]."', "; - $sql_insert_key .= "`sys_perm_group`, "; - $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_group"]."', "; - $sql_insert_key .= "`sys_perm_other`, "; - $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_other"]."', "; - } - $sql_insert_key = substr($sql_insert_key,0,-2); - $sql_insert_val = substr($sql_insert_val,0,-2); - $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)"; - } else { + } + } + + + // Add backticks for incomplete table names + if(stristr($this->formDef['db_table'],'.')) { + $escape = ''; + } else { + $escape = '`'; + } + + + if($action == "INSERT") { + if($this->formDef['auth'] == 'yes') { + // Set user and group + $sql_insert_key .= "`sys_userid`, "; + $sql_insert_val .= ($this->formDef["auth_preset"]["userid"] > 0)?"'".$this->formDef["auth_preset"]["userid"]."', ":"'".$_SESSION["s"]["user"]["userid"]."', "; + $sql_insert_key .= "`sys_groupid`, "; + $sql_insert_val .= ($this->formDef["auth_preset"]["groupid"] > 0)?"'".$this->formDef["auth_preset"]["groupid"]."', ":"'".$_SESSION["s"]["user"]["default_group"]."', "; + $sql_insert_key .= "`sys_perm_user`, "; + $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_user"]."', "; + $sql_insert_key .= "`sys_perm_group`, "; + $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_group"]."', "; + $sql_insert_key .= "`sys_perm_other`, "; + $sql_insert_val .= "'".$this->formDef["auth_preset"]["perm_other"]."', "; + } + $sql_insert_key = substr($sql_insert_key,0,-2); + $sql_insert_val = substr($sql_insert_val,0,-2); + $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)"; + } else { if($this->formDef['auth'] == 'yes') { - if($primary_id != 0) { - $sql_update = substr($sql_update,0,-2); - $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->getAuthSQL('u')." AND ".$this->formDef['db_table_idx']." = ".$primary_id; - if($sql_ext_where != '') $sql .= " and ".$sql_ext_where; - } else { - $app->error("Primary ID fehlt!"); - } + if($primary_id != 0) { + $sql_update = substr($sql_update,0,-2); + $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->getAuthSQL('u')." AND ".$this->formDef['db_table_idx']." = ".$primary_id; + if($sql_ext_where != '') $sql .= " and ".$sql_ext_where; + } else { + $app->error("Primary ID fehlt!"); + } } else { if($primary_id != 0) { - $sql_update = substr($sql_update,0,-2); - $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id; - if($sql_ext_where != '') $sql .= " and ".$sql_ext_where; - } else { - $app->error("Primary ID fehlt!"); - } + $sql_update = substr($sql_update,0,-2); + $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id; + if($sql_ext_where != '') $sql .= " and ".$sql_ext_where; + } else { + $app->error("Primary ID fehlt!"); + } } //* return a empty string if there is nothing to update if(trim($sql_update) == '') $sql = ''; - } + } - return $sql; - } + return $sql; + } - /** - * Debugging arrays. - * - * @param array_data - */ - function dbg($array_data) { + /** + * Debugging arrays. + * + * @param array_data + */ + function dbg($array_data) { - echo "<pre>"; - print_r($array_data); - echo "</pre>"; + echo "<pre>"; + print_r($array_data); + echo "</pre>"; - } + } - function showForm() { - global $app,$conf; + function showForm() { + global $app,$conf; - if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen."); + if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen."); - $active_tab = $this->getNextTab(); + $active_tab = $this->getNextTab(); - // go trough the tabs - foreach( $this->formDef["tabs"] as $key => $tab) { + // go trough the tabs + foreach( $this->formDef["tabs"] as $key => $tab) { - $tab['name'] = $key; + $tab['name'] = $key; // Translate the title of the tab $tab['title'] = $this->lng($tab['title']); - - if($tab['name'] == $active_tab) { - - // If module is set, then set the template path relative to the module.. - if($this->module != '') $tab["template"] = "../".$this->module."/".$tab["template"]; - - // Generate the template if it does not exist yet. - - - - if(!is_file($tab["template"])) { - $app->uses('tform_tpl_generator'); - $app->tform_tpl_generator->buildHTML($this->formDef,$tab['name']); - } - $app->tpl->setVar('readonly_tab', (isset($tab['readonly']) && $tab['readonly'] == true)); - $app->tpl->setInclude('content_tpl',$tab["template"]); - $tab["active"] = 1; - $_SESSION["s"]["form"]["tab"] = $tab['name']; - } else { - $tab["active"] = 0; - } - - // Unset unused variables. - unset($tab["fields"]); - unset($tab["plugins"]); - - $frmTab[] = $tab; - } - - // setting form tabs - $app->tpl->setLoop("formTab", $frmTab); - - // Set form action - $app->tpl->setVar('form_action',$this->formDef["action"]); - $app->tpl->setVar('form_active_tab',$active_tab); - - // Set form title - $form_hint = $this->lng($this->formDef["title"]); - if($this->formDef["description"] != '') $form_hint .= '<div class="pageForm_description">'.$this->lng($this->formDef["description"]).'</div>'; - $app->tpl->setVar('form_hint',$form_hint); - - // Set Wordbook for this form - - $app->tpl->setVar($this->wordbook); - } + + if($tab['name'] == $active_tab) { + + // If module is set, then set the template path relative to the module.. + if($this->module != '') $tab["template"] = "../".$this->module."/".$tab["template"]; + + // Generate the template if it does not exist yet. + + + + if(!is_file($tab["template"])) { + $app->uses('tform_tpl_generator'); + $app->tform_tpl_generator->buildHTML($this->formDef,$tab['name']); + } + $app->tpl->setVar('readonly_tab', (isset($tab['readonly']) && $tab['readonly'] == true)); + $app->tpl->setInclude('content_tpl',$tab["template"]); + $tab["active"] = 1; + $_SESSION["s"]["form"]["tab"] = $tab['name']; + } else { + $tab["active"] = 0; + } + + // Unset unused variables. + unset($tab["fields"]); + unset($tab["plugins"]); + + $frmTab[] = $tab; + } + + // setting form tabs + $app->tpl->setLoop("formTab", $frmTab); + + // Set form action + $app->tpl->setVar('form_action',$this->formDef["action"]); + $app->tpl->setVar('form_active_tab',$active_tab); + + // Set form title + $form_hint = $this->lng($this->formDef["title"]); + if($this->formDef["description"] != '') $form_hint .= '<div class="pageForm_description">'.$this->lng($this->formDef["description"]).'</div>'; + $app->tpl->setVar('form_hint',$form_hint); + + // Set Wordbook for this form + + $app->tpl->setVar($this->wordbook); + } function getDataRecord($primary_id) { global $app; $escape = '`'; $sql = "SELECT * FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id." AND ".$this->getAuthSQL('r',$this->formDef['db_table']); - return $app->db->queryOneRecord($sql); + return $app->db->queryOneRecord($sql); } + - - function datalogSave($action,$primary_id, $record_old, $record_new) { - global $app,$conf; - + function datalogSave($action,$primary_id, $record_old, $record_new) { + global $app,$conf; + $app->db->datalogSave($this->formDef['db_table'], $action, $this->formDef['db_table_idx'], $primary_id, $record_old, $record_new); return true; -<<<<<<< .mine - /* - // Add backticks for incomplete table names. - if(stristr($this->formDef['db_table'],'.')) { - $escape = ''; - } else { - $escape = '`'; - } - - $this->diffrec = array(); - - // Full diff records for ISPConfig, they have a different format then the simple diffrec - $diffrec_full = array(); - - if(is_array($record_old) && count($record_old) > 0) { - foreach($record_old as $key => $val) { - //if(isset($record_new[$key]) && $record_new[$key] != $val) { - if(!isset($record_new[$key]) || $record_new[$key] != $val) { - // Record has changed - $diffrec_full['old'][$key] = $val; - $diffrec_full['new'][$key] = $record_new[$key]; - $this->diffrec[$key] = array( 'new' => $record_new[$key], - 'old' => $val); - } else { - $diffrec_full['old'][$key] = $val; - $diffrec_full['new'][$key] = $val; - } - } - } elseif(is_array($record_new)) { - foreach($record_new as $key => $val) { - if(isset($record_new[$key]) && $record_old[$key] != $val) { - // Record has changed - $diffrec_full['new'][$key] = $val; - $diffrec_full['old'][$key] = $record_old[$key]; - $this->diffrec[$key] = array( 'old' => @$record_old[$key], - 'new' => $val); - } else { - $diffrec_full['new'][$key] = $val; - $diffrec_full['old'][$key] = $val; - } - } - } - - //$this->diffrec = $diffrec; - // Insert the server_id, if the record has a server_id - $server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0; - if(isset($record_new["server_id"])) $server_id = $record_new["server_id"]; - - if(count($this->diffrec) > 0) { - $diffstr = addslashes(serialize($diffrec_full)); - $username = $app->db->quote($_SESSION["s"]["user"]["username"]); - $dbidx = $this->formDef['db_table_idx'].":".$primary_id; - // $action = ($action == 'INSERT')?'i':'u'; - - if($action == 'INSERT') $action = 'i'; - if($action == 'UPDATE') $action = 'u'; - if($action == 'DELETE') $action = 'd'; - $sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES ('".$this->formDef['db_table']."','$dbidx','$server_id','$action','".time()."','$username','$diffstr')"; - $app->db->query($sql); - } - - return true; - */ + } -=======>>>>>>> .theirs } - - function getAuthSQL($perm, $table = '') { + function getAuthSQL($perm, $table = '') { if($_SESSION["s"]["user"]["typ"] == 'admin') { return '1'; } else { if ($table != ''){ $table = ' ' . $table . '.'; } - $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0; + $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0; $sql = '('; - $sql .= "(" . $table . "sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND " . $table . "sys_perm_user like '%$perm%') OR "; - $sql .= "(" . $table . "sys_groupid IN (".$groups.") AND " . $table ."sys_perm_group like '%$perm%') OR "; - $sql .= $table . "sys_perm_other like '%$perm%'"; - $sql .= ')'; - - return $sql; - } - } - - /* - This function checks if a user has the parmissions $perm for the data record with the ID $record_id - If record_id = 0, the the permissions are tested against the defaults of the form file. - */ - function checkPerm($record_id,$perm) { - global $app; - - if($record_id > 0) { - // Add backticks for incomplete table names. - if(stristr($this->formDef['db_table'],'.')) { - $escape = ''; - } else { - $escape = '`'; - } - - $sql = "SELECT ".$this->formDef['db_table_idx']." FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$record_id." AND ".$this->getAuthSQL($perm); - if($record = $app->db->queryOneRecord($sql)) { - return true; - } else { - return false; - } - } else { - $result = false; - if(@$this->formDef["auth_preset"]["userid"] == $_SESSION["s"]["user"]["userid"] && stristr($perm,$this->formDef["auth_preset"]["perm_user"])) $result = true; - if(@$this->formDef["auth_preset"]["groupid"] == $_SESSION["s"]["user"]["groupid"] && stristr($perm,$this->formDef["auth_preset"]["perm_group"])) $result = true; - if(@stristr($this->formDef["auth_preset"]["perm_other"],$perm)) $result = true; - - // if preset == 0, everyone can insert a record of this type - if($this->formDef["auth_preset"]["userid"] == 0 AND $this->formDef["auth_preset"]["groupid"] == 0 AND (@stristr($this->formDef["auth_preset"]["perm_user"],$perm) OR @stristr($this->formDef["auth_preset"]["perm_group"],$perm))) $result = true; - - return $result; + $sql .= "(" . $table . "sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND " . $table . "sys_perm_user like '%$perm%') OR "; + $sql .= "(" . $table . "sys_groupid IN (".$groups.") AND " . $table ."sys_perm_group like '%$perm%') OR "; + $sql .= $table . "sys_perm_other like '%$perm%'"; + $sql .= ')'; + return $sql; } - - } - - function getNextTab() { - // Which tab is shown - if($this->errorMessage == '') { - // If there is no error - if(isset($_REQUEST["next_tab"]) && $_REQUEST["next_tab"] != '') { - // If the next tab is known - $active_tab = $_REQUEST["next_tab"]; - } else { - // else use the default tab - $active_tab = $this->formDef['tab_default']; - } - } else { - // Show the same tab again in case of an error - $active_tab = $_SESSION["s"]["form"]["tab"]; - } - - return $active_tab; - } - - function getCurrentTab() { - return $_SESSION["s"]["form"]["tab"]; - } - + } + + /* + This function checks if a user has the parmissions $perm for the data record with the ID $record_id + If record_id = 0, the the permissions are tested against the defaults of the form file. + */ + function checkPerm($record_id,$perm) { + global $app; + + if($record_id > 0) { + // Add backticks for incomplete table names. + if(stristr($this->formDef['db_table'],'.')) { + $escape = ''; + } else { + $escape = '`'; + } + + $sql = "SELECT ".$this->formDef['db_table_idx']." FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$record_id." AND ".$this->getAuthSQL($perm); + if($record = $app->db->queryOneRecord($sql)) { + return true; + } else { + return false; + } + } else { + $result = false; + if(@$this->formDef["auth_preset"]["userid"] == $_SESSION["s"]["user"]["userid"] && stristr($perm,$this->formDef["auth_preset"]["perm_user"])) $result = true; + if(@$this->formDef["auth_preset"]["groupid"] == $_SESSION["s"]["user"]["groupid"] && stristr($perm,$this->formDef["auth_preset"]["perm_group"])) $result = true; + if(@stristr($this->formDef["auth_preset"]["perm_other"],$perm)) $result = true; + + // if preset == 0, everyone can insert a record of this type + if($this->formDef["auth_preset"]["userid"] == 0 AND $this->formDef["auth_preset"]["groupid"] == 0 AND (@stristr($this->formDef["auth_preset"]["perm_user"],$perm) OR @stristr($this->formDef["auth_preset"]["perm_group"],$perm))) $result = true; + + return $result; + + } + + } + + function getNextTab() { + // Which tab is shown + if($this->errorMessage == '') { + // If there is no error + if(isset($_REQUEST["next_tab"]) && $_REQUEST["next_tab"] != '') { + // If the next tab is known + $active_tab = $_REQUEST["next_tab"]; + } else { + // else use the default tab + $active_tab = $this->formDef['tab_default']; + } + } else { + // Show the same tab again in case of an error + $active_tab = $_SESSION["s"]["form"]["tab"]; + } + + return $active_tab; + } + + function getCurrentTab() { + return $_SESSION["s"]["form"]["tab"]; + } + function isReadonlyTab($tab, $primary_id) { global $app, $conf; - + // Add backticks for incomplete table names. - if(stristr($this->formDef['db_table'],'.')) { - $escape = ''; - } else { - $escape = '`'; - } - + if(stristr($this->formDef['db_table'],'.')) { + $escape = ''; + } else { + $escape = '`'; + } + $sql = "SELECT sys_userid FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id; - $record = $app->db->queryOneRecord($sql); - + $record = $app->db->queryOneRecord($sql); + // return true if the readonly flag of the form is set and the current loggedin user is not the owner of the record. if(isset($this->formDef['tabs'][$tab]['readonly']) && $this->formDef['tabs'][$tab]['readonly'] == true && $record['sys_userid'] != $_SESSION["s"]["user"]["userid"]) { return true; } else { return false; } - } - - + } + + // translation function for forms, tries the form wordbook first and if this fails, it tries the global wordbook function lng($msg) { global $app,$conf; - + if(isset($this->wordbook[$msg])) { return $this->wordbook[$msg]; } else { return $app->lng($msg); } - + } - + function checkClientLimit($limit_name,$sql_where = '') { global $app; - + $check_passed = true; $limit_name = $app->db->quote($limit_name); if($limit_name == '') $app->error('Limit name missing in function checkClientLimit.'); - + // Get the limits of the client that is currently logged in $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT $limit_name as number, parent_client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - + // Check if the user may add another item if($client["number"] >= 0) { $sql = "SELECT count(".$this->formDef['db_table_idx'].") as number FROM ".$this->formDef['db_table']." WHERE ".$this->getAuthSQL('u'); @@ -1463,33 +1401,33 @@ class tform { $tmp = $app->db->queryOneRecord($sql); if($tmp["number"] >= $client["number"]) $check_passed = false; } - + return $check_passed; } - + function checkResellerLimit($limit_name,$sql_where = '') { global $app; - + $check_passed = true; $limit_name = $app->db->quote($limit_name); if($limit_name == '') $app->error('Limit name missing in function checkClientLimit.'); - + // Get the limits of the client that is currently logged in $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT parent_client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - + //* If the client belongs to a reseller, we will check against the reseller Limit too if($client['parent_client_id'] != 0) { - + //* first we need to know the groups of this reseller $tmp = $app->db->queryOneRecord("SELECT userid, groups FROM sys_user WHERE client_id = ".$client['parent_client_id']); $reseller_groups = $tmp["groups"]; $reseller_userid = $tmp["userid"]; - + // Get the limits of the reseller of the logged in client $client_group_id = $_SESSION["s"]["user"]["default_group"]; $reseller = $app->db->queryOneRecord("SELECT $limit_name as number FROM client WHERE client_id = ".$client['parent_client_id']); - + // Check if the user may add another item if($reseller["number"] >= 0) { $sql = "SELECT count(".$this->formDef['db_table_idx'].") as number FROM ".$this->formDef['db_table']." WHERE (sys_groupid IN (".$reseller_groups.") or sys_userid = ".$reseller_userid.")"; @@ -1498,13 +1436,13 @@ class tform { if($tmp["number"] >= $reseller["number"]) $check_passed = false; } } - + return $check_passed; } - + //* get the difference record of two arrays function getDiffRecord($record_old,$record_new) { - + if(is_array($record_new) && count($record_new) > 0) { foreach($record_new as $key => $val) { if(@$record_old[$key] != $val) { @@ -1523,17 +1461,17 @@ class tform { } } return $diffrec; - + } - + /** * Generate HTML for DATETIME fields. - * + * * @access private * @param string $form_element Name of the form element. * @param string $default_value Selected value for fields. * @param bool $display_secons Include seconds selection. - * @return string HTML + * @return string HTML */ function _getDateTimeHTML($form_element, $default_value, $display_seconds=false) { @@ -1541,54 +1479,54 @@ class tform { $_showdate = ($_datetime === false) ? false : true; $dselect = array('day','month','year','hour','minute'); - if ($display_seconds === true) { + if ($display_seconds === true) { $dselect[] = 'second'; } - + $out = ''; - + foreach ($dselect as $dt_element) { $dt_options = array(); $dt_space = 1; - + switch ($dt_element) { case 'day': for ($i = 1; $i <= 31; $i++) { - $dt_options[] = array('name' => sprintf('%02d', $i), - 'value' => sprintf('%d', $i)); - } - $selected_value = date('d', $_datetime); + $dt_options[] = array('name' => sprintf('%02d', $i), + 'value' => sprintf('%d', $i)); + } + $selected_value = date('d', $_datetime); break; - + case 'month': for ($i = 1; $i <= 12; $i++) { - $dt_options[] = array('name' => strftime('%b', mktime(0, 0, 0, $i, 1, 2000)), - 'value' => strftime('%m', mktime(0, 0, 0, $i, 1, 2000))); - } - $selected_value = date('n', $_datetime); + $dt_options[] = array('name' => strftime('%b', mktime(0, 0, 0, $i, 1, 2000)), + 'value' => strftime('%m', mktime(0, 0, 0, $i, 1, 2000))); + } + $selected_value = date('n', $_datetime); break; - + case 'year': $start_year = strftime("%Y"); $years = range((int)$start_year, (int)($start_year+3)); - - foreach ($years as $year) { - $dt_options[] = array('name' => $year, - 'value' => $year); - } - $selected_value = date('Y', $_datetime); - $dt_space = 2; + + foreach ($years as $year) { + $dt_options[] = array('name' => $year, + 'value' => $year); + } + $selected_value = date('Y', $_datetime); + $dt_space = 2; break; - + case 'hour': foreach(range(0, 23) as $hour) { $dt_options[] = array('name' => sprintf('%02d', $hour), - 'value' => sprintf('%d', $hour)); + 'value' => sprintf('%d', $hour)); } $selected_value = date('G', $_datetime); break; - + case 'minute': foreach(range(0, 59) as $minute) { if (($minute % 5) == 0) { @@ -1598,23 +1536,23 @@ class tform { } $selected_value = (int)floor(date('i', $_datetime)); break; - - case 'second': + + case 'second': foreach(range(0, 59) as $second) { $dt_options[] = array('name' => sprintf('%02d', $second), - 'value' => sprintf('%d', $second)); + 'value' => sprintf('%d', $second)); } $selected_value = (int)floor(date('s', $_datetime)); break; } - + $out .= "<select name=\"".$form_element."[$dt_element]\" id=\"".$form_element."_$dt_element\" class=\"selectInput\" style=\"width: auto; float: none;\">"; if (!$_showdate) { $out .= "<option value=\"-\" selected=\"selected\">--</option>" . PHP_EOL; } else { $out .= "<option value=\"-\">--</option>" . PHP_EOL; } - + foreach ($dt_options as $dt_opt) { if ( $_showdate && ($selected_value == $dt_opt['value']) ) { $out .= "<option value=\"{$dt_opt['value']}\" selected=\"selected\">{$dt_opt['name']}</option>" . PHP_EOL; @@ -1622,10 +1560,10 @@ class tform { $out .= "<option value=\"{$dt_opt['value']}\">{$dt_opt['name']}</option>" . PHP_EOL; } } - + $out .= '</select>' . str_repeat(' ', $dt_space); } - + return $out; } } diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index d60ecbf13b..b181be0198 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -77,7 +77,16 @@ class tform_actions { function onSubmit() { global $app, $conf; - + + // check if the client is locked - he may not change anything, then. + if(!$app->auth->is_admin()) { + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + $client = $app->db->queryOneRecord("SELECT client.locked FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ".$app->functions->intval($client_group_id)); + if(is_array($client) && $client['locked'] == 'y') { + $app->tform->errorMessage .= $app->lng("client_you_are_locked")."<br />"; + } + } + // Calling the action functions if($this->id > 0) { $app->tform->action == 'EDIT'; diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php index 42defa07e4..121ab931f4 100644 --- a/interface/lib/classes/tools_monitor.inc.php +++ b/interface/lib/classes/tools_monitor.inc.php @@ -453,40 +453,6 @@ class tools_monitor { return $html; } - function showMongoDB() { - global $app; - - /* fetch the Data from the DB */ - $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); - - if(isset($record['data'])) { - $html = - '<div class="systemmonitor-state state-'.$record['state'].'"> - <div class="systemmonitor-content icons32 ico-'.$record['state'].'">'; - - /* - * First, we have to detect, if there is any monitoring-data. - * If not (because mongodb is not installed) show this. - */ - $data = unserialize($record['data']); - if ($data == '') { - $html .= '<p>'. - 'MongoDB is not installed at this server.<br />' . - 'See more (for debian) <a href="http://www.howtoforge.com/fail2ban_debian_etch" target="htf">here...</a>'. - '</p>'; - } - else { - $html .= nl2br($data); - } - $html .= '</div></div>'; - - } else { - $html = '<p>There is no data available at the moment.</p>'; - } - - return $html; - } - function showIPTables() { global $app; $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc"); diff --git a/interface/lib/classes/validate_dkim.inc.php b/interface/lib/classes/validate_dkim.inc.php deleted file mode 100644 index 12c0945875..0000000000 --- a/interface/lib/classes/validate_dkim.inc.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php - -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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_dkim { - - function get_error($errmsg) { - global $app; - if(isset($app->tform->wordbook[$errmsg])) { - return $app->tform->wordbook[$errmsg]."<br>\r\n"; - } else { - return $errmsg."<br>\r\n"; - } - } - - /* Validator function for private DKIM-Key */ - function check_private_key($field_name, $field_value, $validator) { - $dkim_enabled=$_POST['dkim']; - if ($dkim_enabled == 'y') { - if (empty($field_value)) return $this->get_error($validator['errmsg']); - exec('echo '.escapeshellarg($field_value).'|openssl rsa -check',$output,$result); - if($result != 0) return $this->get_error($validator['errmsg']); - } - } - - /* Validator function for DKIM Path */ - function check_dkim_path($field_name, $field_value, $validator) { - if(empty($field_value)) return $this->get_error($validator['errmsg']); - if (substr(sprintf('%o', fileperms($field_value)),-3) <= 600) - return $this->get_error($validator['errmsg']); - } - - /* Check function for DNS-Template */ - function check_template($field_name, $field_value, $validator) { - $dkim=false; - foreach($field_value as $field ) { if($field == 'DKIM') $dkim=true; } - if ($dkim && $field_value[0]!='DOMAIN') return $this->get_error($validator['errmsg']); - } - - /* Validator function for $_POST */ - function validate_post($key,$value) { - switch ($key) { - case 'public': - if (preg_match("/(^-----BEGIN PUBLIC KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,221}(-----END PUBLIC KEY-----(\n|\r)$)/",$value) === 1) { return true; } else { return false; } - break; - case 'private': - if (preg_match("/(^-----BEGIN RSA PRIVATE KEY-----)[a-zA-Z0-9\r\n\/\+=]{1,850}(-----END RSA PRIVATE KEY-----(\n|\r)$)/",$value) === 1) { return true; } else { return false; } - break; - } - } -} - diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng index 0c3071926c..1683c6e112 100644 --- a/interface/lib/lang/cz.lng +++ b/interface/lib/lang/cz.lng @@ -71,7 +71,7 @@ $wb['datepicker_prevText'] = 'PÅ™edchozÃ'; $wb['logout_txt'] = 'OdhlášenÃ'; $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd'; $wb['submit_confirmation'] = 'Opravdu chcete provést tuto akci ?'; -$wb['top_menu_mailuser'] = 'E-mailový uživatel'; +$wb['top_menu_mailuser'] = 'E-mail. uživ.'; $wb['globalsearch_resultslimit_of_txt'] = 'z'; $wb['globalsearch_resultslimit_results_txt'] = 'výsledky'; $wb['globalsearch_noresults_text_txt'] = 'Žádné výsledky.'; @@ -130,7 +130,8 @@ $wb['datalog_status_d_web_folder'] = 'OdstranÄ›nà chránÄ›ného adresáře hesl $wb['datalog_status_i_web_folder_user'] = 'VytvoÅ™enà uživatele pro adresáře chránÄ›né heslem'; $wb['datalog_status_u_web_folder_user'] = 'Aktualizace nastavenà uživatele pro adresáře chránÄ›né heslem'; $wb['datalog_status_d_web_folder_user'] = 'OdstranÄ›nà uživatele pro adresáře chránÄ›né heslem'; -$wb['login_as_txt'] = 'PÅ™ihlaste se jako'; -$wb['no_domain_perm'] = 'You have no permission for this domain.'; -$wb['no_destination_perm'] = 'You have no permission for this destination.'; +$wb['login_as_txt'] = 'PÅ™ihlaÅ¡te se jako'; +$wb['no_domain_perm'] = 'Nemáte oprávnÄ›nà pro tuto doménu. '; +$wb['no_destination_perm'] = 'Nemáte oprávnÄ›nà pro tuto destinaci.'; ?> + diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng index 328b5202d4..a5281767a8 100644 --- a/interface/lib/lang/de.lng +++ b/interface/lib/lang/de.lng @@ -134,3 +134,4 @@ $wb['login_as_txt'] = 'Anmelden als'; $wb['no_domain_perm'] = 'Sie haben keine Berechtigung für diese Domain.'; $wb['no_destination_perm'] = 'Sie haben keine Berechtigung für dieses Ziel.'; ?> + diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng index b633c1b863..580f7370cc 100644 --- a/interface/lib/lang/el.lng +++ b/interface/lib/lang/el.lng @@ -69,68 +69,68 @@ $wb['monthnamesshort_oct'] = 'Οκτ'; $wb['monthnamesshort_nov'] = 'Îοε'; $wb['monthnamesshort_dec'] = 'Δεκ'; $wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd'; -$wb['logout_txt'] = 'Logout'; -$wb['submit_confirmation'] = 'Do you really want to perform this action?'; +$wb['logout_txt'] = 'ΑποσÏνδεση'; +$wb['submit_confirmation'] = 'Είστε σίγουÏοι ότι θÎλετε να κάνετε αυτή την ενÎÏγεια?'; $wb['top_menu_mailuser'] = 'Mailuser'; -$wb['globalsearch_resultslimit_of_txt'] = 'of'; -$wb['globalsearch_resultslimit_results_txt'] = 'results'; -$wb['globalsearch_noresults_text_txt'] = 'No results.'; -$wb['globalsearch_noresults_limit_txt'] = '0 results'; -$wb['globalsearch_searchfield_watermark_txt'] = 'Search'; -$wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; -$wb['global_tabchange_warning_txt'] = 'Changed data in this tab will be changed if you press OK. On cancel they will be discarded.'; -$wb['global_tabchange_discard_txt'] = 'You have unsaved changes in this tab. Changes will be discarded if you continue.'; -$wb['datalog_changes_txt'] = 'The following changes are not yet populated to all servers:'; -$wb['datalog_changes_end_txt'] = 'Storing updates can take up to one minute. Please be patient.'; -$wb['datalog_status_i_web_database'] = 'Create new database'; -$wb['datalog_status_u_web_database'] = 'Update database'; -$wb['datalog_status_d_web_database'] = 'Delete database'; -$wb['datalog_status_i_web_database_user'] = 'Create database user for database'; -$wb['datalog_status_u_web_database_user'] = 'Update database user'; -$wb['datalog_status_d_web_database_user'] = 'Delete database user'; -$wb['datalog_status_i_web_domain'] = 'Create new website'; -$wb['datalog_status_u_web_domain'] = 'Update website settings'; -$wb['datalog_status_d_web_domain'] = 'Delete website'; -$wb['datalog_status_i_ftp_user'] = 'Create FTP user'; -$wb['datalog_status_u_ftp_user'] = 'Update FTP user'; -$wb['datalog_status_d_ftp_user'] = 'Delete FTP user'; -$wb['datalog_status_i_mail_domain'] = 'Create email domain'; -$wb['datalog_status_u_mail_domain'] = 'Update email domain'; -$wb['datalog_status_d_mail_domain'] = 'Delete email domain'; -$wb['datalog_status_i_mail_user'] = 'Create email user'; -$wb['datalog_status_u_mail_user'] = 'Update email user'; -$wb['datalog_status_d_mail_user'] = 'Delete email user'; -$wb['datalog_status_i_mail_forwarding'] = 'Create email address'; -$wb['datalog_status_u_mail_forwarding'] = 'Update email address'; -$wb['datalog_status_d_mail_forwarding'] = 'Delete email address'; -$wb['datalog_status_i_dns_rr'] = 'Create DNS record'; -$wb['datalog_status_u_dns_rr'] = 'Update DNS record'; -$wb['datalog_status_d_dns_rr'] = 'Delete DNS record'; -$wb['datalog_status_i_dns_soa'] = 'Create DNS zone'; -$wb['datalog_status_u_dns_soa'] = 'Update DNS zone'; -$wb['datalog_status_d_dns_soa'] = 'Delete DNS zone'; -$wb['datalog_status_i_cron'] = 'Create cron job'; -$wb['datalog_status_u_cron'] = 'Update cron job'; -$wb['datalog_status_d_cron'] = 'Delete cron job'; -$wb['datalog_status_i_mail_get'] = 'Create mail fetcher account'; -$wb['datalog_status_u_mail_get'] = 'Update mail fetcher account'; -$wb['datalog_status_d_mail_get'] = 'Delete mail fetcher account'; -$wb['datalog_status_i_mail_mailinglist'] = 'Create mailing list'; -$wb['datalog_status_u_mail_mailinglist'] = 'Update mailing list'; -$wb['datalog_status_d_mail_mailinglist'] = 'Delete mailing list'; -$wb['datalog_status_i_shell_user'] = 'Create shell user'; -$wb['datalog_status_u_shell_user'] = 'Update shell user'; -$wb['datalog_status_d_shell_user'] = 'Delete shell user'; -$wb['datalog_status_i_web_folder'] = 'Create folder protection'; -$wb['datalog_status_u_web_folder'] = 'Update folder protection'; -$wb['datalog_status_d_web_folder'] = 'Delete folder protection'; -$wb['datalog_status_i_web_folder_user'] = 'Create folder protection user'; -$wb['datalog_status_u_web_folder_user'] = 'Update folder protection user'; -$wb['datalog_status_d_web_folder_user'] = 'Delete folder protection user'; -$wb['datalog_status_i_spamfilter_users'] = 'Create spam filter settings'; -$wb['datalog_status_u_spamfilter_users'] = 'Update spam filter settings'; -$wb['datalog_status_d_spamfilter_users'] = 'Delete spam filter settings'; -$wb['login_as_txt'] = 'Log in as'; -$wb['no_domain_perm'] = 'You have no permission for this domain.'; -$wb['no_destination_perm'] = 'You have no permission for this destination.'; +$wb['globalsearch_resultslimit_of_txt'] = 'από'; +$wb['globalsearch_resultslimit_results_txt'] = 'αποτελÎσματα'; +$wb['globalsearch_noresults_text_txt'] = 'Δεν υπάÏχουν αποτελÎσματα.'; +$wb['globalsearch_noresults_limit_txt'] = '0 αποτελÎσματα'; +$wb['globalsearch_searchfield_watermark_txt'] = 'Αναζήτηση'; +$wb['globalsearch_suggestions_text_txt'] = 'Î Ïοτάσεις'; +$wb['global_tabchange_warning_txt'] = 'Τα Ï„ÏοποποιημÎνα δεδομÎνα σε αυτή την καÏÏ„Îλα θα αλλάξουν οÏιστικά αν πατήσετε ΟΚ. Πατήσετε ΆκυÏο για να μην συμβεί αυτό..'; +$wb['global_tabchange_discard_txt'] = 'Έχετε μη αποθηκευμÎνες αλλαγÎÏ‚ σε αυτή την καÏÏ„Îλα. Οι αλλαγÎÏ‚ θα χαθοÏν αν συνεχίσετε.'; +$wb['datalog_changes_txt'] = 'Οι επόμενες αλλαγÎÏ‚ δεν Îχουν Ï€Ïοωθηθεί στους servers:'; +$wb['datalog_changes_end_txt'] = 'Η αποθήκευση των ενημεÏώσεων μποÏεί να διαÏκÎσει μεχÏι και Îνα λεπτό. ΠαÏακαλοÏμε να είστε υπομονετικοί.'; +$wb['datalog_status_i_web_database'] = 'ΔημιουÏγία νÎας Βάσης ΔεδομÎνων (ΒΔ)'; +$wb['datalog_status_u_web_database'] = 'ΕνημÎÏωση Βάσης ΔεδομÎνων'; +$wb['datalog_status_d_web_database'] = 'ΔιαγÏαφή Βάσης ΔεδομÎνων'; +$wb['datalog_status_i_web_database_user'] = 'ΔημιουÏγία χÏήστη για την Βάση ΔεδομÎνων'; +$wb['datalog_status_u_web_database_user'] = 'ΕνημÎÏωση χÏήστη Βάσης ΔεδομÎνων'; +$wb['datalog_status_d_web_database_user'] = 'ΔιαγÏαφή χÏήστη Βάσης ΔεδομÎνων'; +$wb['datalog_status_i_web_domain'] = 'ΔημιουÏγία νÎου website'; +$wb['datalog_status_u_web_domain'] = 'ΕνημÎÏωση Ïυθμίσεων website'; +$wb['datalog_status_d_web_domain'] = 'ΔιαγÏαφή website'; +$wb['datalog_status_i_ftp_user'] = 'ΔημιουÏγία χÏήστη FTP'; +$wb['datalog_status_u_ftp_user'] = 'ΕνημÎÏωση FTP user'; +$wb['datalog_status_d_ftp_user'] = 'ΔιαγÏαφή FTP user'; +$wb['datalog_status_i_mail_domain'] = 'ΔημιουÏγία email domain'; +$wb['datalog_status_u_mail_domain'] = 'ΕνημÎÏωση email domain'; +$wb['datalog_status_d_mail_domain'] = 'ΔιαγÏαφή email domain'; +$wb['datalog_status_i_mail_user'] = 'ΔημιουÏγία χÏήστη email'; +$wb['datalog_status_u_mail_user'] = 'ΕνημÎÏωση χÏήστη email'; +$wb['datalog_status_d_mail_user'] = 'ΔιαγÏαφή χÏήστη email'; +$wb['datalog_status_i_mail_forwarding'] = 'ΔημιουÏγία διεÏθυνσης email'; +$wb['datalog_status_u_mail_forwarding'] = 'ΕνημÎÏωση διεÏθυνσης email'; +$wb['datalog_status_d_mail_forwarding'] = 'ΔιαγÏαφή διεÏθυνσης email'; +$wb['datalog_status_i_dns_rr'] = 'ΔημιουÏγία εγγÏαφής DNS'; +$wb['datalog_status_u_dns_rr'] = 'ΕνημÎÏωση εγγÏαφής DNS'; +$wb['datalog_status_d_dns_rr'] = 'ΔιαγÏαφή εγγÏαφής DNS'; +$wb['datalog_status_i_dns_soa'] = 'ΔημιουÏγία ζώνης DNS'; +$wb['datalog_status_u_dns_soa'] = 'ΕνημÎÏωση ζώνης DNS'; +$wb['datalog_status_d_dns_soa'] = 'ΔιαγÏαφή ζώνης DNS'; +$wb['datalog_status_i_cron'] = 'ΔημιουÏγία εÏγασίας cron'; +$wb['datalog_status_u_cron'] = 'ΕνημÎÏωση εÏγασίας cron'; +$wb['datalog_status_d_cron'] = 'ΔιαγÏαφή εÏγασίας cron'; +$wb['datalog_status_i_mail_get'] = 'ΔημιουÏγία δημιουÏγία λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail fetcher'; +$wb['datalog_status_u_mail_get'] = 'ΕνημÎÏωση δημιουÏγία λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail fetcher'; +$wb['datalog_status_d_mail_get'] = 'ΔιαγÏαφή δημιουÏγία λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail fetcher'; +$wb['datalog_status_i_mail_mailinglist'] = 'ΔημιουÏγία λίστας mail'; +$wb['datalog_status_u_mail_mailinglist'] = 'ΕνημÎÏωση λίστας mail'; +$wb['datalog_status_d_mail_mailinglist'] = 'ΔιαγÏαφή λίστας mail'; +$wb['datalog_status_i_shell_user'] = 'ΔημιουÏγία χÏήστη shell'; +$wb['datalog_status_u_shell_user'] = 'ΕνημÎÏωση χÏήστη shell'; +$wb['datalog_status_d_shell_user'] = 'ΔιαγÏαφή χÏήστη shell'; +$wb['datalog_status_i_web_folder'] = 'ΔημιουÏγία Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_u_web_folder'] = 'ΕνημÎÏωση Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_d_web_folder'] = 'ΔιαγÏαφή Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_i_web_folder_user'] = 'ΔημιουÏγία χÏήστη Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_u_web_folder_user'] = 'ΕνημÎÏωση χÏήστη Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_d_web_folder_user'] = 'ΔιαγÏαφή χÏήστη Ï€Ïοστασίας φακÎλου'; +$wb['datalog_status_i_spamfilter_users'] = 'ΔημιουÏγία Ïυθμίσεων φίλτÏου spam'; +$wb['datalog_status_u_spamfilter_users'] = 'ΕνημÎÏωση Ïυθμίσεων φίλτÏου spam'; +$wb['datalog_status_d_spamfilter_users'] = 'ΔιαγÏαφή Ïυθμίσεων φίλτÏου spam'; +$wb['login_as_txt'] = 'Είσοδος ως'; +$wb['no_domain_perm'] = 'Δεν Îχετε δικαιώματα για αυτό το domain.'; +$wb['no_destination_perm'] = 'Δεν Îχετε δικαιώματα για αυτόν τον Ï€ÏοοÏισμό.'; ?> diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng index 47b611586d..1d689f0104 100644 --- a/interface/lib/lang/en.lng +++ b/interface/lib/lang/en.lng @@ -135,4 +135,7 @@ $wb['datalog_status_d_web_folder_user'] = 'Delete folder protection user'; $wb['login_as_txt'] = 'Log in as'; $wb["no_domain_perm"] = 'You have no permission for this domain.'; $wb["no_destination_perm"] = 'You have no permission for this destination.'; +$wb['client_you_are_locked'] = 'You have no permission to change any settings.'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/lib/shelluser_blacklist b/interface/lib/shelluser_blacklist index 4913b64272..c49d825517 100644 --- a/interface/lib/shelluser_blacklist +++ b/interface/lib/shelluser_blacklist @@ -31,5 +31,4 @@ vmail getmail ispconfig courier -dovecot -mongodb +dovecot \ No newline at end of file diff --git a/interface/ssl/empty.dir b/interface/ssl/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/ssl/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/tools/empty.dir b/interface/tools/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/tools/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 0bc490f765..c2adbdcc95 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -83,20 +83,22 @@ $form["tabs"]['server'] = array( 'errmsg' => 'netmask_error_wrong'), ), 'value' => '', - 'width' => '15', - 'maxlength' => '255' - ), - 'v6_prefix' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'validators' => array(0 => array('type' => 'ISV6PREFIX', - 'errmsg' => 'v6_prefix_wrong'), - ), - 'default' => '' - ), - 'gateway' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', + 'width' => '15', + 'maxlength' => '255' + ), + /* + 'v6_prefix' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array(0 => array('type' => 'ISV6PREFIX', + 'errmsg' => 'v6_prefix_wrong'), + ), + 'default' => '' + ), + */ + 'gateway' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', 'default' => '192.168.0.1', 'validators' => array(0 => array('type' => 'ISIPV4', 'errmsg' => 'gateway_error_wrong'), @@ -117,13 +119,13 @@ $form["tabs"]['server'] = array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'default' => 'server1.domain.tld', - 'filters' => array( 0 => array( 'event' => 'SAVE', - 'type' => 'IDNTOASCII'), - 1 => array( 'event' => 'SHOW', - 'type' => 'IDNTOUTF8'), - 2 => array( 'event' => 'SAVE', - 'type' => 'TOLOWER') - ), + 'filters' => array( 0 => array( 'event' => 'SAVE', + 'type' => 'IDNTOASCII'), + 1 => array( 'event' => 'SHOW', + 'type' => 'IDNTOUTF8'), + 2 => array( 'event' => 'SAVE', + 'type' => 'TOLOWER') + ), 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'hostname_error_empty'), ), @@ -182,9 +184,9 @@ $form["tabs"]['server'] = array( 'formtype' => 'TEXT', 'default' => '', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', - 'errmsg'=> 'monit_url_error_regex'), - ), + 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', + 'errmsg'=> 'monit_url_error_regex'), + ), 'value' => '', 'width' => '40', 'maxlength' => '255' @@ -210,9 +212,9 @@ $form["tabs"]['server'] = array( 'formtype' => 'TEXT', 'default' => '', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', - 'errmsg'=> 'munin_url_error_regex'), - ), + 'regex' => '/^[0-9a-zA-Z\:\/\-\.\[\]]{0,255}$/', + 'errmsg'=> 'munin_url_error_regex'), + ), 'value' => '', 'width' => '40', 'maxlength' => '255' @@ -275,19 +277,6 @@ $form["tabs"]['mail'] = array( 'width' => '40', 'maxlength' => '255' ), - 'dkim_path' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => '/var/db/dkim', - 'validators' => array ( 0 => array ('type' => 'CUSTOM', - 'class' => 'validate_dkim', - 'function' => 'check_dkim_path', - 'errmsg'=> 'dkim_path_error'), - ), - 'value' => '', - 'width' => '40', - 'maxlength' => '255' - ), 'pop3_imap_daemon' => array( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', @@ -419,8 +408,8 @@ $form["tabs"]['mail'] = array( 'formtype' => 'TEXT', 'default' => '7', 'value' => '', - 'width' => '20', - 'maxlength' => '255' + 'width' => '20', + 'maxlength' => '255' ), 'overquota_notify_onok' => array( 'datatype' => 'VARCHAR', @@ -517,20 +506,20 @@ $form["tabs"]['web'] = array( 'formtype' => 'TEXT', 'default' => '', 'value' => '', - 'width' => '40', - 'maxlength' => '255' - ), -/* -'vhost_rewrite_v6' => array ( -'datatype' => 'VARCHAR', -'formtype' => 'CHECKBOX', -'default' => 'n', -'value' => array(0 => 'n',1 => 'y') -), -*/ - 'vhost_conf_dir' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', + 'width' => '40', + 'maxlength' => '255' + ), +/* +'vhost_rewrite_v6' => array ( +'datatype' => 'VARCHAR', +'formtype' => 'CHECKBOX', +'default' => 'n', +'value' => array(0 => 'n',1 => 'y') +), +*/ + 'vhost_conf_dir' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', 'default' => '', 'validators' => array(0 => array('type' => 'NOTEMPTY', 'errmsg' => 'vhost_conf_dir_error_empty'), @@ -659,8 +648,8 @@ $form["tabs"]['web'] = array( 'formtype' => 'TEXT', 'default' => '7', 'value' => '', - 'width' => '20', - 'maxlength' => '255' + 'width' => '20', + 'maxlength' => '255' ), 'overquota_notify_onok' => array( 'datatype' => 'VARCHAR', @@ -817,17 +806,6 @@ $form["tabs"]['web'] = array( 'width' => '40', 'maxlength' => '4000' ), - 'php_ini_check_minutes' => array( - 'datatype' => 'INTEGER', - 'formtype' => 'TEXT', - 'default' => '1', - 'validators' => array(0 => array('type' => 'NOTEMPTY', - 'errmsg' => 'php_ini_check_minutes_error_empty'), - ), - 'value' => '', - 'width' => '10', - 'maxlength' => '255' - ), 'nginx_cgi_socket' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', @@ -1306,12 +1284,6 @@ $form["tabs"]['rescue'] = array( 'default' => 'n', 'value' => array(0 => 'n', 1 => 'y') ), - 'do_not_try_rescue_mongodb' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n', 1 => 'y') - ), 'do_not_try_rescue_mysql' => array( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php index f09d4db2e1..d04923bd3a 100644 --- a/interface/web/admin/form/system_config.tform.php +++ b/interface/web/admin/form/system_config.tform.php @@ -160,12 +160,6 @@ $form["tabs"]['sites'] = array ( 'default' => 'n', 'value' => array(0 => 'n',1 => 'y') ), - 'reseller_can_use_options' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n',1 => 'y') - ), ################################## # ENDE Datatable fields ################################## @@ -180,30 +174,12 @@ $form["tabs"]['mail'] = array ( ################################## # Begin Datatable fields ################################## - 'enable_custom_login' => array( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n', 1 => 'y') - ), - 'mailbox_show_autoresponder_tab' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'y', - 'value' => array(0 => 'n',1 => 'y') - ), - 'mailbox_show_mail_filter_tab' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'y', - 'value' => array(0 => 'n',1 => 'y') - ), - 'mailbox_show_custom_rules_tab' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'y', - 'value' => array(0 => 'n',1 => 'y') - ), + 'enable_custom_login' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n', 1 => 'y') + ), 'mailboxlist_webmail_link' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', diff --git a/interface/web/admin/language_edit.php b/interface/web/admin/language_edit.php index 208f1ac94f..ffba65d61a 100644 --- a/interface/web/admin/language_edit.php +++ b/interface/web/admin/language_edit.php @@ -85,7 +85,7 @@ $app->tpl->setVar("file_path", $file_path); $keyword_list = array(); if(isset($wb) && is_array($wb)) { foreach($wb as $key => $val) { - $keyword_list[] = array('key' => $key, 'val' => htmlentities($val)); + $keyword_list[] = array('key' => $key, 'val' => htmlentities($val,ENT_COMPAT | ENT_HTML401,'UTF-8')); } $app->tpl->setLoop('records', $keyword_list); diff --git a/interface/web/admin/language_import.php b/interface/web/admin/language_import.php index 285be11bdf..c25406ae7f 100644 --- a/interface/web/admin/language_import.php +++ b/interface/web/admin/language_import.php @@ -30,6 +30,86 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); +function normalize_string($string, $quote, $allow_special = false) { + $escaped = false; + $in_string = true; + $new_string = ''; + + for($c = 0; $c < mb_strlen($string); $c++) { + $char = $string{$c}; + + if($in_string === true && $escaped === false && $char === $quote) { + // this marks a string end (e.g. for concatenation) + $in_string = false; + continue; + } elseif($in_string === false) { + if($escaped === false && $char === $quote) { + $in_string = true; + continue; + } else { + continue; // we strip everything from outside the string! + } + } + + if($char === '"' && $escaped === true && $quote === '"') { + // unescape this + $new_string .= $char; + $escaped = false; + continue; + } elseif($char === "'" && $escaped === false && $quote === '"') { + // escape this + $new_string .= '\\' . $char; + continue; + } + + if($escaped === true) { + // the next character is the escaped one. + if($allow_special === true && ($char === 'n' || $char === 'r' || $char === 't')) { + $new_string .= '\' . "\\' . $char . '" . \''; + } else { + $new_string .= '\\' . $char; + } + $escaped = false; + } else { + if($char === '\\') { + $escaped = true; + } else { + $new_string .= $char; + } + } + } + return $new_string; +} + +function validate_line($line) { + $line = trim($line); + if($line === '' || $line === '<?php' || $line === '?>') return $line; // don't treat empty lines as malicious + + $ok = preg_match('/^\s*\$wb\[(["\'])(.*?)\\1\]\s*=\s*(["\'])(.*?)\\3\s*;\s*$/', $line, $matches); + if(!$ok) return false; // this line has invalid form and could lead to malfunction + + $keyquote = $matches[1]; // ' or " + $key = $matches[2]; + if(strpos($key, '"') !== false || strpos($key, "'") !== false) return false; + + $textquote = $matches[3]; // ' or " + $text = $matches[4]; + + $new_line = '$wb[\''; + + // validate the language key + $key = normalize_string($key, $keyquote); + + $new_line .= $key . '\'] = \''; + + // validate this text to avoid code injection + $text = normalize_string($text, $textquote, true); + + $new_line .= $text . '\';'; + + return $new_line; +} + //* Check permissions for module $app->auth->check_module_permissions('admin'); @@ -37,6 +117,8 @@ $app->auth->check_module_permissions('admin'); if(!$app->auth->is_admin()) die('only allowed for administrators.'); if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.'); +if(!$conf['language_file_import_enabled']) $app->error('Languge import function is disabled in the interface config.inc.php file.'); + $app->uses('tpl'); $app->tpl->newTemplate('form.tpl.htm'); @@ -58,7 +140,9 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $buffer = ''; $langfile_path = ''; // all other lines + $ln = 1; foreach($lines as $line) { + $ln++; $parts = explode('|',$line); if(is_array($parts) && count($parts) > 0 && $parts[0] == '--') { // Write language file, if its not the first file @@ -77,14 +161,18 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $file_name = trim($parts[3]); if(!preg_match("/^[a-z]{2}$/i", $selected_language)) die("unallowed characters in selected language name: $selected_language"); if(!preg_match("/^[a-z_]+$/i", $module_name)) die('unallowed characters in module name.'); - if(!preg_match("/^[a-z\._]+$/i", $file_name) || stristr($file_name,'..')) die("unallowed characters in language file name: '$file_name'"); + if(!preg_match("/^[a-z\._\-]+$/i", $file_name) || stristr($file_name,'..')) die("unallowed characters in language file name: '$file_name'"); if($module_name == 'global') { $langfile_path = trim(ISPC_LIB_PATH."/lang/".$selected_language.".lng"); } else { $langfile_path = trim(ISPC_WEB_PATH.'/'.$module_name.'/lib/lang/'.$file_name); } - } else { - $buffer .= trim($line)."\n"; + } elseif(is_array($parts) && count($parts) > 1 && $parts[0] == '---' && $parts[1] == 'EOF') { + // EOF line, ignore it. + } else { + $line = validate_line($line); + if($line === false) $error .= "Language file contains invalid language entry on line $ln.<br />"; + else $buffer .= $line."\n"; } } } diff --git a/interface/web/admin/lib/lang/ar_language_import.lng b/interface/web/admin/lib/lang/ar_language_import.lng index 4c31ec3de3..a5831fc954 100644 --- a/interface/web/admin/lib/lang/ar_language_import.lng +++ b/interface/web/admin/lib/lang/ar_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Import the selected language file'; $wb['language_overwrite_txt'] = 'Overwrite file, if exists.'; $wb['btn_cancel_txt'] = 'Back'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/ar_remote_action.lng b/interface/web/admin/lib/lang/ar_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/ar_remote_action.lng +++ b/interface/web/admin/lib/lang/ar_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/ar_software_package.lng b/interface/web/admin/lib/lang/ar_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/ar_software_package.lng +++ b/interface/web/admin/lib/lang/ar_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/ar_system_config.lng b/interface/web/admin/lib/lang/ar_system_config.lng index 11604d3430..a534fa7425 100644 --- a/interface/web/admin/lib/lang/ar_system_config.lng +++ b/interface/web/admin/lib/lang/ar_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/bg_language_import.lng b/interface/web/admin/lib/lang/bg_language_import.lng index 0cd38ee91a..40e0633adb 100644 --- a/interface/web/admin/lib/lang/bg_language_import.lng +++ b/interface/web/admin/lib/lang/bg_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Импортиране'; $wb['language_overwrite_txt'] = 'Презапиши ако ÑъщеÑтвува'; $wb['btn_cancel_txt'] = 'Отказ'; $wb['ignore_version_txt'] = 'ПропуÑни ISPConfig проверка на верÑиÑта'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/bg_remote_action.lng b/interface/web/admin/lib/lang/bg_remote_action.lng index 48f35054fc..e9aa121314 100644 --- a/interface/web/admin/lib/lang/bg_remote_action.lng +++ b/interface/web/admin/lib/lang/bg_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Това дейÑтвие прави ISPConfig 3 о $wb['action_scheduled'] = 'Това дейÑтвие е наÑрочено за изпълнение'; $wb['select_all_server'] = 'Ð¦ÐµÐ»Ð¸Ñ Ñървър'; $wb['ispconfig_update_title'] = 'ISPConfig ъпдейт инÑтрукции'; -$wb['ispconfig_update_text'] = 'Логнете Ñе като root потребител през шелла на вашиÑÑ‚ Ñървър използвайте командата<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />за да Ñтартирате ISPConfig обновÑване.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Логнете Ñе като root потребител през шелла на вашиÑÑ‚ Ñървър използвайте командата<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />за да Ñтартирате ISPConfig обновÑване.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/bg_software_package.lng b/interface/web/admin/lib/lang/bg_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/bg_software_package.lng +++ b/interface/web/admin/lib/lang/bg_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/bg_system_config.lng b/interface/web/admin/lib/lang/bg_system_config.lng index e3c6678b15..282ab42c29 100644 --- a/interface/web/admin/lib/lang/bg_system_config.lng +++ b/interface/web/admin/lib/lang/bg_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/br_language_import.lng b/interface/web/admin/lib/lang/br_language_import.lng index 290335b6f0..ba519c5fe6 100644 --- a/interface/web/admin/lib/lang/br_language_import.lng +++ b/interface/web/admin/lib/lang/br_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importar Arquivo de Idioma Selecionado'; $wb['language_overwrite_txt'] = 'Sobre escrever o arquivo se existir.'; $wb['btn_cancel_txt'] = 'Voltar'; $wb['ignore_version_txt'] = 'Pular checagem de versão do ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/br_remote_action.lng b/interface/web/admin/lib/lang/br_remote_action.lng index 420f2cc56c..d6578c9d6a 100644 --- a/interface/web/admin/lib/lang/br_remote_action.lng +++ b/interface/web/admin/lib/lang/br_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Esta ação fará uma atualização do ISPConfig3 n $wb['action_scheduled'] = 'Esta ação está agendada para execução'; $wb['select_all_server'] = 'Todos os servidores'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/br_software_package.lng b/interface/web/admin/lib/lang/br_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/br_software_package.lng +++ b/interface/web/admin/lib/lang/br_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/br_system_config.lng b/interface/web/admin/lib/lang/br_system_config.lng index 3bc0172154..544fcc19d2 100644 --- a/interface/web/admin/lib/lang/br_system_config.lng +++ b/interface/web/admin/lib/lang/br_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/cz.lng b/interface/web/admin/lib/lang/cz.lng index bc1c9bb83f..23a64d8ba2 100644 --- a/interface/web/admin/lib/lang/cz.lng +++ b/interface/web/admin/lib/lang/cz.lng @@ -48,3 +48,4 @@ $wb['Do OS-Update'] = 'Aktualizovat operaÄnà systém'; $wb['Do ISPConfig-Update'] = 'Aktualizovat ISPConfig'; $wb['Directive Snippets'] = 'Directive Snippets'; ?> + diff --git a/interface/web/admin/lib/lang/cz_directive_snippets.lng b/interface/web/admin/lib/lang/cz_directive_snippets.lng index c6a89099c6..085aec4d40 100644 --- a/interface/web/admin/lib/lang/cz_directive_snippets.lng +++ b/interface/web/admin/lib/lang/cz_directive_snippets.lng @@ -7,3 +7,4 @@ $wb['active_txt'] = 'AktivnÃ'; $wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.'; $wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_directive_snippets_list.lng b/interface/web/admin/lib/lang/cz_directive_snippets_list.lng index c6f444b660..c8cedfe36d 100644 --- a/interface/web/admin/lib/lang/cz_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/cz_directive_snippets_list.lng @@ -5,3 +5,4 @@ $wb['name_txt'] = 'Name of Snippet'; $wb['type_txt'] = 'Verze'; $wb['add_new_record_txt'] = 'Add Directive Snippet'; ?> + diff --git a/interface/web/admin/lib/lang/cz_firewall.lng b/interface/web/admin/lib/lang/cz_firewall.lng index c6146ae93d..abe744f065 100644 --- a/interface/web/admin/lib/lang/cz_firewall.lng +++ b/interface/web/admin/lib/lang/cz_firewall.lng @@ -9,3 +9,4 @@ $wb['firewall_error_unique'] = 'Pro tento server již existuje záznam firewallu $wb['tcp_ports_error_regex'] = 'Znak nenà povole v definici TCP portu. Povolené symboly jsou ÄÃsla, : a ,.'; $wb['udp_ports_error_regex'] = 'Znak nenà povole v definici UDP portu. Povolené symboly jsou ÄÃsla, : a ,.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_firewall_list.lng b/interface/web/admin/lib/lang/cz_firewall_list.lng index aecc4cf06a..76ee5c0f76 100644 --- a/interface/web/admin/lib/lang/cz_firewall_list.lng +++ b/interface/web/admin/lib/lang/cz_firewall_list.lng @@ -6,3 +6,4 @@ $wb['tcp_port_txt'] = 'OtevÅ™ené TCP porty'; $wb['udp_port_txt'] = 'OtevÅ™ené UDP porty'; $wb['add_new_record_txt'] = 'PÅ™idat záznam'; ?> + diff --git a/interface/web/admin/lib/lang/cz_groups.lng b/interface/web/admin/lib/lang/cz_groups.lng index a6281be247..b7bb634f5e 100644 --- a/interface/web/admin/lib/lang/cz_groups.lng +++ b/interface/web/admin/lib/lang/cz_groups.lng @@ -3,3 +3,4 @@ $wb['description_txt'] = 'Popis'; $wb['name_txt'] = 'Skupina'; $wb['name_err'] = 'Skupina musà mÃt min. 1, max. 30 znaků.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_groups_list.lng b/interface/web/admin/lib/lang/cz_groups_list.lng index c1d7ef9a8b..9bc2c9eb72 100644 --- a/interface/web/admin/lib/lang/cz_groups_list.lng +++ b/interface/web/admin/lib/lang/cz_groups_list.lng @@ -5,3 +5,4 @@ $wb['name_txt'] = 'Skupina'; $wb['add_new_record_txt'] = 'PÅ™idat skupinu'; $wb['warning_txt'] = '<b>VAROVÃNÃ:</b> Zde neupravujte uživatelská nastavenÃ. Užijte klientská a distributorská nastavenà v klientském modulu. Úprava uživatelý nebo skupin zde může způsobit ztrátu dat!'; ?> + diff --git a/interface/web/admin/lib/lang/cz_iptables.lng b/interface/web/admin/lib/lang/cz_iptables.lng index a40fc0490f..b7d736e15d 100644 --- a/interface/web/admin/lib/lang/cz_iptables.lng +++ b/interface/web/admin/lib/lang/cz_iptables.lng @@ -11,3 +11,4 @@ $wb['source_ip_txt'] = 'Zdrojové adresy'; $wb['active_txt'] = 'AktivnÃ'; $wb['iptables_error_unique'] = 'Stejný záznam pro firewall je již na tomto serveru použit.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_iptables_list.lng b/interface/web/admin/lib/lang/cz_iptables_list.lng index 65cef7507e..02177f6d99 100644 --- a/interface/web/admin/lib/lang/cz_iptables_list.lng +++ b/interface/web/admin/lib/lang/cz_iptables_list.lng @@ -13,3 +13,4 @@ $wb['source_ip_txt'] = 'Zdrojové adresy'; $wb['active_txt'] = 'AktivnÃ'; $wb['iptables_error_unique'] = 'Stejný záznam pro firewall je již na tomto serveru použit.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_add.lng b/interface/web/admin/lib/lang/cz_language_add.lng index 285dff2761..3af00bf303 100644 --- a/interface/web/admin/lib/lang/cz_language_add.lng +++ b/interface/web/admin/lib/lang/cz_language_add.lng @@ -6,3 +6,4 @@ $wb['language_new_hint_txt'] = '2 znakové ISO 639-1 jazykové kódy (Viz: http: $wb['btn_save_txt'] = 'VytvoÅ™it novou jazykovou sadu souborů'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_complete.lng b/interface/web/admin/lib/lang/cz_language_complete.lng index f1e6f4924e..5f1b2f75b1 100644 --- a/interface/web/admin/lib/lang/cz_language_complete.lng +++ b/interface/web/admin/lib/lang/cz_language_complete.lng @@ -5,3 +5,4 @@ $wb['language_select_txt'] = 'Vybrat jazyk k doplnÄ›nÃ'; $wb['btn_save_txt'] = 'SlouÄit / doplnit jazykový soubor'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_edit.lng b/interface/web/admin/lib/lang/cz_language_edit.lng index 2a71ed0a77..086e166bba 100644 --- a/interface/web/admin/lib/lang/cz_language_edit.lng +++ b/interface/web/admin/lib/lang/cz_language_edit.lng @@ -6,3 +6,4 @@ $wb['lang_file_txt'] = 'Jazykový soubor'; $wb['btn_save_txt'] = 'Uložit'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_export.lng b/interface/web/admin/lib/lang/cz_language_export.lng index 7998eea017..54f138a2ea 100644 --- a/interface/web/admin/lib/lang/cz_language_export.lng +++ b/interface/web/admin/lib/lang/cz_language_export.lng @@ -4,3 +4,4 @@ $wb['language_select_txt'] = 'Vybrat jazykovou sadu'; $wb['btn_save_txt'] = 'Uložit vybranou jazykovou sadu do souboru'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_import.lng b/interface/web/admin/lib/lang/cz_language_import.lng index 838c325f7f..11e42f8041 100644 --- a/interface/web/admin/lib/lang/cz_language_import.lng +++ b/interface/web/admin/lib/lang/cz_language_import.lng @@ -6,3 +6,4 @@ $wb['language_overwrite_txt'] = 'PÅ™epsat soubor, pokud existuje.'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; $wb['ignore_version_txt'] = 'PÅ™eskoÄit kontrolu verze ISPConfigu.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_language_list.lng b/interface/web/admin/lib/lang/cz_language_list.lng index b2a7863715..49614e0529 100644 --- a/interface/web/admin/lib/lang/cz_language_list.lng +++ b/interface/web/admin/lib/lang/cz_language_list.lng @@ -5,3 +5,4 @@ $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Jazykový soubor'; $wb['lang_file_date_txt'] = 'Poslednà úprava'; ?> + diff --git a/interface/web/admin/lib/lang/cz_login_as.lng b/interface/web/admin/lib/lang/cz_login_as.lng index 3f8e8491fc..0f09d105ba 100644 --- a/interface/web/admin/lib/lang/cz_login_as.lng +++ b/interface/web/admin/lib/lang/cz_login_as.lng @@ -9,3 +9,4 @@ $wb['firewall_error_unique'] = 'There is already a firewall record for this serv $wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".'; $wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".'; ?> + diff --git a/interface/web/admin/lib/lang/cz_package_install.lng b/interface/web/admin/lib/lang/cz_package_install.lng index 64a190d9a1..843bab6687 100644 --- a/interface/web/admin/lib/lang/cz_package_install.lng +++ b/interface/web/admin/lib/lang/cz_package_install.lng @@ -5,3 +5,4 @@ $wb['repo_username_txt'] = 'Uživatel (volitelné)'; $wb['repo_password_txt'] = 'Heslo (volitelné)'; $wb['active_txt'] = 'AktivnÃ'; ?> + diff --git a/interface/web/admin/lib/lang/cz_remote_action.lng b/interface/web/admin/lib/lang/cz_remote_action.lng index e1908e2d04..536ccfb357 100644 --- a/interface/web/admin/lib/lang/cz_remote_action.lng +++ b/interface/web/admin/lib/lang/cz_remote_action.lng @@ -10,3 +10,4 @@ $wb['select_all_server'] = 'VÅ¡echny servery'; $wb['ispconfig_update_title'] = 'ISPConfig pokyny k aktualizaci'; $wb['ispconfig_update_text'] = 'PÅ™ihlaste se jako uživatel root na terminal (shell) serveru a proveÄte pÅ™Ãkaz<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />spustà se ISPConfig aktualizace.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>KliknÄ›te zde pro podrobnÄ›jÅ¡Ã informace o provedenà aktualizace</a>'; ?> + diff --git a/interface/web/admin/lib/lang/cz_remote_user.lng b/interface/web/admin/lib/lang/cz_remote_user.lng index 17c4f05b56..c75c165270 100644 --- a/interface/web/admin/lib/lang/cz_remote_user.lng +++ b/interface/web/admin/lib/lang/cz_remote_user.lng @@ -45,3 +45,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/admin/lib/lang/cz_remote_user_list.lng b/interface/web/admin/lib/lang/cz_remote_user_list.lng index 66b64946e4..c466a2a8b5 100644 --- a/interface/web/admin/lib/lang/cz_remote_user_list.lng +++ b/interface/web/admin/lib/lang/cz_remote_user_list.lng @@ -5,3 +5,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat uživatele'; $wb['parent_remote_userid_txt'] = 'ID'; $wb['username_txt'] = 'Uživatel'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server.lng b/interface/web/admin/lib/lang/cz_server.lng index a087656a1c..ced7e5fb33 100644 --- a/interface/web/admin/lib/lang/cz_server.lng +++ b/interface/web/admin/lib/lang/cz_server.lng @@ -13,3 +13,4 @@ $wb['- None -'] = '- Žádný -'; $wb['proxy_server_txt'] = 'Proxy-Server'; $wb['firewall_server_txt'] = 'Firewall-Server'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index 049da2272e..18e833e31a 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -171,11 +171,11 @@ $wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attribu $wb['overtraffic_notify_admin_txt'] = 'PÅ™i pÅ™ekroÄenà limitu pÅ™enesených dat, poslat oznámenà adminovi'; $wb['overtraffic_notify_client_txt'] = 'PÅ™i pÅ™ekroÄenà limitu pÅ™enesených dat, poslat oznámenà klientovi'; $wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; -$wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; -$wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; +$wb['overquota_notify_admin_txt'] = 'Poslat varovánà o pÅ™ekroÄenà nebo vyÄerpánà kvót adminovi'; +$wb['overquota_notify_client_txt'] = 'Poslat varovánà o pÅ™ekroÄenà nebo vyÄerpánà kvót uživateli'; $wb['overquota_notify_onok_txt'] = 'Send quota ok message to client'; -$wb['overquota_notify_freq_txt'] = 'Send quota warning each X days'; -$wb['overquota_notify_freq_note_txt'] = '0 = send message just once, no repeated messages'; +$wb['overquota_notify_freq_txt'] = 'Poslat varovánà o kvótách každý X dnÃ'; +$wb['overquota_notify_freq_note_txt'] = '0 = poslat zprávu pouze jednou, žádné opakované zprávy'; $wb['admin_notify_events_txt'] = 'Send email to admin starting with the following level'; $wb['no_notifications_txt'] = 'No Notifications'; $wb['monit_url_txt'] = 'Monit URL'; @@ -189,3 +189,4 @@ $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_config_list.lng b/interface/web/admin/lib/lang/cz_server_config_list.lng index 2118c35357..9a56c34e2a 100644 --- a/interface/web/admin/lib/lang/cz_server_config_list.lng +++ b/interface/web/admin/lib/lang/cz_server_config_list.lng @@ -2,3 +2,4 @@ $wb['list_head_txt'] = 'Konfigurace serveru'; $wb['server_name_txt'] = 'Server'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_ip.lng b/interface/web/admin/lib/lang/cz_server_ip.lng index 43a382a646..4f013b5d9b 100644 --- a/interface/web/admin/lib/lang/cz_server_ip.lng +++ b/interface/web/admin/lib/lang/cz_server_ip.lng @@ -9,3 +9,4 @@ $wb['ip_type_txt'] = 'Verze'; $wb['virtualhost_port_txt'] = 'HTTP Porty'; $wb['error_port_syntax'] = 'Neplatné znaky ve volbÄ› HTTP Portů. ProsÃm, zadejte pouze ÄÃselné hodnoty oddÄ›lené Äárkami. PÅ™Ãklad: 80,443'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_ip_list.lng b/interface/web/admin/lib/lang/cz_server_ip_list.lng index 93b0b77c9b..3aaa3abb09 100644 --- a/interface/web/admin/lib/lang/cz_server_ip_list.lng +++ b/interface/web/admin/lib/lang/cz_server_ip_list.lng @@ -8,3 +8,4 @@ $wb['virtualhost_txt'] = 'HTTP Vhost'; $wb['virtualhost_port_txt'] = 'HTTP Ports'; $wb['ip_type_txt'] = 'Verze'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_list.lng b/interface/web/admin/lib/lang/cz_server_list.lng index ecddbf28e8..437f376284 100644 --- a/interface/web/admin/lib/lang/cz_server_list.lng +++ b/interface/web/admin/lib/lang/cz_server_list.lng @@ -11,3 +11,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat server'; $wb['proxy_server_txt'] = 'Proxy'; $wb['firewall_server_txt'] = 'Firewall'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_php.lng b/interface/web/admin/lib/lang/cz_server_php.lng index 10aba05dd7..fc8f7ad4af 100644 --- a/interface/web/admin/lib/lang/cz_server_php.lng +++ b/interface/web/admin/lib/lang/cz_server_php.lng @@ -14,3 +14,4 @@ $wb['php_fpm_init_script_txt'] = 'Cesta k PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_pool_dir_txt'] = 'Cesta k PHP-FPM pool adresáři'; ?> + diff --git a/interface/web/admin/lib/lang/cz_server_php_list.lng b/interface/web/admin/lib/lang/cz_server_php_list.lng index 36b28fe411..25b95f9c4d 100644 --- a/interface/web/admin/lib/lang/cz_server_php_list.lng +++ b/interface/web/admin/lib/lang/cz_server_php_list.lng @@ -5,3 +5,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat novou verzi PHP'; $wb['client_id_txt'] = 'Klient'; $wb['name_txt'] = 'Verze PHP'; ?> + diff --git a/interface/web/admin/lib/lang/cz_software_package.lng b/interface/web/admin/lib/lang/cz_software_package.lng index 62ef734079..b6421baf17 100644 --- a/interface/web/admin/lib/lang/cz_software_package.lng +++ b/interface/web/admin/lib/lang/cz_software_package.lng @@ -1,6 +1,7 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> + diff --git a/interface/web/admin/lib/lang/cz_software_package_install.lng b/interface/web/admin/lib/lang/cz_software_package_install.lng index 0d079ef6d3..77941a0ded 100644 --- a/interface/web/admin/lib/lang/cz_software_package_install.lng +++ b/interface/web/admin/lib/lang/cz_software_package_install.lng @@ -4,3 +4,4 @@ $wb['install_key_txt'] = 'Enter install key'; $wb['btn_save_txt'] = 'Spustit instalaci'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; ?> + diff --git a/interface/web/admin/lib/lang/cz_software_package_list.lng b/interface/web/admin/lib/lang/cz_software_package_list.lng index 9d227acb2d..ec1b967fa9 100644 --- a/interface/web/admin/lib/lang/cz_software_package_list.lng +++ b/interface/web/admin/lib/lang/cz_software_package_list.lng @@ -8,6 +8,7 @@ $wb['toolsarea_head_txt'] = 'BalÃÄky'; $wb['repoupdate_txt'] = 'Aktualizace seznamu balÃků'; $wb['package_id_txt'] = 'mÃstnà App-ID'; $wb['no_packages_txt'] = 'Žádné balÃÄky nejsou k dispozici'; -$wb['edit_txt'] = 'Edit'; -$wb['delete_txt'] = 'Delete'; +$wb['edit_txt'] = 'Upravit'; +$wb['delete_txt'] = 'Smazat'; ?> + diff --git a/interface/web/admin/lib/lang/cz_software_repo.lng b/interface/web/admin/lib/lang/cz_software_repo.lng index 6e200d8d12..572d3319c4 100644 --- a/interface/web/admin/lib/lang/cz_software_repo.lng +++ b/interface/web/admin/lib/lang/cz_software_repo.lng @@ -6,3 +6,4 @@ $wb['repo_password_txt'] = 'Heslo (volitelné)'; $wb['active_txt'] = 'AktivnÃ'; $wb['Software Repository which may contain addons or updates'] = 'Software Repository which may contain addons or updates'; ?> + diff --git a/interface/web/admin/lib/lang/cz_software_repo_list.lng b/interface/web/admin/lib/lang/cz_software_repo_list.lng index 5c82d4c41f..d45b792fbc 100644 --- a/interface/web/admin/lib/lang/cz_software_repo_list.lng +++ b/interface/web/admin/lib/lang/cz_software_repo_list.lng @@ -4,3 +4,4 @@ $wb['active_txt'] = 'AktivnÃ'; $wb['repo_name_txt'] = 'Repozitář'; $wb['repo_url_txt'] = 'URL'; ?> + diff --git a/interface/web/admin/lib/lang/cz_software_update_list.lng b/interface/web/admin/lib/lang/cz_software_update_list.lng index c48ad8ce30..467fd5f0de 100644 --- a/interface/web/admin/lib/lang/cz_software_update_list.lng +++ b/interface/web/admin/lib/lang/cz_software_update_list.lng @@ -7,3 +7,4 @@ $wb['version_txt'] = 'Verze'; $wb['action_txt'] = 'Akce'; $wb['no_updates_txt'] = 'Žádné aktualizace nejsou k dispozici'; ?> + diff --git a/interface/web/admin/lib/lang/cz_system_config.lng b/interface/web/admin/lib/lang/cz_system_config.lng index 167b933328..40804371ec 100644 --- a/interface/web/admin/lib/lang/cz_system_config.lng +++ b/interface/web/admin/lib/lang/cz_system_config.lng @@ -53,3 +53,4 @@ $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; ?> + diff --git a/interface/web/admin/lib/lang/cz_tpl_default_admin.lng b/interface/web/admin/lib/lang/cz_tpl_default_admin.lng index 480d504421..efecb6d979 100644 --- a/interface/web/admin/lib/lang/cz_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/cz_tpl_default_admin.lng @@ -16,3 +16,4 @@ $wb['php_fpm_init_script_txt'] = 'Cesta k PHP-FPM init script'; $wb['php_fpm_ini_dir_txt'] = 'Cesta k php.ini adresáři'; $wb['php_fpm_pool_dir_txt'] = 'Cesta k PHP-FPM pool adresáři'; ?> + diff --git a/interface/web/admin/lib/lang/cz_users.lng b/interface/web/admin/lib/lang/cz_users.lng index 16f4812d68..0324f16a8d 100644 --- a/interface/web/admin/lib/lang/cz_users.lng +++ b/interface/web/admin/lib/lang/cz_users.lng @@ -31,3 +31,4 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; $wb['username_error_collision'] = 'Uživatelské jméno nesmà být web nebo web a ÄÃslo.\\"'; ?> + diff --git a/interface/web/admin/lib/lang/cz_users_list.lng b/interface/web/admin/lib/lang/cz_users_list.lng index e5a7d1e4de..37b0e7e29b 100644 --- a/interface/web/admin/lib/lang/cz_users_list.lng +++ b/interface/web/admin/lib/lang/cz_users_list.lng @@ -7,3 +7,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat uživatele'; $wb['warning_txt'] = '<b>VAROVÃNÃ:</b> Zde neupravujte uživatelská nastavenÃ. Užijte klientská a distributorská nastavenà v klientském modulu. Úprava uživatelů nebo skupin zde může způsobit ztrátu dat!'; $wb['groups_txt'] = 'Skupiny'; ?> + diff --git a/interface/web/admin/lib/lang/de.lng b/interface/web/admin/lib/lang/de.lng index 0a7af75131..152c829df6 100644 --- a/interface/web/admin/lib/lang/de.lng +++ b/interface/web/admin/lib/lang/de.lng @@ -48,3 +48,4 @@ $wb['Remote Actions'] = 'Wartung'; $wb['Do OS-Update'] = 'Betriebssystem Update'; $wb['Do ISPConfig-Update'] = 'ISPConfig Update'; ?> + diff --git a/interface/web/admin/lib/lang/de_directive_snippets.lng b/interface/web/admin/lib/lang/de_directive_snippets.lng index 7a9b7563be..9c93c4c8bb 100644 --- a/interface/web/admin/lib/lang/de_directive_snippets.lng +++ b/interface/web/admin/lib/lang/de_directive_snippets.lng @@ -5,5 +5,6 @@ $wb['type_txt'] = 'Typ'; $wb['snippet_txt'] = 'Schnipsel'; $wb['active_txt'] = 'Aktiv'; $wb['directive_snippets_name_empty'] = 'Bitte geben Sie einen Namen für den Schnipsel an.'; -$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven-Schnipsel mit diesem Namen.'; +$wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven Schnipsel mit diesem Namen.'; ?> + diff --git a/interface/web/admin/lib/lang/de_directive_snippets_list.lng b/interface/web/admin/lib/lang/de_directive_snippets_list.lng index a19d5e8da4..d3109a19fa 100644 --- a/interface/web/admin/lib/lang/de_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/de_directive_snippets_list.lng @@ -5,3 +5,4 @@ $wb['name_txt'] = 'Name des Schnipsels'; $wb['type_txt'] = 'Typ'; $wb['add_new_record_txt'] = 'Direktiven Schnipsel hinzufügen'; ?> + diff --git a/interface/web/admin/lib/lang/de_firewall.lng b/interface/web/admin/lib/lang/de_firewall.lng index 92b73270f5..a475290e1c 100644 --- a/interface/web/admin/lib/lang/de_firewall.lng +++ b/interface/web/admin/lib/lang/de_firewall.lng @@ -9,3 +9,4 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalldatensatz für die $wb['tcp_ports_error_regex'] = 'Zeichen nicht erlaubt in TCP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.'; $wb['udp_ports_error_regex'] = 'Zeichen nicht erlaubt in UDP Port Definition. Erlaubte Zeichen sind Nummern, : und ,.'; ?> + diff --git a/interface/web/admin/lib/lang/de_firewall_list.lng b/interface/web/admin/lib/lang/de_firewall_list.lng index aefad619ba..77172d054c 100644 --- a/interface/web/admin/lib/lang/de_firewall_list.lng +++ b/interface/web/admin/lib/lang/de_firewall_list.lng @@ -6,3 +6,4 @@ $wb['tcp_port_txt'] = 'Offene TCP Ports'; $wb['udp_port_txt'] = 'Offene UDP Ports'; $wb['add_new_record_txt'] = 'Firewalleintrag hinzufügen'; ?> + diff --git a/interface/web/admin/lib/lang/de_groups.lng b/interface/web/admin/lib/lang/de_groups.lng index 80abd65f76..b29c0996f4 100644 --- a/interface/web/admin/lib/lang/de_groups.lng +++ b/interface/web/admin/lib/lang/de_groups.lng @@ -3,3 +3,4 @@ $wb['description_txt'] = 'Beschreibung'; $wb['name_txt'] = 'Gruppe'; $wb['name_err'] = 'Der Gruppenname muss min. 1, max. 30 Zeichen lang sein.'; ?> + diff --git a/interface/web/admin/lib/lang/de_groups_list.lng b/interface/web/admin/lib/lang/de_groups_list.lng index 2447431771..23492f19f1 100644 --- a/interface/web/admin/lib/lang/de_groups_list.lng +++ b/interface/web/admin/lib/lang/de_groups_list.lng @@ -5,3 +5,4 @@ $wb['name_txt'] = 'Gruppe'; $wb['add_new_record_txt'] = 'Neue Gruppe hinzufügen'; $wb['warning_txt'] = '<b>WARNUNG:</b> Bitte hier keine Benutzereinstellungen verändern. Benutzen Sie die Kunden- und Resellereinstellungen im Kundenmodul. Modifizieren der Benutzer oder Gruppen hier könnte zum Datenverlust führen!'; ?> + diff --git a/interface/web/admin/lib/lang/de_iptables.lng b/interface/web/admin/lib/lang/de_iptables.lng index 3e5553234d..9d0a395665 100644 --- a/interface/web/admin/lib/lang/de_iptables.lng +++ b/interface/web/admin/lib/lang/de_iptables.lng @@ -6,8 +6,9 @@ $wb['protocol_txt'] = 'Protokoll'; $wb['table_txt'] = 'Table'; $wb['target_txt'] = 'Ziel'; $wb['state_txt'] = 'Status'; -$wb['destination_ip_txt'] = 'Ziel Address'; +$wb['destination_ip_txt'] = 'Ziel Adresse'; $wb['source_ip_txt'] = 'Ausgangs Adresse'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.'; ?> + diff --git a/interface/web/admin/lib/lang/de_iptables_list.lng b/interface/web/admin/lib/lang/de_iptables_list.lng index 378db79555..467368fdee 100644 --- a/interface/web/admin/lib/lang/de_iptables_list.lng +++ b/interface/web/admin/lib/lang/de_iptables_list.lng @@ -13,3 +13,4 @@ $wb['source_ip_txt'] = 'Ausgangs Adresse'; $wb['active_txt'] = 'Aktiv'; $wb['iptables_error_unique'] = 'Es besteht bereits eine Firewall Regel für diesen Server.'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_add.lng b/interface/web/admin/lib/lang/de_language_add.lng index 118bdee049..7d7234a4b1 100644 --- a/interface/web/admin/lib/lang/de_language_add.lng +++ b/interface/web/admin/lib/lang/de_language_add.lng @@ -4,5 +4,6 @@ $wb['language_select_txt'] = 'Sprachbasis auswählen'; $wb['language_new_txt'] = 'Neue Sprache'; $wb['language_new_hint_txt'] = '2 Buchstaben ISO 639-1 Sprachcode (siehe http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)'; $wb['btn_save_txt'] = 'Neues Sprachdateiset erstellen'; -$wb['btn_cancel_txt'] = 'Zurück'; +$wb['btn_cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_complete.lng b/interface/web/admin/lib/lang/de_language_complete.lng index 1376e0c8a2..015bd172ee 100644 --- a/interface/web/admin/lib/lang/de_language_complete.lng +++ b/interface/web/admin/lib/lang/de_language_complete.lng @@ -3,5 +3,6 @@ $wb['list_head_txt'] = 'Sprachdatei zusammenführen'; $wb['list_desc_txt'] = 'Die ausgewählte Sprache mit der englischen Master Sprachdatei zusammenführen. <br />Dies fügt fehlende Sätze aus der englischen Master Sprachdatei in der gewählten Sprache ein.'; $wb['language_select_txt'] = 'Sprache auswählen'; $wb['btn_save_txt'] = 'Dateien jetzt zusammenführen'; -$wb['btn_cancel_txt'] = 'Zurück'; +$wb['btn_cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_edit.lng b/interface/web/admin/lib/lang/de_language_edit.lng index 30ab21b28d..139b679390 100644 --- a/interface/web/admin/lib/lang/de_language_edit.lng +++ b/interface/web/admin/lib/lang/de_language_edit.lng @@ -4,5 +4,6 @@ $wb['language_select_txt'] = 'Sprache auswählen'; $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Sprachdatei'; $wb['btn_save_txt'] = 'Speichern'; -$wb['btn_cancel_txt'] = 'Zurück'; +$wb['btn_cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_export.lng b/interface/web/admin/lib/lang/de_language_export.lng index 70eb466d4c..2674634ba1 100644 --- a/interface/web/admin/lib/lang/de_language_export.lng +++ b/interface/web/admin/lib/lang/de_language_export.lng @@ -2,5 +2,6 @@ $wb['list_head_txt'] = 'Sprachdatei exportieren'; $wb['language_select_txt'] = 'Sprache auswählen'; $wb['btn_save_txt'] = 'Ausgewähltes Sprachdateiset exportieren'; -$wb['btn_cancel_txt'] = 'Zurück'; +$wb['btn_cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_import.lng b/interface/web/admin/lib/lang/de_language_import.lng index 29ee030787..bd79ce6710 100644 --- a/interface/web/admin/lib/lang/de_language_import.lng +++ b/interface/web/admin/lib/lang/de_language_import.lng @@ -3,6 +3,7 @@ $wb['list_head_txt'] = 'Sprachdatei importieren'; $wb['language_import_txt'] = 'Sprache auswählen'; $wb['btn_save_txt'] = 'Ausgewählte Sprache importieren'; $wb['language_overwrite_txt'] = 'Datei überschreiben, falls diese schon existiert.'; -$wb['btn_cancel_txt'] = 'Zurück'; +$wb['btn_cancel_txt'] = 'Abbrechen'; $wb['ignore_version_txt'] = 'ISPConfig Versionsüberprüfung überspringen'; ?> + diff --git a/interface/web/admin/lib/lang/de_language_list.lng b/interface/web/admin/lib/lang/de_language_list.lng index bf75420cfc..6d4a7ae77d 100644 --- a/interface/web/admin/lib/lang/de_language_list.lng +++ b/interface/web/admin/lib/lang/de_language_list.lng @@ -5,3 +5,4 @@ $wb['module_txt'] = 'Modul'; $wb['lang_file_txt'] = 'Sprachdatei'; $wb['lang_file_date_txt'] = 'Letzte Änderung'; ?> + diff --git a/interface/web/admin/lib/lang/de_login_as.lng b/interface/web/admin/lib/lang/de_login_as.lng index 1edec36c32..2388e2e3bf 100644 --- a/interface/web/admin/lib/lang/de_login_as.lng +++ b/interface/web/admin/lib/lang/de_login_as.lng @@ -9,3 +9,4 @@ $wb['firewall_error_unique'] = 'Es gibt bereits einen Firewalleintrag für diese $wb['tcp_ports_error_regex'] = 'Es sind nur Zahlen in der TCP Port Definition erlaubt. '; $wb['udp_ports_error_regex'] = 'Es sind nur Zahlen in der UDP Port Definition erlaubt., '; ?> + diff --git a/interface/web/admin/lib/lang/de_package_install.lng b/interface/web/admin/lib/lang/de_package_install.lng index bbacc85d41..f54fbfefb1 100644 --- a/interface/web/admin/lib/lang/de_package_install.lng +++ b/interface/web/admin/lib/lang/de_package_install.lng @@ -5,3 +5,4 @@ $wb['repo_username_txt'] = 'Benutzername (optional)'; $wb['repo_password_txt'] = 'Passwort (optional)'; $wb['active_txt'] = 'Aktiv'; ?> + diff --git a/interface/web/admin/lib/lang/de_remote_action.lng b/interface/web/admin/lib/lang/de_remote_action.lng index 786f03e0ad..3fdfbb811b 100644 --- a/interface/web/admin/lib/lang/de_remote_action.lng +++ b/interface/web/admin/lib/lang/de_remote_action.lng @@ -10,3 +10,4 @@ $wb['select_all_server'] = 'Alle Server'; $wb['ispconfig_update_title'] = 'ISPConfig 3 Update Anweisungen'; $wb['ispconfig_update_text'] = 'Melden Sie sich auf Ihrem Server als root an und führen Sie folgendes Kommando auf der Shell aus<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />um das ISPConfig Update zu starten.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Klicken Sie hier um eine detailierte Beschreibung zu erhalten</a>'; ?> + diff --git a/interface/web/admin/lib/lang/de_remote_user.lng b/interface/web/admin/lib/lang/de_remote_user.lng index 9e7d2a0c79..9f2bdf5eaa 100644 --- a/interface/web/admin/lib/lang/de_remote_user.lng +++ b/interface/web/admin/lib/lang/de_remote_user.lng @@ -6,19 +6,19 @@ $wb['username_error_unique'] = 'Benutzername muss einzigartig sein'; $wb['username_error_empty'] = 'Benutzername darf nicht leer sein'; $wb['password_error_empty'] = 'Passwort darf nicht leer sein'; $wb['password_strength_txt'] = 'Passwortstärke:'; -$wb['Mail domain functions'] = 'Mail Domain Funktionen'; -$wb['Mail user functions'] = 'Mail Benutzer Funktionen'; -$wb['Mail alias functions'] = 'Mail Alias Funktionen'; -$wb['Mail forward functions'] = 'Mail Weiterleitung Funktionen'; -$wb['Mail catchall functions'] = 'Mail Catchall Funktionen'; -$wb['Mail transport functions'] = 'Mail Transport Funktionen'; -$wb['Mail whitelist functions'] = 'Mail Whitelist Funktionen'; -$wb['Mail blacklist functions'] = 'Mail Blacklist Funktionen'; -$wb['Mail spamfilter user functions'] = 'Mail Spamfilter Benutzer Funktionen'; -$wb['Mail spamfilter policy functions'] = 'Mail Spamfilter Richtlinien Funktionen'; -$wb['Mail fetchmail functions'] = 'Mail Fetchmail Funktionen'; -$wb['Mail user filter functions'] = 'Mail Benutzer Filter Funktionen'; -$wb['Mail filter functions'] = 'Mail Filter Funktionen'; +$wb['Mail domain functions'] = 'E-Mail Domain Funktionen'; +$wb['Mail user functions'] = 'E-Mail Benutzer Funktionen'; +$wb['Mail alias functions'] = 'E-Mail Alias Funktionen'; +$wb['Mail forward functions'] = 'E-Mail Weiterleitung Funktionen'; +$wb['Mail catchall functions'] = 'E-Mail Catchall Funktionen'; +$wb['Mail transport functions'] = 'E-Mail Transport Funktionen'; +$wb['Mail whitelist functions'] = 'E-Mail Whitelist Funktionen'; +$wb['Mail blacklist functions'] = 'E-Mail Blacklist Funktionen'; +$wb['Mail spamfilter user functions'] = 'E-Mail Spamfilter Benutzer Funktionen'; +$wb['Mail spamfilter policy functions'] = 'E-Mail Spamfilter Richtlinien Funktionen'; +$wb['Mail fetchmail functions'] = 'E-Mail Fetchmail Funktionen'; +$wb['Mail user filter functions'] = 'E-Mail Benutzer Filter Funktionen'; +$wb['Mail filter functions'] = 'E-Mail Filter Funktionen'; $wb['Client functions'] = 'Kunden Funktionen'; $wb['Sites cron functions'] = 'Webseiten Cron Funktionen'; $wb['Sites database functions'] = 'Webseiten Datenbanken Funktionen'; @@ -39,9 +39,10 @@ $wb['DNS ptr functions'] = 'DNS ptr Funktionen'; $wb['DNS rp functions'] = 'DNS rp Funktionen'; $wb['DNS srv functions'] = 'DNS srv Funktionen'; $wb['DNS txt functions'] = 'DNS txt Funktionen'; -$wb['Mail mailing list functions'] = 'Mail Mailinglisten Funktionen'; +$wb['Mail mailing list functions'] = 'Mailinglisten Funktionen'; $wb['generate_password_txt'] = 'Passwort erzeugen'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; ?> + diff --git a/interface/web/admin/lib/lang/de_remote_user_list.lng b/interface/web/admin/lib/lang/de_remote_user_list.lng index 4a3c6fe1d5..a0485a9077 100644 --- a/interface/web/admin/lib/lang/de_remote_user_list.lng +++ b/interface/web/admin/lib/lang/de_remote_user_list.lng @@ -5,3 +5,4 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['parent_remote_userid_txt'] = 'Benutzer ID'; $wb['username_txt'] = 'Benutzername'; ?> + diff --git a/interface/web/admin/lib/lang/de_server.lng b/interface/web/admin/lib/lang/de_server.lng index 50f8090488..12d2ba7527 100644 --- a/interface/web/admin/lib/lang/de_server.lng +++ b/interface/web/admin/lib/lang/de_server.lng @@ -13,3 +13,4 @@ $wb['- None -'] = '- Nichts ausgewählt -'; $wb['proxy_server_txt'] = 'Proxy Server'; $wb['firewall_server_txt'] = 'Firewall Server'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index acb6b3dd8a..612efe72d4 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -146,7 +146,6 @@ $wb['php_fpm_socket_dir_error_empty'] = 'PHP-FPM Socket Verzeichnis ist leer.'; $wb['fastcgi_config_syntax_txt'] = 'FastCGI Konfigurations Syntax'; $wb['try_rescue_txt'] = 'Aktiviere Service Monitoring und Neustart bei Unerreichbarkeit'; $wb['do_not_try_rescue_httpd_txt'] = 'Deaktiviere HTTPD Monitoring'; -$wb['do_not_try_rescue_mongodb_txt'] = 'Deaktiviere MongoDB Monitoring'; $wb['do_not_try_rescue_mysql_txt'] = 'Deaktiviere MySQL Monitoring'; $wb['do_not_try_rescue_mail_txt'] = 'Deaktiviere E-Mail Monitoring'; $wb['rescue_description_txt'] = '<b>Information:</b> Falls Sie MySQL stoppen möchten, wählen Sie die Funktion \'Deaktiviere MySQL Monitoring\' und warten Sie 2 bis 3 Minuten. Wenn Sie nicht 2 bis 3 Miunten warten wird ISPConfig versuchen MySQL wieder zu starten.'; @@ -169,24 +168,25 @@ $wb['firewall_txt'] = 'Firewall'; $wb['mailbox_quota_stats_txt'] = 'E-Mailkonto Beschränkung Statistiken'; $wb['enable_ip_wildcard_txt'] = 'IP Adressen Wildcard (*) aktivieren'; $wb['web_folder_protection_txt'] = 'Webverzeichnis unveränderlich machen (erweiterte Attribute)'; -$wb['overtraffic_notify_admin_txt'] = 'Ãœberschreiten des Transfer Limits an den Administrator senden'; -$wb['overtraffic_notify_client_txt'] = 'Ãœberschreiten des Transfer Limits an den Kunden senden'; +$wb['overtraffic_notify_admin_txt'] = 'Ãœberschreiten des Datentransfer Limits an den Administrator senden'; +$wb['overtraffic_notify_client_txt'] = 'Ãœberschreiten des Datentransfer Limits an den Kunden senden'; $wb['rbl_error_regex'] = 'Bitte geben Sie gültige RBL-Hostnamen an.'; -$wb['overquota_notify_admin_txt'] = 'Quota-Warnungen an den Administrator senden'; -$wb['overquota_notify_client_txt'] = 'Quota-Warnungen an den Kunden senden'; -$wb['overquota_notify_onok_txt'] = 'Meldung an den Kunden senden, wenn Belegung wieder ok'; -$wb['overquota_notify_freq_txt'] = 'Quota-Warnung alle X Tage versenden'; +$wb['overquota_notify_admin_txt'] = 'Warung bei Erreichen einer Beschränkung per E-Mail an den Administrator senden'; +$wb['overquota_notify_client_txt'] = 'Warnung bei Erreichen einer Beschränkung per E-Mail an den Kunden senden'; +$wb['overquota_notify_onok_txt'] = 'Meldung an den Kunden senden, wenn Beschränkung wieder OK ist'; +$wb['overquota_notify_freq_txt'] = 'Warnung der Beschränkung alle X Tage versenden'; $wb['overquota_notify_freq_note_txt'] = '0 = Meldung nur einmalig versenden, keine Wiederholung'; $wb['admin_notify_events_txt'] = 'Sende E-Mail an Administrator ab folgendem Level'; $wb['no_notifications_txt'] = 'Keine Benachrichtigungen'; -$wb['monit_url_txt'] = 'Monit-URL'; -$wb['monit_user_txt'] = 'Monit-Benutzer'; -$wb['monit_password_txt'] = 'Monit-Passwort'; -$wb['monit_url_error_regex'] = 'Ungültige Monit-URL'; +$wb['monit_url_txt'] = 'Monit URL'; +$wb['monit_user_txt'] = 'Monit Benutzer'; +$wb['monit_password_txt'] = 'Monit Passwort'; +$wb['monit_url_error_regex'] = 'Ungültige Monit URL'; $wb['monit_url_note_txt'] = 'Platzhalter:'; -$wb['munin_url_txt'] = 'Munin-URL'; -$wb['munin_user_txt'] = 'Munin-Benutzer'; -$wb['munin_password_txt'] = 'Munin-Passwort'; -$wb['munin_url_error_regex'] = 'Ungültige Munin-URL'; +$wb['munin_url_txt'] = 'Munin URL'; +$wb['munin_user_txt'] = 'Munin Benutzer'; +$wb['munin_password_txt'] = 'Munin Passwort'; +$wb['munin_url_error_regex'] = 'Ungültige Munin URL'; $wb['munin_url_note_txt'] = 'Platzhalter:'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_config_list.lng b/interface/web/admin/lib/lang/de_server_config_list.lng index 191b2c8d32..9ff7f9b640 100644 --- a/interface/web/admin/lib/lang/de_server_config_list.lng +++ b/interface/web/admin/lib/lang/de_server_config_list.lng @@ -2,3 +2,4 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_ip.lng b/interface/web/admin/lib/lang/de_server_ip.lng index 5757b165cb..26aff5daad 100644 --- a/interface/web/admin/lib/lang/de_server_ip.lng +++ b/interface/web/admin/lib/lang/de_server_ip.lng @@ -1,11 +1,12 @@ <?php $wb['server_id_txt'] = 'Server'; $wb['ip_address_txt'] = 'IP Adresse'; -$wb['virtualhost_txt'] = 'HTTP NameVirtualHost'; +$wb['virtualhost_txt'] = 'NameVirtualHost'; $wb['ip_error_wrong'] = 'Die IP Adresse ist ungültig'; $wb['ip_error_unique'] = 'Die IP Adresse muss einzigartig sein'; $wb['client_id_txt'] = 'Kunde'; $wb['ip_type_txt'] = 'Typ'; -$wb['virtualhost_port_txt'] = 'HTTP Ports'; -$wb['error_port_syntax'] = 'Ungültige Zeichen im Ports Feld. Bitte geben Sie nur komma-separierte Nummern an. Beispiel: 80,443'; +$wb['virtualhost_port_txt'] = 'Ports'; +$wb['error_port_syntax'] = 'Ungültige Zeichen im Ports Feld. Bitte geben Sie nur Komma separierte Nummern an. Beispiel: 80,443'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_ip_list.lng b/interface/web/admin/lib/lang/de_server_ip_list.lng index 37f237c9e2..9b36a5adf2 100644 --- a/interface/web/admin/lib/lang/de_server_ip_list.lng +++ b/interface/web/admin/lib/lang/de_server_ip_list.lng @@ -8,3 +8,4 @@ $wb['virtualhost_txt'] = 'HTTP vHost'; $wb['virtualhost_port_txt'] = 'HTTP Ports'; $wb['ip_type_txt'] = 'Typ'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_list.lng b/interface/web/admin/lib/lang/de_server_list.lng index e38a5db413..193dbc9ede 100644 --- a/interface/web/admin/lib/lang/de_server_list.lng +++ b/interface/web/admin/lib/lang/de_server_list.lng @@ -11,3 +11,4 @@ $wb['add_new_record_txt'] = 'Neuen Server hinzufügen'; $wb['proxy_server_txt'] = 'Proxyserver'; $wb['firewall_server_txt'] = 'Firewallserver'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_php.lng b/interface/web/admin/lib/lang/de_server_php.lng index 9b26ea3c6d..30f527a56b 100644 --- a/interface/web/admin/lib/lang/de_server_php.lng +++ b/interface/web/admin/lib/lang/de_server_php.lng @@ -14,3 +14,4 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script'; $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis'; ?> + diff --git a/interface/web/admin/lib/lang/de_server_php_list.lng b/interface/web/admin/lib/lang/de_server_php_list.lng index d775fc6c00..712beda2e7 100644 --- a/interface/web/admin/lib/lang/de_server_php_list.lng +++ b/interface/web/admin/lib/lang/de_server_php_list.lng @@ -5,3 +5,4 @@ $wb['add_new_record_txt'] = 'Neue PHP Version hinzufügen'; $wb['client_id_txt'] = 'Kunde'; $wb['name_txt'] = 'PHP Name'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_package.lng b/interface/web/admin/lib/lang/de_software_package.lng index 4c3431b764..7f1504572b 100644 --- a/interface/web/admin/lib/lang/de_software_package.lng +++ b/interface/web/admin/lib/lang/de_software_package.lng @@ -1,6 +1,7 @@ <?php -$wb['package_title_txt'] = 'Paket-Titel'; -$wb['package_key_txt'] = 'Paket-Key'; -$wb['Software Package'] = 'Software-Paket'; -$wb['Modify software package details'] = 'Software-Paket-Einstellungen bearbeiten'; +$wb['package_title_txt'] = 'Softwarepaket Titel'; +$wb['package_key_txt'] = 'Softwarepaket Schlüssel'; +$wb['Software Package'] = 'Softwarepaket'; +$wb['Modify software package details'] = 'Softwarepaket Einstellungen bearbeiten'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_package_install.lng b/interface/web/admin/lib/lang/de_software_package_install.lng index 1ef69d13d3..842846df74 100644 --- a/interface/web/admin/lib/lang/de_software_package_install.lng +++ b/interface/web/admin/lib/lang/de_software_package_install.lng @@ -1,6 +1,7 @@ <?php $wb['head_txt'] = 'Softwarepaket installieren'; -$wb['install_key_txt'] = 'Installationskey eingeben'; +$wb['install_key_txt'] = 'Installationsschlüssel eingeben'; $wb['btn_save_txt'] = 'Installation starten'; $wb['btn_cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_package_list.lng b/interface/web/admin/lib/lang/de_software_package_list.lng index 75b7504390..3d0555365f 100644 --- a/interface/web/admin/lib/lang/de_software_package_list.lng +++ b/interface/web/admin/lib/lang/de_software_package_list.lng @@ -1,13 +1,14 @@ <?php $wb['list_head_txt'] = 'Softwarepakete'; $wb['installed_txt'] = 'Status'; -$wb['package_title_txt'] = 'Paket'; +$wb['package_title_txt'] = 'Softwarepaket'; $wb['package_description_txt'] = 'Beschreibung'; $wb['action_txt'] = 'Aktion'; -$wb['toolsarea_head_txt'] = 'Pakete'; +$wb['toolsarea_head_txt'] = 'Softwarepakete'; $wb['repoupdate_txt'] = 'Softwarepakete Liste updaten'; -$wb['package_id_txt'] = 'Lokale App ID'; -$wb['no_packages_txt'] = 'Keine Pakete verfügbar'; +$wb['package_id_txt'] = 'Lokale Softwarepaket ID'; +$wb['no_packages_txt'] = 'Keine Softwarepakete verfügbar'; $wb['edit_txt'] = 'Bearbeiten'; $wb['delete_txt'] = 'Löschen'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_repo.lng b/interface/web/admin/lib/lang/de_software_repo.lng index 2a8cf150b0..50e5019038 100644 --- a/interface/web/admin/lib/lang/de_software_repo.lng +++ b/interface/web/admin/lib/lang/de_software_repo.lng @@ -1,8 +1,9 @@ <?php -$wb['repo_name_txt'] = 'Repository'; +$wb['repo_name_txt'] = 'Archiv Name'; $wb['repo_url_txt'] = 'URL'; $wb['repo_username_txt'] = 'Benutzername (optional)'; $wb['repo_password_txt'] = 'Passwort (optional)'; $wb['active_txt'] = 'Aktiv'; -$wb['Software Repository which may contain addons or updates'] = 'Software-Repository, das Add-Ons oder Updates enthalten kann'; +$wb['Software Repository which may contain addons or updates'] = 'Software Archiv, das Add-Ons oder Updates enthalten kann'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_repo_list.lng b/interface/web/admin/lib/lang/de_software_repo_list.lng index db6f49fd4e..133ef3ab42 100644 --- a/interface/web/admin/lib/lang/de_software_repo_list.lng +++ b/interface/web/admin/lib/lang/de_software_repo_list.lng @@ -1,6 +1,7 @@ <?php -$wb['list_head_txt'] = 'Repository'; +$wb['list_head_txt'] = 'Archiv'; $wb['active_txt'] = 'Aktiv'; -$wb['repo_name_txt'] = 'Repository'; +$wb['repo_name_txt'] = 'Archiv Name'; $wb['repo_url_txt'] = 'URL'; ?> + diff --git a/interface/web/admin/lib/lang/de_software_update_list.lng b/interface/web/admin/lib/lang/de_software_update_list.lng index cf31e88154..e5a3ca729a 100644 --- a/interface/web/admin/lib/lang/de_software_update_list.lng +++ b/interface/web/admin/lib/lang/de_software_update_list.lng @@ -7,3 +7,4 @@ $wb['version_txt'] = 'Version'; $wb['action_txt'] = 'Aktion'; $wb['no_updates_txt'] = 'Keine Updates verfügbar'; ?> + diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng index 217b95de8b..2490768e20 100644 --- a/interface/web/admin/lib/lang/de_system_config.lng +++ b/interface/web/admin/lib/lang/de_system_config.lng @@ -48,15 +48,9 @@ $wb['phpmyadmin_url_error_regex'] = 'Falsche phpMyAdmin URL'; $wb['client_username_web_check_disabled_txt'] = 'Deaktiviere die Kunden Benutzernamen Ãœberprüfung für den Begriff <b>web<b>.'; $wb['mailbox_show_autoresponder_tab_txt'] = 'Zeige Autoresponder Reiter in E-Mail Kontodetails'; $wb['mailbox_show_mail_filter_tab_txt'] = 'Zeige E-Mail Filter Reiter in E-Mail Kontodetails'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails';$wb['webmail_url_error_regex'] = 'Falsche Webmail URL'; -$wb['reseller_can_use_options_txt'] = 'Reseller können den Optionen Reiter bei Webseiten verwenden'; +$wb['mailbox_show_custom_rules_tab_txt'] = 'Zeige Benutzerregel Reiter in E-Mail Kontodetails'; +$wb['webmail_url_error_regex'] = 'Falsche Webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Platzhalter:'; $wb['webmail_url_note_txt'] = 'Platzhalter:'; -$wb['available_dashlets_note_txt'] = 'Verfügbare Dashlets:'; -$wb['admin_dashlets_left_txt'] = 'Admin-Dashlets links'; -$wb['admin_dashlets_right_txt'] = 'Admin-Dashlets rechts'; -$wb['reseller_dashlets_left_txt'] = 'Reseller-Dashlets links'; -$wb['reseller_dashlets_right_txt'] = 'Reseller-Dashlets rechts'; -$wb['client_dashlets_left_txt'] = 'Kunden-Dashlets links'; -$wb['client_dashlets_right_txt'] = 'Kunden-Dashlets rechts'; ?> + diff --git a/interface/web/admin/lib/lang/de_tpl_default_admin.lng b/interface/web/admin/lib/lang/de_tpl_default_admin.lng index 97674003ee..fda3af0f0c 100644 --- a/interface/web/admin/lib/lang/de_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/de_tpl_default_admin.lng @@ -16,3 +16,4 @@ $wb['php_fpm_init_script_txt'] = 'Pfad zum PHP-FPM Init Script'; $wb['php_fpm_ini_dir_txt'] = 'Pfad zum php.ini Verzeichnis'; $wb['php_fpm_pool_dir_txt'] = 'Pfad zum PHP-FPM Pool Verzeichnis'; ?> + diff --git a/interface/web/admin/lib/lang/de_users.lng b/interface/web/admin/lib/lang/de_users.lng index 413a402814..fd09475b6d 100644 --- a/interface/web/admin/lib/lang/de_users.lng +++ b/interface/web/admin/lib/lang/de_users.lng @@ -31,3 +31,4 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['username_error_collision'] = 'Der Benutzername darf nicht <b>web<b> oder <b>web<b> gefolgt von einer Zahl sein.'; ?> + diff --git a/interface/web/admin/lib/lang/de_users_list.lng b/interface/web/admin/lib/lang/de_users_list.lng index c635ba7284..8cb2a46a83 100644 --- a/interface/web/admin/lib/lang/de_users_list.lng +++ b/interface/web/admin/lib/lang/de_users_list.lng @@ -7,3 +7,4 @@ $wb['groups_txt'] = 'Gruppen'; $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['warning_txt'] = '<b>WARNUNG:</b> Bitte hier keine Benutzereinstellungen verändern. Benutzen Sie die Kunden- und Resellereinstellungen im Kundenmodul. Modifizieren der Benutzer oder Gruppen hier könnte zum Datenverlust führen!'; ?> + diff --git a/interface/web/admin/lib/lang/el.lng b/interface/web/admin/lib/lang/el.lng index 010a5506df..4926ef2ad0 100644 --- a/interface/web/admin/lib/lang/el.lng +++ b/interface/web/admin/lib/lang/el.lng @@ -26,13 +26,14 @@ $wb['Web'] = 'Web'; $wb['FastCGI'] = 'FastCGI'; $wb['Jailkit'] = 'Jailkit'; $wb['Rescue'] = 'Rescue'; -$wb['Server IP addresses'] = 'Server IP addresses'; -$wb['Additional PHP Versions'] = 'Additional PHP Versions'; +$wb['Server IP addresses'] = 'ΔιευθÏνσεις IP Server'; +$wb['Additional PHP Versions'] = 'Î Ïόσθετες εκδόσεις PHP'; +$wb['Directive Snippets'] = 'Directive Snippets'; $wb['Firewall'] = 'Firewall'; -$wb['Interface'] = 'Interface'; -$wb['Interface Config'] = 'Main Config'; +$wb['Interface'] = 'Διεπαφή'; +$wb['Interface Config'] = 'Βασική ΔιαμόÏφωση'; $wb['Domains'] = 'Domains'; -$wb['Misc'] = 'Misc'; +$wb['Misc'] = 'ΔιάφοÏα'; $wb['Software'] = 'ΕφαÏμογÎÏ‚ & Î Ïόσθετα'; $wb['Repositories'] = 'ΑποθετήÏια'; $wb['Packages'] = 'ΠακÎτα'; @@ -46,5 +47,4 @@ $wb['Import'] = 'Εισαγωγή'; $wb['Remote Actions'] = 'ΑπομακÏυσμÎνες ΕνÎÏγειες'; $wb['Do OS-Update'] = 'Αναβάθμιση λειτουÏÎ³Î¹ÎºÎ¿Ï ÏƒÏ…ÏƒÏ„Î®Î¼Î±Ï„Î¿Ï‚'; $wb['Do ISPConfig-Update'] = 'Αναβάθμιση ISPConfig'; -$wb['Directive Snippets'] = 'Directive Snippets'; ?> diff --git a/interface/web/admin/lib/lang/el_directive_snippets.lng b/interface/web/admin/lib/lang/el_directive_snippets.lng index d836ab0da0..3bdc1e2df1 100644 --- a/interface/web/admin/lib/lang/el_directive_snippets.lng +++ b/interface/web/admin/lib/lang/el_directive_snippets.lng @@ -1,9 +1,9 @@ <?php $wb['Directive Snippets'] = 'Directive Snippets'; -$wb['name_txt'] = 'Name of Snippet'; -$wb['type_txt'] = 'Type'; +$wb['name_txt'] = 'Όνομα Snippet'; +$wb['type_txt'] = 'ΤÏπος'; $wb['snippet_txt'] = 'Snippet'; -$wb['active_txt'] = 'Active'; -$wb['directive_snippets_name_empty'] = 'Please specify a name for the snippet.'; -$wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.'; +$wb['active_txt'] = 'ΕνεÏγό'; +$wb['directive_snippets_name_empty'] = 'ΠαÏακαλοÏμε οÏίστε όνομα snippet.'; +$wb['directive_snippets_name_error_unique'] = 'ΥπάÏχει ήδη Îνα directive snippet με αυτό το όνομα.'; ?> diff --git a/interface/web/admin/lib/lang/el_directive_snippets_list.lng b/interface/web/admin/lib/lang/el_directive_snippets_list.lng index 4124ea3464..1461c4e4ba 100644 --- a/interface/web/admin/lib/lang/el_directive_snippets_list.lng +++ b/interface/web/admin/lib/lang/el_directive_snippets_list.lng @@ -1,7 +1,7 @@ <?php $wb['list_head_txt'] = 'Directive Snippets'; -$wb['active_txt'] = 'Active'; -$wb['name_txt'] = 'Name of Snippet'; -$wb['type_txt'] = 'Type'; -$wb['add_new_record_txt'] = 'Add Directive Snippet'; +$wb['active_txt'] = 'ΕνεÏγό'; +$wb['name_txt'] = 'Όνομα Snippet'; +$wb['type_txt'] = 'ΤÏπος'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη Directive Snippet'; ?> diff --git a/interface/web/admin/lib/lang/el_firewall.lng b/interface/web/admin/lib/lang/el_firewall.lng index ff31bab28b..a0003f4fa6 100644 --- a/interface/web/admin/lib/lang/el_firewall.lng +++ b/interface/web/admin/lib/lang/el_firewall.lng @@ -5,7 +5,7 @@ $wb['udp_port_txt'] = 'ΑνοιχτÎÏ‚ θÏÏες UDP'; $wb['tcp_port_help_txt'] = 'ΧωÏισμÎνες με κόμα'; $wb['udp_port_help_txt'] = 'ΧωÏισμÎνες με κόμα'; $wb['active_txt'] = 'ΕνεÏγό'; -$wb['firewall_error_unique'] = 'ΥπάÏχει ήδη μια εγγÏαφή firewall για αυτό τον σεÏÏ‰ÎµÏ server.'; +$wb['firewall_error_unique'] = 'ΥπάÏχει ήδη μια εγγÏαφή firewall για αυτό τον server.'; $wb['tcp_ports_error_regex'] = 'Οι χαÏακτήÏες δεν επιτÏÎπονται στον οÏισμό θυÏών tcp. ΕπιτÏÎπονται μόνο αÏιθμοί, : και ,.'; $wb['udp_ports_error_regex'] = 'Οι χαÏακτήÏες δεν επιτÏÎπονται στον οÏισμό θυÏών udp. ΕπιτÏÎπονται μόνο αÏιθμοί, : και ,.'; ?> diff --git a/interface/web/admin/lib/lang/el_language_import.lng b/interface/web/admin/lib/lang/el_language_import.lng index 4bb61c4ef5..83504694b5 100644 --- a/interface/web/admin/lib/lang/el_language_import.lng +++ b/interface/web/admin/lib/lang/el_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Εισαγωγή του επιλεγμÎνου αÏχεί $wb['language_overwrite_txt'] = 'Αντικατάσταση αÏχείου, αν υπάÏχει.'; $wb['btn_cancel_txt'] = 'ΕπιστÏοφή'; $wb['ignore_version_txt'] = 'ΠαÏάλειψη ελÎγχου Îκδοσης ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/el_login_as.lng b/interface/web/admin/lib/lang/el_login_as.lng index c660ff1a4b..b93f01bbb5 100644 --- a/interface/web/admin/lib/lang/el_login_as.lng +++ b/interface/web/admin/lib/lang/el_login_as.lng @@ -1,11 +1,11 @@ <?php -$wb['login_1_txt'] = 'Do you want to login as user'; -$wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.'; -$wb['btn_yes_txt'] = 'Yes, login as Client'; -$wb['btn_back_txt'] = 'No, back to list'; -$wb['udp_port_help_txt'] = 'Separated by comma'; -$wb['active_txt'] = 'Active'; -$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['login_1_txt'] = 'ΘÎλετε να εισÎλθετε ως χÏήστης;'; +$wb['login_2_txt'] = 'Αν το κάνετε, μποÏείτε να \\"επιστÏÎψετε\\" κάνοντας αποσÏνδεση.'; +$wb['btn_yes_txt'] = 'Îαι, είσοδος ως Πελάτης'; +$wb['btn_back_txt'] = 'Όχι, επιστÏοφή στην λίστα'; +$wb['udp_port_help_txt'] = 'διαχωÏισμός με κόμα'; +$wb['active_txt'] = 'Εν ΕνεÏγεία'; +$wb['firewall_error_unique'] = 'ΥπάÏχει ήδη μια εγγÏαφή Firewall για αυτόν τον server.'; +$wb['tcp_ports_error_regex'] = 'Μη ÎγκυÏος χαÏακτήÏας για τον οÏισμός θÏÏας tcp. ΕπιτÏεπόμενοι χαÏακτήÏες είναι οι αÏιθμοί, η \\":\\" και οι \\",\\".'; +$wb['udp_ports_error_regex'] = 'Μη ÎγκυÏος χαÏακτήÏας για τον οÏισμός θÏÏας udp. ΕπιτÏεπόμενοι χαÏακτήÏες είναι οι αÏιθμοί, η \\":\\" και οι \\",\\".'; ?> diff --git a/interface/web/admin/lib/lang/el_remote_action.lng b/interface/web/admin/lib/lang/el_remote_action.lng index fc0e448550..4d94878446 100644 --- a/interface/web/admin/lib/lang/el_remote_action.lng +++ b/interface/web/admin/lib/lang/el_remote_action.lng @@ -7,6 +7,6 @@ $wb['do_ispcupdate_caption'] = 'Εκκίνηση αναβάθμισης ISPConfi $wb['do_ispcupdate_desc'] = 'Αυτή η ενÎÏγεια κάνει αναβάθμιση στο ISPConfig3 στον επιλεγμÎνο σας server.<br><br><strong>ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΤΟ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥÎΗ!</strong>'; $wb['action_scheduled'] = 'Η ενÎÏγεια Ï€ÏογÏαμματίστηκε για εκτÎλεση'; $wb['select_all_server'] = 'Σε όλους τους servers'; -$wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_title'] = 'Οδηγίες ενημÎÏωσης ISPConfig'; +$wb['ispconfig_update_text'] = 'ΕισÎλθετε ως χÏήστης root σε κάποιο κÎλυφος στον server σας και εκτελÎστε την εντολή<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />για να εκκινήστε την ενημÎÏωση του ISPConfig.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Πατήστε εδώ για λεπτομεÏείς οδηγίες</a>'; ?> diff --git a/interface/web/admin/lib/lang/el_remote_user.lng b/interface/web/admin/lib/lang/el_remote_user.lng index ddffd7072d..8b79d61786 100644 --- a/interface/web/admin/lib/lang/el_remote_user.lng +++ b/interface/web/admin/lib/lang/el_remote_user.lng @@ -5,7 +5,7 @@ $wb['function_txt'] = 'ΕνÎÏγειες:'; $wb['username_error_unique'] = 'Το όνομα χÏήστη Ï€ÏÎπει να είναι μοναδικό'; $wb['username_error_empty'] = 'Το όνομα χÏήστη δεν μποÏεί να είναι κενό'; $wb['password_error_empty'] = 'Το συνθηματικό δεν μποÏεί να είναι κενό'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['Mail domain functions'] = 'ΕνÎÏγειες Mail domain'; $wb['Mail user functions'] = 'ΕνÎÏγειες ΧÏήστη Mail'; $wb['Mail alias functions'] = 'ΕνÎÏγειες ΨευδωνÏμου Mail'; @@ -40,8 +40,8 @@ $wb['DNS rp functions'] = 'ΕνÎÏγειες εγγÏαφών rp του DNS'; $wb['DNS srv functions'] = 'ΕνÎÏγειες εγγÏαφών srv του DNS'; $wb['DNS txt functions'] = 'ΕνÎÏγειες εγγÏαφών txt του DNS'; $wb['Mail mailing list functions'] = 'ΕνÎÏγειες Mail mailinglist'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; ?> diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index 99bdf6f2d2..169a5608d8 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -148,44 +148,44 @@ $wb['do_not_try_rescue_mail_txt'] = 'ΑπενεÏγοποίηση εποπτεί $wb['rescue_description_txt'] = '<b>ΠληÏοφοÏία:</b> Αν θÎλετε να τεÏματίσετε την MySQL Ï€ÏÎπει να επιλÎξετε την επιλογή ΑπενεÏγοποίηση εποπτείας MySQL και μετά να πεÏιμÎνετε 2-3 λεπτά.<br>Αν δεν πεÏιμÎνετε 2-3 λεπτά, η εποπτεία και αποκατάσταση θα Ï€Ïοσπαθήσει να επανεκκινήσει την MySQL!'; $wb['enable_sni_txt'] = 'ΕνεÏγοποίηση SNI'; $wb['do_not_try_rescue_httpd_txt'] = 'ΑπενεÏγοποίηση εποπτείας HTTPD'; -$wb['set_folder_permissions_on_update_txt'] = 'Set folder permissions on update'; -$wb['add_web_users_to_sshusers_group_txt'] = 'Add web users to -sshusers- group'; -$wb['connect_userid_to_webid_txt'] = 'Connect Linux userid to webid'; -$wb['connect_userid_to_webid_start_txt'] = 'Start ID for userid/webid connect'; -$wb['website_autoalias_txt'] = 'Website auto alias'; +$wb['set_folder_permissions_on_update_txt'] = 'ΟÏισμός δικαιωμάτων φακÎλων κατά την ενημÎÏωση'; +$wb['add_web_users_to_sshusers_group_txt'] = 'Î Ïοσθήκη των χÏηστών web στην ομάδα -sshusers-'; +$wb['connect_userid_to_webid_txt'] = 'ΣÏνδεση Linux userid στο webid'; +$wb['connect_userid_to_webid_start_txt'] = 'ID εκκίνησης για την σÏνδεση userid/webid'; +$wb['website_autoalias_txt'] = 'Αυτόματο ψευδώνυμο Website'; $wb['website_autoalias_note_txt'] = 'Placeholders:'; -$wb['backup_mode_txt'] = 'Backup mode'; -$wb['backup_mode_userzip'] = 'Backup web files owned by web user as zip'; -$wb['backup_mode_rootgz'] = 'Backup all files in web directory as root user'; -$wb['realtime_blackhole_list_txt'] = 'Real-time Blackhole List'; -$wb['realtime_blackhole_list_note_txt'] = '(Separate RBL\'s with commas)'; -$wb['ssl_settings_txt'] = 'SSL Settings'; -$wb['permissions_txt'] = 'Permissions'; -$wb['php_settings_txt'] = 'PHP Settings'; -$wb['apps_vhost_settings_txt'] = 'Apps Vhost Settings'; -$wb['awstats_settings_txt'] = 'AWStats Settings'; +$wb['backup_mode_txt'] = 'Κατάσταση Backup'; +$wb['backup_mode_userzip'] = 'Îα γίνει αντίγÏαφο ασφαλείας των αÏχείων web που ανήκουν στον χÏήστη web με τον μοÏφότυπο zip'; +$wb['backup_mode_rootgz'] = 'Îα γίνει αντίγÏαφο ασφαλείας όλων των αÏχείων στον φάκελο web ως χÏήστης root'; +$wb['realtime_blackhole_list_txt'] = 'Λίστα Blackhole παÏόχων Ï€ÏÎ±Î³Î¼Î±Ï„Î¹ÎºÎ¿Ï Ï‡Ïόνου (RBL)'; +$wb['realtime_blackhole_list_note_txt'] = '(ΔιαχωÏισμός RBL\'s με κόμματα)'; +$wb['ssl_settings_txt'] = 'Ρυθμίσεις SSL'; +$wb['permissions_txt'] = 'Δικαιώματα'; +$wb['php_settings_txt'] = 'Ρυθμίσεις PHP'; +$wb['apps_vhost_settings_txt'] = 'Ρυθμίσεις Apps Vhost'; +$wb['awstats_settings_txt'] = 'Ρυθμίσεις AWStats'; $wb['firewall_txt'] = 'Firewall'; -$wb['mailbox_quota_stats_txt'] = 'Mailbox quota statistics'; -$wb['enable_ip_wildcard_txt'] = 'Enable IP wildcard (*)'; -$wb['web_folder_protection_txt'] = 'Make web folders immutable (extended attributes)'; -$wb['overtraffic_notify_admin_txt'] = 'Send overtraffic notification to admin'; -$wb['overtraffic_notify_client_txt'] = 'Send overtraffic notification to client'; -$wb['rbl_error_regex'] = 'Please specify valid RBL hostnames.'; -$wb['overquota_notify_admin_txt'] = 'Send quota warnings to admin'; -$wb['overquota_notify_client_txt'] = 'Send quota warnings to client'; -$wb['overquota_notify_onok_txt'] = 'Send quota ok message to client'; -$wb['overquota_notify_freq_txt'] = 'Send quota warning each X days'; -$wb['overquota_notify_freq_note_txt'] = '0 = send message just once, no repeated messages'; -$wb['admin_notify_events_txt'] = 'Send email to admin starting with the following level'; -$wb['no_notifications_txt'] = 'No Notifications'; -$wb['monit_url_txt'] = 'Monit URL'; -$wb['monit_user_txt'] = 'Monit User'; -$wb['monit_password_txt'] = 'Monit Password'; -$wb['monit_url_error_regex'] = 'Invalid Monit URL'; +$wb['mailbox_quota_stats_txt'] = 'Στατιστικά χÏήσης χώÏου θυÏίδας Mail'; +$wb['enable_ip_wildcard_txt'] = 'ΕνεÏγοποίηση IP wildcard (*)'; +$wb['web_folder_protection_txt'] = 'Îα γίνουν οι φάκελοι web αμετάβλητοι (εκτεταμÎνες ιδιότητες)'; +$wb['overtraffic_notify_admin_txt'] = 'Αποστολή ειδοποιήσεων Ï…Ï€ÎÏβασης οÏίου μεταφοÏάς δεδομÎνων στον διαχειÏιστή'; +$wb['overtraffic_notify_client_txt'] = 'Αποστολή ειδοποιήσεων Ï…Ï€ÎÏβασης οÏίου μεταφοÏάς δεδομÎνων στον πελάτη'; +$wb['rbl_error_regex'] = 'ΠαÏακαλοÏμε οÏίστε ÎγκυÏα RBL hostnames.'; +$wb['overquota_notify_admin_txt'] = 'Αποστολή Ï€Ïοειδοποιήσεων οÏίων στον διαχειÏιστή'; +$wb['overquota_notify_client_txt'] = 'Αποστολή Ï€Ïοειδοποιήσεων οÏίων στον πελάτη'; +$wb['overquota_notify_onok_txt'] = 'Αποστολή ΟΚ μηνυμάτων οÏίων στον πελάτη'; +$wb['overquota_notify_freq_txt'] = 'Αποστολή Ï€Ïοειδοποιήσεων κάθε Χ ημÎÏες'; +$wb['overquota_notify_freq_note_txt'] = '0 = αποστολή μηνÏματος μόνο μία φοÏά, (οχι επαναληπτικά μηνÏματα)'; +$wb['admin_notify_events_txt'] = 'Αποστολή email στον διαχειÏιστή, ξεκινώντας από το ακόλουθο επίπεδο'; +$wb['no_notifications_txt'] = 'ΧωÏίς Ειδοποιήσεις'; +$wb['monit_url_txt'] = 'URL Monit'; +$wb['monit_user_txt'] = 'ΧÏήστης Monit'; +$wb['monit_password_txt'] = 'Συνθηματικό Monit'; +$wb['monit_url_error_regex'] = 'Μη ÎγκυÏο URL Monit'; $wb['monit_url_note_txt'] = 'Placeholder:'; -$wb['munin_url_txt'] = 'Munin URL'; -$wb['munin_user_txt'] = 'Munin User'; -$wb['munin_password_txt'] = 'Munin Password'; -$wb['munin_url_error_regex'] = 'Invalid Munin URL'; +$wb['munin_url_txt'] = 'URL Munin'; +$wb['munin_user_txt'] = 'ΧÏήστης Munin'; +$wb['munin_password_txt'] = 'Συνθηματικό Munin'; +$wb['munin_url_error_regex'] = 'Μη ÎγκυÏο URL Munin'; $wb['munin_url_note_txt'] = 'Placeholder:'; ?> diff --git a/interface/web/admin/lib/lang/el_server_ip.lng b/interface/web/admin/lib/lang/el_server_ip.lng index 212f432793..c858124141 100644 --- a/interface/web/admin/lib/lang/el_server_ip.lng +++ b/interface/web/admin/lib/lang/el_server_ip.lng @@ -7,5 +7,5 @@ $wb['ip_error_unique'] = 'Η ΔιεÏθυνση IP Ï€ÏÎπει να είναι $wb['client_id_txt'] = 'Πελάτης'; $wb['ip_type_txt'] = 'ΤÏπος'; $wb['virtualhost_port_txt'] = 'ΘÏÏες HTTP'; -$wb['error_port_syntax'] = 'Invalid chars in port field, please enter only comma separated numbers. Example: 80,443'; +$wb['error_port_syntax'] = 'Μη ÎγκυÏοι χαÏακτήÏες στο πεδίο θÏÏας, παÏακαλοÏμε εισάγετε μόνο αÏιθμοÏÏ‚ χωÏισμÎνους με κόμματα. ΠαÏάδειγμα: 80,443'; ?> diff --git a/interface/web/admin/lib/lang/el_server_php.lng b/interface/web/admin/lib/lang/el_server_php.lng index addbfa4935..be99452b22 100644 --- a/interface/web/admin/lib/lang/el_server_php.lng +++ b/interface/web/admin/lib/lang/el_server_php.lng @@ -1,16 +1,16 @@ <?php $wb['server_id_txt'] = 'Server'; -$wb['client_id_txt'] = 'Client'; -$wb['name_txt'] = 'PHP Name'; -$wb['Name'] = 'Name'; +$wb['client_id_txt'] = 'Πελάτης'; +$wb['name_txt'] = 'Όνομα PHP'; +$wb['Name'] = 'Όνομα'; $wb['FastCGI Settings'] = 'FastCGI Settings'; $wb['PHP-FPM Settings'] = 'PHP-FPM Settings'; -$wb['Additional PHP Versions'] = 'Additional PHP Versions'; -$wb['Form to edit additional PHP versions'] = 'Form to edit additional PHP versions'; -$wb['server_php_name_error_empty'] = 'The Name field must not be empty.'; -$wb['php_fastcgi_binary_txt'] = 'Path to the PHP FastCGI binary'; -$wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; -$wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script'; -$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory'; -$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory'; +$wb['Additional PHP Versions'] = 'Î Ïόσθετες εκδόσεις PHP'; +$wb['Form to edit additional PHP versions'] = 'ΦόÏμα για την επεξεÏγασία επιπλÎον εκδόσεων PHP'; +$wb['server_php_name_error_empty'] = 'Î ÏÎπει να οÏίσετε το πειο Όνομα.'; +$wb['php_fastcgi_binary_txt'] = 'ΔιαδÏομή για το εκτελÎσιμο PHP FastCGI'; +$wb['php_fastcgi_ini_dir_txt'] = 'ΔιαδÏομή για τον φάκελο php.ini'; +$wb['php_fpm_init_script_txt'] = 'ΔιαδÏομή για το init script PHP-FPM'; +$wb['php_fpm_ini_dir_txt'] = 'ΔιαδÏομή για τον φάκελο php.ini'; +$wb['php_fpm_pool_dir_txt'] = 'ΔιαδÏομή για τον φάκελο PHP-FPM'; ?> diff --git a/interface/web/admin/lib/lang/el_server_php_list.lng b/interface/web/admin/lib/lang/el_server_php_list.lng index b402fd1ed1..06c17a3004 100644 --- a/interface/web/admin/lib/lang/el_server_php_list.lng +++ b/interface/web/admin/lib/lang/el_server_php_list.lng @@ -1,7 +1,7 @@ <?php -$wb['list_head_txt'] = 'Additional PHP Versions'; +$wb['list_head_txt'] = 'Î Ïόσθετες εκδόσεις PHP'; $wb['server_id_txt'] = 'Server'; -$wb['add_new_record_txt'] = 'Add new PHP version'; -$wb['client_id_txt'] = 'Client'; -$wb['name_txt'] = 'PHP Name'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη νÎας Îκδοσης PHP'; +$wb['client_id_txt'] = 'Πελάτης'; +$wb['name_txt'] = 'Όνομα PHP'; ?> diff --git a/interface/web/admin/lib/lang/el_software_package.lng b/interface/web/admin/lib/lang/el_software_package.lng index 62ef734079..16be47e587 100644 --- a/interface/web/admin/lib/lang/el_software_package.lng +++ b/interface/web/admin/lib/lang/el_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; -$wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +$wb['package_title_txt'] = 'Τίτλος ΠακÎτου'; +$wb['package_key_txt'] = 'Κλειδί ΠακÎτου'; +$wb['Software Package'] = 'ΠακÎτο ΛογισμικοÏ'; +$wb['Modify software package details'] = 'ΕπεξεÏγασία λεπτομεÏειών ΠακÎτου'; +?> diff --git a/interface/web/admin/lib/lang/el_software_package_list.lng b/interface/web/admin/lib/lang/el_software_package_list.lng index 1553ea1cea..515dbb792b 100644 --- a/interface/web/admin/lib/lang/el_software_package_list.lng +++ b/interface/web/admin/lib/lang/el_software_package_list.lng @@ -5,9 +5,9 @@ $wb['package_title_txt'] = 'ΠακÎτο'; $wb['package_description_txt'] = 'ΠεÏιγÏαφή'; $wb['action_txt'] = 'ΕνÎÏγεια'; $wb['toolsarea_head_txt'] = 'ΠακÎτα'; -$wb['repoupdate_txt'] = 'ΕνημÎÏωση λίστας πακκÎτων'; +$wb['repoupdate_txt'] = 'ΕνημÎÏωση λίστας πακÎτων'; $wb['package_id_txt'] = 'τοπικό App-ID'; -$wb['no_packages_txt'] = 'No packages available'; +$wb['no_packages_txt'] = 'Δεν υπάÏχουν διαθÎσιμα πακÎτα'; $wb['edit_txt'] = 'Edit'; $wb['delete_txt'] = 'Delete'; ?> diff --git a/interface/web/admin/lib/lang/el_software_update_list.lng b/interface/web/admin/lib/lang/el_software_update_list.lng index 42100d0c89..69c7026ab8 100644 --- a/interface/web/admin/lib/lang/el_software_update_list.lng +++ b/interface/web/admin/lib/lang/el_software_update_list.lng @@ -5,5 +5,5 @@ $wb['installed_txt'] = 'ΕνÎÏγεια'; $wb['update_title_txt'] = 'ΕνημÎÏωση'; $wb['version_txt'] = 'Έκδοση'; $wb['action_txt'] = 'ΕνÎÏγεια'; -$wb['no_updates_txt'] = 'No updates available'; +$wb['no_updates_txt'] = 'Δεν υπάÏχουν διαθÎσιμες ενημεÏώσεις'; ?> diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng index f69e58a83d..1660f18c60 100644 --- a/interface/web/admin/lib/lang/el_system_config.lng +++ b/interface/web/admin/lib/lang/el_system_config.lng @@ -1,8 +1,8 @@ <?php $wb['system_config_desc_txt'] = ''; -$wb['dashboard_atom_url_admin_txt'] = 'Dashboard atom feed URL (admin)'; -$wb['dashboard_atom_url_reseller_txt'] = 'Dashboard atom feed URL (reseller)'; -$wb['dashboard_atom_url_client_txt'] = 'Dashboard atom feed URL (client)'; +$wb['dashboard_atom_url_admin_txt'] = 'URL Ïοής atom του Dashboard (διαχειÏιστής)'; +$wb['dashboard_atom_url_reseller_txt'] = 'URL Ïοής atom του Dashboard (μεταπωλητής)'; +$wb['dashboard_atom_url_client_txt'] = 'URL Ïοής atom του Dashboard (πελάτης)'; $wb['warning'] = 'ΕπεξεÏγαστείτε τις τιμÎÏ‚ με Ï€Ïοσοχή! ΜΗΠαφαιÏείτε τα Ï€ÏοθÎματα σε συστήματα με πεÏισσότεÏους από Îναν πελάτες.'; $wb['dbname_prefix_txt'] = 'Î Ïόθεμα Ονόματος Βάσης ΔεδομÎνων'; $wb['dbuser_prefix_txt'] = 'Î Ïόθεμα ΧÏήστη Βάσης ΔεδομÎνων'; @@ -14,42 +14,49 @@ $wb['dbuser_prefix_error_regex'] = 'Δεν επιτÏÎπονται χαÏακτ $wb['ftpuser_prefix_error_regex'] = 'Δεν επιτÏÎπονται χαÏακτήÏες στο Ï€Ïόθεμα του ΧÏήστη ftp.'; $wb['shelluser_prefix_error_regex'] = 'Δεν επιτÏÎπονται χαÏακτήÏες στο Ï€Ïόθεμα του ΧÏήστη Shell.'; $wb['webdavuser_prefix_error_regex'] = 'Δεν επιτÏÎπονται χαÏακτήÏες στο Ï€Ïόθεμα του ΧÏήστη Webdav.'; -$wb['dblist_phpmyadmin_link_txt'] = 'Link για το phpmyadmin στη λίστα των βάσεων δεδομÎνων'; -$wb['mailboxlist_webmail_link_txt'] = 'Link για το webmail στην λίστα των θυÏίδων mail'; +$wb['dblist_phpmyadmin_link_txt'] = 'ΣÏνδεσμος για το phpmyadmin στη λίστα των βάσεων δεδομÎνων'; +$wb['mailboxlist_webmail_link_txt'] = 'ΣÏνδεσμος για το webmail στην λίστα των θυÏίδων mail'; $wb['webmail_url_txt'] = 'URL του Webmail'; $wb['phpmyadmin_url_txt'] = 'URL του PHPMyAdmin'; $wb['use_domain_module_txt'] = 'ΧÏήση του αÏθÏώματος-domain για την Ï€Ïοσθήκη νÎων domains'; $wb['use_domain_module_hint'] = 'Αν χÏησιμοποιήσετε αυτό το άÏθÏωμα, οι πελάτες σας μποÏοÏν μόνο να διαλÎξουν Îνα από τα domains που δημιοÏÏγησε για αυτοÏÏ‚ ο διαχειÏιστής. Δεν μποÏοÏν να επεξεÏγαστοÏν ελεÏθεÏα τα πεδία του domain.Î ÏÎπει να επανασυνδεθείτε αν αλλάξετε αυτή την τιμή, για να γίνουν οι αλλαγÎÏ‚ σας, οÏατÎÏ‚.'; $wb['new_domain_txt'] = 'HTML για την δημιουÏγία domain'; $wb['webftp_url_txt'] = 'URL του WebFTP'; -$wb['enable_custom_login_txt'] = 'Αποδοχή Ï€ÏοσαÏμοσμÎνου ονόματος login'; -$wb['mailmailinglist_link_txt'] = 'Link to mailing list in Mailing list list'; +$wb['enable_custom_login_txt'] = 'Αποδοχή Ï€ÏοσαÏμοσμÎνου ονόματος εισόδου'; +$wb['mailmailinglist_link_txt'] = 'ΣÏνδεσμος της λίστας mail στις λίστες mail'; $wb['mailmailinglist_url_txt'] = 'URL της Mailing list '; $wb['admin_mail_txt'] = 'e-mail ΔιαχειÏιστών'; -$wb['monitor_key_txt'] = 'Monitor keyword'; +$wb['monitor_key_txt'] = 'keyword εποπτείας'; $wb['admin_name_txt'] = 'Όνομα Administrator'; -$wb['maintenance_mode_txt'] = 'Maintenance Mode'; -$wb['smtp_enabled_txt'] = 'Use SMTP to send system mails'; +$wb['maintenance_mode_txt'] = 'Κατάσταση συντήÏησης'; +$wb['smtp_enabled_txt'] = 'ΧÏήση SMTP για την αποστολή mail συστήματος'; $wb['smtp_host_txt'] = 'SMTP host'; -$wb['smtp_port_txt'] = 'SMTP port'; -$wb['smtp_user_txt'] = 'SMTP user'; -$wb['smtp_pass_txt'] = 'SMTP password'; -$wb['smtp_crypt_txt'] = 'Use SSL/TLS encrypted connection for SMTP'; -$wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail address if you want to use smtp mail sending.'; -$wb['tab_change_discard_txt'] = 'Discard changes on tab change'; -$wb['tab_change_warning_txt'] = 'Tab change warning'; -$wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.'; -$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site'; -$wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!'; -$wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL'; -$wb['use_combobox_txt'] = 'Use jQuery UI Combobox'; -$wb['use_loadindicator_txt'] = 'Use Load Indicator'; -$wb['f5_to_reload_js_txt'] = 'If you change this, you might have to press F5 to make the browser reload JavaScript libraries or empty your browser cache.'; -$wb['client_username_web_check_disabled_txt'] = 'Disable client username check for the word \'web\'.'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'Show autoresponder tab in mail account details'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'Show mail filter tab in mail account details'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail account details'; +$wb['smtp_port_txt'] = 'SMTP θÏÏα'; +$wb['smtp_user_txt'] = 'SMTP χÏήστης'; +$wb['smtp_pass_txt'] = 'SMTP συνθηματικό'; +$wb['smtp_crypt_txt'] = 'ΧÏήση κÏυπτογÏαφημÎνης σÏνδεσης SSL/TLS για SMTP'; +$wb['smtp_missing_admin_mail_txt'] = 'ΠΑÏακαλοÏμε εισάγετε το όνομα διαχειÏιστή και την διεÏθυνση mail αν θÎλετε να χÏησιμοποιήσετε απόστολή mail με smtp.'; +$wb['tab_change_discard_txt'] = 'ΑκÏÏωση αλλαγών με την αλλαγή καÏÏ„Îλας'; +$wb['tab_change_warning_txt'] = 'Î Ïοειδοποίηση αλλαγής καÏÏ„Îλας'; +$wb['tab_change_warning_note_txt'] = 'Εμφάνιση μιας Ï€Ïοειδοποίησης κατα την αλλαγή καÏÏ„Îλας σε φόÏμες επεξεÏγασίας που Îχουν Ï„Ïοποποιηθεί από τον χÏήστη.'; +$wb['vhost_subdomains_txt'] = 'ΔημιουÏγία Subdomains ως web site'; +$wb['vhost_subdomains_note_txt'] = 'Δεν μποÏεί να γίνει απενεÏγοποίηση όσο υπάÏχουν vhost subdomains στο σÏστημα!'; +$wb['phpmyadmin_url_error_regex'] = 'Μη ÎγκυÏο URL phpmyadmin'; +$wb['use_combobox_txt'] = 'ΧÏήση jQuery UI Combobox'; +$wb['use_loadindicator_txt'] = 'ΧÏήση Load Indicator (ενδεικτή φόÏτωσης)'; +$wb['f5_to_reload_js_txt'] = 'Αν το αλλάξετε, ίσως Ï€ÏÎπει να πατήσετε το F5 για να κάνετε τον φυλλομετÏητη να ξαναφοÏτώσει τις βιβλιοθήκες JavaScript ή να αδείασετε την cache του φυλλομετÏητή.'; +$wb['client_username_web_check_disabled_txt'] = 'ΑπενεÏγοποίηση ελÎγχου στο όνομα χÏήστη για την λÎξη \'web\'.'; +$wb['mailbox_show_autoresponder_tab_txt'] = 'Εμφάνιση της καÏÏ„Îλας Αυτόματης Απάντησης στις λεπτομÎÏειες του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail'; +$wb['mailbox_show_mail_filter_tab_txt'] = 'Εμφάνιση της καÏÏ„Îλας ΦίλτÏα mail στις λεπτομÎÏειες του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail'; +$wb['mailbox_show_custom_rules_tab_txt'] = 'Εμφάνιση της καÏÏ„Îλας Î ÏοσαÏμοσμÎνοι Κανόνες στις λεπτομÎÏειες του λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï mail'; $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/el_tpl_default_admin.lng b/interface/web/admin/lib/lang/el_tpl_default_admin.lng index eee3af5fe4..88053dbca5 100644 --- a/interface/web/admin/lib/lang/el_tpl_default_admin.lng +++ b/interface/web/admin/lib/lang/el_tpl_default_admin.lng @@ -2,17 +2,17 @@ $wb['tpl_default_admin_head_txt'] = 'Global Default-Theme Settings'; $wb['tpl_default_admin_desc_txt'] = ''; $wb['server_id_txt'] = 'Server'; -$wb['client_id_txt'] = 'Client'; -$wb['name_txt'] = 'PHP Name'; -$wb['Name'] = 'Name'; -$wb['FastCGI Settings'] = 'FastCGI Settings'; -$wb['PHP-FPM Settings'] = 'PHP-FPM Settings'; -$wb['Additional PHP Versions'] = 'Additional PHP Versions'; -$wb['Form to edit additional PHP versions'] = 'Form to edit additional PHP versions'; -$wb['server_php_name_error_empty'] = 'The Name field must not be empty.'; -$wb['php_fastcgi_binary_txt'] = 'Path to the PHP FastCGI binary'; -$wb['php_fastcgi_ini_dir_txt'] = 'Path to the php.ini directory'; -$wb['php_fpm_init_script_txt'] = 'Path to the PHP-FPM init script'; -$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory'; -$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory'; +$wb['client_id_txt'] = 'Πελάτης'; +$wb['name_txt'] = 'Όνομα PHP'; +$wb['Name'] = 'Όνομα'; +$wb['FastCGI Settings'] = 'Ρυθμίσεις FastCGI'; +$wb['PHP-FPM Settings'] = 'Ρυθμίσεις PHP-FPM'; +$wb['Additional PHP Versions'] = 'Î Ïόσθετες εκδόσεις PHP'; +$wb['Form to edit additional PHP versions'] = 'ΦόÏμα για την επεξεÏγασία επιπλÎον εκδόσεων PHP'; +$wb['server_php_name_error_empty'] = 'Î ÏÎπει να οÏίσετε το πειο Όνομα.'; +$wb['php_fastcgi_binary_txt'] = 'ΔιαδÏομή για το εκτελÎσιμο PHP FastCGI'; +$wb['php_fastcgi_ini_dir_txt'] = 'ΔιαδÏομή για τον φάκελο php.ini'; +$wb['php_fpm_init_script_txt'] = 'ΔιαδÏομή για το init script PHP-FPM'; +$wb['php_fpm_ini_dir_txt'] = 'ΔιαδÏομή για τον φάκελο του php.ini'; +$wb['php_fpm_pool_dir_txt'] = 'ΔιαδÏομή για τον φάκελο PHP-FPM'; ?> diff --git a/interface/web/admin/lib/lang/el_users.lng b/interface/web/admin/lib/lang/el_users.lng index 3323424f10..201d831c64 100644 --- a/interface/web/admin/lib/lang/el_users.lng +++ b/interface/web/admin/lib/lang/el_users.lng @@ -4,7 +4,7 @@ $wb['username_err'] = 'Το όνομα χÏήστη είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬ $wb['username_empty'] = 'Το όνομα χÏήστη δεν Îχει οÏιστεί.'; $wb['username_unique'] = 'ΥπάÏχει ήδη Îνας χÏήστης με αυτό το όνομα χÏήστη.'; $wb['passwort_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη ΣυνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['modules_txt'] = 'ΆÏθÏωμα'; $wb['startmodule_txt'] = 'ΆÏθÏωμα Εκκίνησης'; $wb['app_theme_txt'] = 'Θεματική ΠαÏαλλαγή'; @@ -25,9 +25,9 @@ $wb['fax_txt'] = 'Fax'; $wb['groups_txt'] = 'Ομάδες'; $wb['default_group_txt'] = 'Î ÏοκαθοÏισμÎνη Ομάδα'; $wb['startmodule_err'] = 'Το άÏθÏωμα εκκίνησης δεν υπάÏχει στα διαθÎσιμα αÏθÏώματα.'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['username_error_collision'] = 'The username may not be web or web plus a number.\\"'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['username_error_collision'] = 'Το όνομα χÏήστη δεν μποÏεί να αÏχίζει από την λÎξη -web- ή την λÎξη -web- ακολουθοÏμενη από αÏιθμό.'; ?> diff --git a/interface/web/admin/lib/lang/el_users_list.lng b/interface/web/admin/lib/lang/el_users_list.lng index b61af25919..a1b33ca0ef 100644 --- a/interface/web/admin/lib/lang/el_users_list.lng +++ b/interface/web/admin/lib/lang/el_users_list.lng @@ -5,5 +5,5 @@ $wb['client_id_txt'] = 'Client ID'; $wb['active_txt'] = 'Active'; $wb['add_new_record_txt'] = 'ÎÎος ΧÏήστης'; $wb['warning_txt'] = '<b>ΠΡΟΕΙΔΟΠΟΙΗΣΗ:</b>Μην επεξεÏγάζεστε καμία ÏÏθμιση χÏήστη εδώ. ΧÏησιμοποιήστε τις Ïυθμίσεις Πελάτη - και Μεταπωλητή στο άÏθÏωμα Πελάτης. Η επεξεÏγασία ομάδων και χÏηστών εδώ, μποÏεί να Ï€ÏοκαλÎσει απώλεια δεδομÎνων!'; -$wb['groups_txt'] = 'Groups'; +$wb['groups_txt'] = 'Ομάδες'; ?> diff --git a/interface/web/admin/lib/lang/en_language_import.lng b/interface/web/admin/lib/lang/en_language_import.lng index a554c6c220..0314af1d77 100644 --- a/interface/web/admin/lib/lang/en_language_import.lng +++ b/interface/web/admin/lib/lang/en_language_import.lng @@ -1,5 +1,6 @@ <?php $wb["list_head_txt"] = 'Import language file'; +$wb["list_desc_txt"] = 'WARNING: Do not import language files from untrustworthy sources.'; $wb["language_import_txt"] = 'Select language file'; $wb['btn_save_txt'] = 'Import the selected language file'; $wb["language_overwrite_txt"] = 'Overwrite file, if exists.'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 1f1ad0db78..36a6791ad7 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -30,8 +30,6 @@ $wb["fastcgi_bin_txt"] = 'FastCGI Bin'; $wb["module_txt"] = 'Module'; $wb["maildir_path_txt"] = 'Maildir Path'; $wb["homedir_path_txt"] = 'Homedir Path'; -$wb["dkim_path_txt"] = 'DKIM Path'; -$wb["dkim_path_error"] = 'DKIM Path not found or not writeable.'; $wb["mailuser_uid_txt"] = 'Mailuser UID'; $wb["mailuser_gid_txt"] = 'Mailuser GID'; $wb["mailuser_name_txt"] = 'Mailuser Name'; @@ -151,7 +149,6 @@ $wb["php_fpm_socket_dir_txt"] = 'PHP-FPM socket directory'; $wb["php_fpm_socket_dir_error_empty"] = 'PHP-FPM socket directory is empty.'; $wb["try_rescue_txt"] = 'Enable service monitoring and restart on failure'; $wb["do_not_try_rescue_httpd_txt"] = 'Disable HTTPD monitoring'; -$wb["do_not_try_rescue_mongodb_txt"] = 'Disable MongoDB monitoring'; $wb["do_not_try_rescue_mysql_txt"] = 'Disable MySQL monitoring'; $wb["do_not_try_rescue_mail_txt"] = 'Disable Email monitoring'; $wb["rescue_description_txt"] = '<b>Information:</b> If you want to shut down mysql you have to select the "Disable MySQL monitor" checkbox and then wait 2-3 minutes.<br>If you do not wait 2-3 minutes, rescue will try to restart mysql!'; @@ -170,8 +167,8 @@ $wb["awstats_settings_txt"] = 'AWStats Settings'; $wb["firewall_txt"] = 'Firewall'; $wb["mailbox_quota_stats_txt"] = 'Mailbox quota statistics'; $wb["enable_ip_wildcard_txt"] = 'Enable IP wildcard (*)'; -$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)'; -$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin'; +$wb["web_folder_protection_txt"] = 'Make web folders immutable (extended attributes)'; +$wb["overtraffic_notify_admin_txt"] = 'Send overtraffic notification to admin'; $wb["overtraffic_notify_client_txt"] = 'Send overtraffic notification to client'; $wb["rbl_error_regex"] = 'Please specify valid RBL hostnames.'; $wb["overquota_notify_admin_txt"] = 'Send quota warnings to admin'; @@ -191,4 +188,4 @@ $wb['munin_user_txt'] = 'Munin User'; $wb['munin_password_txt'] = 'Munin Password'; $wb['munin_url_error_regex'] = 'Invalid Munin URL'; $wb['munin_url_note_txt'] = 'Placeholder:'; -?> +?> diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng index 7c5fe6eaf7..1b370b469f 100644 --- a/interface/web/admin/lib/lang/en_system_config.lng +++ b/interface/web/admin/lib/lang/en_system_config.lng @@ -23,9 +23,6 @@ $wb["webdavuser_prefix_error_regex"] = 'Char not allowed in webdav user prefix.' $wb["dblist_phpmyadmin_link_txt"] = 'Link to phpmyadmin in DB list'; $wb['enable_custom_login_txt'] = 'Allow custom login name'; $wb["mailboxlist_webmail_link_txt"] = 'Link to webmail in Mailbox list'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'Show Autoresponder tab in Mailbox detail'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'Show Mail Filter tab in Mailbox detail'; -$wb['mailbox_show_custom_rules_tab_txt'] = 'Show Custom Rules tab in Mailbox detail'; $wb["webmail_url_txt"] = 'Webmail URL'; $wb["mailmailinglist_link_txt"] = 'Link to mailing list in Mailing list list'; $wb["mailmailinglist_url_txt"] = 'Mailing list URL'; diff --git a/interface/web/admin/lib/lang/es_language_import.lng b/interface/web/admin/lib/lang/es_language_import.lng index 7f2b25bc7b..dd1034659d 100644 --- a/interface/web/admin/lib/lang/es_language_import.lng +++ b/interface/web/admin/lib/lang/es_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importar el fichero de idioma'; $wb['language_overwrite_txt'] = 'Sobreescribir los ficheros, si existen'; $wb['btn_cancel_txt'] = 'Atrás'; $wb['ignore_version_txt'] = 'Saltar comprobación de la versión ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/es_software_package.lng b/interface/web/admin/lib/lang/es_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/es_software_package.lng +++ b/interface/web/admin/lib/lang/es_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng index 118a0dfae8..a4d878cadd 100644 --- a/interface/web/admin/lib/lang/es_system_config.lng +++ b/interface/web/admin/lib/lang/es_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/fi_language_import.lng b/interface/web/admin/lib/lang/fi_language_import.lng index d8e5eac01b..b7da40ebe3 100755 --- a/interface/web/admin/lib/lang/fi_language_import.lng +++ b/interface/web/admin/lib/lang/fi_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Asenna valittu kielitiedosto'; $wb['language_overwrite_txt'] = 'Ylikirjoitetaan tiedostot, jos ne on jo olemassa.'; $wb['btn_cancel_txt'] = 'Takaisin'; $wb['ignore_version_txt'] = 'Ohita ISPConfigin version tarkistus'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/fi_remote_action.lng b/interface/web/admin/lib/lang/fi_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/fi_remote_action.lng +++ b/interface/web/admin/lib/lang/fi_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/fi_software_package.lng b/interface/web/admin/lib/lang/fi_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/fi_software_package.lng +++ b/interface/web/admin/lib/lang/fi_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/fi_system_config.lng b/interface/web/admin/lib/lang/fi_system_config.lng index c2c1dab75b..75658ee44e 100755 --- a/interface/web/admin/lib/lang/fi_system_config.lng +++ b/interface/web/admin/lib/lang/fi_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/fr_language_import.lng b/interface/web/admin/lib/lang/fr_language_import.lng index 710847cc52..a7298a4696 100644 --- a/interface/web/admin/lib/lang/fr_language_import.lng +++ b/interface/web/admin/lib/lang/fr_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importer le fichier de langue sélectionné'; $wb['language_overwrite_txt'] = 'Ecraser le fichier sil existe déja.'; $wb['btn_cancel_txt'] = 'Précédent'; $wb['ignore_version_txt'] = 'Ignorer le test de version ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/fr_remote_action.lng b/interface/web/admin/lib/lang/fr_remote_action.lng index 58fb49998a..3df14f3554 100644 --- a/interface/web/admin/lib/lang/fr_remote_action.lng +++ b/interface/web/admin/lib/lang/fr_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Cette action met à jour ISPConfig3 sur le serveur $wb['action_scheduled'] = 'Laction est marquée pour exécution'; $wb['select_all_server'] = 'Tout serveur'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/fr_software_package.lng b/interface/web/admin/lib/lang/fr_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/fr_software_package.lng +++ b/interface/web/admin/lib/lang/fr_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng index 561a5d7274..262bbe329e 100644 --- a/interface/web/admin/lib/lang/fr_system_config.lng +++ b/interface/web/admin/lib/lang/fr_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/hr_language_import.lng b/interface/web/admin/lib/lang/hr_language_import.lng index 6a31f395ad..3f20305349 100644 --- a/interface/web/admin/lib/lang/hr_language_import.lng +++ b/interface/web/admin/lib/lang/hr_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importiraj selektiranu jeziÄnu datoteku'; $wb['language_overwrite_txt'] = 'PrebriÅ¡i datoteku, ukoliko već postoji.'; $wb['btn_cancel_txt'] = 'Natrag'; $wb['ignore_version_txt'] = 'PreskoÄi provjeru ISPConfig verzije'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/hr_software_package.lng b/interface/web/admin/lib/lang/hr_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/hr_software_package.lng +++ b/interface/web/admin/lib/lang/hr_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng index 2ff0cbc9fd..63f816b79e 100644 --- a/interface/web/admin/lib/lang/hr_system_config.lng +++ b/interface/web/admin/lib/lang/hr_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/hu_language_import.lng b/interface/web/admin/lib/lang/hu_language_import.lng index fe8334409d..a90f3eefc0 100644 --- a/interface/web/admin/lib/lang/hu_language_import.lng +++ b/interface/web/admin/lib/lang/hu_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'A kiválasztott nyelvi fájl importálása'; $wb['language_overwrite_txt'] = 'LétzÅ‘ fájlokat felülÃrja.'; $wb['btn_cancel_txt'] = 'Vissza'; $wb['ignore_version_txt'] = 'Ne ellenÅ‘rizze az ISPConfig verziószámát'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/hu_remote_action.lng b/interface/web/admin/lib/lang/hu_remote_action.lng index 6ef0ebe02e..8fe6314d3c 100644 --- a/interface/web/admin/lib/lang/hu_remote_action.lng +++ b/interface/web/admin/lib/lang/hu_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'Összes szerver'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/hu_software_package.lng b/interface/web/admin/lib/lang/hu_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/hu_software_package.lng +++ b/interface/web/admin/lib/lang/hu_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/hu_system_config.lng b/interface/web/admin/lib/lang/hu_system_config.lng index ee5f429e2f..500828481c 100644 --- a/interface/web/admin/lib/lang/hu_system_config.lng +++ b/interface/web/admin/lib/lang/hu_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/id_language_import.lng b/interface/web/admin/lib/lang/id_language_import.lng index 5a1b30294b..e5e2b06430 100644 --- a/interface/web/admin/lib/lang/id_language_import.lng +++ b/interface/web/admin/lib/lang/id_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Impor berkas bahasa yang telah dipilih'; $wb['language_overwrite_txt'] = 'Timpa berkas, jika sudah ada.'; $wb['btn_cancel_txt'] = 'Kembali'; $wb['ignore_version_txt'] = 'Lewati pemeriksaan versi ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/id_remote_action.lng b/interface/web/admin/lib/lang/id_remote_action.lng index bfe758aeaf..3a1b8518ec 100644 --- a/interface/web/admin/lib/lang/id_remote_action.lng +++ b/interface/web/admin/lib/lang/id_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Tindakan ini melakukan pemutakhiran ISPConfig3 di s $wb['action_scheduled'] = 'Tindakan dijadwalkan untuk dijalankan'; $wb['select_all_server'] = 'Semua server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/id_software_package.lng b/interface/web/admin/lib/lang/id_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/id_software_package.lng +++ b/interface/web/admin/lib/lang/id_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/id_system_config.lng b/interface/web/admin/lib/lang/id_system_config.lng index ecbf3c72c2..81997b708f 100644 --- a/interface/web/admin/lib/lang/id_system_config.lng +++ b/interface/web/admin/lib/lang/id_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/it_language_import.lng b/interface/web/admin/lib/lang/it_language_import.lng index 9762557238..a6ce43814c 100644 --- a/interface/web/admin/lib/lang/it_language_import.lng +++ b/interface/web/admin/lib/lang/it_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importa il file di lingua selezionato'; $wb['language_overwrite_txt'] = 'Sovrascrivi file, se esiste'; $wb['btn_cancel_txt'] = 'Annulla'; $wb['ignore_version_txt'] = 'Tralascia controllo versione ISPconfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/it_remote_action.lng b/interface/web/admin/lib/lang/it_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/it_remote_action.lng +++ b/interface/web/admin/lib/lang/it_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/it_software_package.lng b/interface/web/admin/lib/lang/it_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/it_software_package.lng +++ b/interface/web/admin/lib/lang/it_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/it_system_config.lng b/interface/web/admin/lib/lang/it_system_config.lng index 8ba0b9fcb7..bc26da23ea 100644 --- a/interface/web/admin/lib/lang/it_system_config.lng +++ b/interface/web/admin/lib/lang/it_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/ja_language_import.lng b/interface/web/admin/lib/lang/ja_language_import.lng index 4c55514953..eab12299c6 100644 --- a/interface/web/admin/lib/lang/ja_language_import.lng +++ b/interface/web/admin/lib/lang/ja_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'é¸ã‚“ã 言語ã¸ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹'; $wb['language_overwrite_txt'] = 'åŒåã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå˜åœ¨ã™ã‚‹å ´åˆã«ä¸Šæ›¸ãã™ã‚‹'; $wb['btn_cancel_txt'] = '戻る'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/ja_remote_action.lng b/interface/web/admin/lib/lang/ja_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/ja_remote_action.lng +++ b/interface/web/admin/lib/lang/ja_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/ja_software_package.lng b/interface/web/admin/lib/lang/ja_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/ja_software_package.lng +++ b/interface/web/admin/lib/lang/ja_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/ja_system_config.lng b/interface/web/admin/lib/lang/ja_system_config.lng index 842b65f3e7..df99e6e627 100644 --- a/interface/web/admin/lib/lang/ja_system_config.lng +++ b/interface/web/admin/lib/lang/ja_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/nl_language_import.lng b/interface/web/admin/lib/lang/nl_language_import.lng index cee58cb4a2..ae407efecb 100644 --- a/interface/web/admin/lib/lang/nl_language_import.lng +++ b/interface/web/admin/lib/lang/nl_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importeer het geselecteerde taalbestand'; $wb['language_overwrite_txt'] = 'Overschrijf bestand, als dit bestaat.'; $wb['btn_cancel_txt'] = 'Terug'; $wb['ignore_version_txt'] = 'Sla ISPConfig versie controle over'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/nl_remote_action.lng b/interface/web/admin/lib/lang/nl_remote_action.lng index ae286d9ea4..c0046ff019 100644 --- a/interface/web/admin/lib/lang/nl_remote_action.lng +++ b/interface/web/admin/lib/lang/nl_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Deze actie voert een ISPConfig3 update uit op de so $wb['action_scheduled'] = 'Deze actie is ingepland om uitgevoerd te worden'; $wb['select_all_server'] = 'Alle servers'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/nl_software_package.lng b/interface/web/admin/lib/lang/nl_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/nl_software_package.lng +++ b/interface/web/admin/lib/lang/nl_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng index fe3b85e5e9..b49eb07afc 100644 --- a/interface/web/admin/lib/lang/nl_system_config.lng +++ b/interface/web/admin/lib/lang/nl_system_config.lng @@ -16,9 +16,6 @@ $wb['shelluser_prefix_error_regex'] = 'Char niet toegestaan in shell gebruiker v $wb['webdavuser_prefix_error_regex'] = 'Char niet toegestaan in webdav gebruiker voorvoegsel.'; $wb['dblist_phpmyadmin_link_txt'] = 'Link naar phpmyadmin in DB lijst'; $wb['mailboxlist_webmail_link_txt'] = 'Link naar webmail in Mailbox lijst'; -$wb['mailbox_show_autoresponder_tab_txt'] = 'Toon Autoresponder tabblad in Mailbox detail'; -$wb['mailbox_show_mail_filter_tab_txt'] = 'Toon Mail Filter tabblad in Mailbox detail'; -$wb['mailbox_show_custom_rules_tab_txt'] 'Toon Custom Rules tabblad in Mailbox detail'; $wb['webmail_url_txt'] = 'Webmail URL'; $wb['phpmyadmin_url_txt'] = 'PHPMyAdmin URL'; $wb['use_domain_module_txt'] = 'Gebruik de domein-module om nieuwe domeinen toe te voegen'; @@ -55,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/pl_language_import.lng b/interface/web/admin/lib/lang/pl_language_import.lng index 077d0c00ea..5fd3212ed6 100644 --- a/interface/web/admin/lib/lang/pl_language_import.lng +++ b/interface/web/admin/lib/lang/pl_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importuj wybrane pliki jÄ™zyka'; $wb['language_overwrite_txt'] = 'Nadpisz plik jeÅ›li istnieje.'; $wb['btn_cancel_txt'] = 'Wróć'; $wb['ignore_version_txt'] = 'PomiÅ„ sprawdzanie wersji ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/pl_remote_action.lng b/interface/web/admin/lib/lang/pl_remote_action.lng index 83fbc9e282..7d03089933 100644 --- a/interface/web/admin/lib/lang/pl_remote_action.lng +++ b/interface/web/admin/lib/lang/pl_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'Ta akcja przeprowadzi aktualizacjÄ™ ISPConfig3 na w $wb['action_scheduled'] = 'Akcja zaplanowana do wykonania'; $wb['select_all_server'] = 'Wszystkie serwery'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/pl_software_package.lng b/interface/web/admin/lib/lang/pl_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/pl_software_package.lng +++ b/interface/web/admin/lib/lang/pl_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/pl_system_config.lng b/interface/web/admin/lib/lang/pl_system_config.lng index 9d4f6f59ba..a3cd3c6bd9 100644 --- a/interface/web/admin/lib/lang/pl_system_config.lng +++ b/interface/web/admin/lib/lang/pl_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Pokaż zakÅ‚adkÄ™ wÅ‚asnych filtrów $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/pt_language_import.lng b/interface/web/admin/lib/lang/pt_language_import.lng index 440cee5512..919014da3e 100644 --- a/interface/web/admin/lib/lang/pt_language_import.lng +++ b/interface/web/admin/lib/lang/pt_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Importar Ficheiro de Idioma Seleccionado'; $wb['language_overwrite_txt'] = 'Sobre-escrever o ficheiro se existir.'; $wb['btn_cancel_txt'] = 'Voltar'; $wb['ignore_version_txt'] = 'Ignorar verificação da versão do ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/pt_remote_action.lng b/interface/web/admin/lib/lang/pt_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/pt_remote_action.lng +++ b/interface/web/admin/lib/lang/pt_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/pt_software_package.lng b/interface/web/admin/lib/lang/pt_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/pt_software_package.lng +++ b/interface/web/admin/lib/lang/pt_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/pt_system_config.lng b/interface/web/admin/lib/lang/pt_system_config.lng index 32ed93f260..49bd93e9cc 100644 --- a/interface/web/admin/lib/lang/pt_system_config.lng +++ b/interface/web/admin/lib/lang/pt_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/ro_language_import.lng b/interface/web/admin/lib/lang/ro_language_import.lng index fefae80d03..4b36072eb2 100644 --- a/interface/web/admin/lib/lang/ro_language_import.lng +++ b/interface/web/admin/lib/lang/ro_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Import file limba selectata'; $wb['language_overwrite_txt'] = 'suprascrie file, daca exista'; $wb['btn_cancel_txt'] = 'inapoi'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/ro_remote_action.lng b/interface/web/admin/lib/lang/ro_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/ro_remote_action.lng +++ b/interface/web/admin/lib/lang/ro_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/ro_software_package.lng b/interface/web/admin/lib/lang/ro_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/ro_software_package.lng +++ b/interface/web/admin/lib/lang/ro_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/ro_system_config.lng b/interface/web/admin/lib/lang/ro_system_config.lng index d237d638af..e2b701afc3 100644 --- a/interface/web/admin/lib/lang/ro_system_config.lng +++ b/interface/web/admin/lib/lang/ro_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/ru_language_import.lng b/interface/web/admin/lib/lang/ru_language_import.lng index c63cc145af..29b5cbf251 100644 --- a/interface/web/admin/lib/lang/ru_language_import.lng +++ b/interface/web/admin/lib/lang/ru_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Импорт выбранного Ñзыкового фа $wb['language_overwrite_txt'] = 'ПерезапиÑать, еÑли еÑÑ‚ÑŒ.'; $wb['btn_cancel_txt'] = 'Ðазад'; $wb['ignore_version_txt'] = 'ПропуÑтить проверку верÑий ISPConfig'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/ru_remote_action.lng b/interface/web/admin/lib/lang/ru_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/ru_remote_action.lng +++ b/interface/web/admin/lib/lang/ru_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/ru_software_package.lng b/interface/web/admin/lib/lang/ru_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/ru_software_package.lng +++ b/interface/web/admin/lib/lang/ru_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/ru_system_config.lng b/interface/web/admin/lib/lang/ru_system_config.lng index ee0fc50b07..612fe50539 100644 --- a/interface/web/admin/lib/lang/ru_system_config.lng +++ b/interface/web/admin/lib/lang/ru_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/se_language_import.lng b/interface/web/admin/lib/lang/se_language_import.lng index 4c31ec3de3..a5831fc954 100644 --- a/interface/web/admin/lib/lang/se_language_import.lng +++ b/interface/web/admin/lib/lang/se_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Import the selected language file'; $wb['language_overwrite_txt'] = 'Overwrite file, if exists.'; $wb['btn_cancel_txt'] = 'Back'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/se_remote_action.lng +++ b/interface/web/admin/lib/lang/se_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/se_software_package.lng b/interface/web/admin/lib/lang/se_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/se_software_package.lng +++ b/interface/web/admin/lib/lang/se_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng index d237d638af..e2b701afc3 100644 --- a/interface/web/admin/lib/lang/se_system_config.lng +++ b/interface/web/admin/lib/lang/se_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/sk_language_import.lng b/interface/web/admin/lib/lang/sk_language_import.lng index d842fc6cf3..5dacacff52 100644 --- a/interface/web/admin/lib/lang/sk_language_import.lng +++ b/interface/web/admin/lib/lang/sk_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Import zvoleného jazykového súboru'; $wb['language_overwrite_txt'] = 'PrepisaÅ¥ subor ak existuje'; $wb['btn_cancel_txt'] = 'Späť'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/sk_remote_action.lng b/interface/web/admin/lib/lang/sk_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/sk_remote_action.lng +++ b/interface/web/admin/lib/lang/sk_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/sk_software_package.lng b/interface/web/admin/lib/lang/sk_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/sk_software_package.lng +++ b/interface/web/admin/lib/lang/sk_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/sk_system_config.lng b/interface/web/admin/lib/lang/sk_system_config.lng index 3b8b68321e..1340eee8bb 100644 --- a/interface/web/admin/lib/lang/sk_system_config.lng +++ b/interface/web/admin/lib/lang/sk_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/lang/tr_language_import.lng b/interface/web/admin/lib/lang/tr_language_import.lng index 2caaa07986..77173d506b 100644 --- a/interface/web/admin/lib/lang/tr_language_import.lng +++ b/interface/web/admin/lib/lang/tr_language_import.lng @@ -5,4 +5,5 @@ $wb['btn_save_txt'] = 'Seçili dil dosyasını içe aktar'; $wb['language_overwrite_txt'] = 'EÄŸer mevcutsa, üstüne yaz.'; $wb['btn_cancel_txt'] = 'Geri'; $wb['ignore_version_txt'] = 'Skip ISPConfig version check'; +$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; ?> diff --git a/interface/web/admin/lib/lang/tr_remote_action.lng b/interface/web/admin/lib/lang/tr_remote_action.lng index 3fc3eaf81f..f268527084 100644 --- a/interface/web/admin/lib/lang/tr_remote_action.lng +++ b/interface/web/admin/lib/lang/tr_remote_action.lng @@ -8,5 +8,5 @@ $wb['do_ispcupdate_desc'] = 'This action does a ISPConfig3 update at your select $wb['action_scheduled'] = 'The action is scheduled for execution'; $wb['select_all_server'] = 'All server'; $wb['ispconfig_update_title'] = 'ISPConfig update instructions'; -$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructions</a>'; +$wb['ispconfig_update_text'] = 'Login as root user on the shell of your server and execute the command<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />to start the ISPConfig update.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Click here for detailed update instructins</a>'; ?> diff --git a/interface/web/admin/lib/lang/tr_software_package.lng b/interface/web/admin/lib/lang/tr_software_package.lng index 62ef734079..faffe38217 100644 --- a/interface/web/admin/lib/lang/tr_software_package.lng +++ b/interface/web/admin/lib/lang/tr_software_package.lng @@ -1,6 +1,6 @@ <?php -$wb["package_title_txt"] = 'Package Title'; -$wb["package_key_txt"] = 'Package Key'; -$wb["Software Package"] = 'Software Package'; +$wb['package_title_txt'] = 'Package Title'; +$wb['package_key_txt'] = 'Package Key'; +$wb['Software Package'] = 'Software Package'; $wb['Modify software package details'] = 'Modify software package details'; -?> \ No newline at end of file +?> diff --git a/interface/web/admin/lib/lang/tr_system_config.lng b/interface/web/admin/lib/lang/tr_system_config.lng index e538a313f9..8a5fd3a86f 100644 --- a/interface/web/admin/lib/lang/tr_system_config.lng +++ b/interface/web/admin/lib/lang/tr_system_config.lng @@ -52,4 +52,11 @@ $wb['mailbox_show_custom_rules_tab_txt'] = 'Show custom mailfilter tab in mail a $wb['webmail_url_error_regex'] = 'Invalid webmail URL'; $wb['phpmyadmin_url_note_txt'] = 'Placeholder:'; $wb['webmail_url_note_txt'] = 'Placeholder:'; +$wb['available_dashlets_note_txt'] = 'Available Dashlets:'; +$wb['admin_dashlets_left_txt'] = 'Left Admin Dashlets'; +$wb['admin_dashlets_right_txt'] = 'Right Admin Dashlets'; +$wb['reseller_dashlets_left_txt'] = 'Left Reseller Dashlets'; +$wb['reseller_dashlets_right_txt'] = 'Right Reseller Dashlets'; +$wb['client_dashlets_left_txt'] = 'Left Client Dashlets'; +$wb['client_dashlets_right_txt'] = 'Right Client Dashlets'; ?> diff --git a/interface/web/admin/lib/menu.d/tpl_default.menu.php b/interface/web/admin/lib/menu.d/tpl_default.menu.php index d6d071a701..544400246e 100644 --- a/interface/web/admin/lib/menu.d/tpl_default.menu.php +++ b/interface/web/admin/lib/menu.d/tpl_default.menu.php @@ -1,15 +1,15 @@ -<?php -/* Removed because tpl_default.php does not work -for($m = 0; $m < count($module['nav']); $m++) { - if($module['nav'][$m]['title'] == 'Interface') { - - $module['nav'][$m]['items'][] = array( 'title' => 'Default Theme', - 'target' => 'content', - 'link' => 'admin/tpl_default.php', - 'html_id' => 'tpl_default'); - break; - } -} -*/ - -?> +<?php +/* Removed because tpl_default.php does not work +for($m = 0; $m < count($module['nav']); $m++) { + if($module['nav'][$m]['title'] == 'Interface') { + + $module['nav'][$m]['items'][] = array( 'title' => 'Default Theme', + 'target' => 'content', + 'link' => 'admin/tpl_default.php', + 'html_id' => 'tpl_default'); + break; + } +} +*/ + +?> diff --git a/interface/web/admin/templates/iptables_edit.htm b/interface/web/admin/templates/iptables_edit.htm index 23228d4563..283c5e78db 100644 --- a/interface/web/admin/templates/iptables_edit.htm +++ b/interface/web/admin/templates/iptables_edit.htm @@ -1,67 +1,67 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> -<div class="panel panel_iptables"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <div class="ctrlHolder"> - <label for="server_id">{tmpl_var name='server_id_txt'}</label> - <select name="server_id" id="server_id" class="selectInput"> - {tmpl_var name='server_id'} - </select> - </div> - <div class="ctrlHolder"> - <label for="table">{tmpl_var name='table_txt'}</label> - <select name="table" id="table" class="selectInput formLengthLimit"> - {tmpl_var name='table'} - </select> - </div> - <div class="ctrlHolder"> - <label for="protocol">{tmpl_var name='protocol_txt'}</label> - <select name="protocol" id="protocol" class="selectInput formLengthLimit"> - {tmpl_var name='protocol'} - </select> - </div> - <div class="ctrlHolder"> - <label for="singleport">{tmpl_var name='singleport_txt'}</label> - <input name="singleport" id="singleport" value="{tmpl_var name='singleport'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> - </div> - <div class="ctrlHolder"> - <label for="multiport">{tmpl_var name='multiport_txt'}</label> - <input name="multiport" id="multiport" value="{tmpl_var name='multiport'}" size="20" maxlength="40" type="text" class="textInput" /> - </div> - <div class="ctrlHolder"> - <label for="destination_ip">{tmpl_var name='destination_ip_txt'}</label> - <input name="destination_ip" id="destination_ip" value="{tmpl_var name='destination_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" /> - </div> - <div class="ctrlHolder"> - <label for="source_ip">{tmpl_var name='source_ip_txt'}</label> - <input name="source_ip" id="source_ip" value="{tmpl_var name='source_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" /> - </div> - <div class="ctrlHolder"> - <label for="state">{tmpl_var name='state_txt'}</label> - <input name="state" id="state" value="{tmpl_var name='state'}" size="16" maxlength="20" type="text" class="textInput" /> - </div> - <div class="ctrlHolder"> - <label for="target">{tmpl_var name='target_txt'}</label> - <select name="target" id="target" class="selectInput formLengthLimit"> - {tmpl_var name='target'} - </select> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='active_txt'}</p> - <div class="multiField"> - {tmpl_var name='active'} - </div> - </div> - </fieldset> - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/iptables_edit.php');"> - <span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/iptables_list.php');"> - <span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> +<div class="panel panel_iptables"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <div class="ctrlHolder"> + <label for="server_id">{tmpl_var name='server_id_txt'}</label> + <select name="server_id" id="server_id" class="selectInput"> + {tmpl_var name='server_id'} + </select> + </div> + <div class="ctrlHolder"> + <label for="table">{tmpl_var name='table_txt'}</label> + <select name="table" id="table" class="selectInput formLengthLimit"> + {tmpl_var name='table'} + </select> + </div> + <div class="ctrlHolder"> + <label for="protocol">{tmpl_var name='protocol_txt'}</label> + <select name="protocol" id="protocol" class="selectInput formLengthLimit"> + {tmpl_var name='protocol'} + </select> + </div> + <div class="ctrlHolder"> + <label for="singleport">{tmpl_var name='singleport_txt'}</label> + <input name="singleport" id="singleport" value="{tmpl_var name='singleport'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> + </div> + <div class="ctrlHolder"> + <label for="multiport">{tmpl_var name='multiport_txt'}</label> + <input name="multiport" id="multiport" value="{tmpl_var name='multiport'}" size="20" maxlength="40" type="text" class="textInput" /> + </div> + <div class="ctrlHolder"> + <label for="destination_ip">{tmpl_var name='destination_ip_txt'}</label> + <input name="destination_ip" id="destination_ip" value="{tmpl_var name='destination_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" /> + </div> + <div class="ctrlHolder"> + <label for="source_ip">{tmpl_var name='source_ip_txt'}</label> + <input name="source_ip" id="source_ip" value="{tmpl_var name='source_ip'}" size="16" maxlength="20" type="text" class="textInput formLengthIPv4" /> + </div> + <div class="ctrlHolder"> + <label for="state">{tmpl_var name='state_txt'}</label> + <input name="state" id="state" value="{tmpl_var name='state'}" size="16" maxlength="20" type="text" class="textInput" /> + </div> + <div class="ctrlHolder"> + <label for="target">{tmpl_var name='target_txt'}</label> + <select name="target" id="target" class="selectInput formLengthLimit"> + {tmpl_var name='target'} + </select> + </div> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='active_txt'}</p> + <div class="multiField"> + {tmpl_var name='active'} + </div> + </div> + </fieldset> + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/iptables_edit.php');"> + <span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/iptables_list.php');"> + <span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + </div> \ No newline at end of file diff --git a/interface/web/admin/templates/iptables_list.htm b/interface/web/admin/templates/iptables_list.htm index 523ec675de..e3747054e3 100644 --- a/interface/web/admin/templates/iptables_list.htm +++ b/interface/web/admin/templates/iptables_list.htm @@ -1,74 +1,74 @@ -<h2><tmpl_var name="list_head_txt"></h2> - -<div class="panel panel_list_iptables"> - - <div class="pnl_toolsarea"> - <fieldset><legend>Tools</legend> - <div class="buttons"> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('admin/iptables_edit.php');"> - <span>{tmpl_var name="add_new_rule_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_server_id" scope="col"><tmpl_var name="server_id_txt"></th> - <th class="tbl_col_table" scope="col"><tmpl_var name="table_txt"></th> - <th class="tbl_col_protocol" scope="col"><tmpl_var name="protocol_txt"></th> - <th class="tbl_col_port" scope="col"><tmpl_var name="singleport_txt"></th> - <th class="tbl_col_port" scope="col"><tmpl_var name="multiport_txt"></th> - <th class="tbl_col_state" scope="col"><tmpl_var name="state_txt"></th> - <th class="tbl_col_target" scope="col"><tmpl_var name="target_txt"></th> - <th class="tbl_col_buttons" scope="col"> </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_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td> - <td class="tbl_col_table"></td> - <td class="tbl_col_protocol"><select name="search_protocol">{tmpl_var name='search_protocol'}</select></td> - <td class="tbl_col_singleport"></td> - <td class="tbl_col_multiport"></td> - <td class="tbl_col_state"></td> - <td class="tbl_col_target"><select name="search_target">{tmpl_var name='search_target'}</select></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','admin/iptables_list.php');"><span>{tmpl_var name="filter_txt"}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('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td> - <td class="tbl_col_server_id"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td> - <td class="tbl_col_table"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="table"}</a></td> - <td class="tbl_col_protocol"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="protocol"}</a></td> - <td class="tbl_col_singleport"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="singleport"}</a></td> - <td class="tbl_col_multiport"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="multiport"}</a></td> - <td class="tbl_col_state"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="state"}</a></td> - <td class="tbl_col_target"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="target"}</a></td> - <td class="tbl_col_buttons"> - <a class="button icons16 icoDelete" href="javascript: del_record('admin/iptables_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="9">{tmpl_var name='globalsearch_noresults_text_txt'}</td> - </tr> - </tmpl_unless> - </tbody> - <tfoot> - <tr> - <td class="tbl_footer tbl_paging" colspan="9"><tmpl_var name="paging"></td> - </tr> - </tfoot> - </table> - </fieldset> - </div> +<h2><tmpl_var name="list_head_txt"></h2> + +<div class="panel panel_list_iptables"> + + <div class="pnl_toolsarea"> + <fieldset><legend>Tools</legend> + <div class="buttons"> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('admin/iptables_edit.php');"> + <span>{tmpl_var name="add_new_rule_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_server_id" scope="col"><tmpl_var name="server_id_txt"></th> + <th class="tbl_col_table" scope="col"><tmpl_var name="table_txt"></th> + <th class="tbl_col_protocol" scope="col"><tmpl_var name="protocol_txt"></th> + <th class="tbl_col_port" scope="col"><tmpl_var name="singleport_txt"></th> + <th class="tbl_col_port" scope="col"><tmpl_var name="multiport_txt"></th> + <th class="tbl_col_state" scope="col"><tmpl_var name="state_txt"></th> + <th class="tbl_col_target" scope="col"><tmpl_var name="target_txt"></th> + <th class="tbl_col_buttons" scope="col"> </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_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td> + <td class="tbl_col_table"></td> + <td class="tbl_col_protocol"><select name="search_protocol">{tmpl_var name='search_protocol'}</select></td> + <td class="tbl_col_singleport"></td> + <td class="tbl_col_multiport"></td> + <td class="tbl_col_state"></td> + <td class="tbl_col_target"><select name="search_target">{tmpl_var name='search_target'}</select></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','admin/iptables_list.php');"><span>{tmpl_var name="filter_txt"}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('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td> + <td class="tbl_col_server_id"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td> + <td class="tbl_col_table"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="table"}</a></td> + <td class="tbl_col_protocol"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="protocol"}</a></td> + <td class="tbl_col_singleport"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="singleport"}</a></td> + <td class="tbl_col_multiport"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="multiport"}</a></td> + <td class="tbl_col_state"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="state"}</a></td> + <td class="tbl_col_target"><a href="#" onclick="loadContent('admin/iptables_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="target"}</a></td> + <td class="tbl_col_buttons"> + <a class="button icons16 icoDelete" href="javascript: del_record('admin/iptables_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="9">{tmpl_var name='globalsearch_noresults_text_txt'}</td> + </tr> + </tmpl_unless> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="9"><tmpl_var name="paging"></td> + </tr> + </tfoot> + </table> + </fieldset> + </div> </div> \ No newline at end of file diff --git a/interface/web/admin/templates/language_import.htm b/interface/web/admin/templates/language_import.htm index 85ea2a97d1..d674b200a7 100644 --- a/interface/web/admin/templates/language_import.htm +++ b/interface/web/admin/templates/language_import.htm @@ -4,7 +4,7 @@ <div class="panel panel_language_import"> <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>Language Import</legend> + <fieldset class="inlineLabels"><legend>Language Import</legend> <div class="ctrlHolder"> <label for="lng_select">{tmpl_var name='language_import_txt'}</label> <input name="file" id="file" size="30" type="file" class="fileUpload" /> diff --git a/interface/web/admin/templates/server_config_mail_edit.htm b/interface/web/admin/templates/server_config_mail_edit.htm index 6ab03eb9bd..752bc22da2 100644 --- a/interface/web/admin/templates/server_config_mail_edit.htm +++ b/interface/web/admin/templates/server_config_mail_edit.htm @@ -19,10 +19,6 @@ <label for="homedir_path">{tmpl_var name='homedir_path_txt'}</label> <input name="homedir_path" id="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255" type="text" class="textInput" /> </div> - <div class="ctrlHolder"> - <label for="dkim_path">{tmpl_var name='dkim_path_txt'}</label> - <input name="dkim_path" id="dkim_path" value="{tmpl_var name='dkim_path'}" size="40" maxlength="255" type="text" class="textInput" /> - </div> <div class="ctrlHolder"> <p class="label">{tmpl_var name='pop3_imap_daemon_txt'}</p> <div class="multiField"> @@ -117,4 +113,4 @@ </div> </div> -</div> +</div> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_rescue_edit.htm b/interface/web/admin/templates/server_config_rescue_edit.htm index 28b5cb4bd5..778225b3e6 100644 --- a/interface/web/admin/templates/server_config_rescue_edit.htm +++ b/interface/web/admin/templates/server_config_rescue_edit.htm @@ -17,12 +17,6 @@ {tmpl_var name='do_not_try_rescue_httpd'} </div> </div> - <div class="ctrlHolder"> - <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mongodb_txt'}</p> - <div class="multiField" style="width:100px"> - {tmpl_var name='do_not_try_rescue_mongodb'} - </div> - </div> <div class="ctrlHolder"> <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mysql_txt'}</p> <div class="multiField" style="width:100px"> @@ -36,15 +30,15 @@ </div> </div> </fieldset> - + <tmpl_var name="rescue_description_txt"> - + <input type="hidden" name="id" value="{tmpl_var name='id'}"> - + <div class="buttonHolder buttons"> <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> </div> </div> - -</div> + +</div> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index 6dab52f3ab..93158d734b 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -16,16 +16,17 @@ <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> </div> <div class="ctrlHolder"> - <label for="netmask">{tmpl_var name='netmask_txt'}</label> - <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> - </div> - <div class="ctrlHolder"> - <label for="v6_prefix">{tmpl_var name='v6_prefix_txt'}</label> - <input name="v6_prefix" id="v6_prefix" value="{tmpl_var name='v6_prefix'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> - </div> - <div class="ctrlHolder"> - <label for="gateway">{tmpl_var name='gateway_txt'}</label> - <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> + <label for="netmask">{tmpl_var name='netmask_txt'}</label> + <input name="netmask" id="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> + </div> + <!--<div class="ctrlHolder"> + <label for="v6_prefix">{tmpl_var name='v6_prefix_txt'}</label> + <input name="v6_prefix" id="v6_prefix" value="{tmpl_var name='v6_prefix'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> + </div> + --> + <div class="ctrlHolder"> + <label for="gateway">{tmpl_var name='gateway_txt'}</label> + <input name="gateway" id="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255" type="text" class="textInput formLengthIPv4" /> </div> <div class="ctrlHolder"> <label for="hostname">{tmpl_var name='hostname_txt'}</label> @@ -95,7 +96,7 @@ <div class="buttonHolder buttons"> <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> + </div> + </div> + +</div> diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index 6656634b16..7e75f50532 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -32,20 +32,20 @@ </div> </div> <div class="ctrlHolder"> - <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label> - <input name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" size="40" maxlength="255" type="text" class="textInput" /> {tmpl_var name='website_autoalias_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[client_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[client_username]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_domain]</a> + <label for="website_autoalias">{tmpl_var name='website_autoalias_txt'}</label> + <input name="website_autoalias" id="website_autoalias" value="{tmpl_var name='website_autoalias'}" size="40" maxlength="255" type="text" class="textInput" /> {tmpl_var name='website_autoalias_note_txt'} <a href="javascript:void(0);" class="addPlaceholder">[client_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[client_username]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_id]</a>, <a href="javascript:void(0);" class="addPlaceholder">[website_domain]</a> </div> - <!-- - <div class="ctrlHolder apache"> - <label for="vhost_rewrite_v6">{tmpl_var name='vhost_rewrite_v6_txt'}</label> - <div class="multiField"> - {tmpl_var name='vhost_rewrite_v6'} - </div> + <!-- + <div class="ctrlHolder apache"> + <label for="vhost_rewrite_v6">{tmpl_var name='vhost_rewrite_v6_txt'}</label> + <div class="multiField"> + {tmpl_var name='vhost_rewrite_v6'} + </div> </div> - --> - <div class="ctrlHolder apache"> - <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label> - <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" /> + --> + <div class="ctrlHolder apache"> + <label for="vhost_conf_dir">{tmpl_var name='vhost_conf_dir_txt'}</label> + <input name="vhost_conf_dir" id="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" /> </div> <div class="ctrlHolder apache"> <label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label> @@ -219,10 +219,6 @@ <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label> <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="40" type="text" class="textInput" /> </div> - <div class="ctrlHolder"> - <label for="php_ini_check_minutes">{tmpl_var name='php_ini_check_minutes_txt'}</label> - <input name="php_ini_check_minutes" id="php_ini_check_minutes" value="{tmpl_var name='php_ini_check_minutes'}" size="40" type="text" class="textInput" /> {tmpl_var name='php_ini_check_minutes_info_txt'} - </div> </div> <div class="subsectiontoggle"><span></span>{tmpl_var name='apps_vhost_settings_txt'}<em></em></div> <div style="display:none;"> @@ -284,7 +280,7 @@ jQuery('.apache').hide(); } else { jQuery('.nginx').hide(); - jQuery('.apache').show(); - } - } -</script> + jQuery('.apache').show(); + } + } +</script> diff --git a/interface/web/admin/templates/system_config_branding_edit.html b/interface/web/admin/templates/system_config_branding_edit.html index 2c4c2e1a62..80ab5a5da7 100644 --- a/interface/web/admin/templates/system_config_branding_edit.html +++ b/interface/web/admin/templates/system_config_branding_edit.html @@ -1,22 +1,22 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_system_config"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend><tmpl_var name="branding_txt">Branding</legend> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='allow_themechange_txt'}Allow users to change theme</p> - <div class="multiField"> - {tmpl_var name='allow_themechange'} - </div> - </div> - </fieldset> - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_system_config"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"><legend><tmpl_var name="branding_txt">Branding</legend> + <div class="ctrlHolder"> + <p class="label">{tmpl_var name='allow_themechange_txt'}Allow users to change theme</p> + <div class="multiField"> + {tmpl_var name='allow_themechange'} + </div> + </div> + </fieldset> + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/system_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + </div> \ No newline at end of file diff --git a/interface/web/admin/templates/system_config_mail_edit.htm b/interface/web/admin/templates/system_config_mail_edit.htm index e9c0c0e5b0..3c8cf2b0bb 100644 --- a/interface/web/admin/templates/system_config_mail_edit.htm +++ b/interface/web/admin/templates/system_config_mail_edit.htm @@ -11,24 +11,6 @@ {tmpl_var name='enable_custom_login'} </div> </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='mailbox_show_autoresponder_tab_txt'}</p> - <div class="multiField"> - {tmpl_var name='mailbox_show_autoresponder_tab'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='mailbox_show_mail_filter_tab_txt'}</p> - <div class="multiField"> - {tmpl_var name='mailbox_show_mail_filter_tab'} - </div> - </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='mailbox_show_custom_rules_tab_txt'}</p> - <div class="multiField"> - {tmpl_var name='mailbox_show_custom_rules_tab'} - </div> - </div> <div class="ctrlHolder"> <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p> <div class="multiField"> @@ -95,4 +77,4 @@ </div> </div> -</div> +</div> \ No newline at end of file diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm index 65f37b7820..78c51b0041 100644 --- a/interface/web/admin/templates/system_config_sites_edit.htm +++ b/interface/web/admin/templates/system_config_sites_edit.htm @@ -45,18 +45,12 @@ {tmpl_var name='vhost_subdomains'} {tmpl_var name='vhost_subdomains_note_txt'} </div> </div> - <div class="ctrlHolder"> + <div class="ctrlHolder"> <p class="label">{tmpl_var name='client_username_web_check_disabled_txt'}</p> <div class="multiField"> {tmpl_var name='client_username_web_check_disabled'} </div> </div> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='reseller_can_use_options_txt'}</p> - <div class="multiField"> - {tmpl_var name='reseller_can_use_options'} - </div> - </div> </fieldset> <input type="hidden" name="id" value="{tmpl_var name='id'}"> @@ -67,4 +61,4 @@ </div> </div> -</div> +</div> \ No newline at end of file diff --git a/interface/web/client/client_message.php b/interface/web/client/client_message.php index fc9de0bc3c..73c43bb4c6 100644 --- a/interface/web/client/client_message.php +++ b/interface/web/client/client_message.php @@ -91,10 +91,15 @@ if(isset($_POST) && count($_POST) > 1) { //* Parse client details into message $message = $_POST['message']; foreach($client as $key => $val) { - if($key != 'password'){ - $message = str_replace('{'.$key.'}', $val, $message); - } else { - $message = str_replace('{'.$key.'}', '---', $message); + switch ($key) { + case 'password': + $message = str_replace('{'.$key.'}', '---', $message); + break; + case 'gender': + $message = str_replace('{salutation}', $wb['gender_'.$val.'_txt'], $message); + break; + default: + $message = str_replace('{'.$key.'}', $val, $message); } } @@ -145,7 +150,13 @@ $sql = "SHOW COLUMNS FROM client WHERE Field NOT IN ('client_id', 'sys_userid', $field_names = $app->db->queryAllRecords($sql); if(!empty($field_names) && is_array($field_names)){ foreach($field_names as $field_name){ - if($field_name['Field'] != '') $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$field_name['Field'].'}</a> '; + if($field_name['Field'] != ''){ + if($field_name['Field'] == 'gender'){ + $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{salutation}</a> '; + } else { + $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$field_name['Field'].'}</a> '; + } + } } } $app->tpl->setVar('message_variables',trim($message_variables)); diff --git a/interface/web/client/lib/lang/ar_client.lng b/interface/web/client/lib/lang/ar_client.lng index 0c1d0f6367..ab6fb9498c 100644 --- a/interface/web/client/lib/lang/ar_client.lng +++ b/interface/web/client/lib/lang/ar_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/ar_reseller.lng b/interface/web/client/lib/lang/ar_reseller.lng index 32c9bb1c7c..53c907162a 100644 --- a/interface/web/client/lib/lang/ar_reseller.lng +++ b/interface/web/client/lib/lang/ar_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/bg_client.lng b/interface/web/client/lib/lang/bg_client.lng index 229dace93a..032b0e3669 100644 --- a/interface/web/client/lib/lang/bg_client.lng +++ b/interface/web/client/lib/lang/bg_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/bg_reseller.lng b/interface/web/client/lib/lang/bg_reseller.lng index 857e4a85a5..c028748f4c 100644 --- a/interface/web/client/lib/lang/bg_reseller.lng +++ b/interface/web/client/lib/lang/bg_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/br_client.lng b/interface/web/client/lib/lang/br_client.lng index ae2c12280d..115595520e 100644 --- a/interface/web/client/lib/lang/br_client.lng +++ b/interface/web/client/lib/lang/br_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/br_reseller.lng b/interface/web/client/lib/lang/br_reseller.lng index 2fa5368591..6d248b7def 100644 --- a/interface/web/client/lib/lang/br_reseller.lng +++ b/interface/web/client/lib/lang/br_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/cz.lng b/interface/web/client/lib/lang/cz.lng index 8efa987cfa..fa1c78df75 100644 --- a/interface/web/client/lib/lang/cz.lng +++ b/interface/web/client/lib/lang/cz.lng @@ -23,3 +23,4 @@ $wb['error_domain_in webuse'] = 'Tato doména nelze odstranit, protože je v pou $wb['error_client_can_not_add_domain'] = 'Nemůžete pÅ™idat novou doménu'; $wb['error_client_group_id_empty'] = 'MusÃte vybrat zákaznÃka<br>'; ?> + diff --git a/interface/web/client/lib/lang/cz_client.lng b/interface/web/client/lib/lang/cz_client.lng index d5980d1bb0..e0a57d77b4 100644 --- a/interface/web/client/lib/lang/cz_client.lng +++ b/interface/web/client/lib/lang/cz_client.lng @@ -8,7 +8,7 @@ $wb['limit_mailcatchall_txt'] = 'Max. poÄet e-mailových košů'; $wb['limit_mailrouting_txt'] = 'Max. poÄet e-mailových smÄ›rovánÃ'; $wb['limit_mailfilter_txt'] = 'Max. poÄet e-mailových filtrů'; $wb['limit_fetchmail_txt'] = 'Max. poÄet úÄtů externÃho zÃskávánà e-mailů'; -$wb['limit_mailquota_txt'] = 'Mailbox kvóta'; +$wb['limit_mailquota_txt'] = 'Kvóta e-mailové schránky'; $wb['limit_spamfilter_wblist_txt'] = 'Max. poÄet spamfiltrových bÃlých / Äerných listinových filtrů'; $wb['limit_spamfilter_user_txt'] = 'Max. poÄet spamflitrových uživatelů'; $wb['limit_spamfilter_policy_txt'] = 'Max. poÄet spamfiltrových politik'; @@ -60,26 +60,26 @@ $wb['limit_shell_user_txt'] = 'Max. poÄet shell uživatelů'; $wb['limit_client_txt'] = 'Max. poÄet klientů'; $wb['username_error_empty'] = 'Uživatelské jméno je prázdné.'; $wb['username_error_unique'] = 'Uživatelské jméno musà být unikátnÃ.'; -$wb['limit_maildomain_error_notint'] = 'Limit pro email doménu musà být ÄÃslo.'; +$wb['limit_maildomain_error_notint'] = 'Limit pro e-mail doménu musà být ÄÃslo.'; $wb['limit_mailbox_error_notint'] = 'Limit pro mailboxy musà být ÄÃslo.'; -$wb['limit_mailalias_error_notint'] = 'Limit pro emailové aliasy musà být ÄÃslo.'; -$wb['limit_mailaliasdomain_error_notint'] = 'Limit pro emailové doménové aliasy musà být ÄÃslo.'; -$wb['limit_mailforward_error_notint'] = 'Limit pro emailové pÅ™edavaÄe musà být ÄÃslo.'; -$wb['limit_mailcatchall_error_notint'] = 'Limit pro emailové koÅ¡e musà být ÄÃslo.'; -$wb['limit_mailrouting_error_notint'] = 'Limit pro emailová smÄ›rovánà musà být ÄÃslo.'; -$wb['limit_mailfilter_error_notint'] = 'Limit pro emailové filtry limit musà být ÄÃslo.'; -$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà emailů musà být ÄÃslo.'; -$wb['limit_mailquota_error_notint'] = 'Limit pro emailovou kvótu musà být ÄÃslo.'; +$wb['limit_mailalias_error_notint'] = 'Limit pro e-mailové aliasy musà být ÄÃslo.'; +$wb['limit_mailaliasdomain_error_notint'] = 'Limit pro e-mailové doménové aliasy musà být ÄÃslo.'; +$wb['limit_mailforward_error_notint'] = 'Limit pro e-mailové pÅ™edávánà musà být ÄÃslo.'; +$wb['limit_mailcatchall_error_notint'] = 'Limit pro e-mailové koÅ¡e musà být ÄÃslo.'; +$wb['limit_mailrouting_error_notint'] = 'Limit pro e-mailová smÄ›rovánà musà být ÄÃslo.'; +$wb['limit_mailfilter_error_notint'] = 'Limit pro e-mailové filtry limit musà být ÄÃslo.'; +$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà e-mailů musà být ÄÃslo.'; +$wb['limit_mailquota_error_notint'] = 'Limit pro e-mailovou kvótu musà být ÄÃslo.'; $wb['limit_spamfilter_wblist_error_notint'] = 'Limit pro spamfiltrové bÃlé / Äerné listiny musà být ÄÃslo.'; $wb['limit_spamfilter_user_error_notint'] = 'Limit spamfiltrových uživatelů musà být ÄÃslo.'; $wb['limit_spamfilter_policy_error_notint'] = 'Limit spamfiltrových politik musà být ÄÃslo.'; -$wb['limit_web_domain_error_notint'] = 'Limit webových stránek musà být ÄÃslo.'; +$wb['limit_web_domain_error_notint'] = 'Limit webových stránek/domén musà být ÄÃslo.'; $wb['limit_web_aliasdomain_error_notint'] = 'Limit webových alias domén musà být ÄÃslo.'; $wb['limit_web_subdomain_error_notint'] = 'Limit webových subdomén musà být ÄÃslo.'; $wb['limit_ftp_user_error_notint'] = 'Limit FTP uživatelů musà být ÄÃslo.'; $wb['limit_shell_user_error_notint'] = 'Limit shell uživatelů musà být ÄÃslo.'; $wb['limit_dns_zone_error_notint'] = 'Limit DNS zón musà být ÄÃslo.'; -$wb['limit_dns_slave_zone_error_notint'] = 'The dns slave zone limit must be a number.'; +$wb['limit_dns_slave_zone_error_notint'] = 'Limit DNS sekundárnà zóny musà být ÄÃslo.'; $wb['default_dbserver_txt'] = 'Výchozà databázový server'; $wb['limit_database_error_notint'] = 'Limit databázà musà být ÄÃslo.'; $wb['limit_cron_error_notint'] = 'Limit cronu musà být ÄÃslo.'; @@ -94,16 +94,16 @@ $wb['limit_web_quota_txt'] = 'Webová kvóta'; $wb['limit_traffic_quota_txt'] = 'PÅ™enosová kvóta'; $wb['limit_trafficquota_error_notint'] = 'PÅ™enosová kvót musà být ÄÃslo.'; $wb['limit_webdav_user_txt'] = 'Max. poÄet Webdav uživatelů'; -$wb['limit_webdav_user_error_notint'] = 'The webdav user limit must be a number.'; +$wb['limit_webdav_user_error_notint'] = 'Limit WebDAV uživatelů musà být ÄÃslo.'; $wb['customer_no_txt'] = 'Zákaznické ÄÃslo'; $wb['vat_id_txt'] = 'DIÄŒ'; $wb['required_fields_txt'] = '* Povinná pole'; $wb['company_id_txt'] = 'IÄŒO'; $wb['limit_mailmailinglist_txt'] = 'Max. poÄet e-mailových konferencÃ'; -$wb['limit_mailmailinglist_error_notint'] = 'The mailing list record limit must be a number.'; +$wb['limit_mailmailinglist_error_notint'] = 'Limit pro e-mailové konference musà být ÄÃslo.'; $wb['limit_openvz_vm_txt'] = 'Max. poÄet virtuálnÃch serverů'; -$wb['limit_openvz_vm_template_id_txt'] = 'Force virtual server template'; -$wb['limit_openvz_vm_error_notint'] = 'The virtual server limit must be a number.'; +$wb['limit_openvz_vm_template_id_txt'] = 'Povinná Å¡ablona pro virtuálnà server'; +$wb['limit_openvz_vm_error_notint'] = 'Limit pro virtuálnà servery musà být ÄÃslo.'; $wb['web_php_options_notempty'] = 'No PHP option(s) selected. Select at least one PHP option.'; $wb['ssh_chroot_notempty'] = 'No SSH chroot option selected. Select at least one SSH option.'; $wb['username_error_collision'] = 'The username may not start with the word -web- or -web- followed by a number.'; @@ -140,8 +140,9 @@ $wb['customer_no_error_unique'] = 'Zákaznické ÄÃslo musà být jedineÄné ( $wb['paypal_email_error_isemail'] = 'Zadejte prosÃm platnou PayPal e-mail addresu.'; $wb['paypal_email_txt'] = 'PayPal e-mail'; $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.'; -$wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['aps_limits_txt'] = 'APS limity instalátoru'; +$wb['limit_aps_txt'] = 'Max. poÄet APS instalacÃ'; +$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musà být ÄÃslo.'; +$wb['default_slave_dnsserver_txt'] = 'Výchozà sekundárnà DNS server'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_circle.lng b/interface/web/client/lib/lang/cz_client_circle.lng index f26e2d6d4b..c47f934f6f 100644 --- a/interface/web/client/lib/lang/cz_client_circle.lng +++ b/interface/web/client/lib/lang/cz_client_circle.lng @@ -7,3 +7,4 @@ $wb['client_ids_txt'] = 'Klienti/DistributoÅ™i'; $wb['description_txt'] = 'Popis'; $wb['active_txt'] = 'AktivnÃ'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_circle_list.lng b/interface/web/client/lib/lang/cz_client_circle_list.lng index e827605400..5895f82def 100644 --- a/interface/web/client/lib/lang/cz_client_circle_list.lng +++ b/interface/web/client/lib/lang/cz_client_circle_list.lng @@ -8,3 +8,4 @@ $wb['filter_txt'] = 'Filtr'; $wb['delete_txt'] = 'Smazat'; $wb['active_txt'] = 'AktivnÃ'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_del.lng b/interface/web/client/lib/lang/cz_client_del.lng index ca1a13f875..255b54217f 100644 --- a/interface/web/client/lib/lang/cz_client_del.lng +++ b/interface/web/client/lib/lang/cz_client_del.lng @@ -3,5 +3,6 @@ $wb['confirm_action_txt'] = 'Potvrdit akci'; $wb['delete_explanation'] = 'Tato akce smaže následujÃcà poÄet záznamů pÅ™idružených s tÃmto klientem'; $wb['btn_save_txt'] = 'Smazat klienta'; $wb['btn_cancel_txt'] = 'ZruÅ¡it bez smazánà klienta'; -$wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?'; +$wb['confirm_client_delete_txt'] = 'Jste si jisti, že chcete smazat tohoto klienta ?'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_message.lng b/interface/web/client/lib/lang/cz_client_message.lng index d980d55012..401908daed 100644 --- a/interface/web/client/lib/lang/cz_client_message.lng +++ b/interface/web/client/lib/lang/cz_client_message.lng @@ -16,3 +16,4 @@ $wb['all_clients_resellers_txt'] = 'VÅ¡ichni klienti a distributoÅ™i (prodejci)' $wb['all_clients_txt'] = 'VÅ¡ichni klienti'; $wb['variables_txt'] = 'VýbÄ›r (možnosti):'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_template.lng b/interface/web/client/lib/lang/cz_client_template.lng index 5c8406915e..22c530104e 100644 --- a/interface/web/client/lib/lang/cz_client_template.lng +++ b/interface/web/client/lib/lang/cz_client_template.lng @@ -9,7 +9,7 @@ $wb['limit_mailcatchall_txt'] = 'Max. poÄet e-mailových košů'; $wb['limit_mailrouting_txt'] = 'Max. poÄet e-mailových smÄ›rovánÃ'; $wb['limit_mailfilter_txt'] = 'Max. poÄet e-mailových filtrů'; $wb['limit_fetchmail_txt'] = 'Max. poÄet úÄtů externÃho zÃskávánà e-mailů'; -$wb['limit_mailquota_txt'] = 'Mailbox kvóta'; +$wb['limit_mailquota_txt'] = 'Kvóta e-mailové schránky'; $wb['limit_spamfilter_wblist_txt'] = 'Max. poÄet spamfiltrových bÃlých / Äerných listinových filtrů'; $wb['limit_spamfilter_user_txt'] = 'Max. poÄet spamflitrových uživatelů'; $wb['limit_spamfilter_policy_txt'] = 'Max. poÄet spamfiltrových politik'; @@ -29,25 +29,25 @@ $wb['limit_dns_slave_zone_txt'] = 'Max. poÄet sekundárnÃch DNS zón'; $wb['limit_dns_record_txt'] = 'Max. poÄet DNS záznamů'; $wb['limit_shell_user_txt'] = 'Max. poÄet shell uživatelů'; $wb['limit_client_txt'] = 'Max. poÄet klientů'; -$wb['limit_maildomain_error_notint'] = 'Limit pro email doménu musà být ÄÃslo.'; +$wb['limit_maildomain_error_notint'] = 'Limit pro e-mail doménu musà být ÄÃslo.'; $wb['limit_mailbox_error_notint'] = 'Limit pro mailboxy musà být ÄÃslo.'; -$wb['limit_mailalias_error_notint'] = 'Limit pro emailové aliasy musà být ÄÃslo.'; -$wb['limit_mailaliasdomain_error_notint'] = 'Limit pro emailové doménové aliasy musà být ÄÃslo.'; -$wb['limit_mailforward_error_notint'] = 'Limit pro emailové pÅ™edávánà musà být ÄÃslo.'; -$wb['limit_mailcatchall_error_notint'] = 'Limit pro emailové koÅ¡e musà být ÄÃslo.'; -$wb['limit_mailrouting_error_notint'] = 'Limit pro emailová smÄ›rovánà musà být ÄÃslo.'; -$wb['limit_mailfilter_error_notint'] = 'Limit pro emailové filtry limit musà být ÄÃslo.'; -$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà emailů musà být ÄÃslo.'; -$wb['limit_mailquota_error_notint'] = 'Limit pro emailovou kvótu musà být ÄÃslo.'; +$wb['limit_mailalias_error_notint'] = 'Limit pro e-mailové aliasy musà být ÄÃslo.'; +$wb['limit_mailaliasdomain_error_notint'] = 'Limit pro e-mailové doménové aliasy musà být ÄÃslo.'; +$wb['limit_mailforward_error_notint'] = 'Limit pro e-mailové pÅ™edávánà musà být ÄÃslo.'; +$wb['limit_mailcatchall_error_notint'] = 'Limit pro e-mailové koÅ¡e musà být ÄÃslo.'; +$wb['limit_mailrouting_error_notint'] = 'Limit pro e-mailová smÄ›rovánà musà být ÄÃslo.'; +$wb['limit_mailfilter_error_notint'] = 'Limit pro e-mailové filtry limit musà být ÄÃslo.'; +$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà e-mailů musà být ÄÃslo.'; +$wb['limit_mailquota_error_notint'] = 'Limit pro e-mailovou kvótu musà být ÄÃslo.'; $wb['limit_spamfilter_wblist_error_notint'] = 'Limit pro spamfiltrové bÃlé / Äerné listiny musà být ÄÃslo.'; $wb['limit_spamfilter_user_error_notint'] = 'Limit spamfiltrových uživatelů musà být ÄÃslo.'; $wb['limit_spamfilter_policy_error_notint'] = 'Limit spamfiltrových politik musà být ÄÃslo.'; -$wb['limit_web_domain_error_notint'] = 'Limit webových stránek musà být ÄÃslo.'; +$wb['limit_web_domain_error_notint'] = 'Limit webových stránek/domén musà být ÄÃslo.'; $wb['limit_web_aliasdomain_error_notint'] = 'Limit webových alias domén musà být ÄÃslo.'; $wb['limit_web_subdomain_error_notint'] = 'Limit webových subdomén musà být ÄÃslo.'; -$wb['limit_ftp_user_error_notint'] = 'Limit shell uživatelů musà být ÄÃslo.'; +$wb['limit_ftp_user_error_notint'] = 'Limit FTP uživatelů musà být ÄÃslo.'; $wb['limit_dns_zone_error_notint'] = 'Limit DNS zón musà být ÄÃslo.'; -$wb['limit_dns_slave_zone_error_notint'] = 'The dns slave zone limit must be a number.'; +$wb['limit_dns_slave_zone_error_notint'] = 'Limit DNS sekundárnà zóny musà být ÄÃslo.'; $wb['limit_dns_record_error_notint'] = 'Limit DNS záznamů musà být ÄÃslo.'; $wb['limit_database_error_notint'] = 'Limit databázà musà být ÄÃslo.'; $wb['limit_cron_error_notint'] = 'Limit cronu musà být ÄÃslo.'; @@ -58,13 +58,13 @@ $wb['limit_traffic_quota_txt'] = 'PÅ™enosová kvóta'; $wb['limit_trafficquota_error_notint'] = 'PÅ™enosová kvót musà být ÄÃslo.'; $wb['template_del_aborted_txt'] = 'Smazánà pÅ™eruÅ¡eno. Stále existuje klient, který použÃvá tuto Å¡ablonu.'; $wb['limit_webdav_user_txt'] = 'Max. poÄet Webdav uživatelů'; -$wb['limit_shell_user_error_notint'] = 'The shell user limit must be a number.'; -$wb['limit_webdav_user_error_notint'] = 'The webdav user limit must be a number.'; +$wb['limit_shell_user_error_notint'] = 'Limit shell uživatelů musà být ÄÃslo.'; +$wb['limit_webdav_user_error_notint'] = 'Limit WebDAV uživatelů musà být ÄÃslo.'; $wb['limit_mailmailinglist_txt'] = 'Max. poÄet e-mailových konferencÃ'; -$wb['limit_mailmailinglist_error_notint'] = 'The mailing list record limit must be a number.'; +$wb['limit_mailmailinglist_error_notint'] = 'Limit pro e-mailové konference musà být ÄÃslo.'; $wb['limit_openvz_vm_txt'] = 'Max. poÄet virtuálnÃch serverů'; -$wb['limit_openvz_vm_template_id_txt'] = 'Force virtual server template'; -$wb['limit_openvz_vm_error_notint'] = 'The virtual server limit must be a number.'; +$wb['limit_openvz_vm_template_id_txt'] = 'Povinná Å¡ablona pro virtuálnà server'; +$wb['limit_openvz_vm_error_notint'] = 'Limit pro virtuálnà servery musà být ÄÃslo.'; $wb['ssh_chroot_txt'] = 'SSH-Chroot Options'; $wb['web_php_options_txt'] = 'PHP Options'; $wb['template_type_txt'] = 'Typ Å¡ablony'; @@ -84,7 +84,8 @@ $wb['database_limits_txt'] = 'Databázové limity'; $wb['cron_job_limits_txt'] = 'Cron pracovnà limity'; $wb['dns_limits_txt'] = 'DNS limity'; $wb['virtualization_limits_txt'] = 'Virtualizace limity'; -$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.'; +$wb['aps_limits_txt'] = 'APS limity instalátoru'; +$wb['limit_aps_txt'] = 'Max. poÄet APS instalacÃ'; +$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musà být ÄÃslo.'; ?> + diff --git a/interface/web/client/lib/lang/cz_client_template_list.lng b/interface/web/client/lib/lang/cz_client_template_list.lng index 675da95083..d560efbe53 100644 --- a/interface/web/client/lib/lang/cz_client_template_list.lng +++ b/interface/web/client/lib/lang/cz_client_template_list.lng @@ -2,5 +2,6 @@ $wb['list_head_txt'] = 'Klientské Å¡ablony'; $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Název Å¡ablony'; -$wb['template_id_txt'] = 'Template ID'; +$wb['template_id_txt'] = 'ID Å¡ablony'; ?> + diff --git a/interface/web/client/lib/lang/cz_clients_list.lng b/interface/web/client/lib/lang/cz_clients_list.lng index 9657cb71e8..bceac34bc8 100644 --- a/interface/web/client/lib/lang/cz_clients_list.lng +++ b/interface/web/client/lib/lang/cz_clients_list.lng @@ -9,3 +9,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat klienta'; $wb['username_txt'] = 'Uživatelské jméno'; $wb['customer_no_txt'] = 'Zákaznické ÄÃslo'; ?> + diff --git a/interface/web/client/lib/lang/cz_domain.lng b/interface/web/client/lib/lang/cz_domain.lng index 34ba70c11e..eabdb6df34 100644 --- a/interface/web/client/lib/lang/cz_domain.lng +++ b/interface/web/client/lib/lang/cz_domain.lng @@ -1,6 +1,7 @@ <?php -$wb['domain_error_empty'] = 'The domain-name is empty'; -$wb['domain_error_unique'] = 'The domain already exists'; -$wb['domain_error_regex'] = 'This domain-name is not allowed'; +$wb['domain_error_empty'] = 'Doménové jméno je prázdné'; +$wb['domain_error_unique'] = 'Doména již existuje'; +$wb['domain_error_regex'] = 'Toto doménové jméno je zakázáno'; $wb['Domain'] = 'Doména'; ?> + diff --git a/interface/web/client/lib/lang/cz_domain_list.lng b/interface/web/client/lib/lang/cz_domain_list.lng index 6cf7376bd4..88df8383cd 100644 --- a/interface/web/client/lib/lang/cz_domain_list.lng +++ b/interface/web/client/lib/lang/cz_domain_list.lng @@ -4,3 +4,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat novou doménu'; $wb['domain_txt'] = 'Doména'; $wb['user_txt'] = 'Klient'; ?> + diff --git a/interface/web/client/lib/lang/cz_reseller.lng b/interface/web/client/lib/lang/cz_reseller.lng index 07af2a4a3e..3ba47ace66 100644 --- a/interface/web/client/lib/lang/cz_reseller.lng +++ b/interface/web/client/lib/lang/cz_reseller.lng @@ -7,7 +7,7 @@ $wb['limit_mailcatchall_txt'] = 'Max. poÄet e-mailových košů'; $wb['limit_mailrouting_txt'] = 'Max. poÄet e-mailových smÄ›rovánÃ'; $wb['limit_mailfilter_txt'] = 'Max. poÄet e-mailových filtrů'; $wb['limit_fetchmail_txt'] = 'Max. poÄet úÄtů externÃho zÃskávánà e-mailů'; -$wb['limit_mailquota_txt'] = 'Mailbox kvóta'; +$wb['limit_mailquota_txt'] = 'Kvóta e-mailové schránky'; $wb['limit_spamfilter_wblist_txt'] = 'Max. poÄet spamfiltrových bÃlých / Äerných listinových filtrů'; $wb['limit_spamfilter_user_txt'] = 'Max. poÄet spamflitrových uživatelů'; $wb['limit_spamfilter_policy_txt'] = 'Max. poÄet spamfiltrových politik'; @@ -59,25 +59,25 @@ $wb['limit_shell_user_txt'] = 'Max. poÄet shell uživatelů'; $wb['limit_client_txt'] = 'Max. poÄet klientů'; $wb['username_error_empty'] = 'Uživatelské jméno je prázdné.'; $wb['username_error_unique'] = 'Uživatelské jméno musà být unikátnÃ.'; -$wb['limit_maildomain_error_notint'] = 'Limit pro email doménu musà být ÄÃslo.'; +$wb['limit_maildomain_error_notint'] = 'Limit pro e-mail doménu musà být ÄÃslo.'; $wb['limit_mailbox_error_notint'] = 'Limit pro mailboxy musà být ÄÃslo.'; -$wb['limit_mailalias_error_notint'] = 'Limit pro emailové aliasy musà být ÄÃslo.'; -$wb['limit_mailforward_error_notint'] = 'Limit pro emailové pÅ™edavaÄe musà být ÄÃslo.'; -$wb['limit_mailcatchall_error_notint'] = 'Limit pro emailové koÅ¡e musà být ÄÃslo.'; -$wb['limit_mailrouting_error_notint'] = 'Limit pro emailová smÄ›rovánà musà být ÄÃslo.'; -$wb['limit_mailfilter_error_notint'] = 'Limit pro emailové filtry limit musà být ÄÃslo.'; -$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà emailů musà být ÄÃslo.'; -$wb['limit_mailquota_error_notint'] = 'Limit pro emailovou kvótu musà být ÄÃslo.'; +$wb['limit_mailalias_error_notint'] = 'Limit pro e-mailové aliasy musà být ÄÃslo.'; +$wb['limit_mailforward_error_notint'] = 'Limit pro e-mailové pÅ™edávánà musà být ÄÃslo.'; +$wb['limit_mailcatchall_error_notint'] = 'Limit pro e-mailové koÅ¡e musà být ÄÃslo.'; +$wb['limit_mailrouting_error_notint'] = 'Limit pro e-mailová smÄ›rovánà musà být ÄÃslo.'; +$wb['limit_mailfilter_error_notint'] = 'Limit pro e-mailové filtry limit musà být ÄÃslo.'; +$wb['limit_mailfetchmail_error_notint'] = 'Limit pro externà zÃskávánà e-mailů musà být ÄÃslo.'; +$wb['limit_mailquota_error_notint'] = 'Limit pro e-mailovou kvótu musà být ÄÃslo.'; $wb['limit_spamfilter_wblist_error_notint'] = 'Limit pro spamfiltrové bÃlé / Äerné listiny musà být ÄÃslo.'; $wb['limit_spamfilter_user_error_notint'] = 'Limit spamfiltrových uživatelů musà být ÄÃslo.'; $wb['limit_spamfilter_policy_error_notint'] = 'Limit spamfiltrových politik musà být ÄÃslo.'; -$wb['limit_web_domain_error_notint'] = 'Limit webových stránek musà být ÄÃslo.'; +$wb['limit_web_domain_error_notint'] = 'Limit webových stránek/domén musà být ÄÃslo.'; $wb['limit_web_aliasdomain_error_notint'] = 'Limit webových alias domén musà být ÄÃslo.'; $wb['limit_web_subdomain_error_notint'] = 'Limit webových subdomén musà být ÄÃslo.'; $wb['limit_ftp_user_error_notint'] = 'Limit FTP uživatelů musà být ÄÃslo.'; $wb['limit_shell_user_error_notint'] = 'Limit shell uživatelů musà být ÄÃslo.'; $wb['limit_dns_zone_error_notint'] = 'Limit DNS zón musà být ÄÃslo.'; -$wb['limit_dns_slave_zone_error_notint'] = 'The dns slave zone limit must be a number.'; +$wb['limit_dns_slave_zone_error_notint'] = 'Limit DNS sekundárnà zóny musà být ÄÃslo.'; $wb['default_dbserver_txt'] = 'Výchozà databázový server'; $wb['limit_database_error_notint'] = 'Limit databázà musà být ÄÃslo.'; $wb['limit_cron_error_notint'] = 'Limit cronu musà být ÄÃslo.'; @@ -92,18 +92,18 @@ $wb['limit_client_error_positive'] = 'PoÄet klientů musà být > 0'; $wb['limit_web_quota_txt'] = 'Webová kvóta'; $wb['limit_traffic_quota_txt'] = 'PÅ™enosová kvóta'; $wb['limit_trafficquota_error_notint'] = 'PÅ™enosová kvót musà být ÄÃslo.'; -$wb['limit_dns_record_error_notint'] = 'The dns record limit must be a number.'; +$wb['limit_dns_record_error_notint'] = 'Limit DNS záznamů musà být ÄÃslo.'; $wb['customer_no_txt'] = 'Zákaznické ÄÃslo'; $wb['vat_id_txt'] = 'DIÄŒ'; $wb['required_fields_txt'] = '* Povinná pole'; $wb['limit_webdav_user_txt'] = 'Max. poÄet Webdav uživatelů'; -$wb['limit_webdav_user_error_notint'] = 'The webdav user limit must be a number.'; +$wb['limit_webdav_user_error_notint'] = 'Limit WebDAV uživatelů musà být ÄÃslo.'; $wb['limit_mailmailinglist_txt'] = 'Max. poÄet e-mailových konferencÃ'; -$wb['limit_mailaliasdomain_txt'] = 'Max. number of domain aliases'; -$wb['limit_mailmailinglist_error_notint'] = 'The mailing list record limit must be a number.'; +$wb['limit_mailaliasdomain_txt'] = 'Max. poÄet doménových aliasů'; +$wb['limit_mailmailinglist_error_notint'] = 'Limit pro e-mailové konference musà být ÄÃslo.'; $wb['limit_openvz_vm_txt'] = 'Max. poÄet virtuálnÃch serverů'; -$wb['limit_openvz_vm_template_id_txt'] = 'Force virtual server template'; -$wb['limit_openvz_vm_error_notint'] = 'The virtual server limit must be a number.'; +$wb['limit_openvz_vm_template_id_txt'] = 'Povinná Å¡ablona pro virtuálnà server'; +$wb['limit_openvz_vm_error_notint'] = 'Limit pro virtuálnà servery musà být ÄÃslo.'; $wb['web_php_options_notempty'] = 'No PHP option(s) selected. Select at least one PHP option.'; $wb['ssh_chroot_notempty'] = 'No SSH chroot option selected. Select at least one SSH option.'; $wb['username_error_collision'] = 'The username may not start with the word -web- or -web- followed by a number.'; @@ -139,8 +139,9 @@ $wb['bank_code_txt'] = 'Kód banky'; $wb['bank_name_txt'] = 'Název banky'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC / Swift'; -$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.'; -$wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['aps_limits_txt'] = 'APS limity instalátoru'; +$wb['limit_aps_txt'] = 'Max. poÄet APS instalacÃ'; +$wb['limit_aps_error_notint'] = 'Limit pro APS instalace musà být ÄÃslo.'; +$wb['default_slave_dnsserver_txt'] = 'Výchozà sekundárnà DNS server'; ?> + diff --git a/interface/web/client/lib/lang/cz_resellers_list.lng b/interface/web/client/lib/lang/cz_resellers_list.lng index 8e72797b4d..859c97f1c2 100644 --- a/interface/web/client/lib/lang/cz_resellers_list.lng +++ b/interface/web/client/lib/lang/cz_resellers_list.lng @@ -9,3 +9,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat distributora'; $wb['customer_no_txt'] = 'Zákaznické ÄÃslo'; $wb['username_txt'] = 'Uživatelské jméno'; ?> + diff --git a/interface/web/client/lib/lang/de.lng b/interface/web/client/lib/lang/de.lng index ba66401d9e..9e28df258e 100644 --- a/interface/web/client/lib/lang/de.lng +++ b/interface/web/client/lib/lang/de.lng @@ -1,7 +1,7 @@ <?php $wb['Client'] = 'Kunden'; $wb['Address'] = 'Adresse'; -$wb['Limits'] = 'Limits'; +$wb['Limits'] = 'Beschränkungen'; $wb['Add Client'] = 'Kunde hinzufügen'; $wb['Edit Client'] = 'Kunde bearbeiten'; $wb['Clients'] = 'Kunden'; @@ -23,3 +23,4 @@ $wb['error_domain_in webuse'] = 'Diese Domain kann nicht gelöscht werden, weil $wb['error_client_can_not_add_domain'] = 'Sie können keine neue Domain anlegen'; $wb['error_client_group_id_empty'] = 'Sie müssen ein Benutzerdefiniertes auswählen<br>'; ?> + diff --git a/interface/web/client/lib/lang/de_client.lng b/interface/web/client/lib/lang/de_client.lng index 4aa8abdfcb..985be6d38b 100644 --- a/interface/web/client/lib/lang/de_client.lng +++ b/interface/web/client/lib/lang/de_client.lng @@ -37,7 +37,7 @@ $wb['surname_txt'] = 'Nachname'; $wb['limit_client_txt'] = 'Max. Anzahl an Kunden'; $wb['limit_domain_txt'] = 'Max. Anzahl an Domains'; $wb['limit_subdomain_txt'] = 'Max. Anzahl an Subdomains'; -$wb['limit_webquota_txt'] = 'Max. Webbeschränkung'; +$wb['limit_webquota_txt'] = 'Max. Speicherplatz Beschränkung'; $wb['limit_database_txt'] = 'Max. Anzahl an Datenbanken'; $wb['limit_cron_txt'] = 'Max. Anzahl an Cronjobs'; $wb['limit_cron_type_txt'] = 'Erlaubte Cronjob Typen (chrooted und full erlauben auch url)'; @@ -57,28 +57,28 @@ $wb['limit_dns_record_txt'] = 'Max. Anzahl an DNS Einträgen'; $wb['limit_shell_user_txt'] = 'Max. Anzahl an Shell Benutzer'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; -$wb['limit_maildomain_error_notint'] = 'Das E-Mail Domain Limit muss eine Zahl sein.'; -$wb['limit_mailbox_error_notint'] = 'Das E-Mail Konto Limit muss eine Zahl sein.'; -$wb['limit_mailalias_error_notint'] = 'Das E-Mail Alias Limit muss eine Zahl sein.'; -$wb['limit_mailforward_error_notint'] = 'Das E-Mail Weiterleitung Limit muss eine Zahl sein.'; -$wb['limit_mailcatchall_error_notint'] = 'Das E-Mail Catchall Limit muss eine Zahl sein.'; -$wb['limit_mailrouting_error_notint'] = 'Das E-Mail Routing Limit muss eine Zahl sein.'; -$wb['limit_mailfilter_error_notint'] = 'Das E-Mail Filter Limit muss eine Zahl sein.'; -$wb['limit_mailfetchmail_error_notint'] = 'Das Fetchmail Limit muss eine Zahl sein.'; -$wb['limit_mailquota_error_notint'] = 'Das E-Mailbeschränkungs Limit muss eine Zahl sein.'; -$wb['limit_spamfilter_wblist_error_notint'] = 'Das Spamfilter White-/Blacklist Limit muss eine Zahl sein.'; -$wb['limit_spamfilter_user_error_notint'] = 'Das Spamfilter Benutzer Limit muss eine Zahl sein.'; -$wb['limit_spamfilter_policy_error_notint'] = 'Das Spamfilter Richtlinien Limit muss eine Zahl sein.'; -$wb['limit_web_domain_error_notint'] = 'Das Domain Limit muss eine Zahl sein.'; -$wb['limit_web_aliasdomain_error_notint'] = 'Das Aliasdomain Limit muss eine Zahl sein.'; -$wb['limit_web_subdomain_error_notint'] = 'Das Subdomain Limit muss eine Zahl sein.'; -$wb['limit_ftp_user_error_notint'] = 'Das FTP Benutzer Limit muss eine Zahl sein.'; -$wb['limit_shell_user_error_notint'] = 'Das Shell Benutzer Limit muss eine Zahl sein.'; -$wb['limit_dns_zone_error_notint'] = 'Das DNS Einträge Limit muss eine Zahl sein.'; +$wb['limit_maildomain_error_notint'] = 'Die E-Mail Domain Beschränkung muss eine Zahl sein.'; +$wb['limit_mailbox_error_notint'] = 'Die E-Mail Konto Beschränkung muss eine Zahl sein.'; +$wb['limit_mailalias_error_notint'] = 'Die E-Mail Alias Beschränkung muss eine Zahl sein.'; +$wb['limit_mailforward_error_notint'] = 'Die E-Mail Weiterleitung Beschränkung muss eine Zahl sein.'; +$wb['limit_mailcatchall_error_notint'] = 'Die E-Mail Catchall Beschränkung muss eine Zahl sein.'; +$wb['limit_mailrouting_error_notint'] = 'Die E-Mail Routing Beschränkung muss eine Zahl sein.'; +$wb['limit_mailfilter_error_notint'] = 'Die E-Mail Filter Beschränkung muss eine Zahl sein.'; +$wb['limit_mailfetchmail_error_notint'] = 'Die Fetchmail Beschränkung muss eine Zahl sein.'; +$wb['limit_mailquota_error_notint'] = 'Die E-Mailbeschränkungs Beschränkung muss eine Zahl sein.'; +$wb['limit_spamfilter_wblist_error_notint'] = 'Die Spamfilter White-/Blacklist Limit muss eine Zahl sein.'; +$wb['limit_spamfilter_user_error_notint'] = 'Die Spamfilter Benutzer Beschränkung muss eine Zahl sein.'; +$wb['limit_spamfilter_policy_error_notint'] = 'Die Spamfilter Richtlinien Beschränkung muss eine Zahl sein.'; +$wb['limit_web_domain_error_notint'] = 'Die Domain Beschränkung muss eine Zahl sein.'; +$wb['limit_web_aliasdomain_error_notint'] = 'Die Aliasdomain Beschränkung muss eine Zahl sein.'; +$wb['limit_web_subdomain_error_notint'] = 'Die Subdomain Beschränkung muss eine Zahl sein.'; +$wb['limit_ftp_user_error_notint'] = 'Die FTP Benutzer Beschränkung muss eine Zahl sein.'; +$wb['limit_shell_user_error_notint'] = 'Die Shell Benutzer Beschränkung muss eine Zahl sein.'; +$wb['limit_dns_zone_error_notint'] = 'Die DNS Beschränkung muss eine Zahl sein.'; $wb['default_dbserver_txt'] = 'Standarddatenbankserver'; -$wb['limit_database_error_notint'] = 'Das Datenbank Limit muss eine Zahl sein.'; -$wb['limit_cron_error_notint'] = 'Das Cronjob Limit muss eine Zahl sein.'; -$wb['limit_cron_error_frequency'] = 'Das Cronjob Intervall muss eine Zahl sein.'; +$wb['limit_database_error_notint'] = 'Die Datenbank Beschränkung muss eine Zahl sein.'; +$wb['limit_cron_error_notint'] = 'Die Cronjob Beschränkung muss eine Zahl sein.'; +$wb['limit_cron_error_frequency'] = 'Der Cronjob Intervall muss eine Zahl sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält ungültige Zeichen.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; $wb['template_master_txt'] = 'Mastervorlage'; @@ -97,25 +97,25 @@ $wb['force_suexec_txt'] = 'SuEXEC erzwungen'; $wb['limit_hterror_txt'] = 'Eigene Fehlerseiten verfügbar'; $wb['limit_wildcard_txt'] = 'Wildcard Subdomain verfügbar'; $wb['limit_ssl_txt'] = 'SSL verfügbar'; -$wb['limit_client_error'] = 'Die maximale Anzahl an Kunden wurde erreicht.'; +$wb['limit_client_error'] = 'Die max. Anzahl an Kunden wurde erreicht.'; $wb['limit_mailaliasdomain_txt'] = 'Max. Anzahl an Domain Aliases'; -$wb['limit_mailaliasdomain_error_notint'] = 'Das E-Mail Domain Alias Limit muss eine Zahl sein.'; -$wb['limit_web_quota_txt'] = 'Webbeschränkung'; -$wb['limit_traffic_quota_txt'] = 'Trafficbeschränkung'; -$wb['limit_trafficquota_error_notint'] = 'Trafficbeschränkung muss eine Zahl sein.'; +$wb['limit_mailaliasdomain_error_notint'] = 'Das E-Mail Domain Alias Beschränkung muss eine Zahl sein.'; +$wb['limit_web_quota_txt'] = 'Speicherplatz Beschränkung'; +$wb['limit_traffic_quota_txt'] = 'Datentransfer Beschränkung'; +$wb['limit_trafficquota_error_notint'] = 'Datentransfer Beschränkung muss eine Zahl sein.'; $wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Secondary DNS Zonen'; $wb['limit_webdav_user_txt'] = 'Max. Anzahl an WebDAV Benutzern'; -$wb['limit_webdav_user_error_notint'] = 'Das WebDAV Benutzer Limit muss eine Zahl sein.'; -$wb['limit_dns_slave_zone_error_notint'] = 'Das Secondary DNS Zonen Limit muss eine Zahl sein.'; +$wb['limit_webdav_user_error_notint'] = 'Die WebDAV Benutzer Beschränkung muss eine Zahl sein.'; +$wb['limit_dns_slave_zone_error_notint'] = 'Die Secondary DNS Zonen Beschränkung muss eine Zahl sein.'; $wb['customer_no_txt'] = 'Kundennummer'; $wb['vat_id_txt'] = 'USt-ID'; $wb['required_fields_txt'] = '* Benötigte Felder'; $wb['limit_mailmailinglist_txt'] = 'Max. Anzahl an Mailinglisten'; -$wb['limit_mailmailinglist_error_notint'] = 'Das Mailinglisten Limit muss eine Zahl sein.'; +$wb['limit_mailmailinglist_error_notint'] = 'Die Mailinglisten Beschränkung muss eine Zahl sein.'; $wb['company_id_txt'] = 'Firmen/Entrepreneur ID'; $wb['limit_openvz_vm_txt'] = 'Max. Anzahl an virtuellen Servern'; $wb['limit_openvz_vm_template_id_txt'] = 'Template für virtuelle Server erzwingen'; -$wb['limit_openvz_vm_error_notint'] = 'Das Limit virtueller Server muss eine Zahl sein.'; +$wb['limit_openvz_vm_error_notint'] = 'Die Beschränkung virtueller Server muss eine Zahl sein.'; $wb['web_php_options_notempty'] = 'Keine PHP Option ausgewählt. Wähle mindestens eine PHP Option.'; $wb['ssh_chroot_notempty'] = 'Keine SSH Chroot Option ausgewählt. Wähle mindestens eine SSH Option.'; $wb['username_error_collision'] = 'Der Benutzername sollte nicht mit dem Wort -web- oder -web- gefolgt von einer Nummer anfangen.'; @@ -125,12 +125,12 @@ $wb['bank_code_txt'] = 'BLZ'; $wb['bank_name_txt'] = 'Bank'; $wb['bank_account_iban_txt'] = 'IBAN'; $wb['bank_account_swift_txt'] = 'BIC'; -$wb['web_limits_txt'] = 'Web Limits'; -$wb['email_limits_txt'] = 'E-Mail Limits'; -$wb['database_limits_txt'] = 'Datenbank Limits'; -$wb['cron_job_limits_txt'] = 'Cronjob Limits'; -$wb['dns_limits_txt'] = 'DNS Limits'; -$wb['virtualization_limits_txt'] = 'Virtualisierungs Limits'; +$wb['web_limits_txt'] = 'Web Beschränkungen'; +$wb['email_limits_txt'] = 'E-Mail Beschränkungen'; +$wb['database_limits_txt'] = 'Datenbank Beschränkungen'; +$wb['cron_job_limits_txt'] = 'Cronjob Beschränkungen'; +$wb['dns_limits_txt'] = 'DNS Beschränkungen'; +$wb['virtualization_limits_txt'] = 'Virtuelle Server Beschränkungen'; $wb['generate_password_txt'] = 'Passwort erzeugen'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; @@ -140,13 +140,9 @@ $wb['email_error_isemail'] = 'Bitte geben Sie eine gültige E-Mail Adresse an.'; $wb['paypal_email_error_isemail'] = 'Bitte geben Sie eine gültige PayPal E-Mail Adresse an.'; $wb['paypal_email_txt'] = 'PayPal E-Mail'; $wb['err_msg_master_tpl_set'] = 'Die hier eingestellten Werte werden ignoriert, wenn als Mastervorlage nicht -Custom- ausgewählt ist!'; -$wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; -$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; -$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; +$wb['aps_limits_txt'] = 'APS Installationsassistent Beschränkungen'; +$wb['limit_aps_txt'] = 'Max. Anzahl an APS Instanzen'; +$wb['limit_aps_error_notint'] = 'Die APS Instanzen Beschränkung muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; -$wb['locked_txt'] = 'Gesperrt (deaktiviert alle Webs, etc.)'; -$wb['canceled_txt'] = 'Gekündigt (verhindert Kundenlogin)'; -$wb['gender_txt'] = 'Anrede'; -$wb['gender_m_txt'] = 'Herr'; -$wb['gender_f_txt'] = 'Frau'; ?> + diff --git a/interface/web/client/lib/lang/de_client_circle.lng b/interface/web/client/lib/lang/de_client_circle.lng index b6aee4638d..c13e9a25bd 100644 --- a/interface/web/client/lib/lang/de_client_circle.lng +++ b/interface/web/client/lib/lang/de_client_circle.lng @@ -7,3 +7,4 @@ $wb['client_ids_txt'] = 'Kunden/Reseller'; $wb['description_txt'] = 'Beschreibung'; $wb['active_txt'] = 'Aktiv'; ?> + diff --git a/interface/web/client/lib/lang/de_client_circle_list.lng b/interface/web/client/lib/lang/de_client_circle_list.lng index f69b755ddc..2e7e25e14d 100644 --- a/interface/web/client/lib/lang/de_client_circle_list.lng +++ b/interface/web/client/lib/lang/de_client_circle_list.lng @@ -8,3 +8,4 @@ $wb['filter_txt'] = 'Filter'; $wb['delete_txt'] = 'Löschen'; $wb['active_txt'] = 'Aktiv'; ?> + diff --git a/interface/web/client/lib/lang/de_client_del.lng b/interface/web/client/lib/lang/de_client_del.lng index d13fcfa8fc..54a9621867 100644 --- a/interface/web/client/lib/lang/de_client_del.lng +++ b/interface/web/client/lib/lang/de_client_del.lng @@ -5,3 +5,4 @@ $wb['btn_save_txt'] = 'Kunden löschen'; $wb['btn_cancel_txt'] = 'Abbrechen, ohne den Kunden zu löschen'; $wb['confirm_client_delete_txt'] = 'Sind Sie sicher, daß Sie den Kunden löschen möchten?'; ?> + diff --git a/interface/web/client/lib/lang/de_client_message.lng b/interface/web/client/lib/lang/de_client_message.lng index f4def3017d..457cf6c17a 100644 --- a/interface/web/client/lib/lang/de_client_message.lng +++ b/interface/web/client/lib/lang/de_client_message.lng @@ -16,3 +16,4 @@ $wb['all_clients_resellers_txt'] = 'Alle Kunden und Reseller'; $wb['all_clients_txt'] = 'Alle Kunden'; $wb['variables_txt'] = 'Variablen:'; ?> + diff --git a/interface/web/client/lib/lang/de_client_template.lng b/interface/web/client/lib/lang/de_client_template.lng index 506c61e3f7..c67a4234cc 100644 --- a/interface/web/client/lib/lang/de_client_template.lng +++ b/interface/web/client/lib/lang/de_client_template.lng @@ -88,3 +88,4 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; ?> + diff --git a/interface/web/client/lib/lang/de_client_template_list.lng b/interface/web/client/lib/lang/de_client_template_list.lng index 552035fd70..5e62e72eba 100644 --- a/interface/web/client/lib/lang/de_client_template_list.lng +++ b/interface/web/client/lib/lang/de_client_template_list.lng @@ -4,3 +4,4 @@ $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Vorlagenname'; $wb['template_id_txt'] = 'Template ID'; ?> + diff --git a/interface/web/client/lib/lang/de_clients_list.lng b/interface/web/client/lib/lang/de_clients_list.lng index a6bdd6a205..65604d8d79 100644 --- a/interface/web/client/lib/lang/de_clients_list.lng +++ b/interface/web/client/lib/lang/de_clients_list.lng @@ -9,3 +9,4 @@ $wb['add_new_record_txt'] = 'Kunden hinzufügen'; $wb['username_txt'] = 'Benutzername'; $wb['customer_no_txt'] = 'Kundennummer'; ?> + diff --git a/interface/web/client/lib/lang/de_domain.lng b/interface/web/client/lib/lang/de_domain.lng index eb4276a3f8..339c6ffd40 100644 --- a/interface/web/client/lib/lang/de_domain.lng +++ b/interface/web/client/lib/lang/de_domain.lng @@ -4,3 +4,4 @@ $wb['domain_error_unique'] = 'Die Domain existiert bereits'; $wb['domain_error_regex'] = 'Dieser Domain Name ist nicht gültig'; $wb['Domain'] = 'Domain'; ?> + diff --git a/interface/web/client/lib/lang/de_domain_list.lng b/interface/web/client/lib/lang/de_domain_list.lng index b066bff572..4198e90962 100644 --- a/interface/web/client/lib/lang/de_domain_list.lng +++ b/interface/web/client/lib/lang/de_domain_list.lng @@ -4,3 +4,4 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['domain_txt'] = 'Domain'; $wb['user_txt'] = 'Kunde'; ?> + diff --git a/interface/web/client/lib/lang/de_reseller.lng b/interface/web/client/lib/lang/de_reseller.lng index 9bc4d53780..ee35eda2f6 100644 --- a/interface/web/client/lib/lang/de_reseller.lng +++ b/interface/web/client/lib/lang/de_reseller.lng @@ -143,9 +143,5 @@ $wb['aps_limits_txt'] = 'APS Installationsassistent Limits'; $wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen'; $wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.'; $wb['default_slave_dnsserver_txt'] = 'Standard Secondary DNS Server'; -$wb['locked_txt'] = 'Gesperrt'; -$wb['canceled_txt'] = 'Gekündigt'; -$wb['gender_m_txt'] = 'Herr'; -$wb['gender_f_txt'] = 'Frau'; -$wb['gender_txt'] = 'Anrede'; ?> + diff --git a/interface/web/client/lib/lang/de_resellers_list.lng b/interface/web/client/lib/lang/de_resellers_list.lng index 0f688c54b5..890b484b1e 100644 --- a/interface/web/client/lib/lang/de_resellers_list.lng +++ b/interface/web/client/lib/lang/de_resellers_list.lng @@ -9,3 +9,4 @@ $wb['add_new_record_txt'] = 'Neuen Reseller hinzufügen'; $wb['customer_no_txt'] = 'Kundennummer'; $wb['username_txt'] = 'Benutzername'; ?> + diff --git a/interface/web/client/lib/lang/el.lng b/interface/web/client/lib/lang/el.lng index 6fe28b2631..7d4f4fa535 100644 --- a/interface/web/client/lib/lang/el.lng +++ b/interface/web/client/lib/lang/el.lng @@ -10,16 +10,16 @@ $wb['Add Reseller'] = 'ÎÎος Μεταπωλητής'; $wb['Edit Reseller'] = 'ΕπεξεÏγασία Μεταπωλητή'; $wb['Resellers'] = 'ΜεταπωλητÎÏ‚'; $wb['error_has_clients'] = 'Ο Μεταπωλητής Îχει πελάτες. ΔιαγÏάψτε Ï€Ïώτα τους πελάτες.'; -$wb['add_additional_template_txt'] = 'Add additional template'; -$wb['delete_additional_template_txt'] = 'Delete additional template'; -$wb['Messaging'] = 'Messaging'; -$wb['Send email'] = 'Send Email'; -$wb['Edit Client Circle'] = 'Edit Client Circle'; +$wb['add_additional_template_txt'] = 'Î Ïοσθήκη Ï€Ïόσθετου Ï€ÏοτÏπου'; +$wb['delete_additional_template_txt'] = 'ΔιαγÏαφή Ï€Ïόσθετου Ï€ÏοτÏπου'; +$wb['Messaging'] = 'ΜηνÏματα'; +$wb['Send email'] = 'Αποστολή Email'; +$wb['Edit Client Circle'] = 'ΕπεξεÏγασία ΚÏκλου Πελάτη'; $wb['Domains'] = 'Domains'; $wb['domain_txt'] = 'Domain'; -$wb['client_txt'] = 'Client'; -$wb['error_domain_in mailuse'] = 'This domain cannot be deleted, because it is in use as mail-domain'; -$wb['error_domain_in webuse'] = 'This domain cannot be deleted, because it is in use as web-domain'; -$wb['error_client_can_not_add_domain'] = 'You cannot add a new domain'; -$wb['error_client_group_id_empty'] = 'You have to select a customer<br>'; +$wb['client_txt'] = 'Πελάτης'; +$wb['error_domain_in mailuse'] = 'Το domain δεν μποÏεί να διαγÏαφεί γιατί χÏησιμοποιείται ως mail-domain'; +$wb['error_domain_in webuse'] = 'Το domain δεν μποÏεί να διαγÏαφεί γιατί χÏησιμοποιείται ως web-domain'; +$wb['error_client_can_not_add_domain'] = 'Δεν μποÏείτε να Ï€ÏοσθÎσετε νÎο domain'; +$wb['error_client_group_id_empty'] = 'Î ÏÎπει να επιλÎξετε Îναν πελάτη<br>'; ?> diff --git a/interface/web/client/lib/lang/el_client.lng b/interface/web/client/lib/lang/el_client.lng index ba5c6820b7..d66de2553d 100644 --- a/interface/web/client/lib/lang/el_client.lng +++ b/interface/web/client/lib/lang/el_client.lng @@ -17,7 +17,7 @@ $wb['company_name_txt'] = 'Όνομα εταιÏίας'; $wb['contact_name_txt'] = 'Î Ïόσωπο Επικοινωνίας'; $wb['username_txt'] = 'Όνομα ΧÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['language_txt'] = 'Γλώσσα'; $wb['usertheme_txt'] = 'Θεματική ΠαÏαλλαγή'; $wb['street_txt'] = 'Οδός'; @@ -93,8 +93,8 @@ $wb['ssh_chroot_txt'] = 'Ρυθμίσεις SSH-Chroot'; $wb['web_php_options_txt'] = 'Ρυθμίσεις PHP'; $wb['limit_client_error'] = 'Το μÎγιστο πλήθος πελατών εξαντλήθηκε.'; $wb['limit_web_quota_txt'] = 'ÎŒÏιο χώÏου Web'; -$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο κίνησης δεδομÎνων'; -$wb['limit_trafficquota_error_notint'] = 'Το ÎŒÏιο κίνησης δεδομÎνων Ï€ÏÎπει να είναι αÏιθμός.'; +$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; +$wb['limit_trafficquota_error_notint'] = 'Το ÎŒÏιο μεταφοÏάς δεδομÎνων Ï€ÏÎπει να είναι αÏιθμός.'; $wb['customer_no_txt'] = 'Κωδ. Πελάτη'; $wb['vat_id_txt'] = 'Α.Φ.Îœ'; $wb['required_fields_txt'] = '* ΥποχÏεωτικά Πεδία'; @@ -104,44 +104,49 @@ $wb['company_id_txt'] = 'ID ΕταιÏίας/ΕπιχείÏησης'; $wb['limit_openvz_vm_txt'] = 'ÎœÎγιστο πλήθος εικονικών servers'; $wb['limit_openvz_vm_template_id_txt'] = 'Εξαναγκασμός Ï€ÏοτÏπου ÎµÎ¹ÎºÎ¿Î½Î¹ÎºÎ¿Ï server'; $wb['limit_openvz_vm_error_notint'] = 'Το ÏŒÏιο εικονικών server Ï€ÏÎπει να είναι αÏιθμός.'; -$wb['web_php_options_notempty'] = 'No PHP option(s) selected. Select at least one PHP option.'; -$wb['ssh_chroot_notempty'] = 'No SSH chroot option selected. Select at least one SSH option.'; -$wb['username_error_collision'] = 'The username may not start with the word -web- or -web- followed by a number.'; -$wb['add_additional_template_txt'] = 'Add additional template'; -$wb['delete_additional_template_txt'] = 'Delete additional template'; -$wb['limit_cgi_txt'] = 'CGI available'; -$wb['limit_ssi_txt'] = 'SSI available'; -$wb['limit_perl_txt'] = 'Perl available'; +$wb['web_php_options_notempty'] = 'Δεν επιλÎχθηκαν επιλογÎÏ‚ PHP. ΕπιλÎξτε τουλάχιστον μία επιλογή PHP.'; +$wb['ssh_chroot_notempty'] = 'Δεν επιλÎχθηκαν επιλογÎÏ‚ SSH chroot. ΕπιλÎξτε τουλάχιστον μία επιλογή SSH.'; +$wb['username_error_collision'] = 'Το όνομα χÏήστη δεν μποÏεί να αÏχίζει από την λÎξη -web- ή την λÎξη -web- ακολουθοÏμενη από αÏιθμό.'; +$wb['add_additional_template_txt'] = 'Î Ïοσθήκη Ï€Ïόσθετου Ï€ÏοτÏπου'; +$wb['delete_additional_template_txt'] = 'ΔιαγÏαφή Ï€Ïόσθετου Ï€ÏοτÏπου'; +$wb['limit_cgi_txt'] = 'ΔιαθÎσιμο CGI'; +$wb['limit_ssi_txt'] = 'ΔιαθÎσιμο SSI'; +$wb['limit_perl_txt'] = 'ΔιαθÎσιμη Perl'; $wb['limit_ruby_txt'] = 'Ruby available'; -$wb['limit_python_txt'] = 'Python available'; -$wb['force_suexec_txt'] = 'SuEXEC forced'; -$wb['limit_hterror_txt'] = 'Custom error docs available'; +$wb['limit_python_txt'] = 'ΔιαθÎσιμη Python'; +$wb['force_suexec_txt'] = 'Εξαναγκασμός SuEXEC'; +$wb['limit_hterror_txt'] = 'ΔιαθÎσιμα ÎγγÏαφα Ï€ÏοσαÏμοσμÎνων μηνυμάτων σφάλματος'; $wb['limit_wildcard_txt'] = 'Wildcard subdomain available'; -$wb['limit_ssl_txt'] = 'SSL available'; -$wb['bank_account_number_txt'] = 'Bank account no.'; -$wb['bank_code_txt'] = 'Bank code'; -$wb['bank_name_txt'] = 'Bank name'; +$wb['limit_ssl_txt'] = 'ΔιαθÎσιμο SSL'; +$wb['bank_account_number_txt'] = 'ΑÏ. ΛογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î¤Ïάπεζας.'; +$wb['bank_code_txt'] = 'Κωδικός ΤÏάπεζας'; +$wb['bank_name_txt'] = 'Όνομα ΤÏάπεζας'; $wb['bank_account_iban_txt'] = 'IBAN'; -$wb['bank_account_swift_txt'] = 'BIC / Swift'; -$wb['web_limits_txt'] = 'Web Limits'; -$wb['email_limits_txt'] = 'Email Limits'; -$wb['database_limits_txt'] = 'Database Limits'; -$wb['cron_job_limits_txt'] = 'Cron Job Limits'; -$wb['dns_limits_txt'] = 'DNS Limits'; -$wb['virtualization_limits_txt'] = 'Virtualization Limits'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['active_template_additional_txt'] = 'Active Addons'; -$wb['bank_account_owner_txt'] = 'Bank account owner'; -$wb['email_error_isemail'] = 'Please enter a valid email address.'; -$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['bank_account_swift_txt'] = 'BIC/Swift'; +$wb['web_limits_txt'] = 'ÎŒÏια Web'; +$wb['email_limits_txt'] = 'ÎŒÏια Email'; +$wb['database_limits_txt'] = 'ÎŒÏια Βάσεων ΔεδομÎνων'; +$wb['cron_job_limits_txt'] = 'ÎŒÏια ΕÏγασιών Cron'; +$wb['dns_limits_txt'] = 'ÎŒÏια DNS'; +$wb['virtualization_limits_txt'] = 'ÎŒÏια Virtualization'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα συνθηματικά ταιÏιάζουν.'; +$wb['active_template_additional_txt'] = 'ΕνεÏγά Î Ïόσθετα'; +$wb['bank_account_owner_txt'] = 'Ιδιοκτήτης ΛογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î¤Ïάπεζας'; +$wb['email_error_isemail'] = 'ΠαÏακαλοÏμε εισάγετε ÎγκυÏη διεÏθυνση email.'; +$wb['customer_no_error_unique'] = 'Ο κωδικός πελάτη Ï€ÏÎπει να είναι μοναδικός (ή άδειος).'; +$wb['paypal_email_error_isemail'] = 'ΠαÏακαλοÏμε εισάγετε ÎγκυÏη διεÏθυνση email PayPal.'; $wb['paypal_email_txt'] = 'PayPal Email'; -$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.'; +$wb['err_msg_master_tpl_set'] = 'Όλες οι Ïυθμίσεις Ï€ÏοσαÏμοσμÎνων οÏίων θα αγνοηθοÏν αν κάποιο βασικό Ï€Ïότυπο, εκτός του \\"Custom\\", είναι επιλεγμÎνο.'; +$wb['aps_limits_txt'] = 'ÎŒÏια APS Installer'; +$wb['limit_aps_txt'] = 'ÎœÎγιστο πλήθος ενεÏγών APS'; +$wb['limit_aps_error_notint'] = 'Το μÎγιστο πλήθος ενεÏγών APS Ï€ÏÎπει να είναι αÏιθμός.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/el_client_circle.lng b/interface/web/client/lib/lang/el_client_circle.lng index f98a1447fc..54aa0bc6e8 100644 --- a/interface/web/client/lib/lang/el_client_circle.lng +++ b/interface/web/client/lib/lang/el_client_circle.lng @@ -1,9 +1,9 @@ <?php -$wb['Client Circle'] = 'Client Circle'; -$wb['Circle'] = 'Circle'; -$wb['circle_txt'] = 'Circle'; -$wb['circle_name_txt'] = 'Circle Name'; -$wb['client_ids_txt'] = 'Clients/Resellers'; -$wb['description_txt'] = 'Description'; -$wb['active_txt'] = 'Active'; +$wb['Client Circle'] = 'ΚÏκλος Πελάτη'; +$wb['Circle'] = 'ΚÏκλος'; +$wb['circle_txt'] = 'ΚÏκλος'; +$wb['circle_name_txt'] = 'Όνομα ΚÏκλου'; +$wb['client_ids_txt'] = 'Πελάτες/ΜεταπωλητÎÏ‚'; +$wb['description_txt'] = 'ΠεÏιγÏαφή'; +$wb['active_txt'] = 'ΕνεÏγός'; ?> diff --git a/interface/web/client/lib/lang/el_client_circle_list.lng b/interface/web/client/lib/lang/el_client_circle_list.lng index 00fd0b3998..cb7ef18a64 100644 --- a/interface/web/client/lib/lang/el_client_circle_list.lng +++ b/interface/web/client/lib/lang/el_client_circle_list.lng @@ -1,10 +1,10 @@ <?php -$wb['list_head_txt'] = 'Client Circles'; -$wb['circle_id_txt'] = 'Circle ID'; -$wb['circle_name_txt'] = 'Circle Name'; -$wb['description_txt'] = 'Description'; -$wb['add_new_record_txt'] = 'Add new circle'; -$wb['filter_txt'] = 'Filter'; -$wb['delete_txt'] = 'Delete'; -$wb['active_txt'] = 'Active'; +$wb['list_head_txt'] = 'ΚÏκλοι πελατών'; +$wb['circle_id_txt'] = 'ID ΚÏκλου'; +$wb['circle_name_txt'] = 'Όνομα ΚÏκλου'; +$wb['description_txt'] = 'ΠεÏιγÏαφή'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη νÎου ΚÏκλου'; +$wb['filter_txt'] = 'ΦίλτÏο'; +$wb['delete_txt'] = 'ΔιαγÏαφή'; +$wb['active_txt'] = 'ΕνεÏγός'; ?> diff --git a/interface/web/client/lib/lang/el_client_message.lng b/interface/web/client/lib/lang/el_client_message.lng index 12f491ec1d..ea480064f4 100644 --- a/interface/web/client/lib/lang/el_client_message.lng +++ b/interface/web/client/lib/lang/el_client_message.lng @@ -1,18 +1,18 @@ <?php -$wb['btn_send_txt'] = 'Send email'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['sender_txt'] = 'Sender email address'; -$wb['subject_txt'] = 'Subject'; -$wb['message_txt'] = 'Message'; -$wb['form_legend_client_txt'] = 'Send email message to all clients.'; -$wb['form_legend_admin_txt'] = 'Send email message to all clients and resellers.'; -$wb['sender_invalid_error'] = 'Sender email invalid.'; -$wb['subject_invalid_error'] = 'Subject is empty.'; -$wb['message_invalid_error'] = 'Message is empty.'; -$wb['email_sent_to_txt'] = 'Email sent to:'; -$wb['page_head_txt'] = 'Send customer information'; -$wb['recipient_txt'] = 'Recipient'; -$wb['all_clients_resellers_txt'] = 'All clients and resellers'; -$wb['all_clients_txt'] = 'All clients'; -$wb['variables_txt'] = 'Variables:'; +$wb['btn_send_txt'] = 'Αποστολή email'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['sender_txt'] = 'ΔιεÏθυνση email αποστολÎα'; +$wb['subject_txt'] = 'ΘÎμα'; +$wb['message_txt'] = 'Μήνυμα'; +$wb['form_legend_client_txt'] = 'Αποστολή μηνÏματος email σε όλους τους πελάτες.'; +$wb['form_legend_admin_txt'] = 'Αποστολή μηνÏματος email σε όλους τους πελάτες και τους μεταπωλητÎÏ‚.'; +$wb['sender_invalid_error'] = 'Η ΔιεÏθυνση email αποστολÎα δεν είναι ÎγκυÏη.'; +$wb['subject_invalid_error'] = 'Το θÎμα είναι άδειο.'; +$wb['message_invalid_error'] = 'Το μήνυμα είναι άδειο.'; +$wb['email_sent_to_txt'] = 'Το Email εστάλει σε:'; +$wb['page_head_txt'] = 'Αποστολή πληÏοφοÏιών πελάτη'; +$wb['recipient_txt'] = 'ΠαÏαλήπτης'; +$wb['all_clients_resellers_txt'] = 'Όλοι οι πελάτες και οι μεταπωλητÎÏ‚'; +$wb['all_clients_txt'] = 'Όλοι οι πελάτες'; +$wb['variables_txt'] = 'ΜεταβλητÎÏ‚:'; ?> diff --git a/interface/web/client/lib/lang/el_client_template.lng b/interface/web/client/lib/lang/el_client_template.lng index 8829657ebc..2560fc0a95 100644 --- a/interface/web/client/lib/lang/el_client_template.lng +++ b/interface/web/client/lib/lang/el_client_template.lng @@ -57,8 +57,8 @@ $wb['limit_cron_error_notint'] = 'Το ÏŒÏιο εÏγασιών cron Ï€ÏÎπε $wb['limit_cron_error_frequency'] = 'Το ÏŒÏιο συχνότητας των εÏγασιών cron Ï€ÏÎπει να είναι αÏιθμός.'; $wb['error_template_name_empty'] = 'ΠαÏακαλοÏμε εισάγετε Îνα όνομα Î ÏοτÏπου'; $wb['limit_web_quota_txt'] = 'ÎŒÏιο Web'; -$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο Κίνησης δεδομÎνων'; -$wb['limit_trafficquota_error_notint'] = 'Το ÎŒÏιο Κίνησης δεδομÎνων Ï€ÏÎπει να είναι αÏιθμός.'; +$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; +$wb['limit_trafficquota_error_notint'] = 'Το ÎŒÏιο μεταφοÏάς δεδομÎνων Ï€ÏÎπει να είναι αÏιθμός.'; $wb['template_del_aborted_txt'] = 'Η διαγÏαφή ακυÏώθηκε. ΥπάÏχει τουλάχιστον Îνας πελάτης που Îχει το Ï€Ïότυπο ενεÏγοποιημÎνο.'; $wb['limit_mailmailinglist_txt'] = 'ÎœÎγιστο πλήθος mailing lists'; $wb['limit_mailmailinglist_error_notint'] = 'Το πλήθος εγγÏαφών της mailing list Ï€ÏÎπει να είναι αÏιθμός.'; @@ -69,22 +69,22 @@ $wb['ssh_chroot_txt'] = 'ΕπιλογÎÏ‚ SSH-Chroot'; $wb['web_php_options_txt'] = 'ΕπιλογÎÏ‚ PHP'; $wb['template_type_txt'] = 'ΤÏπος Ï€ÏοτÏπου'; $wb['template_name_txt'] = 'Όνομα Ï€ÏοτÏπου'; -$wb['limit_cgi_txt'] = 'CGI available'; -$wb['limit_ssi_txt'] = 'SSI available'; -$wb['limit_perl_txt'] = 'Perl available'; -$wb['limit_ruby_txt'] = 'Ruby available'; -$wb['limit_python_txt'] = 'Python available'; -$wb['force_suexec_txt'] = 'SuEXEC forced'; -$wb['limit_hterror_txt'] = 'Custom error docs available'; +$wb['limit_cgi_txt'] = 'Διάθεση CGI'; +$wb['limit_ssi_txt'] = 'Διάθεση SSI'; +$wb['limit_perl_txt'] = 'Διάθεση Perl'; +$wb['limit_ruby_txt'] = 'Διάθεση Ruby'; +$wb['limit_python_txt'] = 'Διάθεση Python'; +$wb['force_suexec_txt'] = 'Εξαναγκασμός SuEXEC'; +$wb['limit_hterror_txt'] = 'Διάθεση Ï€ÏοσαÏμοσμÎνων αÏχείων σφάλματος'; $wb['limit_wildcard_txt'] = 'Wildcard subdomain available'; -$wb['limit_ssl_txt'] = 'SSL available'; -$wb['web_limits_txt'] = 'Web Limits'; -$wb['email_limits_txt'] = 'Email Limits'; -$wb['database_limits_txt'] = 'Database Limits'; -$wb['cron_job_limits_txt'] = 'Cron Job Limits'; -$wb['dns_limits_txt'] = 'DNS Limits'; -$wb['virtualization_limits_txt'] = 'Virtualization Limits'; -$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.'; +$wb['limit_ssl_txt'] = 'ΔιαθÎσιμο SSL'; +$wb['web_limits_txt'] = 'ÎŒÏια Web'; +$wb['email_limits_txt'] = 'ÎŒÏια Email'; +$wb['database_limits_txt'] = 'ÎŒÏια Βάσεων ΔεδομÎνων'; +$wb['cron_job_limits_txt'] = 'ÎŒÏια εÏγασιών Cron'; +$wb['dns_limits_txt'] = 'ÎŒÏια DNS'; +$wb['virtualization_limits_txt'] = 'ÎŒÏια Virtualization'; +$wb['aps_limits_txt'] = 'ÎŒÏια APS Installer'; +$wb['limit_aps_txt'] = 'ÎœÎγιστο πλήθος ενεÏγών APS'; +$wb['limit_aps_error_notint'] = 'Το μÎγιστο πλήθος ενεÏγών APS Ï€ÏÎπει να είναι αÏιθμός.'; ?> diff --git a/interface/web/client/lib/lang/el_clients_list.lng b/interface/web/client/lib/lang/el_clients_list.lng index 56abc6218b..bda08707fe 100644 --- a/interface/web/client/lib/lang/el_clients_list.lng +++ b/interface/web/client/lib/lang/el_clients_list.lng @@ -6,6 +6,6 @@ $wb['contact_name_txt'] = 'Î Ïόσωπο Επικοινωνίας'; $wb['city_txt'] = 'Πόλη'; $wb['country_txt'] = 'ΧώÏα'; $wb['add_new_record_txt'] = 'ÎÎος Πελάτης'; -$wb['username_txt'] = 'Username'; -$wb['customer_no_txt'] = 'Customer No.'; +$wb['username_txt'] = 'Όνομα ΧÏήστη'; +$wb['customer_no_txt'] = 'ΑÏ. Πελάτη'; ?> diff --git a/interface/web/client/lib/lang/el_domain_list.lng b/interface/web/client/lib/lang/el_domain_list.lng index 507f895e3b..b152f9313e 100644 --- a/interface/web/client/lib/lang/el_domain_list.lng +++ b/interface/web/client/lib/lang/el_domain_list.lng @@ -2,5 +2,5 @@ $wb['list_head_txt'] = 'Domains'; $wb['add_new_record_txt'] = 'ÎÎο Domain'; $wb['domain_txt'] = 'Domain'; -$wb['user_txt'] = 'Client'; +$wb['user_txt'] = 'Πελάτης'; ?> diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng index c920ab6d21..4746719656 100644 --- a/interface/web/client/lib/lang/el_reseller.lng +++ b/interface/web/client/lib/lang/el_reseller.lng @@ -16,7 +16,7 @@ $wb['company_name_txt'] = 'Όνομα ΕταιÏίας'; $wb['contact_name_txt'] = 'Î Ïόσωπο Επικοινωνίας'; $wb['username_txt'] = 'Όνομα ΧÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη ΣυνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['language_txt'] = 'Γλώσσα'; $wb['usertheme_txt'] = 'Θεματική ΠαÏαλλαγή'; $wb['street_txt'] = 'Οδός'; @@ -91,7 +91,7 @@ $wb['web_php_options_txt'] = 'ΕπιλογÎÏ‚ PHP'; $wb['limit_client_error'] = 'Έχετε φτάσει το μÎγιστο πλήθος πελατών.'; $wb['limit_client_error_positive'] = 'Το πλήθος πελατών Ï€ÏÎπει να είναι > 0'; $wb['limit_web_quota_txt'] = 'ÎŒÏιο χώÏου Web'; -$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο ταχÏτητας'; +$wb['limit_traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['limit_trafficquota_error_notint'] = 'Το ÎŒÏιο ταχÏτητας Ï€ÏÎπει να είναι αÏιθμός.'; $wb['customer_no_txt'] = 'Α/Α Πελάτη'; $wb['vat_id_txt'] = 'Α.Φ.Îœ.'; @@ -109,38 +109,43 @@ $wb['ssh_chroot_notempty'] = 'No SSH chroot option selected. Select at least one $wb['username_error_collision'] = 'The username may not start with the word -web- or -web- followed by a number.'; $wb['add_additional_template_txt'] = 'Add additional template'; $wb['delete_additional_template_txt'] = 'Delete additional template'; -$wb['limit_cgi_txt'] = 'CGI available'; -$wb['limit_ssi_txt'] = 'SSI available'; -$wb['limit_perl_txt'] = 'Perl available'; -$wb['limit_ruby_txt'] = 'Ruby available'; -$wb['limit_python_txt'] = 'Python available'; -$wb['force_suexec_txt'] = 'SuEXEC forced'; -$wb['limit_hterror_txt'] = 'Custom error docs available'; +$wb['limit_cgi_txt'] = 'ΔιαθÎσιμο CGI'; +$wb['limit_ssi_txt'] = 'ΔιαθÎσιμο SSI'; +$wb['limit_perl_txt'] = 'ΔιαθÎσιμη Perl'; +$wb['limit_ruby_txt'] = 'ΔιαθÎσιμη Ruby'; +$wb['limit_python_txt'] = 'ΔιαθÎσιμη Python'; +$wb['force_suexec_txt'] = 'Εξαναγκασμός SuEXEC'; +$wb['limit_hterror_txt'] = 'ΔιαθÎσιμα ÎγγÏαφα Ï€ÏοσαÏμοσμÎνων μηνυμάτων σφάλματος'; $wb['limit_wildcard_txt'] = 'Wildcard subdomain available'; $wb['limit_ssl_txt'] = 'SSL available'; -$wb['web_limits_txt'] = 'Web Limits'; -$wb['email_limits_txt'] = 'Email Limits'; -$wb['database_limits_txt'] = 'Database Limits'; -$wb['cron_job_limits_txt'] = 'Cron Job Limits'; -$wb['dns_limits_txt'] = 'DNS Limits'; -$wb['virtualization_limits_txt'] = 'Virtualization Limits'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['email_error_isemail'] = 'Please enter a valid email address.'; -$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['web_limits_txt'] = 'ÎŒÏια Web'; +$wb['email_limits_txt'] = 'ÎŒÏια Email'; +$wb['database_limits_txt'] = 'ÎŒÏια Βάσεων ΔεδομÎνων'; +$wb['cron_job_limits_txt'] = 'ÎŒÏια ΕÏγασιών Cron'; +$wb['dns_limits_txt'] = 'ÎŒÏια DNS'; +$wb['virtualization_limits_txt'] = 'ÎŒÏια Virtualization'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα συνθηματικά ταιÏιάζουν.'; +$wb['email_error_isemail'] = 'ΠαÏακαλοÏμε εισάγετε ÎγκυÏη διεÏθυνση email.'; +$wb['customer_no_error_unique'] = 'Ο κωδικός πελάτη Ï€ÏÎπει να είναι μοναδικός (ή άδειος).'; +$wb['paypal_email_error_isemail'] = 'ΠαÏακαλοÏμε εισάγετε ÎγκυÏη διεÏθυνση email PayPal.'; $wb['paypal_email_txt'] = 'PayPal Email'; $wb['company_id_txt'] = 'Company/Entrepreneur ID'; -$wb['bank_account_number_txt'] = 'Bank account no.'; -$wb['bank_account_owner_txt'] = 'Bank account owner'; -$wb['bank_code_txt'] = 'Bank code'; -$wb['bank_name_txt'] = 'Bank name'; +$wb['bank_account_number_txt'] = 'ΑÏιθμός ΤÏÎ±Ï€ÎµÎ¶Î¹ÎºÎ¿Ï Î›Î¿Î³Î±ÏιασμοÏ.'; +$wb['bank_account_owner_txt'] = 'Ιδιοκτήτης ΛογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î¤Ïάπεζας'; +$wb['bank_code_txt'] = 'Κωδικός ΤÏάπεζας'; +$wb['bank_name_txt'] = 'Όνομα ΤÏάπεζας'; $wb['bank_account_iban_txt'] = 'IBAN'; -$wb['bank_account_swift_txt'] = 'BIC / Swift'; -$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.'; +$wb['bank_account_swift_txt'] = 'BIC/Swift'; +$wb['aps_limits_txt'] = 'ÎŒÏια Εγκαταστάτη APS'; +$wb['limit_aps_txt'] = 'ÎœÎγιστο πλήθος ενεÏγών APS'; +$wb['limit_aps_error_notint'] = 'Το μÎγιστο πλήθος ενεÏγών APS Ï€ÏÎπει να είναι αÏιθμός.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/el_resellers_list.lng b/interface/web/client/lib/lang/el_resellers_list.lng index 74edc051a6..73e35274a5 100644 --- a/interface/web/client/lib/lang/el_resellers_list.lng +++ b/interface/web/client/lib/lang/el_resellers_list.lng @@ -6,6 +6,6 @@ $wb['contact_name_txt'] = 'Î Ïόσωπο Επικοινωνίας'; $wb['city_txt'] = 'Πόλη'; $wb['country_txt'] = 'ΧώÏα'; $wb['add_new_record_txt'] = 'Îεός Μεταπωλητής'; -$wb['customer_no_txt'] = 'Customer No.'; -$wb['username_txt'] = 'Username'; +$wb['customer_no_txt'] = 'ΑÏ. Πελάτη'; +$wb['username_txt'] = 'Όνομα χÏήστη'; ?> diff --git a/interface/web/client/lib/lang/en_client_message.lng b/interface/web/client/lib/lang/en_client_message.lng index ab37d76087..c04bd6cda2 100644 --- a/interface/web/client/lib/lang/en_client_message.lng +++ b/interface/web/client/lib/lang/en_client_message.lng @@ -15,4 +15,6 @@ $wb["recipient_txt"] = 'Recipient'; $wb["all_clients_resellers_txt"] = 'All clients and resellers'; $wb["all_clients_txt"] = 'All clients'; $wb["variables_txt"] = 'Variables:'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/es_client.lng b/interface/web/client/lib/lang/es_client.lng index d38b0b9148..1df85c6659 100644 --- a/interface/web/client/lib/lang/es_client.lng +++ b/interface/web/client/lib/lang/es_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/es_reseller.lng b/interface/web/client/lib/lang/es_reseller.lng index ea07f21395..98a171c675 100644 --- a/interface/web/client/lib/lang/es_reseller.lng +++ b/interface/web/client/lib/lang/es_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/fi_client.lng b/interface/web/client/lib/lang/fi_client.lng index 317c0244b7..791f7c0abf 100755 --- a/interface/web/client/lib/lang/fi_client.lng +++ b/interface/web/client/lib/lang/fi_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/fi_reseller.lng b/interface/web/client/lib/lang/fi_reseller.lng index ed9ebd1278..4948475857 100644 --- a/interface/web/client/lib/lang/fi_reseller.lng +++ b/interface/web/client/lib/lang/fi_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng index 84400ca1b3..b6ecfba5fb 100644 --- a/interface/web/client/lib/lang/fr_client.lng +++ b/interface/web/client/lib/lang/fr_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng index f00be206c6..6090bffaa7 100644 --- a/interface/web/client/lib/lang/fr_reseller.lng +++ b/interface/web/client/lib/lang/fr_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/hr_client.lng b/interface/web/client/lib/lang/hr_client.lng index ed38e03ef4..31c8293d45 100644 --- a/interface/web/client/lib/lang/hr_client.lng +++ b/interface/web/client/lib/lang/hr_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/hr_reseller.lng b/interface/web/client/lib/lang/hr_reseller.lng index 1de56c7db0..f014052796 100644 --- a/interface/web/client/lib/lang/hr_reseller.lng +++ b/interface/web/client/lib/lang/hr_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/hu_client.lng b/interface/web/client/lib/lang/hu_client.lng index 7bcaccccb0..dca88c99df 100644 --- a/interface/web/client/lib/lang/hu_client.lng +++ b/interface/web/client/lib/lang/hu_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/hu_reseller.lng b/interface/web/client/lib/lang/hu_reseller.lng index 019bbc132c..eaeae52ba8 100644 --- a/interface/web/client/lib/lang/hu_reseller.lng +++ b/interface/web/client/lib/lang/hu_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/id_client.lng b/interface/web/client/lib/lang/id_client.lng index 339a310785..1788f8794b 100644 --- a/interface/web/client/lib/lang/id_client.lng +++ b/interface/web/client/lib/lang/id_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/id_reseller.lng b/interface/web/client/lib/lang/id_reseller.lng index 3c49f0464a..2d63f50b38 100644 --- a/interface/web/client/lib/lang/id_reseller.lng +++ b/interface/web/client/lib/lang/id_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/it_client.lng b/interface/web/client/lib/lang/it_client.lng index bb6b4e9f9b..8042eef60a 100644 --- a/interface/web/client/lib/lang/it_client.lng +++ b/interface/web/client/lib/lang/it_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/it_reseller.lng b/interface/web/client/lib/lang/it_reseller.lng index 32c9bb1c7c..53c907162a 100644 --- a/interface/web/client/lib/lang/it_reseller.lng +++ b/interface/web/client/lib/lang/it_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/ja_client.lng b/interface/web/client/lib/lang/ja_client.lng index 85e35b9a50..d43672693d 100644 --- a/interface/web/client/lib/lang/ja_client.lng +++ b/interface/web/client/lib/lang/ja_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/ja_reseller.lng b/interface/web/client/lib/lang/ja_reseller.lng index 9f3251df9a..79bd2aa94e 100644 --- a/interface/web/client/lib/lang/ja_reseller.lng +++ b/interface/web/client/lib/lang/ja_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/nl_client.lng b/interface/web/client/lib/lang/nl_client.lng index 42bea6451d..22d2c11605 100644 --- a/interface/web/client/lib/lang/nl_client.lng +++ b/interface/web/client/lib/lang/nl_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/nl_reseller.lng b/interface/web/client/lib/lang/nl_reseller.lng index cf87157552..9495601c99 100644 --- a/interface/web/client/lib/lang/nl_reseller.lng +++ b/interface/web/client/lib/lang/nl_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/pl_client.lng b/interface/web/client/lib/lang/pl_client.lng index 3f8ac0c750..342312aac5 100644 --- a/interface/web/client/lib/lang/pl_client.lng +++ b/interface/web/client/lib/lang/pl_client.lng @@ -144,4 +144,9 @@ $wb['aps_limits_txt'] = 'Limity Instalatora APS'; $wb['limit_aps_txt'] = 'Maks. liczba instalacji APS'; $wb['limit_aps_error_notint'] = 'Limit instalacji APS musi być liczbÄ…'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/pl_reseller.lng b/interface/web/client/lib/lang/pl_reseller.lng index 63e4c23896..c1bf221c67 100644 --- a/interface/web/client/lib/lang/pl_reseller.lng +++ b/interface/web/client/lib/lang/pl_reseller.lng @@ -143,4 +143,9 @@ $wb['aps_limits_txt'] = 'Limit instalacji APS'; $wb['limit_aps_txt'] = 'Maks. liczba instancji APS'; $wb['limit_aps_error_notint'] = 'Limit instancji APS musi być liczbÄ…'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/pt_client.lng b/interface/web/client/lib/lang/pt_client.lng index 9e43b0fb3f..18d2e62155 100644 --- a/interface/web/client/lib/lang/pt_client.lng +++ b/interface/web/client/lib/lang/pt_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/pt_reseller.lng b/interface/web/client/lib/lang/pt_reseller.lng index d2f34e9682..2e00895573 100644 --- a/interface/web/client/lib/lang/pt_reseller.lng +++ b/interface/web/client/lib/lang/pt_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/ro_client.lng b/interface/web/client/lib/lang/ro_client.lng index 50dd005d66..c2a4f11e41 100644 --- a/interface/web/client/lib/lang/ro_client.lng +++ b/interface/web/client/lib/lang/ro_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/ro_reseller.lng b/interface/web/client/lib/lang/ro_reseller.lng index 32c9bb1c7c..53c907162a 100644 --- a/interface/web/client/lib/lang/ro_reseller.lng +++ b/interface/web/client/lib/lang/ro_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/ru_client.lng b/interface/web/client/lib/lang/ru_client.lng index 1bd8e590a3..cafaf6b952 100644 --- a/interface/web/client/lib/lang/ru_client.lng +++ b/interface/web/client/lib/lang/ru_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/ru_reseller.lng b/interface/web/client/lib/lang/ru_reseller.lng index 29975f2d1a..f95786f23f 100644 --- a/interface/web/client/lib/lang/ru_reseller.lng +++ b/interface/web/client/lib/lang/ru_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng index c2a31de36a..78cecfa702 100644 --- a/interface/web/client/lib/lang/se_client.lng +++ b/interface/web/client/lib/lang/se_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/se_reseller.lng b/interface/web/client/lib/lang/se_reseller.lng index 32c9bb1c7c..53c907162a 100644 --- a/interface/web/client/lib/lang/se_reseller.lng +++ b/interface/web/client/lib/lang/se_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/sk_client.lng b/interface/web/client/lib/lang/sk_client.lng index 42e0f3ca0a..d033ab8afc 100644 --- a/interface/web/client/lib/lang/sk_client.lng +++ b/interface/web/client/lib/lang/sk_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/sk_reseller.lng b/interface/web/client/lib/lang/sk_reseller.lng index ab954301ad..c5aeabcf24 100644 --- a/interface/web/client/lib/lang/sk_reseller.lng +++ b/interface/web/client/lib/lang/sk_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/client/lib/lang/tr_client.lng b/interface/web/client/lib/lang/tr_client.lng index e3c5c5348b..fda0dc7cf5 100644 --- a/interface/web/client/lib/lang/tr_client.lng +++ b/interface/web/client/lib/lang/tr_client.lng @@ -144,4 +144,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked (disables all webs etc.)'; +$wb['canceled_txt'] = 'Canceled (disables client login)'; +$wb['gender_txt'] = 'Title'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; ?> diff --git a/interface/web/client/lib/lang/tr_reseller.lng b/interface/web/client/lib/lang/tr_reseller.lng index f04edbf5c5..83abc609fc 100644 --- a/interface/web/client/lib/lang/tr_reseller.lng +++ b/interface/web/client/lib/lang/tr_reseller.lng @@ -143,4 +143,9 @@ $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.'; $wb['default_slave_dnsserver_txt'] = 'Default Secondary DNS Server'; +$wb['locked_txt'] = 'Locked'; +$wb['canceled_txt'] = 'Canceled'; +$wb['gender_m_txt'] = 'Mr.'; +$wb['gender_f_txt'] = 'Ms.'; +$wb['gender_txt'] = 'Title'; ?> diff --git a/interface/web/dashboard/form/empty.dir b/interface/web/dashboard/form/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/dashboard/form/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/dashboard/lib/lang/ar_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/ar_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/ar_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/ar_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ar_dashlet_quota.lng b/interface/web/dashboard/lib/lang/ar_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/ar_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/ar_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/bg_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/bg_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/bg_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/bg_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/bg_dashlet_quota.lng b/interface/web/dashboard/lib/lang/bg_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/bg_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/bg_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/br_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/br_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/br_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/br_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/br_dashlet_quota.lng b/interface/web/dashboard/lib/lang/br_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/br_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/br_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/cz.lng b/interface/web/dashboard/lib/lang/cz.lng index 9d2a3211cb..15063c03fa 100644 --- a/interface/web/dashboard/lib/lang/cz.lng +++ b/interface/web/dashboard/lib/lang/cz.lng @@ -2,3 +2,4 @@ $wb['welcome_user_txt'] = 'VÃtejte %s'; $wb['available_modules_txt'] = 'Dostupné moduly'; ?> + diff --git a/interface/web/dashboard/lib/lang/cz_dashlet_limits.lng b/interface/web/dashboard/lib/lang/cz_dashlet_limits.lng index bedb98f865..ac3266ec1d 100644 --- a/interface/web/dashboard/lib/lang/cz_dashlet_limits.lng +++ b/interface/web/dashboard/lib/lang/cz_dashlet_limits.lng @@ -28,3 +28,4 @@ $wb['limit_client_txt'] = 'PoÄet klientů'; $wb['limit_database_txt'] = 'PoÄet databázÃ'; $wb['limit_mailmailinglist_txt'] = 'PoÄet e-mailových konferencÃ'; ?> + diff --git a/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng index 2c2b6cd7ae..db6450afdf 100644 --- a/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng @@ -1,8 +1,9 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Kvóta e-mailové schránky'; +$wb['email_txt'] = 'E-mailové adresy'; +$wb['name_txt'] = 'Jméno'; +$wb['used_txt'] = 'Využité mÃsto'; +$wb['quota_txt'] = 'Kvóta'; +$wb['no_email_accounts_txt'] = 'Nenalezeny žádné e-mailové úÄty.'; +?> + diff --git a/interface/web/dashboard/lib/lang/cz_dashlet_modules.lng b/interface/web/dashboard/lib/lang/cz_dashlet_modules.lng index 66275f1d05..be21791ff0 100644 --- a/interface/web/dashboard/lib/lang/cz_dashlet_modules.lng +++ b/interface/web/dashboard/lib/lang/cz_dashlet_modules.lng @@ -1,3 +1,4 @@ <?php $wb['available_modules_txt'] = 'Dostupné moduly'; ?> + diff --git a/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng b/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng index 8b2e3d43d0..0e3db11eba 100644 --- a/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng @@ -1,8 +1,9 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Kvóty HDD pro webové stránky'; +$wb['domain_txt'] = 'Doména / Webové stránky'; +$wb['used_txt'] = 'Využité mÃsto'; +$wb['hard_txt'] = 'Kvóta max. obsazenÃ'; +$wb['soft_txt'] = 'Kvóta pro upozornÄ›nÃ'; +$wb['no_sites_txt'] = 'Nenalezeny žádné webové stránky.'; +?> + diff --git a/interface/web/dashboard/lib/lang/de.lng b/interface/web/dashboard/lib/lang/de.lng index debf75413a..896b1f1474 100644 --- a/interface/web/dashboard/lib/lang/de.lng +++ b/interface/web/dashboard/lib/lang/de.lng @@ -2,3 +2,4 @@ $wb['welcome_user_txt'] = 'Herzlich Willkommen %s'; $wb['available_modules_txt'] = 'Verfügbare Module'; ?> + diff --git a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng index e50ff27594..746b38b3a8 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng @@ -1,5 +1,5 @@ <?php -$wb['limits_txt'] = 'Kontolimits'; +$wb['limits_txt'] = 'Kontobeschränkungen'; $wb['of_txt'] = 'von'; $wb['unlimited_txt'] = 'unlimitiert'; $wb['limit_maildomain_txt'] = 'Anzahl der E-Mail Domains'; @@ -28,3 +28,4 @@ $wb['limit_client_txt'] = 'Anzahl der Kunden'; $wb['limit_database_txt'] = 'Anzahl der Datenbanken'; $wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten'; ?> + diff --git a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng index 9216881193..02a3fffab4 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_mailquota.lng @@ -1,8 +1,9 @@ <?php -$wb['mailquota_txt'] = 'Mailbox-Speicherplatz'; -$wb['email_txt'] = 'E-Mail-Adresse'; +$wb['mailquota_txt'] = 'E-Mail Konten Speicherplatz'; +$wb['email_txt'] = 'E-Mail Adresse'; $wb['name_txt'] = 'Name'; $wb['used_txt'] = 'Verwendet'; $wb['quota_txt'] = 'Verfügbar'; -$wb['no_email_accounts_txt'] = 'Kein E-Mail-Konto gefunden.'; +$wb['no_email_accounts_txt'] = 'Kein E-Mail Konto gefunden.'; ?> + diff --git a/interface/web/dashboard/lib/lang/de_dashlet_modules.lng b/interface/web/dashboard/lib/lang/de_dashlet_modules.lng index 3d2c6c6514..d898ac6ecf 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_modules.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_modules.lng @@ -1,3 +1,4 @@ <?php $wb['available_modules_txt'] = 'Verfügbare Module'; ?> + diff --git a/interface/web/dashboard/lib/lang/de_dashlet_quota.lng b/interface/web/dashboard/lib/lang/de_dashlet_quota.lng index c694f1ecf3..daed0dba93 100644 --- a/interface/web/dashboard/lib/lang/de_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/de_dashlet_quota.lng @@ -1,8 +1,9 @@ <?php -$wb['quota_txt'] = 'Webseiten-Speicherplatz'; -$wb['domain_txt'] = 'Domain / Webseite'; +$wb['quota_txt'] = 'Webseiten Speicherplatz'; +$wb['domain_txt'] = 'Domain'; $wb['used_txt'] = 'Verwendet'; $wb['hard_txt'] = 'Hard Limit'; $wb['soft_txt'] = 'Soft Limit'; $wb['no_sites_txt'] = 'Keine Webseite gefunden.'; ?> + diff --git a/interface/web/dashboard/lib/lang/el_dashlet_limits.lng b/interface/web/dashboard/lib/lang/el_dashlet_limits.lng index 13940bd52f..4fcf6cf150 100644 --- a/interface/web/dashboard/lib/lang/el_dashlet_limits.lng +++ b/interface/web/dashboard/lib/lang/el_dashlet_limits.lng @@ -22,9 +22,9 @@ $wb['limit_ftp_user_txt'] = 'Πλήθος χÏηστών FTP'; $wb['limit_dns_zone_txt'] = 'Πλήθος ζωνών DNS'; $wb['limit_dns_slave_zone_txt'] = 'Πλήθος δευτεÏεÏουσων ζωνών DNS'; $wb['limit_dns_record_txt'] = 'Πλήθος εγγÏαφών DNS'; -$wb['limit_shell_user_txt'] = 'Πλήθος χÏηστών Shell'; +$wb['limit_shell_user_txt'] = 'Πλήθος χÏηστών ΚελÏφους'; $wb['limit_webdav_user_txt'] = 'Πλήθος χÏηστών Webdav'; $wb['limit_client_txt'] = 'Πλήθος Πελατών'; -$wb['limit_database_txt'] = 'Πλήθος Databases'; -$wb['limit_mailmailinglist_txt'] = 'Number of mailing lists'; +$wb['limit_database_txt'] = 'Πλήθος Βάσεων ΔεδομÎνων'; +$wb['limit_mailmailinglist_txt'] = 'Πλήθος λιστών mail'; ?> diff --git a/interface/web/dashboard/lib/lang/el_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/el_dashlet_mailquota.lng index 2c2b6cd7ae..0bea37b959 100644 --- a/interface/web/dashboard/lib/lang/el_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/el_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'ÎŒÏια Mailbox'; +$wb['email_txt'] = 'ΔιεÏθυνση Email'; +$wb['name_txt'] = 'Όνομα'; +$wb['used_txt'] = 'ΧώÏος σε χÏήση'; +$wb['quota_txt'] = 'ÎŒÏιο'; +$wb['no_email_accounts_txt'] = 'Δεν βÏÎθηκαν λογαÏιασμοί email.'; +?> diff --git a/interface/web/dashboard/lib/lang/el_dashlet_quota.lng b/interface/web/dashboard/lib/lang/el_dashlet_quota.lng index 8b2e3d43d0..d56647b7ed 100644 --- a/interface/web/dashboard/lib/lang/el_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/el_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'ÎŒÏια χÏήσης δίσκου για Website'; +$wb['domain_txt'] = 'Domain/Website'; +$wb['used_txt'] = 'ΧώÏος σε χÏήση'; +$wb['hard_txt'] = 'Απόλυτο ÎŒÏιο'; +$wb['soft_txt'] = 'Διαλακτικό ÎŒÏιο'; +$wb['no_sites_txt'] = 'Δεν βÏÎθηκαν websites.'; +?> diff --git a/interface/web/dashboard/lib/lang/es_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/es_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/es_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/es_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/es_dashlet_quota.lng b/interface/web/dashboard/lib/lang/es_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/es_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/es_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/fi_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/fi_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/fi_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/fi_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/fi_dashlet_quota.lng b/interface/web/dashboard/lib/lang/fi_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/fi_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/fi_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/fr_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/fr_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/fr_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/fr_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/fr_dashlet_quota.lng b/interface/web/dashboard/lib/lang/fr_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/fr_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/fr_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/hu_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/hu_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/hu_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/hu_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/hu_dashlet_quota.lng b/interface/web/dashboard/lib/lang/hu_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/hu_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/hu_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/id_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/id_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/id_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/id_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/id_dashlet_quota.lng b/interface/web/dashboard/lib/lang/id_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/id_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/id_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/it_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/it_dashlet_quota.lng b/interface/web/dashboard/lib/lang/it_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/it_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/it_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ja_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/ja_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/ja_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/ja_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ja_dashlet_quota.lng b/interface/web/dashboard/lib/lang/ja_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/ja_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/ja_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/nl_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/nl_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/nl_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/nl_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/nl_dashlet_quota.lng b/interface/web/dashboard/lib/lang/nl_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/nl_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/nl_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/pl_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/pl_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/pl_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/pl_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/pl_dashlet_quota.lng b/interface/web/dashboard/lib/lang/pl_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/pl_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/pl_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/pt_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/pt_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/pt_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/pt_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/pt_dashlet_quota.lng b/interface/web/dashboard/lib/lang/pt_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/pt_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/pt_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ro_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/ro_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/ro_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/ro_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ro_dashlet_quota.lng b/interface/web/dashboard/lib/lang/ro_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/ro_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/ro_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ru_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/ru_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/ru_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/ru_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/ru_dashlet_quota.lng b/interface/web/dashboard/lib/lang/ru_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/ru_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/ru_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/sk_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/sk_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/sk_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/sk_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/sk_dashlet_quota.lng b/interface/web/dashboard/lib/lang/sk_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/sk_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/sk_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/lib/lang/tr_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/tr_dashlet_mailquota.lng index 2c2b6cd7ae..1ab1e66658 100644 --- a/interface/web/dashboard/lib/lang/tr_dashlet_mailquota.lng +++ b/interface/web/dashboard/lib/lang/tr_dashlet_mailquota.lng @@ -1,8 +1,8 @@ <?php -$wb["mailquota_txt"] = 'Mailbox Quota'; -$wb["email_txt"] = 'Email Address'; -$wb["name_txt"] = 'Name'; -$wb["used_txt"] = 'Used Space'; -$wb["quota_txt"] = 'Quota'; -$wb["no_email_accounts_txt"] = 'No email accounts found.'; -?> \ No newline at end of file +$wb['mailquota_txt'] = 'Mailbox Quota'; +$wb['email_txt'] = 'Email Address'; +$wb['name_txt'] = 'Name'; +$wb['used_txt'] = 'Used Space'; +$wb['quota_txt'] = 'Quota'; +$wb['no_email_accounts_txt'] = 'No email accounts found.'; +?> diff --git a/interface/web/dashboard/lib/lang/tr_dashlet_quota.lng b/interface/web/dashboard/lib/lang/tr_dashlet_quota.lng index 8b2e3d43d0..de7b5a8936 100644 --- a/interface/web/dashboard/lib/lang/tr_dashlet_quota.lng +++ b/interface/web/dashboard/lib/lang/tr_dashlet_quota.lng @@ -1,8 +1,8 @@ <?php -$wb["quota_txt"] = 'Website Harddisk Quota'; -$wb["domain_txt"] = 'Domain / Website'; -$wb["used_txt"] = 'Used space'; -$wb["hard_txt"] = 'Hard limit'; -$wb["soft_txt"] = 'Soft limit'; -$wb["no_sites_txt"] = 'No web sites found.'; -?> \ No newline at end of file +$wb['quota_txt'] = 'Website Harddisk Quota'; +$wb['domain_txt'] = 'Domain / Website'; +$wb['used_txt'] = 'Used space'; +$wb['hard_txt'] = 'Hard limit'; +$wb['soft_txt'] = 'Soft limit'; +$wb['no_sites_txt'] = 'No web sites found.'; +?> diff --git a/interface/web/dashboard/list/empty.dir b/interface/web/dashboard/list/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/dashboard/list/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/designer/form/empty.dir b/interface/web/designer/form/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/designer/form/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/designer/lib/lang/cz.lng b/interface/web/designer/lib/lang/cz.lng index acb6c3546c..29f4a51efe 100644 --- a/interface/web/designer/lib/lang/cz.lng +++ b/interface/web/designer/lib/lang/cz.lng @@ -1,2 +1,3 @@ <?php ?> + diff --git a/interface/web/designer/lib/lang/cz_form_edit.lng b/interface/web/designer/lib/lang/cz_form_edit.lng index 75bf5a5606..00eeb204d0 100644 --- a/interface/web/designer/lib/lang/cz_form_edit.lng +++ b/interface/web/designer/lib/lang/cz_form_edit.lng @@ -22,3 +22,4 @@ $wb['auth_preset_perm_user_txt'] = 'Opr. Uživatel'; $wb['auth_preset_perm_group_txt'] = 'Opr. Skupina'; $wb['auth_preset_perm_other_txt'] = 'Opr. OstatnÃ'; ?> + diff --git a/interface/web/designer/lib/lang/cz_form_list.lng b/interface/web/designer/lib/lang/cz_form_list.lng index 1e677f2410..edaa422253 100644 --- a/interface/web/designer/lib/lang/cz_form_list.lng +++ b/interface/web/designer/lib/lang/cz_form_list.lng @@ -5,3 +5,4 @@ $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Titulek'; $wb['description_txt'] = 'Popis'; ?> + diff --git a/interface/web/designer/lib/lang/cz_form_show.lng b/interface/web/designer/lib/lang/cz_form_show.lng index 381414bdf0..678d5eb696 100644 --- a/interface/web/designer/lib/lang/cz_form_show.lng +++ b/interface/web/designer/lib/lang/cz_form_show.lng @@ -5,7 +5,7 @@ $wb['name_txt'] = 'Formname'; $wb['delete_txt'] = 'Smazat'; $wb['properties_txt'] = 'Properties'; $wb['new_tab_txt'] = 'Tab new'; -$wb['edit_txt'] = 'Edit'; +$wb['edit_txt'] = 'Upravit'; $wb['new_txt'] = 'Neu'; $wb['up_txt'] = '^'; $wb['down_txt'] = 'v'; @@ -16,3 +16,4 @@ $wb['module_del_txt'] = 'Delete the module and all subdirectories?'; $wb['menu_del_txt'] = 'Delete menu with all menuitems?'; $wb['item_del_txt'] = 'Delete menuitem?'; ?> + diff --git a/interface/web/designer/lib/lang/cz_module_edit.lng b/interface/web/designer/lib/lang/cz_module_edit.lng index 847896d302..cc83c99686 100644 --- a/interface/web/designer/lib/lang/cz_module_edit.lng +++ b/interface/web/designer/lib/lang/cz_module_edit.lng @@ -8,15 +8,5 @@ $wb['tab_width_txt'] = 'Å ÃÅ™ka záložky'; $wb['save_txt'] = 'Uložit'; $wb['cancel_txt'] = 'ZruÅ¡it'; $wb['header_txt'] = 'Vlastnosti modulu'; -$wb['description_txt'] = ' -<b>Popis</b> -<br><br> -<b>Název modulu:</b> Název adresáře modulu. Pouze ÄÃsla, znaky a podtržitko jsou povoleny.<br> -<b>Titulek modulu:</b> Bude zobrazen v hornà Äásti hlavnà navigace.<br> -<b>Soubor se Å¡ablonou:</b> Å ablonový soubor modulu. Nynà dostupné: module.tpl.htm a module_tree.tpl.htm.Výchozà je module.tpl.htm.<br> -<b>NaviFrame:</b> Pokud je vybrán module_tree.tpl.htm jako Å¡ablona, zadejte zde cestu ke skriptu pro levý frame.<br> -<b>Výchozà stránka:</b> Tato stránka bude ukázána, když je modul zobrazen.<br> -<b>Å ÃÅ™ka záložek:</b> Å ÃÅ™ka záložek v hlavnà navigaci. Pole je ve výchozÃm stavu prázdné. Můžete zadat absolutnà hodnotu v pixelech (napÅ™. 20) nebo relativnÄ› (napÅ™ 20%).<br> -<b>Rada:</b> VÅ¡echny cesty jsou relativnÄ› k adresáři web web. -'; ?> + diff --git a/interface/web/designer/lib/lang/cz_module_list.lng b/interface/web/designer/lib/lang/cz_module_list.lng index b568f69d63..6617c8c300 100644 --- a/interface/web/designer/lib/lang/cz_module_list.lng +++ b/interface/web/designer/lib/lang/cz_module_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Backend modul'; $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Titulek'; ?> + diff --git a/interface/web/designer/lib/lang/cz_module_nav_edit.lng b/interface/web/designer/lib/lang/cz_module_nav_edit.lng index 01f5df68fb..58d5773231 100644 --- a/interface/web/designer/lib/lang/cz_module_nav_edit.lng +++ b/interface/web/designer/lib/lang/cz_module_nav_edit.lng @@ -4,3 +4,4 @@ $wb['header_txt'] = 'Navi vlastnosti'; $wb['save_txt'] = 'Uložit'; $wb['cancel_txt'] = 'ZruÅ¡it'; ?> + diff --git a/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng b/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng index 17e31319d7..39aaae8c41 100644 --- a/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng +++ b/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng @@ -6,3 +6,4 @@ $wb['header_txt'] = 'Navi properties'; $wb['save_txt'] = 'Uložit'; $wb['cancel_txt'] = 'ZruÅ¡it'; ?> + diff --git a/interface/web/designer/lib/lang/cz_module_show.lng b/interface/web/designer/lib/lang/cz_module_show.lng index 95c2d85723..78fdd9cb1c 100644 --- a/interface/web/designer/lib/lang/cz_module_show.lng +++ b/interface/web/designer/lib/lang/cz_module_show.lng @@ -5,7 +5,7 @@ $wb['name_txt'] = 'Module'; $wb['delete_txt'] = 'Smazat'; $wb['properties_txt'] = 'Properties'; $wb['new_menu_txt'] = 'Menu new'; -$wb['edit_txt'] = 'Edit'; +$wb['edit_txt'] = 'Upravit'; $wb['new_txt'] = 'New'; $wb['up_txt'] = 'Up'; $wb['down_txt'] = 'Down'; @@ -14,3 +14,4 @@ $wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Datei $wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?'; $wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?'; ?> + diff --git a/interface/web/designer/lib/lang/de.lng b/interface/web/designer/lib/lang/de.lng index acb6c3546c..29f4a51efe 100644 --- a/interface/web/designer/lib/lang/de.lng +++ b/interface/web/designer/lib/lang/de.lng @@ -1,2 +1,3 @@ <?php ?> + diff --git a/interface/web/designer/lib/lang/de_form_edit.lng b/interface/web/designer/lib/lang/de_form_edit.lng index 74bf458d90..4eb8e93096 100644 --- a/interface/web/designer/lib/lang/de_form_edit.lng +++ b/interface/web/designer/lib/lang/de_form_edit.lng @@ -22,3 +22,4 @@ $wb['auth_preset_perm_user_txt'] = 'Benutzerberechtigungen'; $wb['auth_preset_perm_group_txt'] = 'Gruppenberechtigungen'; $wb['auth_preset_perm_other_txt'] = 'andere Berechtigungen'; ?> + diff --git a/interface/web/designer/lib/lang/de_form_list.lng b/interface/web/designer/lib/lang/de_form_list.lng index 998a64f702..853ce10003 100644 --- a/interface/web/designer/lib/lang/de_form_list.lng +++ b/interface/web/designer/lib/lang/de_form_list.lng @@ -5,3 +5,4 @@ $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Bezeichnung'; $wb['description_txt'] = 'Beschreibung'; ?> + diff --git a/interface/web/designer/lib/lang/de_form_show.lng b/interface/web/designer/lib/lang/de_form_show.lng index b19fd34457..c4b2c1d195 100644 --- a/interface/web/designer/lib/lang/de_form_show.lng +++ b/interface/web/designer/lib/lang/de_form_show.lng @@ -16,3 +16,4 @@ $wb['module_del_txt'] = 'Modul und alle Unterverzeichnisse löschen?'; $wb['menu_del_txt'] = 'Menü samt Menüeinträgen löschen?'; $wb['item_del_txt'] = 'Menüeintrag löschen?'; ?> + diff --git a/interface/web/designer/lib/lang/de_module_edit.lng b/interface/web/designer/lib/lang/de_module_edit.lng index 6eacd64b1d..09d9f390db 100644 --- a/interface/web/designer/lib/lang/de_module_edit.lng +++ b/interface/web/designer/lib/lang/de_module_edit.lng @@ -10,3 +10,4 @@ $wb['cancel_txt'] = 'Abbrechen'; $wb['header_txt'] = 'Moduleigenschaften'; $wb['description_txt'] = 'Beschreibung'; ?> + diff --git a/interface/web/designer/lib/lang/de_module_list.lng b/interface/web/designer/lib/lang/de_module_list.lng index 6040630203..a09b5139b5 100644 --- a/interface/web/designer/lib/lang/de_module_list.lng +++ b/interface/web/designer/lib/lang/de_module_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Backend Module'; $wb['module_txt'] = 'Modul'; $wb['title_txt'] = 'Bezeichnung'; ?> + diff --git a/interface/web/designer/lib/lang/de_module_nav_edit.lng b/interface/web/designer/lib/lang/de_module_nav_edit.lng index d5142f03cb..25e2085ccf 100644 --- a/interface/web/designer/lib/lang/de_module_nav_edit.lng +++ b/interface/web/designer/lib/lang/de_module_nav_edit.lng @@ -4,3 +4,4 @@ $wb['header_txt'] = 'Navigation Eigenschaften'; $wb['save_txt'] = 'Speichern'; $wb['cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng index 8c0c33c1a6..6353a73470 100644 --- a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng +++ b/interface/web/designer/lib/lang/de_module_nav_item_edit.lng @@ -6,3 +6,4 @@ $wb['header_txt'] = 'Navigation Eigenschaften'; $wb['save_txt'] = 'Speichern'; $wb['cancel_txt'] = 'Abbrechen'; ?> + diff --git a/interface/web/designer/lib/lang/de_module_show.lng b/interface/web/designer/lib/lang/de_module_show.lng index f4b2ad11f8..d0c4d4b413 100644 --- a/interface/web/designer/lib/lang/de_module_show.lng +++ b/interface/web/designer/lib/lang/de_module_show.lng @@ -14,3 +14,4 @@ $wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Datei $wb['menu_del_txt'] = 'Wollen Sie das Menü mit allen Untereinträgen löschen?'; $wb['item_del_txt'] = 'Wollen Sie den Menüeintrag löschen?'; ?> + diff --git a/interface/web/designer/lib/lang/el_form_edit.lng b/interface/web/designer/lib/lang/el_form_edit.lng index 04ebc02db3..2c2673a360 100644 --- a/interface/web/designer/lib/lang/el_form_edit.lng +++ b/interface/web/designer/lib/lang/el_form_edit.lng @@ -16,9 +16,9 @@ $wb['db_history_txt'] = 'ΙστοÏικό ΑναίÏεσης'; $wb['tab_default_txt'] = 'Î ÏοεπιλεγμÎνη ΚαÏÏ„Îλα'; $wb['list_default_txt'] = 'Î ÏοεπιλεγμÎνη Λίστα'; $wb['auth_txt'] = 'Δικαιώματα'; -$wb['auth_preset_userid_txt'] = 'UserID'; -$wb['auth_preset_groupid_txt'] = 'GroupID'; -$wb['auth_preset_perm_user_txt'] = 'Perm. User'; -$wb['auth_preset_perm_group_txt'] = 'Perm. Group'; -$wb['auth_preset_perm_other_txt'] = 'Perm. Other'; +$wb['auth_preset_userid_txt'] = 'ID ΧÏήστη'; +$wb['auth_preset_groupid_txt'] = 'ID Ομάδας'; +$wb['auth_preset_perm_user_txt'] = 'Δικαιώμ. ΧÏήστη'; +$wb['auth_preset_perm_group_txt'] = 'Δικαιώμ. Ομάδας'; +$wb['auth_preset_perm_other_txt'] = 'Δικαιώμ. Άλλων'; ?> diff --git a/interface/web/designer/list/empty.dir b/interface/web/designer/list/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/designer/list/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/dns/dns_dkim_edit.php b/interface/web/dns/dns_dkim_edit.php deleted file mode 100644 index 61b0bd7fb6..0000000000 --- a/interface/web/dns/dns_dkim_edit.php +++ /dev/null @@ -1,142 +0,0 @@ -<?php - -/* -Copyright (c) 2007, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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. -*/ - -/****************************************** -* Begin Form configuration -******************************************/ - -$tform_def_file = "form/dns_dkim.tform.php"; - -/****************************************** -* End Form configuration -******************************************/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); - -//* Check permissions for module -$app->auth->check_module_permissions('dns'); - -// Loading classes -$app->uses('tpl,tform,tform_actions,validate_dns'); -$app->load('tform_actions'); - -class page_action extends tform_actions { - - function onShowNew() { - global $app, $conf; - // we will check only users, not admins - if($_SESSION["s"]["user"]["typ"] == 'user') { - - // Get the limits of the client - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - - // Check if the user may add another record. - if($client["limit_dns_record"] >= 0) { - $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id"); - if($tmp["number"] >= $client["limit_dns_record"]) { - $app->error($app->tform->wordbook["limit_dns_record_txt"]); - } - } - } - - parent::onShowNew(); - } - - function onSubmit() { - global $app, $conf; - // Get the parent soa record of the domain - $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".$app->functions->intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r')); - // Check if Domain belongs to user - if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"]; - - // Check the client limits, if user is not the admin - if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin - // Get the limits of the client - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - // Check if the user may add another record. - if($this->id == 0 && $client["limit_dns_record"] >= 0) { - $tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id"); - if($tmp["number"] >= $client["limit_dns_record"]) { - $app->error($app->tform->wordbook["limit_dns_record_txt"]); - } - } - } // end if user is not admin - - // Set the server ID of the rr record to the same server ID as the parent record. - $this->dataRecord["server_id"] = $soa["server_id"]; - - // add dkim-settings to the public-key in the txt-record - $this->dataRecord['data']='v=DKIM1; t=s; p='.$this->dataRecord['data']; - $this->dataRecord['name']='default._domainkey.'.$this->dataRecord['name']; - - // Update the serial number and timestamp of the RR record - $soa = $app->db->queryOneRecord("SELECT serial FROM dns_rr WHERE id = ".$this->id); - $this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]); - $this->dataRecord["stamp"] = date('Y-m-d H:i:s'); - - // check for duplicate entry - $check=$app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = ".$this->dataRecord["zone"]." AND type = '".$this->dataRecord["type"]."' AND data ='".$this->dataRecord["data"]."' AND name = '".$this->dataRecord['name']."'"); - if ($check!='') $app->tform->errorMessage .= $app->tform->wordbook["record_exists_txt"]; - - parent::onSubmit(); - } - - function onAfterInsert() { - global $app, $conf; - - //* Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record - $soa = $app->db->queryOneRecord("SELECT sys_groupid,serial FROM dns_soa WHERE id = '".$app->functions->intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r')); - $app->db->datalogUpdate('dns_rr', "sys_groupid = ".$soa['sys_groupid'], 'id', $this->id); - - //* Update the serial number of the SOA record - $soa_id = $app->functions->intval($_POST["zone"]); - $serial = $app->validate_dns->increase_serial($soa["serial"]); - $app->db->datalogUpdate('dns_soa', "serial = $serial", 'id', $soa_id); - } - - function onAfterUpdate() { - global $app, $conf; - - //* Update the serial number of the SOA record - $soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".$app->functions->intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r')); - $soa_id = $app->functions->intval($_POST["zone"]); - $serial = $app->validate_dns->increase_serial($soa["serial"]); - $app->db->datalogUpdate('dns_soa', "serial = $serial", 'id', $soa_id); - } -} - -$page = new page_action; -$page->onLoad(); - -?> diff --git a/interface/web/dns/dns_dkim_get.php b/interface/web/dns/dns_dkim_get.php deleted file mode 100644 index 6b8b90b4c2..0000000000 --- a/interface/web/dns/dns_dkim_get.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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. -*/ - -/* - This script is invoked by interface/web/dns/templates/dns_dkim_edit.htm - when generating the DKIM Private-key. - - return DKIM Public-Key for the DNS-record -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); - -//* Check permissions for module -$app->auth->check_module_permissions('dns'); - -global $app, $conf; - -// Loading classes -$app->uses('tform,tform_actions'); - -header('Content-Type: text/xml; charset=utf-8'); -header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); - -/* - This function fix PHP's messing up POST input containing characters space, dot, - open square bracket and others to be compatible with with the deprecated register_globals -*/ -function getRealPOST() { - $pairs = explode("&", file_get_contents("php://input")); - $vars = array(); - foreach ($pairs as $pair) { - $nv = explode("=", $pair, 2); - $name = urldecode($nv[0]); - $value = $nv[1]; - $vars[$name] = $value; - } - return $vars; -} -function pub_key($pubkey) { - $public_key=''; - foreach($pubkey as $values) $public_key=$public_key.$values; - return $public_key; -} - -$_POST=getRealPost(); - -if (ctype_digit($_POST['zone'])) { - // Get the parent soa record of the domain - $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".$app->db->quote($_POST['zone'])."' AND ".$app->tform->getAuthSQL('r')); - - $public_key=$app->db->queryOneRecord("SELECT dkim_public FROM mail_domain WHERE domain = '".substr_replace($soa['origin'],'',-1)."' AND ".$app->tform->getAuthSQL('r')); - - $public_key=pub_key($public_key); - - $public_key=str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$public_key); - - echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; - echo "<formatname>\n"; - echo "<data>".$public_key."</data>\n"; - echo "<name>".$soa['origin']."</name>\n"; - echo "</formatname>\n"; -} -?> diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php index fb73e1a00e..ad26c431d1 100644 --- a/interface/web/dns/dns_wizard.php +++ b/interface/web/dns/dns_wizard.php @@ -132,6 +132,25 @@ if($_POST['create'] == 1) { $error = ''; + // apply filters + if(isset($_POST['domain']) && $_POST['domain'] != ''){ + $_POST['domain'] = $app->functions->idn_encode($_POST['domain']); + $_POST['domain'] = strtolower($_POST['domain']); + } + if(isset($_POST['ns1']) && $_POST['ns1'] != ''){ + $_POST['ns1'] = $app->functions->idn_encode($_POST['ns1']); + $_POST['ns1'] = strtolower($_POST['ns1']); + } + if(isset($_POST['ns2']) && $_POST['ns2'] != ''){ + $_POST['ns2'] = $app->functions->idn_encode($_POST['ns2']); + $_POST['ns2'] = strtolower($_POST['ns2']); + } + if(isset($_POST['email']) && $_POST['email'] != ''){ + $_POST['email'] = $app->functions->idn_encode($_POST['email']); + $_POST['email'] = strtolower($_POST['email']); + } + + if(isset($_POST['domain']) && $_POST['domain'] == '') $error .= $app->lng('error_domain_empty').'<br />'; elseif(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,30}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />'; @@ -173,20 +192,12 @@ if($_POST['create'] == 1) { $tpl_content = $template_record['template']; if($_POST['domain'] != '') $tpl_content = str_replace('{DOMAIN}',$_POST['domain'],$tpl_content); if($_POST['ip'] != '') $tpl_content = str_replace('{IP}',$_POST['ip'],$tpl_content); - if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content); - if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content); - if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content); - if(isset($_POST['dkim']) && preg_match('/^[\w\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) { - $public_key=$app->db->queryOneRecord("SELECT dkim_public FROM mail_domain WHERE domain = '".$app->db->quote($_POST['domain'])."' AND dkim = 'y' AND ".$app->tform->getAuthSQL('r')); - if ($public_key!='') { - $dns_record=str_replace(array("\r\n", "\n", "\r","-----BEGIN PUBLIC KEY-----","-----END PUBLIC KEY-----"),'',$public_key['dkim_public']); - $tpl_content = str_replace('{DKIM}','TXT|default._domainkey.'.$_POST['domain'].'.|v=DKIM1; t=s; p='.$dns_record,$tpl_content); - } - } - - - // Parse the template - $tpl_rows = explode("\n",$tpl_content); + if($_POST['ns1'] != '') $tpl_content = str_replace('{NS1}',$_POST['ns1'],$tpl_content); + if($_POST['ns2'] != '') $tpl_content = str_replace('{NS2}',$_POST['ns2'],$tpl_content); + if($_POST['email'] != '') $tpl_content = str_replace('{EMAIL}',$_POST['email'],$tpl_content); + + // Parse the template + $tpl_rows = explode("\n",$tpl_content); $section = ''; $vars = array(); $dns_rr = array(); @@ -281,7 +292,7 @@ include($lng_file); $app->tpl->setVar($wb); $app->tpl_defaults(); -$app->tpl->pparse(); - - -?> +$app->tpl->pparse(); + + +?> \ No newline at end of file diff --git a/interface/web/dns/form/dns_dkim.tform.php b/interface/web/dns/form/dns_dkim.tform.php deleted file mode 100644 index ffeee58bf6..0000000000 --- a/interface/web/dns/form/dns_dkim.tform.php +++ /dev/null @@ -1,154 +0,0 @@ -<?php - -/* - Form Definition - - Tabledefinition - - Datatypes: - - INTEGER (Forces the input to Int) - - DOUBLE - - CURRENCY (Formats the values to currency notation) - - VARCHAR (no format check, maxlength: 255) - - TEXT (no format check) - - DATE (Dateformat, automatic conversion to timestamps) - - Formtype: - - TEXT (Textfield) - - TEXTAREA (Textarea) - - PASSWORD (Password textfield, input is not shown when edited) - - SELECT (Select option field) - - RADIO - - CHECKBOX - - CHECKBOXARRAY - - FILE - - VALUE: - - Wert oder Array - - Hint: - The ID field of the database table is not part of the datafield definition. - The ID field must be always auto incement (int or bigint). - - -*/ -global $app; - -$form["title"] = "DNS DKIM Record"; -$form["description"] = ""; -$form["name"] = "dns_dkim"; -$form["action"] = "dns_dkim_edit.php"; -$form["db_table"] = "dns_rr"; -$form["db_table_idx"] = "id"; -$form["db_history"] = "yes"; -$form["tab_default"] = "dns"; -$form["list_default"] = "dns_a_list.php"; -$form["auth"] = 'yes'; // yes / no - -$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user -$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user -$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete -$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete - -$form["tabs"]['dns'] = array ( - 'title' => "DNS DKIM", - 'width' => 100, - 'template' => "templates/dns_dkim_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'server_id' => array ( - 'datatype' => 'INTEGER', - 'formtype' => 'SELECT', - 'default' => '', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'zone' => array ( - 'datatype' => 'INTEGER', - 'formtype' => 'TEXT', - 'default' => @$app->functions->intval($_REQUEST["zone"]), - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'name' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'filters' => array( 0 => array( 'event' => 'SAVE', - 'type' => 'IDNTOASCII'), - 1 => array( 'event' => 'SHOW', - 'type' => 'IDNTOUTF8'), - 2 => array( 'event' => 'SAVE', - 'type' => 'TOLOWER') - ), - 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^[\w\.\-]{0,255}$/', - 'errmsg'=> 'name_error_regex'), - ), - 'default' => '', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'type' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => 'TXT', - 'value' => '', - 'width' => '5', - 'maxlength' => '5' - ), - 'data' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', - 'errmsg'=> 'data_error_empty'), - ), - 'default' => '', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'ttl' => array ( - 'datatype' => 'INTEGER', - 'formtype' => 'TEXT', - 'default' => '86400', - 'value' => '', - 'width' => '10', - 'maxlength' => '10' - ), - 'active' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'Y', - 'value' => array(0 => 'N',1 => 'Y') - ), - 'stamp' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => '', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'serial' => array ( - 'datatype' => 'INTEGER', - 'formtype' => 'TEXT', - 'default' => '', - 'value' => '', - 'width' => '10', - 'maxlength' => '10' - ), - ################################## - # ENDE Datatable fields - ################################## - ) -); - - - -?> diff --git a/interface/web/dns/form/dns_rp.tform.php b/interface/web/dns/form/dns_rp.tform.php index f6a6ef5ee1..5a7ff8314a 100644 --- a/interface/web/dns/form/dns_rp.tform.php +++ b/interface/web/dns/form/dns_rp.tform.php @@ -75,16 +75,16 @@ $form["tabs"]['dns'] = array ( 'width' => '30', 'maxlength' => '255' ), - 'filters' => array( 0 => array( 'event' => 'SAVE', + 'name' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'filters' => array( 0 => array( 'event' => 'SAVE', 'type' => 'IDNTOASCII'), 1 => array( 'event' => 'SHOW', 'type' => 'IDNTOUTF8'), 2 => array( 'event' => 'SAVE', 'type' => 'TOLOWER') ), - 'name' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', 'regex' => '/^[\w\.\-]{0,255}$/', 'errmsg'=> 'name_error_regex'), diff --git a/interface/web/dns/form/dns_template.tform.php b/interface/web/dns/form/dns_template.tform.php index b676d1a1f1..1f020da04c 100644 --- a/interface/web/dns/form/dns_template.tform.php +++ b/interface/web/dns/form/dns_template.tform.php @@ -71,18 +71,13 @@ $form["tabs"]['template'] = array ( ), 'fields' => array ( 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOXARRAY', - 'default' => '', - 'separator' => ',', - 'value' => array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email', 'DKIM' => 'DKIM (use {DKIM}|0|3600 in your Template)'), - 'validators' => array ( 0 => array ('type' => 'CUSTOM', - 'class' => 'validate_dkim', - 'function' => 'check_template', - 'errmsg'=> 'dkim_domain_error'), - ), - ), - 'template' => array ( - 'datatype' => 'TEXT', + 'formtype' => 'CHECKBOXARRAY', + 'default' => '', + 'separator' => ',', + 'value' => array('DOMAIN' => 'Domain','IP' => 'IP Address','NS1' => 'NS 1','NS2' => 'NS 2','EMAIL' => 'Email') + ), + 'template' => array ( + 'datatype' => 'TEXT', 'formtype' => 'TEXTAREA', 'default' => '', 'value' => '', @@ -100,7 +95,7 @@ $form["tabs"]['template'] = array ( ################################## ) ); - - - -?> + + + +?> \ No newline at end of file diff --git a/interface/web/dns/lib/lang/cz.lng b/interface/web/dns/lib/lang/cz.lng index f143b0b922..126fb7ab99 100644 --- a/interface/web/dns/lib/lang/cz.lng +++ b/interface/web/dns/lib/lang/cz.lng @@ -20,3 +20,4 @@ $wb['Templates'] = 'Å ablony DNS'; $wb['Secondary Zones'] = 'Sekundárnà DNS zóny'; $wb['Import Zone File'] = 'Importovat vybraný DNS zonový soubor'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_a.lng b/interface/web/dns/lib/lang/cz_dns_a.lng index 8b8c206b63..4631836201 100644 --- a/interface/web/dns/lib/lang/cz_dns_a.lng +++ b/interface/web/dns/lib/lang/cz_dns_a.lng @@ -14,3 +14,4 @@ $wb['data_error_empty'] = 'IP adresa je prázdná'; $wb['data_error_regex'] = 'IP adresa má chybný formát'; $wb['data_error_duplicate'] = 'Duplikace A záznamu'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_a_list.lng b/interface/web/dns/lib/lang/cz_dns_a_list.lng index a61265a595..2fde7703c8 100644 --- a/interface/web/dns/lib/lang/cz_dns_a_list.lng +++ b/interface/web/dns/lib/lang/cz_dns_a_list.lng @@ -13,3 +13,4 @@ $wb['page_txt'] = 'Stránka'; $wb['page_of_txt'] = 'z'; $wb['delete_confirmation'] = 'SkuteÄnÄ› chcete smazat tento záznam ?'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_aaaa.lng b/interface/web/dns/lib/lang/cz_dns_aaaa.lng index 26c6ae9064..1936207d70 100644 --- a/interface/web/dns/lib/lang/cz_dns_aaaa.lng +++ b/interface/web/dns/lib/lang/cz_dns_aaaa.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'IP adresa je prázdná'; $wb['data_error_regex'] = 'IP adresa má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_alias.lng b/interface/web/dns/lib/lang/cz_dns_alias.lng index 572478a98b..a32def2ae1 100644 --- a/interface/web/dns/lib/lang/cz_dns_alias.lng +++ b/interface/web/dns/lib/lang/cz_dns_alias.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'CÃlový Hostname je prázdný'; $wb['data_error_regex'] = 'CÃlový Hostname má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_cname.lng b/interface/web/dns/lib/lang/cz_dns_cname.lng index 8494b7c293..3a7299a184 100644 --- a/interface/web/dns/lib/lang/cz_dns_cname.lng +++ b/interface/web/dns/lib/lang/cz_dns_cname.lng @@ -14,3 +14,4 @@ $wb['data_error_empty'] = 'CÃlový hostname je prázdný'; $wb['data_error_regex'] = 'CÃlový hostname má chybný formát'; $wb['data_error_duplicate'] = 'Duplikace A záznamu nebo CNAME-záznamu'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_hinfo.lng b/interface/web/dns/lib/lang/cz_dns_hinfo.lng index 5f67d5e826..636600ba22 100644 --- a/interface/web/dns/lib/lang/cz_dns_hinfo.lng +++ b/interface/web/dns/lib/lang/cz_dns_hinfo.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'Informace o hostovi je prázdná'; $wb['data_error_regex'] = 'Informace o hostovi má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_import.lng b/interface/web/dns/lib/lang/cz_dns_import.lng index 8b25ebac2d..7c6c887760 100644 --- a/interface/web/dns/lib/lang/cz_dns_import.lng +++ b/interface/web/dns/lib/lang/cz_dns_import.lng @@ -5,10 +5,11 @@ $wb['btn_save_txt'] = 'Importovat vybraný DNS zonový soubor'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; $wb['domain_txt'] = 'Doména'; $wb['zone_file_successfully_imported_txt'] = 'Zónový soubor byl úspěšnÄ› importován !'; -$wb['error_no_valid_zone_file_txt'] = 'This appears to be no valid zone file!'; +$wb['error_no_valid_zone_file_txt'] = 'Chyba, neplatný zónový soubor nebo jeho formát !'; $wb['zonefile_to_import_txt'] = 'Vybrat soubor s DNS zónou '; $wb['domain_field_desc_txt'] = 'Může být ponechána nevyplnÄ›ná, pokud je název domény názvem souboru nebo je v obsahu souboru s DNS zónou.'; $wb['title'] = 'Importovat soubory zón'; $wb['no_file_uploaded_error'] = 'Nelze odeslat DNS zonový soubor'; $wb['zone_file_import_txt'] = 'Importovat vybraný DNS zonový soubor'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_mx.lng b/interface/web/dns/lib/lang/cz_dns_mx.lng index 228d9d6cc6..49c98ead5d 100644 --- a/interface/web/dns/lib/lang/cz_dns_mx.lng +++ b/interface/web/dns/lib/lang/cz_dns_mx.lng @@ -13,5 +13,6 @@ $wb['name_error_empty'] = 'Hostname je prázdný.'; $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'Hostname e-mailového serveru je prázdný'; $wb['data_error_regex'] = 'Hostname e-mailového serveru má chybný formát'; -$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.'; +$wb['duplicate_mx_record_txt'] = 'Duplicitnà MX záznam.'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_ns.lng b/interface/web/dns/lib/lang/cz_dns_ns.lng index ba38e2a65e..73f897b683 100644 --- a/interface/web/dns/lib/lang/cz_dns_ns.lng +++ b/interface/web/dns/lib/lang/cz_dns_ns.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Zóna má chybný formát.'; $wb['data_error_empty'] = 'Jmenný server je prázdný'; $wb['data_error_regex'] = 'Jmenný server má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_ptr.lng b/interface/web/dns/lib/lang/cz_dns_ptr.lng index 9617ea5852..6124f30d30 100644 --- a/interface/web/dns/lib/lang/cz_dns_ptr.lng +++ b/interface/web/dns/lib/lang/cz_dns_ptr.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Název má chybný formát.'; $wb['data_error_empty'] = 'Kanonický hostname je prázdný'; $wb['data_error_regex'] = 'Kanonického hostname má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_rp.lng b/interface/web/dns/lib/lang/cz_dns_rp.lng index 8b1e7e442e..10218a7738 100644 --- a/interface/web/dns/lib/lang/cz_dns_rp.lng +++ b/interface/web/dns/lib/lang/cz_dns_rp.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'OdpovÄ›dná osoba je prázdná'; $wb['data_error_regex'] = 'OdpovÄ›dná osoba má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_slave.lng b/interface/web/dns/lib/lang/cz_dns_slave.lng index 16617f6c59..2870562a8c 100644 --- a/interface/web/dns/lib/lang/cz_dns_slave.lng +++ b/interface/web/dns/lib/lang/cz_dns_slave.lng @@ -15,3 +15,4 @@ $wb['eg_domain_tld'] = 'napÅ™. domena.cz'; $wb['ipv4_form_txt'] = 'IPV4 formát, napÅ™. 1.2.3.4'; $wb['secondary_zone_txt'] = 'Sekundárnà DNS zóna'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_slave_list.lng b/interface/web/dns/lib/lang/cz_dns_slave_list.lng index 1e0a3d0106..3f801f97b9 100644 --- a/interface/web/dns/lib/lang/cz_dns_slave_list.lng +++ b/interface/web/dns/lib/lang/cz_dns_slave_list.lng @@ -7,3 +7,4 @@ $wb['ns_txt'] = 'NS'; $wb['add_new_record_txt'] = 'PÅ™idat sekundárnà DNS zónu'; $wb['eg_domain_tld'] = 'napÅ™. domena.cz'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_soa.lng b/interface/web/dns/lib/lang/cz_dns_soa.lng index c98cb6d3bd..521ea3cef9 100644 --- a/interface/web/dns/lib/lang/cz_dns_soa.lng +++ b/interface/web/dns/lib/lang/cz_dns_soa.lng @@ -36,3 +36,4 @@ $wb['minimum_range_error'] = 'Minimálnà doba je 60 sekund.'; $wb['ttl_range_error'] = 'Min. TTL Äas je 60 sekund.'; $wb['xfer_error_regex'] = 'Také oznámÃ: ProsÃm, použijte IP adresu.'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_soa_list.lng b/interface/web/dns/lib/lang/cz_dns_soa_list.lng index beba8a22b2..05834d4933 100644 --- a/interface/web/dns/lib/lang/cz_dns_soa_list.lng +++ b/interface/web/dns/lib/lang/cz_dns_soa_list.lng @@ -8,3 +8,4 @@ $wb['mbox_txt'] = 'E-mail'; $wb['add_new_record_txt'] = 'PÅ™idat DNS zónu (SOA záznam)'; $wb['add_new_record_wizard_txt'] = 'PÅ™idat DNS zónu (dle Å¡ablony)'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_srv.lng b/interface/web/dns/lib/lang/cz_dns_srv.lng index 6b6708fc01..88b1fc1cbf 100644 --- a/interface/web/dns/lib/lang/cz_dns_srv.lng +++ b/interface/web/dns/lib/lang/cz_dns_srv.lng @@ -17,3 +17,4 @@ $wb['data_error_regex'] = 'Záznam serveru má chybný formát'; $wb['srv_error_regex'] = 'Neplatný formát záznamu serveru. Záznam serveru musàobsahovat 3 textové Å™etÄ›zce oddÄ›lené mezerami.'; $wb['aux_txt'] = 'Priority'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_template.lng b/interface/web/dns/lib/lang/cz_dns_template.lng index be4ac0e949..82e207a83f 100644 --- a/interface/web/dns/lib/lang/cz_dns_template.lng +++ b/interface/web/dns/lib/lang/cz_dns_template.lng @@ -4,3 +4,4 @@ $wb['fields_txt'] = 'Pole'; $wb['template_txt'] = 'Å ablona'; $wb['visible_txt'] = 'Viditelný'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_template_list.lng b/interface/web/dns/lib/lang/cz_dns_template_list.lng index bdd6e18204..10c3fcfabd 100644 --- a/interface/web/dns/lib/lang/cz_dns_template_list.lng +++ b/interface/web/dns/lib/lang/cz_dns_template_list.lng @@ -4,3 +4,4 @@ $wb['visible_txt'] = 'Viditelný'; $wb['name_txt'] = 'Název'; $wb['add_new_record_txt'] = 'PÅ™idat záznam'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_txt.lng b/interface/web/dns/lib/lang/cz_dns_txt.lng index 76047b0ceb..0c07487276 100644 --- a/interface/web/dns/lib/lang/cz_dns_txt.lng +++ b/interface/web/dns/lib/lang/cz_dns_txt.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Hostname má chybný formát.'; $wb['data_error_empty'] = 'Text je prázdný'; $wb['data_error_regex'] = 'Text má chybný formát'; ?> + diff --git a/interface/web/dns/lib/lang/cz_dns_wizard.lng b/interface/web/dns/lib/lang/cz_dns_wizard.lng index 1b2e5f7600..493d0bc54b 100644 --- a/interface/web/dns/lib/lang/cz_dns_wizard.lng +++ b/interface/web/dns/lib/lang/cz_dns_wizard.lng @@ -36,3 +36,4 @@ $wb['globalsearch_suggestions_text_txt'] = 'Návrhy'; $wb['list_head_txt'] = 'Průvodce vytvoÅ™enÃm DNS zóny'; $wb['list_desc_txt'] = 'VytvoÅ™enà DNS zóny pomocà průvodce'; ?> + diff --git a/interface/web/dns/lib/lang/de.lng b/interface/web/dns/lib/lang/de.lng index 822fcd6a79..65f6646fc4 100644 --- a/interface/web/dns/lib/lang/de.lng +++ b/interface/web/dns/lib/lang/de.lng @@ -20,3 +20,4 @@ $wb['Templates'] = 'Vorlagen'; $wb['Secondary Zones'] = 'Slave DNS-Zonen'; $wb['Import Zone File'] = 'Zonen-Datei-Import'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_a.lng b/interface/web/dns/lib/lang/de_dns_a.lng index 409864981a..dd809c3925 100644 --- a/interface/web/dns/lib/lang/de_dns_a.lng +++ b/interface/web/dns/lib/lang/de_dns_a.lng @@ -14,3 +14,4 @@ $wb['data_error_empty'] = 'IPv4 Adresse ist leer'; $wb['data_error_regex'] = 'IPv4 Adressen Format ist ungültig'; $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_a_list.lng b/interface/web/dns/lib/lang/de_dns_a_list.lng index 6e8f19509f..0fc4419925 100644 --- a/interface/web/dns/lib/lang/de_dns_a_list.lng +++ b/interface/web/dns/lib/lang/de_dns_a_list.lng @@ -13,3 +13,4 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Wollen Sie den Datensatz wirklich löschen?'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_aaaa.lng b/interface/web/dns/lib/lang/de_dns_aaaa.lng index 854d623cff..c2d0e35f51 100644 --- a/interface/web/dns/lib/lang/de_dns_aaaa.lng +++ b/interface/web/dns/lib/lang/de_dns_aaaa.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'IPv6 Adresse ist leer'; $wb['data_error_regex'] = 'IPv6 Adressen Format ist ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_alias.lng b/interface/web/dns/lib/lang/de_dns_alias.lng index e950909bb2..48da14fcfe 100644 --- a/interface/web/dns/lib/lang/de_dns_alias.lng +++ b/interface/web/dns/lib/lang/de_dns_alias.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.'; $wb['data_error_empty'] = 'Ziel Hostname ist leer'; $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_cname.lng b/interface/web/dns/lib/lang/de_dns_cname.lng index a074194853..48efdef90a 100644 --- a/interface/web/dns/lib/lang/de_dns_cname.lng +++ b/interface/web/dns/lib/lang/de_dns_cname.lng @@ -14,3 +14,4 @@ $wb['data_error_empty'] = 'Ziel Hostname ist leer'; $wb['data_error_regex'] = 'Ziel Hostname Format ist ungültig'; $wb['data_error_duplicate'] = 'Doppelter A oder CNAME Eintrag'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_hinfo.lng b/interface/web/dns/lib/lang/de_dns_hinfo.lng index 5fb182c982..e0393c6be5 100644 --- a/interface/web/dns/lib/lang/de_dns_hinfo.lng +++ b/interface/web/dns/lib/lang/de_dns_hinfo.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Hostname hat ein falsches Format.'; $wb['data_error_empty'] = 'Host Information ist leer'; $wb['data_error_regex'] = 'Host Information Format ist ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_import.lng b/interface/web/dns/lib/lang/de_dns_import.lng index 183809de66..e6ca3bb06c 100644 --- a/interface/web/dns/lib/lang/de_dns_import.lng +++ b/interface/web/dns/lib/lang/de_dns_import.lng @@ -12,3 +12,4 @@ $wb['domain_field_desc_txt'] = 'Kann freigelassen werden, falls der Dateiname od $wb['title'] = 'Zonen Datei importieren'; $wb['no_file_uploaded_error'] = 'Keine Datei hochgeladen'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_mx.lng b/interface/web/dns/lib/lang/de_dns_mx.lng index 4920806ad5..63f99c680e 100644 --- a/interface/web/dns/lib/lang/de_dns_mx.lng +++ b/interface/web/dns/lib/lang/de_dns_mx.lng @@ -15,3 +15,4 @@ $wb['data_error_empty'] = 'Mailserver Hostname ist leer'; $wb['data_error_regex'] = 'Mailserver Hostname Format ist ungültig'; $wb['duplicate_mx_record_txt'] = 'Doppelter MX-Eintrag.'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_ns.lng b/interface/web/dns/lib/lang/de_dns_ns.lng index 01662d2f8a..0f61c16938 100644 --- a/interface/web/dns/lib/lang/de_dns_ns.lng +++ b/interface/web/dns/lib/lang/de_dns_ns.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Die Zone hat ein falsches Format.'; $wb['data_error_empty'] = 'Nameserver ist leer.'; $wb['data_error_regex'] = 'Nameserver Format ist ungültig.'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_ptr.lng b/interface/web/dns/lib/lang/de_dns_ptr.lng index 020c7a3286..5ff80e3221 100644 --- a/interface/web/dns/lib/lang/de_dns_ptr.lng +++ b/interface/web/dns/lib/lang/de_dns_ptr.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Name hat das falsche Format.'; $wb['data_error_empty'] = 'Kanonischer Hostname ist leer'; $wb['data_error_regex'] = 'Kanonischer Hostname Format ist ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_rp.lng b/interface/web/dns/lib/lang/de_dns_rp.lng index 8a398d4830..e7cd528500 100644 --- a/interface/web/dns/lib/lang/de_dns_rp.lng +++ b/interface/web/dns/lib/lang/de_dns_rp.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'Kontaktperson Feld leer'; $wb['data_error_regex'] = 'Kontaktperson Format ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_slave.lng b/interface/web/dns/lib/lang/de_dns_slave.lng index 1b58088317..de3411ffa2 100644 --- a/interface/web/dns/lib/lang/de_dns_slave.lng +++ b/interface/web/dns/lib/lang/de_dns_slave.lng @@ -15,3 +15,4 @@ $wb['ns_error_regex'] = 'NS hat ein ungültiges Format.'; $wb['eg_domain_tld'] = 'Format: domain.tld.'; $wb['ipv4_form_txt'] = 'IPv4 Format: 1.2.3.4'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_slave_list.lng b/interface/web/dns/lib/lang/de_dns_slave_list.lng index dc60207d98..50b83693e7 100644 --- a/interface/web/dns/lib/lang/de_dns_slave_list.lng +++ b/interface/web/dns/lib/lang/de_dns_slave_list.lng @@ -7,3 +7,4 @@ $wb['ns_txt'] = 'NS'; $wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen'; $wb['eg_domain_tld'] = 'Format: domain.tld.'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_soa.lng b/interface/web/dns/lib/lang/de_dns_soa.lng index 8ff7141440..41570e2f09 100644 --- a/interface/web/dns/lib/lang/de_dns_soa.lng +++ b/interface/web/dns/lib/lang/de_dns_soa.lng @@ -36,3 +36,4 @@ $wb['minimum_range_error'] = 'Min. Minimum ist 60 Sekunden.'; $wb['ttl_range_error'] = 'Min. TTL ist 60 Sekunden.'; $wb['xfer_error_regex'] = 'Bitte Beachten: Verwenden Sie eine IP Adresse.'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_soa_list.lng b/interface/web/dns/lib/lang/de_dns_soa_list.lng index 8281fbd222..a6df1ee4d2 100644 --- a/interface/web/dns/lib/lang/de_dns_soa_list.lng +++ b/interface/web/dns/lib/lang/de_dns_soa_list.lng @@ -8,3 +8,4 @@ $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'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_srv.lng b/interface/web/dns/lib/lang/de_dns_srv.lng index 91eba844a2..7dbeb8e812 100644 --- a/interface/web/dns/lib/lang/de_dns_srv.lng +++ b/interface/web/dns/lib/lang/de_dns_srv.lng @@ -17,3 +17,4 @@ $wb['data_error_regex'] = 'Servereintrag-Format ungültig'; $wb['srv_error_regex'] = 'Ungültiges Server Record Format. Der ServerRecord muss 3 Text Strings getrennt durch Leerzeichen beinhalten.'; $wb['aux_txt'] = 'Priorität'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_template.lng b/interface/web/dns/lib/lang/de_dns_template.lng index 33d1090cba..77cf996184 100644 --- a/interface/web/dns/lib/lang/de_dns_template.lng +++ b/interface/web/dns/lib/lang/de_dns_template.lng @@ -4,3 +4,4 @@ $wb['fields_txt'] = 'Felder'; $wb['template_txt'] = 'Vorlage'; $wb['visible_txt'] = 'Sichtbar'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_template_list.lng b/interface/web/dns/lib/lang/de_dns_template_list.lng index a0f2d9a7d9..3557292fa3 100644 --- a/interface/web/dns/lib/lang/de_dns_template_list.lng +++ b/interface/web/dns/lib/lang/de_dns_template_list.lng @@ -4,3 +4,4 @@ $wb['visible_txt'] = 'Sichtbar'; $wb['name_txt'] = 'Name'; $wb['add_new_record_txt'] = 'Neuen Eintrag hinzufügen'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_txt.lng b/interface/web/dns/lib/lang/de_dns_txt.lng index c0638679a8..39a5dbfeb9 100644 --- a/interface/web/dns/lib/lang/de_dns_txt.lng +++ b/interface/web/dns/lib/lang/de_dns_txt.lng @@ -13,3 +13,4 @@ $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; $wb['data_error_empty'] = 'Text ist leer'; $wb['data_error_regex'] = 'Textformat ungültig'; ?> + diff --git a/interface/web/dns/lib/lang/de_dns_wizard.lng b/interface/web/dns/lib/lang/de_dns_wizard.lng index bb90167b2c..3b247b1ce5 100644 --- a/interface/web/dns/lib/lang/de_dns_wizard.lng +++ b/interface/web/dns/lib/lang/de_dns_wizard.lng @@ -36,3 +36,4 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> + diff --git a/interface/web/dns/lib/lang/el.lng b/interface/web/dns/lib/lang/el.lng index f76afed784..3b3bfe84a7 100644 --- a/interface/web/dns/lib/lang/el.lng +++ b/interface/web/dns/lib/lang/el.lng @@ -17,6 +17,6 @@ $wb['DNS TXT'] = 'DNS TXT'; $wb['DNS Wizard'] = 'Οδηγός DNS'; $wb['Add DNS Zone'] = 'ÎÎα ζώνη DNS'; $wb['Templates'] = 'Î Ïότυπα'; -$wb['Secondary Zones'] = 'Secondary Zones'; -$wb['Import Zone File'] = 'Import Zone File'; +$wb['Secondary Zones'] = 'ΔευτεÏεÏουσες Ζώνες'; +$wb['Import Zone File'] = 'Εισαγωγή ΑÏχείου Ζώνης'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_alias.lng b/interface/web/dns/lib/lang/el_dns_alias.lng index 9d29354028..2ca9f3b488 100644 --- a/interface/web/dns/lib/lang/el_dns_alias.lng +++ b/interface/web/dns/lib/lang/el_dns_alias.lng @@ -11,5 +11,5 @@ $wb['no_zone_perm'] = 'Δεν Îχετε δικαίωμα να Ï€ÏοσθÎσε $wb['name_error_empty'] = 'Το hostname δεν Îχει οÏιστεί'; $wb['name_error_regex'] = 'Το hostname Îχει λάθος μοÏφοποίηση'; $wb['data_error_empty'] = 'Το hostname Î ÏοοÏισμός δεν Îχει οÏιστεί'; -$wb['data_error_regex'] = 'Το hostname Î ÏοοÏισμός Îχει λάθος μοÏφοποίηση'; +$wb['data_error_regex'] = 'Το hostname Î ÏοοÏισμός δεν Îχει σωστή μοÏφοποίηση'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_hinfo.lng b/interface/web/dns/lib/lang/el_dns_hinfo.lng index 457213e60f..f725ddc8bd 100644 --- a/interface/web/dns/lib/lang/el_dns_hinfo.lng +++ b/interface/web/dns/lib/lang/el_dns_hinfo.lng @@ -11,5 +11,5 @@ $wb['no_zone_perm'] = 'Δεν Îχετε δικαίωμα να Ï€ÏοσθÎσε $wb['name_error_empty'] = 'Το hostname δεν Îχει οÏιστεί'; $wb['name_error_regex'] = 'Το hostname δεν Îχει σωστή μοÏφοποίηση'; $wb['data_error_empty'] = 'Οι πληÏοφοÏίες του Host είναι κενÎÏ‚'; -$wb['data_error_regex'] = 'Οι πληÏοφοÏίες Host Îχουν μη ÎγκυÏη μοÏφοποίηση'; +$wb['data_error_regex'] = 'Οι πληÏοφοÏίες Host δεν Îχουν ÎγκυÏη μοÏφοποίηση'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_import.lng b/interface/web/dns/lib/lang/el_dns_import.lng index 2d1fe083ea..84608d1950 100644 --- a/interface/web/dns/lib/lang/el_dns_import.lng +++ b/interface/web/dns/lib/lang/el_dns_import.lng @@ -1,14 +1,14 @@ <?php $wb['server_id_txt'] = 'Server'; -$wb['client_txt'] = 'Client'; -$wb['btn_save_txt'] = 'Import Zonefile'; -$wb['btn_cancel_txt'] = 'Cancel'; +$wb['client_txt'] = 'Πελάτης'; +$wb['btn_save_txt'] = 'Εισαγωγή ΑÏχείου Ζώνης'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; $wb['domain_txt'] = 'Domain'; -$wb['zone_file_successfully_imported_txt'] = 'The zone file has successfully been imported!'; -$wb['error_no_valid_zone_file_txt'] = 'This appears to be no valid zone file!'; -$wb['zonefile_to_import_txt'] = 'Zone File'; -$wb['domain_field_desc_txt'] = 'Can be left empty if domain name is in the filename or the zone-file content.'; -$wb['title'] = 'Import Zone Files'; -$wb['no_file_uploaded_error'] = 'No zonefile uploaded'; -$wb['zone_file_import_txt'] = 'Zone File Import'; +$wb['zone_file_successfully_imported_txt'] = 'Το αÏχείο ζώνης Îχει εισαχθεί με επιτυχία!'; +$wb['error_no_valid_zone_file_txt'] = 'Φαίνεται ότι το αÏχείο ζώνης δεν είναι ÎγκυÏο!'; +$wb['zonefile_to_import_txt'] = 'ΑÏχείο Ζώνης'; +$wb['domain_field_desc_txt'] = 'ΜποÏεί να μείνει κενό αν το όνομα domain είναι στο όνομα αÏχείου λη στα πεÏιεχόμενά του.'; +$wb['title'] = 'Εισαγωγή ΑÏχείων Ζώνης'; +$wb['no_file_uploaded_error'] = 'Δεν μεταφοÏτώθηκε αÏχείο ζώνης'; +$wb['zone_file_import_txt'] = 'Εισαγωγή ΑÏχείου Ζώνης'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_mx.lng b/interface/web/dns/lib/lang/el_dns_mx.lng index 37c967bda4..4e779c47ef 100644 --- a/interface/web/dns/lib/lang/el_dns_mx.lng +++ b/interface/web/dns/lib/lang/el_dns_mx.lng @@ -13,5 +13,5 @@ $wb['name_error_empty'] = 'Το hostname δεν Îχει οÏιστεί.'; $wb['name_error_regex'] = 'Το hostname δεν Îχει σωστή μοÏφοποίηση.'; $wb['data_error_empty'] = 'Το hostname Mailserver δεν Îχει οÏιστεί'; $wb['data_error_regex'] = 'Mailserver hostname με μη ÎγκυÏη μοÏφοποίηση'; -$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.'; +$wb['duplicate_mx_record_txt'] = 'ΔιπλοεγγÏαφή MX.'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_slave.lng b/interface/web/dns/lib/lang/el_dns_slave.lng index 64db9755e8..979c4668f2 100644 --- a/interface/web/dns/lib/lang/el_dns_slave.lng +++ b/interface/web/dns/lib/lang/el_dns_slave.lng @@ -13,5 +13,5 @@ $wb['origin_error_regex'] = 'Η ζώνη δεν Îχει ÎγκυÏη μοÏφο $wb['ns_error_regex'] = 'Ο NS δεν Îχει ÎγκυÏη μοÏφοποίηση.'; $wb['eg_domain_tld'] = 'Ï€.χ. domain.tld.'; $wb['ipv4_form_txt'] = 'μοÏφή IPv4 - Ï€.χ. 1.2.3.4'; -$wb['secondary_zone_txt'] = 'Secondary DNS Zone'; +$wb['secondary_zone_txt'] = 'ΔευτεÏεÏουσα Ζώνη DNS'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_soa.lng b/interface/web/dns/lib/lang/el_dns_soa.lng index 87d5fc7ec5..045270a366 100644 --- a/interface/web/dns/lib/lang/el_dns_soa.lng +++ b/interface/web/dns/lib/lang/el_dns_soa.lng @@ -28,11 +28,11 @@ $wb['seconds_txt'] = 'ΔευτεÏόλεπτα'; $wb['eg_domain_tld'] = 'Ï€.χ. domain.tld'; $wb['eg_ns1_domain_tld'] = 'Ï€.χ. ns1.domain.tld'; $wb['eg_webmaster_domain_tld'] = 'Ï€.χ. webmaster@domain.tld'; -$wb['The Domain can not be changed. Please ask your Administrator if you want to change the domain name.'] = 'The Domain can not be changed. Please ask your Administrator if you want to change the domain name.'; -$wb['refresh_range_error'] = 'Min. Refresh time is 60 seconds.'; -$wb['retry_range_error'] = 'Min. Retry time is 60 seconds.'; -$wb['expire_range_error'] = 'Min. Expire time is 60 seconds.'; -$wb['minimum_range_error'] = 'Min. Minimum time is 60 seconds.'; -$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; -$wb['xfer_error_regex'] = 'Also notify: Please use an IP address.'; +$wb['The Domain can not be changed. Please ask your Administrator if you want to change the domain name.'] = 'Το Domain Δεν μποÏεί να αλλαχθεί. ΠαÏακαλοÏμε επικοινωνήστε με τον ΔιαχειÏιστή σας αν θÎλετε να γίνει η αλλαγή του ονόματος.'; +$wb['refresh_range_error'] = 'Ελάχιστος χÏόνος ΑνανÎωσης είναι τα 60 δευτεÏόλεπτα.'; +$wb['retry_range_error'] = 'Ελάχιστος χÏόνος Επανάληψης είναι τα 60 δευτεÏόλεπτα.'; +$wb['expire_range_error'] = 'Ελάχιστος χÏόνος Λήξης είναι τα 60 δευτεÏόλεπτα.'; +$wb['minimum_range_error'] = 'Ελάχιστος χÏόνος Ελαχίστου είναι τα 60 δευτεÏόλεπτα.'; +$wb['ttl_range_error'] = 'Ελάχιστος χÏόνος TTL είναι τα 60 δευτεÏόλεπτα.'; +$wb['xfer_error_regex'] = 'ΕπιπλÎον Ειδοποίηση: ΠαÏακαλοÏμε χÏησιμοποιείστε μια διεÏθυσνη IP.'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_srv.lng b/interface/web/dns/lib/lang/el_dns_srv.lng index 4452d6bfc4..53dc3dd2d7 100644 --- a/interface/web/dns/lib/lang/el_dns_srv.lng +++ b/interface/web/dns/lib/lang/el_dns_srv.lng @@ -1,19 +1,19 @@ <?php $wb['server_id_txt'] = 'Server'; -$wb['zone_txt'] = 'ΖÎνη'; +$wb['zone_txt'] = 'Ζώνη'; $wb['name_txt'] = 'Hostname'; -$wb['type_txt'] = 'ÄÃ�ÀοÂ'; -$wb['target_txt'] = 'Target'; -$wb['weight_txt'] = 'Weight'; -$wb['port_txt'] = 'Port'; +$wb['type_txt'] = 'Ï„Ïπος'; +$wb['target_txt'] = 'Στόχος'; +$wb['weight_txt'] = 'ΒάÏος'; +$wb['port_txt'] = 'ΘÏÏα'; $wb['ttl_txt'] = 'TTL'; -$wb['active_txt'] = 'ΕνεÃ�γή'; -$wb['aux_txt'] = 'ÃŽÂ Ã�οÄεÃ�αιÃ΀ηÄα'; -$wb['limit_dns_record_txt'] = 'ΈÃ‡ÎµÃ„ε ÆÄάÃει Äο μÎÂγιÃĀο Àλήθο ÄÉν εγγÃ�αÆÎν DNS για Äον λογαÃ�ιαÃμÃÅ’ ÃαÂ.'; -$wb['no_zone_perm'] = 'ÃŽâ€ÃŽÂµÃŽÂ½ ÃŽÂÇεÄε δικαίÉμα να ÀÃ�οÃθÎÂÃεÄε εγγÃ�αÆΠÃε αÃ…Ã„ή Ã„η ζÎνη.'; -$wb['name_error_empty'] = 'Το hostname δεν ÃŽÂÇει οÃ�ιÃĀεί.'; -$wb['name_error_regex'] = 'Το hostname δεν ÃŽÂÇει ÃăÃÆ’Ã„ή μοÃ�ÆοÀοίηÃη.'; -$wb['data_error_empty'] = 'Η εγγÃ�αÆή Server είναι κενή'; -$wb['data_error_regex'] = 'ΕγγÃ�αÆή Server με μη ÃŽÂγκÃ…Ã�η μοÃ�ÆοÀοίηÃη'; -$wb['srv_error_regex'] = 'ΕγγÃ�αÆή Server με μη ÃŽÂγκÃ…Ã�η μοÃ�ÆοÀοίηÃη. Η εγγÃ�αÆή Server ÀÃ�ÎÂÀει να ÀεÃ�ιÎÂÇει 3 λÎÂξει ÇÉÃ�ιÃμÎÂνε με κενά.'; +$wb['active_txt'] = 'ΕνεÏγή'; +$wb['aux_txt'] = 'Î ÏοτεÏεότητα'; +$wb['limit_dns_record_txt'] = 'Έχετε φτάσει στο μÎγιστο πλήθος εγγÏαφών DNS για τον λογιαÏιασμό σας.'; +$wb['no_zone_perm'] = 'Δεν Îχετε δικαίωμα να Ï€ÏοσθÎσετε εγγÏαφÎÏ‚ σε αυτή την ζώνη DNS.'; +$wb['name_error_empty'] = 'Το hostname είναι άδειο.'; +$wb['name_error_regex'] = 'Το hostname δεν Îχει ÎγκυÏη μοÏφοποίηση.'; +$wb['data_error_empty'] = 'Άδεια εγγÏαφή Server'; +$wb['data_error_regex'] = 'Η εγγÏαφή Server δεν Îχει ÎγκυÏη μοÏφοποίηση'; +$wb['srv_error_regex'] = 'Μη ÎγκυÏη μοÏφοποίηση εγγÏαφής Server. Η εγγÏαφή Server Ï€ÏÎπει να πεÏιÎχει 3 κομμάτια χαÏακτήÏων χωÏισμÎνα με κενά.'; ?> diff --git a/interface/web/dns/lib/lang/el_dns_wizard.lng b/interface/web/dns/lib/lang/el_dns_wizard.lng index 764e4fafa5..0c59b252fc 100644 --- a/interface/web/dns/lib/lang/el_dns_wizard.lng +++ b/interface/web/dns/lib/lang/el_dns_wizard.lng @@ -26,13 +26,13 @@ $wb['error_domain_regex'] = 'Το Domain πεÏιÎχει μη επιτÏεπό $wb['error_ns1_regex'] = 'Ο NS1 πεÏιÎχει μη επιτÏεπόμενους χαÏακτήÏες'; $wb['error_ns2_regex'] = 'Ο NS2 πεÏιÎχει μη επιτÏεπόμενους χαÏακτήÏες'; $wb['error_email_regex'] = 'Το Email δεν πεÏιÎχει μια ÎγκυÏη διεÏθυνση.'; -$wb['dns_zone_txt'] = 'DNS Zone'; -$wb['globalsearch_resultslimit_of_txt'] = 'of'; -$wb['globalsearch_resultslimit_results_txt'] = 'results'; -$wb['globalsearch_noresults_text_txt'] = 'No results.'; -$wb['globalsearch_noresults_limit_txt'] = '0 results'; -$wb['globalsearch_searchfield_watermark_txt'] = 'Search'; -$wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; -$wb['list_head_txt'] = 'DNS Zone Wizard'; -$wb['list_desc_txt'] = 'Create a DNS Zone via a wizard'; +$wb['dns_zone_txt'] = 'Ζώνη DNS'; +$wb['globalsearch_resultslimit_of_txt'] = 'από'; +$wb['globalsearch_resultslimit_results_txt'] = 'αποτελÎσματα'; +$wb['globalsearch_noresults_text_txt'] = 'Δεν υπάÏχουν αποτελÎσματα.'; +$wb['globalsearch_noresults_limit_txt'] = '0 αποτελÎσματα'; +$wb['globalsearch_searchfield_watermark_txt'] = 'Αναζήτηση'; +$wb['globalsearch_suggestions_text_txt'] = 'Î Ïοτάσεις'; +$wb['list_head_txt'] = 'Οδηγός Ζώνης DNS'; +$wb['list_desc_txt'] = 'ΔημιουÏγία Ζώνης DNS Zone μÎσω ΟδηγοÏ'; ?> diff --git a/interface/web/dns/lib/lang/en_dns_dkim.lng b/interface/web/dns/lib/lang/en_dns_dkim.lng deleted file mode 100644 index 526257e909..0000000000 --- a/interface/web/dns/lib/lang/en_dns_dkim.lng +++ /dev/null @@ -1,8 +0,0 @@ -<?php -$wb["public_key_txt"] = 'Public-Key'; -$wb["ttl_txt"] = 'TTL'; -$wb["active_txt"] = 'Active'; -$wb["record_exists_txt"] = 'DNS-Record already exists'; -$wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.'; -$wb["no_zone_perm"] = 'You do not have the permission to add a record to this DNS zone.'; -?> diff --git a/interface/web/dns/lib/lang/en_dns_wizard.lng b/interface/web/dns/lib/lang/en_dns_wizard.lng index 8759159a82..f7057b45c7 100644 --- a/interface/web/dns/lib/lang/en_dns_wizard.lng +++ b/interface/web/dns/lib/lang/en_dns_wizard.lng @@ -6,13 +6,12 @@ $wb['template_id_txt'] = 'Template'; $wb['server_id_txt'] = 'Server'; $wb['client_txt'] = 'Client'; $wb["btn_save_txt"] = 'Create DNS-Record'; -$wb["btn_cancel_txt"] = 'Cancel'; -$wb['domain_txt'] = 'Domain'; -$wb['email_txt'] = 'Email'; -$wb['dkim_txt'] = 'DKIM enabled'; -$wb['ns1_txt'] = 'NS 1'; -$wb['ns2_txt'] = 'NS 2'; -$wb['ip_txt'] = 'IP Address'; +$wb["btn_cancel_txt"] = 'Cancel'; +$wb['domain_txt'] = 'Domain'; +$wb['email_txt'] = 'Email'; +$wb['ns1_txt'] = 'NS 1'; +$wb['ns2_txt'] = 'NS 2'; +$wb['ip_txt'] = 'IP Address'; $wb['error_origin_empty'] = 'Origin empty.'; $wb['error_ns_empty'] = 'NS empty.'; $wb['error_mbox_empty'] = 'Mbox empty.'; @@ -33,7 +32,7 @@ $wb['error_email_regex'] = 'Email does not contain a valid email address.'; $wb['globalsearch_resultslimit_of_txt'] = "of"; $wb['globalsearch_resultslimit_results_txt'] = "results"; $wb['globalsearch_noresults_text_txt'] = "No results."; -$wb['globalsearch_noresults_limit_txt'] = "0 results"; -$wb['globalsearch_searchfield_watermark_txt'] = "Search"; -$wb['globalsearch_suggestions_text_txt'] = "Suggestions"; -?> +$wb['globalsearch_noresults_limit_txt'] = "0 results"; +$wb['globalsearch_searchfield_watermark_txt'] = "Search"; +$wb['globalsearch_suggestions_text_txt'] = "Suggestions"; +?> \ No newline at end of file diff --git a/interface/web/dns/templates/dns_a_list.htm b/interface/web/dns/templates/dns_a_list.htm index 06c3f941e5..549f0c345a 100644 --- a/interface/web/dns/templates/dns_a_list.htm +++ b/interface/web/dns/templates/dns_a_list.htm @@ -18,13 +18,12 @@ <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend> <div class="buttons topbuttons"> <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_a_edit.php?zone={tmpl_var name='parent_id'}');"><span>A</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_aaaa_edit.php?zone={tmpl_var name='parent_id'}');"><span>AAAA</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');"><span>ALIAS</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');"><span>CNAME</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_dkim_edit.php?zone={tmpl_var name='parent_id'}');"><span>DKIM</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');"><span>HINFO</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');"><span>MX</span></button> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');"><span>NS</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_aaaa_edit.php?zone={tmpl_var name='parent_id'}');"><span>AAAA</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');"><span>ALIAS</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');"><span>CNAME</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');"><span>HINFO</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');"><span>MX</span></button> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');"><span>NS</span></button> <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}');"><span>PTR</span></button> <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_rp_edit.php?zone={tmpl_var name='parent_id'}');"><span>RP</span></button> <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_srv_edit.php?zone={tmpl_var name='parent_id'}');"><span>SRV</span></button> diff --git a/interface/web/dns/templates/dns_dkim_edit.htm b/interface/web/dns/templates/dns_dkim_edit.htm deleted file mode 100644 index cbf8db941a..0000000000 --- a/interface/web/dns/templates/dns_dkim_edit.htm +++ /dev/null @@ -1,38 +0,0 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_dns_txt"> - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <div class="ctrlHolder"> - <label for="data">{tmpl_var name='public_key_txt'}</label> - <textarea name="data" id="data" readonly>{tmpl_var name='public_key'}</textarea> - </div> - <div class="ctrlHolder"> - <label for="ttl">{tmpl_var name='ttl_txt'}</label> - <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" /> - </div> - - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='active_txt'}</p> - <div class="multiField"> - {tmpl_var name='active'} - </div> - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - <input type="hidden" name="zone" value="{tmpl_var name='zone'}" id="zone"> - <input type="hidden" name="type" value="{tmpl_var name='type'}"> - <input type="hidden" name="name" value="{tmpl_var name='name'}"> - </div> - - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','dns/dns_dkim_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> -<script language="JavaScript" type="text/javascript" src="js/dns_dkim.js"></script> - diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm index 81eb265a14..849c5b4e15 100644 --- a/interface/web/dns/templates/dns_wizard.htm +++ b/interface/web/dns/templates/dns_wizard.htm @@ -64,17 +64,12 @@ <tmpl_if name="EMAIL_VISIBLE"> <div class="ctrlHolder"> <label for="email">{tmpl_var name='email_txt'}</label> - <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" /> - </div> - </tmpl_if> - <tmpl_if name="DKIM_VISIBLE"> - <label for="dkim">{tmpl_var name='dkim_txt'}</label> - <input name="dkim" type="hidden" maxlength="255" type="text"/> - </tmpl_if> - - </fieldset> - - <input type="hidden" name="create" value="0" /> + <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" /> + </div> + </tmpl_if> + </fieldset> + + <input type="hidden" name="create" value="0" /> <div class="buttonHolder buttons"> <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onclick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> diff --git a/interface/web/help/lib/lang/cz.lng b/interface/web/help/lib/lang/cz.lng index 18f8f210b7..95efe025d2 100644 --- a/interface/web/help/lib/lang/cz.lng +++ b/interface/web/help/lib/lang/cz.lng @@ -12,3 +12,4 @@ $wb['Manage Sections'] = 'Spravovat sekce'; $wb['Manage Questions'] = 'Spravovat dotazy'; $wb['Add a Question & Answer Pair'] = 'PÅ™idat otázku a odpovÄ›Ä'; ?> + diff --git a/interface/web/help/lib/lang/cz_faq_form.lng b/interface/web/help/lib/lang/cz_faq_form.lng index 73feee6955..c71ddfa9ac 100644 --- a/interface/web/help/lib/lang/cz_faq_form.lng +++ b/interface/web/help/lib/lang/cz_faq_form.lng @@ -4,3 +4,4 @@ $wb['faq_question_txt'] = 'Otázka'; $wb['faq_answer_txt'] = 'OdpovÄ›Ä'; $wb['faq_section_txt'] = 'Sekce'; ?> + diff --git a/interface/web/help/lib/lang/cz_faq_manage_questions_list.lng b/interface/web/help/lib/lang/cz_faq_manage_questions_list.lng index a9488445ca..7a4a2fd3ad 100644 --- a/interface/web/help/lib/lang/cz_faq_manage_questions_list.lng +++ b/interface/web/help/lib/lang/cz_faq_manage_questions_list.lng @@ -7,3 +7,4 @@ $wb['faq_sections_txt'] = 'Sekce'; $wb['faq_faq_questions_txt'] = 'ÄŒasto kladené dotazy'; $wb['faq_new_question_txt'] = 'PÅ™idat nový dotaz'; ?> + diff --git a/interface/web/help/lib/lang/cz_help_faq_list.lng b/interface/web/help/lib/lang/cz_help_faq_list.lng index b6c7b460b9..0dcf23b3ba 100644 --- a/interface/web/help/lib/lang/cz_help_faq_list.lng +++ b/interface/web/help/lib/lang/cz_help_faq_list.lng @@ -1,3 +1,4 @@ <?php -$wb['edit_txt'] = 'Edit'; +$wb['edit_txt'] = 'Upravit'; ?> + diff --git a/interface/web/help/lib/lang/cz_help_faq_sections_list.lng b/interface/web/help/lib/lang/cz_help_faq_sections_list.lng index 967b0abfcd..596a9ef69b 100644 --- a/interface/web/help/lib/lang/cz_help_faq_sections_list.lng +++ b/interface/web/help/lib/lang/cz_help_faq_sections_list.lng @@ -6,3 +6,4 @@ $wb['faq_sections_txt'] = 'Sekce'; $wb['faq_faq_sections_txt'] = 'Sekce FAQ'; $wb['faq_new_section_txt'] = 'PÅ™idat novou sekci'; ?> + diff --git a/interface/web/help/lib/lang/cz_support_message.lng b/interface/web/help/lib/lang/cz_support_message.lng index a6afd5adb5..1d06da314e 100644 --- a/interface/web/help/lib/lang/cz_support_message.lng +++ b/interface/web/help/lib/lang/cz_support_message.lng @@ -5,11 +5,12 @@ $wb['subject_txt'] = 'PÅ™edmÄ›t'; $wb['message_txt'] = 'Zpráva'; $wb['tstamp_txt'] = 'ÄŒasové razÃtko'; $wb['reply_txt'] = 'OdpovÄ›dÄ›t'; -$wb['date_txt'] = 'Date'; -$wb['support_request_subject_txt'] = 'Support Request'; +$wb['date_txt'] = 'Datum'; +$wb['support_request_subject_txt'] = 'Žádost o podporu'; $wb['support_request_txt'] = 'You have got a support request. Please don\'t reply to this email, but process the support request inside ISPConfig.'; $wb['answer_to_support_request_txt'] = 'You have got a reply to your support request. Please don\'t reply to this email, but process the message inside ISPConfig.'; $wb['answer_to_support_request_sent_txt'] = 'Your reply to the support request has been sent. Please don\'t reply to this email.'; $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.'; +$wb['recipient_or_sender_email_address_not_valid_txt'] = 'Zprávu nelze odeslat, protože e-mailová adresa pÅ™Ãjemce a/nebo odesÃlatele nenà platná.'; ?> + diff --git a/interface/web/help/lib/lang/cz_support_message_list.lng b/interface/web/help/lib/lang/cz_support_message_list.lng index c4c43eb872..f31449c9ce 100644 --- a/interface/web/help/lib/lang/cz_support_message_list.lng +++ b/interface/web/help/lib/lang/cz_support_message_list.lng @@ -3,5 +3,6 @@ $wb['list_head_txt'] = 'Zprávy pro podporu'; $wb['sender_id_txt'] = 'OdesÃlatel'; $wb['subject_txt'] = 'PÅ™edmÄ›t'; $wb['add_new_record_txt'] = 'VytvoÅ™it zprávu pro podporu'; -$wb['date_txt'] = 'Date'; +$wb['date_txt'] = 'Datum'; ?> + diff --git a/interface/web/help/lib/lang/de.lng b/interface/web/help/lib/lang/de.lng index f9deb2066c..606b4f0399 100644 --- a/interface/web/help/lib/lang/de.lng +++ b/interface/web/help/lib/lang/de.lng @@ -12,3 +12,4 @@ $wb['Manage Sections'] = 'Kategorien verwalten'; $wb['Add a Question & Answer Pair'] = 'Neues Frage/Antwort Paar hinzufügen'; $wb['Manage Questions'] = 'Fragen verwalten'; ?> + diff --git a/interface/web/help/lib/lang/de_faq_form.lng b/interface/web/help/lib/lang/de_faq_form.lng index 35042fa128..90c6a44379 100644 --- a/interface/web/help/lib/lang/de_faq_form.lng +++ b/interface/web/help/lib/lang/de_faq_form.lng @@ -4,3 +4,4 @@ $wb['faq_question_txt'] = 'Frage'; $wb['faq_answer_txt'] = 'Antwort'; $wb['faq_section_txt'] = 'Kategorie'; ?> + diff --git a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng index b47a695890..f3be08c85c 100644 --- a/interface/web/help/lib/lang/de_faq_manage_questions_list.lng +++ b/interface/web/help/lib/lang/de_faq_manage_questions_list.lng @@ -7,3 +7,4 @@ $wb['faq_sections_txt'] = 'Kategorie'; $wb['faq_faq_questions_txt'] = 'Frequently Asked Questions'; $wb['faq_new_question_txt'] = 'Neues Frage/Antwort Paar hinzufügen'; ?> + diff --git a/interface/web/help/lib/lang/de_faq_sections_form.lng b/interface/web/help/lib/lang/de_faq_sections_form.lng index 873dab2c19..f9f7cd4225 100644 --- a/interface/web/help/lib/lang/de_faq_sections_form.lng +++ b/interface/web/help/lib/lang/de_faq_sections_form.lng @@ -1,3 +1,4 @@ <?php $wb['faq_section_name_txt'] = 'Kategorie Name'; ?> + diff --git a/interface/web/help/lib/lang/de_help_faq_list.lng b/interface/web/help/lib/lang/de_help_faq_list.lng index 3a240f4035..66fd26c6b2 100644 --- a/interface/web/help/lib/lang/de_help_faq_list.lng +++ b/interface/web/help/lib/lang/de_help_faq_list.lng @@ -1,3 +1,4 @@ <?php $wb['edit_txt'] = 'Bearbeiten'; ?> + diff --git a/interface/web/help/lib/lang/de_help_faq_sections_list.lng b/interface/web/help/lib/lang/de_help_faq_sections_list.lng index 190f85a312..5d52ec8093 100644 --- a/interface/web/help/lib/lang/de_help_faq_sections_list.lng +++ b/interface/web/help/lib/lang/de_help_faq_sections_list.lng @@ -6,3 +6,4 @@ $wb['faq_sections_txt'] = 'Kategorie'; $wb['faq_faq_sections_txt'] = 'FAQ Kategorie'; $wb['faq_new_section_txt'] = 'Neue Kategorie hinzufügen'; ?> + diff --git a/interface/web/help/lib/lang/de_support_message.lng b/interface/web/help/lib/lang/de_support_message.lng index 67d68f9984..48a66b92da 100644 --- a/interface/web/help/lib/lang/de_support_message.lng +++ b/interface/web/help/lib/lang/de_support_message.lng @@ -7,9 +7,10 @@ $wb['tstamp_txt'] = 'Zeitpunkt'; $wb['reply_txt'] = 'Antworten'; $wb['date_txt'] = 'Datum'; $wb['support_request_subject_txt'] = 'Supportanfrage'; -$wb['support_request_txt'] = 'Sie haben eine Supportanfrage erhalten. Bitte antworten Sie nicht auf diese Email, sondern bearbeiten Sie die Supportanfrage in ISPConfig.'; -$wb['answer_to_support_request_txt'] = 'Sie haben eine Antwort auf Ihre Supportanfrage erhalten. Bitte antworten Sie nicht auf diese Email, sondern bearbeiten Sie die Nachricht in ISPConfig.'; -$wb['answer_to_support_request_sent_txt'] = 'Ihre Antwort auf die Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese Email.'; -$wb['support_request_sent_txt'] = 'Ihre Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese Email.'; -$wb['recipient_or_sender_email_address_not_valid_txt'] = 'Die Nachricht konnte nicht verschickt werden, da die Empfänger- und/oder die Sender-Email-Adresse nicht gültig ist.'; +$wb['support_request_txt'] = 'Sie haben eine Supportanfrage erhalten. Bitte antworten Sie nicht auf diese E-Mail, sondern bearbeiten Sie die Supportanfrage in ISPConfig.'; +$wb['answer_to_support_request_txt'] = 'Sie haben eine Antwort auf Ihre Supportanfrage erhalten. Bitte antworten Sie nicht auf diese E-Mail, sondern bearbeiten Sie die Nachricht in ISPConfig.'; +$wb['answer_to_support_request_sent_txt'] = 'Ihre Antwort auf die Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese E-Mail.'; +$wb['support_request_sent_txt'] = 'Ihre Supportanfrage ist verschickt worden. Bitte antworten Sie nicht auf diese E-Mail.'; +$wb['recipient_or_sender_email_address_not_valid_txt'] = 'Die Nachricht konnte nicht verschickt werden, da die Empfänger- und/oder die Sender E-Mail-Adresse nicht gültig ist.'; ?> + diff --git a/interface/web/help/lib/lang/de_support_message_list.lng b/interface/web/help/lib/lang/de_support_message_list.lng index 74fbeb2d7e..f6265d21d6 100644 --- a/interface/web/help/lib/lang/de_support_message_list.lng +++ b/interface/web/help/lib/lang/de_support_message_list.lng @@ -5,3 +5,4 @@ $wb['subject_txt'] = 'Betreff'; $wb['add_new_record_txt'] = 'Neue Supportnachricht erstellen'; $wb['date_txt'] = 'Datum'; ?> + diff --git a/interface/web/help/lib/lang/el_help_faq_list.lng b/interface/web/help/lib/lang/el_help_faq_list.lng index b6c7b460b9..30405c58f0 100644 --- a/interface/web/help/lib/lang/el_help_faq_list.lng +++ b/interface/web/help/lib/lang/el_help_faq_list.lng @@ -1,3 +1,3 @@ <?php -$wb['edit_txt'] = 'Edit'; +$wb['edit_txt'] = 'ΕπεξεÏγασία'; ?> diff --git a/interface/web/js/dns_dkim.js b/interface/web/js/dns_dkim.js deleted file mode 100644 index 1294fd0249..0000000000 --- a/interface/web/js/dns_dkim.js +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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. - - - -This Javascript is invoked by - * dns/templates/dns_dkim_edit.htm to get the public key -*/ - var request = false; - - function setRequest(zone) { - if (window.XMLHttpRequest) {request = new XMLHttpRequest();} - else if (window.ActiveXObject) { - try {request = new ActiveXObject('Msxml2.XMLHTTP');} - catch (e) { - try {request = new ActiveXObject('Microsoft.XMLHTTP');} - catch (e) {} - } - } - if (!request) { - alert("Error creating XMLHTTP-instance"); - return false; - } else { - request.open('POST', 'dns/dns_dkim_get.php', true); - request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - request.send('&zone='+zone); - request.onreadystatechange = interpretRequest; - } - } - - function interpretRequest() { - switch (request.readyState) { - case 4: - if (request.status != 200) {alert("Request done but NOK\nError:"+request.status);} - else { - document.getElementsByName('data')[0].value = request.responseXML.getElementsByTagName('data')[0].firstChild.nodeValue; - document.getElementsByName('name')[0].value = request.responseXML.getElementsByTagName('name')[0].firstChild.nodeValue; - } - break; - default: - break; - } - } - -var serverType = jQuery('#zone').val(); -setRequest(serverType); - - diff --git a/interface/web/js/js.d/empty.dir b/interface/web/js/js.d/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/js/js.d/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/js/mail_domain_dkim.js b/interface/web/js/mail_domain_dkim.js deleted file mode 100644 index b07abc4f3e..0000000000 --- a/interface/web/js/mail_domain_dkim.js +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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. - - - -This Javascript is invoked by - * mail/templates/mail_domain_edit.htm to show and/or create the key-pair -*/ - var request = false; - - function setRequest(action,value,privatekey) { - if (window.XMLHttpRequest) {request = new XMLHttpRequest();} - else if (window.ActiveXObject) { - try {request = new ActiveXObject('Msxml2.XMLHTTP');} - catch (e) { - try {request = new ActiveXObject('Microsoft.XMLHTTP');} - catch (e) {} - } - } - if (!request) { - alert("Error creating XMLHTTP-instance"); - return false; - } else { - request.open('POST', 'mail/mail_domain_dkim_create.php', true); - request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - request.send('domain='+value+'&action='+action+'&pkey='+privatekey); - request.onreadystatechange = interpretRequest; - } - } - - function interpretRequest() { - switch (request.readyState) { - case 4: - if (request.status != 200) {alert("Request done but NOK\nError:"+request.status);} - else { - document.getElementsByName('dkim_private')[0].value = request.responseXML.getElementsByTagName('privatekey')[0].firstChild.nodeValue; - document.getElementsByName('dkim_public')[0].value = request.responseXML.getElementsByTagName('publickey')[0].firstChild.nodeValue; - } - break; - default: - break; - } - } - -var serverType = jQuery('#dkim_private').val(); -setRequest('show','{tmpl_var name="domain"}',serverType); - diff --git a/interface/web/login/lib/lang/cz.lng b/interface/web/login/lib/lang/cz.lng index f789b21ff4..4ce9a3b821 100644 --- a/interface/web/login/lib/lang/cz.lng +++ b/interface/web/login/lib/lang/cz.lng @@ -23,3 +23,4 @@ $wb['email_txt'] = 'E-mail'; $wb['theme_not_compatible'] = 'Zvolené téma nenà kompatibilnà s aktuálnà verzà ISPConfig. Zkontrolujte prosÃm, zda nenà nová verze tématu.<br />Výchozà motiv byl aktivován automaticky.'; $wb['back_txt'] = 'Back'; ?> + diff --git a/interface/web/login/lib/lang/de.lng b/interface/web/login/lib/lang/de.lng index 439fa021bd..744643bcfa 100644 --- a/interface/web/login/lib/lang/de.lng +++ b/interface/web/login/lib/lang/de.lng @@ -23,3 +23,4 @@ $wb['error_maintenance_mode'] = 'Diese ISPConfig Installation wird gerade gewart $wb['theme_not_compatible'] = 'Das gewählte Design ist mit dieser ISPConfig Version nicht kompatibel. Bitte prüfen Sie, ob ein Update des Themes verfügbar ist.<br />Es wurde nun automatisch das Standard Design aktiviert.'; $wb['back_txt'] = 'Zurück'; ?> + diff --git a/interface/web/login/lib/lang/el.lng b/interface/web/login/lib/lang/el.lng index 00646c6db3..6fdfc5e571 100644 --- a/interface/web/login/lib/lang/el.lng +++ b/interface/web/login/lib/lang/el.lng @@ -14,12 +14,12 @@ $wb['pw_error_length'] = 'Το μÎγεθος του ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï Îµ $wb['username_txt'] = 'Όνομα χÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; $wb['login_button_txt'] = 'Είσοδος'; -$wb['pw_lost_txt'] = 'Password lost'; -$wb['error_maintenance_mode'] = 'This ISPConfig installation is currently under maintenance. We should be back shortly. Thank you for your patience.'; -$wb['login_txt'] = 'Login'; -$wb['pw_reset_txt'] = 'Password reset'; -$wb['pw_button_txt'] = 'Resend password'; +$wb['pw_lost_txt'] = 'ΧαμÎνο Συνθηματικό'; +$wb['error_maintenance_mode'] = 'Αυτή η εγκατάσταση ISPConfig βÏίσκεται σε κατάσταση συντήÏησης. ΕυχαÏιστοÏμε για την υπομονή σας.'; +$wb['login_txt'] = 'Είσοδος'; +$wb['pw_reset_txt'] = 'ΑÏχικοποίηση ΣυνθηματικοÏ'; +$wb['pw_button_txt'] = 'Επαναποστολή ΣυνθηματικοÏ'; $wb['email_txt'] = 'Email'; -$wb['theme_not_compatible'] = 'The chosen theme is not compatible with the current ISPConfig version. Please check for a new version of the theme.<br />The default theme as been activated automatically.'; -$wb['back_txt'] = 'Back'; +$wb['theme_not_compatible'] = 'Η επιλεγμÎνη θεματική παÏαλλαγή δεν είναι συμβατη με την Ï„ÏÎχουσα Îκδοση ISPConfig. ΠαÏακαλοÏμε ελÎξτε για πιο Ï€Ïόσφατη Îκδοση.<br />Η Ï€ÏοεπιλεγμÎνη θεματική παÏαλλαγή ενεÏγοποιήθηκε αυτόματα.'; +$wb['back_txt'] = 'ΕπιστÏοφή'; ?> diff --git a/interface/web/mail/form/mail_domain.tform.php b/interface/web/mail/form/mail_domain.tform.php index caf48d50b3..506f934e38 100644 --- a/interface/web/mail/form/mail_domain.tform.php +++ b/interface/web/mail/form/mail_domain.tform.php @@ -98,33 +98,6 @@ $form["tabs"]['domain'] = array ( 'maxlength' => '255', 'searchable' => 1 ), - 'dkim' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n',1 => 'y') - ), - 'dkim_private' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '10', - 'validators' => array ( 0 => array ('type' => 'CUSTOM', - 'class' => 'validate_dkim', - 'function' => 'check_private_key', - 'errmsg'=> 'dkim_private_key_error'), - ), - ), - 'dkim_public' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '10' - ), 'active' => array ( 'datatype' => 'VARCHAR', 'formtype' => 'CHECKBOX', @@ -138,4 +111,4 @@ $form["tabs"]['domain'] = array ( ); -?> +?> \ No newline at end of file diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php index ddccdbf060..5ec0cbce29 100644 --- a/interface/web/mail/form/mail_user.tform.php +++ b/interface/web/mail/form/mail_user.tform.php @@ -38,8 +38,6 @@ */ global $app; -$app->uses('getconf'); -$global_config = $app->getconf->get_global_config(); $form["title"] = "Mailbox"; $form["description"] = ""; @@ -232,118 +230,115 @@ $form["tabs"]['mailuser'] = array ( ) ); -if ($global_config['mail']['mailbox_show_autoresponder_tab'] === 'y') { - $form["tabs"]['autoresponder'] = array ( - 'title' => "Autoresponder", - 'width' => 100, - 'template' => "templates/mail_user_autoresponder_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'autoresponder_subject' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'default' => 'Out of office reply', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), - 'autoresponder_text' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '15' - ), - 'autoresponder' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(1 => 'y',0 => 'n') - ), - 'autoresponder_start_date' => array ( - 'datatype' => 'DATETIME', - 'formtype' => 'DATETIME', - 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', - 'class' => 'validate_autoresponder', - 'function' => 'start_date', - 'errmsg'=> 'autoresponder_start_date_is_required'), - ) - ), - 'autoresponder_end_date' => array ( - 'datatype' => 'DATETIME', - 'formtype' => 'DATETIME', - 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', - 'class' => 'validate_autoresponder', - 'function' => 'end_date', - 'errmsg'=> 'autoresponder_end_date_isgreater'), - ), - ), - ################################## - # END Datatable fields - ################################## - ) - ); -} - +$form["tabs"]['autoresponder'] = array ( + 'title' => "Autoresponder", + 'width' => 100, + 'template' => "templates/mail_user_autoresponder_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'autoresponder_subject' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => 'Out of office reply', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'autoresponder_text' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '15' + ), + 'autoresponder' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(1 => 'y',0 => 'n') + ), + 'autoresponder_start_date' => array ( + 'datatype' => 'DATETIME', + 'formtype' => 'DATETIME', + 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_autoresponder', + 'function' => 'start_date', + 'errmsg'=> 'autoresponder_start_date_is_required'), + ) + ), + 'autoresponder_end_date' => array ( + 'datatype' => 'DATETIME', + 'formtype' => 'DATETIME', + 'validators'=> array ( 0 => array ( 'type' => 'CUSTOM', + 'class' => 'validate_autoresponder', + 'function' => 'end_date', + 'errmsg'=> 'autoresponder_end_date_isgreater'), + ), + ), + ################################## + # END Datatable fields + ################################## + ) +); -if ($global_config['mail']['mailbox_show_mail_filter_tab'] === 'y') { - $form["tabs"]['filter_records'] = array ( - 'title' => "Mail Filter", - 'width' => 100, - 'template' => "templates/mail_user_mailfilter_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'move_junk' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'CHECKBOX', - 'default' => 'n', - 'value' => array(0 => 'n',1 => 'y') - ), - ################################## - # END Datatable fields - ################################## +$form["tabs"]['filter_records'] = array ( + 'title' => "Mail Filter", + 'width' => 100, + 'template' => "templates/mail_user_mailfilter_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'move_junk' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array(0 => 'n',1 => 'y') ), - 'plugins' => array ( - 'filter_records' => array ( - 'class' => 'plugin_listview', - 'options' => array( - 'listdef' => 'list/mail_user_filter.list.php', - 'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']), - 'sql_order_by' => "ORDER BY rulename" - ) + ################################## + # END Datatable fields + ################################## + ), + 'plugins' => array ( + 'filter_records' => array ( + 'class' => 'plugin_listview', + 'options' => array( + 'listdef' => 'list/mail_user_filter.list.php', + 'sqlextwhere' => "mailuser_id = ".@$app->functions->intval(@$_REQUEST['id']), + 'sql_order_by' => "ORDER BY rulename" ) - ) - ); -} + ) + ) +); +if($_SESSION["s"]["user"]["typ"] == 'admin') { + +$form["tabs"]['mailfilter'] = array ( + 'title' => "Custom Rules", + 'width' => 100, + 'template' => "templates/mail_user_custom_rules_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'custom_mailfilter' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '15' + ), + ################################## + # END Datatable fields + ################################## + ) +); -if ($_SESSION["s"]["user"]["typ"] == 'admin' && $global_config['mail']['mailbox_show_custom_rules_tab'] === 'y') { - $form["tabs"]['mailfilter'] = array ( - 'title' => "Custom Rules", - 'width' => 100, - 'template' => "templates/mail_user_custom_rules_edit.htm", - 'fields' => array ( - ################################## - # Begin Datatable fields - ################################## - 'custom_mailfilter' => array ( - 'datatype' => 'TEXT', - 'formtype' => 'TEXTAREA', - 'default' => '', - 'value' => '', - 'cols' => '30', - 'rows' => '15' - ), - ################################## - # END Datatable fields - ################################## - ) - ); } -?> + +?> \ No newline at end of file diff --git a/interface/web/mail/lib/lang/cz.lng b/interface/web/mail/lib/lang/cz.lng index 6a5afe0685..c4b386b450 100644 --- a/interface/web/mail/lib/lang/cz.lng +++ b/interface/web/mail/lib/lang/cz.lng @@ -44,5 +44,6 @@ $wb['Global Filters'] = 'Globálnà filtry'; $wb['Domain Alias'] = 'Alias domény'; $wb['Relay Recipients'] = 'Relay adresáti'; $wb['Statistics'] = 'Statistiky'; -$wb['Mailbox quota'] = 'Mailbox kvóta'; +$wb['Mailbox quota'] = 'Kvóta e-mailové schránky'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_alias.lng b/interface/web/mail/lib/lang/cz_mail_alias.lng index 605e06b3c8..119b849739 100644 --- a/interface/web/mail/lib/lang/cz_mail_alias.lng +++ b/interface/web/mail/lib/lang/cz_mail_alias.lng @@ -12,3 +12,4 @@ $wb['domain_txt'] = 'Doména'; $wb['duplicate_email_alias_txt'] = 'Tento e-mail alias již existuje.'; $wb['source_txt'] = 'Alias'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_alias_list.lng b/interface/web/mail/lib/lang/cz_mail_alias_list.lng index de8cc2ef2a..db4fb4f8c7 100644 --- a/interface/web/mail/lib/lang/cz_mail_alias_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_alias_list.lng @@ -6,3 +6,4 @@ $wb['destination_txt'] = 'CÃl'; $wb['email_txt'] = 'E-mail'; $wb['add_new_record_txt'] = 'PÅ™idat nový e-mailový alias'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_aliasdomain.lng b/interface/web/mail/lib/lang/cz_mail_aliasdomain.lng index 74611c2de0..7c74fb6edf 100644 --- a/interface/web/mail/lib/lang/cz_mail_aliasdomain.lng +++ b/interface/web/mail/lib/lang/cz_mail_aliasdomain.lng @@ -9,3 +9,4 @@ $wb['source_error_empty'] = 'Zdrojová doména je prázdná.'; $wb['source_error_unique'] = 'Duplikovánà zdrojové domény.'; $wb['source_error_regex'] = 'Chybná zdrojová doména.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/cz_mail_aliasdomain_list.lng index fd850d6f5f..155a87a7ba 100644 --- a/interface/web/mail/lib/lang/cz_mail_aliasdomain_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_aliasdomain_list.lng @@ -5,3 +5,4 @@ $wb['source_txt'] = 'Zdroj'; $wb['destination_txt'] = 'CÃl'; $wb['add_new_record_txt'] = 'PÅ™idat doménový alias'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_blacklist.lng b/interface/web/mail/lib/lang/cz_mail_blacklist.lng index e1e6dab48f..93978c72f6 100644 --- a/interface/web/mail/lib/lang/cz_mail_blacklist.lng +++ b/interface/web/mail/lib/lang/cz_mail_blacklist.lng @@ -7,3 +7,4 @@ $wb['source_error_notempty'] = 'Adresa je prázdná.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Dosažen maximálnà poÄet email filtrů pro Váš úÄet.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng b/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng index 0ef1d3417c..ba76a7ed4b 100644 --- a/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng @@ -2,9 +2,10 @@ $wb['list_head_txt'] = 'E-mail Äerná listina'; $wb['active_txt'] = 'AktivnÃ'; $wb['server_id_txt'] = 'Server'; -$wb['source_txt'] = 'Adresy na Äerné lisitnÄ›'; +$wb['source_txt'] = 'Adresy na Äerné listinÄ›'; $wb['type_txt'] = 'Typ'; $wb['recipient_txt'] = 'PÅ™Ãjemce (adresát)'; $wb['add_new_record_txt'] = 'PÅ™idat záznam na Äernou listinu'; $wb['access_txt'] = 'PÅ™Ãstup'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_content_filter.lng b/interface/web/mail/lib/lang/cz_mail_content_filter.lng index 459ca228a2..240de670e3 100644 --- a/interface/web/mail/lib/lang/cz_mail_content_filter.lng +++ b/interface/web/mail/lib/lang/cz_mail_content_filter.lng @@ -7,3 +7,4 @@ $wb['action_txt'] = 'Akce'; $wb['active_txt'] = 'AktivnÃ'; $wb['pattern_error_empty'] = 'Vzor je prázdný.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_content_filter_list.lng b/interface/web/mail/lib/lang/cz_mail_content_filter_list.lng index da9709e7f9..68acaf780c 100644 --- a/interface/web/mail/lib/lang/cz_mail_content_filter_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_content_filter_list.lng @@ -6,3 +6,4 @@ $wb['pattern_txt'] = 'Vzor'; $wb['action_txt'] = 'Akce'; $wb['add_new_record_txt'] = 'PÅ™idat obsahový filtr'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_domain.lng b/interface/web/mail/lib/lang/cz_mail_domain.lng index 026a2f1d27..d497e0502a 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain.lng @@ -11,3 +11,4 @@ $wb['limit_maildomain_txt'] = 'Dosažen maximálnà poÄet email domén pro Vá $wb['policy_txt'] = 'Spamový filtr'; $wb['no_policy'] = '- nepovoleno -'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/cz_mail_domain_admin_list.lng index b579d2de08..8277ec4848 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain_admin_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain_admin_list.lng @@ -6,3 +6,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat doménu'; $wb['active_txt'] = 'AktivnÃ'; $wb['sys_groupid_txt'] = 'Klient'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_domain_catchall.lng b/interface/web/mail/lib/lang/cz_mail_domain_catchall.lng index 488d0d5176..635091c425 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain_catchall.lng @@ -9,3 +9,4 @@ $wb['limit_mailcatchall_txt'] = 'Dosažen maximálnà poÄet košů úÄtů pro $wb['source_txt'] = 'Zdroj'; $wb['destination_error_isemail'] = 'CÃlová e-mailová adresa nenà platná.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/cz_mail_domain_catchall_list.lng index 3b24645ec8..7fd14a7adf 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain_catchall_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain_catchall_list.lng @@ -7,3 +7,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'E-malová doména'; $wb['add_new_record_txt'] = 'PÅ™idat e-mailový koÅ¡'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_domain_list.lng b/interface/web/mail/lib/lang/cz_mail_domain_list.lng index 2abb05cf74..141e9e87d3 100644 --- a/interface/web/mail/lib/lang/cz_mail_domain_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_domain_list.lng @@ -5,3 +5,4 @@ $wb['domain_txt'] = 'Doména'; $wb['add_new_record_txt'] = 'PÅ™idat doménu'; $wb['active_txt'] = 'AktivnÃ'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_forward.lng b/interface/web/mail/lib/lang/cz_mail_forward.lng index a59bd9b52b..054650aaff 100644 --- a/interface/web/mail/lib/lang/cz_mail_forward.lng +++ b/interface/web/mail/lib/lang/cz_mail_forward.lng @@ -1,9 +1,10 @@ <?php $wb['email_txt'] = 'E-mail'; -$wb['destination_txt'] = 'CÃlový email'; +$wb['destination_txt'] = 'CÃlový e-mail'; $wb['active_txt'] = 'AktivnÃ'; $wb['limit_mailforward_txt'] = 'Dosažen maximálnà poÄet email pÅ™edávánà pro Váš úÄet.'; $wb['duplicate_mailbox_txt'] = 'Mailbox s touto adresou již existuje'; $wb['domain_txt'] = 'Doména'; $wb['source_txt'] = 'Zdrojový e-mail'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_forward_list.lng b/interface/web/mail/lib/lang/cz_mail_forward_list.lng index e5381fe5f8..6cf1f88ca4 100644 --- a/interface/web/mail/lib/lang/cz_mail_forward_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_forward_list.lng @@ -6,3 +6,4 @@ $wb['destination_txt'] = 'CÃl'; $wb['email_txt'] = 'E-mail'; $wb['add_new_record_txt'] = 'PÅ™idat nové pÅ™esmÄ›rovánÃ'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_get.lng b/interface/web/mail/lib/lang/cz_mail_get.lng index 51b9f3403e..b73ddfddb6 100644 --- a/interface/web/mail/lib/lang/cz_mail_get.lng +++ b/interface/web/mail/lib/lang/cz_mail_get.lng @@ -16,3 +16,4 @@ $wb['source_server_error_regex'] = 'POP3/IMAP server nenà validnà doménový n $wb['source_read_all_txt'] = 'NaÄÃst vÅ¡echny e-maily (vÄetnÄ› již pÅ™eÄtené poÅ¡ty)'; $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'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_get_list.lng b/interface/web/mail/lib/lang/cz_mail_get_list.lng index 9ca8b86dcb..55df9d27d7 100644 --- a/interface/web/mail/lib/lang/cz_mail_get_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_get_list.lng @@ -7,3 +7,4 @@ $wb['source_username_txt'] = 'Uživatelské jméno'; $wb['destination_txt'] = 'CÃl'; $wb['add_new_record_txt'] = 'PÅ™idat úÄet'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_mailinglist.lng b/interface/web/mail/lib/lang/cz_mail_mailinglist.lng index 2d2278526e..7723f1f0e9 100644 --- a/interface/web/mail/lib/lang/cz_mail_mailinglist.lng +++ b/interface/web/mail/lib/lang/cz_mail_mailinglist.lng @@ -18,5 +18,6 @@ $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; $wb['listname_error_unique'] = 'Na serveru je již shodný \\"název seznamu\\". ProsÃm, vyberte si jiný \\"název seznamu\\".'; $wb['email_error_isemail'] = 'E-mailová adresa je neplatná.'; -$wb['mailinglist_txt'] = 'Mailing list'; +$wb['mailinglist_txt'] = 'E-mailové konference'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/cz_mail_mailinglist_list.lng index db31273f59..abd9737338 100644 --- a/interface/web/mail/lib/lang/cz_mail_mailinglist_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_mailinglist_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'E-mailové konference'; $wb['domain_txt'] = 'Doména'; $wb['listname_txt'] = 'Název seznamu'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng b/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng index 0c07059c34..fbbdc48ab5 100644 --- a/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng +++ b/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng @@ -5,5 +5,6 @@ $wb['recipient_txt'] = 'PÅ™Ãjemce (adresát)'; $wb['active_txt'] = 'AktivnÃ'; $wb['source_error_notempty'] = 'Adresa je prázdná.'; $wb['type_txt'] = 'Typ'; -$wb['limit_mailfilter_txt'] = 'Dosažen maximálnà poÄet email filtrů pro Váš úÄet.'; +$wb['limit_mailfilter_txt'] = 'Dosažen maximálnà poÄet e-mail filtrů pro Váš úÄet.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/cz_mail_relay_recipient_list.lng index 1af959966c..19f46821f3 100644 --- a/interface/web/mail/lib/lang/cz_mail_relay_recipient_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_relay_recipient_list.lng @@ -7,3 +7,4 @@ $wb['recipient_txt'] = 'PÅ™Ãjemce (adresát)'; $wb['add_new_record_txt'] = 'PÅ™idat relay adresáta'; $wb['access_txt'] = 'PÅ™Ãstup'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_spamfilter.lng b/interface/web/mail/lib/lang/cz_mail_spamfilter.lng index 4b6cc2b5d8..b538ad044a 100644 --- a/interface/web/mail/lib/lang/cz_mail_spamfilter.lng +++ b/interface/web/mail/lib/lang/cz_mail_spamfilter.lng @@ -15,3 +15,4 @@ $wb['email_error_unique'] = 'Pro tuto email adresu již existuje filtrovacà zá $wb['spam_redirect_maildir_purge_txt'] = 'VyÄistit poté mailový adresář'; $wb['days_txt'] = 'Dny.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/cz_mail_spamfilter_list.lng index 7560b570da..fa5924f2bd 100644 --- a/interface/web/mail/lib/lang/cz_mail_spamfilter_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_spamfilter_list.lng @@ -6,3 +6,4 @@ $wb['server_name_txt'] = 'server_name'; $wb['email_txt'] = 'E-mail'; $wb['add_new_record_txt'] = 'PÅ™idat nový záznam spamfiltru'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_transport.lng b/interface/web/mail/lib/lang/cz_mail_transport.lng index dfe1855084..6a195f39cb 100644 --- a/interface/web/mail/lib/lang/cz_mail_transport.lng +++ b/interface/web/mail/lib/lang/cz_mail_transport.lng @@ -6,6 +6,7 @@ $wb['type_txt'] = 'Typ'; $wb['mx_txt'] = 'NeprovádÄ›t MX lookup'; $wb['sort_order_txt'] = 'TÅ™Ãdit podle'; $wb['active_txt'] = 'AktivnÃ'; -$wb['limit_mailrouting_txt'] = 'Dosažen maximálnà poÄet email smÄ›rovánà pro Váš úÄet.'; +$wb['limit_mailrouting_txt'] = 'Dosažen maximálnà poÄet e-mail smÄ›rovánà pro Váš úÄet.'; $wb['transport_txt'] = 'Transport'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_transport_list.lng b/interface/web/mail/lib/lang/cz_mail_transport_list.lng index e833293a2f..584e329adb 100644 --- a/interface/web/mail/lib/lang/cz_mail_transport_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_transport_list.lng @@ -7,3 +7,4 @@ $wb['transport_txt'] = 'Transport'; $wb['sort_order_txt'] = 'TÅ™Ãdit podle'; $wb['add_new_record_txt'] = 'PÅ™idat transport'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_user.lng b/interface/web/mail/lib/lang/cz_mail_user.lng index 2c441f2aba..48a9ea35c5 100644 --- a/interface/web/mail/lib/lang/cz_mail_user.lng +++ b/interface/web/mail/lib/lang/cz_mail_user.lng @@ -5,7 +5,7 @@ $wb['cryptpwd_txt'] = 'Heslo'; $wb['password_strength_txt'] = 'BezpeÄnost hesla'; $wb['active_txt'] = 'AktivnÃ'; $wb['email_error_isemail'] = 'E-mail adresa je chybná.'; -$wb['email_error_unique'] = 'Duplikovánà email adresy.'; +$wb['email_error_unique'] = 'Duplikovánà e-mail adresy.'; $wb['autoresponder_text_txt'] = 'Text'; $wb['autoresponder_txt'] = 'AktivnÃ'; $wb['autoresponder_start_date_txt'] = 'ZaÄÃt od'; @@ -48,3 +48,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_user_filter.lng b/interface/web/mail/lib/lang/cz_mail_user_filter.lng index 6cd8ed7e89..0fdd4ba147 100644 --- a/interface/web/mail/lib/lang/cz_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/cz_mail_user_filter.lng @@ -18,3 +18,4 @@ $wb['ends_with_txt'] = 'KonÄà na'; $wb['move_to_txt'] = 'PÅ™esunout do'; $wb['delete_txt'] = 'Smazat'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_user_filter_list.lng b/interface/web/mail/lib/lang/cz_mail_user_filter_list.lng index 60229ce3b5..f5de2b289b 100644 --- a/interface/web/mail/lib/lang/cz_mail_user_filter_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_user_filter_list.lng @@ -5,3 +5,4 @@ $wb['page_txt'] = 'Stránka'; $wb['page_of_txt'] = 'z'; $wb['delete_confirmation'] = 'Opravdu smazat mailový filtr?'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_user_list.lng b/interface/web/mail/lib/lang/cz_mail_user_list.lng index e6dfd006ed..b4adbdb5d1 100644 --- a/interface/web/mail/lib/lang/cz_mail_user_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_user_list.lng @@ -6,3 +6,4 @@ $wb['add_new_record_txt'] = 'PÅ™idat e-mailovou schránku'; $wb['name_txt'] = 'SkuteÄný název'; $wb['login_txt'] = 'PÅ™ihlášenÃ'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_user_stats_list.lng b/interface/web/mail/lib/lang/cz_mail_user_stats_list.lng index 50cbc31d5c..9c7602dc38 100644 --- a/interface/web/mail/lib/lang/cz_mail_user_stats_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_user_stats_list.lng @@ -6,3 +6,4 @@ $wb['last_month_txt'] = 'Minulý mÄ›sÃc'; $wb['this_year_txt'] = 'Tento rok'; $wb['last_year_txt'] = 'Minulý rok'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_whitelist.lng b/interface/web/mail/lib/lang/cz_mail_whitelist.lng index db55c18a0b..31dfd7574d 100644 --- a/interface/web/mail/lib/lang/cz_mail_whitelist.lng +++ b/interface/web/mail/lib/lang/cz_mail_whitelist.lng @@ -7,3 +7,4 @@ $wb['source_error_notempty'] = 'Adresa je prázdná.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Dosažen maximálnà poÄet email filtrů pro Váš úÄet.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng b/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng index 7fae368999..bab30222ff 100644 --- a/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng +++ b/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng @@ -8,3 +8,4 @@ $wb['recipient_txt'] = 'PÅ™Ãjemce (adresát)'; $wb['add_new_record_txt'] = 'PÅ™idat záznam na bÃlou listinu'; $wb['access_txt'] = 'PÅ™Ãstup'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng index 5e0c6b7799..2b929082c7 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng @@ -7,3 +7,4 @@ $wb['priority_txt'] = 'Priorita'; $wb['active_txt'] = 'AktivnÃ'; $wb['limit_spamfilter_wblist_txt'] = 'Dosažen maximálnà poÄet záznamů pro bÃlou / Äernou listinu pro Váš úÄet.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng index 83a732d6f3..71685de72d 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng @@ -4,6 +4,7 @@ $wb['active_txt'] = 'AktivnÃ'; $wb['server_id_txt'] = 'Server'; $wb['priority_txt'] = 'Priorita'; $wb['rid_txt'] = 'Uživatel'; -$wb['email_txt'] = 'Emaily na Äerné listinÄ›'; +$wb['email_txt'] = 'E-maily na Äerné listinÄ›'; $wb['add_new_record_txt'] = 'PÅ™idat záznam na Äernou listinu'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_config.lng b/interface/web/mail/lib/lang/cz_spamfilter_config.lng index 0f878cc7d8..7eae43eb2b 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_config.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_config.lng @@ -18,3 +18,4 @@ $wb['relayhost_password_txt'] = 'Relayhost heslo'; $wb['mailbox_size_limit_txt'] = 'Limit velikosti e-mailové schránky'; $wb['message_size_limit_txt'] = 'Limit velikosti zprávy'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_config_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_config_list.lng index fe2ee8d51c..348fe9b0e5 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_config_list.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_config_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Konfigurace serveru'; $wb['server_name_txt'] = 'Server'; $wb['server_id_txt'] = 'server_id'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_policy.lng b/interface/web/mail/lib/lang/cz_spamfilter_policy.lng index 54d0155d74..2740272cf6 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_policy.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_policy.lng @@ -18,7 +18,7 @@ $wb['spam_tag2_level_txt'] = 'SPAM tag2 úroveň'; $wb['spam_kill_level_txt'] = 'SPAM kill úroveň'; $wb['spam_dsn_cutoff_level_txt'] = 'SPAM dsn cutoff úroveň'; $wb['spam_quarantine_cutoff_level_txt'] = 'SPAM karanténa cutoff úroveň'; -$wb['spam_modifies_subj_txt'] = 'SPAM modifies pÅ™edmÄ›t'; +$wb['spam_modifies_subj_txt'] = 'SPAM upravuje pÅ™edmÄ›t'; $wb['spam_subject_tag_txt'] = 'SPAM pÅ™edmÄ›t tag'; $wb['spam_subject_tag2_txt'] = 'SPAM pÅ™edmÄ›t tag2'; $wb['addr_extension_virus_txt'] = 'Adr. rozÅ¡ÃÅ™enà virus'; @@ -36,3 +36,4 @@ $wb['spam_admin_txt'] = 'SPAM admin'; $wb['message_size_limit_txt'] = 'Limit velikosti zprávy'; $wb['banned_rulenames_txt'] = 'Název pravidel zabanované'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_policy_list.lng index 9a0c361997..0ff38e1091 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_policy_list.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_policy_list.lng @@ -7,3 +7,4 @@ $wb['banned_files_lover_txt'] = 'Zabanované soubory'; $wb['bad_header_lover_txt'] = 'Å patné hlaviÄky'; $wb['add_new_record_txt'] = 'PÅ™idat záznam politiky'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_users.lng b/interface/web/mail/lib/lang/cz_spamfilter_users.lng index 4f5c0e867f..40c010147a 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_users.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_users.lng @@ -2,9 +2,10 @@ $wb['server_id_txt'] = 'Server'; $wb['priority_txt'] = 'Priorita'; $wb['policy_id_txt'] = 'Politika'; -$wb['email_txt'] = 'Email (vzor)'; +$wb['email_txt'] = 'E-mail (vzor)'; $wb['fullname_txt'] = 'Název'; $wb['local_txt'] = 'LokálnÃ'; -$wb['email_error_notempty'] = 'The email address must not be empty.'; -$wb['fullname_error_notempty'] = 'The name must not be empty.'; +$wb['email_error_notempty'] = 'E-mailová adresa nesmà být prázdná.'; +$wb['fullname_error_notempty'] = 'Jméno nesmà být prázdné.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_users_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_users_list.lng index 36bf3409e3..f4dd015aa6 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_users_list.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_users_list.lng @@ -8,3 +8,4 @@ $wb['fullname_txt'] = 'Jméno'; $wb['email_txt'] = 'E-mail'; $wb['add_new_record_txt'] = 'PÅ™idat spamfiltr uživatele'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng index 5e0c6b7799..2b929082c7 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng @@ -7,3 +7,4 @@ $wb['priority_txt'] = 'Priorita'; $wb['active_txt'] = 'AktivnÃ'; $wb['limit_spamfilter_wblist_txt'] = 'Dosažen maximálnà poÄet záznamů pro bÃlou / Äernou listinu pro Váš úÄet.'; ?> + diff --git a/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng index ad13897004..65ac33365c 100644 --- a/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng +++ b/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng @@ -7,3 +7,4 @@ $wb['rid_txt'] = 'Uživatel'; $wb['email_txt'] = 'Emaily na bÃlé listinÄ›'; $wb['add_new_record_txt'] = 'PÅ™idat záznam na bÃlou listinu'; ?> + diff --git a/interface/web/mail/lib/lang/cz_user_quota_stats_list.lng b/interface/web/mail/lib/lang/cz_user_quota_stats_list.lng index f60e616517..d53237fb3d 100755 --- a/interface/web/mail/lib/lang/cz_user_quota_stats_list.lng +++ b/interface/web/mail/lib/lang/cz_user_quota_stats_list.lng @@ -1,8 +1,9 @@ <?php -$wb['list_head_txt'] = 'Mailbox kvóta'; +$wb['list_head_txt'] = 'Kvóta e-mailové schránky'; $wb['quota_txt'] = 'Kvóta'; $wb['name_txt'] = 'Jméno'; $wb['email_txt'] = 'E-mailová adresa'; $wb['used_txt'] = 'Využité mÃsto'; -$wb['percentage_txt'] = 'Used %'; +$wb['percentage_txt'] = 'Využité mÃsto v %'; ?> + diff --git a/interface/web/mail/lib/lang/de.lng b/interface/web/mail/lib/lang/de.lng index 91418972dd..12b6ba7045 100644 --- a/interface/web/mail/lib/lang/de.lng +++ b/interface/web/mail/lib/lang/de.lng @@ -46,3 +46,4 @@ $wb['Domain Alias'] = 'E-Mail Domain Alias'; $wb['Relay Recipients'] = 'Relay Empfänger'; $wb['Mailbox quota'] = 'E-Mail Konto Speichernutzung'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_alias.lng b/interface/web/mail/lib/lang/de_mail_alias.lng index c11499effa..572c09a9c1 100644 --- a/interface/web/mail/lib/lang/de_mail_alias.lng +++ b/interface/web/mail/lib/lang/de_mail_alias.lng @@ -12,3 +12,4 @@ $wb['domain_txt'] = 'Domain'; $wb['duplicate_email_alias_txt'] = 'Dieser E-Mail Alias existiert bereits.'; $wb['source_txt'] = 'Alias'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_alias_list.lng b/interface/web/mail/lib/lang/de_mail_alias_list.lng index e741d02b3b..7c0c1145ae 100644 --- a/interface/web/mail/lib/lang/de_mail_alias_list.lng +++ b/interface/web/mail/lib/lang/de_mail_alias_list.lng @@ -6,3 +6,4 @@ $wb['destination_txt'] = 'Ziel'; $wb['email_txt'] = 'E-Mail Adresse'; $wb['add_new_record_txt'] = 'Neuen E-Mail Alias hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng index f75bd1659c..38d775f444 100644 --- a/interface/web/mail/lib/lang/de_mail_aliasdomain.lng +++ b/interface/web/mail/lib/lang/de_mail_aliasdomain.lng @@ -9,3 +9,4 @@ $wb['source_error_empty'] = 'Quell Domain ist leer.'; $wb['source_error_unique'] = 'Quell Domain duplizieren.'; $wb['source_error_regex'] = 'Ungültiger Quell Domainname.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng index c386d429bc..d7ae9aeaa1 100644 --- a/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng +++ b/interface/web/mail/lib/lang/de_mail_aliasdomain_list.lng @@ -5,3 +5,4 @@ $wb['source_txt'] = 'Quelle'; $wb['destination_txt'] = 'Ziel'; $wb['add_new_record_txt'] = 'Neuen E-Mail Domain Alias hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_blacklist.lng b/interface/web/mail/lib/lang/de_mail_blacklist.lng index 4611dadd06..474d1ad41a 100644 --- a/interface/web/mail/lib/lang/de_mail_blacklist.lng +++ b/interface/web/mail/lib/lang/de_mail_blacklist.lng @@ -7,3 +7,4 @@ $wb['source_error_notempty'] = 'Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filter für Ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng index b169909112..03b1b46e79 100644 --- a/interface/web/mail/lib/lang/de_mail_blacklist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_blacklist_list.lng @@ -8,3 +8,4 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Neuen Blacklist Eintrag hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_content_filter.lng b/interface/web/mail/lib/lang/de_mail_content_filter.lng index 9ea5422498..48348b20af 100644 --- a/interface/web/mail/lib/lang/de_mail_content_filter.lng +++ b/interface/web/mail/lib/lang/de_mail_content_filter.lng @@ -7,3 +7,4 @@ $wb['action_txt'] = 'Aktion'; $wb['active_txt'] = 'Aktiv'; $wb['pattern_error_empty'] = 'Zeichenkette ist leer'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng index 126f23ce4e..930f1e5378 100644 --- a/interface/web/mail/lib/lang/de_mail_content_filter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_content_filter_list.lng @@ -6,3 +6,4 @@ $wb['pattern_txt'] = 'Zeichenkette'; $wb['action_txt'] = 'Aktion'; $wb['add_new_record_txt'] = 'Neuen Inhaltsfilter hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_domain.lng b/interface/web/mail/lib/lang/de_mail_domain.lng index ff6da2ab12..85028d9ce5 100644 --- a/interface/web/mail/lib/lang/de_mail_domain.lng +++ b/interface/web/mail/lib/lang/de_mail_domain.lng @@ -11,3 +11,4 @@ $wb['limit_maildomain_txt'] = 'Die maximale Anzahl an E-Mail Domains für Ihr Ko $wb['policy_txt'] = 'Spamfilter'; $wb['no_policy'] = '- nicht aktiviert -'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng index 403bb90fee..3f5bde4e64 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_admin_list.lng @@ -6,3 +6,4 @@ $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['active_txt'] = 'Aktiv'; $wb['sys_groupid_txt'] = 'Kunde'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng index 9f37e56697..6c63bf26e9 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_catchall.lng @@ -9,3 +9,4 @@ $wb['limit_mailcatchall_txt'] = 'Die maximale Anzahl an Catchall Einträgen für $wb['source_txt'] = 'Quelle'; $wb['destination_error_isemail'] = 'Das Ziel ist keine gültige E-Mail Adresse.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng index 558cb5c9f9..7ce05d321b 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_catchall_list.lng @@ -7,3 +7,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neuen Catchall hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_domain_list.lng b/interface/web/mail/lib/lang/de_mail_domain_list.lng index ff25a5817d..3a7a393142 100644 --- a/interface/web/mail/lib/lang/de_mail_domain_list.lng +++ b/interface/web/mail/lib/lang/de_mail_domain_list.lng @@ -5,3 +5,4 @@ $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; $wb['active_txt'] = 'Aktiv'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_forward.lng b/interface/web/mail/lib/lang/de_mail_forward.lng index a392ac4e33..56a82afa6c 100644 --- a/interface/web/mail/lib/lang/de_mail_forward.lng +++ b/interface/web/mail/lib/lang/de_mail_forward.lng @@ -7,3 +7,4 @@ $wb['duplicate_mailbox_txt'] = 'Es existiert bereits ein E-Mail Konto mit dieser $wb['domain_txt'] = 'Domain'; $wb['source_txt'] = 'Quell E-Mail Adresse'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_forward_list.lng b/interface/web/mail/lib/lang/de_mail_forward_list.lng index 99b6ab5ea4..01b295061c 100644 --- a/interface/web/mail/lib/lang/de_mail_forward_list.lng +++ b/interface/web/mail/lib/lang/de_mail_forward_list.lng @@ -6,3 +6,4 @@ $wb['destination_txt'] = 'Ziel'; $wb['email_txt'] = 'E-Mail'; $wb['add_new_record_txt'] = 'Neue E-Mail Weiterleitung hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_get.lng b/interface/web/mail/lib/lang/de_mail_get.lng index e6064caba8..4100c3844b 100644 --- a/interface/web/mail/lib/lang/de_mail_get.lng +++ b/interface/web/mail/lib/lang/de_mail_get.lng @@ -14,5 +14,6 @@ $wb['source_password_error_isempty'] = 'Passwort ist leer.'; $wb['destination_error_isemail'] = 'Kein Ziel gewählt.'; $wb['source_server_error_regex'] = 'POP3/IMAP Server ist kein gültiger Domainname.'; $wb['source_read_all_txt'] = 'Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)'; -$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können "E-Mails nach Empfang löschen" = nein nicht zusammen mit "Alle E-Mails abrufen (inkl. bereits gelesene E-Mails)" = ja benutzen.'; +$wb['error_delete_read_all_combination'] = 'Unzulässige Kombination von Optionen. Sie können '; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_get_list.lng b/interface/web/mail/lib/lang/de_mail_get_list.lng index d192358122..a0ee458e8a 100644 --- a/interface/web/mail/lib/lang/de_mail_get_list.lng +++ b/interface/web/mail/lib/lang/de_mail_get_list.lng @@ -7,3 +7,4 @@ $wb['source_username_txt'] = 'Benutzername'; $wb['destination_txt'] = 'Ziel'; $wb['add_new_record_txt'] = 'Neues Konto hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist.lng b/interface/web/mail/lib/lang/de_mail_mailinglist.lng index 1d143b690c..04320e016b 100644 --- a/interface/web/mail/lib/lang/de_mail_mailinglist.lng +++ b/interface/web/mail/lib/lang/de_mail_mailinglist.lng @@ -20,3 +20,4 @@ $wb['listname_error_unique'] = 'Es beseht bereits eine Mailingliste mit diesem N $wb['email_error_isemail'] = 'Die E-Mail Adresse ist falsch.'; $wb['mailinglist_txt'] = 'Mailingliste'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng index 3eee785f26..c9959f0007 100644 --- a/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_mailinglist_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Mailinglisten'; $wb['domain_txt'] = 'Domain'; $wb['listname_txt'] = 'Listenname'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng index 37a2401071..1ab7da86d1 100644 --- a/interface/web/mail/lib/lang/de_mail_relay_recipient.lng +++ b/interface/web/mail/lib/lang/de_mail_relay_recipient.lng @@ -7,3 +7,4 @@ $wb['source_error_notempty'] = 'Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng index fc5d6f47c5..ec6574a590 100644 --- a/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng +++ b/interface/web/mail/lib/lang/de_mail_relay_recipient_list.lng @@ -7,3 +7,4 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Neuen Relay Empfänger hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter.lng b/interface/web/mail/lib/lang/de_mail_spamfilter.lng index b133a4129b..f8c0778674 100644 --- a/interface/web/mail/lib/lang/de_mail_spamfilter.lng +++ b/interface/web/mail/lib/lang/de_mail_spamfilter.lng @@ -15,3 +15,4 @@ $wb['email_error_unique'] = 'Es existiert bereits ein Spamfilter Eintrag für di $wb['spam_redirect_maildir_purge_txt'] = 'Lösche E-Mail Verzeichnis nach'; $wb['days_txt'] = 'Tagen.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng index 95c7d406a5..7ccd9f5ffa 100644 --- a/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_spamfilter_list.lng @@ -6,3 +6,4 @@ $wb['server_name_txt'] = 'Servername'; $wb['email_txt'] = 'E-Mail'; $wb['add_new_record_txt'] = 'Neuen Spamfilter Eintrag hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_transport.lng b/interface/web/mail/lib/lang/de_mail_transport.lng index 873036f947..578afe8e79 100644 --- a/interface/web/mail/lib/lang/de_mail_transport.lng +++ b/interface/web/mail/lib/lang/de_mail_transport.lng @@ -9,3 +9,4 @@ $wb['active_txt'] = 'Aktiv'; $wb['limit_mailrouting_txt'] = 'Die maximale Anzahl an E-Mail Routen für Ihr Konto wurde erreicht.'; $wb['transport_txt'] = 'Transport'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_transport_list.lng b/interface/web/mail/lib/lang/de_mail_transport_list.lng index 6c9f8656c4..213b3d28ae 100644 --- a/interface/web/mail/lib/lang/de_mail_transport_list.lng +++ b/interface/web/mail/lib/lang/de_mail_transport_list.lng @@ -7,3 +7,4 @@ $wb['transport_txt'] = 'Transport'; $wb['sort_order_txt'] = 'Sortiert nach'; $wb['add_new_record_txt'] = 'Neuen Transport hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_user.lng b/interface/web/mail/lib/lang/de_mail_user.lng index 87a55631f2..d97af7b3b4 100644 --- a/interface/web/mail/lib/lang/de_mail_user.lng +++ b/interface/web/mail/lib/lang/de_mail_user.lng @@ -48,3 +48,4 @@ $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.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_user_filter.lng b/interface/web/mail/lib/lang/de_mail_user_filter.lng index 38c324eb8d..9a8d7dcd51 100644 --- a/interface/web/mail/lib/lang/de_mail_user_filter.lng +++ b/interface/web/mail/lib/lang/de_mail_user_filter.lng @@ -18,3 +18,4 @@ $wb['ends_with_txt'] = 'Endet mit'; $wb['move_to_txt'] = 'Verschieben nach'; $wb['delete_txt'] = 'Löschen'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng index 003ed0e244..695e404c82 100644 --- a/interface/web/mail/lib/lang/de_mail_user_filter_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_filter_list.lng @@ -5,3 +5,4 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Wollen Sie den Filter wirklich löschen?'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_user_list.lng b/interface/web/mail/lib/lang/de_mail_user_list.lng index a56fb6da14..50580a9469 100644 --- a/interface/web/mail/lib/lang/de_mail_user_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_list.lng @@ -6,3 +6,4 @@ $wb['add_new_record_txt'] = 'Neues E-Mail Konto hinzufügen'; $wb['name_txt'] = 'Realname'; $wb['login_txt'] = 'Anmelden'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng index e9a1983946..3291ae4270 100644 --- a/interface/web/mail/lib/lang/de_mail_user_stats_list.lng +++ b/interface/web/mail/lib/lang/de_mail_user_stats_list.lng @@ -6,3 +6,4 @@ $wb['last_month_txt'] = 'Vergangenes Monat'; $wb['this_year_txt'] = 'Aktuelles Jahr'; $wb['last_year_txt'] = 'Vergangenes Jahr'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_whitelist.lng b/interface/web/mail/lib/lang/de_mail_whitelist.lng index 1506deba3f..d09be9a48d 100644 --- a/interface/web/mail/lib/lang/de_mail_whitelist.lng +++ b/interface/web/mail/lib/lang/de_mail_whitelist.lng @@ -7,3 +7,4 @@ $wb['source_error_notempty'] = 'E-Mail Adresse ist leer.'; $wb['type_txt'] = 'Typ'; $wb['limit_mailfilter_txt'] = 'Die maximale Anzahl an E-Mail Filtern für Ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng index bcd4ccb4e1..cf511a5654 100644 --- a/interface/web/mail/lib/lang/de_mail_whitelist_list.lng +++ b/interface/web/mail/lib/lang/de_mail_whitelist_list.lng @@ -8,3 +8,4 @@ $wb['recipient_txt'] = 'Empfänger'; $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen'; $wb['access_txt'] = 'Zugriff'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng index 1dd4c6e3fa..9be7f067cf 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist.lng @@ -7,3 +7,4 @@ $wb['priority_txt'] = 'Priorität'; $wb['active_txt'] = 'Aktiv'; $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng index 7ba623b657..a0fe0722c7 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_blacklist_list.lng @@ -7,3 +7,4 @@ $wb['rid_txt'] = 'Benutzer'; $wb['email_txt'] = 'Blacklisted E-Mail Adressen'; $wb['add_new_record_txt'] = 'Blacklist Eintrag hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_config.lng b/interface/web/mail/lib/lang/de_spamfilter_config.lng index 2cf223259b..d00b2b15d0 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_config.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_config.lng @@ -18,3 +18,4 @@ $wb['relayhost_password_txt'] = 'Relayhost Passwort'; $wb['mailbox_size_limit_txt'] = 'E-Mail Kontogrössenlimit'; $wb['message_size_limit_txt'] = 'Nachrichtengrössenlimit'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng index db92a4bd07..579d3155de 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_config_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_config_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Serverkonfiguration'; $wb['server_name_txt'] = 'Server'; $wb['server_id_txt'] = 'Server ID'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy.lng b/interface/web/mail/lib/lang/de_spamfilter_policy.lng index 32acca4686..60f8b86acd 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_policy.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_policy.lng @@ -36,3 +36,4 @@ $wb['spam_admin_txt'] = 'SPAM Administrator'; $wb['message_size_limit_txt'] = 'Nachrichtengrößen Limit'; $wb['banned_rulenames_txt'] = 'Banned Richtliniennamen'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng index b5ec8e98c2..02083ef5d1 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_policy_list.lng @@ -7,3 +7,4 @@ $wb['banned_files_lover_txt'] = 'Gesperrte Dateien Liebhaber'; $wb['bad_header_lover_txt'] = 'Ungültige Header Liebhaber'; $wb['add_new_record_txt'] = 'Richtlinien Eintrag hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_users.lng b/interface/web/mail/lib/lang/de_spamfilter_users.lng index b7f6cd496b..cf9f0cd221 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_users.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_users.lng @@ -8,3 +8,4 @@ $wb['local_txt'] = 'Lokal'; $wb['email_error_notempty'] = 'Die E-Mail-Adresse darf nicht leer sein.'; $wb['fullname_error_notempty'] = 'Der Name darf nicht leer sein.'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng index 8e53193f70..89a5983289 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_users_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_users_list.lng @@ -8,3 +8,4 @@ $wb['fullname_txt'] = 'Name'; $wb['email_txt'] = 'E-Mail Adresse'; $wb['add_new_record_txt'] = 'Spamfilterbenutzer hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng index d388432c66..bb8278189d 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist.lng @@ -7,3 +7,4 @@ $wb['priority_txt'] = 'Priorität'; $wb['active_txt'] = 'Aktiv'; $wb['limit_spamfilter_wblist_txt'] = 'Die maximale Anzahl an White- oder Blacklist Einträgen für Ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng index 4d7769d2aa..ed8a220898 100644 --- a/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng +++ b/interface/web/mail/lib/lang/de_spamfilter_whitelist_list.lng @@ -7,3 +7,4 @@ $wb['rid_txt'] = 'Benutzer'; $wb['email_txt'] = 'Whitelisted E-Mail Adresse'; $wb['add_new_record_txt'] = 'Whitelist Eintrag hinzufügen'; ?> + diff --git a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng index beb9c18eb9..372c7b37fe 100755 --- a/interface/web/mail/lib/lang/de_user_quota_stats_list.lng +++ b/interface/web/mail/lib/lang/de_user_quota_stats_list.lng @@ -6,3 +6,4 @@ $wb['email_txt'] = 'E-Mail Adresse'; $wb['used_txt'] = 'Verbrauchter Speicherplatz'; $wb['percentage_txt'] = 'Verbraucht in %'; ?> + diff --git a/interface/web/mail/lib/lang/el.lng b/interface/web/mail/lib/lang/el.lng index f8cadc62f0..74c51a8931 100644 --- a/interface/web/mail/lib/lang/el.lng +++ b/interface/web/mail/lib/lang/el.lng @@ -11,7 +11,7 @@ $wb['Email Forward'] = 'Email Î Ïοώθησης'; $wb['Get Email'] = 'Λήψη Email'; $wb['Spamfilter'] = 'ΦίλτÏο Spam'; $wb['Email Routing'] = 'ΔÏομολόγηση Email'; -$wb['Email transport'] = 'ΜεταφοÏά Email'; +$wb['Email transport'] = 'ΔÏομολογήση Email'; $wb['Mailbox'] = 'ΘυÏίδα'; $wb['Autoresponder'] = 'Αυτόματη απάντηση'; $wb['Mail Filter'] = 'ΦίλτÏο Mail'; @@ -44,5 +44,5 @@ $wb['Content Filter'] = 'ΦίλτÏο ΠεÏιεχομÎνου'; $wb['Global Filters'] = 'Καθολικά ΦίλτÏα'; $wb['Domain Alias'] = 'Ψευδώνυμο Domain'; $wb['Relay Recipients'] = 'ΠαÏαλήπτες Relay'; -$wb['Mailbox quota'] = 'Mailbox quota'; +$wb['Mailbox quota'] = 'ÎŒÏιο θυÏίδας Mail'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_alias.lng b/interface/web/mail/lib/lang/el_mail_alias.lng index 7915af451c..48d35a01ab 100644 --- a/interface/web/mail/lib/lang/el_mail_alias.lng +++ b/interface/web/mail/lib/lang/el_mail_alias.lng @@ -9,6 +9,6 @@ $wb['destination_error_isemail'] = 'Η διεÏθυνση Email παÏαλήπτ $wb['limit_mailalias_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των ψευδωνÏμων email για τον λογαÏιασμό σας.'; $wb['duplicate_mailbox_txt'] = 'ΥπάÏχει ήδη μια θυÏίδα με αυτή τη διεÏθυνση email'; $wb['domain_txt'] = 'Domain'; -$wb['duplicate_email_alias_txt'] = 'This email alias does already exist.'; -$wb['source_txt'] = 'Alias'; +$wb['duplicate_email_alias_txt'] = 'Το ψευδώνυμο για το email υπάÏχει ήδη.'; +$wb['source_txt'] = 'Ψευδώνυμο'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_domain_catchall.lng b/interface/web/mail/lib/lang/el_mail_domain_catchall.lng index 43c0bdf565..fc5c0d7bb5 100644 --- a/interface/web/mail/lib/lang/el_mail_domain_catchall.lng +++ b/interface/web/mail/lib/lang/el_mail_domain_catchall.lng @@ -6,6 +6,6 @@ $wb['domain_error_unique'] = 'ΥπάÏχει ήδη μία εγγÏαφή Catcha $wb['no_domain_perm'] = 'Δεν Îχετε δικαιώματα για αυτό το domain.'; $wb['domain_error_regex'] = 'Μη ÎγκÏÏ…Ïο όνομα domain ή το όνομα πεÏιÎχει μη επιτÏεπόμενους χαÏακτήÏες'; $wb['limit_mailcatchall_txt'] = 'Το μÎγιστο πλήθος των email catchall για τον λογαÏιασμό σας, Îχει εξαντληθεί.'; -$wb['source_txt'] = 'Source'; -$wb['destination_error_isemail'] = 'Destination is no valid email address.'; +$wb['source_txt'] = 'Πηγή'; +$wb['destination_error_isemail'] = 'Ο Ï€ÏοοÏισμός δεν είναι ÎγκυÏη διεÏθυνση email.'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_forward.lng b/interface/web/mail/lib/lang/el_mail_forward.lng index ba166179d5..78ce691b0b 100644 --- a/interface/web/mail/lib/lang/el_mail_forward.lng +++ b/interface/web/mail/lib/lang/el_mail_forward.lng @@ -5,5 +5,5 @@ $wb['active_txt'] = 'ΕνεÏγό'; $wb['limit_mailforward_txt'] = 'Το μÎγιστο πλήθος των email forwarders για τον λογαÏισμό σας, Îχει εξαντληθεί'; $wb['duplicate_mailbox_txt'] = 'ΥπάÏχει ήδη μια θυÏίδα με αυτή τη διεÏθυνση email'; $wb['domain_txt'] = 'Domain'; -$wb['source_txt'] = 'Source Email'; +$wb['source_txt'] = 'Πηγή Email'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_get.lng b/interface/web/mail/lib/lang/el_mail_get.lng index 500b16aba8..1ba5c20ab3 100644 --- a/interface/web/mail/lib/lang/el_mail_get.lng +++ b/interface/web/mail/lib/lang/el_mail_get.lng @@ -4,7 +4,7 @@ $wb['type_txt'] = 'ΤÏπος'; $wb['source_server_txt'] = 'Pop3/Imap Server'; $wb['source_username_txt'] = 'Όνομα ΧÏήστη'; $wb['source_password_txt'] = 'Συνθηματικό'; -$wb['source_delete_txt'] = 'ΔιαγÏαφή email μετά την απόκτηση'; +$wb['source_delete_txt'] = 'ΔιαγÏαφή email μετά την ανάκτηση'; $wb['destination_txt'] = 'Î ÏοοÏισμός'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['limit_fetchmail_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των εγγÏαφών Fetchmail για τον λογαÏιασμό σας.'; @@ -14,5 +14,5 @@ $wb['source_password_error_isempty'] = 'Το Συνθηματικό δεν Îχ $wb['destination_error_isemail'] = 'Δεν επιλÎχθηκε Ï€ÏοοÏισμός.'; $wb['source_server_error_regex'] = 'Το όνομα του Pop3/Imap Server δεν είναι ÎγκυÏο.'; $wb['source_read_all_txt'] = 'Ανάκτηση όλων των emails (συμπεÏ. αναγνωσμÎνων mails)'; -$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'] = 'Μη ÎγκυÏος συνδυασμός επιλογών. Δεν μποÏείτε να χÏησιμοποιήσετε την επιλογή \\"ΔιαγÏαφή email μετά την ανάκτηση\\" = ΟΧΙ μαζί με \\"Ανάκτηση όλων των emails\\" = ÎΑΙ'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_mailinglist.lng b/interface/web/mail/lib/lang/el_mail_mailinglist.lng index 1942ea5a5b..6384e115f2 100644 --- a/interface/web/mail/lib/lang/el_mail_mailinglist.lng +++ b/interface/web/mail/lib/lang/el_mail_mailinglist.lng @@ -2,21 +2,21 @@ $wb['limit_mailmailinglist_txt'] = 'Το ÏŒÏιο ξεπεÏάστηκε.'; $wb['domain_error_empty'] = 'Το Domain είναι άδειο.'; $wb['listname_error_empty'] = 'Η λίστα είναι άδεια.'; -$wb['domain_error_regex'] = 'Το όνομα domain δεν είναι ÎγκυÏο/'; +$wb['domain_error_regex'] = 'Το όνομα domain δεν είναι ÎγκυÏο'; $wb['email_in_use_txt'] = 'Το email χÏησιμοποιείται ήδη.'; $wb['no_domain_perm'] = 'Δεν Îχετε δικαιώματα σε αυτό το domain.'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['listname_txt'] = 'Όνομα λίστας'; $wb['client_txt'] = 'Πελάτης'; $wb['email_txt'] = 'Email'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['listname_error_unique'] = 'There is already a mailinlist with name on the server. Please choose a different listname.'; -$wb['email_error_isemail'] = 'Email address is invalid.'; -$wb['mailinglist_txt'] = 'Mailing list'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα συνθηματικά ταιÏιάζουν.'; +$wb['listname_error_unique'] = 'ΥπάÏχει ήδη μια λίστα mail με αυτό το όνομα στον server. ΠαÏακαλοÏμε επιλÎξτε Îνα διαφοÏετικό όνομα.'; +$wb['email_error_isemail'] = 'Η διεÏθυνση email δεν είναι ÎγκυÏη'; +$wb['mailinglist_txt'] = 'Λίστα Mail'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_spamfilter.lng b/interface/web/mail/lib/lang/el_mail_spamfilter.lng index 48c4eaa4cd..5c6d90431f 100644 --- a/interface/web/mail/lib/lang/el_mail_spamfilter.lng +++ b/interface/web/mail/lib/lang/el_mail_spamfilter.lng @@ -1,12 +1,12 @@ <?php $wb['email_txt'] = 'Email'; -$wb['spam_rewrite_score_int_txt'] = 'Î£ÎºÎ¿Ï Î•Ï€Î±Î½ÎµÎ³Î³Î±Ï†Î®Ï‚'; +$wb['spam_rewrite_score_int_txt'] = 'Î£ÎºÎ¿Ï Î•Ï€Î±Î½ÎµÎ³Î³Ïαφής'; $wb['spam_redirect_score_int_txt'] = 'Î£ÎºÎ¿Ï Î‘Î½Î±ÎºÎ±Ï„ÎµÏθυνσης'; $wb['spam_delete_score_int_txt'] = 'Î£ÎºÎ¿Ï Î”Î¹Î±Î³Ïαφής'; -$wb['spam_rewrite_subject_txt'] = 'Επανεγγαφή τίτλου'; +$wb['spam_rewrite_subject_txt'] = 'ΕπανεγγÏαφή τίτλου'; $wb['spam_redirect_maildir_txt'] = 'ΑνακατεÏθυνση θυÏίδας'; $wb['active_txt'] = 'ΕνεÏγό'; -$wb['spam_rewrite_txt'] = 'Επανεγγαφή τίτλου πάνω από αυτό το σκοÏ.'; +$wb['spam_rewrite_txt'] = 'ΕπανεγγÏαφή τίτλου πάνω από αυτό το σκοÏ.'; $wb['spam_redirect_txt'] = 'ΑνακατεÏθυνση email με μεγαλÏτεÏο ÏƒÎºÎ¿Ï ÏƒÎµ αυτή την θυÏίδα.'; $wb['spam_delete_txt'] = 'ΔιαγÏαφή email με μεγαλÏτεÏο σκοÏ'; $wb['disable_txt'] = 'Σημείωση: Για να απενεÏγοποιήσετε μια επιλογή φίλτÏου, βάλτε για ÏƒÎºÎ¿Ï 0.00.'; diff --git a/interface/web/mail/lib/lang/el_mail_transport.lng b/interface/web/mail/lib/lang/el_mail_transport.lng index 1b1a5c7ab4..8f6c2903b3 100644 --- a/interface/web/mail/lib/lang/el_mail_transport.lng +++ b/interface/web/mail/lib/lang/el_mail_transport.lng @@ -7,5 +7,5 @@ $wb['mx_txt'] = 'Îα μην γίνει lookup στον MX'; $wb['sort_order_txt'] = 'Ταξινόμηση κατά'; $wb['active_txt'] = 'ΕνεÏγό'; $wb['limit_mailrouting_txt'] = 'Το μÎγιστο πλήθος των δÏομολογήσεων email για τον λογαÏιασμό σας, εξαντλήθηκε.'; -$wb['transport_txt'] = 'Transport'; +$wb['transport_txt'] = 'ΔÏομολογήση'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_transport_list.lng b/interface/web/mail/lib/lang/el_mail_transport_list.lng index 249eee9e5c..d809edf0b1 100644 --- a/interface/web/mail/lib/lang/el_mail_transport_list.lng +++ b/interface/web/mail/lib/lang/el_mail_transport_list.lng @@ -3,7 +3,7 @@ $wb['list_head_txt'] = 'Î ÏοχωÏημÎνη ΔÏομολογήση Email '; $wb['active_txt'] = 'ΕνεÏγό'; $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; -$wb['transport_txt'] = 'ΜεταφοÏά'; +$wb['transport_txt'] = 'ΔÏομολογήση'; $wb['sort_order_txt'] = 'Ταξινόμηση κατά'; -$wb['add_new_record_txt'] = 'ÎÎα μεταφοÏά'; +$wb['add_new_record_txt'] = 'ÎÎα ΔÏομολογήση'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_user.lng b/interface/web/mail/lib/lang/el_mail_user.lng index 528e35c3a9..9d2fcdadab 100644 --- a/interface/web/mail/lib/lang/el_mail_user.lng +++ b/interface/web/mail/lib/lang/el_mail_user.lng @@ -2,7 +2,7 @@ $wb['custom_mailfilter_txt'] = 'Î ÏοσαÏμοσμÎνο φίλτÏο'; $wb['email_txt'] = 'Email'; $wb['cryptpwd_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη ΣυνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['active_txt'] = 'ΕνεÏγό'; $wb['email_error_isemail'] = 'Η διεÏθυνση Email δεν είναι ÎγκυÏη.'; $wb['email_error_unique'] = 'Διπλή διεÏθυνση Email.'; @@ -16,13 +16,13 @@ $wb['no_domain_perm'] = 'Δεν Îχετε δικαιώματα σε αυτό Ï„ $wb['error_no_pwd'] = 'Το συνθηματικό δεν Îχει οÏιστεί.'; $wb['quota_error_isint'] = 'Το μÎγεθος της θυÏίδας Ï€ÏÎπει να είναι αÏιθμός.'; $wb['quota_txt'] = 'ÎŒÏιο χώÏου'; -$wb['server_id_txt'] = 'Aerver_id'; +$wb['server_id_txt'] = 'Server_id'; $wb['password_txt'] = 'Συνθηματικό'; $wb['maildir_txt'] = 'Maildir'; $wb['postfix_txt'] = 'ΕνεÏγοποίηση Λήψης'; $wb['access_txt'] = 'ΕνεÏγοποίηση Î Ïόσβασης'; $wb['policy_txt'] = 'ΦίλτÏο Spam'; -$wb['no_policy'] = '- ανενεÏγή -'; +$wb['no_policy'] = '- ανενεÏγό -'; $wb['limit_mailbox_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των θυÏίδων για τον λογαÏιασμό σας.'; $wb['limit_mailquota_txt'] = 'Έχετε φτάσει στο μÎγεστο χώÏο της θυÏίδα σας.Ο μÎγιστος διαθÎσιμος χώÏος σε MB είναι'; $wb['disableimap_txt'] = 'ΑπενεÏγοποίηση IMAP'; @@ -41,10 +41,10 @@ $wb['login_error_unique'] = 'Το όνομα χÏησιμοποιείται ήδ $wb['login_error_regex'] = 'ΈγγυÏοι χαÏακτήÏες είναι οι A-Z, a-z, 0-9, ., _ και -.'; $wb['login_txt'] = 'Login (Ï€ÏοαιτεÏικά)'; $wb['error_login_email_txt'] = 'Το όνομα δεν επιτÏÎπεται. ΠαÏακαλοÏμε εισάγεται Îνα διαφοÏετικό όνομα ή χÏησιμοποιείστε την διεÏθυνση e-mail.'; -$wb['autoresponder_subject_txt'] = 'Email Subject'; -$wb['autoresponder_subject'] = 'Out of office reply'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['autoresponder_subject_txt'] = 'ΘÎμα Email'; +$wb['autoresponder_subject'] = 'Εκτός γÏαφείου'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα συνθηματικά ταιÏιάζουν.'; ?> diff --git a/interface/web/mail/lib/lang/el_mail_user_list.lng b/interface/web/mail/lib/lang/el_mail_user_list.lng index 7e3f57bb72..09613b4c4d 100644 --- a/interface/web/mail/lib/lang/el_mail_user_list.lng +++ b/interface/web/mail/lib/lang/el_mail_user_list.lng @@ -4,5 +4,5 @@ $wb['email_txt'] = 'Email'; $wb['autoresponder_txt'] = 'Αυτόματη απάντηση'; $wb['add_new_record_txt'] = 'ÎÎα ΘυÏίδα'; $wb['name_txt'] = 'Î Ïαγματικό Όνομα'; -$wb['login_txt'] = 'Login'; +$wb['login_txt'] = 'Είσοδος'; ?> diff --git a/interface/web/mail/lib/lang/el_spamfilter_users.lng b/interface/web/mail/lib/lang/el_spamfilter_users.lng index 0a896b1b00..e838bb4495 100644 --- a/interface/web/mail/lib/lang/el_spamfilter_users.lng +++ b/interface/web/mail/lib/lang/el_spamfilter_users.lng @@ -5,6 +5,6 @@ $wb['policy_id_txt'] = 'Πολιτική'; $wb['email_txt'] = 'Email (Μοτίβο)'; $wb['fullname_txt'] = 'Όνομα'; $wb['local_txt'] = 'Τοπικός'; -$wb['email_error_notempty'] = 'The email address must not be empty.'; -$wb['fullname_error_notempty'] = 'The name must not be empty.'; +$wb['email_error_notempty'] = 'Η διεÏθυνση email δεν Ï€ÏÎπει να είναι κενή.'; +$wb['fullname_error_notempty'] = 'Το όνομα δεν Ï€ÏÎπει να είναι κενό.'; ?> diff --git a/interface/web/mail/lib/lang/el_user_quota_stats_list.lng b/interface/web/mail/lib/lang/el_user_quota_stats_list.lng index 8c40407037..2e8651f89d 100755 --- a/interface/web/mail/lib/lang/el_user_quota_stats_list.lng +++ b/interface/web/mail/lib/lang/el_user_quota_stats_list.lng @@ -4,5 +4,5 @@ $wb['quota_txt'] = 'ÎŒÏιο'; $wb['name_txt'] = 'Όνομα'; $wb['email_txt'] = 'ΔιεÏθυνση Email'; $wb['used_txt'] = 'ΧώÏος σε χÏήση'; -$wb['percentage_txt'] = 'Used %'; +$wb['percentage_txt'] = 'ΧÏήση %'; ?> diff --git a/interface/web/mail/lib/lang/en_mail_domain.lng b/interface/web/mail/lib/lang/en_mail_domain.lng index 5ae48bad0b..ad93100696 100644 --- a/interface/web/mail/lib/lang/en_mail_domain.lng +++ b/interface/web/mail/lib/lang/en_mail_domain.lng @@ -2,19 +2,12 @@ $wb["server_id_txt"] = 'Server'; $wb["domain_txt"] = 'Domain'; $wb["type_txt"] = 'Type'; -$wb["active_txt"] = 'Active'; -$wb["dkim_txt"] = 'enable DKIM'; -$wb["dkim_private_txt"] = 'DKIM Private-key'; -$wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; -$wb["dkim_generate_txt"] = 'Generate DKIM Private-key'; -$wb["dkim_dns_txt"] = 'DNS-Record (TYPE TXT)<br><br>add this record to your DNS'; -$wb["dkim_private_key_error"] = 'Invalid DKIM-Private key'; +$wb["active_txt"] = 'Active'; $wb["domain_error_empty"] = 'Domain is empty.'; $wb["domain_error_unique"] = 'Duplicate Domain.'; $wb["domain_error_regex"] = 'Invalid domain name.'; -$wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)'; $wb["client_txt"] = 'Client'; $wb["limit_maildomain_txt"] = 'The max. number of email domains for your account is reached.'; $wb["policy_txt"] = 'Spamfilter'; $wb["no_policy"] = '- not enabled -'; -?> +?> \ No newline at end of file diff --git a/interface/web/mail/mail_domain_dkim_create.php b/interface/web/mail/mail_domain_dkim_create.php deleted file mode 100644 index aab83a6d33..0000000000 --- a/interface/web/mail/mail_domain_dkim_create.php +++ /dev/null @@ -1,99 +0,0 @@ -<?php -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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. -*/ - -/* - This script is invoked by interface/web/mail/templates/mail_domain_edit.htm - to generate or show the DKIM Private-key. - - returns DKIM Private-Key and DKIM Public-Key -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); -require_once('../../lib/classes/validate_dkim.inc.php'); - -$validate_dkim=new validate_dkim (); - -//* Check permissions for module -$app->auth->check_module_permissions('mail'); - -header('Content-Type: text/xml; charset=utf-8'); -header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); - -/* - This function fix PHP's messing up POST input containing characters space, dot, - open square bracket and others to be compatible with with the deprecated register_globals -*/ -function getRealPOST() { - $pairs = explode("&", file_get_contents("php://input")); - $vars = array(); - foreach ($pairs as $pair) { - $nv = explode("=", $pair, 2); - $name = urldecode($nv[0]); - $value = $nv[1]; - $vars[$name] = $value; - } - return $vars; -} - -function pub_key($pubkey) { - $public_key=''; - foreach($pubkey as $values) $public_key=$public_key.$values."\n"; - return $public_key; -} -$_POST=getRealPOST(); - -switch ($_POST['action']) { - case 'create': /* create DKIM Private-key */ - exec('openssl rand -out /usr/local/ispconfig/server/temp/random-data.bin 4096',$output,$result); - exec('openssl genrsa -rand /usr/local/ispconfig/server/temp/random-data.bin 1024',$privkey,$result); - unlink("/usr/local/ispconfig/server/temp/random-data.bin"); - $private_key=''; - foreach($privkey as $values) $private_key=$private_key.$values."\n"; - if($validate_dkim->validate_post('private',$private_key)) { /* validate the $_POST-value */ - exec('echo '.escapeshellarg($private_key).'|openssl rsa -pubout -outform PEM',$pubkey,$result); - $public_key=pub_key($pubkey); - } else { $public_key='invalid key'; } - break; - case 'show': /* show the DNS-Record onLoad */ - $private_key=$_POST['pkey']; - if($validate_dkim->validate_post('private',$private_key)) { /* validate the $_POST-value */ - /* get the public-key */ - exec('echo '.escapeshellarg($private_key).'|openssl rsa -pubout -outform PEM',$pubkey,$result); - $public_key=pub_key($pubkey); - } else { $public_key='invalid key'; } - break; -} -echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; -echo "<formatname>\n"; -echo "<privatekey>".$private_key."</privatekey>\n"; -echo "<publickey>".$public_key."</publickey>\n"; -echo "</formatname>\n"; -?> diff --git a/interface/web/mail/templates/mail_domain_edit.htm b/interface/web/mail/templates/mail_domain_edit.htm index 6426e67bad..5a1b613792 100644 --- a/interface/web/mail/templates/mail_domain_edit.htm +++ b/interface/web/mail/templates/mail_domain_edit.htm @@ -59,27 +59,8 @@ {tmpl_var name='active'} </div> </div> - <div class="subsectiontoggle"><span></span>{tmpl_var name='dkim_settings_txt'}<em></em></div> - <div style="display:none;"> - <div class="ctrlHolder"> - <p class="label">{tmpl_var name='dkim_txt'}</p> - <div class="multiField"> - {tmpl_var name='dkim'} - </div> - </div> - <div class="ctrlHolder"> - <label for="dkim_private">{tmpl_var name='dkim_private_txt'}</label> - <textarea name="dkim_private" id="dkim_private" rows='10' cols='30'>{tmpl_var name='dkim_private'}</textarea> -<a href="javascript:setRequest('create','{tmpl_var name='domain'}')">{tmpl_var name='dkim_generate_txt'}</a> - </div> - <div class="ctrlHolder"> - <label for="dkim_public">{tmpl_var name='dkim_public_txt'}</label> - <textarea name="dkim_public" id="dkim_public" rows='5' cols='30' readonly>{tmpl_var name='dkim_public'}</textarea> - </div> - - </div> - </fieldset> - + </fieldset> + <input type="hidden" name="id" value="{tmpl_var name='id'}"> <input type="hidden" name="type" value="local"> @@ -87,7 +68,6 @@ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','mail/mail_domain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('mail/mail_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> </div> - </div> - -</div> -<script language="JavaScript" type="text/javascript" src="js/mail_domain_dkim.js"></script> + </div> + +</div> \ No newline at end of file diff --git a/interface/web/mailuser/lib/lang/cz.lng b/interface/web/mailuser/lib/lang/cz.lng index 8b4b58bc42..4c947bd5f8 100644 --- a/interface/web/mailuser/lib/lang/cz.lng +++ b/interface/web/mailuser/lib/lang/cz.lng @@ -7,3 +7,4 @@ $wb['Send copy'] = 'Poslat kopii na e-mail'; $wb['Spamfilter'] = 'Spamový filtr'; $wb['Email Filters'] = 'E-mailové filtry'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_index.lng b/interface/web/mailuser/lib/lang/cz_index.lng index 45af56ee8d..cb39d65ad6 100644 --- a/interface/web/mailuser/lib/lang/cz_index.lng +++ b/interface/web/mailuser/lib/lang/cz_index.lng @@ -10,3 +10,4 @@ $wb['unlimited_txt'] = 'Neomezený'; $wb['mb_txt'] = 'MB'; $wb['none_txt'] = 'Nenastaveno'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/cz_mail_user_autoresponder.lng index ef3aeb42da..5ed9a1f46e 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_autoresponder.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_autoresponder.lng @@ -11,3 +11,4 @@ $wb['autoresponder_active'] = 'Povolit automatický odpovÃdaÄ'; $wb['now_txt'] = 'NynÃ'; $wb['autoresponder_subject_txt'] = 'PÅ™edmÄ›t e-mailu'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng b/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng index 36f11a9baa..ef00aa2365 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng @@ -5,3 +5,4 @@ $wb['email_txt'] = 'E-mail'; $wb['cc_error_isemail'] = 'VyplnÄ›ná e-mailová adresa neplatná'; $wb['email_is_cc_error'] = 'VyplnÄ›ná e-mailová adresa a poslat kopii na e-mail adresu, nemůžou být stejné.'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_filter.lng b/interface/web/mailuser/lib/lang/cz_mail_user_filter.lng index 3df9d38c72..60bd6642a2 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_filter.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_filter.lng @@ -18,3 +18,4 @@ $wb['ends_with_txt'] = 'KonÄà na'; $wb['move_to_txt'] = 'PÅ™esunout do'; $wb['delete_txt'] = 'Smazat'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/cz_mail_user_filter_list.lng index 3c2593d6d4..c7198afa8e 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_filter_list.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_filter_list.lng @@ -6,3 +6,4 @@ $wb['page_txt'] = 'Stránka'; $wb['page_of_txt'] = 'z'; $wb['delete_confirmation'] = 'Opravdu chcete odstranit e-mail filter?'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_password.lng b/interface/web/mailuser/lib/lang/cz_mail_user_password.lng index 36555a2030..2d09b753b6 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_password.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_password.lng @@ -1,5 +1,5 @@ <?php -$wb['mailbox_password_txt'] = 'E-malový úÄet heslo'; +$wb['mailbox_password_txt'] = 'E-mailový úÄet heslo'; $wb['password_txt'] = 'Heslo'; $wb['password_strength_txt'] = 'SÃla hesla'; $wb['email_txt'] = 'E-mail'; @@ -8,3 +8,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/mailuser/lib/lang/cz_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/cz_mail_user_spamfilter.lng index 2a53036be6..00720f859d 100644 --- a/interface/web/mailuser/lib/lang/cz_mail_user_spamfilter.lng +++ b/interface/web/mailuser/lib/lang/cz_mail_user_spamfilter.lng @@ -5,3 +5,4 @@ $wb['email_txt'] = 'E-mail'; $wb['no_policy'] = '- nepovoleno -'; $wb['policy_txt'] = 'Politika'; ?> + diff --git a/interface/web/mailuser/lib/lang/de.lng b/interface/web/mailuser/lib/lang/de.lng index b373d456a0..7a40aa419a 100644 --- a/interface/web/mailuser/lib/lang/de.lng +++ b/interface/web/mailuser/lib/lang/de.lng @@ -7,3 +7,4 @@ $wb['Send copy'] = 'Kopie senden an'; $wb['Spamfilter'] = 'Spamfilter'; $wb['Email Filters'] = 'E-Mailfilter'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_index.lng b/interface/web/mailuser/lib/lang/de_index.lng index 522ddbc8db..d8eec65c23 100644 --- a/interface/web/mailuser/lib/lang/de_index.lng +++ b/interface/web/mailuser/lib/lang/de_index.lng @@ -10,3 +10,4 @@ $wb['unlimited_txt'] = 'Unlimitiert'; $wb['mb_txt'] = 'MB'; $wb['none_txt'] = 'Niemanden'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng index f8d4e46b12..ce28da041f 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_autoresponder.lng @@ -11,3 +11,4 @@ $wb['autoresponder_active'] = 'Autoresponder aktivieren'; $wb['now_txt'] = 'Jetzt'; $wb['autoresponder_subject_txt'] = 'Betreff'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng index b85077ea7c..6292bb5745 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_cc.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_cc.lng @@ -5,3 +5,4 @@ $wb['email_txt'] = 'E-Mail'; $wb['cc_error_isemail'] = 'E-Mail Adresse ungültig im -Kopie senden an- Feld'; $wb['email_is_cc_error'] = 'E-Mail Adresse und '; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng index fd93e64658..53cd51e16a 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_filter.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_filter.lng @@ -18,3 +18,4 @@ $wb['ends_with_txt'] = 'Endet mit'; $wb['move_to_txt'] = 'Verschieben nach'; $wb['delete_txt'] = 'Löschen'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng index 9abd40d7e3..a0b80bdb0d 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_filter_list.lng @@ -6,3 +6,4 @@ $wb['page_txt'] = 'Seite'; $wb['page_of_txt'] = 'von'; $wb['delete_confirmation'] = 'Möchten Sie die E-Mailfilter Regel wirklich löschen?'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_password.lng b/interface/web/mailuser/lib/lang/de_mail_user_password.lng index 5e5fe5e933..062ba6b22f 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_password.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_password.lng @@ -8,3 +8,4 @@ $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.'; ?> + diff --git a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng index 47ac53a006..019679a829 100644 --- a/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng +++ b/interface/web/mailuser/lib/lang/de_mail_user_spamfilter.lng @@ -5,3 +5,4 @@ $wb['email_txt'] = 'E-Mail'; $wb['no_policy'] = '- nicht aktiviert -'; $wb['policy_txt'] = 'Richtlinie'; ?> + diff --git a/interface/web/mailuser/lib/lang/el.lng b/interface/web/mailuser/lib/lang/el.lng index 114dec9b91..fae2ad9061 100644 --- a/interface/web/mailuser/lib/lang/el.lng +++ b/interface/web/mailuser/lib/lang/el.lng @@ -1,9 +1,9 @@ <?php -$wb['Email Account'] = 'Email Account'; -$wb['Overview'] = 'Overview'; -$wb['Password'] = 'Password'; -$wb['Autoresponder'] = 'Autoresponder'; -$wb['Send copy'] = 'Send copy'; -$wb['Spamfilter'] = 'Spamfilter'; -$wb['Email Filters'] = 'Email Filters'; +$wb['Email Account'] = 'ΛογαÏιασμός Email'; +$wb['Overview'] = 'Επισκόπηση'; +$wb['Password'] = 'Συνθηματικό'; +$wb['Autoresponder'] = 'Αυτόματη Απάντηση'; +$wb['Send copy'] = 'Αποστολή ΑντιγÏάφου'; +$wb['Spamfilter'] = 'ΦίλτÏο Spam'; +$wb['Email Filters'] = 'ΦίλτÏα Email'; ?> diff --git a/interface/web/mailuser/lib/lang/el_index.lng b/interface/web/mailuser/lib/lang/el_index.lng index 29fe9ea4f3..b182b45871 100644 --- a/interface/web/mailuser/lib/lang/el_index.lng +++ b/interface/web/mailuser/lib/lang/el_index.lng @@ -1,12 +1,12 @@ <?php -$wb['page_head_txt'] = 'Mailbox settings'; -$wb['page_desc_txt'] = 'Here you can edit the settings for the email account.'; -$wb['email_txt'] = 'Email address'; -$wb['login_txt'] = 'Login'; -$wb['server_address_txt'] = 'Mailserver address'; -$wb['cc_txt'] = 'Send copy to (CC)'; -$wb['quota_txt'] = 'Mailbox size'; -$wb['unlimited_txt'] = 'Unlimited'; +$wb['page_head_txt'] = 'Ρυθμίσεις θυÏίδας Email'; +$wb['page_desc_txt'] = 'Εδώ μποÏείτε να Ïυθμίσετε τον λογαÏιασμό email.'; +$wb['email_txt'] = 'ΔιεÏθυνση Email'; +$wb['login_txt'] = 'Είσοδος'; +$wb['server_address_txt'] = 'ΔιεÏθυνση Mailserver'; +$wb['cc_txt'] = 'Αποστολή αντιγÏάφου σε (CC)'; +$wb['quota_txt'] = 'ÎœÎγεθος θυÏίδας Email'; +$wb['unlimited_txt'] = 'ΑπεÏιόÏιστο'; $wb['mb_txt'] = 'MB'; -$wb['none_txt'] = 'None'; +$wb['none_txt'] = 'ΚανÎνα'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/el_mail_user_autoresponder.lng index 79f386a7dc..529ba60cac 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_autoresponder.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_autoresponder.lng @@ -1,13 +1,13 @@ <?php -$wb['mailbox_autoresponder_txt'] = 'Autoresponder'; -$wb['autoresponder_subject'] = 'Out of office reply'; -$wb['autoresponder_text_txt'] = 'Text'; -$wb['autoresponder_txt'] = 'Active'; -$wb['autoresponder_start_date_txt'] = 'Start on'; -$wb['autoresponder_start_date_isfuture'] = 'Start date cannot be in the past.'; -$wb['autoresponder_end_date_txt'] = 'End by'; -$wb['autoresponder_end_date_isgreater'] = 'End date must be set and be later than start date.'; -$wb['autoresponder_active'] = 'Enable the autoresponder'; -$wb['now_txt'] = 'Now'; -$wb['autoresponder_subject_txt'] = 'Betreff'; +$wb['mailbox_autoresponder_txt'] = 'Αυτόματη Απάντηση'; +$wb['autoresponder_subject'] = 'Απάντηση όταν είστε εκτός γÏαφείου'; +$wb['autoresponder_text_txt'] = 'Κείμενο'; +$wb['autoresponder_txt'] = 'ΕνεÏγή'; +$wb['autoresponder_start_date_txt'] = 'ΈναÏξη στις'; +$wb['autoresponder_start_date_isfuture'] = 'Η ημεÏομηνία ÎναÏξης δεν μποÏεί να είναι στο παÏελθόν.'; +$wb['autoresponder_end_date_txt'] = 'ΤÎλος στις'; +$wb['autoresponder_end_date_isgreater'] = 'Η ημεÏομηνία Ï„Îλους Ï€ÏÎπει να οÏιστεί και να είναι μετά την ημεÏομηνία ÎναÏξης.'; +$wb['autoresponder_active'] = 'ΕνεÏγοποίηση αυτόματης απάντησης'; +$wb['now_txt'] = 'ΤώÏα'; +$wb['autoresponder_subject_txt'] = 'Αυτόματη Απάντηση'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_cc.lng b/interface/web/mailuser/lib/lang/el_mail_user_cc.lng index dc2165a4fc..7b2080bbc5 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_cc.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_cc.lng @@ -1,7 +1,7 @@ <?php -$wb['mailbox_cc_txt'] = 'Send copy to email address'; -$wb['cc_txt'] = 'Send copy to'; +$wb['mailbox_cc_txt'] = 'Αποστολή αντιγÏάφου στο email'; +$wb['cc_txt'] = 'Αποστολή αντιγÏάφου σε'; $wb['email_txt'] = 'Email'; -$wb['cc_error_isemail'] = 'Email address invalid in -Send copy to- field'; -$wb['email_is_cc_error'] = 'Email address and send copy to address can not be the same.'; +$wb['cc_error_isemail'] = 'Μη ÎγκυÏη διεÏθυνση Email στο πεδίο -Αποστολή αντιγÏάφου σε-'; +$wb['email_is_cc_error'] = 'Η διεÏθυνση Email και η -Αποστολή αντιγÏάφου στο email- δεν μποÏοÏν να είναι ίδιες.'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_filter.lng b/interface/web/mailuser/lib/lang/el_mail_user_filter.lng index 2e74ffd4f7..bec79e639f 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_filter.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_filter.lng @@ -1,20 +1,20 @@ <?php -$wb['rulename_txt'] = 'Name'; -$wb['action_txt'] = 'Action'; -$wb['target_txt'] = 'Folder'; -$wb['active_txt'] = 'Active'; -$wb['rulename_error_empty'] = 'Name is empty.'; -$wb['searchterm_is_empty'] = 'Search term is empty.'; -$wb['source_txt'] = 'Source'; -$wb['target_error_regex'] = 'The target may only contain these characters: a-z, 0-9, -, ., _, and {space}'; -$wb['limit_mailfilter_txt'] = 'The max. number of mailfilters is reached.'; -$wb['subject_txt'] = 'Subject'; -$wb['from_txt'] = 'From'; -$wb['to_txt'] = 'To'; -$wb['contains_txt'] = 'Contains'; -$wb['is_txt'] = 'Is'; -$wb['begins_with_txt'] = 'Begins with'; -$wb['ends_with_txt'] = 'Ends with'; -$wb['move_to_txt'] = 'Move to'; -$wb['delete_txt'] = 'Delete'; +$wb['rulename_txt'] = 'Όνομα'; +$wb['action_txt'] = 'ΕνÎÏγεια'; +$wb['target_txt'] = 'Φάκελος'; +$wb['active_txt'] = 'ΕνεÏγό'; +$wb['rulename_error_empty'] = 'Το όνομα είναι κενό.'; +$wb['searchterm_is_empty'] = 'Ο ÏŒÏος αναζήτησης είναι κενός.'; +$wb['source_txt'] = 'Πηγή'; +$wb['target_error_regex'] = 'Ο στόχος μποÏεί να πεÏιÎχει μόνο αυτοÏÏ‚ τους χαÏακτήÏες: a-z, 0-9, -, ., _, και {κενό}'; +$wb['limit_mailfilter_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος φίλτÏων mail.'; +$wb['subject_txt'] = 'ΘÎμα'; +$wb['from_txt'] = 'Από'; +$wb['to_txt'] = 'Î Ïος'; +$wb['contains_txt'] = 'ΠεÏιÎχει'; +$wb['is_txt'] = 'Είναι'; +$wb['begins_with_txt'] = 'Ξεκινά με'; +$wb['ends_with_txt'] = 'Τελειώνει με'; +$wb['move_to_txt'] = 'Μετακίνηση σε'; +$wb['delete_txt'] = 'ΔιαγÏαφή'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/el_mail_user_filter_list.lng index fb6b9dfa5d..dd2ae1d6ca 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_filter_list.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_filter_list.lng @@ -1,8 +1,8 @@ <?php -$wb['list_head_txt'] = 'Email filter rules'; -$wb['rulename_txt'] = 'Name'; -$wb['add_new_record_txt'] = 'Add new Filter'; -$wb['page_txt'] = 'Page'; -$wb['page_of_txt'] = 'of'; -$wb['delete_confirmation'] = 'Do you really want to delete the mailfilter?'; +$wb['list_head_txt'] = 'Κανόνες ΦίλτÏων Email'; +$wb['rulename_txt'] = 'Όνομα'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη νÎου ΦίλτÏου'; +$wb['page_txt'] = 'Σελίδα'; +$wb['page_of_txt'] = 'από'; +$wb['delete_confirmation'] = 'Είστε σίγουÏοι ότι θÎλετε να διαγÏάψετε το ΦίλτÏο Mail?'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_password.lng b/interface/web/mailuser/lib/lang/el_mail_user_password.lng index cdf9674e70..61b976191d 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_password.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_password.lng @@ -1,10 +1,10 @@ <?php -$wb['mailbox_password_txt'] = 'Mailbox password'; -$wb['password_txt'] = 'Password'; -$wb['password_strength_txt'] = 'Password strength'; +$wb['mailbox_password_txt'] = 'Συνθηματικό θυÏίδας Mail'; +$wb['password_txt'] = 'Συνθηματικό'; +$wb['password_strength_txt'] = 'Δϋναμη ΣυνθηματικοÏ'; $wb['email_txt'] = 'Email'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; ?> diff --git a/interface/web/mailuser/lib/lang/el_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/el_mail_user_spamfilter.lng index be4bad9050..15ea90c9b8 100644 --- a/interface/web/mailuser/lib/lang/el_mail_user_spamfilter.lng +++ b/interface/web/mailuser/lib/lang/el_mail_user_spamfilter.lng @@ -1,7 +1,7 @@ <?php -$wb['mailbox_spamfilter_txt'] = 'Spamfilter'; -$wb['spamfilter_txt'] = 'Spamfilter'; +$wb['mailbox_spamfilter_txt'] = 'ΦίλτÏο Spam'; +$wb['spamfilter_txt'] = 'ΦίλτÏο Spam'; $wb['email_txt'] = 'Email'; -$wb['no_policy'] = '- not enabled -'; -$wb['policy_txt'] = 'Policy'; +$wb['no_policy'] = '- ανενεÏγό -'; +$wb['policy_txt'] = 'Πολιτική'; ?> diff --git a/interface/web/monitor/form/empty.dir b/interface/web/monitor/form/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/monitor/form/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/monitor/lib/lang/cz.lng b/interface/web/monitor/lib/lang/cz.lng index 2379533c0f..662d73ad3b 100644 --- a/interface/web/monitor/lib/lang/cz.lng +++ b/interface/web/monitor/lib/lang/cz.lng @@ -145,11 +145,12 @@ $wb['monitor_beancounter_nosupport_txt'] = 'Tento server nemá nainstalován VE $wb['monitor_title_iptables_txt'] = 'IPTables Pravidla'; $wb['Show fail2ban-Log'] = 'Zobrazit Fail2Ban Log'; $wb['Show IPTables'] = 'Zobrazit IPTables pravidla'; -$wb['Show OpenVz VE BeanCounter'] = 'Ukázat OpenVz VE BeanCounter'; -$wb['Show Monit'] = 'Show Monit'; +$wb['Show OpenVz VE BeanCounter'] = 'Zobrazit OpenVz VE BeanCounter'; +$wb['Show Monit'] = 'Zobrazit Monit'; $wb['no_monit_url_defined_txt'] = 'No Monit URL defined.'; $wb['no_permissions_to_view_monit_txt'] = 'You are not allowed to access Monit.'; -$wb['Show Munin'] = 'Show Munin'; +$wb['Show Munin'] = 'Zobrazit Munin'; $wb['no_munin_url_defined_txt'] = 'No Munin URL defined.'; $wb['no_permissions_to_view_munin_txt'] = 'You are not allowed to access Munin.'; ?> + diff --git a/interface/web/monitor/lib/lang/cz_datalog_list.lng b/interface/web/monitor/lib/lang/cz_datalog_list.lng index c9e9a86555..29d8cbb448 100644 --- a/interface/web/monitor/lib/lang/cz_datalog_list.lng +++ b/interface/web/monitor/lib/lang/cz_datalog_list.lng @@ -6,3 +6,4 @@ $wb['dbtable_txt'] = 'DB tabulka'; $wb['action_txt'] = 'Akce'; $wb['status_txt'] = 'Stav'; ?> + diff --git a/interface/web/monitor/lib/lang/cz_syslog_list.lng b/interface/web/monitor/lib/lang/cz_syslog_list.lng index 990662552b..864232ed0d 100644 --- a/interface/web/monitor/lib/lang/cz_syslog_list.lng +++ b/interface/web/monitor/lib/lang/cz_syslog_list.lng @@ -5,3 +5,4 @@ $wb['server_id_txt'] = 'Server'; $wb['loglevel_txt'] = 'Logovacà úroveň'; $wb['message_txt'] = 'Zpráva'; ?> + diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng index a46050ee49..304ac73331 100644 --- a/interface/web/monitor/lib/lang/de.lng +++ b/interface/web/monitor/lib/lang/de.lng @@ -122,7 +122,6 @@ $wb['monitor_services_smtp_txt'] = 'SMTP Server:'; $wb['monitor_services_pop_txt'] = 'POP3 Server:'; $wb['monitor_services_imap_txt'] = 'IMAP Server:'; $wb['monitor_services_mydns_txt'] = 'DNS Server:'; -$wb['monitor_services_mongodb_txt'] = 'MongoDB Server:'; $wb['monitor_services_mysql_txt'] = 'MySQL Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Daten vom: '; $wb['monitor_settings_datetimeformat_txt'] = 'd.m.Y H:i'; @@ -135,7 +134,6 @@ $wb['monitor_title_raidstate_txt'] = 'RAID Status'; $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Protokoll'; $wb['monitor_updates_nosupport_txt'] = 'Ihre Distribution wird für die Ãœberwachung nicht unterstützt'; $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Protokoll'; -$wb['monitor_title_mongodb_txt'] = 'MongoDB Protokoll'; $wb['monitor_nosupportedraid1_txt'] = 'At the moment, we support mdadm or mpt-status for monitoring the RAID.<br>We cant find any of them at your server.<br><br>This means we can not support your RAID yet.'; $wb['monitor_serverstate_beancounterok_txt'] = 'The beancounter is ok'; $wb['monitor_serverstate_beancounterinfo_txt'] = 'There are vew failure in the beancounter'; @@ -146,7 +144,6 @@ $wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter'; $wb['monitor_beancounter_nosupport_txt'] = 'This server is not a OpenVz VE and has no beancounter information'; $wb['monitor_title_iptables_txt'] = 'IPTables Regeln'; $wb['Show fail2ban-Log'] = 'Fail2ban Protokoll anzeigen'; -$wb['Show MongoDB-Log'] = 'MongoDB Protokoll anzeigen'; $wb['Show IPTables'] = 'IPTables anzeigen'; $wb['Show OpenVz VE BeanCounter'] = 'OpenVz VE BeanCounter anzeigen'; $wb['Show Monit'] = 'Monit anzeigen'; @@ -156,3 +153,4 @@ $wb['Show Munin'] = 'Munin anzeigen'; $wb['no_munin_url_defined_txt'] = 'Keine Munin-URL definiert.'; $wb['no_permissions_to_view_munin_txt'] = 'Sie haben nicht die Berechtigung, auf Munin zuzugreifen.'; ?> + diff --git a/interface/web/monitor/lib/lang/de_datalog_list.lng b/interface/web/monitor/lib/lang/de_datalog_list.lng index 0b6bf9a4bb..8939cab064 100644 --- a/interface/web/monitor/lib/lang/de_datalog_list.lng +++ b/interface/web/monitor/lib/lang/de_datalog_list.lng @@ -6,3 +6,4 @@ $wb['dbtable_txt'] = 'Datenbanktabelle'; $wb['action_txt'] = 'Aktion'; $wb['status_txt'] = 'Status'; ?> + diff --git a/interface/web/monitor/lib/lang/el.lng b/interface/web/monitor/lib/lang/el.lng index d840b6bb68..eb91a59960 100644 --- a/interface/web/monitor/lib/lang/el.lng +++ b/interface/web/monitor/lib/lang/el.lng @@ -145,11 +145,11 @@ $wb['monitor_title_iptables_txt'] = 'Κανόνες IPTables'; $wb['Show fail2ban-Log'] = 'Εμφάνιση fail2ban-Log'; $wb['Show IPTables'] = 'Εμφάνιση IPTables'; $wb['Show OpenVz VE BeanCounter'] = 'Show OpenVz VE BeanCounter'; -$wb['monitor_serverstate_raidresync_txt'] = 'Your RAID is in RESYNC mode'; -$wb['Show Monit'] = 'Show Monit'; -$wb['no_monit_url_defined_txt'] = 'No Monit URL defined.'; -$wb['no_permissions_to_view_monit_txt'] = 'You are not allowed to access Monit.'; -$wb['Show Munin'] = 'Show Munin'; -$wb['no_munin_url_defined_txt'] = 'No Munin URL defined.'; -$wb['no_permissions_to_view_munin_txt'] = 'You are not allowed to access Munin.'; +$wb['monitor_serverstate_raidresync_txt'] = 'Το RAID βÏίσκεται σε κατάσταση επανασυγχÏονισμοÏ'; +$wb['Show Monit'] = 'Εμφάνιση Monit'; +$wb['no_monit_url_defined_txt'] = 'Δεν καθοÏίστηκε URL για το Monit.'; +$wb['no_permissions_to_view_monit_txt'] = 'Δεν επιτÏÎπεται η Ï€Ïόσβαση στο Monit.'; +$wb['Show Munin'] = 'Εμφάνιση Munin'; +$wb['no_munin_url_defined_txt'] = 'Δεν καθοÏίστηκε URL για το Munin.'; +$wb['no_permissions_to_view_munin_txt'] = 'Δεν επιτÏÎπεται η Ï€Ïόσβαση στο Munin.'; ?> diff --git a/interface/web/monitor/lib/lang/el_datalog_list.lng b/interface/web/monitor/lib/lang/el_datalog_list.lng index 8ad63ffd42..f2a5d32732 100644 --- a/interface/web/monitor/lib/lang/el_datalog_list.lng +++ b/interface/web/monitor/lib/lang/el_datalog_list.lng @@ -1,8 +1,8 @@ <?php -$wb['list_head_txt'] = 'Jobqueue'; -$wb['tstamp_txt'] = 'Date'; +$wb['list_head_txt'] = 'ΟυÏά ΕνεÏγειών'; +$wb['tstamp_txt'] = 'ΗμεÏομηνία'; $wb['server_id_txt'] = 'Server'; -$wb['dbtable_txt'] = 'DB Table'; -$wb['action_txt'] = 'Action'; -$wb['status_txt'] = 'Status'; +$wb['dbtable_txt'] = 'Πίνακας DB'; +$wb['action_txt'] = 'ΕνÎÏγεια'; +$wb['status_txt'] = 'Κατάσταση'; ?> diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng index ec5ca7325f..20cf1fbb3b 100644 --- a/interface/web/monitor/lib/lang/en.lng +++ b/interface/web/monitor/lib/lang/en.lng @@ -46,7 +46,6 @@ $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log'; $wb['Show RKHunter-Log'] = 'Show RKHunter-Log'; $wb['Show Jobqueue'] = 'Show Jobqueue'; $wb['Show fail2ban-Log'] = 'Show fail2ban-Log'; -$wb['Show MongoDB-Log'] = 'Show MongoDB-Log'; $wb['Show IPTables'] = 'Show IPTables'; $wb['Show OpenVz VE BeanCounter'] = 'Show OpenVz VE BeanCounter'; $wb['monitor_general_serverstate_txt'] = 'Server State'; @@ -132,7 +131,6 @@ $wb['monitor_services_smtp_txt'] = 'SMTP-Server:'; $wb['monitor_services_pop_txt'] = 'POP3-Server:'; $wb['monitor_services_imap_txt'] = 'IMAP-Server:'; $wb['monitor_services_mydns_txt'] = 'DNS-Server:'; -$wb['monitor_services_mongodb_txt'] = 'MongoDB-Server:'; $wb['monitor_services_mysql_txt'] = 'mySQL-Server:'; $wb['monitor_settings_datafromdate_txt'] = 'Data from: '; $wb['monitor_settings_datetimeformat_txt'] = 'Y-m-d H:i'; @@ -144,7 +142,6 @@ $wb['monitor_title_mailq_txt'] = 'Mail Queue'; $wb['monitor_title_raidstate_txt'] = 'RAID Status'; $wb['monitor_title_rkhunterlog_txt'] = 'RKHunter Log'; $wb['monitor_title_fail2ban_txt'] = 'Fail2Ban Log'; -$wb['monitor_title_mongodb_txt'] = 'MongoDB Log'; $wb['monitor_title_iptables_txt'] = 'IPTables Rules'; $wb['monitor_title_beancounter_txt'] = 'OpenVz VE BeanCounter'; $wb['monitor_updates_nosupport_txt'] = 'Your distribution is not supported for this monitoring'; diff --git a/interface/web/monitor/lib/module.conf.php b/interface/web/monitor/lib/module.conf.php index c019b84e46..1d4e5e1c34 100644 --- a/interface/web/monitor/lib/module.conf.php +++ b/interface/web/monitor/lib/module.conf.php @@ -190,11 +190,6 @@ $items[] = array( 'title' => "Show fail2ban-Log", 'link' => 'monitor/show_data.php?type=fail2ban', 'html_id' => 'fai2ban'); -$items[] = array( 'title' => "Show MongoDB-Log", - 'target' => 'content', - 'link' => 'monitor/show_data.php?type=mongodb', - 'html_id' => 'mongodb'); - $items[] = array( 'title' => "Show IPTables", 'target' => 'content', 'link' => 'monitor/show_data.php?type=iptables', @@ -203,4 +198,4 @@ $items[] = array( 'title' => "Show IPTables", $module["nav"][] = array( 'title' => 'Logfiles', 'open' => 1, 'items' => $items); -?> +?> \ No newline at end of file diff --git a/interface/web/monitor/show_data.php b/interface/web/monitor/show_data.php index 92c66a486b..1cd4baf525 100644 --- a/interface/web/monitor/show_data.php +++ b/interface/web/monitor/show_data.php @@ -124,13 +124,6 @@ switch($dataType) { $title = $app->lng("monitor_title_fail2ban_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; $description = ''; break; - case 'mongodb': - $template = 'templates/show_data.htm'; - $output .= $app->tools_monitor->showMongoDB(); - $time = $app->tools_monitor->getDataTime('log_mongodb'); - $title = $app->lng("monitor_title_mongodb_txt") . ' (' . $monTransSrv . ' : ' . $_SESSION['monitor']['server_name'] . ')'; - $description = ''; - break; case 'iptables': $template = 'templates/show_data.htm'; $output .= $app->tools_monitor->showIPTables(); diff --git a/interface/web/monitor/show_log.php b/interface/web/monitor/show_log.php index cb9e4c1074..ec10a982b1 100644 --- a/interface/web/monitor/show_log.php +++ b/interface/web/monitor/show_log.php @@ -125,20 +125,7 @@ $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE t if(isset($record['data'])) { $data = unserialize($record['data']); - $logData = explode("\n", htmlspecialchars($data)); - $logDataHtml = ''; - /* set css class for each line of log, depending on key words in each line */ - foreach($logData as $val) { - if (strpos($val, 'ERROR') !== FALSE) { - $logDataHtml .= "<div class='logerror'>$val</div>"; - } elseif (strpos($val, 'WARN') !== FALSE) { - $logDataHtml .= "<div class='logwarn'>$val</div>"; - } elseif (strpos($val, 'INFO') !== FALSE) { - $logDataHtml .= "<div class='loginfo'>$val</div>"; - } else { - $logDataHtml .= "<div class='log'>$val</div>"; - } - } + $logData = nl2br(htmlspecialchars($data)); $app->tpl->setVar("log_data", $logData); } else { diff --git a/interface/web/monitor/templates/show_sys_state.htm b/interface/web/monitor/templates/show_sys_state.htm index ceb419573d..55aeeb28a2 100644 --- a/interface/web/monitor/templates/show_sys_state.htm +++ b/interface/web/monitor/templates/show_sys_state.htm @@ -1,25 +1,25 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_sys_state"> - - <div class="pnl_toolsarea"> - <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend> - <div class="buttons"> - <div class="ctrlHolder"> - <label for="refreshinterval"> </label> - <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')"> - {tmpl_var name='refresh'} - </select> - </div> - </div> - </fieldset> - </div> - - <div class="pnl_formarea"> - <fieldset><legend></legend> - <div class="stateview"><tmpl_var name="state_data"></div> - </fieldset> - </div> - +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_sys_state"> + + <div class="pnl_toolsarea"> + <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend> + <div class="buttons"> + <div class="ctrlHolder"> + <label for="refreshinterval"> </label> + <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')"> + {tmpl_var name='refresh'} + </select> + </div> + </div> + </fieldset> + </div> + + <div class="pnl_formarea"> + <fieldset><legend></legend> + <div class="stateview"><tmpl_var name="state_data"></div> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/remote/monitor.php b/interface/web/remote/monitor.php index ae138d536d..f49b1695d0 100644 --- a/interface/web/remote/monitor.php +++ b/interface/web/remote/monitor.php @@ -29,6 +29,11 @@ if($token == '' or $secret == '' or $token != $secret) { if($type == 'serverlist') { $sql = 'SELECT server_id, server_name FROM server WHERE 1 ORDER BY server_id'; $records = $app->db->queryAllRecords($sql); + foreach($records as $index => $rec) { + $rec = $app->db->queryOneRecord("SELECT * FROM monitor_data WHERE server_id = " . $rec['server_id'] . " AND state NOT IN ('ok', 'no_state', 'info')"); + if($rec) $records[$index]['state'] = 'warn'; + else $records[$index]['state'] = 'ok'; + } $out['state'] = 'ok'; $out['data'] = $records; $out['time'] = date('Y-m-d H:i',$rec['created']); diff --git a/interface/web/sites/aps_cron_apscrawler_if.php b/interface/web/sites/aps_cron_apscrawler_if.php index caa9b02d75..d1e15cc963 100644 --- a/interface/web/sites/aps_cron_apscrawler_if.php +++ b/interface/web/sites/aps_cron_apscrawler_if.php @@ -1,63 +1,63 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); - -//require_once('classes/class.crawler.php'); -$app->load('aps_crawler'); - -if(!@ini_get('allow_url_fopen')) $app->error('allow_url_fopen is not enabled.'); -if(!function_exists('curl_version')) $app->error('The PHP CURL extension is not available.'); - -$log_prefix = 'APS crawler cron: '; - -$aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode - -$app->log($log_prefix.'Used mem at begin: '.$aps->convertSize(memory_get_usage(true))); - -$time_start = microtime(true); -$aps->startCrawler(); -$aps->parseFolderToDB(); -$aps->fixURLs(); -$time = microtime(true) - $time_start; - -$app->log($log_prefix.'Used mem at end: '.$aps->convertSize(memory_get_usage(true))); -$app->log($log_prefix.'Mem peak during execution: '.$aps->convertSize(memory_get_peak_usage(true))); -$app->log($log_prefix.'Execution time: '.round($time, 3).' seconds'); - -// Load the language file -$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; -$app->load_language_file('web/sites/'.$lngfile); - -echo '<div id="OKMsg"><p>'.$app->lng('packagelist_update_finished_txt').'</p></div>'; - - - +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); + +//require_once('classes/class.crawler.php'); +$app->load('aps_crawler'); + +if(!@ini_get('allow_url_fopen')) $app->error('allow_url_fopen is not enabled.'); +if(!function_exists('curl_version')) $app->error('The PHP CURL extension is not available.'); + +$log_prefix = 'APS crawler cron: '; + +$aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode + +$app->log($log_prefix.'Used mem at begin: '.$aps->convertSize(memory_get_usage(true))); + +$time_start = microtime(true); +$aps->startCrawler(); +$aps->parseFolderToDB(); +$aps->fixURLs(); +$time = microtime(true) - $time_start; + +$app->log($log_prefix.'Used mem at end: '.$aps->convertSize(memory_get_usage(true))); +$app->log($log_prefix.'Mem peak during execution: '.$aps->convertSize(memory_get_peak_usage(true))); +$app->log($log_prefix.'Execution time: '.round($time, 3).' seconds'); + +// Load the language file +$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; +$app->load_language_file('web/sites/'.$lngfile); + +echo '<div id="OKMsg"><p>'.$app->lng('packagelist_update_finished_txt').'</p></div>'; + + + ?> \ No newline at end of file diff --git a/interface/web/sites/aps_do_operation.php b/interface/web/sites/aps_do_operation.php index ada193c759..ad165f33bc 100644 --- a/interface/web/sites/aps_do_operation.php +++ b/interface/web/sites/aps_do_operation.php @@ -1,112 +1,112 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); -$app->load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -$gui = new ApsGUIController($app); - -// An action and ID are required in any case -if(!isset($_GET['action'])) die('No action'); - -// List of operations which can be performed -if($_GET['action'] == 'change_status') -{ - // Only admins can perform this operation - if($_SESSION['s']['user']['typ'] != 'admin') die('For admin use only.'); - - // Make sure a valid package ID is given - if(!$gui->isValidPackageID($_GET['id'], true)) die($app->lng('Invalid ID')); - - // Change the existing status to the opposite - $get_status = $app->db->queryOneRecord("SELECT package_status FROM aps_packages WHERE id = '".$app->functions->intval($_GET['id'])."';"); - if($get_status['package_status'] == strval(PACKAGE_LOCKED)) - { - $app->db->query("UPDATE aps_packages SET package_status = ".PACKAGE_ENABLED." WHERE id = '".$app->functions->intval($_GET['id'])."';"); - echo '<div class="swap" id="ir-Yes"><span>'.$app->lng('Yes').'</span></div>'; - } - else - { - $app->db->query("UPDATE aps_packages SET Package_status = ".PACKAGE_LOCKED." WHERE id = '".$app->functions->intval($_GET['id'])."';"); - echo '<div class="swap" id="ir-No"><span>'.$app->lng('No').'</span></div>'; - } -} -else if($_GET['action'] == 'delete_instance') -{ - // Make sure a valid package ID is given (also corresponding to the calling user) - $client_id = 0; - $is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; - if(!$is_admin) - { - $cid = $app->db->queryOneRecord("SELECT client_id FROM client WHERE username = '".$app->db->quote($_SESSION['s']['user']['username'])."';"); - $client_id = $cid['client_id']; - } - - // Assume that the given instance belongs to the currently calling client_id. Unimportant if status is admin - if(!$gui->isValidInstanceID($_GET['id'], $client_id, $is_admin)) die($app->lng('Invalid ID')); - - // Only delete the instance if the status is "installed" or "flawed" - $check = $app->db->queryOneRecord("SELECT id FROM aps_instances - WHERE id = ".$app->db->quote($_GET['id'])." AND - (instance_status = ".INSTANCE_SUCCESS." OR instance_status = ".INSTANCE_ERROR.");"); - if($check['id'] > 0) $gui->deleteInstance($_GET['id']); - //echo $app->lng('Installation_remove'); - @header('Location:aps_installedpackages_list.php'); -} -else if($_GET['action'] == 'reinstall_instance') -{ - // Make sure a valid package ID is given (also corresponding to the calling user) - $client_id = 0; - $is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; - if(!$is_admin) - { - $cid = $app->db->queryOneRecord("SELECT client_id FROM client WHERE username = '".$app->db->quote($_SESSION['s']['user']['username'])."';"); - $client_id = $cid['client_id']; - } - // Assume that the given instance belongs to the currently calling client_id. Unimportant if status is admin - if(!$gui->isValidInstanceID($_GET['id'], $client_id, $is_admin)) die($app->lng('Invalid ID')); - - // We've an InstanceID, so make sure the package is not enabled and InstanceStatus is still "installed" - $check = $app->db->queryOneRecord("SELECT aps_instances.id FROM aps_instances, aps_packages - WHERE aps_instances.package_id = aps_packages.id - AND aps_instances.instance_status = ".INSTANCE_SUCCESS." - AND aps_packages.package_status = ".PACKAGE_ENABLED." - AND aps_instances.id = ".$app->db->quote($_GET['id']).";"); - if(!$check) die('Check failed'); // normally this might not happen at all, so just die - - $gui->reinstallInstance($_GET['id']); - //echo $app->lng('Installation_task'); - @header('Location:aps_installedpackages_list.php'); -} -?> +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); +$app->load('aps_guicontroller'); + +// Check the module permissions +$app->auth->check_module_permissions('sites'); + +$gui = new ApsGUIController($app); + +// An action and ID are required in any case +if(!isset($_GET['action'])) die('No action'); + +// List of operations which can be performed +if($_GET['action'] == 'change_status') +{ + // Only admins can perform this operation + if($_SESSION['s']['user']['typ'] != 'admin') die('For admin use only.'); + + // Make sure a valid package ID is given + if(!$gui->isValidPackageID($_GET['id'], true)) die($app->lng('Invalid ID')); + + // Change the existing status to the opposite + $get_status = $app->db->queryOneRecord("SELECT package_status FROM aps_packages WHERE id = '".$app->functions->intval($_GET['id'])."';"); + if($get_status['package_status'] == strval(PACKAGE_LOCKED)) + { + $app->db->query("UPDATE aps_packages SET package_status = ".PACKAGE_ENABLED." WHERE id = '".$app->functions->intval($_GET['id'])."';"); + echo '<div class="swap" id="ir-Yes"><span>'.$app->lng('Yes').'</span></div>'; + } + else + { + $app->db->query("UPDATE aps_packages SET Package_status = ".PACKAGE_LOCKED." WHERE id = '".$app->functions->intval($_GET['id'])."';"); + echo '<div class="swap" id="ir-No"><span>'.$app->lng('No').'</span></div>'; + } +} +else if($_GET['action'] == 'delete_instance') +{ + // Make sure a valid package ID is given (also corresponding to the calling user) + $client_id = 0; + $is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; + if(!$is_admin) + { + $cid = $app->db->queryOneRecord("SELECT client_id FROM client WHERE username = '".$app->db->quote($_SESSION['s']['user']['username'])."';"); + $client_id = $cid['client_id']; + } + + // Assume that the given instance belongs to the currently calling client_id. Unimportant if status is admin + if(!$gui->isValidInstanceID($_GET['id'], $client_id, $is_admin)) die($app->lng('Invalid ID')); + + // Only delete the instance if the status is "installed" or "flawed" + $check = $app->db->queryOneRecord("SELECT id FROM aps_instances + WHERE id = ".$app->db->quote($_GET['id'])." AND + (instance_status = ".INSTANCE_SUCCESS." OR instance_status = ".INSTANCE_ERROR.");"); + if($check['id'] > 0) $gui->deleteInstance($_GET['id']); + //echo $app->lng('Installation_remove'); + @header('Location:aps_installedpackages_list.php'); +} +else if($_GET['action'] == 'reinstall_instance') +{ + // Make sure a valid package ID is given (also corresponding to the calling user) + $client_id = 0; + $is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; + if(!$is_admin) + { + $cid = $app->db->queryOneRecord("SELECT client_id FROM client WHERE username = '".$app->db->quote($_SESSION['s']['user']['username'])."';"); + $client_id = $cid['client_id']; + } + // Assume that the given instance belongs to the currently calling client_id. Unimportant if status is admin + if(!$gui->isValidInstanceID($_GET['id'], $client_id, $is_admin)) die($app->lng('Invalid ID')); + + // We've an InstanceID, so make sure the package is not enabled and InstanceStatus is still "installed" + $check = $app->db->queryOneRecord("SELECT aps_instances.id FROM aps_instances, aps_packages + WHERE aps_instances.package_id = aps_packages.id + AND aps_instances.instance_status = ".INSTANCE_SUCCESS." + AND aps_packages.package_status = ".PACKAGE_ENABLED." + AND aps_instances.id = ".$app->db->quote($_GET['id']).";"); + if(!$check) die('Check failed'); // normally this might not happen at all, so just die + + $gui->reinstallInstance($_GET['id']); + //echo $app->lng('Installation_task'); + @header('Location:aps_installedpackages_list.php'); +} +?> diff --git a/interface/web/sites/aps_install_package.php b/interface/web/sites/aps_install_package.php index ccad334993..b7bed71be3 100644 --- a/interface/web/sites/aps_install_package.php +++ b/interface/web/sites/aps_install_package.php @@ -1,211 +1,211 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); -//require_once('classes/class.guicontroller.php'); -$app->load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl,tform'); -$app->tpl->newTemplate("form.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/aps_install_package.htm'); - -// Load the language file -$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; -require_once($lngfile); -$app->tpl->setVar($wb); -$app->load_language_file('web/sites/'.$lngfile); - -// we will check only users, not admins -if($_SESSION["s"]["user"]["typ"] == 'user') { - $app->tform->formDef['db_table_idx'] = 'client_id'; - $app->tform->formDef['db_table'] = 'client'; - if(!$app->tform->checkClientLimit('limit_aps')) { - $app->error($app->lng("limit_aps_txt")); - } - if(!$app->tform->checkResellerLimit('limit_aps')) { - $app->error('Reseller: '.$wb["limit_aps_txt"]); - } -} - - -$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -$gui = new ApsGUIController($app); -$pkg_id = (isset($_GET['id'])) ? $app->db->quote($_GET['id']) : ''; - -// Check if a newer version is available for the current package -// Note: It's intended that here is no strict ID check (see below) -if(isset($pkg_id)) -{ - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; -} - -// Make sure an integer ID is given -if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) - $app->error($app->lng('Invalid ID')); - -// Get package details -$details = $gui->getPackageDetails($pkg_id); -if(isset($details['error'])) $app->error($details['error']); -$settings = $gui->getPackageSettings($pkg_id); -if(isset($settings['error'])) $app->error($settings['error']); - -// Get domain list -$domains = array(); -$domain_for_user = ''; -if(!$adminflag) $domain_for_user = "AND (sys_userid = '".$app->db->quote($_SESSION['s']['user']['userid'])."' - OR sys_groupid = '".$app->db->quote($_SESSION['s']['user']['userid'])."' )"; -$domains_assoc = $app->db->queryAllRecords("SELECT domain FROM web_domain WHERE document_root != '' AND (type = 'vhost' OR type = 'vhostsubdomain') AND active = 'y' ".$domain_for_user." ORDER BY domain;"); -if(!empty($domains_assoc)) foreach($domains_assoc as $domain) $domains[] = $domain['domain']; - -// If data has been submitted, validate it -$result['input'] = array(); -if(count($_POST) > 1) -{ - $result = $gui->validateInstallerInput($_POST, $details, $domains, $settings); - if(empty($result['error'])) - { - $gui->createPackageInstance($result['input'], $pkg_id); - @header('Location:aps_installedpackages_list.php'); - } - else - { - $app->tpl->setVar('error', implode('<br />', $result['error'])); - - // Set memorized values (license, db password, install location) - if(!empty($result['input'])) - foreach($result['input'] as $key => $value) $app->tpl->setVar('inp_'.$key, $value); - } -} -else $app->tpl->setVar('inp_main_database_password', ucfirst(substr(md5(crypt(rand(0, 10))), 0, 16))); - -// Pass the package details to the template -foreach($details as $key => $value) -{ - if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); - else if($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); -} - -// Parse the template as far as possible, then do the rest manually -$app->tpl_defaults(); -$parsed_tpl = $app->tpl->grab(); - - -// ISPConfig has a very old and functionally limited template engine. We have to style parts on our own... - -// Print the domain list -$domains_tpl = ''; -if(!empty($domains)) -{ - $set = array(); - $set[] = '<select name="main_domain" id="main_domain" class="selectInput">'; - foreach($domains as $domain) - { - $selected = ''; - if((count($_POST) > 1) - && (isset($result['input']['main_domain'])) - && ($result['input']['main_domain'] == $domain)) - $selected = ' selected '; - $set[] = '<option value="'.$domain.'" '.$selected.'>'.$domain.'</option>'; - } - $set[] = '</select>'; - - $domains_tpl = implode("\n", $set); -} -$parsed_tpl = str_replace('DOMAIN_LIST_SPACE', $domains_tpl, $parsed_tpl); - -// Print the packgae settings -$settings_tpl = ''; -if(!empty($settings)) -{ - $set = array(); - $set[] = '<legend>'.$app->lng('package_settings_txt').'</legend>'; - foreach($settings as $setting) - { - $set[] = '<div class="ctrlHolder">'; - $set[] = '<label for="'.$setting['SettingID'].'">'.$setting['SettingName'].'</label>'; - if($setting['SettingInputType'] == 'string' || $setting['SettingInputType'] == 'password') - { - $input_type = ($setting['SettingInputType'] == 'string') ? 'text' : 'password'; - - $input_value = ''; - if((count($_POST) > 1) - && (isset($result['input'][$setting['SettingID']]))) - $input_value = $result['input'][$setting['SettingID']]; - else $input_value = @$setting['SettingDefaultValue']; - - $set[] = '<input type="'.$input_type.'" class="textInput" name="'.$setting['SettingID'].'" maxlength="'.$setting['SettingMaxLength'].'" id="'.$setting['SettingID'].'" value="'.$input_value.'" /> - <p class="formHint">'.$setting['SettingDescription'].'</p>'; - } - else if($setting['SettingInputType'] == 'checkbox') - { - $checked = ''; - if((count($_POST) > 1) - && (isset($result['input'][$setting['SettingID']]) - && ($result['input'][$setting['SettingID']] == 'true'))) - $checked = 'checked '; - else if($setting['SettingDefaultValue'] == '1') $checked = 'checked '; - - $set[] = '<input type="checkbox" id="'.$setting['SettingID'].'" name="'.$setting['SettingID'].'" '.$checked.'/> - <p class="formHint">'.$setting['SettingDescription'].'</p>'; - } - else if($setting['SettingInputType'] == 'select') - { - $set[] = '<select size="1" class="selectInput" name="'.$setting['SettingID'].'">'; - foreach($setting['SettingChoices'] as $choice) - { - $selected = ''; - if((count($_POST) > 1) - && (isset($result['input'][$setting['SettingID']]))) - { - if($result['input'][$setting['SettingID']] == $choice['EnumID']) - $selected = 'selected '; - } - else if($setting['SettingDefaultValue'] == $choice['EnumID']) $selected = 'selected '; - - $set[] = '<option value="'.$choice['EnumID'].'" '.$selected.'>'.$choice['EnumName'].'</option>'; - } - $set[] = '</select> - <p class="formHint">'.$setting['SettingDescription'].'</p>'; - } - - $set[] = '</div>'; - } - $settings_tpl = implode("\n", $set); -} -$parsed_tpl = str_replace('PKG_SETTINGS_SPACE', $settings_tpl, $parsed_tpl); - -echo $parsed_tpl; +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); +//require_once('classes/class.guicontroller.php'); +$app->load('aps_guicontroller'); + +// Check the module permissions +$app->auth->check_module_permissions('sites'); + +// Load needed classes +$app->uses('tpl,tform'); +$app->tpl->newTemplate("form.tpl.htm"); +$app->tpl->setInclude('content_tpl', 'templates/aps_install_package.htm'); + +// Load the language file +$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; +require_once($lngfile); +$app->tpl->setVar($wb); +$app->load_language_file('web/sites/'.$lngfile); + +// we will check only users, not admins +if($_SESSION["s"]["user"]["typ"] == 'user') { + $app->tform->formDef['db_table_idx'] = 'client_id'; + $app->tform->formDef['db_table'] = 'client'; + if(!$app->tform->checkClientLimit('limit_aps')) { + $app->error($app->lng("limit_aps_txt")); + } + if(!$app->tform->checkResellerLimit('limit_aps')) { + $app->error('Reseller: '.$wb["limit_aps_txt"]); + } +} + + +$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; +$gui = new ApsGUIController($app); +$pkg_id = (isset($_GET['id'])) ? $app->db->quote($_GET['id']) : ''; + +// Check if a newer version is available for the current package +// Note: It's intended that here is no strict ID check (see below) +if(isset($pkg_id)) +{ + $newest_pkg_id = $gui->getNewestPackageID($pkg_id); + if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; +} + +// Make sure an integer ID is given +if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) + $app->error($app->lng('Invalid ID')); + +// Get package details +$details = $gui->getPackageDetails($pkg_id); +if(isset($details['error'])) $app->error($details['error']); +$settings = $gui->getPackageSettings($pkg_id); +if(isset($settings['error'])) $app->error($settings['error']); + +// Get domain list +$domains = array(); +$domain_for_user = ''; +if(!$adminflag) $domain_for_user = "AND (sys_userid = '".$app->db->quote($_SESSION['s']['user']['userid'])."' + OR sys_groupid = '".$app->db->quote($_SESSION['s']['user']['userid'])."' )"; +$domains_assoc = $app->db->queryAllRecords("SELECT domain FROM web_domain WHERE document_root != '' AND (type = 'vhost' OR type = 'vhostsubdomain') AND active = 'y' ".$domain_for_user." ORDER BY domain;"); +if(!empty($domains_assoc)) foreach($domains_assoc as $domain) $domains[] = $domain['domain']; + +// If data has been submitted, validate it +$result['input'] = array(); +if(count($_POST) > 1) +{ + $result = $gui->validateInstallerInput($_POST, $details, $domains, $settings); + if(empty($result['error'])) + { + $gui->createPackageInstance($result['input'], $pkg_id); + @header('Location:aps_installedpackages_list.php'); + } + else + { + $app->tpl->setVar('error', implode('<br />', $result['error'])); + + // Set memorized values (license, db password, install location) + if(!empty($result['input'])) + foreach($result['input'] as $key => $value) $app->tpl->setVar('inp_'.$key, $value); + } +} +else $app->tpl->setVar('inp_main_database_password', ucfirst(substr(md5(crypt(rand(0, 10))), 0, 16))); + +// Pass the package details to the template +foreach($details as $key => $value) +{ + if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); + else if($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); +} + +// Parse the template as far as possible, then do the rest manually +$app->tpl_defaults(); +$parsed_tpl = $app->tpl->grab(); + + +// ISPConfig has a very old and functionally limited template engine. We have to style parts on our own... + +// Print the domain list +$domains_tpl = ''; +if(!empty($domains)) +{ + $set = array(); + $set[] = '<select name="main_domain" id="main_domain" class="selectInput">'; + foreach($domains as $domain) + { + $selected = ''; + if((count($_POST) > 1) + && (isset($result['input']['main_domain'])) + && ($result['input']['main_domain'] == $domain)) + $selected = ' selected '; + $set[] = '<option value="'.$domain.'" '.$selected.'>'.$domain.'</option>'; + } + $set[] = '</select>'; + + $domains_tpl = implode("\n", $set); +} +$parsed_tpl = str_replace('DOMAIN_LIST_SPACE', $domains_tpl, $parsed_tpl); + +// Print the packgae settings +$settings_tpl = ''; +if(!empty($settings)) +{ + $set = array(); + $set[] = '<legend>'.$app->lng('package_settings_txt').'</legend>'; + foreach($settings as $setting) + { + $set[] = '<div class="ctrlHolder">'; + $set[] = '<label for="'.$setting['SettingID'].'">'.$setting['SettingName'].'</label>'; + if($setting['SettingInputType'] == 'string' || $setting['SettingInputType'] == 'password') + { + $input_type = ($setting['SettingInputType'] == 'string') ? 'text' : 'password'; + + $input_value = ''; + if((count($_POST) > 1) + && (isset($result['input'][$setting['SettingID']]))) + $input_value = $result['input'][$setting['SettingID']]; + else $input_value = @$setting['SettingDefaultValue']; + + $set[] = '<input type="'.$input_type.'" class="textInput" name="'.$setting['SettingID'].'" maxlength="'.$setting['SettingMaxLength'].'" id="'.$setting['SettingID'].'" value="'.$input_value.'" /> + <p class="formHint">'.$setting['SettingDescription'].'</p>'; + } + else if($setting['SettingInputType'] == 'checkbox') + { + $checked = ''; + if((count($_POST) > 1) + && (isset($result['input'][$setting['SettingID']]) + && ($result['input'][$setting['SettingID']] == 'true'))) + $checked = 'checked '; + else if($setting['SettingDefaultValue'] == '1') $checked = 'checked '; + + $set[] = '<input type="checkbox" id="'.$setting['SettingID'].'" name="'.$setting['SettingID'].'" '.$checked.'/> + <p class="formHint">'.$setting['SettingDescription'].'</p>'; + } + else if($setting['SettingInputType'] == 'select') + { + $set[] = '<select size="1" class="selectInput" name="'.$setting['SettingID'].'">'; + foreach($setting['SettingChoices'] as $choice) + { + $selected = ''; + if((count($_POST) > 1) + && (isset($result['input'][$setting['SettingID']]))) + { + if($result['input'][$setting['SettingID']] == $choice['EnumID']) + $selected = 'selected '; + } + else if($setting['SettingDefaultValue'] == $choice['EnumID']) $selected = 'selected '; + + $set[] = '<option value="'.$choice['EnumID'].'" '.$selected.'>'.$choice['EnumName'].'</option>'; + } + $set[] = '</select> + <p class="formHint">'.$setting['SettingDescription'].'</p>'; + } + + $set[] = '</div>'; + } + $settings_tpl = implode("\n", $set); +} +$parsed_tpl = str_replace('PKG_SETTINGS_SPACE', $settings_tpl, $parsed_tpl); + +echo $parsed_tpl; ?> \ No newline at end of file diff --git a/interface/web/sites/aps_installedpackages_list.php b/interface/web/sites/aps_installedpackages_list.php index e3c318f93e..00d7b258b1 100644 --- a/interface/web/sites/aps_installedpackages_list.php +++ b/interface/web/sites/aps_installedpackages_list.php @@ -1,142 +1,142 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); -//require_once('classes/class.base.php'); // for constants -$app->load('aps_base'); - -// Path to the list definition file -$list_def_file = "list/aps_installedpackages.list.php"; - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl,tform,listform,listform_actions'); - -// Show further information only to admins or resellers -if($_SESSION['s']['user']['typ'] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) - $app->tpl->setVar('is_noclient', 1); - -// Show each user the own packages (if not admin) -$client_ext = ''; -$is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -if(!$is_admin) -{ - $cid = $app->db->queryOneRecord('SELECT client_id FROM client WHERE username = "'.$app->db->quote($_SESSION['s']['user']['username']).'";'); - //$client_ext = ' AND aps_instances.customer_id = '.$cid['client_id']; - $client_ext = ' AND '.$app->tform->getAuthSQL('r', 'aps_instances'); -} -$app->listform_actions->SQLExtWhere = 'aps_instances.package_id = aps_packages.id'.$client_ext; -$app->listform_actions->SQLOrderBy = 'ORDER BY package_name'; - -// We are using parts of listform_actions because ISPConfig doesn't allow -// queries over multiple tables so we construct them ourselves -$_SESSION['s']['form']['return_to'] = ''; - -// Load the list template -$app->listform->loadListDef($list_def_file); -if(!is_file('templates/'.$app->listform->listDef["name"].'_list.htm')) -{ -$app->uses('listform_tpl_generator'); -$app->listform_tpl_generator->buildHTML($app->listform->listDef); -} -$app->tpl->newTemplate("listpage.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/'.$app->listform->listDef["name"].'_list.htm'); - -// Build the WHERE query for search -$sql_where = ''; -if($app->listform_actions->SQLExtWhere != '') - $sql_where .= ' '.$app->listform_actions->SQLExtWhere.' and'; -$sql_where = $app->listform->getSearchSQL($sql_where); -$app->tpl->setVar($app->listform->searchValues); - -// Paging -$limit_sql = $app->listform->getPagingSQL($sql_where); -$app->tpl->setVar('paging', $app->listform->pagingHTML); - -if(!$is_admin) { -// Our query over multiple tables -$query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, - aps_instances.customer_id AS customer_id, client.username AS customer_name, - aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, - aps_packages.version AS package_version, aps_packages.release AS package_release, - aps_packages.package_status AS package_status, - CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), - '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) - AS install_location - FROM aps_instances, aps_packages, client - WHERE client.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; -} else { -$query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, - aps_instances.customer_id AS customer_id, sys_group.name AS customer_name, - aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, - aps_packages.version AS package_version, aps_packages.release AS package_release, - aps_packages.package_status AS package_status, - CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), - '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) - AS install_location - FROM aps_instances, aps_packages, sys_group - WHERE sys_group.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; - -} - -$records = $app->db->queryAllRecords($query); -$app->listform_actions->DataRowColor = '#FFFFFF'; - -// Re-form all result entries and add extra entries -$records_new = ''; -if(is_array($records)) -{ - $app->listform_actions->idx_key = $app->listform->listDef["table_idx"]; - foreach($records as $rec) - { - // Set an abbreviated install location to beware the page layout - $ils = ''; - if(strlen($rec['Install_location']) >= 38) $ils = substr($rec['Install_location'], 0, 35).'...'; - else $ils = $rec['install_location']; - $rec['install_location_short'] = $ils; - - // Also set a boolean-like variable for the reinstall button (vlibTemplate doesn't allow variable comparisons) - // For a reinstall, the package must be already installed successfully and (still be) enabled - if($rec['instance_status'] == INSTANCE_SUCCESS && $rec['package_status'] == PACKAGE_ENABLED) - $rec['reinstall_possible'] = 'true'; - // Of course an instance can only then be removed when it's not already tagged for removal - if($rec['instance_status'] != INSTANCE_REMOVE && $rec['instance_status'] != INSTANCE_INSTALL) - $rec['delete_possible'] = 'true'; - - $records_new[] = $app->listform_actions->prepareDataRow($rec); - } -} -$app->tpl->setLoop('records', $records_new); - -$app->listform_actions->onShow(); -?> +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); +//require_once('classes/class.base.php'); // for constants +$app->load('aps_base'); + +// Path to the list definition file +$list_def_file = "list/aps_installedpackages.list.php"; + +// Check the module permissions +$app->auth->check_module_permissions('sites'); + +// Load needed classes +$app->uses('tpl,tform,listform,listform_actions'); + +// Show further information only to admins or resellers +if($_SESSION['s']['user']['typ'] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) + $app->tpl->setVar('is_noclient', 1); + +// Show each user the own packages (if not admin) +$client_ext = ''; +$is_admin = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; +if(!$is_admin) +{ + $cid = $app->db->queryOneRecord('SELECT client_id FROM client WHERE username = "'.$app->db->quote($_SESSION['s']['user']['username']).'";'); + //$client_ext = ' AND aps_instances.customer_id = '.$cid['client_id']; + $client_ext = ' AND '.$app->tform->getAuthSQL('r', 'aps_instances'); +} +$app->listform_actions->SQLExtWhere = 'aps_instances.package_id = aps_packages.id'.$client_ext; +$app->listform_actions->SQLOrderBy = 'ORDER BY package_name'; + +// We are using parts of listform_actions because ISPConfig doesn't allow +// queries over multiple tables so we construct them ourselves +$_SESSION['s']['form']['return_to'] = ''; + +// Load the list template +$app->listform->loadListDef($list_def_file); +if(!is_file('templates/'.$app->listform->listDef["name"].'_list.htm')) +{ +$app->uses('listform_tpl_generator'); +$app->listform_tpl_generator->buildHTML($app->listform->listDef); +} +$app->tpl->newTemplate("listpage.tpl.htm"); +$app->tpl->setInclude('content_tpl', 'templates/'.$app->listform->listDef["name"].'_list.htm'); + +// Build the WHERE query for search +$sql_where = ''; +if($app->listform_actions->SQLExtWhere != '') + $sql_where .= ' '.$app->listform_actions->SQLExtWhere.' and'; +$sql_where = $app->listform->getSearchSQL($sql_where); +$app->tpl->setVar($app->listform->searchValues); + +// Paging +$limit_sql = $app->listform->getPagingSQL($sql_where); +$app->tpl->setVar('paging', $app->listform->pagingHTML); + +if(!$is_admin) { +// Our query over multiple tables +$query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, + aps_instances.customer_id AS customer_id, client.username AS customer_name, + aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, + aps_packages.version AS package_version, aps_packages.release AS package_release, + aps_packages.package_status AS package_status, + CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), + '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) + AS install_location + FROM aps_instances, aps_packages, client + WHERE client.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; +} else { +$query = "SELECT aps_instances.id AS id, aps_instances.package_id AS package_id, + aps_instances.customer_id AS customer_id, sys_group.name AS customer_name, + aps_instances.instance_status AS instance_status, aps_packages.name AS package_name, + aps_packages.version AS package_version, aps_packages.release AS package_release, + aps_packages.package_status AS package_status, + CONCAT((SELECT value FROM aps_instances_settings WHERE name='main_domain' AND instance_id = aps_instances.id), + '/', (SELECT value FROM aps_instances_settings WHERE name='main_location' AND instance_id = aps_instances.id)) + AS install_location + FROM aps_instances, aps_packages, sys_group + WHERE sys_group.client_id = aps_instances.customer_id AND ".$sql_where." ".$app->listform_actions->SQLOrderBy." ".$limit_sql; + +} + +$records = $app->db->queryAllRecords($query); +$app->listform_actions->DataRowColor = '#FFFFFF'; + +// Re-form all result entries and add extra entries +$records_new = ''; +if(is_array($records)) +{ + $app->listform_actions->idx_key = $app->listform->listDef["table_idx"]; + foreach($records as $rec) + { + // Set an abbreviated install location to beware the page layout + $ils = ''; + if(strlen($rec['Install_location']) >= 38) $ils = substr($rec['Install_location'], 0, 35).'...'; + else $ils = $rec['install_location']; + $rec['install_location_short'] = $ils; + + // Also set a boolean-like variable for the reinstall button (vlibTemplate doesn't allow variable comparisons) + // For a reinstall, the package must be already installed successfully and (still be) enabled + if($rec['instance_status'] == INSTANCE_SUCCESS && $rec['package_status'] == PACKAGE_ENABLED) + $rec['reinstall_possible'] = 'true'; + // Of course an instance can only then be removed when it's not already tagged for removal + if($rec['instance_status'] != INSTANCE_REMOVE && $rec['instance_status'] != INSTANCE_INSTALL) + $rec['delete_possible'] = 'true'; + + $records_new[] = $app->listform_actions->prepareDataRow($rec); + } +} +$app->tpl->setLoop('records', $records_new); + +$app->listform_actions->onShow(); +?> \ No newline at end of file diff --git a/interface/web/sites/aps_meta_packages/empty.dir b/interface/web/sites/aps_meta_packages/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/sites/aps_meta_packages/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/sites/aps_packagedetails_show.php b/interface/web/sites/aps_packagedetails_show.php index 94f5eaa0ae..737bd54a9a 100644 --- a/interface/web/sites/aps_packagedetails_show.php +++ b/interface/web/sites/aps_packagedetails_show.php @@ -1,100 +1,100 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); -//require_once('classes/class.guicontroller.php'); -$app->load('aps_guicontroller'); - -// Check the module permissions -$app->auth->check_module_permissions('sites'); - -// Load needed classes -$app->uses('tpl'); -$app->tpl->newTemplate("listpage.tpl.htm"); -$app->tpl->setInclude('content_tpl', 'templates/aps_packagedetails_show.htm'); - -// Load the language file -$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; -require_once($lngfile); -$app->tpl->setVar($wb); - -$gui = new ApsGUIController($app); -$pkg_id = (isset($_GET['id'])) ? $app->db->quote($_GET['id']) : ''; - -// Check if a newer version is available for the current package -// Note: It's intended that here is no strict ID check (see below) -if(isset($pkg_id)) -{ - $newest_pkg_id = $gui->getNewestPackageID($pkg_id); - if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; -} - -// Make sure an integer ID is given -$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; -if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) - $app->error($app->lng('Invalid ID')); - -// Get package details -$details = $gui->getPackageDetails($pkg_id); -if(isset($details['error'])) $app->error($details['error']); - -// Set the active and default tab -$next_tab = 'details'; -if(isset($_POST['next_tab']) || isset($_GET['next_tab'])) -{ - $tab = (isset($_POST['next_tab']) ? $_POST['next_tab'] : $_GET['next_tab']); - switch($tab) - { - case 'details': $next_tab = 'details'; break; - case 'settings': $next_tab = 'settings'; break; - case 'changelog': $next_tab = 'changelog'; break; - case 'screenshots': $next_tab = 'screenshots'; break; - default: $next_tab = 'details'; - } -} -$app->tpl->setVar('next_tab', $next_tab); - -// Parse the package details to the template -foreach($details as $key => $value) -{ - if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); - else // Special cases - { - if($key == 'Changelog') $app->tpl->setLoop('pkg_changelog', $details['Changelog']); - elseif($key == 'Screenshots') $app->tpl->setLoop('pkg_screenshots', $details['Screenshots']); - elseif($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); - } -} -//print_r($details['Requirements PHP settings']); - -$app->tpl_defaults(); -$app->tpl->pparse(); +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +require_once('../../lib/config.inc.php'); +require_once('../../lib/app.inc.php'); +//require_once('classes/class.guicontroller.php'); +$app->load('aps_guicontroller'); + +// Check the module permissions +$app->auth->check_module_permissions('sites'); + +// Load needed classes +$app->uses('tpl'); +$app->tpl->newTemplate("listpage.tpl.htm"); +$app->tpl->setInclude('content_tpl', 'templates/aps_packagedetails_show.htm'); + +// Load the language file +$lngfile = 'lib/lang/'.$_SESSION['s']['language'].'_aps.lng'; +require_once($lngfile); +$app->tpl->setVar($wb); + +$gui = new ApsGUIController($app); +$pkg_id = (isset($_GET['id'])) ? $app->db->quote($_GET['id']) : ''; + +// Check if a newer version is available for the current package +// Note: It's intended that here is no strict ID check (see below) +if(isset($pkg_id)) +{ + $newest_pkg_id = $gui->getNewestPackageID($pkg_id); + if($newest_pkg_id != 0) $pkg_id = $newest_pkg_id; +} + +// Make sure an integer ID is given +$adminflag = ($_SESSION['s']['user']['typ'] == 'admin') ? true : false; +if(!isset($pkg_id) || !$gui->isValidPackageID($pkg_id, $adminflag)) + $app->error($app->lng('Invalid ID')); + +// Get package details +$details = $gui->getPackageDetails($pkg_id); +if(isset($details['error'])) $app->error($details['error']); + +// Set the active and default tab +$next_tab = 'details'; +if(isset($_POST['next_tab']) || isset($_GET['next_tab'])) +{ + $tab = (isset($_POST['next_tab']) ? $_POST['next_tab'] : $_GET['next_tab']); + switch($tab) + { + case 'details': $next_tab = 'details'; break; + case 'settings': $next_tab = 'settings'; break; + case 'changelog': $next_tab = 'changelog'; break; + case 'screenshots': $next_tab = 'screenshots'; break; + default: $next_tab = 'details'; + } +} +$app->tpl->setVar('next_tab', $next_tab); + +// Parse the package details to the template +foreach($details as $key => $value) +{ + if(!is_array($value)) $app->tpl->setVar('pkg_'.str_replace(' ', '_', strtolower($key)), $value); + else // Special cases + { + if($key == 'Changelog') $app->tpl->setLoop('pkg_changelog', $details['Changelog']); + elseif($key == 'Screenshots') $app->tpl->setLoop('pkg_screenshots', $details['Screenshots']); + elseif($key == 'Requirements PHP settings') $app->tpl->setLoop('pkg_requirements_php_settings', $details['Requirements PHP settings']); + } +} +//print_r($details['Requirements PHP settings']); + +$app->tpl_defaults(); +$app->tpl->pparse(); ?> \ No newline at end of file diff --git a/interface/web/sites/database_user_edit.php b/interface/web/sites/database_user_edit.php index 4f6979fc4e..1b71196f69 100644 --- a/interface/web/sites/database_user_edit.php +++ b/interface/web/sites/database_user_edit.php @@ -57,17 +57,17 @@ class page_action extends tform_actions { * If the names are restricted -> remove the restriction, so that the * data can be edited */ - + //* Get the database user prefix $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); - + if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; $client = $app->db->queryOneRecord("SELECT client.company_name, client.contact_name, client.client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - + // Fill the client select field $sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']." ORDER BY sys_group.name"; $records = $app->db->queryAllRecords($sql); @@ -96,24 +96,24 @@ class page_action extends tform_actions { } $app->tpl->setVar("client_group_id",$client_select); } - - + + if ($this->dataRecord['database_user'] != ""){ /* REMOVE the restriction */ $app->tpl->setVar("database_user", $app->tools_sites->removePrefix($this->dataRecord['database_user'], $this->dataRecord['database_user_prefix'], $dbuser_prefix)); } - - + + $app->tpl->setVar("database_user_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_user_prefix'], $dbuser_prefix, $global_config['dbuser_prefix'])); - + parent::onShowEnd(); } - + function onSubmit() { global $app; - + if($_SESSION['s']['user']['typ'] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) unset($this->dataRecord["client_group_id"]); - + parent::onSubmit(); } @@ -126,40 +126,35 @@ class page_action extends tform_actions { $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); $this->oldDataRecord = $app->db->queryOneRecord("SELECT * FROM web_database_user WHERE database_user_id = '".$this->id."'"); - + $dbuser_prefix = $app->tools_sites->getPrefix($this->oldDataRecord['database_user_prefix'], $dbuser_prefix); $this->dataRecord['database_user_prefix'] = $dbuser_prefix; - + //* Database username shall not be empty if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />'; if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'<br />'; - + //* Check database user against blacklist $dbuser_blacklist = array($conf['db_user'],'mysql','root'); if(in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { $app->tform->errorMessage .= $app->lng('Database user not allowed.').'<br />'; } - + if ($app->tform->errorMessage == ''){ /* restrict the names if there is no error */ /* crop user and db names if they are too long -> mysql: user: 16 chars / db: 64 chars */ $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); } - - /* prepare password for MongoDB */ - // TODO: this still doens't work as when only the username changes we have no database_password. - // taking the one from oldData doesn't work as it's encrypted...shit! - $this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password']; - + $this->dataRecord['server_id'] = 0; // we need this on all servers - + parent::onBeforeUpdate(); } function onBeforeInsert() { global $app, $conf, $interfaceConf; - + //* Database username shall not be empty if($this->dataRecord['database_user'] == '') $app->tform->errorMessage .= $app->tform->wordbook["database_user_error_empty"].'<br />'; @@ -167,11 +162,11 @@ class page_action extends tform_actions { $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); $dbuser_prefix = $app->tools_sites->replacePrefix($global_config['dbuser_prefix'], $this->dataRecord); - + $this->dataRecord['database_user_prefix'] = $dbuser_prefix; - + if(strlen($dbuser_prefix . $this->dataRecord['database_user']) > 16) $app->tform->errorMessage .= str_replace('{user}',$dbuser_prefix . $this->dataRecord['database_user'],$app->tform->wordbook["database_user_error_len"]).'<br />'; - + //* Check database user against blacklist $dbuser_blacklist = array($conf['db_user'],'mysql','root'); if(is_array($dbuser_blacklist) && in_array($dbuser_prefix . $this->dataRecord['database_user'],$dbuser_blacklist)) { @@ -183,18 +178,15 @@ class page_action extends tform_actions { if ($app->tform->errorMessage == ''){ $this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16); } - - $this->dataRecord['server_id'] = 0; // we need this on all servers - - /* prepare password for MongoDB */ - $this->dataRecord['database_password_mongo'] = $this->dataRecord['database_user'].":mongo:".$this->dataRecord['database_password']; - + + $this->dataRecord['server_id'] = 0; // we need this on all servers + parent::onBeforeInsert(); } function onAfterInsert() { global $app, $conf; - + if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) { $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); $app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); @@ -216,9 +208,9 @@ class page_action extends tform_actions { $client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]); $app->db->query("UPDATE web_database_user SET sys_groupid = $client_group_id, sys_perm_group = 'riud' WHERE database_user_id = ".$this->id); } - + /*$password = $app->db->queryOneRecord("SELECT database_password FROM web_database_user WHERE database_user_id = ".$this->id); - + $records = $app->db->queryAllRecords("SELECT DISTINCT server_id FROM web_database WHERE database_user_id = '".$app->functions->intval($this->id)."' UNION SELECT DISTINCT server_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($this->id)."'"); foreach($records as $rec) { $new_rec = $this->dataRecord; diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php index 4cbfa12fef..e390f7276c 100644 --- a/interface/web/sites/form/database.tform.php +++ b/interface/web/sites/form/database.tform.php @@ -29,7 +29,7 @@ Hint: The ID field of the database table is not part of the datafield definition. The ID field must be always auto incement (int or bigint). - + Search: - searchable = 1 or searchable = 2 include the field in the search - searchable = 1: this field will be the title of the search result @@ -89,10 +89,7 @@ $form["tabs"]['database'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'SELECT', 'default' => 'y', - 'value' => array( - 'mongo' => 'MongoDB', - 'mysql' => 'MySQL' - ) + 'value' => array('mysql' => 'MySQL') ), 'database_name' => array ( 'datatype' => 'VARCHAR', @@ -177,4 +174,4 @@ $form["tabs"]['database'] = array ( ); -?> +?> \ No newline at end of file diff --git a/interface/web/sites/form/database_user.tform.php b/interface/web/sites/form/database_user.tform.php index d2a2defe7b..fa2b2d3a32 100644 --- a/interface/web/sites/form/database_user.tform.php +++ b/interface/web/sites/form/database_user.tform.php @@ -29,7 +29,7 @@ Hint: The ID field of the database table is not part of the datafield definition. The ID field must be always auto incement (int or bigint). - + Search: - searchable = 1 or searchable = 2 include the field in the search - searchable = 1: this field will be the title of the search result @@ -108,14 +108,6 @@ $form["tabs"]['database_user'] = array ( 'width' => '30', 'maxlength' => '255' ), - 'database_password_mongo' => array ( - 'datatype' => 'VARCHAR', - 'formtype' => 'PASSWORD', - 'default' => '', - 'value' => '', - 'width' => '30', - 'maxlength' => '255' - ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index 233b464b8a..f2c6fa7b55 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -72,9 +72,6 @@ if(!$app->auth->is_admin()) { if($client['limit_ssl'] != 'y') $ssl_available = false; } -$app->uses('getconf'); -$web_config = $app->getconf->get_global_config('sites'); - $form["tabs"]['domain'] = array ( 'title' => "Domain", 'width' => 100, @@ -538,8 +535,7 @@ $form["tabs"]['backup'] = array ( // } -if($_SESSION["s"]["user"]["typ"] == 'admin' - || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) { +if($_SESSION["s"]["user"]["typ"] == 'admin') { $form["tabs"]['advanced'] = array ( 'title' => "Options", diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php index 3aa304982a..116428cb6f 100644 --- a/interface/web/sites/form/web_vhost_subdomain.tform.php +++ b/interface/web/sites/form/web_vhost_subdomain.tform.php @@ -64,9 +64,6 @@ if(!$app->auth->is_admin()) { if($client['limit_ssl'] != 'y') $ssl_available = false; } -$app->uses('getconf'); -$web_config = $app->getconf->get_global_config('sites'); - $form["tabs"]['domain'] = array ( 'title' => "Domain", 'width' => 100, @@ -308,6 +305,14 @@ $form["tabs"]['redirect'] = array ( 'default' => '', 'value' => array('' => 'no_redirect_txt', 'non_www_to_www' => 'domain.tld => www.domain.tld', 'www_to_non_www' => 'www.domain.tld => domain.tld', '*_domain_tld_to_domain_tld' => '*.doman.tld => domain.tld', '*_domain_tld_to_www_domain_tld' => '*.domain.tld => www.domain.tld', '*_to_domain_tld' => '* => domain.tld', '*_to_www_domain_tld' => '* => www.domain.tld') ), + 'rewrite_rules' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), ################################## # ENDE Datatable fields ################################## @@ -520,8 +525,7 @@ $form["tabs"]['backup'] = array ( // } -if($_SESSION["s"]["user"]["typ"] == 'admin' - || ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) { +if($_SESSION["s"]["user"]["typ"] == 'admin') { $form["tabs"]['advanced'] = array ( 'title' => "Options", diff --git a/interface/web/sites/lib/lang/ar_database_admin_list.lng b/interface/web/sites/lib/lang/ar_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/ar_database_admin_list.lng +++ b/interface/web/sites/lib/lang/ar_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ar_database_list.lng b/interface/web/sites/lib/lang/ar_database_list.lng index e56806e45a..6039a9e0f9 100644 --- a/interface/web/sites/lib/lang/ar_database_list.lng +++ b/interface/web/sites/lib/lang/ar_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ar_web_domain.lng b/interface/web/sites/lib/lang/ar_web_domain.lng index 8bdb312c9b..3148cbbfc6 100644 --- a/interface/web/sites/lib/lang/ar_web_domain.lng +++ b/interface/web/sites/lib/lang/ar_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/bg_database_admin_list.lng b/interface/web/sites/lib/lang/bg_database_admin_list.lng index c4cff5076e..ce6887654e 100644 --- a/interface/web/sites/lib/lang/bg_database_admin_list.lng +++ b/interface/web/sites/lib/lang/bg_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'ПотребителÑко име на база да $wb['database_name_txt'] = 'Име на базата данни'; $wb['add_new_record_txt'] = 'Добави нова база данни'; $wb['sys_groupid_txt'] = 'Клиент'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/bg_database_list.lng b/interface/web/sites/lib/lang/bg_database_list.lng index 3683aa32c0..01d4d83c69 100644 --- a/interface/web/sites/lib/lang/bg_database_list.lng +++ b/interface/web/sites/lib/lang/bg_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Сървър'; $wb['database_name_txt'] = 'База данни'; $wb['add_new_record_txt'] = 'Ðова база данни'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/bg_web_domain.lng b/interface/web/sites/lib/lang/bg_web_domain.lng index dc2d3ff679..dfc1dd07a3 100644 --- a/interface/web/sites/lib/lang/bg_web_domain.lng +++ b/interface/web/sites/lib/lang/bg_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/br_database_admin_list.lng b/interface/web/sites/lib/lang/br_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/br_database_admin_list.lng +++ b/interface/web/sites/lib/lang/br_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/br_database_list.lng b/interface/web/sites/lib/lang/br_database_list.lng index 449baa8bba..51c43bfc16 100644 --- a/interface/web/sites/lib/lang/br_database_list.lng +++ b/interface/web/sites/lib/lang/br_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Servidor'; $wb['database_user_txt'] = 'Usuário do Banco'; $wb['database_name_txt'] = 'Nome do banco'; $wb['add_new_record_txt'] = 'Adcionar um novo banco'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/br_web_domain.lng b/interface/web/sites/lib/lang/br_web_domain.lng index b2abb2ac90..4feeb04191 100644 --- a/interface/web/sites/lib/lang/br_web_domain.lng +++ b/interface/web/sites/lib/lang/br_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/cz.lng b/interface/web/sites/lib/lang/cz.lng index 71ccd165f6..3a37df3f91 100644 --- a/interface/web/sites/lib/lang/cz.lng +++ b/interface/web/sites/lib/lang/cz.lng @@ -33,3 +33,4 @@ $wb['Update Packagelist'] = 'Aktualizace seznamu balÃÄků'; $wb['Subdomain (Vhost)'] = 'Subdoména (Vhost)'; $wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_aps.lng b/interface/web/sites/lib/lang/cz_aps.lng index 176d76da5a..69887b589a 100644 --- a/interface/web/sites/lib/lang/cz_aps.lng +++ b/interface/web/sites/lib/lang/cz_aps.lng @@ -54,5 +54,6 @@ $wb['installation_remove_txt'] = 'OdstranÄ›nà plánu'; $wb['packagelist_update_finished_txt'] = 'APS aktualizace seznamu balÃÄků dokonÄena.'; $wb['btn_install_txt'] = 'Instalovat'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; -$wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.'; +$wb['limit_aps_txt'] = 'Max. poÄet APS instancà u vaÅ¡eho úÄtu je dosaženo.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_aps_instances_list.lng b/interface/web/sites/lib/lang/cz_aps_instances_list.lng index 7b7b6dd6f0..16e863ee9c 100644 --- a/interface/web/sites/lib/lang/cz_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/cz_aps_instances_list.lng @@ -11,3 +11,4 @@ $wb['filter_txt'] = 'Hledat'; $wb['delete_txt'] = 'Smazat'; $wb['reinstall_txt'] = 'PÅ™einstalovat'; ?> + diff --git a/interface/web/sites/lib/lang/cz_aps_packages_list.lng b/interface/web/sites/lib/lang/cz_aps_packages_list.lng index 52ef6ebcd9..cf0d2b69d9 100644 --- a/interface/web/sites/lib/lang/cz_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/cz_aps_packages_list.lng @@ -6,3 +6,4 @@ $wb['category_txt'] = 'Kategorie'; $wb['status_txt'] = 'OdemÄený'; $wb['filter_txt'] = 'Hledat'; ?> + diff --git a/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng b/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng index 91a6ed46a4..edf9c2a081 100644 --- a/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng @@ -1,7 +1,8 @@ <?php -$wb['head_txt'] = 'Update Packagelist'; +$wb['head_txt'] = 'Aktualizace seznamu balÃÄků'; $wb['list_desc_txt'] = ''; -$wb['btn_start_txt'] = 'Update Packagelist'; +$wb['btn_start_txt'] = 'Aktualizace seznamu balÃÄků'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; -$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.'; +$wb['legend_txt'] = 'Zde si můžete aktualizovat seznam dostupných balÃÄků. VezmÄ›te prosÃm na vÄ›domÃ, že aktualizace může trvat až nÄ›kolik minut. Po spuÅ¡tÄ›nà aktualizace můžete následnÄ› opustit tuto sekci. Tento proces bude pokraÄovat na pozadÃ.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_cron.lng b/interface/web/sites/lib/lang/cz_cron.lng index d4e6c1767c..9e23b5a87d 100644 --- a/interface/web/sites/lib/lang/cz_cron.lng +++ b/interface/web/sites/lib/lang/cz_cron.lng @@ -10,12 +10,13 @@ $wb['run_month_txt'] = 'MÄ›sÃce'; $wb['run_wday_txt'] = 'Dny týdne'; $wb['command_txt'] = 'PÅ™Ãkaz ke spuÅ¡tÄ›nà (pÅ™Ãkazy jsou spuÅ¡tÄ›ny pÅ™es sh, url pÅ™es wget)'; $wb['limit_cron_txt'] = 'Dosažen maximálnà poÄet cron úloh pro Váš úÄet.'; -$wb['limit_cron_frequency_txt'] = 'Frekvence cron úloh pÅ™ekroÄila povolený limit'; +$wb['limit_cron_frequency_txt'] = 'Frekvence cron úloh pÅ™ekroÄila povolený limit (standardnà povolená nejnižšà hodnota je 1 x za 5 min. */5)'; $wb['run_min_error_format'] = 'Chybný formát pro minuty.'; $wb['run_hour_error_format'] = 'Chybný formát pror hodiny.'; $wb['run_mday_error_format'] = 'Chybný formát pro dny mÄ›sÃce.'; $wb['run_month_error_format'] = 'Chybný formát pro mÄ›sÃce.'; $wb['run_wday_error_format'] = 'Chybný formát pro dny týdne.'; $wb['command_error_format'] = 'Chybná formát pÅ™Ãkazu. V pÅ™ÃpadÄ› URL je povoleno volánà pouze http/https.'; -$wb['unknown_fieldtype_error'] = 'Bylp použito pole neznámého typu.'; +$wb['unknown_fieldtype_error'] = 'Bylo použito pole neznámého typu.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_cron_list.lng b/interface/web/sites/lib/lang/cz_cron_list.lng index f50dee2faf..dfabfa46ac 100644 --- a/interface/web/sites/lib/lang/cz_cron_list.lng +++ b/interface/web/sites/lib/lang/cz_cron_list.lng @@ -11,3 +11,4 @@ $wb['command_txt'] = 'PÅ™Ãkaz'; $wb['add_new_cron_txt'] = 'PÅ™idat novou cron úlohu'; $wb['parent_domain_id_txt'] = 'Webové stránky'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database.lng b/interface/web/sites/lib/lang/cz_database.lng index c316f0ac97..a13b7791ba 100644 --- a/interface/web/sites/lib/lang/cz_database.lng +++ b/interface/web/sites/lib/lang/cz_database.lng @@ -42,5 +42,6 @@ $wb['optional_txt'] = 'Volitelný'; $wb['select_dbuser_txt'] = 'Vyberte uživatele databáze'; $wb['no_dbuser_txt'] = 'Žádný'; $wb['database_client_differs_txt'] = 'Klient mateÅ™ského webu a databáze se neshodujÃ.'; -$wb['database_user_missing_txt'] = 'Please select a database user for this database.'; +$wb['database_user_missing_txt'] = 'ProsÃm vyberte uživatele databáze pro tuto databázi.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database_admin_list.lng b/interface/web/sites/lib/lang/cz_database_admin_list.lng index a0069404d8..f9aa5571a2 100644 --- a/interface/web/sites/lib/lang/cz_database_admin_list.lng +++ b/interface/web/sites/lib/lang/cz_database_admin_list.lng @@ -7,4 +7,6 @@ $wb['database_user_txt'] = 'Uživatel databáze'; $wb['database_name_txt'] = 'Jméno databáze'; $wb['add_new_record_txt'] = 'PÅ™idat nové databáze'; $wb['sys_groupid_txt'] = 'Klient'; +$wb['parent_domain_id_txt'] = 'webová stránka'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database_list.lng b/interface/web/sites/lib/lang/cz_database_list.lng index 9bb80dd945..f76bcf02c8 100644 --- a/interface/web/sites/lib/lang/cz_database_list.lng +++ b/interface/web/sites/lib/lang/cz_database_list.lng @@ -6,4 +6,6 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Uživatel databáze'; $wb['database_name_txt'] = 'Název databáze'; $wb['add_new_record_txt'] = 'PÅ™idat databázi'; +$wb['parent_domain_id_txt'] = 'Webová stránka'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database_user.lng b/interface/web/sites/lib/lang/cz_database_user.lng index 8a64cb5225..127d1a39c1 100644 --- a/interface/web/sites/lib/lang/cz_database_user.lng +++ b/interface/web/sites/lib/lang/cz_database_user.lng @@ -1,6 +1,6 @@ <?php $wb['database_user_txt'] = 'Uživatel databáze'; -$wb['database_password_txt'] = 'Heslo databazového uživatele'; +$wb['database_password_txt'] = 'Heslo databázového uživatele'; $wb['password_strength_txt'] = 'BezpeÄnost hesla'; $wb['client_txt'] = 'Klient'; $wb['active_txt'] = 'AktivnÃ'; @@ -21,3 +21,4 @@ $wb['globalsearch_noresults_limit_txt'] = '0 výsledků'; $wb['globalsearch_searchfield_watermark_txt'] = 'Hledat'; $wb['globalsearch_suggestions_text_txt'] = 'Návrhy'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database_user_admin_list.lng b/interface/web/sites/lib/lang/cz_database_user_admin_list.lng index 8703e713e1..127be4f973 100644 --- a/interface/web/sites/lib/lang/cz_database_user_admin_list.lng +++ b/interface/web/sites/lib/lang/cz_database_user_admin_list.lng @@ -4,3 +4,4 @@ $wb['database_user_txt'] = 'Uživatel databáze'; $wb['add_new_record_txt'] = 'VytvoÅ™it nového uživatele databáze'; $wb['sys_groupid_txt'] = 'Klient'; ?> + diff --git a/interface/web/sites/lib/lang/cz_database_user_list.lng b/interface/web/sites/lib/lang/cz_database_user_list.lng index 42cf36d703..5fc1fc39b5 100644 --- a/interface/web/sites/lib/lang/cz_database_user_list.lng +++ b/interface/web/sites/lib/lang/cz_database_user_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Uživatelé databáze'; $wb['database_user_txt'] = 'Uživatelé databáze'; $wb['add_new_record_txt'] = 'PÅ™idat nového uživatele databáze'; ?> + diff --git a/interface/web/sites/lib/lang/cz_ftp_user.lng b/interface/web/sites/lib/lang/cz_ftp_user.lng index 876ad5108c..494ecda153 100644 --- a/interface/web/sites/lib/lang/cz_ftp_user.lng +++ b/interface/web/sites/lib/lang/cz_ftp_user.lng @@ -32,3 +32,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_ftp_user_list.lng b/interface/web/sites/lib/lang/cz_ftp_user_list.lng index 41649df7f9..965e1c7256 100644 --- a/interface/web/sites/lib/lang/cz_ftp_user_list.lng +++ b/interface/web/sites/lib/lang/cz_ftp_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webová stránka'; $wb['username_txt'] = 'Uživatelské jméno'; $wb['add_new_record_txt'] = 'PÅ™idat FTP uživatele'; ?> + diff --git a/interface/web/sites/lib/lang/cz_shell_user.lng b/interface/web/sites/lib/lang/cz_shell_user.lng index 711475eba8..09377dae84 100644 --- a/interface/web/sites/lib/lang/cz_shell_user.lng +++ b/interface/web/sites/lib/lang/cz_shell_user.lng @@ -29,3 +29,4 @@ $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.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_shell_user_list.lng b/interface/web/sites/lib/lang/cz_shell_user_list.lng index 1d6bc198d7..cdc729c9fe 100644 --- a/interface/web/sites/lib/lang/cz_shell_user_list.lng +++ b/interface/web/sites/lib/lang/cz_shell_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Stránka'; $wb['username_txt'] = 'Uživatelské jméno'; $wb['add_new_record_txt'] = 'PÅ™idat shell uživatele'; ?> + diff --git a/interface/web/sites/lib/lang/cz_user_quota_stats_list.lng b/interface/web/sites/lib/lang/cz_user_quota_stats_list.lng index 4531944549..efb766bd99 100644 --- a/interface/web/sites/lib/lang/cz_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/cz_user_quota_stats_list.lng @@ -3,7 +3,8 @@ $wb['list_head_txt'] = 'Disková kvóta'; $wb['domain_txt'] = 'Doména / Webová stránka'; $wb['system_user_txt'] = 'Linuxový uživatel'; $wb['used_txt'] = 'Využité mÃsto'; -$wb['hard_txt'] = 'Tvrdý limit'; -$wb['soft_txt'] = 'MÄ›kký limit'; +$wb['hard_txt'] = 'Kvóta max. obsazenÃ'; +$wb['soft_txt'] = 'Kvóta pro upozornÄ›nÃ'; $wb['files_txt'] = 'Jednotlivé soubory'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_aliasdomain.lng b/interface/web/sites/lib/lang/cz_web_aliasdomain.lng index 3a5d150406..c82c428313 100644 --- a/interface/web/sites/lib/lang/cz_web_aliasdomain.lng +++ b/interface/web/sites/lib/lang/cz_web_aliasdomain.lng @@ -1,7 +1,7 @@ <?php $wb['domain_txt'] = 'Aliasdomain'; -$wb['backup_interval_txt'] = 'Backup interval'; -$wb['backup_copies_txt'] = 'Number of backup copies'; +$wb['backup_interval_txt'] = 'Interval zálohovánÃ'; +$wb['backup_copies_txt'] = 'PoÄet kopià zálohy'; $wb['ssl_state_txt'] = 'State'; $wb['ssl_locality_txt'] = 'Locality'; $wb['ssl_organisation_txt'] = 'Organisation'; @@ -41,7 +41,7 @@ $wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your acc $wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.'; $wb['apache_directives_txt'] = 'Apache Directives'; $wb['domain_error_empty'] = 'Doména je prázdná.'; -$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.'; +$wb['domain_error_unique'] = 'Webové stránky nebo sub-doména / alias-domény již existuje s tÃmto doménovým jménem.'; $wb['domain_error_regex'] = 'Neplatné doménové jméno.'; $wb['domain_error_autosub'] = 'There is already a subdomain with these settings.'; $wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.'; @@ -113,3 +113,4 @@ $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; $wb['Domain'] = 'Aliasdomain'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/cz_web_aliasdomain_list.lng index 22a4ffe32f..a3ae2a954d 100644 --- a/interface/web/sites/lib/lang/cz_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/cz_web_aliasdomain_list.lng @@ -12,3 +12,4 @@ $wb['no_redirect_txt'] = 'Žádné pÅ™esmÄ›rovánÃ'; $wb['no_flag_txt'] = 'Žádný pÅ™Ãznak'; $wb['none_txt'] = 'Žádná'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_backup_list.lng b/interface/web/sites/lib/lang/cz_web_backup_list.lng index 3c9cfc8ef5..ae06162d72 100644 --- a/interface/web/sites/lib/lang/cz_web_backup_list.lng +++ b/interface/web/sites/lib/lang/cz_web_backup_list.lng @@ -13,3 +13,4 @@ $wb['restore_pending_txt'] = 'There is already a pending backup restore job.'; $wb['backup_type_mysql'] = 'MySQL Database'; $wb['backup_type_web'] = 'Website files'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_domain.lng index 49ee278fa4..ab82df12ed 100644 --- a/interface/web/sites/lib/lang/cz_web_domain.lng +++ b/interface/web/sites/lib/lang/cz_web_domain.lng @@ -111,12 +111,14 @@ $wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Sni $wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:'; $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; -$wb['no_server_error'] = 'No server selected.'; -$wb['no_backup_txt'] = 'No backup'; -$wb['daily_backup_txt'] = 'Daily'; -$wb['weekly_backup_txt'] = 'Weekly'; -$wb['monthly_backup_txt'] = 'Monthly'; +$wb['no_server_error'] = 'Nebyl zvolen žádný server'; +$wb['no_backup_txt'] = 'Žádné zálohovánÃ'; +$wb['daily_backup_txt'] = 'DennÄ›'; +$wb['weekly_backup_txt'] = 'TýdnÄ›'; +$wb['monthly_backup_txt'] = 'MÄ›sÃÄnÄ›'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_domain_admin_list.lng b/interface/web/sites/lib/lang/cz_web_domain_admin_list.lng index e52a794428..4a20c10f55 100644 --- a/interface/web/sites/lib/lang/cz_web_domain_admin_list.lng +++ b/interface/web/sites/lib/lang/cz_web_domain_admin_list.lng @@ -7,3 +7,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Doména'; $wb['add_new_record_txt'] = 'PÅ™idat webovou stránku'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_domain_list.lng b/interface/web/sites/lib/lang/cz_web_domain_list.lng index cbf025e79b..78296799a1 100644 --- a/interface/web/sites/lib/lang/cz_web_domain_list.lng +++ b/interface/web/sites/lib/lang/cz_web_domain_list.lng @@ -6,3 +6,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Doména'; $wb['add_new_record_txt'] = 'PÅ™idat webovou stránku'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_folder.lng b/interface/web/sites/lib/lang/cz_web_folder.lng index f9f623dc2b..0d1090f5a5 100644 --- a/interface/web/sites/lib/lang/cz_web_folder.lng +++ b/interface/web/sites/lib/lang/cz_web_folder.lng @@ -5,3 +5,4 @@ $wb['path_txt'] = 'Cesta'; $wb['active_txt'] = 'AktivnÃ'; $wb['path_error_regex'] = 'Neplatná cesta ke složce.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_folder_list.lng b/interface/web/sites/lib/lang/cz_web_folder_list.lng index b75c0e80da..74b4d323c1 100644 --- a/interface/web/sites/lib/lang/cz_web_folder_list.lng +++ b/interface/web/sites/lib/lang/cz_web_folder_list.lng @@ -5,3 +5,4 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webové stránky'; $wb['path_txt'] = 'Cesta'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_folder_user.lng b/interface/web/sites/lib/lang/cz_web_folder_user.lng index d55cb29d8d..d3d3709918 100644 --- a/interface/web/sites/lib/lang/cz_web_folder_user.lng +++ b/interface/web/sites/lib/lang/cz_web_folder_user.lng @@ -3,11 +3,12 @@ $wb['web_folder_id_txt'] = 'Složka'; $wb['username_txt'] = 'Uživatelské jméno'; $wb['password_txt'] = 'Heslo'; $wb['active_txt'] = 'AktivnÃ'; -$wb['folder_error_empty'] = 'No web folder selecetd.'; +$wb['folder_error_empty'] = 'Nebyla vybrána žádná webová složka.'; $wb['password_strength_txt'] = 'SÃla hesla'; $wb['generate_password_txt'] = 'Generovat heslo'; $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; -$wb['no_folder_perm'] = 'You have no permission for this folder.'; +$wb['no_folder_perm'] = 'Nemáte oprávnÄ›nà pro tuto složku.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng index 99fe62051c..c4621250b1 100644 --- a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng @@ -4,3 +4,4 @@ $wb['active_txt'] = 'AktivnÃ'; $wb['web_folder_id_txt'] = 'Složka'; $wb['username_txt'] = 'Uživatelské jméno'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_sites_stats_list.lng b/interface/web/sites/lib/lang/cz_web_sites_stats_list.lng index ed93596824..a70ccfb9b7 100644 --- a/interface/web/sites/lib/lang/cz_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/cz_web_sites_stats_list.lng @@ -7,3 +7,4 @@ $wb['this_year_txt'] = 'Tento rok'; $wb['last_year_txt'] = 'Minulý rok'; $wb['sum_txt'] = 'SouÄet'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_subdomain.lng b/interface/web/sites/lib/lang/cz_web_subdomain.lng index de1445f5de..b40c927524 100644 --- a/interface/web/sites/lib/lang/cz_web_subdomain.lng +++ b/interface/web/sites/lib/lang/cz_web_subdomain.lng @@ -44,3 +44,4 @@ $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.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_subdomain_list.lng b/interface/web/sites/lib/lang/cz_web_subdomain_list.lng index 8a0bafe0f9..d1ad2834fe 100644 --- a/interface/web/sites/lib/lang/cz_web_subdomain_list.lng +++ b/interface/web/sites/lib/lang/cz_web_subdomain_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webová stránka'; $wb['domain_txt'] = 'Subdoména'; $wb['add_new_record_txt'] = 'PÅ™idat subdoménu'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng index c76dffd07c..ab47f26dc4 100644 --- a/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/cz_web_vhost_subdomain.lng @@ -45,7 +45,7 @@ $wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your acc $wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.'; $wb['apache_directives_txt'] = 'Apache Directives'; $wb['domain_error_empty'] = 'Doména je prázdná.'; -$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.'; +$wb['domain_error_unique'] = 'Webové stránky nebo sub-doména / alias-domény již existuje s tÃmto doménovým jménem.'; $wb['domain_error_regex'] = 'Neplatné doménové jméno.'; $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; $wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.'; @@ -116,3 +116,4 @@ $wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snipp $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; ?> + diff --git a/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng index a54e19a5ad..e15402b067 100644 --- a/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng +++ b/interface/web/sites/lib/lang/cz_web_vhost_subdomain_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webové stránky'; $wb['domain_txt'] = 'Subdoména'; $wb['add_new_record_txt'] = 'PÅ™idat novou poddoménu'; ?> + diff --git a/interface/web/sites/lib/lang/cz_webdav_user.lng b/interface/web/sites/lib/lang/cz_webdav_user.lng index 3e89a1e625..c21555e78e 100644 --- a/interface/web/sites/lib/lang/cz_webdav_user.lng +++ b/interface/web/sites/lib/lang/cz_webdav_user.lng @@ -19,3 +19,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/sites/lib/lang/cz_webdav_user_list.lng b/interface/web/sites/lib/lang/cz_webdav_user_list.lng index 0c1148b53e..af8bfea749 100644 --- a/interface/web/sites/lib/lang/cz_webdav_user_list.lng +++ b/interface/web/sites/lib/lang/cz_webdav_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webové stránky'; $wb['username_txt'] = 'Uživatelské jméno'; $wb['add_new_record_txt'] = 'PÅ™idat nového WebDAV uživatele'; ?> + diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng index 4ef7509e4e..7f956ef31e 100644 --- a/interface/web/sites/lib/lang/de.lng +++ b/interface/web/sites/lib/lang/de.lng @@ -10,12 +10,12 @@ $wb['FTP-User'] = 'FTP Benutzer'; $wb['Webdav-User'] = 'WebDAV Benutzer'; $wb['Folder'] = 'Geschützte Ordner'; $wb['Folder users'] = 'Geschützte Ordner Benutzer'; -$wb['Command Line'] = 'Kommando Zeile'; +$wb['Command Line'] = 'Kommandozeile'; $wb['Shell-User'] = 'Shell Benutzer'; $wb['Cron Jobs'] = 'Cronjobs'; $wb['Statistics'] = 'Statistik'; -$wb['Web traffic'] = 'Web Datentransfer'; -$wb['Website quota (Harddisk)'] = 'Webseitenbeschränkung (Festplatte)'; +$wb['Web traffic'] = 'Datentransfer'; +$wb['Website quota (Harddisk)'] = 'Speicherplatzbeschränkung'; $wb['Cron'] = 'Cron'; $wb['Stats'] = 'Statistiken'; $wb['Shell'] = 'Shell'; @@ -23,7 +23,7 @@ $wb['Webdav'] = 'WebDAV'; $wb['FTP'] = 'FTP'; $wb['Options'] = 'Optionen'; $wb['Domain'] = 'Domain'; -$wb['Redirect'] = 'Umleitung'; +$wb['Redirect'] = 'Weiterleitung'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Seiten'; $wb['APS Installer'] = 'APS Installationsassistent'; @@ -33,3 +33,4 @@ $wb['Update Packagelist'] = 'Paketliste aktualisieren'; $wb['error_proxy_requires_url'] = 'Weiterleitungstyp '; $wb['Subdomain (Vhost)'] = 'Subdomain (vHost)'; ?> + diff --git a/interface/web/sites/lib/lang/de_aps.lng b/interface/web/sites/lib/lang/de_aps.lng index aab6f4edf7..b97d0a0c87 100644 --- a/interface/web/sites/lib/lang/de_aps.lng +++ b/interface/web/sites/lib/lang/de_aps.lng @@ -54,5 +54,6 @@ $wb['installation_error_txt'] = 'Installationsfehler'; $wb['installation_success_txt'] = 'Installiert'; $wb['installation_remove_txt'] = 'Deinstallation vorgemerkt'; $wb['packagelist_update_finished_txt'] = 'APS Paketlistenupdate beendet.'; -$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS-Instanzen für Ihr Konto wurde erreicht.'; +$wb['limit_aps_txt'] = 'Die maximale Anzahl an APS Instanzen für Ihr Konto wurde erreicht.'; ?> + diff --git a/interface/web/sites/lib/lang/de_aps_instances_list.lng b/interface/web/sites/lib/lang/de_aps_instances_list.lng index e5f8b7b7f1..753ba3b8af 100644 --- a/interface/web/sites/lib/lang/de_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/de_aps_instances_list.lng @@ -11,3 +11,4 @@ $wb['filter_txt'] = 'Suche'; $wb['delete_txt'] = 'Löschen'; $wb['reinstall_txt'] = 'Neuinstallieren'; ?> + diff --git a/interface/web/sites/lib/lang/de_aps_packages_list.lng b/interface/web/sites/lib/lang/de_aps_packages_list.lng index 6cada812b2..ab21a14771 100644 --- a/interface/web/sites/lib/lang/de_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/de_aps_packages_list.lng @@ -6,3 +6,4 @@ $wb['category_txt'] = 'Kategorie'; $wb['status_txt'] = 'Verfügbar'; $wb['filter_txt'] = 'Suche'; ?> + diff --git a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng index e0326cbb3c..4ca36cfb10 100644 --- a/interface/web/sites/lib/lang/de_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/de_aps_update_packagelist.lng @@ -1,7 +1,8 @@ <?php $wb['head_txt'] = 'Paketliste aktualisieren'; -$wb['list_desc_txt'] = ''; +$wb['list_desc_txt'] = 'APS Paketlisten aktualisieren.'; $wb['btn_start_txt'] = 'Paketliste aktualisieren'; $wb['btn_cancel_txt'] = 'Abbrechen'; $wb['legend_txt'] = 'Hier können Sie die Liste der verfügbaren Pakete aktualisieren. Dies kann bis zu fünf Minuten dauern. Wenn Sie möchten, können Sie diese Seite verlassen; der Prozeß läuft im Hintergrund weiter.'; ?> + diff --git a/interface/web/sites/lib/lang/de_cron.lng b/interface/web/sites/lib/lang/de_cron.lng index 8cebfa9c5f..8fd195820b 100644 --- a/interface/web/sites/lib/lang/de_cron.lng +++ b/interface/web/sites/lib/lang/de_cron.lng @@ -8,8 +8,8 @@ $wb['run_hour_txt'] = 'Stunden'; $wb['run_mday_txt'] = 'Tage des Monats'; $wb['run_month_txt'] = 'Monate'; $wb['run_wday_txt'] = 'Tage der Woche'; -$wb['command_txt'] = 'Auszuführender Befehl (Befehle werden mit sh ausgeführt, urls mit wget)'; -$wb['limit_cron_txt'] = 'Die maximale Anzahl von erlaubten Cronjobs ist bereits erreicht.'; +$wb['command_txt'] = 'Auszuführender Befehl (Befehle werden mit sh ausgeführt, URLs mit wget)'; +$wb['limit_cron_txt'] = 'Die max. Anzahl von erlaubten Cronjobs ist bereits erreicht.'; $wb['limit_cron_frequency_txt'] = 'Die Ausführungshäufigkeit übersteigt Ihr erlaubtes Limit.'; $wb['run_min_error_format'] = 'Das Format für Minuten ist nicht korrekt.'; $wb['run_hour_error_format'] = 'Das Format für Stunden ist nicht korrekt.'; @@ -19,3 +19,4 @@ $wb['run_wday_error_format'] = 'Das Format für Wochentage ist nicht korrekt.'; $wb['command_error_format'] = 'Das Format für den Befehl ist nicht korrekt. Beachten Sie, dass bei einem URL Aufruf nur http und https erlaubt ist.'; $wb['unknown_fieldtype_error'] = 'Es wurde ein unbekanntes Feld verwendet.'; ?> + diff --git a/interface/web/sites/lib/lang/de_cron_list.lng b/interface/web/sites/lib/lang/de_cron_list.lng index 687505b4a3..029cd59b75 100644 --- a/interface/web/sites/lib/lang/de_cron_list.lng +++ b/interface/web/sites/lib/lang/de_cron_list.lng @@ -11,3 +11,4 @@ $wb['command_txt'] = 'Befehl'; $wb['add_new_cron_txt'] = 'Neuen Cronjob anlegen'; $wb['parent_domain_id_txt'] = 'Webseite'; ?> + diff --git a/interface/web/sites/lib/lang/de_database.lng b/interface/web/sites/lib/lang/de_database.lng index 716fd7a20e..a38dd8d8d8 100644 --- a/interface/web/sites/lib/lang/de_database.lng +++ b/interface/web/sites/lib/lang/de_database.lng @@ -10,20 +10,20 @@ $wb['database_charset_txt'] = 'Datenbank Zeichensatz'; $wb['select_dbuser_txt'] = 'Datenbankbenutzer auswählen'; $wb['no_dbuser_txt'] = 'Keiner'; $wb['remote_access_txt'] = 'Entfernter Zugriff'; -$wb['remote_ips_txt'] = 'Entfernter Zugriff IP Adressen (Mehrere mit Komma trennen, keine Eingabe für <i>alle</i>)'; -$wb['database_remote_error_ips'] = 'Mindestens eine der eingegebenen IP Adressen ist ungültig.'; +$wb['remote_ips_txt'] = 'Entfernter Zugriff IP Adressen (Mehrere mit Komma trennen, keine Angabe für <i>alle</i>)'; +$wb['database_remote_error_ips'] = 'Mindestens eine der angegebenen IP Adressen ist ungültig.'; $wb['client_txt'] = 'Kunde'; $wb['active_txt'] = 'Aktiv'; $wb['database_client_differs_txt'] = 'Der Kunde dieser Datenbank passt nicht zum Kunden des Datenbankbenutzers.'; -$wb['database_name_error_empty'] = 'Datenbank Name ist leer.'; +$wb['database_name_error_empty'] = 'Datenbankname ist leer.'; $wb['database_name_error_unique'] = 'Es existiert bereits eine Datenbank mit diesem Namen am Server. Um einen eindeutigen Namen zu erhalten können sie z.B. den Domainnamen vor dem Datenbanknamen verwenden.'; -$wb['database_name_error_regex'] = 'Ungültiger Datenbankname. Der Datenbankname darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; +$wb['database_name_error_regex'] = 'Ungültiger Datenbankname. Der Datenbank Name darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; $wb['database_user_error_empty'] = 'Datenbankbenutzer ist leer.'; $wb['database_user_error_unique'] = 'Es existiert bereits ein Benutzer mit diesem Namen am Server. Um einen eindeutigen Namen zu erhalten können sie z.B. den Domainnamen vor dem Benutzernamen verwenden.'; $wb['database_user_error_regex'] = 'Ungültiger Benutzername. Der Benutzername darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; -$wb['limit_database_txt'] = 'Die maximale Anzahl an Datenbanken wurde erreicht.'; +$wb['limit_database_txt'] = 'Die max. Anzahl an Datenbanken wurde erreicht.'; $wb['database_name_change_txt'] = 'Der Datenbankname kann nicht geändert werden.'; -$wb['database_user_missing_txt'] = 'Bitte wählen Sie einen Datenbanknutzer für die Datenbank aus.'; +$wb['database_user_missing_txt'] = 'Bitte wählen Sie einen Datenbankbennutzer für die Datenbank aus.'; $wb['database_charset_change_txt'] = 'Der Zeichensatz der Datenbank kann nicht geändert werden.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; $wb['database_name_error_len'] = 'Datenbankname - {db} - zu lang. Die max. Datenbanknamen Länge inkl. Präfix ist 64 Zeichen.'; @@ -44,3 +44,4 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> + diff --git a/interface/web/sites/lib/lang/de_database_admin_list.lng b/interface/web/sites/lib/lang/de_database_admin_list.lng index f77b4ca89d..ad742ff38d 100644 --- a/interface/web/sites/lib/lang/de_database_admin_list.lng +++ b/interface/web/sites/lib/lang/de_database_admin_list.lng @@ -1,12 +1,12 @@ <?php $wb['list_head_txt'] = 'Datenbank'; $wb['active_txt'] = 'Aktiv'; -$wb['remote_access_txt'] = 'Remotezugriff'; -$wb['type_txt'] = 'Typ'; +$wb['remote_access_txt'] = 'Entfernter Zugriff'; $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Datenbank Benutzer'; -$wb['database_name_txt'] = 'Datenbankname'; +$wb['database_name_txt'] = 'Datenbank Name'; $wb['add_new_record_txt'] = 'Neue Datenbank hinzufügen'; $wb['sys_groupid_txt'] = 'Kunde'; $wb['parent_domain_id_txt'] = 'Domain'; ?> + diff --git a/interface/web/sites/lib/lang/de_database_list.lng b/interface/web/sites/lib/lang/de_database_list.lng index d355181b2d..93dc2779dc 100644 --- a/interface/web/sites/lib/lang/de_database_list.lng +++ b/interface/web/sites/lib/lang/de_database_list.lng @@ -2,10 +2,10 @@ $wb['list_head_txt'] = 'Datenbank'; $wb['active_txt'] = 'Aktiv'; $wb['remote_access_txt'] = 'Remotezugriff'; -$wb['type_txt'] = 'Typ'; $wb['server_id_txt'] = 'Server'; -$wb['database_name_txt'] = 'Datenbankname'; +$wb['database_name_txt'] = 'Datenbank Name'; $wb['add_new_record_txt'] = 'Neue Datenbank hinzufügen'; -$wb['database_user_txt'] = 'Database user'; +$wb['database_user_txt'] = 'Datenbank Benutzer'; $wb['parent_domain_id_txt'] = 'Domain'; ?> + diff --git a/interface/web/sites/lib/lang/de_database_user.lng b/interface/web/sites/lib/lang/de_database_user.lng index 78884bc3b8..d81bc52d0c 100644 --- a/interface/web/sites/lib/lang/de_database_user.lng +++ b/interface/web/sites/lib/lang/de_database_user.lng @@ -1,6 +1,6 @@ <?php -$wb['database_user_txt'] = 'Datenbank-Benutzer'; -$wb['database_password_txt'] = 'Datenbank-Passwort'; +$wb['database_user_txt'] = 'Datenbank Benutzer'; +$wb['database_password_txt'] = 'Datenbank Passwort'; $wb['client_txt'] = 'Kunde'; $wb['active_txt'] = 'Aktiv'; $wb['database_user_error_empty'] = 'Datenbank Benutzer ist leer.'; @@ -21,3 +21,4 @@ $wb['globalsearch_noresults_limit_txt'] = '0 Treffer'; $wb['globalsearch_searchfield_watermark_txt'] = 'Suche'; $wb['globalsearch_suggestions_text_txt'] = 'Vorschläge'; ?> + diff --git a/interface/web/sites/lib/lang/de_database_user_admin_list.lng b/interface/web/sites/lib/lang/de_database_user_admin_list.lng index 82c09fcf13..4cbdc9dbda 100644 --- a/interface/web/sites/lib/lang/de_database_user_admin_list.lng +++ b/interface/web/sites/lib/lang/de_database_user_admin_list.lng @@ -4,3 +4,4 @@ $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['database_user_txt'] = 'Datenbank Benutzer'; $wb['sys_groupid_txt'] = 'Kunde'; ?> + diff --git a/interface/web/sites/lib/lang/de_database_user_list.lng b/interface/web/sites/lib/lang/de_database_user_list.lng index 7ee8222dcb..d746d2f2c2 100644 --- a/interface/web/sites/lib/lang/de_database_user_list.lng +++ b/interface/web/sites/lib/lang/de_database_user_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'Datenbank Benutzer'; $wb['add_new_record_txt'] = 'Neuen Benutzer hinzufügen'; $wb['database_user_txt'] = 'Datenbank Benutzer'; ?> + diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng index c367ffffbb..897f70057a 100644 --- a/interface/web/sites/lib/lang/de_ftp_user.lng +++ b/interface/web/sites/lib/lang/de_ftp_user.lng @@ -12,13 +12,13 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Domain'; $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; -$wb['quota_size_txt'] = 'Festplatten Quota'; +$wb['quota_size_txt'] = 'Speicherplatz Beschränkung'; $wb['active_txt'] = 'Aktiv'; -$wb['limit_ftp_user_txt'] = 'Die maximale Anzahl an FTP Benutzer für Ihr Konto wurde erreicht.'; +$wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzer für Ihr Konto wurde erreicht.'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.'; -$wb['quota_size_error_empty'] = 'Beschränkung ist leer.'; +$wb['quota_size_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; $wb['uid_error_empty'] = 'GID ist leer.'; $wb['directory_error_empty'] = 'Verzeichnis ist leer.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; @@ -32,3 +32,4 @@ $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.'; ?> + diff --git a/interface/web/sites/lib/lang/de_ftp_user_list.lng b/interface/web/sites/lib/lang/de_ftp_user_list.lng index 8d1b0817a6..d39ff1f526 100644 --- a/interface/web/sites/lib/lang/de_ftp_user_list.lng +++ b/interface/web/sites/lib/lang/de_ftp_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Domain'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen FTP Benutzer hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng index 9de369f90d..8a825b47b6 100644 --- a/interface/web/sites/lib/lang/de_shell_user.lng +++ b/interface/web/sites/lib/lang/de_shell_user.lng @@ -6,20 +6,20 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; $wb['chroot_txt'] = 'Chroot Shell'; -$wb['quota_size_txt'] = 'Quota'; +$wb['quota_size_txt'] = 'Beschränkung'; $wb['active_txt'] = 'Aktiv'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss eindeutig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält ungültige Zeichen.'; -$wb['quota_size_error_empty'] = 'Quota ist leer'; +$wb['quota_size_error_empty'] = 'Beschränkung ist leer'; $wb['uid_error_empty'] = 'GID ist leer.'; $wb['directory_error_empty'] = 'Verzeichnis ist leer.'; -$wb['limit_shell_user_txt'] = 'Die maximale Anzahl an Shell Benutzer wurde erreicht.'; +$wb['limit_shell_user_txt'] = 'Die max. Anzahl an Shell Benutzer wurde erreicht.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; $wb['parent_domain_id_error_empty'] = 'Keine Webseite ausgewählt.'; $wb['puser_txt'] = 'Web Benutzername'; $wb['pgroup_txt'] = 'Web Gruppe'; -$wb['ssh_rsa_txt'] = 'SSH RSA Public Key (für key-basierte Logins)'; +$wb['ssh_rsa_txt'] = 'SSH RSA öffentlicher Schlüssel (Für Schlüssel basierte Logins)'; $wb['dir_dot_error'] = 'Kein .. im Pfad erlaubt.'; $wb['dir_slashdot_error'] = 'Kein ./ im Pfad erlaubt.'; $wb['generate_password_txt'] = 'Passwort erzeugen'; @@ -27,5 +27,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['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['username_not_allowed_txt'] = 'Dieser Benutzername ist nicht erlaubt.'; ?> + diff --git a/interface/web/sites/lib/lang/de_shell_user_list.lng b/interface/web/sites/lib/lang/de_shell_user_list.lng index c953cf6b05..176a4e5970 100644 --- a/interface/web/sites/lib/lang/de_shell_user_list.lng +++ b/interface/web/sites/lib/lang/de_shell_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen Shell Benutzer hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng index 74a0b17476..c207ad7314 100644 --- a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng @@ -1,9 +1,10 @@ <?php -$wb['list_head_txt'] = 'Webseiten Festplattenbeschränkung'; -$wb['domain_txt'] = 'Domain / Webseite'; -$wb['system_user_txt'] = 'Linux Benutzer'; +$wb['list_head_txt'] = 'Webseiten Speicherplatz'; +$wb['domain_txt'] = 'Domain'; +$wb['system_user_txt'] = 'System Benutzer'; $wb['used_txt'] = 'Verwendeter Speicherplatz'; $wb['hard_txt'] = 'Hard Limit'; $wb['soft_txt'] = 'Soft Limit'; $wb['files_txt'] = 'Dateien'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain.lng b/interface/web/sites/lib/lang/de_web_aliasdomain.lng index ccb3bdfa24..d568bd26bc 100644 --- a/interface/web/sites/lib/lang/de_web_aliasdomain.lng +++ b/interface/web/sites/lib/lang/de_web_aliasdomain.lng @@ -2,11 +2,11 @@ $wb['domain_txt'] = 'Aliasdomain'; $wb['backup_interval_txt'] = 'Backup Intervall'; $wb['backup_copies_txt'] = 'Anzahl der Backups'; -$wb['ssl_state_txt'] = 'Land'; +$wb['ssl_state_txt'] = 'Bundesland'; $wb['ssl_locality_txt'] = 'Ort'; -$wb['ssl_organisation_txt'] = 'Organisation'; -$wb['ssl_organisation_unit_txt'] = 'Organisation Abteilung'; -$wb['ssl_country_txt'] = 'Bundesland'; +$wb['ssl_organisation_txt'] = 'Firma'; +$wb['ssl_organisation_unit_txt'] = 'Abteilung'; +$wb['ssl_country_txt'] = 'Land'; $wb['ssl_key_txt'] = 'SSL Schlüssel'; $wb['ssl_request_txt'] = 'SSL Anfrage'; $wb['ssl_cert_txt'] = 'SSL Zertifikat'; @@ -14,20 +14,20 @@ $wb['ssl_bundle_txt'] = 'SSL Bundle'; $wb['ssl_action_txt'] = 'SSL Aktion'; $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['server_id_txt'] = 'Server'; -$wb['web_folder_error_regex'] = 'Ungültige Verzeichnisangabe. Bitte geben Sie keine Schrägstrich ein.'; +$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe. Bitte geben Sie keinen Schrägstrich ein.'; $wb['type_txt'] = 'Typ'; $wb['parent_domain_id_txt'] = 'Hauptwebseite'; -$wb['redirect_type_txt'] = 'Weiterleitungs Typ'; -$wb['redirect_path_txt'] = 'Weiterleitungs Pfad'; +$wb['redirect_type_txt'] = 'Weiterleitungstyp'; +$wb['redirect_path_txt'] = 'Weiterleitungsziel'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux Benutzer'; -$wb['system_group_txt'] = 'Linux Gruppe'; +$wb['system_user_txt'] = 'System Benutzer'; +$wb['system_group_txt'] = 'System Gruppe'; $wb['ip_address_txt'] = 'IPv4 Adresse'; $wb['ipv6_address_txt'] = 'IPv6 Adresse'; $wb['vhost_type_txt'] = 'vHost Typ'; -$wb['hd_quota_txt'] = 'Festplatten Beschränkung'; -$wb['traffic_quota_txt'] = 'Transfer Beschränkung'; +$wb['hd_quota_txt'] = 'Speicherplatz Beschränkung'; +$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Eigene Fehlerseiten'; @@ -36,43 +36,43 @@ $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; -$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Web Domains für Ihr Konto ist erreicht.'; -$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Alias Domains für Ihr Konto ist erreicht.'; +$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto ist erreicht.'; +$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto ist erreicht.'; $wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Web Subdomains für Ihr Konto ist erreicht.'; $wb['apache_directives_txt'] = 'Apache Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Es existiert bereits eine Webseite oder Sub- Alias Domain mit diesem Domain Namen.'; +$wb['domain_error_unique'] = 'Es existiert bereits eine Webseite oder Sub- Aliasdomain mit diesem Domain Namen.'; $wb['domain_error_regex'] = 'Domain Name ungültig.'; $wb['domain_error_autosub'] = 'Es existiert bereits eine Subdomain mit diesen Einstellungen.'; -$wb['hd_quota_error_empty'] = 'Festplatten Beschränkung ist 0 oder leer.'; -$wb['traffic_quota_error_empty'] = 'Transfer Beschränkung ist leer.'; -$wb['error_ssl_state_empty'] = 'SSL Staat ist leet.'; +$wb['hd_quota_error_empty'] = 'Speicherplatz Beschränkung ist 0 oder leer.'; +$wb['traffic_quota_error_empty'] = 'Datentransfer Beschränkung ist leer.'; +$wb['error_ssl_state_empty'] = 'SSL Bundesland ist leet.'; $wb['error_ssl_locality_empty'] = 'SSL Ort ist leer.'; -$wb['error_ssl_organisation_empty'] = 'SSL Organisation ist leer.'; -$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Abteilung ist leer.'; -$wb['error_ssl_country_empty'] = 'SSL Bundeland ist leer.'; +$wb['error_ssl_organisation_empty'] = 'SSL Firma ist leer.'; +$wb['error_ssl_organisation_unit_empty'] = 'SSL Abteilung ist leer.'; +$wb['error_ssl_country_empty'] = 'SSL Land ist leer.'; $wb['error_ssl_cert_empty'] = 'SSL Zertifikat Feld ist leer.'; $wb['client_group_id_txt'] = 'Kunde'; $wb['stats_password_txt'] = 'Webstatistiken Passwort'; $wb['allow_override_txt'] = 'Apache AllowOverride'; -$wb['limit_web_quota_free_txt'] = 'Max. verfügbare Festplatten Beschränkung'; -$wb['ssl_state_error_regex'] = 'Ungültiger SSL Staat. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; +$wb['limit_web_quota_free_txt'] = 'Max. verfügbarer Speicherplatz'; +$wb['ssl_state_error_regex'] = 'Ungültiges SSL Bundesland. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; $wb['ssl_locality_error_regex'] = 'Ungültiger SSL Ort. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; -$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Organisation. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Organisation Abteilung. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; -$wb['ssl_country_error_regex'] = 'Ungültiges SSL Bundesland. Mögliche Zeichen sind: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. verfügbare Transfer Beschränkung'; -$wb['redirect_error_regex'] = 'Ungültiger weiterleitungs Pfad. Gültige weiterleitungs Pfade sind zum Beispiel: /test/ oder http://www.domain.tld/test/'; +$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Firma. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Abteilung. Mögliche Zeichen sind: a-z, 0-9 and .,-_'; +$wb['ssl_country_error_regex'] = 'Ungültiges SSL Land. Mögliche Zeichen sind: A-Z'; +$wb['limit_traffic_quota_free_txt'] = 'Max. verfügbarer Datentransfer'; +$wb['redirect_error_regex'] = 'Ungültiges Weiterleitungsziel. Gültige Weiterleitungsziele sind zum Beispiel: /test/ oder http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; -$wb['traffic_quota_exceeded_txt'] = 'Transfer Beschränkung überschritten'; +$wb['traffic_quota_exceeded_txt'] = 'Datentransfervolumen überschritten'; $wb['ruby_txt'] = 'Ruby'; $wb['stats_user_txt'] = 'Webstatistiken Benutzername'; $wb['stats_type_txt'] = 'Webstatistiken Programm'; $wb['custom_php_ini_txt'] = 'Benutzerdefinierte php.ini Einstellungen'; -$wb['none_txt'] = 'Keine'; +$wb['none_txt'] = 'Keine Subdomain'; $wb['disabled_txt'] = 'Deaktiviert'; $wb['no_redirect_txt'] = 'Keine Weiterleitung'; -$wb['no_flag_txt'] = 'Kein Flag'; +$wb['no_flag_txt'] = 'Keine Option'; $wb['save_certificate_txt'] = 'Zertifikat speichern'; $wb['create_certificate_txt'] = 'Zertifikat erstellen'; $wb['delete_certificate_txt'] = 'Zertifikat löschen'; @@ -81,7 +81,7 @@ $wb['seo_redirect_txt'] = 'SEO Weiterleitung'; $wb['non_www_to_www_txt'] = 'Non-www -> www'; $wb['www_to_non_www_txt'] = 'www -> non-www'; $wb['php_fpm_use_socket_txt'] = 'Verwende Socket für PHP-FPM'; -$wb['error_no_sni_txt'] = 'SNI ist für SSL ist auf diesem Server nicht aktiviert. Sie können nur ein SSL Zertifikate pro IP Adresse aktivieren.'; +$wb['error_no_sni_txt'] = 'SNI ist für SSL ist auf diesem Server nicht aktiviert. Sie können nur ein SSL Zertifikat pro IP Adresse aktivieren.'; $wb['python_txt'] = 'Python'; $wb['perl_txt'] = 'Perl'; $wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children'; @@ -93,15 +93,15 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muss ein positiver $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muss ein positiver integer Wert sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muss ein positiver integer Wert sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muss ein positiver integer Wert sein.'; -$wb['hd_quota_error_regex'] = 'Festplatten Beschränkung ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Transfer Beschränkung ist ungültig.'; +$wb['hd_quota_error_regex'] = 'Speicherplatz Beschränkung ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; $wb['fastcgi_php_version_txt'] = 'PHP Version'; $wb['pm_txt'] = 'PHP-FPM Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muss eine positiver integer Wert sein.'; $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muss ein integer Wert >= 0 sein.'; -$wb['pm_ondemand_hint_txt'] = 'Bitte beachte Sie, daß Sie mindesten PHP Version >= 5.3.9 verwenden um den Ondemand Prozess Manager zu verwenden. Wenn Sie Ondemand für eine ältere PHP Version aktivieren wird PHP nicht mehr funktionieren!'; +$wb['pm_ondemand_hint_txt'] = 'Bitte beachte Sie, dass Sie mindesten PHP Version >= 5.3.9 verwenden um den Ondemand Prozess Manager zu verwenden. Wenn Sie Ondemand für eine ältere PHP Version aktivieren wird PHP nicht mehr funktionieren!'; $wb['generate_password_txt'] = 'Passwort generieren'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmer nicht überein.'; @@ -111,5 +111,6 @@ $wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache Direktiven $wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx Direktiven Schnipsel:'; $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; -$wb['Domain'] = 'Alias Domain'; +$wb['Domain'] = 'Aliasdomain'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng index df8ebc683e..1fe7f8477c 100644 --- a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng @@ -6,9 +6,10 @@ $wb['parent_domain_id_txt'] = 'Domain'; $wb['domain_txt'] = 'Aliasdomain'; $wb['add_new_record_txt'] = 'Neue Aliasdomain hinzufügen'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain muss eindeutig sein.'; +$wb['domain_error_unique'] = 'Domain ist schon als Webdomain in Verwendung.'; $wb['domain_error_regex'] = 'Domain Name ist ungültig.'; -$wb['no_redirect_txt'] = 'Kein Redirect'; -$wb['no_flag_txt'] = 'Kein Flag'; -$wb['none_txt'] = 'keine'; +$wb['no_redirect_txt'] = 'Keine Weiterleitung'; +$wb['no_flag_txt'] = 'Keine Optionen'; +$wb['none_txt'] = 'Keine'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_backup_list.lng b/interface/web/sites/lib/lang/de_web_backup_list.lng index 499fb4f754..87fb0aa7ad 100644 --- a/interface/web/sites/lib/lang/de_web_backup_list.lng +++ b/interface/web/sites/lib/lang/de_web_backup_list.lng @@ -5,12 +5,12 @@ $wb['backup_type_txt'] = 'Typ'; $wb['filename_txt'] = 'Backup Datei'; $wb['restore_backup_txt'] = 'Backup wiederherstellen'; $wb['download_backup_txt'] = 'Backup herunterladen'; -$wb['download_info_txt'] = 'Die Backup Datei steht in ein paar Minuten als Download im Backup-Verzeichnis zur Verfügung.'; +$wb['download_info_txt'] = 'Die Backup Datei steht in ein paar Minuten als Download im Backup Verzeichnis zur Verfügung.'; $wb['restore_info_txt'] = 'Die Wiederherstellung des Backups hat begonnen. Diese Aktion kann bis zur Fertigstellung einige Minuten dauern.'; -$wb['restore_confirm_txt'] = 'Die Wiederherstellung wird existierende Dateien in Ihrer Website überschreiben. Möchten Sie dieses Backup wirklich zurückspielen?'; +$wb['restore_confirm_txt'] = 'Die Wiederherstellung wird existierende Dateien in Ihrer Website überschreiben. Möchten Sie dieses Backup wirklich wiederherstellen?'; $wb['download_pending_txt'] = 'Es liegt bereits ein Backup Download Job an.'; $wb['restore_pending_txt'] = 'Es liegt bereits ein Backup Wiederherstellungs Job an.'; -$wb['backup_type_mongodb'] = 'MongoDB Datenbank'; $wb['backup_type_mysql'] = 'MySQL Datenbank'; $wb['backup_type_web'] = 'Webseiten Dateien'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng index 15bbcfd575..18fd6dbdb8 100644 --- a/interface/web/sites/lib/lang/de_web_domain.lng +++ b/interface/web/sites/lib/lang/de_web_domain.lng @@ -4,8 +4,8 @@ $wb['ssl_locality_txt'] = 'Ort'; $wb['ssl_organisation_txt'] = 'Firma'; $wb['ssl_organisation_unit_txt'] = 'Abteilung'; $wb['ssl_country_txt'] = 'Land'; -$wb['ssl_key_txt'] = 'SSL Key'; -$wb['ssl_request_txt'] = 'SSL Request'; +$wb['ssl_key_txt'] = 'SSL Schlüssel'; +$wb['ssl_request_txt'] = 'SSL Anfrage'; $wb['ssl_cert_txt'] = 'SSL Zertifikat'; $wb['ssl_bundle_txt'] = 'SSL Bundle'; $wb['ssl_action_txt'] = 'SSL Aktion'; @@ -13,56 +13,56 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['type_txt'] = 'Typ'; $wb['parent_domain_id_txt'] = 'Zugehörige Webseite'; -$wb['web_folder_error_regex'] = 'Ungültige Verzeichnisangabe, bitte keinen / eingeben.'; +$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.'; $wb['redirect_type_txt'] = 'Weiterleitungstyp'; $wb['redirect_path_txt'] = 'Weiterleitungspfad'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux Benutzer'; -$wb['system_group_txt'] = 'Linux Gruppe'; +$wb['system_user_txt'] = 'System Benutzer'; +$wb['system_group_txt'] = 'System Gruppe'; $wb['ip_address_txt'] = 'IP Adresse'; -$wb['vhost_type_txt'] = 'VHost Type'; -$wb['hd_quota_txt'] = 'Speicherplatzbeschränkung'; -$wb['traffic_quota_txt'] = 'Transfervolumenbeschränkung'; +$wb['vhost_type_txt'] = 'vHost Type'; +$wb['hd_quota_txt'] = 'Speicherplatz Beschränkung'; +$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; -$wb['limit_web_domain_txt'] = 'Die maximale Anzahl an Webdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_aliasdomain_txt'] = 'Die maximale Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_subdomain_txt'] = 'Die maximale Anzahl an Subdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.'; $wb['apache_directives_txt'] = 'Apache Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain muss eindeutig sein'; +$wb['domain_error_unique'] = 'Domain ist schon als Aliasdomain in Verwendung'; $wb['domain_error_regex'] = 'Domain Name ungültig.'; $wb['domain_error_autosub'] = 'Es existiert bereits eine Subdomain mit diesen Einstellungen.'; -$wb['hd_quota_error_empty'] = 'Speicherplatzbeschränkung ist leer.'; -$wb['traffic_quota_error_empty'] = 'Transfervolumenbeschränkung ist leer.'; +$wb['hd_quota_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; +$wb['traffic_quota_error_empty'] = 'Datentransfer Beschränkung ist leer.'; $wb['errordocs_txt'] = 'Eigene Fehlerseiten'; -$wb['error_ssl_state_empty'] = 'SSL Status ist leer.'; -$wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.'; -$wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.'; -$wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.'; -$wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.'; +$wb['error_ssl_state_empty'] = 'SSL Bundesland ist leer.'; +$wb['error_ssl_locality_empty'] = 'SSL Ort ist leer.'; +$wb['error_ssl_organisation_empty'] = 'SSL Firma ist leer.'; +$wb['error_ssl_organisation_unit_empty'] = 'SSL Abteilung ist leer.'; +$wb['error_ssl_country_empty'] = 'SSL Land ist leer.'; $wb['subdomain_txt'] = 'Auto Subdomain'; $wb['client_group_id_txt'] = 'Kunde'; $wb['stats_password_txt'] = 'Webstatistik Passwort'; $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['allow_override_txt'] = 'Allow Override'; -$wb['limit_web_quota_free_txt'] = 'Max. mögliche Speicherplatzbeschränkung'; -$wb['ssl_state_error_regex'] = 'Ungültige SSL State. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_locality_error_regex'] = 'Ungültige SSL Locality. Gülige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Organisation. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Organisation Unit. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['limit_web_quota_free_txt'] = 'Max. möglicher Speicherplatz'; +$wb['ssl_state_error_regex'] = 'Ungültiges SSL Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_locality_error_regex'] = 'Ungültiger SSL Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_'; $wb['ssl_country_error_regex'] = 'Ungültiges SSL Land. Gültige Zeichen sind: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. mögliche Transfervolumenbeschränkung'; +$wb['limit_traffic_quota_free_txt'] = 'Max. möglicher Datentransfer'; $wb['redirect_error_regex'] = 'Ungültiger Weiterleitungspfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; $wb['backup_interval_txt'] = 'Backup Intervall'; $wb['backup_copies_txt'] = 'Anzahl an Backups'; -$wb['traffic_quota_exceeded_txt'] = 'Transfervolumen verbraucht.'; +$wb['traffic_quota_exceeded_txt'] = 'Das Datentransfervolumen ist verbraucht.'; $wb['ruby_txt'] = 'Ruby'; $wb['stats_user_txt'] = 'Webstatistik Benutzername'; $wb['stats_type_txt'] = 'Webstatistik Programm'; @@ -70,13 +70,13 @@ $wb['custom_php_ini_txt'] = 'Individuelle php.ini Einstellungen'; $wb['error_ssl_cert_empty'] = 'SSL Zertifikat Feld ist leer.'; $wb['none_txt'] = 'Keine'; $wb['disabled_txt'] = 'Deaktiviert'; -$wb['no_redirect_txt'] = 'Kein Redirect'; -$wb['no_flag_txt'] = 'Kein Flag'; +$wb['no_redirect_txt'] = 'Keine Weiterleitung'; +$wb['no_flag_txt'] = 'Keine Option'; $wb['save_certificate_txt'] = 'Zertifikat speichern'; $wb['create_certificate_txt'] = 'Zertifikat erstellen'; $wb['delete_certificate_txt'] = 'Zertifikat löschen'; $wb['nginx_directives_txt'] = 'nginx Direktiven'; -$wb['seo_redirect_txt'] = 'SEO Redirect'; +$wb['seo_redirect_txt'] = 'SEO Weiterleitung'; $wb['non_www_to_www_txt'] = 'Nicht-www -> www'; $wb['www_to_non_www_txt'] = 'www -> Nicht-www'; $wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM'; @@ -93,8 +93,8 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.'; -$wb['hd_quota_error_regex'] = 'Speicherplatzbeschränkung ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Transfervolumenbeschränkung ist ungültig.'; +$wb['hd_quota_error_regex'] = 'Speicherplatz Beschränkung ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; $wb['fastcgi_php_version_txt'] = 'PHP Version'; $wb['pm_txt'] = 'PHP-FPM FastCGI Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; @@ -111,7 +111,7 @@ $wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache Direktiven $wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx Direktiven Schnipsel:'; $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; -$wb['no_server_error'] = 'Kein server ausgewählt.'; +$wb['no_server_error'] = 'Kein Server ausgewählt.'; $wb['no_backup_txt'] = 'Kein Backup'; $wb['daily_backup_txt'] = 'Täglich'; $wb['weekly_backup_txt'] = 'Wöchentlich'; @@ -119,5 +119,6 @@ $wb['monthly_backup_txt'] = 'Monatlich'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:'; -$wb['configuration_error_txt'] = "KONFIGURATIONSFEHLER"; +$wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng index d9dc65c6c0..276696c705 100644 --- a/interface/web/sites/lib/lang/de_web_domain_admin_list.lng +++ b/interface/web/sites/lib/lang/de_web_domain_admin_list.lng @@ -7,3 +7,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Webseite hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_domain_list.lng b/interface/web/sites/lib/lang/de_web_domain_list.lng index ce56a1cd1f..b722783e72 100644 --- a/interface/web/sites/lib/lang/de_web_domain_list.lng +++ b/interface/web/sites/lib/lang/de_web_domain_list.lng @@ -6,3 +6,4 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['add_new_record_txt'] = 'Neue Domain hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_folder.lng b/interface/web/sites/lib/lang/de_web_folder.lng index 8defc36f4c..615e34050f 100644 --- a/interface/web/sites/lib/lang/de_web_folder.lng +++ b/interface/web/sites/lib/lang/de_web_folder.lng @@ -5,3 +5,4 @@ $wb['path_txt'] = 'Pfad'; $wb['active_txt'] = 'Aktiv'; $wb['path_error_regex'] = 'Ungültiger Pfad.'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_folder_list.lng b/interface/web/sites/lib/lang/de_web_folder_list.lng index 5491202ac6..2ac8f0399a 100644 --- a/interface/web/sites/lib/lang/de_web_folder_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_list.lng @@ -5,3 +5,4 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Webseite'; $wb['path_txt'] = 'Pfad'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_folder_user.lng b/interface/web/sites/lib/lang/de_web_folder_user.lng index 6983dc136e..6ab959ca7c 100644 --- a/interface/web/sites/lib/lang/de_web_folder_user.lng +++ b/interface/web/sites/lib/lang/de_web_folder_user.lng @@ -11,3 +11,4 @@ $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; $wb['no_folder_perm'] = 'Sie haben keine Berechtigung für diesen Ordner.'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng index 5357760eb4..cd41dbff36 100644 --- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng +++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng @@ -4,3 +4,4 @@ $wb['active_txt'] = 'Aktiv'; $wb['web_folder_id_txt'] = 'Ordner'; $wb['username_txt'] = 'Benutzername'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng index f7d8d424cc..84a2676509 100644 --- a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng @@ -1,9 +1,10 @@ <?php -$wb['list_head_txt'] = 'Web Datenverkehr'; +$wb['list_head_txt'] = 'Webseiten Datentransfer'; $wb['domain_txt'] = 'Domain'; -$wb['this_month_txt'] = 'diesen Monat'; -$wb['last_month_txt'] = 'letzten Monat'; -$wb['this_year_txt'] = 'dieses Jahr'; -$wb['last_year_txt'] = 'letztes Jahr'; +$wb['this_month_txt'] = 'Aktueller Monat'; +$wb['last_month_txt'] = 'Vergangenes Monat'; +$wb['this_year_txt'] = 'Aktuelles Jahr'; +$wb['last_year_txt'] = 'Vergangenes Jahr'; $wb['sum_txt'] = 'Summe'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_subdomain.lng b/interface/web/sites/lib/lang/de_web_subdomain.lng index d0c7b3010b..29de073359 100644 --- a/interface/web/sites/lib/lang/de_web_subdomain.lng +++ b/interface/web/sites/lib/lang/de_web_subdomain.lng @@ -1,7 +1,7 @@ <?php $wb['ssl_state_txt'] = 'Bundesland'; -$wb['ssl_locality_txt'] = 'Lokalität'; -$wb['ssl_organisation_txt'] = 'Unternehmen'; +$wb['ssl_locality_txt'] = 'Ort'; +$wb['ssl_organisation_txt'] = 'Firma'; $wb['ssl_organisation_unit_txt'] = 'Abteilung'; $wb['ssl_country_txt'] = 'Land'; $wb['ssl_request_txt'] = 'SSL Anfrage'; @@ -13,34 +13,35 @@ $wb['domain_txt'] = 'Domain'; $wb['type_txt'] = 'Typ'; $wb['parent_domain_id_txt'] = 'Zugehörige Webseite'; $wb['redirect_type_txt'] = 'Weiterleitungstyp'; -$wb['redirect_path_txt'] = 'Weiterleitungspfad'; +$wb['redirect_path_txt'] = 'Weiterleitungsziel'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux Benutzer'; -$wb['system_group_txt'] = 'Linux Gruppe'; +$wb['system_user_txt'] = 'System Benutzer'; +$wb['system_group_txt'] = 'System Gruppe'; $wb['ip_address_txt'] = 'IP Adresse'; -$wb['vhost_type_txt'] = 'VHost Typ'; -$wb['hd_quota_txt'] = 'Festplatten Quota'; -$wb['traffic_quota_txt'] = 'Traffic Quota'; +$wb['vhost_type_txt'] = 'vHost Typ'; +$wb['hd_quota_txt'] = 'Speicherplatz Begränzung'; +$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; -$wb['limit_web_domain_txt'] = 'Die maximale Anzahl an Webdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_aliasdomain_txt'] = 'Die maximale Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_subdomain_txt'] = 'Die maximale Anzahl an Web Subdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Web Subdomains für Ihr Konto wurde erreicht.'; $wb['apache_directives_txt'] = 'Apache Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain muss eindeutig sein.'; +$wb['domain_error_unique'] = 'Domain ist schon in Verwendung.'; $wb['domain_error_regex'] = 'Domain Name ist ungültig.'; $wb['domain_error_wildcard'] = 'Wildcard Subdomains sind nicht erlaubt.'; $wb['host_txt'] = 'Host'; $wb['redirect_error_regex'] = 'Ungültiger redirect Pfad. Gültige Pfade sind beispielsweise: /test/ oder http://www.domain.tld/test/'; -$wb['no_redirect_txt'] = 'Kein Redirect'; -$wb['no_flag_txt'] = 'Kein Flag'; +$wb['no_redirect_txt'] = 'Keine Weiterleitung'; +$wb['no_flag_txt'] = 'Keine Option'; $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; $wb['error_proxy_requires_url'] = 'Weiterleitungstyp \\"proxy\\" erfordert eine URL als Weiterleitungspfad.'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_subdomain_list.lng index 042b9f02c5..91970764d5 100644 --- a/interface/web/sites/lib/lang/de_web_subdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_subdomain_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['domain_txt'] = 'Subdomain'; $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng index e41b71757a..d128a5ee7b 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng @@ -8,8 +8,8 @@ $wb['ssl_locality_txt'] = 'Ort'; $wb['ssl_organisation_txt'] = 'Firma'; $wb['ssl_organisation_unit_txt'] = 'Abteilung'; $wb['ssl_country_txt'] = 'Land'; -$wb['ssl_key_txt'] = 'SSL Key'; -$wb['ssl_request_txt'] = 'SSL Request'; +$wb['ssl_key_txt'] = 'SSL Schlüssel'; +$wb['ssl_request_txt'] = 'SSL Anfrage'; $wb['ssl_cert_txt'] = 'SSL Zertifikat'; $wb['ssl_bundle_txt'] = 'SSL Bundle'; $wb['ssl_action_txt'] = 'SSL Aktion'; @@ -18,32 +18,32 @@ $wb['domain_txt'] = 'Domain'; $wb['host_txt'] = 'Host'; $wb['type_txt'] = 'Typ'; $wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.'; -$wb['redirect_type_txt'] = 'Redirect Typ'; -$wb['redirect_path_txt'] = 'Redirect Pfad'; +$wb['redirect_type_txt'] = 'WeiterleitungsTyp'; +$wb['redirect_path_txt'] = 'Weiterleitungsziel'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; $wb['system_user_txt'] = 'Linux Benutzer'; $wb['system_group_txt'] = 'Linux Gruppe'; $wb['ip_address_txt'] = 'IP Adresse'; -$wb['vhost_type_txt'] = 'VHost Type'; -$wb['hd_quota_txt'] = 'Festplatten Quota'; -$wb['traffic_quota_txt'] = 'Traffic Quota'; +$wb['vhost_type_txt'] = 'vHost Type'; +$wb['hd_quota_txt'] = 'Speicherplatz Beschränkung'; +$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; -$wb['limit_web_domain_txt'] = 'Die maximale Anzahl an Webdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_aliasdomain_txt'] = 'Die maximale Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_subdomain_txt'] = 'Die maximale Anzahl an Subdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.'; $wb['apache_directives_txt'] = 'Apache Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain muss eindeutig sein'; +$wb['domain_error_unique'] = 'Domain ist schon in Verwendung'; $wb['domain_error_regex'] = 'Domain Name ungültig.'; $wb['domain_error_wildcard'] = 'Wildcard Subdomains sind nicht erlaubt.'; -$wb['hd_quota_error_empty'] = 'Harddisk Quota ist leer.'; -$wb['traffic_quota_error_empty'] = 'Traffic Quota ist leer.'; +$wb['hd_quota_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; +$wb['traffic_quota_error_empty'] = 'Datentransfer Beschränkung ist leer.'; $wb['errordocs_txt'] = 'Eigene Fehlerseiten'; $wb['error_ssl_state_empty'] = 'SSL Status ist leer.'; $wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.'; @@ -55,18 +55,18 @@ $wb['client_group_id_txt'] = 'Kunde'; $wb['stats_password_txt'] = 'Webstatistik Passwort'; $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['allow_override_txt'] = 'Allow Override'; -$wb['limit_web_quota_free_txt'] = 'Max. möglicher Festplatten Quota'; -$wb['ssl_state_error_regex'] = 'Ungültige SSL State. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_locality_error_regex'] = 'Ungültige SSL Locality. Gülige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Organisation. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Organisation Unit. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['limit_web_quota_free_txt'] = 'Max. mögliche Festplattenspeicher Beschränkung'; +$wb['ssl_state_error_regex'] = 'Ungültiges SSL Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_locality_error_regex'] = 'Ungültiger SSL Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_'; $wb['ssl_country_error_regex'] = 'Ungültiges SSL Land. Gültige Zeichen sind: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. möglicher Traffic Quota'; +$wb['limit_traffic_quota_free_txt'] = 'Max. mögliche Datentransfer Beschränkung'; $wb['redirect_error_regex'] = 'Ungültiger redirect Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; $wb['backup_interval_txt'] = 'Backup Intervall'; $wb['backup_copies_txt'] = 'Anzahl an Backups'; -$wb['traffic_quota_exceeded_txt'] = 'Ãœbertragungs Volumen verbraucht.'; +$wb['traffic_quota_exceeded_txt'] = 'Max. Datentransfer verbraucht.'; $wb['ruby_txt'] = 'Ruby'; $wb['stats_user_txt'] = 'Webstatistik Benutzername'; $wb['stats_type_txt'] = 'Webstatistik Programm'; @@ -74,13 +74,13 @@ $wb['custom_php_ini_txt'] = 'Individuelle php.ini Einstellungen'; $wb['error_ssl_cert_empty'] = 'SSL Zertifikat Feld ist leer.'; $wb['none_txt'] = 'Keine'; $wb['disabled_txt'] = 'Deaktiviert'; -$wb['no_redirect_txt'] = 'Kein Redirect'; -$wb['no_flag_txt'] = 'Kein Flag'; +$wb['no_redirect_txt'] = 'Keine Weiterleitung'; +$wb['no_flag_txt'] = 'Keine Option'; $wb['save_certificate_txt'] = 'Zertifikat speichern'; $wb['create_certificate_txt'] = 'Zertifikat erstellen'; $wb['delete_certificate_txt'] = 'Zertifikat löschen'; $wb['nginx_directives_txt'] = 'nginx Direktiven'; -$wb['seo_redirect_txt'] = 'SEO Redirect'; +$wb['seo_redirect_txt'] = 'SEO Weiterleitung'; $wb['non_www_to_www_txt'] = 'Nicht-www -> www'; $wb['www_to_non_www_txt'] = 'www -> Nicht-www'; $wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM'; @@ -97,8 +97,8 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.'; -$wb['hd_quota_error_regex'] = 'Harddisk Quota ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Traffic Quota ist ungültig.'; +$wb['hd_quota_error_regex'] = 'Festplattenspeicher Beschränkung ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; $wb['fastcgi_php_version_txt'] = 'PHP Version'; $wb['pm_txt'] = 'PHP-FPM Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; @@ -115,4 +115,9 @@ $wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache Direktiven $wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx Direktiven Schnipsel:'; $wb['proxy_directives_txt'] = 'Proxy Direktiven'; $wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; +$wb['rewrite_rules_txt'] = 'Rewrite Rules'; +$wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules'; +$wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:'; +$wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER'; ?> + diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng index 042b9f02c5..91970764d5 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['domain_txt'] = 'Subdomain'; $wb['add_new_record_txt'] = 'Neue Subdomain hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/de_webdav_user.lng b/interface/web/sites/lib/lang/de_webdav_user.lng index eeefda85ee..25c7b0995a 100644 --- a/interface/web/sites/lib/lang/de_webdav_user.lng +++ b/interface/web/sites/lib/lang/de_webdav_user.lng @@ -6,7 +6,7 @@ $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; $wb['password_strength_txt'] = 'Passwortkomplexität'; $wb['active_txt'] = 'Aktiv'; -$wb['limit_webdav_user_txt'] = 'Die maximale Anzahl an WebDAV Benutzer für Ihr Konto wurde erreicht.'; +$wb['limit_webdav_user_txt'] = 'Die max. Anzahl an WebDAV Benutzer für Ihr Konto wurde erreicht.'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.'; @@ -19,3 +19,4 @@ $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.'; ?> + diff --git a/interface/web/sites/lib/lang/de_webdav_user_list.lng b/interface/web/sites/lib/lang/de_webdav_user_list.lng index 927bfbb2de..84b9fadcf8 100644 --- a/interface/web/sites/lib/lang/de_webdav_user_list.lng +++ b/interface/web/sites/lib/lang/de_webdav_user_list.lng @@ -6,3 +6,4 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['add_new_record_txt'] = 'Neuen WebDAV Benutzer hinzufügen'; ?> + diff --git a/interface/web/sites/lib/lang/el.lng b/interface/web/sites/lib/lang/el.lng index 2d726140fd..f7d1e4f872 100644 --- a/interface/web/sites/lib/lang/el.lng +++ b/interface/web/sites/lib/lang/el.lng @@ -4,17 +4,17 @@ $wb['Website'] = 'Website'; $wb['Subdomain'] = 'Subdomain για το website'; $wb['Aliasdomain'] = 'Ψευδώνυμο domain για το website'; $wb['Database'] = 'Βάση ΔεδομÎνων'; -$wb['Web Access'] = 'Web Access'; +$wb['Web Access'] = 'Î Ïόσβαση Web'; $wb['FTP-User'] = 'ΧÏήστης FTP'; $wb['Webdav-User'] = 'ΧÏήστης Webdav'; -$wb['Folder'] = 'Protected Folders'; -$wb['Folder users'] = 'Protected Folder Users'; -$wb['Command Line'] = 'Command Line'; -$wb['Shell-User'] = 'ΧÏήστης Shell'; +$wb['Folder'] = 'Î ÏοστατευμÎνοι Φάκελοι'; +$wb['Folder users'] = 'ΧÏήστες Î ÏοστατευμÎνων ΦακÎλων'; +$wb['Command Line'] = 'ΓÏαμμή Εντολών'; +$wb['Shell-User'] = 'ΧÏήστης ΚελÏφους'; $wb['Cron Jobs'] = 'ΕÏγασίες Cron'; $wb['Statistics'] = 'Στατιστικά'; $wb['Web traffic'] = 'Κίνηση Web'; -$wb['Website quota (Harddisk)'] = 'ÎŒÏιο δίσκου Website (Harddisk)'; +$wb['Website quota (Harddisk)'] = 'ÎŒÏιο δίσκου Website (Δίσκος)'; $wb['Cron'] = 'Cron'; $wb['Stats'] = 'Στατιστικά'; $wb['Shell'] = 'Shell'; @@ -25,11 +25,11 @@ $wb['Domain'] = 'Domain'; $wb['Redirect'] = 'ΑνακατεÏθυνση'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Sites'; -$wb['Database User'] = 'Database Users'; -$wb['APS Installer'] = 'APS Installer'; -$wb['Available packages'] = 'Available packages'; -$wb['Installed packages'] = 'Installed packages'; -$wb['Update Packagelist'] = 'Update Packagelist'; +$wb['Database User'] = 'ΧÏήστες Βάσης ΔεδομÎνων'; +$wb['APS Installer'] = 'Εγκαταστάτης APS'; +$wb['Available packages'] = 'ΔιαθÎσιμα ΠακÎτα'; +$wb['Installed packages'] = 'ΕγκατεστημÎνα ΠακÎτα'; +$wb['Update Packagelist'] = 'ΕνημÎÏωση Λίστας ΠακÎτων'; $wb['Subdomain (Vhost)'] = 'Subdomain (Vhost)'; -$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.'; +$wb['error_proxy_requires_url'] = 'Ο Ï„Ïπος ανακατεÏθυνσης \\"proxy\\" απαιτεί Îνα URL ως το μονοπάτι ανακατεÏθυνσης.'; ?> diff --git a/interface/web/sites/lib/lang/el_aps.lng b/interface/web/sites/lib/lang/el_aps.lng index 29fb7b6a40..ee6105eff3 100644 --- a/interface/web/sites/lib/lang/el_aps.lng +++ b/interface/web/sites/lib/lang/el_aps.lng @@ -1,58 +1,58 @@ <?php -$wb['overview_txt'] = 'Overview'; -$wb['administration_txt'] = 'Administration'; -$wb['available_packages_txt'] = 'Available packages'; -$wb['installed_packages_txt'] = 'Installed packages'; -$wb['yes_txt'] = 'Yes'; -$wb['no_txt'] = 'No'; -$wb['invalid_id_txt'] = 'No valid ID has been provided.'; -$wb['details_txt'] = 'Details'; -$wb['version_txt'] = 'Version'; -$wb['category_txt'] = 'Category'; -$wb['homepage_txt'] = 'Homepage'; -$wb['supported_languages_txt'] = 'Supported languages'; -$wb['description_txt'] = 'Description'; -$wb['config_script_txt'] = 'Configuration script'; -$wb['installed_size_txt'] = 'Size after installation'; -$wb['license_txt'] = 'License'; +$wb['overview_txt'] = 'Επισκόπηση'; +$wb['administration_txt'] = 'ΔιαχείÏιση'; +$wb['available_packages_txt'] = 'ΔιαθÎσιμα ΠακÎτα'; +$wb['installed_packages_txt'] = 'ΕγκατεστημÎνα ΠακÎτα'; +$wb['yes_txt'] = 'Îαι'; +$wb['no_txt'] = 'Όχι'; +$wb['invalid_id_txt'] = 'Δεν Îχει εισαχθεί ÎγκυÏο ID.'; +$wb['details_txt'] = 'ΛεπτομÎÏειες'; +$wb['version_txt'] = 'Έκδοση'; +$wb['category_txt'] = 'ΚατηγοÏία'; +$wb['homepage_txt'] = 'ΑÏχική Σελίδα'; +$wb['supported_languages_txt'] = 'ΥποστηÏιζόμενες Γλώσσες'; +$wb['description_txt'] = 'ΠεÏιγÏαφή'; +$wb['config_script_txt'] = 'Script Ρυθμίσεων'; +$wb['installed_size_txt'] = 'ÎœÎγεθος μετά την εγκατάσταση'; +$wb['license_txt'] = 'Άδεια ΧÏήσης'; $wb['screenshots_txt'] = 'Screenshots'; -$wb['changelog_txt'] = 'Changelog'; -$wb['server_requirements_txt'] = 'Server requirements'; -$wb['php_extensions_txt'] = 'PHP extensions'; -$wb['php_settings_txt'] = 'PHP settings'; -$wb['supported_php_versions_txt'] = 'Supported PHP versions'; -$wb['database_txt'] = 'Database'; -$wb['settings_txt'] = 'Settings'; -$wb['install_package_txt'] = 'Install this package'; -$wb['installation_txt'] = 'Installation'; -$wb['install_location_txt'] = 'Install location'; -$wb['acceptance_txt'] = 'Acceptance'; -$wb['acceptance_text_txt'] = 'Yes, i\'ve read the license and agree.'; -$wb['install_language_txt'] = 'Interface language'; -$wb['new_database_password_txt'] = 'New database password'; -$wb['basic_settings_txt'] = 'Basic settings'; -$wb['package_settings_txt'] = 'Package settings'; -$wb['error_main_domain'] = 'The domain of the installation path is invalid.'; -$wb['error_no_main_location'] = 'You have provided no valid installation path.'; -$wb['error_inv_main_location'] = 'The given install location folder is invalid.'; -$wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.'; -$wb['error_no_database_pw'] = 'You have provided no valid database password.'; -$wb['error_short_database_pw'] = 'Please choose a longer database password.'; -$wb['error_no_value_for'] = 'The field \\"%s\\" must not be empty.'; -$wb['error_short_value_for'] = 'The field \\"%s\\" requires a longer input value.'; -$wb['error_long_value_for'] = 'The field \\"%s\\" requires a shorter input value.'; -$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \\"%s\\".'; -$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \\"%s\\".'; -$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \\"%s\\".'; -$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \\"%s\\".'; -$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \\"%s\\".'; -$wb['error_used_location'] = 'The installation path already contains a package installation.'; -$wb['installation_task_txt'] = 'Install planned'; -$wb['installation_error_txt'] = 'Install error'; -$wb['installation_success_txt'] = 'Installed'; -$wb['installation_remove_txt'] = 'Removal planned'; -$wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.'; -$wb['btn_install_txt'] = 'Install'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.'; +$wb['changelog_txt'] = 'ΑÏχείο αλλαγών Îκδοσης'; +$wb['server_requirements_txt'] = 'Απαιτήσεις Server'; +$wb['php_extensions_txt'] = 'Επεκτάσεις PHP'; +$wb['php_settings_txt'] = 'Ρυθμίσεις PHP'; +$wb['supported_php_versions_txt'] = 'ΥποστηÏιζόμενες Εκδόσεις PHP'; +$wb['database_txt'] = 'Βάση ΔεδομÎνων'; +$wb['settings_txt'] = 'Ρυθμίσεις'; +$wb['install_package_txt'] = 'Εγκατάσταση ΠακÎτου'; +$wb['installation_txt'] = 'Εγκατάσταση'; +$wb['install_location_txt'] = 'Τοποθεσία Εγκατάστασης'; +$wb['acceptance_txt'] = 'Αποδοχή'; +$wb['acceptance_text_txt'] = 'Îαι, διάβασα την άδεια χÏήσης και συμφωνώ.'; +$wb['install_language_txt'] = 'Γλώσσα διεπαφής'; +$wb['new_database_password_txt'] = 'ÎÎο συνθηματικό βάσης δεδομÎνων'; +$wb['basic_settings_txt'] = 'ΒασικÎÏ‚ Ρυθμίσεις'; +$wb['package_settings_txt'] = 'Ρυθμίσεις πακÎτου'; +$wb['error_main_domain'] = 'ΤΟ domain της διαδÏομής εγκατάστασης δεν είναι ÎγκυÏο.'; +$wb['error_no_main_location'] = 'Δεν δώσατε ÎγκÏÏ…Ïη διαδÏομή εγκατάστασης.'; +$wb['error_inv_main_location'] = 'Ο φάκελος στην τοποθεσία δεν είναι ÎγκυÏος.'; +$wb['error_license_agreement'] = 'ΓΙα να συνεχίσετε Ï€ÏÎπει να αποδεχθείτε την άδεια χÏήσης.'; +$wb['error_no_database_pw'] = 'Δεν δώσατε ÎγκυÏο συνθηματικό Βάσης ΔεδομÎνων.'; +$wb['error_short_database_pw'] = 'ΠαÏακαλοÏμε, επιλÎξτε μεγαλÏτεÏο συνθηματικό Βάσης ΔεδομÎνων.'; +$wb['error_no_value_for'] = 'Το πεδίο \\"%s\\" δεν Ï€ÏÎπει να είναι κενό.'; +$wb['error_short_value_for'] = 'Το πεδίο \\"%s\\" απαιτεί μεγαλÏτεÏη τιμή.'; +$wb['error_long_value_for'] = 'Το πεδίο \\"%s\\" απαιτεί μικÏότεÏη τιμή.'; +$wb['error_inv_value_for'] = 'Εισάγατε μη ÎγκυÏη τιμή για το πεδίο \\"%s\\".'; +$wb['error_inv_email_for'] = 'Εισάγατε μη ÎγκυÏη διεÏθυνση mail για το πεδίο \\"%s\\".'; +$wb['error_inv_domain_for'] = 'Εισάγατε μη ÎγκυÏο domain για το πεδίο \\"%s\\".'; +$wb['error_inv_integer_for'] = 'Εισάγατε μη ÎγκυÏο ακÎÏαιο αÏιθμό για το πεδίο \\"%s\\".'; +$wb['error_inv_float_for'] = 'Εισάγατε μη ÎγκυÏο Ï€Ïαγματικό αÏιθμό για το πεδίο \\"%s\\".'; +$wb['error_used_location'] = 'Η διαδÏομή εγκατάστασης πεÏιÎχει ήδη Îνα εγκατεστημÎνο πακÎτο.'; +$wb['installation_task_txt'] = 'Η εγκατάσταση Ï€ÏογÏαμματίστηκε'; +$wb['installation_error_txt'] = 'Σφάλμα εγκατάστασης'; +$wb['installation_success_txt'] = 'Η εγκατάσταση Îγινε'; +$wb['installation_remove_txt'] = 'Η απεγκατάσταση Ï€ÏογÏαμματίστηκε'; +$wb['packagelist_update_finished_txt'] = 'Η ενημÎÏωση της λίστας APS τελείωσε.'; +$wb['btn_install_txt'] = 'Εγκατάσταση'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['limit_aps_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος εγκαταστάσεων APS για τον λογαÏιασμό σας.'; ?> diff --git a/interface/web/sites/lib/lang/el_aps_instances_list.lng b/interface/web/sites/lib/lang/el_aps_instances_list.lng index 052d834a71..55e0aba1fa 100644 --- a/interface/web/sites/lib/lang/el_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/el_aps_instances_list.lng @@ -1,13 +1,13 @@ <?php -$wb['list_head_txt'] = 'Installed packages'; -$wb['name_txt'] = 'Name'; -$wb['version_txt'] = 'Version'; -$wb['customer_txt'] = 'Client'; -$wb['status_txt'] = 'Status'; -$wb['install_location_txt'] = 'Install location'; -$wb['pkg_delete_confirmation'] = 'Do you really want to delete this installation?'; -$wb['pkg_reinstall_confirmation'] = 'Do you really want to reinstall this package with the same settings?'; -$wb['filter_txt'] = 'Search'; -$wb['delete_txt'] = 'Delete'; -$wb['reinstall_txt'] = 'Reinstall'; +$wb['list_head_txt'] = 'ΕγκατεστημÎνα ΠακÎτα'; +$wb['name_txt'] = 'Όνομα'; +$wb['version_txt'] = 'Έκδοση'; +$wb['customer_txt'] = 'Πελάτης'; +$wb['status_txt'] = 'Κατάσταση'; +$wb['install_location_txt'] = 'Τοποθεσία εγκατάστασης'; +$wb['pkg_delete_confirmation'] = 'ΘÎλετε οπωσδήποτε να διαγÏάψετε αυτή την εγκατάσταση?'; +$wb['pkg_reinstall_confirmation'] = 'ΘÎλετε οπωσδήποτε να ξανακάνετε την εγκατάσταση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… πακÎτου με τις ίδιες Ïυθμίσεις?'; +$wb['filter_txt'] = 'Αναζήτηση'; +$wb['delete_txt'] = 'ΔιαγÏαφή'; +$wb['reinstall_txt'] = 'Επανεγκατάσταση'; ?> diff --git a/interface/web/sites/lib/lang/el_aps_packages_list.lng b/interface/web/sites/lib/lang/el_aps_packages_list.lng index 68c378085f..4226d907bd 100644 --- a/interface/web/sites/lib/lang/el_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/el_aps_packages_list.lng @@ -1,8 +1,8 @@ <?php -$wb['list_head_txt'] = 'Available packages'; -$wb['name_txt'] = 'Name'; -$wb['version_txt'] = 'Version'; -$wb['category_txt'] = 'Category'; -$wb['status_txt'] = 'Unlocked'; -$wb['filter_txt'] = 'Search'; +$wb['list_head_txt'] = 'ΔιαθÎσιμα ΠακÎτα'; +$wb['name_txt'] = 'Όνομα'; +$wb['version_txt'] = 'Έκδοση'; +$wb['category_txt'] = 'ΚατηγοÏία'; +$wb['status_txt'] = 'Ξεκλείδωτο'; +$wb['filter_txt'] = 'Αναζήτηση'; ?> diff --git a/interface/web/sites/lib/lang/el_aps_update_packagelist.lng b/interface/web/sites/lib/lang/el_aps_update_packagelist.lng index ce9fcf68fb..ffe73d0a96 100644 --- a/interface/web/sites/lib/lang/el_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/el_aps_update_packagelist.lng @@ -1,7 +1,7 @@ <?php -$wb['head_txt'] = 'Update Packagelist'; +$wb['head_txt'] = 'ΕνημÎÏωση λίστας πακÎτων'; $wb['list_desc_txt'] = ''; -$wb['btn_start_txt'] = 'Update Packagelist'; -$wb['btn_cancel_txt'] = 'Cancel'; -$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.'; +$wb['btn_start_txt'] = 'ΕνημÎÏωση λίστας πακÎτων'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['legend_txt'] = 'Εδώ μποÏείτε να ενημεÏώσετε την λίστα των διαθÎσιμων πακÎτων. Η εÏγασία μποÏεί να διαÏκÎσει μÎχÏι και Ï€Îντε λεπτά. ΜποÏείτε να φÏγετε από την σελίδα αν θÎλετε,η εÏγασία θα συνεχίζεται στο παÏασκήνιο.'; ?> diff --git a/interface/web/sites/lib/lang/el_cron.lng b/interface/web/sites/lib/lang/el_cron.lng index 3e8f7eb704..291ab1f4de 100644 --- a/interface/web/sites/lib/lang/el_cron.lng +++ b/interface/web/sites/lib/lang/el_cron.lng @@ -17,5 +17,5 @@ $wb['run_mday_error_format'] = 'Η μοÏφοποίηση για τις μÎÏε $wb['run_month_error_format'] = 'Η μοÏφοποίηση για τους μήνες δεν είναι ÎγκυÏη'; $wb['run_wday_error_format'] = 'Η μοÏφοποίηση για τις ημÎÏες της εβδομάδας δεν είναι ÎγκυÏη'; $wb['command_error_format'] = 'Η μοÏφοποίηση για την εντολή δεν είναι ÎγκυÏη. ΠαÏακαλοÏμε σημειώστε ότι στην πεÏίπτωση του url μόνο τα http/https επιτÏÎπονται.'; -$wb['unknown_fieldtype_error'] = 'ΧÏησιμοποιήθηκε άγνωστός Ï„Ïπος πεδίου.'; +$wb['unknown_fieldtype_error'] = 'ΧÏησιμοποιήθηκε άγνωστος Ï„Ïπος πεδίου.'; ?> diff --git a/interface/web/sites/lib/lang/el_database.lng b/interface/web/sites/lib/lang/el_database.lng index 14f05ea353..4776b59217 100644 --- a/interface/web/sites/lib/lang/el_database.lng +++ b/interface/web/sites/lib/lang/el_database.lng @@ -4,7 +4,7 @@ $wb['type_txt'] = 'ΤÏπος'; $wb['database_name_txt'] = 'Όνομα Βάσης ΔεδομÎνων'; $wb['database_user_txt'] = 'Όνομα ΧÏήστη Βάσης ΔεδομÎνων'; $wb['database_password_txt'] = 'Συνθηματικό Βάσης ΔεδομÎνων'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['database_charset_txt'] = 'Κωδικοποίηση ΧαÏακτήÏων Βάσης ΔεδομÎνων'; $wb['remote_access_txt'] = 'ΑπομακÏυσμÎνη Ï€Ïόσβαση'; $wb['remote_ips_txt'] = 'ΔιευθÏνσεις IP απομ. Ï€Ïόσβασης (χωÏισμÎνες με , και αφήστε κενό για <i>οποιαδήποτε</i>)'; @@ -14,7 +14,7 @@ $wb['active_txt'] = 'ΕνεÏγή'; $wb['database_name_error_empty'] = 'Το όνομα της βάσης δεδομÎνων δεν Îχει οÏιστεί.'; $wb['database_name_error_unique'] = 'ΥπάÏχει ήδη μία βάση δεδομÎνων με αυτό το όνομα στον server. Για να φτιάξετε Îνα μοναδικό όνομα, Ï€.χ. βάλτε μπÏοστά από το όνομα της, το όνομα του domain.'; $wb['database_name_error_regex'] = 'Μή ÎγκυÏο όνομα βάσης δεδομÎνων. Το όνομα της βάσης μποÏεί να πεÏιÎχει αυτοÏÏ‚ τους χαÏακτήÏες: a-z, A-Z, 0-9 και την κάτω παÏλα. ÎœÎγεθος: 2 - 64 χαÏακτήÏες.'; -$wb['database_user_error_empty'] = 'Το όνομα της βάσης δεδομÎνων δεν Îχει οÏιστεί.'; +$wb['database_user_error_empty'] = 'Το όνομα χÏήστη δεν Îχει οÏιστεί.'; $wb['database_user_error_unique'] = 'ΥπάÏχει ήδη Îνας χÏήστης με αυτό το όνομα στον server. Για να φτιάξετε Îνα μοναδικό όνομα, Ï€.χ. βάλτε μπÏοστά από το όνομα, το όνομα του domain.'; $wb['database_user_error_regex'] = 'Μη ÎγκυÏο όνομα χÏήστη. Το όνομα χÏήστη μποÏεί να πεÏιÎχει αυτοÏÏ‚ τους χαÏακτήÏες: a-z, A-Z, 0-9 και την κάτω παÏλα. ÎœÎγεθος: 2 - 64 χαÏακτήÏες.'; $wb['limit_database_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των βάσεων δεδομÎνων.'; @@ -23,24 +23,24 @@ $wb['database_charset_change_txt'] = 'Η κωδικοποίηση χαÏακτή $wb['database_name_error_len'] = 'Το όνομα της βάσης δεδομÎνων - {db} - είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿. Το συνολικό μÎγιστο μÎγεθος δεν μποÏεί να ξεπεÏνά τους 64 χαÏακτήÏες.'; $wb['database_user_error_len'] = 'Το όνομα χÏήστη της βάσης δεδομÎνων - {user}- είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿. Το συνολικό μÎγιστο μÎγεθος δεν μποÏεί να ξεπεÏνά τους 16 χαÏακτήÏες.'; $wb['parent_domain_id_txt'] = 'Site'; -$wb['database_site_error_empty'] = 'Select the site to which the database belongs.'; -$wb['select_site_txt'] = '- Select Site -'; -$wb['btn_save_txt'] = 'Save'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['globalsearch_resultslimit_of_txt'] = 'of'; -$wb['globalsearch_resultslimit_results_txt'] = 'results'; -$wb['globalsearch_noresults_text_txt'] = 'No results.'; -$wb['globalsearch_noresults_limit_txt'] = '0 results'; -$wb['globalsearch_searchfield_watermark_txt'] = 'Search'; -$wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; -$wb['database_ro_user_txt'] = 'Read-only database user'; -$wb['optional_txt'] = 'optional'; -$wb['select_dbuser_txt'] = 'Select database user'; -$wb['no_dbuser_txt'] = 'None'; -$wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.'; -$wb['database_user_missing_txt'] = 'Please select a database user for this database.'; +$wb['database_site_error_empty'] = 'ΕπιλÎξτε το site στο οποίο ανήκει η βάση δεδομÎνων.'; +$wb['select_site_txt'] = '- Επιλογή Site -'; +$wb['btn_save_txt'] = 'Αποθήκευση'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['globalsearch_resultslimit_of_txt'] = 'από'; +$wb['globalsearch_resultslimit_results_txt'] = 'αποτελÎσματα'; +$wb['globalsearch_noresults_text_txt'] = 'Δεν υπάÏχουν αποτελÎσματα.'; +$wb['globalsearch_noresults_limit_txt'] = '0 αποτελÎσματα'; +$wb['globalsearch_searchfield_watermark_txt'] = 'Αναζήτηση'; +$wb['globalsearch_suggestions_text_txt'] = 'Î Ïοτάσεις'; +$wb['database_ro_user_txt'] = 'ΧÏήστης Βάσης δεδομÎνων μόνο για άναγνωση'; +$wb['optional_txt'] = 'Ï€ÏοαιÏετικό'; +$wb['select_dbuser_txt'] = 'Επιλογή χÏήστη Βάσης ΔεδομÎνων'; +$wb['no_dbuser_txt'] = 'ΚανÎνας'; +$wb['database_client_differs_txt'] = 'Ο πελάτης του Î³Î¿Î½Î¹ÎºÎ¿Ï website και η Βάση ΔεδομÎνων δεν ταιÏιάζουν.'; +$wb['database_user_missing_txt'] = 'ΠαÏακαλοÏμε επιλÎξτε Îνα χÏήστη για αυτή την Βάση ΔεδομÎνων.'; ?> diff --git a/interface/web/sites/lib/lang/el_database_admin_list.lng b/interface/web/sites/lib/lang/el_database_admin_list.lng index f414200740..c5d1992f76 100644 --- a/interface/web/sites/lib/lang/el_database_admin_list.lng +++ b/interface/web/sites/lib/lang/el_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Όνομα χÏήστη'; $wb['database_name_txt'] = 'Όνομα βάσης'; $wb['add_new_record_txt'] = 'ÎÎα βάση δεδομÎνων'; $wb['sys_groupid_txt'] = 'Πελάτης'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/el_database_list.lng b/interface/web/sites/lib/lang/el_database_list.lng index ce54134293..246827506a 100644 --- a/interface/web/sites/lib/lang/el_database_list.lng +++ b/interface/web/sites/lib/lang/el_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Όνομα ΧÏήστη Βάσης ΔεδομÎνων'; $wb['database_name_txt'] = 'Όνομα Βάσης ΔεδομÎνων'; $wb['add_new_record_txt'] = 'ÎÎα Βάσης ΔεδομÎνων'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/el_database_user.lng b/interface/web/sites/lib/lang/el_database_user.lng index 66a0718349..e6d8e1397b 100644 --- a/interface/web/sites/lib/lang/el_database_user.lng +++ b/interface/web/sites/lib/lang/el_database_user.lng @@ -1,23 +1,23 @@ <?php -$wb['database_user_txt'] = 'Database user'; -$wb['database_password_txt'] = 'Database password'; -$wb['password_strength_txt'] = 'Password strength'; -$wb['client_txt'] = 'Client'; -$wb['active_txt'] = 'Active'; -$wb['database_user_error_empty'] = 'Database user is empty.'; -$wb['database_user_error_unique'] = 'There is already a database user with this name on the server. To get a unique name, e.g. prepend your domain name to the username.'; -$wb['database_user_error_regex'] = 'Invalid database user name. The username may contain these characters: a-z, A-Z, 0-9 and the underscore. Length: 2 - 64 characters.'; -$wb['database_user_error_len'] = 'Database username - {user} - too long. The max. database username length incl. prefix is 16 chars.'; -$wb['btn_save_txt'] = 'Save'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['globalsearch_resultslimit_of_txt'] = 'of'; -$wb['globalsearch_resultslimit_results_txt'] = 'results'; -$wb['globalsearch_noresults_text_txt'] = 'No results.'; -$wb['globalsearch_noresults_limit_txt'] = '0 results'; -$wb['globalsearch_searchfield_watermark_txt'] = 'Search'; -$wb['globalsearch_suggestions_text_txt'] = 'Suggestions'; +$wb['database_user_txt'] = 'Όνομα ΧÏήστη Βάσης ΔεδομÎνων'; +$wb['database_password_txt'] = 'Συνθηματικό Βάσης ΔεδομÎνων'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; +$wb['client_txt'] = 'Πελάτης'; +$wb['active_txt'] = 'ΕνεÏγή'; +$wb['database_user_error_empty'] = 'Το όνομα χÏήστη δεν Îχει οÏιστεί.'; +$wb['database_user_error_unique'] = 'ΥπάÏχει ήδη Îνας χÏήστης με αυτό το όνομα στον server. Για να φτιάξετε Îνα μοναδικό όνομα, Ï€.χ. βάλτε μπÏοστά από το όνομα, το όνομα του domain.'; +$wb['database_user_error_regex'] = 'Μη ÎγκυÏο όνομα χÏήστη. Το όνομα χÏήστη μποÏεί να πεÏιÎχει αυτοÏÏ‚ τους χαÏακτήÏες: a-z, A-Z, 0-9 και την κάτω παÏλα. ÎœÎγεθος: 2 - 64 χαÏακτήÏες.'; +$wb['database_user_error_len'] = 'Το όνομα χÏήστη της βάσης δεδομÎνων - {user}- είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿. Το συνολικό μÎγιστο μÎγεθος δεν μποÏεί να ξεπεÏνά τους 16 χαÏακτήÏες.'; +$wb['btn_save_txt'] = 'Αποθήκευση'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['globalsearch_resultslimit_of_txt'] = 'από'; +$wb['globalsearch_resultslimit_results_txt'] = 'αποτελÎσματα'; +$wb['globalsearch_noresults_text_txt'] = 'Δεν υπάÏχουν αποτελÎσματα.'; +$wb['globalsearch_noresults_limit_txt'] = '0 αποτελÎσματα'; +$wb['globalsearch_searchfield_watermark_txt'] = 'Αναζήτηση'; +$wb['globalsearch_suggestions_text_txt'] = 'Î Ïοτάσεις'; ?> diff --git a/interface/web/sites/lib/lang/el_database_user_admin_list.lng b/interface/web/sites/lib/lang/el_database_user_admin_list.lng index d7f88c4c36..02a4c41211 100644 --- a/interface/web/sites/lib/lang/el_database_user_admin_list.lng +++ b/interface/web/sites/lib/lang/el_database_user_admin_list.lng @@ -1,6 +1,6 @@ <?php -$wb['list_head_txt'] = 'Database User'; -$wb['database_user_txt'] = 'Database user'; -$wb['add_new_record_txt'] = 'Add new User'; -$wb['sys_groupid_txt'] = 'Client'; +$wb['list_head_txt'] = 'ΧÏήστης Βάσης ΔεδομÎνων'; +$wb['database_user_txt'] = 'ΧÏήστης Βάσης ΔεδομÎνων'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη νÎου χÏήστη'; +$wb['sys_groupid_txt'] = 'Πελάτης'; ?> diff --git a/interface/web/sites/lib/lang/el_database_user_list.lng b/interface/web/sites/lib/lang/el_database_user_list.lng index 8c226496a6..b1bb3766b9 100644 --- a/interface/web/sites/lib/lang/el_database_user_list.lng +++ b/interface/web/sites/lib/lang/el_database_user_list.lng @@ -1,5 +1,5 @@ <?php -$wb['list_head_txt'] = 'Database user'; -$wb['database_user_txt'] = 'Database user'; -$wb['add_new_record_txt'] = 'Add new user'; +$wb['list_head_txt'] = 'ΧÏήστης Βάσης ΔεδομÎνων'; +$wb['database_user_txt'] = 'ΧÏήστης Βάσης ΔεδομÎνων'; +$wb['add_new_record_txt'] = 'Î Ïοσθήκη νÎου χÏήστη'; ?> diff --git a/interface/web/sites/lib/lang/el_ftp_user.lng b/interface/web/sites/lib/lang/el_ftp_user.lng index 2f89d27bdf..d65aef5ebe 100644 --- a/interface/web/sites/lib/lang/el_ftp_user.lng +++ b/interface/web/sites/lib/lang/el_ftp_user.lng @@ -12,7 +12,7 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['username_txt'] = 'Όνομα ΧÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη Συνθηματικου'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ Συνθηματικου'; $wb['quota_size_txt'] = 'ÎŒÏιο χÏήσης Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['limit_ftp_user_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των χÏηστών FTP για τον λογαÏιασμό σας.'; @@ -25,10 +25,10 @@ $wb['directory_error_empty'] = 'Ο Φάκελος δεν Îχει οÏιστεί $wb['directory_error_notinweb'] = 'Ο φάκελος δεν βÏίσκεται μÎσα στον Ïιζικό φάκελο web.'; $wb['parent_domain_id_error_empty'] = 'Δεν επιλÎχθηκε website.'; $wb['quota_size_error_regex'] = 'ÎŒÏιο: εισάγετε -1 για απεÏιόÏιστα ή Îναν αÏιθμό > 0'; -$wb['dir_dot_error'] = 'No .. in path allowed.'; -$wb['dir_slashdot_error'] = 'No ./ in path allowed.'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['dir_dot_error'] = 'Δεν επιτÏÎπονται .. στη διαδÏομη.'; +$wb['dir_slashdot_error'] = 'Δεν επιτÏÎπεται ./ στη διαδÏομη.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; ?> diff --git a/interface/web/sites/lib/lang/el_shell_user.lng b/interface/web/sites/lib/lang/el_shell_user.lng index 3c3ea316ce..6513f99121 100644 --- a/interface/web/sites/lib/lang/el_shell_user.lng +++ b/interface/web/sites/lib/lang/el_shell_user.lng @@ -1,14 +1,14 @@ <?php $wb['puser_txt'] = 'Όνομα χÏήστη Web'; $wb['pgroup_txt'] = 'Ομάδα Web'; -$wb['shell_txt'] = 'Shell'; +$wb['shell_txt'] = 'ΚÎλυφος'; $wb['dir_txt'] = 'Φάκελος'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Site'; $wb['username_txt'] = 'Όνομα χÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; -$wb['chroot_txt'] = 'Chroot Shell'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; +$wb['chroot_txt'] = 'ΚÎλυφος Chroot'; $wb['quota_size_txt'] = 'ÎŒÏια'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['username_error_empty'] = 'Το όνομα χÏήστη δεν Îχει οÏιστεί'; @@ -20,12 +20,12 @@ $wb['directory_error_empty'] = 'Ο φάκελος δεν Îχει οÏιστεί $wb['limit_shell_user_txt'] = 'Φτάσατε το μÎγιστο πλήθος τον λογαÏιασμών Shell'; $wb['parent_domain_id_error_empty'] = 'Δεν επιλÎχθηκε website'; $wb['ssh_rsa_txt'] = 'Δημόσιο Κλειδί SSH-RSA (για key-based logins)'; -$wb['dir_dot_error'] = 'No .. in path allowed.'; -$wb['dir_slashdot_error'] = 'No ./ in path allowed.'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['dir_dot_error'] = 'Δεν επιτÏÎπονται .. στη διαδÏομη.'; +$wb['dir_slashdot_error'] = 'Δεν επιτÏÎπεται ./ στη διαδÏομη.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; $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.'; ?> diff --git a/interface/web/sites/lib/lang/el_shell_user_list.lng b/interface/web/sites/lib/lang/el_shell_user_list.lng index 5468905bbf..d0b7a169b4 100644 --- a/interface/web/sites/lib/lang/el_shell_user_list.lng +++ b/interface/web/sites/lib/lang/el_shell_user_list.lng @@ -1,8 +1,8 @@ <?php -$wb['list_head_txt'] = 'ΧÏήστης Shell'; +$wb['list_head_txt'] = 'ΧÏήστης ΚελÏφους'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Site'; $wb['username_txt'] = 'Όνομα ΧÏήστη'; -$wb['add_new_record_txt'] = 'Îεός χÏήστης Shell'; +$wb['add_new_record_txt'] = 'Îεός χÏήστης ΚελÏφους'; ?> diff --git a/interface/web/sites/lib/lang/el_user_quota_stats_list.lng b/interface/web/sites/lib/lang/el_user_quota_stats_list.lng index a4b080eecd..5b83022fed 100644 --- a/interface/web/sites/lib/lang/el_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/el_user_quota_stats_list.lng @@ -5,5 +5,5 @@ $wb['system_user_txt'] = 'ΧÏήστης Linux'; $wb['used_txt'] = 'ΧÏησιμοποιοÏμενος χώÏος'; $wb['hard_txt'] = 'Απόλυτο ÏŒÏιο'; $wb['soft_txt'] = 'Διαλακτικό ÏŒÏιο'; -$wb['files_txt'] = 'Single files'; +$wb['files_txt'] = 'ΜεμονωμÎνα ΑÏχεία'; ?> diff --git a/interface/web/sites/lib/lang/el_web_aliasdomain.lng b/interface/web/sites/lib/lang/el_web_aliasdomain.lng index 4149c71149..ba8c6900e2 100644 --- a/interface/web/sites/lib/lang/el_web_aliasdomain.lng +++ b/interface/web/sites/lib/lang/el_web_aliasdomain.lng @@ -1,12 +1,12 @@ <?php -$wb['domain_txt'] = 'Aliasdomain'; -$wb['backup_interval_txt'] = 'Backup interval'; -$wb['backup_copies_txt'] = 'Number of backup copies'; -$wb['ssl_state_txt'] = 'State'; -$wb['ssl_locality_txt'] = 'Locality'; -$wb['ssl_organisation_txt'] = 'Organisation'; -$wb['ssl_organisation_unit_txt'] = 'Organisation Unit'; -$wb['ssl_country_txt'] = 'Country'; +$wb['domain_txt'] = 'Ψευδώνυμο domain'; +$wb['backup_interval_txt'] = 'ΧÏονικό διάστημα ΑντιγÏάφων Ασφαλείας'; +$wb['backup_copies_txt'] = 'Πλήθος ΑντιγÏάφων Ασφαλείας'; +$wb['ssl_state_txt'] = 'Κατάσταση'; +$wb['ssl_locality_txt'] = 'Τοποθεσία'; +$wb['ssl_organisation_txt'] = 'ΟÏγανισμός'; +$wb['ssl_organisation_unit_txt'] = 'Τμήμα ΟÏγανισμοÏ'; +$wb['ssl_country_txt'] = 'ΧώÏα'; $wb['ssl_key_txt'] = 'SSL Key'; $wb['ssl_request_txt'] = 'SSL Request'; $wb['ssl_cert_txt'] = 'SSL Certificate'; @@ -14,70 +14,70 @@ $wb['ssl_bundle_txt'] = 'SSL Bundle'; $wb['ssl_action_txt'] = 'SSL Action'; $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['server_id_txt'] = 'Server'; -$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.'; -$wb['type_txt'] = 'Type'; -$wb['parent_domain_id_txt'] = 'Parent Website'; -$wb['redirect_type_txt'] = 'Redirect Type'; -$wb['redirect_path_txt'] = 'Redirect Path'; -$wb['active_txt'] = 'Active'; +$wb['web_folder_error_regex'] = 'Εισάγατε μη ÎγκυÏο φάκελο. Μην εισάγετε την κάθετο.'; +$wb['type_txt'] = 'ΤÏπος'; +$wb['parent_domain_id_txt'] = 'Γονικό Website'; +$wb['redirect_type_txt'] = 'ΤÏπος ΑνακατεÏθυνσης'; +$wb['redirect_path_txt'] = 'ΔιαδÏομή ΑνακατεÏθυνσης'; +$wb['active_txt'] = 'ΕνεÏγό'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux User'; -$wb['system_group_txt'] = 'Linux Group'; -$wb['ip_address_txt'] = 'IPv4-Address'; -$wb['ipv6_address_txt'] = 'IPv6-Address'; -$wb['vhost_type_txt'] = 'VHost Type'; -$wb['hd_quota_txt'] = 'Harddisk Quota'; -$wb['traffic_quota_txt'] = 'Traffic Quota'; +$wb['system_user_txt'] = 'ΧÏήστης Linux'; +$wb['system_group_txt'] = 'Ομάδα Linux'; +$wb['ip_address_txt'] = 'ΔιεÏθυνση IPv4'; +$wb['ipv6_address_txt'] = 'ΔιεÏθυνση IPv6'; +$wb['vhost_type_txt'] = 'ΤÏπος VHost'; +$wb['hd_quota_txt'] = 'ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; +$wb['traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; -$wb['errordocs_txt'] = 'Own Error-Documents'; -$wb['subdomain_txt'] = 'Auto-Subdomain'; +$wb['errordocs_txt'] = 'Î Ïοσωπικά ÎγγÏαφα σφάλματος'; +$wb['subdomain_txt'] = 'Αυτόματο-Subdomain'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; -$wb['client_txt'] = 'Client'; -$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.'; -$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.'; -$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.'; +$wb['client_txt'] = 'Πελάτης'; +$wb['limit_web_domain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των web domains για τον λογαÏιασμό σας.'; +$wb['limit_web_aliasdomain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των ψευδωνÏμων domains για τον λογαÏιασμό σας.'; +$wb['limit_web_subdomain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των web subdomains για τον λογαÏιασμό σας.'; $wb['apache_directives_txt'] = 'Apache Directives'; -$wb['domain_error_empty'] = 'Domain is empty.'; -$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.'; -$wb['domain_error_regex'] = 'Domain name invalid.'; -$wb['domain_error_autosub'] = 'There is already a subdomain with these settings.'; -$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.'; -$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.'; -$wb['error_ssl_state_empty'] = 'SSL State is empty.'; -$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.'; -$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.'; -$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.'; -$wb['error_ssl_country_empty'] = 'SSL Country is empty.'; -$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty'; -$wb['client_group_id_txt'] = 'Client'; -$wb['stats_password_txt'] = 'Set Webstatistics password'; +$wb['domain_error_empty'] = 'Το Domain δεν Îχει οÏιστεί.'; +$wb['domain_error_unique'] = 'ΥπάÏχει ήδη Îνα website ή Îνα sub / aliasdomain με αυτό το όνομα domain.'; +$wb['domain_error_regex'] = 'Μη ÎγκυÏο Domain.'; +$wb['domain_error_autosub'] = 'ΥπάÏχει ήδη Îνα subdomain με αυτÎÏ‚ τις Ïυθμίσεις.'; +$wb['hd_quota_error_empty'] = 'Το ÏŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου είναι 0 ή δεν Îχει οÏιστεί.'; +$wb['traffic_quota_error_empty'] = 'Το ÏŒÏιο μεταφοÏάς δεδομÎνων δεν Îχει οÏιστεί.'; +$wb['error_ssl_state_empty'] = 'Κενή πεÏιφÎÏεια SSL.'; +$wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.'; +$wb['error_ssl_organisation_empty'] = 'Ο ΟÏγανισμός SSL δεν Îχει οÏιστεί.'; +$wb['error_ssl_organisation_unit_empty'] = 'Το SSL τμήμα ΟÏÎ³Î±Î½Î¹ÏƒÎ¼Î¿Ï Î´ÎµÎ½ Îχει οÏιστεί.'; +$wb['error_ssl_country_empty'] = 'Κενή χώÏα SSL.'; +$wb['error_ssl_cert_empty'] = 'Το πεδίο SSL Certificate δεν Îχει οÏιστεί.'; +$wb['client_group_id_txt'] = 'Πελάτης'; +$wb['stats_password_txt'] = 'Συνθηματικο Στατιστικών Web'; $wb['allow_override_txt'] = 'Apache AllowOverride'; -$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota'; -$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota'; -$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/'; +$wb['limit_web_quota_free_txt'] = 'ÎœÎγιστο ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; +$wb['ssl_state_error_regex'] = 'ΆκυÏη πολιτεία-πεÏιφÎÏεια SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_locality_error_regex'] = 'ΆκυÏο SSL Locality. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_organisation_error_regex'] = 'ΆκυÏος ΟÏγανισμός SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'ΆκυÏη μονάδα οÏÎ³Î±Î½Î¹ÏƒÎ¼Î¿Ï SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_country_error_regex'] = 'ΆκυÏη ΧώÏα SSL. ΈγκυÏοι χαÏακτήÏες: A-Z'; +$wb['limit_traffic_quota_free_txt'] = 'ÎœÎγιστο ÎŒÏιο μεταφοÏάς δεδομÎνων'; +$wb['redirect_error_regex'] = 'Μη ÎγκυÏη διαδÏομή ανακατεÏθυνσης. ΈγκυÏες τιμÎÏ‚ είναι: /test/ ή http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; -$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded'; +$wb['traffic_quota_exceeded_txt'] = 'ΞεπεÏάστηκε το ÏŒÏιο μεταφοÏάς δεδομÎνων'; $wb['ruby_txt'] = 'Ruby'; -$wb['stats_user_txt'] = 'Webstatistics username'; -$wb['stats_type_txt'] = 'Webstatistics program'; -$wb['custom_php_ini_txt'] = 'Custom php.ini settings'; -$wb['none_txt'] = 'None'; -$wb['disabled_txt'] = 'Disabled'; -$wb['no_redirect_txt'] = 'No redirect'; -$wb['no_flag_txt'] = 'No flag'; -$wb['save_certificate_txt'] = 'Save certificate'; -$wb['create_certificate_txt'] = 'Create certificate'; -$wb['delete_certificate_txt'] = 'Delete certificate'; +$wb['stats_user_txt'] = 'Όνομα ΧÏήστη Στατιστικών Web'; +$wb['stats_type_txt'] = 'Î ÏόγÏαμμα Στατιστικών Web'; +$wb['custom_php_ini_txt'] = 'Î ÏοσαÏμοσμÎνες Ïυθμίσεις php.ini'; +$wb['none_txt'] = 'ΚανÎνα'; +$wb['disabled_txt'] = 'ΑπενεÏγοπ.'; +$wb['no_redirect_txt'] = 'ΧωÏίς ΑνακατεÏθυνση'; +$wb['no_flag_txt'] = 'ΧωÏίς Σημαία'; +$wb['save_certificate_txt'] = 'Αποθήκευση ΠιστοποιητικοÏ'; +$wb['create_certificate_txt'] = 'ΔημιουÏγία ΠιστοποιητικοÏ'; +$wb['delete_certificate_txt'] = 'ΔιαγÏαφή ΠιστοποιητικοÏ'; $wb['nginx_directives_txt'] = 'nginx Directives'; -$wb['seo_redirect_txt'] = 'SEO Redirect'; +$wb['seo_redirect_txt'] = 'ΑνακατεÏθυνση SEO'; $wb['non_www_to_www_txt'] = 'Non-www -> www'; $wb['www_to_non_www_txt'] = 'www -> non-www'; $wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM'; @@ -102,14 +102,14 @@ $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.'; $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.'; $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:'; -$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:'; -$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['available_php_directive_snippets_txt'] = 'ΔιαθÎσιμα PHP Directive Snippets:'; +$wb['available_apache_directive_snippets_txt'] = 'ΔιαθÎσιμα Apache Directive Snippets:'; +$wb['available_nginx_directive_snippets_txt'] = 'ΔιαθÎσιμα nginx Directive Snippets:'; $wb['proxy_directives_txt'] = 'Proxy Directives'; -$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; -$wb['Domain'] = 'Aliasdomain'; +$wb['available_proxy_directive_snippets_txt'] = 'ΔιαθÎσιμα Proxy Directive Snippets:'; +$wb['Domain'] = 'Ψευδώνυμο domain'; ?> diff --git a/interface/web/sites/lib/lang/el_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/el_web_aliasdomain_list.lng index b12aba2a56..6ea60e8c20 100644 --- a/interface/web/sites/lib/lang/el_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/el_web_aliasdomain_list.lng @@ -8,7 +8,7 @@ $wb['add_new_record_txt'] = 'ÎÎο ψευδωνÏμο domain'; $wb['domain_error_empty'] = 'Το Domain δεν Îχει οÏιστεί.'; $wb['domain_error_unique'] = 'Το Domain Ï€ÏÎπει να είναι μοναδικό.'; $wb['domain_error_regex'] = 'Το όνομα Domain δεν είναι ÎγκυÏο.'; -$wb['no_redirect_txt'] = 'No redirect'; -$wb['no_flag_txt'] = 'No flag'; -$wb['none_txt'] = 'None'; +$wb['no_redirect_txt'] = 'ΧωÏίς ΑνακατεÏθυνση'; +$wb['no_flag_txt'] = 'ΧωÏίς σημαία'; +$wb['none_txt'] = 'ΚανÎνα'; ?> diff --git a/interface/web/sites/lib/lang/el_web_backup_list.lng b/interface/web/sites/lib/lang/el_web_backup_list.lng index 9a10ca6d07..2fa2a77cb1 100644 --- a/interface/web/sites/lib/lang/el_web_backup_list.lng +++ b/interface/web/sites/lib/lang/el_web_backup_list.lng @@ -1,15 +1,15 @@ <?php -$wb['list_head_txt'] = 'Existing backups'; -$wb['date_txt'] = 'Date'; -$wb['backup_type_txt'] = 'Type'; -$wb['filename_txt'] = 'Backup file'; -$wb['restore_backup_txt'] = 'Restore backup'; -$wb['download_backup_txt'] = 'Download backup'; -$wb['download_info_txt'] = 'The backup file will be available for download in the backup folder of the website in a few minutes.'; -$wb['restore_info_txt'] = 'Restore of the backup has been started. This action takes several minutes to be completed.'; -$wb['restore_confirm_txt'] = 'Restoring will overwrite existing files in your website. Do you really want to restore this backup?'; -$wb['download_pending_txt'] = 'There is already a pending backup download job.'; -$wb['restore_pending_txt'] = 'There is already a pending backup restore job.'; -$wb['backup_type_mysql'] = 'MySQL Database'; -$wb['backup_type_web'] = 'Website files'; +$wb['list_head_txt'] = 'ΥπάÏχοντα ΑντίγÏαφα Ασφαλείας'; +$wb['date_txt'] = 'ΗμεÏομηνία'; +$wb['backup_type_txt'] = 'ΤÏπος'; +$wb['filename_txt'] = 'ΑÏχείο ΑντιγÏάφου Ασφαλείας'; +$wb['restore_backup_txt'] = 'ΕπαναφοÏά ΑντιγÏάφου Ασφαλείας'; +$wb['download_backup_txt'] = 'ΜεταφόÏτωση ΑντιγÏάφου Ασφαλείας'; +$wb['download_info_txt'] = 'Το ΑντιγÏάφου Ασφαλείας θα είναι διαθÎσιμο για μεταφόÏτωση στον φάκελο ΑντιγÏάφων Ασφαλείας του website σε λίγα λεπτά.'; +$wb['restore_info_txt'] = 'Η επαναφοÏά του ΑντιγÏάφου Ασφαλείας ξεκίνησε. Η ενÎÏγεια απαιτεί πολλά λεπτά για την ολοκλήÏωσή της.'; +$wb['restore_confirm_txt'] = 'Η επαναφοÏά θα αντικαταστήσει αÏχεία στο website. Είστε σίγουÏοι ότι θÎλετε να κάνετε επαναφοÏά του ΑντιγÏάφου Ασφαλείας?'; +$wb['download_pending_txt'] = 'ΥπάÏχει ήδη σε αναμονή μια εÏγασία μεταφόÏτωσης ΑντιγÏάφου Ασφαλείας.'; +$wb['restore_pending_txt'] = 'ΥπάÏχει ήδη σε αναμονή μια εÏγασία επαναφοÏάς ΑντιγÏάφου Ασφαλείας.'; +$wb['backup_type_mysql'] = 'Βάση ΔεδομÎνων MySQL'; +$wb['backup_type_web'] = 'ΑÏχεία Website'; ?> diff --git a/interface/web/sites/lib/lang/el_web_domain.lng b/interface/web/sites/lib/lang/el_web_domain.lng index 6cdc3d7c56..e515e59a2e 100644 --- a/interface/web/sites/lib/lang/el_web_domain.lng +++ b/interface/web/sites/lib/lang/el_web_domain.lng @@ -1,5 +1,5 @@ <?php -$wb['backup_interval_txt'] = 'Î ÏογÏαμματισμός Backup'; +$wb['backup_interval_txt'] = 'Î ÏογÏαμματισμός ΑντιγÏάφων Ασφαλείας'; $wb['backup_copies_txt'] = 'Πλήθος αντιγÏάφων'; $wb['ssl_state_txt'] = 'Κατάσταση'; $wb['ssl_locality_txt'] = 'Τοποθεσία'; @@ -24,11 +24,11 @@ $wb['system_group_txt'] = 'Ομάδα Linux'; $wb['ip_address_txt'] = 'ΔιεÏθυνση IP'; $wb['vhost_type_txt'] = 'VHost Type'; $wb['hd_quota_txt'] = 'ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; -$wb['traffic_quota_txt'] = 'ÎŒÏιο κίνησης'; +$wb['traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['errordocs_txt'] = 'Î Ïοσωπικά ÎγγÏαφα σφάλματος'; -$wb['subdomain_txt'] = 'Auto-Subdomain'; +$wb['subdomain_txt'] = 'Αυτόματο-Subdomain'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; @@ -41,7 +41,7 @@ $wb['domain_error_empty'] = 'Το Domain δεν Îχει οÏιστεί.'; $wb['domain_error_unique'] = 'ΥπάÏχει ήδη Îνα website ή Îνα sub / aliasdomain με αυτό το όνομα domain.'; $wb['domain_error_regex'] = 'Domain name invalid.'; $wb['hd_quota_error_empty'] = 'Το ÏŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου είναι 0 ή δεν Îχει οÏιστεί.'; -$wb['traffic_quota_error_empty'] = 'Το ÏŒÏιο κίνησης δεν Îχει οÏιστεί.'; +$wb['traffic_quota_error_empty'] = 'Το ÏŒÏιο μεταφοÏάς δεδομÎνων δεν Îχει οÏιστεί.'; $wb['error_ssl_state_empty'] = 'Κενή πεÏιφÎÏεια SSL.'; $wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.'; $wb['error_ssl_organisation_empty'] = 'Ο ΟÏγανισμός SSL δεν Îχει οÏιστεί.'; @@ -57,10 +57,10 @@ $wb['ssl_locality_error_regex'] = 'ΆκυÏο SSL Locality. ΈγκυÏοι χα $wb['ssl_organisation_error_regex'] = 'ΆκυÏος ΟÏγανισμός SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; $wb['ssl_organistaion_unit_error_regex'] = 'ΆκυÏη μονάδα οÏÎ³Î±Î½Î¹ÏƒÎ¼Î¿Ï SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; $wb['ssl_country_error_regex'] = 'ΆκυÏη ΧώÏα SSL. ΈγκυÏοι χαÏακτήÏες: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'ÎŒÏιο κίνησης'; +$wb['limit_traffic_quota_free_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['redirect_error_regex'] = 'Μη ÎγκυÏη διαδÏομή ανακατεÏθυνσης. ΈγκυÏες τιμÎÏ‚ είναι: /test/ ή http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; -$wb['traffic_quota_exceeded_txt'] = 'ΞεπεÏάστηκε το ÏŒÏιο κίνησης δεδομÎνων'; +$wb['traffic_quota_exceeded_txt'] = 'ΞεπεÏάστηκε το ÏŒÏιο μεταφοÏάς δεδομÎνων'; $wb['ruby_txt'] = 'Ruby'; $wb['stats_user_txt'] = 'Όνομα ΧÏήστη Στατιστικών Web'; $wb['stats_type_txt'] = 'Î ÏόγÏαμμα Στατιστικών Web'; @@ -89,29 +89,29 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.'; -$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.'; -$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.'; +$wb['hd_quota_error_regex'] = 'Το ÏŒÏιο χÏήσης δίσκου δεν είναι ÎγκυÏο.'; +$wb['traffic_quota_error_regex'] = 'Το ÏŒÏιο μεταφοÏάς δεδομÎνων δεν είναι ÎγκυÏο.'; $wb['ssl_key_txt'] = 'SSL Key'; $wb['perl_txt'] = 'Perl'; -$wb['fastcgi_php_version_txt'] = 'PHP Version'; +$wb['fastcgi_php_version_txt'] = 'Έκδοση PHP'; $wb['pm_txt'] = 'PHP-FPM Process Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.'; $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.'; $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.'; -$wb['domain_error_autosub'] = 'There is already a subdomain with these settings.'; -$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:'; -$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:'; -$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['web_folder_error_regex'] = 'Εισάγατε μη ÎγκυÏο φάκελο. Μην εισάγετε την κάθετο'; +$wb['domain_error_autosub'] = 'ΥπάÏχει ήδη Îνα subdomain με αυτÎÏ‚ τις Ïυθμίσεις.'; +$wb['available_php_directive_snippets_txt'] = 'ΔιαθÎσιμα PHP Directive Snippets:'; +$wb['available_apache_directive_snippets_txt'] = 'ΔιαθÎσιμα Apache Directive Snippets:'; +$wb['available_nginx_directive_snippets_txt'] = 'ΔιαθÎσιμα nginx Directive Snippets:'; $wb['proxy_directives_txt'] = 'Proxy Directives'; -$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; -$wb['no_server_error'] = 'No server selected.'; +$wb['available_proxy_directive_snippets_txt'] = 'ΔιαθÎσιμα Proxy Directive Snippets:'; +$wb['no_server_error'] = 'Δεν επιλÎχθηκε server.'; $wb['no_backup_txt'] = 'No backup'; $wb['daily_backup_txt'] = 'Daily'; $wb['weekly_backup_txt'] = 'Weekly'; @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/el_web_folder_user.lng b/interface/web/sites/lib/lang/el_web_folder_user.lng index 6835eaaaf1..ae898255b9 100644 --- a/interface/web/sites/lib/lang/el_web_folder_user.lng +++ b/interface/web/sites/lib/lang/el_web_folder_user.lng @@ -4,10 +4,10 @@ $wb['username_txt'] = 'Όνομα ΧÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['folder_error_empty'] = 'Δεν επιλÎχθηκε φάκελος web.'; -$wb['password_strength_txt'] = 'Password strength'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; $wb['no_folder_perm'] = 'You have no permission for this folder.'; ?> diff --git a/interface/web/sites/lib/lang/el_web_sites_stats_list.lng b/interface/web/sites/lib/lang/el_web_sites_stats_list.lng index 9916646017..dc58324fda 100644 --- a/interface/web/sites/lib/lang/el_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/el_web_sites_stats_list.lng @@ -5,5 +5,5 @@ $wb['this_month_txt'] = 'Αυτό το μήνα'; $wb['last_month_txt'] = 'Το τελευταίο μήνα'; $wb['this_year_txt'] = 'Αυτό το χÏόνο'; $wb['last_year_txt'] = 'Τον τελευταίο χÏόνο'; -$wb['sum_txt'] = 'Sum'; +$wb['sum_txt'] = 'ΣÏνολο'; ?> diff --git a/interface/web/sites/lib/lang/el_web_subdomain.lng b/interface/web/sites/lib/lang/el_web_subdomain.lng index 8f5148b99d..6183fbabb8 100644 --- a/interface/web/sites/lib/lang/el_web_subdomain.lng +++ b/interface/web/sites/lib/lang/el_web_subdomain.lng @@ -21,7 +21,7 @@ $wb['system_group_txt'] = 'Ομάδα Linux'; $wb['ip_address_txt'] = 'ΔιεÏθυνση IP'; $wb['vhost_type_txt'] = 'ΤÏπος VHost'; $wb['hd_quota_txt'] = 'ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; -$wb['traffic_quota_txt'] = 'ÎŒÏιο κίνησης δεδομÎνων'; +$wb['traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; @@ -39,8 +39,8 @@ $wb['host_txt'] = 'Host'; $wb['redirect_error_regex'] = 'Η διαδÏομή ανακατεÏθυνσης δεν είναι ÎγκυÏη. ΈγκυÏες διαδÏομÎÏ‚ είναι για παÏάδειγμα οι: /test/ ή http://www.domain.tld/test/'; $wb['no_redirect_txt'] = 'ΧωÏίς ΑνακατεÏθυνση'; $wb['no_flag_txt'] = 'ΧωÏίς Σημαία'; -$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; +$wb['domain_error_wildcard'] = 'Wildcard subdomains δεν επιτÏÎπονται.'; $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['available_proxy_directive_snippets_txt'] = 'ΔιαθÎσιμα Proxy Directive Snippets:'; +$wb['error_proxy_requires_url'] = 'Ο Ï„Ïπος ανακατεÏθυνσης \\"proxy\\" απαιτεί Îνα URL ως μονοπάτι ανακατεÏθυνσης.'; ?> diff --git a/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng index b87c788126..7381df6bf7 100644 --- a/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/el_web_vhost_subdomain.lng @@ -1,15 +1,15 @@ <?php -$wb['parent_domain_id_txt'] = 'Parent Website'; -$wb['web_folder_txt'] = 'Web folder'; -$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.'; -$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.'; -$wb['backup_interval_txt'] = 'Backup interval'; -$wb['backup_copies_txt'] = 'Number of backup copies'; -$wb['ssl_state_txt'] = 'State'; -$wb['ssl_locality_txt'] = 'Locality'; -$wb['ssl_organisation_txt'] = 'Organisation'; -$wb['ssl_organisation_unit_txt'] = 'Organisation Unit'; -$wb['ssl_country_txt'] = 'Country'; +$wb['parent_domain_id_txt'] = 'Γονικό Website'; +$wb['web_folder_txt'] = 'Φάκελος Web'; +$wb['web_folder_invalid_txt'] = 'Ο Φάκελος Web δεν είναι ÎγκυÏος, διαλÎξτε κάποιον άλλο.'; +$wb['web_folder_unique_txt'] = 'Ο Φάκελος Web χÏησιμοποιείται ήδη, διαλÎξτε κάποιον άλλο.'; +$wb['backup_interval_txt'] = 'ΧÏονικό διάστημα ΑντιγÏάφων Ασφαλείας'; +$wb['backup_copies_txt'] = 'Πλήθος ΑντιγÏάφων Ασφαλείας'; +$wb['ssl_state_txt'] = 'Κατάσταση'; +$wb['ssl_locality_txt'] = 'Τοποθεσία'; +$wb['ssl_organisation_txt'] = 'ΟÏγανισμός'; +$wb['ssl_organisation_unit_txt'] = 'Τμήμα ΟÏγανισμοÏ'; +$wb['ssl_country_txt'] = 'ΧώÏα'; $wb['ssl_key_txt'] = 'SSL Key'; $wb['ssl_request_txt'] = 'SSL Request'; $wb['ssl_cert_txt'] = 'SSL Certificate'; @@ -19,72 +19,72 @@ $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['host_txt'] = 'Hostname'; -$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.'; -$wb['type_txt'] = 'Type'; -$wb['redirect_type_txt'] = 'Redirect Type'; -$wb['redirect_path_txt'] = 'Redirect Path'; -$wb['active_txt'] = 'Active'; +$wb['web_folder_error_regex'] = 'Εισάγατε μη ÎγκυÏο φάκελο. Μην εισάγετε την κάθετο'; +$wb['type_txt'] = 'ΤÏπος'; +$wb['redirect_type_txt'] = 'ΤÏπος ΑνακατεÏθυνσης'; +$wb['redirect_path_txt'] = 'ΔιαδÏομή ΑνακατεÏθυνσης'; +$wb['active_txt'] = 'ΕνεÏγό'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux User'; -$wb['system_group_txt'] = 'Linux Group'; -$wb['ip_address_txt'] = 'IPv4-Address'; -$wb['ipv6_address_txt'] = 'IPv6-Address'; +$wb['system_user_txt'] = 'ΧÏήστης Linux'; +$wb['system_group_txt'] = 'Ομάδα Linux'; +$wb['ip_address_txt'] = 'ΔιεÏθυνση IP'; +$wb['ipv6_address_txt'] = 'ΔιεÏθυνση IPv6'; $wb['vhost_type_txt'] = 'VHost Type'; -$wb['hd_quota_txt'] = 'Harddisk Quota'; -$wb['traffic_quota_txt'] = 'Traffic Quota'; +$wb['hd_quota_txt'] = 'ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; +$wb['traffic_quota_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; -$wb['errordocs_txt'] = 'Own Error-Documents'; -$wb['subdomain_txt'] = 'Auto-Subdomain'; +$wb['errordocs_txt'] = 'Î Ïοσωπικά ÎγγÏαφα σφάλματος'; +$wb['subdomain_txt'] = 'Αυτόματο-Subdomain'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; -$wb['client_txt'] = 'Client'; -$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.'; -$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.'; -$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.'; -$wb['apache_directives_txt'] = 'Apache Directives'; -$wb['domain_error_empty'] = 'Domain is empty.'; -$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.'; +$wb['client_txt'] = 'Πελάτης'; +$wb['limit_web_domain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των web domains για τον λογαÏιασμό σας.'; +$wb['limit_web_aliasdomain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των aliasdomains για τον λογαÏιασμό σας.'; +$wb['limit_web_subdomain_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των web subdomains για τον λογαÏιασμό σας.'; +$wb['apache_directives_txt'] = 'Apache directives'; +$wb['domain_error_empty'] = 'Το Domain δεν Îχει οÏιστεί.'; +$wb['domain_error_unique'] = 'ΥπάÏχει ήδη Îνα website ή Îνα sub / aliasdomain με αυτό το όνομα domain.'; $wb['domain_error_regex'] = 'Domain name invalid.'; $wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.'; -$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.'; -$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.'; -$wb['error_ssl_state_empty'] = 'SSL State is empty.'; -$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.'; -$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.'; -$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.'; -$wb['error_ssl_country_empty'] = 'SSL Country is empty.'; -$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty'; -$wb['client_group_id_txt'] = 'Client'; -$wb['stats_password_txt'] = 'Webstatistics password'; +$wb['hd_quota_error_empty'] = 'Το ÏŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου είναι 0 ή δεν Îχει οÏιστεί.'; +$wb['traffic_quota_error_empty'] = 'Το ÏŒÏιο μεταφοÏάς δεδομÎνων δεν Îχει οÏιστεί.'; +$wb['error_ssl_state_empty'] = 'Κενή πεÏιφÎÏεια SSL.'; +$wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.'; +$wb['error_ssl_organisation_empty'] = 'Ο ΟÏγανισμός SSL δεν Îχει οÏιστεί.'; +$wb['error_ssl_organisation_unit_empty'] = 'Το SSL τμήμα ΟÏÎ³Î±Î½Î¹ÏƒÎ¼Î¿Ï Î´ÎµÎ½ Îχει οÏιστεί.'; +$wb['error_ssl_country_empty'] = 'Κενή χώÏα SSL.'; +$wb['error_ssl_cert_empty'] = 'Το πεδίο SSL Certificate δεν Îχει οÏιστεί'; +$wb['client_group_id_txt'] = 'Πελάτης'; +$wb['stats_password_txt'] = 'Συνθηματικο Στατιστικών Web'; $wb['allow_override_txt'] = 'Apache AllowOverride'; -$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota'; -$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_'; -$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota'; -$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/'; +$wb['limit_web_quota_free_txt'] = 'ÎŒÏιο Î±Ï€Î¿Î¸Î·ÎºÎµÏ…Ï„Î¹ÎºÎ¿Ï Ï‡ÏŽÏου'; +$wb['ssl_state_error_regex'] = 'ΆκυÏη πολιτεία-πεÏιφÎÏεια SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_locality_error_regex'] = 'ΆκυÏο SSL Locality. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_organisation_error_regex'] = 'ΆκυÏος ΟÏγανισμός SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'ΆκυÏη μονάδα οÏÎ³Î±Î½Î¹ÏƒÎ¼Î¿Ï SSL. ΈγκυÏοι χαÏακτήÏες: a-z, 0-9 and .,-_'; +$wb['ssl_country_error_regex'] = 'ΆκυÏη ΧώÏα SSL. ΈγκυÏοι χαÏακτήÏες: A-Z'; +$wb['limit_traffic_quota_free_txt'] = 'ÎŒÏιο μεταφοÏάς δεδομÎνων'; +$wb['redirect_error_regex'] = 'Μη ÎγκυÏη διαδÏομή ανακατεÏθυνσης. ΈγκυÏες τιμÎÏ‚ είναι: /test/ ή http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; -$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded'; +$wb['traffic_quota_exceeded_txt'] = 'ΞεπεÏάστηκε το ÏŒÏιο μεταφοÏάς δεδομÎνων'; $wb['ruby_txt'] = 'Ruby'; -$wb['stats_user_txt'] = 'Webstatistics username'; -$wb['stats_type_txt'] = 'Webstatistics program'; -$wb['custom_php_ini_txt'] = 'Custom php.ini settings'; -$wb['none_txt'] = 'None'; -$wb['disabled_txt'] = 'Disabled'; -$wb['no_redirect_txt'] = 'No redirect'; -$wb['no_flag_txt'] = 'No flag'; -$wb['save_certificate_txt'] = 'Save certificate'; -$wb['create_certificate_txt'] = 'Create certificate'; -$wb['delete_certificate_txt'] = 'Delete certificate'; -$wb['nginx_directives_txt'] = 'nginx Directives'; -$wb['seo_redirect_txt'] = 'SEO Redirect'; +$wb['stats_user_txt'] = 'Όνομα ΧÏήστη Στατιστικών Web'; +$wb['stats_type_txt'] = 'Î ÏόγÏαμμα Στατιστικών Web'; +$wb['custom_php_ini_txt'] = 'Î ÏοσαÏμοσμÎνες Ïυθμίσεις php.ini'; +$wb['none_txt'] = 'Καμία'; +$wb['disabled_txt'] = 'ΑπενεÏγοπ.'; +$wb['no_redirect_txt'] = 'ΧωÏίς ΑνακατεÏθυνση'; +$wb['no_flag_txt'] = 'ΧωÏίς Σημαία'; +$wb['save_certificate_txt'] = 'Αποθήκευση ΠιστοποιητικοÏ'; +$wb['create_certificate_txt'] = 'ΔημιουÏγία ΠιστοποιητικοÏ'; +$wb['delete_certificate_txt'] = 'ΔιαγÏαφή ΠιστοποιητικοÏ'; +$wb['nginx_directives_txt'] = 'ÎτιÏεκτίβες nginx'; +$wb['seo_redirect_txt'] = 'ΑνακατεÏθυνση SEO'; $wb['non_www_to_www_txt'] = 'Non-www -> www'; $wb['www_to_non_www_txt'] = 'www -> non-www'; -$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM'; +$wb['php_fpm_use_socket_txt'] = 'ΧÏήση Socket Για PHP-FPM'; $wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.'; $wb['python_txt'] = 'Python'; $wb['perl_txt'] = 'Perl'; @@ -106,13 +106,13 @@ $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.'; $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.'; $wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; -$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:'; -$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:'; -$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; +$wb['available_php_directive_snippets_txt'] = 'ΔιαθÎσιμα PHP Directive Snippets:'; +$wb['available_apache_directive_snippets_txt'] = 'ΔιαθÎσιμα Apache Directive Snippets:'; +$wb['available_nginx_directive_snippets_txt'] = 'ΔιαθÎσιμα nginx Directive Snippets:'; $wb['proxy_directives_txt'] = 'Proxy Directives'; -$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; +$wb['available_proxy_directive_snippets_txt'] = 'ΔιαθÎσιμα Proxy Directive Snippets:'; ?> diff --git a/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng b/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng index 1c16bcda28..a4426cf3ce 100644 --- a/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng +++ b/interface/web/sites/lib/lang/el_web_vhost_subdomain_list.lng @@ -1,8 +1,8 @@ <?php $wb['list_head_txt'] = 'Subdomains'; -$wb['active_txt'] = 'Active'; +$wb['active_txt'] = 'ΕνεÏγό'; $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['domain_txt'] = 'Subdomain'; -$wb['add_new_record_txt'] = 'Add new subdomain'; +$wb['add_new_record_txt'] = 'ÎÎο subdomain'; ?> diff --git a/interface/web/sites/lib/lang/el_webdav_user.lng b/interface/web/sites/lib/lang/el_webdav_user.lng index b33b553f8f..bf7e10f2eb 100644 --- a/interface/web/sites/lib/lang/el_webdav_user.lng +++ b/interface/web/sites/lib/lang/el_webdav_user.lng @@ -4,7 +4,7 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Website'; $wb['username_txt'] = 'Όνομα ΧÏήστη'; $wb['password_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη ΣυνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['active_txt'] = 'ΕνεÏγός'; $wb['limit_webdav_user_txt'] = 'Έχετε φτάσει το μÎγιστο πλήθος των webdav users για τον λογαÏιασμό σας.'; $wb['username_error_empty'] = 'Όνομα ΧÏήστη δεν Îχει οÏιστεί.'; @@ -12,10 +12,10 @@ $wb['username_error_unique'] = 'Το Όνομα ΧÏήστη Ï€ÏÎπει να $wb['username_error_regex'] = 'Το Όνομα ΧÏήστη πεÏιÎχει μη επιτÏεπόμενους χαÏακτήÏες.'; $wb['directory_error_empty'] = 'Ο φάκελος δεν Îχει οÏιστεί.'; $wb['parent_domain_id_error_empty'] = 'Δεν επιλÎχθηκε website.'; -$wb['dir_dot_error'] = 'No .. in path allowed.'; -$wb['dir_slashdot_error'] = 'No ./ in path allowed.'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['dir_dot_error'] = 'Δεν επιτÏÎπονται οι .. στην διαδÏομή.'; +$wb['dir_slashdot_error'] = 'Δεν επιτÏÎπεται το ./ στην διαδÏομή.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα συνθηματικά ταιÏιάζουν.'; ?> diff --git a/interface/web/sites/lib/lang/en_aps.lng b/interface/web/sites/lib/lang/en_aps.lng index bd33c1884a..e240d57873 100644 --- a/interface/web/sites/lib/lang/en_aps.lng +++ b/interface/web/sites/lib/lang/en_aps.lng @@ -1,58 +1,58 @@ -<?php -$wb['overview_txt'] = 'Overview'; -$wb['administration_txt'] = 'Administration'; -$wb['available_packages_txt'] = 'Available packages'; -$wb['installed_packages_txt'] = 'Installed packages'; -$wb['yes_txt'] = 'Yes'; -$wb['no_txt'] = 'No'; -$wb['invalid_id_txt'] = 'No valid ID has been provided.'; -$wb['details_txt'] = 'Details'; -$wb['version_txt'] = 'Version'; -$wb['category_txt'] = 'Category'; -$wb['homepage_txt'] = 'Homepage'; -$wb['supported_languages_txt'] = 'Supported languages'; -$wb['description_txt'] = 'Description'; -$wb['config_script_txt'] = 'Configuration script'; -$wb['installed_size_txt'] = 'Size after installation'; -$wb['license_txt'] = 'License'; -$wb['screenshots_txt'] = 'Screenshots'; -$wb['changelog_txt'] = 'Changelog'; -$wb['server_requirements_txt'] = 'Server requirements'; -$wb['php_extensions_txt'] = 'PHP extensions'; -$wb['php_settings_txt'] = 'PHP settings'; -$wb['supported_php_versions_txt'] = 'Supported PHP versions'; -$wb['database_txt'] = 'Database'; -$wb['settings_txt'] = 'Settings'; -$wb['install_package_txt'] = 'Install this package'; -$wb['installation_txt'] = 'Installation'; -$wb['install_location_txt'] = 'Install location'; -$wb['btn_install_txt'] = 'Install'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['acceptance_txt'] = 'Acceptance'; -$wb['acceptance_text_txt'] = 'Yes, i\'ve read the license and agree.'; -$wb['install_language_txt'] = 'Interface language'; -$wb['new_database_password_txt'] = 'New database password'; -$wb['basic_settings_txt'] = 'Basic settings'; -$wb['package_settings_txt'] = 'Package settings'; -$wb['error_main_domain'] = 'The domain of the installation path is invalid.'; -$wb['error_no_main_location'] = 'You have provided no valid installation path.'; -$wb['error_inv_main_location'] = 'The given install location folder is invalid.'; -$wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.'; -$wb['error_no_database_pw'] = 'You have provided no valid database password.'; -$wb['error_short_database_pw'] = 'Please choose a longer database password.'; -$wb['error_no_value_for'] = 'The field "%s" must not be empty.'; -$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.'; -$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.'; -$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".'; -$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".'; -$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".'; -$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".'; -$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".'; -$wb['error_used_location'] = 'The installation path already contains a package installation.'; -$wb['installation_task_txt'] = 'Install planned'; -$wb['installation_error_txt'] = 'Install error'; -$wb['installation_success_txt'] = 'Installed'; -$wb['installation_remove_txt'] = 'Removal planned'; -$wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.'; -$wb["limit_aps_txt"] = 'The max. number of APS instances for your account is reached.'; +<?php +$wb['overview_txt'] = 'Overview'; +$wb['administration_txt'] = 'Administration'; +$wb['available_packages_txt'] = 'Available packages'; +$wb['installed_packages_txt'] = 'Installed packages'; +$wb['yes_txt'] = 'Yes'; +$wb['no_txt'] = 'No'; +$wb['invalid_id_txt'] = 'No valid ID has been provided.'; +$wb['details_txt'] = 'Details'; +$wb['version_txt'] = 'Version'; +$wb['category_txt'] = 'Category'; +$wb['homepage_txt'] = 'Homepage'; +$wb['supported_languages_txt'] = 'Supported languages'; +$wb['description_txt'] = 'Description'; +$wb['config_script_txt'] = 'Configuration script'; +$wb['installed_size_txt'] = 'Size after installation'; +$wb['license_txt'] = 'License'; +$wb['screenshots_txt'] = 'Screenshots'; +$wb['changelog_txt'] = 'Changelog'; +$wb['server_requirements_txt'] = 'Server requirements'; +$wb['php_extensions_txt'] = 'PHP extensions'; +$wb['php_settings_txt'] = 'PHP settings'; +$wb['supported_php_versions_txt'] = 'Supported PHP versions'; +$wb['database_txt'] = 'Database'; +$wb['settings_txt'] = 'Settings'; +$wb['install_package_txt'] = 'Install this package'; +$wb['installation_txt'] = 'Installation'; +$wb['install_location_txt'] = 'Install location'; +$wb['btn_install_txt'] = 'Install'; +$wb['btn_cancel_txt'] = 'Cancel'; +$wb['acceptance_txt'] = 'Acceptance'; +$wb['acceptance_text_txt'] = 'Yes, i\'ve read the license and agree.'; +$wb['install_language_txt'] = 'Interface language'; +$wb['new_database_password_txt'] = 'New database password'; +$wb['basic_settings_txt'] = 'Basic settings'; +$wb['package_settings_txt'] = 'Package settings'; +$wb['error_main_domain'] = 'The domain of the installation path is invalid.'; +$wb['error_no_main_location'] = 'You have provided no valid installation path.'; +$wb['error_inv_main_location'] = 'The given install location folder is invalid.'; +$wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.'; +$wb['error_no_database_pw'] = 'You have provided no valid database password.'; +$wb['error_short_database_pw'] = 'Please choose a longer database password.'; +$wb['error_no_value_for'] = 'The field "%s" must not be empty.'; +$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.'; +$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.'; +$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".'; +$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".'; +$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".'; +$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".'; +$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".'; +$wb['error_used_location'] = 'The installation path already contains a package installation.'; +$wb['installation_task_txt'] = 'Install planned'; +$wb['installation_error_txt'] = 'Install error'; +$wb['installation_success_txt'] = 'Installed'; +$wb['installation_remove_txt'] = 'Removal planned'; +$wb['packagelist_update_finished_txt'] = 'APS Packagelist update finished.'; +$wb["limit_aps_txt"] = 'The max. number of APS instances for your account is reached.'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_instances_list.lng b/interface/web/sites/lib/lang/en_aps_instances_list.lng index 611c37efa6..3b9c7e943a 100644 --- a/interface/web/sites/lib/lang/en_aps_instances_list.lng +++ b/interface/web/sites/lib/lang/en_aps_instances_list.lng @@ -1,13 +1,13 @@ -<?php -$wb['list_head_txt'] = 'Installed packages'; -$wb['name_txt'] = 'Name'; -$wb['version_txt'] = 'Version'; -$wb['customer_txt'] = 'Client'; -$wb['status_txt'] = 'Status'; -$wb['install_location_txt'] = 'Install location'; -$wb['pkg_delete_confirmation'] = 'Do you really want to delete this installation?'; -$wb['pkg_reinstall_confirmation'] = 'Do you really want to reinstall this package with the same settings?'; -$wb['filter_txt'] = 'Search'; -$wb['delete_txt'] = 'Delete'; -$wb['reinstall_txt'] = 'Reinstall'; +<?php +$wb['list_head_txt'] = 'Installed packages'; +$wb['name_txt'] = 'Name'; +$wb['version_txt'] = 'Version'; +$wb['customer_txt'] = 'Client'; +$wb['status_txt'] = 'Status'; +$wb['install_location_txt'] = 'Install location'; +$wb['pkg_delete_confirmation'] = 'Do you really want to delete this installation?'; +$wb['pkg_reinstall_confirmation'] = 'Do you really want to reinstall this package with the same settings?'; +$wb['filter_txt'] = 'Search'; +$wb['delete_txt'] = 'Delete'; +$wb['reinstall_txt'] = 'Reinstall'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_packages_list.lng b/interface/web/sites/lib/lang/en_aps_packages_list.lng index ed6303a64e..12cc30d023 100644 --- a/interface/web/sites/lib/lang/en_aps_packages_list.lng +++ b/interface/web/sites/lib/lang/en_aps_packages_list.lng @@ -1,8 +1,8 @@ -<?php -$wb['list_head_txt'] = 'Available packages'; -$wb['name_txt'] = 'Name'; -$wb['version_txt'] = 'Version'; -$wb['category_txt'] = 'Category'; -$wb['status_txt'] = 'Unlocked'; -$wb['filter_txt'] = 'Search'; +<?php +$wb['list_head_txt'] = 'Available packages'; +$wb['name_txt'] = 'Name'; +$wb['version_txt'] = 'Version'; +$wb['category_txt'] = 'Category'; +$wb['status_txt'] = 'Unlocked'; +$wb['filter_txt'] = 'Search'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_aps_update_packagelist.lng b/interface/web/sites/lib/lang/en_aps_update_packagelist.lng index 20a7360b64..1a40a3394f 100644 --- a/interface/web/sites/lib/lang/en_aps_update_packagelist.lng +++ b/interface/web/sites/lib/lang/en_aps_update_packagelist.lng @@ -1,7 +1,7 @@ -<?php -$wb['head_txt'] = 'Update Packagelist'; -$wb['list_desc_txt'] = ''; -$wb['btn_start_txt'] = 'Update Packagelist'; -$wb['btn_cancel_txt'] = 'Cancel'; -$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.'; +<?php +$wb['head_txt'] = 'Update Packagelist'; +$wb['list_desc_txt'] = ''; +$wb['btn_start_txt'] = 'Update Packagelist'; +$wb['btn_cancel_txt'] = 'Cancel'; +$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.'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_database_admin_list.lng b/interface/web/sites/lib/lang/en_database_admin_list.lng index e68d9935f3..fdafd68aee 100644 --- a/interface/web/sites/lib/lang/en_database_admin_list.lng +++ b/interface/web/sites/lib/lang/en_database_admin_list.lng @@ -2,11 +2,10 @@ $wb["list_head_txt"] = 'Database'; $wb["active_txt"] = 'Active'; $wb["remote_access_txt"] = 'Remote Access'; -$wb['type_txt'] = 'Type'; $wb["server_id_txt"] = 'Server'; $wb["database_user_txt"] = 'Database user'; $wb["database_name_txt"] = 'Database name'; $wb["add_new_record_txt"] = 'Add new Database'; $wb["sys_groupid_txt"] = 'Client'; $wb["parent_domain_id_txt"] = 'Website'; -?> +?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_database_list.lng b/interface/web/sites/lib/lang/en_database_list.lng index 13bb304033..e87ad2a9b7 100644 --- a/interface/web/sites/lib/lang/en_database_list.lng +++ b/interface/web/sites/lib/lang/en_database_list.lng @@ -2,7 +2,6 @@ $wb["list_head_txt"] = 'Database'; $wb["active_txt"] = 'Active'; $wb["remote_access_txt"] = 'Remote Access'; -$wb['type_txt'] = 'Type'; $wb["server_id_txt"] = 'Server'; $wb["database_user_txt"] = 'Database user'; $wb["database_name_txt"] = 'Database name'; diff --git a/interface/web/sites/lib/lang/en_web_backup_list.lng b/interface/web/sites/lib/lang/en_web_backup_list.lng index aea21f8046..74bcbd9b7e 100644 --- a/interface/web/sites/lib/lang/en_web_backup_list.lng +++ b/interface/web/sites/lib/lang/en_web_backup_list.lng @@ -1,18 +1,16 @@ <?php $wb['list_head_txt'] = 'Existing backups'; -$wb['date_txt'] = 'Date'; -$wb['backup_type_txt'] = 'Type'; -$wb['filename_txt'] = 'Backup file'; -$wb['filesize_txt'] = 'Filesize'; -$wb['restore_backup_txt'] = 'Restore'; -$wb['download_backup_txt'] = 'Download'; -$wb['download_info_txt'] = 'The backup file will be available for download in the backup folder of the website in a few minutes.'; +$wb['date_txt'] = 'Date'; +$wb['backup_type_txt'] = 'Type'; +$wb['filename_txt'] = 'Backup file'; +$wb['restore_backup_txt'] = 'Restore'; +$wb['download_backup_txt'] = 'Download'; +$wb['download_info_txt'] = 'The backup file will be available for download in the backup folder of the website in a few minutes.'; $wb['restore_info_txt'] = 'Restore of the backup has been started. This action takes several minutes to be completed.'; $wb['restore_confirm_txt'] = 'Restoring will overwrite existing files in your website. Do you really want to restore this backup?'; $wb['download_pending_txt'] = 'There is already a pending backup download job.'; $wb['restore_pending_txt'] = 'There is already a pending backup restore job.'; -$wb['backup_type_mongodb'] = 'MongoDB Database'; $wb['backup_type_mysql'] = 'MySQL Database'; $wb['backup_type_web'] = 'Website files'; -?> +?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng index 82a3d25ef7..ae8873813e 100644 --- a/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/en_web_vhost_subdomain.lng @@ -116,4 +116,8 @@ $wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Sni $wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:'; $wb['proxy_directives_txt'] = 'Proxy Directives'; $wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:'; +$wb['rewrite_rules_txt'] = 'Rewrite Rules'; +$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; +$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = "CONFIGURATION ERROR"; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/es_database_admin_list.lng b/interface/web/sites/lib/lang/es_database_admin_list.lng index 511a4572ad..b6f4cb3365 100644 --- a/interface/web/sites/lib/lang/es_database_admin_list.lng +++ b/interface/web/sites/lib/lang/es_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Usuario Base de Datos'; $wb['database_name_txt'] = 'Nombre Base de Datos'; $wb['add_new_record_txt'] = 'Añadir nueva Base de Datos'; $wb['sys_groupid_txt'] = 'Cliente'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/es_database_list.lng b/interface/web/sites/lib/lang/es_database_list.lng index 19bb11034c..157cdd52b7 100644 --- a/interface/web/sites/lib/lang/es_database_list.lng +++ b/interface/web/sites/lib/lang/es_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Servidor'; $wb['database_name_txt'] = 'Nombre de la base de datos'; $wb['add_new_record_txt'] = 'Añadir nueva base de datos'; $wb['database_user_txt'] = 'Usuario de Basos Datos'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/es_web_domain.lng b/interface/web/sites/lib/lang/es_web_domain.lng index b3f466018e..37695c57e9 100644 --- a/interface/web/sites/lib/lang/es_web_domain.lng +++ b/interface/web/sites/lib/lang/es_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/fi_database_admin_list.lng b/interface/web/sites/lib/lang/fi_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/fi_database_admin_list.lng +++ b/interface/web/sites/lib/lang/fi_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/fi_database_list.lng b/interface/web/sites/lib/lang/fi_database_list.lng index 2ce0989e55..cf5e75ceca 100755 --- a/interface/web/sites/lib/lang/fi_database_list.lng +++ b/interface/web/sites/lib/lang/fi_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Palvelin'; $wb['database_name_txt'] = 'Tietokannnan nimi'; $wb['add_new_record_txt'] = 'Lisää uusi tietokanta'; $wb['database_user_txt'] = 'Tietokannan käyttäjä'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/fi_web_domain.lng b/interface/web/sites/lib/lang/fi_web_domain.lng index 1c4055aa1d..b910463e71 100755 --- a/interface/web/sites/lib/lang/fi_web_domain.lng +++ b/interface/web/sites/lib/lang/fi_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/fr_database_admin_list.lng b/interface/web/sites/lib/lang/fr_database_admin_list.lng index d6be240fd7..651aa20fd1 100644 --- a/interface/web/sites/lib/lang/fr_database_admin_list.lng +++ b/interface/web/sites/lib/lang/fr_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Utilisateur de la base de données'; $wb['database_name_txt'] = 'Nom de la base de données'; $wb['add_new_record_txt'] = 'Ajouter une base de données'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/fr_database_list.lng b/interface/web/sites/lib/lang/fr_database_list.lng index b530a6e5af..3ff3eac31f 100644 --- a/interface/web/sites/lib/lang/fr_database_list.lng +++ b/interface/web/sites/lib/lang/fr_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Serveur'; $wb['database_name_txt'] = 'Nom de la base'; $wb['add_new_record_txt'] = 'Nouvelle base de données'; $wb['database_user_txt'] = 'Utilisateur BDD'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/fr_web_domain.lng b/interface/web/sites/lib/lang/fr_web_domain.lng index d96e6ad75f..10c52ee893 100644 --- a/interface/web/sites/lib/lang/fr_web_domain.lng +++ b/interface/web/sites/lib/lang/fr_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/hr_database_admin_list.lng b/interface/web/sites/lib/lang/hr_database_admin_list.lng index aee31601c6..19c99568b5 100644 --- a/interface/web/sites/lib/lang/hr_database_admin_list.lng +++ b/interface/web/sites/lib/lang/hr_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Korisnik baze'; $wb['database_name_txt'] = 'Naziv baze'; $wb['add_new_record_txt'] = 'Dodaj bazu'; $wb['sys_groupid_txt'] = 'Klijent'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/hr_database_list.lng b/interface/web/sites/lib/lang/hr_database_list.lng index dcfe205ff2..baec9d4cd0 100644 --- a/interface/web/sites/lib/lang/hr_database_list.lng +++ b/interface/web/sites/lib/lang/hr_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Korisnik baze'; $wb['database_name_txt'] = 'Naziv baze'; $wb['add_new_record_txt'] = 'Dodaj bazu'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/hr_web_domain.lng b/interface/web/sites/lib/lang/hr_web_domain.lng index 8c47934df7..b14d67a248 100644 --- a/interface/web/sites/lib/lang/hr_web_domain.lng +++ b/interface/web/sites/lib/lang/hr_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/hu_database_admin_list.lng b/interface/web/sites/lib/lang/hu_database_admin_list.lng index 77f27e80dd..d844905c1a 100644 --- a/interface/web/sites/lib/lang/hu_database_admin_list.lng +++ b/interface/web/sites/lib/lang/hu_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Felhasználó'; $wb['database_name_txt'] = 'Adatbázis'; $wb['add_new_record_txt'] = 'Új adatbázis'; $wb['sys_groupid_txt'] = 'Ãœgyfél'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/hu_database_list.lng b/interface/web/sites/lib/lang/hu_database_list.lng index bafb54867d..db4bd2b8aa 100644 --- a/interface/web/sites/lib/lang/hu_database_list.lng +++ b/interface/web/sites/lib/lang/hu_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Szerver'; $wb['database_name_txt'] = 'Adatbázis neve'; $wb['add_new_record_txt'] = 'Új adatbázis'; $wb['database_user_txt'] = 'Adatbázis Felhasználó'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/hu_web_domain.lng b/interface/web/sites/lib/lang/hu_web_domain.lng index 0060787254..0e53fae4d0 100644 --- a/interface/web/sites/lib/lang/hu_web_domain.lng +++ b/interface/web/sites/lib/lang/hu_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/id_database_admin_list.lng b/interface/web/sites/lib/lang/id_database_admin_list.lng index 782e4e4272..6f81d66858 100644 --- a/interface/web/sites/lib/lang/id_database_admin_list.lng +++ b/interface/web/sites/lib/lang/id_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Pengguna Database'; $wb['database_name_txt'] = 'Nama Database'; $wb['add_new_record_txt'] = 'Tambah Database Baru'; $wb['sys_groupid_txt'] = 'Klien'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/id_database_list.lng b/interface/web/sites/lib/lang/id_database_list.lng index 9b44571f64..1221632978 100644 --- a/interface/web/sites/lib/lang/id_database_list.lng +++ b/interface/web/sites/lib/lang/id_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Pengguna Database'; $wb['database_name_txt'] = 'Nama Database'; $wb['add_new_record_txt'] = 'Tambah Database Baru'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/id_web_domain.lng b/interface/web/sites/lib/lang/id_web_domain.lng index 5bcfb28baa..0d240c93f5 100644 --- a/interface/web/sites/lib/lang/id_web_domain.lng +++ b/interface/web/sites/lib/lang/id_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/it_database_admin_list.lng b/interface/web/sites/lib/lang/it_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/it_database_admin_list.lng +++ b/interface/web/sites/lib/lang/it_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/it_database_list.lng b/interface/web/sites/lib/lang/it_database_list.lng index 0ce261e5ae..7e66ceb09b 100644 --- a/interface/web/sites/lib/lang/it_database_list.lng +++ b/interface/web/sites/lib/lang/it_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_name_txt'] = 'Nome Database'; $wb['add_new_record_txt'] = 'Aggiungi nuovo Database'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/it_web_domain.lng b/interface/web/sites/lib/lang/it_web_domain.lng index d605e88dfb..eb60687242 100644 --- a/interface/web/sites/lib/lang/it_web_domain.lng +++ b/interface/web/sites/lib/lang/it_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/ja_database_admin_list.lng b/interface/web/sites/lib/lang/ja_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/ja_database_admin_list.lng +++ b/interface/web/sites/lib/lang/ja_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ja_database_list.lng b/interface/web/sites/lib/lang/ja_database_list.lng index 9a0ad45c71..afbda1b528 100644 --- a/interface/web/sites/lib/lang/ja_database_list.lng +++ b/interface/web/sites/lib/lang/ja_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'サーãƒãƒ¼'; $wb['database_name_txt'] = 'データベースå'; $wb['add_new_record_txt'] = 'ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’è¿½åŠ ã™ã‚‹'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ja_web_domain.lng b/interface/web/sites/lib/lang/ja_web_domain.lng index a6dbbf6dcc..e0402c01c3 100644 --- a/interface/web/sites/lib/lang/ja_web_domain.lng +++ b/interface/web/sites/lib/lang/ja_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/nl_database_admin_list.lng b/interface/web/sites/lib/lang/nl_database_admin_list.lng index 3ad586efd3..e49d882658 100644 --- a/interface/web/sites/lib/lang/nl_database_admin_list.lng +++ b/interface/web/sites/lib/lang/nl_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database gebruiker'; $wb['database_name_txt'] = 'Database naam'; $wb['add_new_record_txt'] = 'Toevoegen nieuwe database'; $wb['sys_groupid_txt'] = 'Klant'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/nl_database_list.lng b/interface/web/sites/lib/lang/nl_database_list.lng index aa6dc3cdc7..c2af6476a1 100644 --- a/interface/web/sites/lib/lang/nl_database_list.lng +++ b/interface/web/sites/lib/lang/nl_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_user_txt'] = 'Database gebruiker'; $wb['database_name_txt'] = 'Database naam'; $wb['add_new_record_txt'] = 'Toevoegen nieuwe database'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/nl_web_domain.lng b/interface/web/sites/lib/lang/nl_web_domain.lng index e2bb5cbeab..2d357819c0 100644 --- a/interface/web/sites/lib/lang/nl_web_domain.lng +++ b/interface/web/sites/lib/lang/nl_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/pl_database_admin_list.lng b/interface/web/sites/lib/lang/pl_database_admin_list.lng index 5785a779fd..4795a90ecb 100644 --- a/interface/web/sites/lib/lang/pl_database_admin_list.lng +++ b/interface/web/sites/lib/lang/pl_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Nazwa użytkownika bazy'; $wb['database_name_txt'] = 'Nazwa bazy danych'; $wb['add_new_record_txt'] = 'Dodaj nowÄ… bazÄ™ danych'; $wb['sys_groupid_txt'] = 'Klient'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/pl_database_list.lng b/interface/web/sites/lib/lang/pl_database_list.lng index 2162a15a21..60e1ecff23 100644 --- a/interface/web/sites/lib/lang/pl_database_list.lng +++ b/interface/web/sites/lib/lang/pl_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Serwer'; $wb['database_name_txt'] = 'Nazwa bazy danych'; $wb['add_new_record_txt'] = 'Dodaj nowÄ… bazÄ™ danych'; $wb['database_user_txt'] = 'Użytkownik bazy danych'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/pl_web_domain.lng b/interface/web/sites/lib/lang/pl_web_domain.lng index c08113e9e6..ae5c3e1cd3 100644 --- a/interface/web/sites/lib/lang/pl_web_domain.lng +++ b/interface/web/sites/lib/lang/pl_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/pt_database_admin_list.lng b/interface/web/sites/lib/lang/pt_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/pt_database_admin_list.lng +++ b/interface/web/sites/lib/lang/pt_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/pt_database_list.lng b/interface/web/sites/lib/lang/pt_database_list.lng index 40e888b8ae..9e886921d0 100644 --- a/interface/web/sites/lib/lang/pt_database_list.lng +++ b/interface/web/sites/lib/lang/pt_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Servidor'; $wb['database_name_txt'] = 'Nome da Base de Dados'; $wb['add_new_record_txt'] = 'Adicionar uma nova base de dados'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/pt_web_domain.lng b/interface/web/sites/lib/lang/pt_web_domain.lng index 787e1c71da..e7f3fd2fb0 100644 --- a/interface/web/sites/lib/lang/pt_web_domain.lng +++ b/interface/web/sites/lib/lang/pt_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/ro_database_admin_list.lng b/interface/web/sites/lib/lang/ro_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/ro_database_admin_list.lng +++ b/interface/web/sites/lib/lang/ro_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ro_database_list.lng b/interface/web/sites/lib/lang/ro_database_list.lng index 6e1597f1e8..3b835ce3d5 100644 --- a/interface/web/sites/lib/lang/ro_database_list.lng +++ b/interface/web/sites/lib/lang/ro_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Adauga Database'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ro_web_domain.lng b/interface/web/sites/lib/lang/ro_web_domain.lng index 31e0112ee6..4ff6a0d186 100644 --- a/interface/web/sites/lib/lang/ro_web_domain.lng +++ b/interface/web/sites/lib/lang/ro_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/ru_database_admin_list.lng b/interface/web/sites/lib/lang/ru_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/ru_database_admin_list.lng +++ b/interface/web/sites/lib/lang/ru_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ru_database_list.lng b/interface/web/sites/lib/lang/ru_database_list.lng index 0d737de5c6..4647c0c158 100644 --- a/interface/web/sites/lib/lang/ru_database_list.lng +++ b/interface/web/sites/lib/lang/ru_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Сервер'; $wb['database_name_txt'] = 'Ð˜Ð¼Ñ Ð‘Ð”'; $wb['add_new_record_txt'] = 'Добавить новую БД'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/ru_web_domain.lng b/interface/web/sites/lib/lang/ru_web_domain.lng index 5f6aafdc33..964d9f488b 100644 --- a/interface/web/sites/lib/lang/ru_web_domain.lng +++ b/interface/web/sites/lib/lang/ru_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/se_database_admin_list.lng b/interface/web/sites/lib/lang/se_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/se_database_admin_list.lng +++ b/interface/web/sites/lib/lang/se_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/se_database_list.lng b/interface/web/sites/lib/lang/se_database_list.lng index 59f563d011..b05ba127ab 100644 --- a/interface/web/sites/lib/lang/se_database_list.lng +++ b/interface/web/sites/lib/lang/se_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/se_web_domain.lng b/interface/web/sites/lib/lang/se_web_domain.lng index 3e309ed5d1..2d9e432374 100644 --- a/interface/web/sites/lib/lang/se_web_domain.lng +++ b/interface/web/sites/lib/lang/se_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/sk_database_admin_list.lng b/interface/web/sites/lib/lang/sk_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/sk_database_admin_list.lng +++ b/interface/web/sites/lib/lang/sk_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/sk_database_list.lng b/interface/web/sites/lib/lang/sk_database_list.lng index f8acec2b7e..98422c41f7 100644 --- a/interface/web/sites/lib/lang/sk_database_list.lng +++ b/interface/web/sites/lib/lang/sk_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Server'; $wb['database_name_txt'] = 'Meno databáza'; $wb['add_new_record_txt'] = 'PridaÅ¥ novú databázu'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/sk_web_domain.lng b/interface/web/sites/lib/lang/sk_web_domain.lng index 952216fe80..40b00bde65 100644 --- a/interface/web/sites/lib/lang/sk_web_domain.lng +++ b/interface/web/sites/lib/lang/sk_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/lib/lang/tr_database_admin_list.lng b/interface/web/sites/lib/lang/tr_database_admin_list.lng index 3f05f65e62..27e62b9ac6 100644 --- a/interface/web/sites/lib/lang/tr_database_admin_list.lng +++ b/interface/web/sites/lib/lang/tr_database_admin_list.lng @@ -7,4 +7,5 @@ $wb['database_user_txt'] = 'Database user'; $wb['database_name_txt'] = 'Database name'; $wb['add_new_record_txt'] = 'Add new Database'; $wb['sys_groupid_txt'] = 'Client'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/tr_database_list.lng b/interface/web/sites/lib/lang/tr_database_list.lng index 5e9d258c8b..c3b3eb49ef 100644 --- a/interface/web/sites/lib/lang/tr_database_list.lng +++ b/interface/web/sites/lib/lang/tr_database_list.lng @@ -6,4 +6,5 @@ $wb['server_id_txt'] = 'Sunucu'; $wb['database_name_txt'] = 'Veritabanı adı'; $wb['add_new_record_txt'] = 'Yeni Veritabanı'; $wb['database_user_txt'] = 'Database user'; +$wb['parent_domain_id_txt'] = 'Website'; ?> diff --git a/interface/web/sites/lib/lang/tr_web_domain.lng b/interface/web/sites/lib/lang/tr_web_domain.lng index 23a5374b0a..1b330059e9 100644 --- a/interface/web/sites/lib/lang/tr_web_domain.lng +++ b/interface/web/sites/lib/lang/tr_web_domain.lng @@ -119,4 +119,5 @@ $wb['monthly_backup_txt'] = 'Monthly'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:'; +$wb['configuration_error_txt'] = 'CONFIGURATION ERROR'; ?> diff --git a/interface/web/sites/list/aps_availablepackages.list.php b/interface/web/sites/list/aps_availablepackages.list.php index b6f52cff82..d07b85a4fe 100644 --- a/interface/web/sites/list/aps_availablepackages.list.php +++ b/interface/web/sites/list/aps_availablepackages.list.php @@ -1,86 +1,86 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -$liste['name'] = 'aps_packages'; // Name of the list -$liste['table'] = 'aps_packages'; // Database table -$liste['table_idx'] = 'id'; // Table index -$liste["search_prefix"] = 'search_'; // Search field prefix -$liste['records_per_page'] = 15; // Records per page -$liste['file'] = 'aps_availablepackages_list.php'; // Script file for this list -$liste['edit_file'] = ''; // Script file to edit -$liste['delete_file'] = ''; // Script file to delete -$liste['paging_tpl'] = 'templates/paging.tpl.htm'; // Paging template -$liste['auth'] = 'no'; // Handling it myself (check for admin) - -// Search fields -$liste["item"][] = array('field' => 'name', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'like', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => ''); - -$liste["item"][] = array('field' => 'version', - 'datatype' => 'VARCHAR', - 'formtype' => 'TEXT', - 'op' => 'like', - 'prefix' => '%', - 'suffix' => '%', - 'width' => '', - 'value' => ''); - -$liste["item"][] = array('field' => 'category', - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'datasource' => array('type' => 'SQL', - 'querystring' => 'SELECT category FROM aps_packages ORDER BY category', - 'keyfield' => 'category', - 'valuefield' => 'category'), - 'width' => '', - 'value' => ''); - -if($_SESSION['s']['user']['typ'] == 'admin') -{ -$liste['item'][] = array('field' => 'package_status', - 'datatype' => 'VARCHAR', - 'formtype' => 'SELECT', - 'op' => '=', - 'prefix' => '', - 'suffix' => '', - 'width' => '', - 'value' => array(PACKAGE_ENABLED => '<div class="swap" id="ir-Yes"><span>'.$app->lng('Yes').'</span></div>', - PACKAGE_LOCKED => '<div class="swap" id="ir-No"><span>'.$app->lng('No').'</span></div>')); -} +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +$liste['name'] = 'aps_packages'; // Name of the list +$liste['table'] = 'aps_packages'; // Database table +$liste['table_idx'] = 'id'; // Table index +$liste["search_prefix"] = 'search_'; // Search field prefix +$liste['records_per_page'] = 15; // Records per page +$liste['file'] = 'aps_availablepackages_list.php'; // Script file for this list +$liste['edit_file'] = ''; // Script file to edit +$liste['delete_file'] = ''; // Script file to delete +$liste['paging_tpl'] = 'templates/paging.tpl.htm'; // Paging template +$liste['auth'] = 'no'; // Handling it myself (check for admin) + +// Search fields +$liste["item"][] = array('field' => 'name', + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'op' => 'like', + 'prefix' => '%', + 'suffix' => '%', + 'width' => '', + 'value' => ''); + +$liste["item"][] = array('field' => 'version', + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'op' => 'like', + 'prefix' => '%', + 'suffix' => '%', + 'width' => '', + 'value' => ''); + +$liste["item"][] = array('field' => 'category', + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'op' => '=', + 'prefix' => '', + 'suffix' => '', + 'datasource' => array('type' => 'SQL', + 'querystring' => 'SELECT category FROM aps_packages ORDER BY category', + 'keyfield' => 'category', + 'valuefield' => 'category'), + 'width' => '', + 'value' => ''); + +if($_SESSION['s']['user']['typ'] == 'admin') +{ +$liste['item'][] = array('field' => 'package_status', + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'op' => '=', + 'prefix' => '', + 'suffix' => '', + 'width' => '', + 'value' => array(PACKAGE_ENABLED => '<div class="swap" id="ir-Yes"><span>'.$app->lng('Yes').'</span></div>', + PACKAGE_LOCKED => '<div class="swap" id="ir-No"><span>'.$app->lng('No').'</span></div>')); +} ?> \ No newline at end of file diff --git a/interface/web/sites/list/database.list.php b/interface/web/sites/list/database.list.php index 76dbec54fd..56bf15dc40 100644 --- a/interface/web/sites/list/database.list.php +++ b/interface/web/sites/list/database.list.php @@ -70,19 +70,6 @@ $liste["item"][] = array( 'field' => "remote_access", 'width' => "", 'value' => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>",'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>")); -$liste["item"][] = array( 'field' => "type", - 'datatype' => "VARCHAR", - 'formtype' => "SELECT", - 'op' => "=", - 'prefix' => "", - 'suffix' => "", - 'width' => "", - 'value' => array( - 'mongo' => "MongoDB", - 'mysql' => "MySQL" - ) - ); - if($_SESSION['s']['user']['typ'] == 'admin') { $liste["item"][] = array( 'field' => "sys_groupid", 'datatype' => "INTEGER", @@ -153,4 +140,4 @@ $liste["item"][] = array( 'field' => "database_name", 'width' => "", 'value' => ""); -?> +?> \ No newline at end of file diff --git a/interface/web/sites/templates/aps_install_package.htm b/interface/web/sites/templates/aps_install_package.htm index c911ced39e..4e0c9bd517 100644 --- a/interface/web/sites/templates/aps_install_package.htm +++ b/interface/web/sites/templates/aps_install_package.htm @@ -1,56 +1,56 @@ -<h2> - {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'} - <span style="float:right"> - <tmpl_if name='pkg_icon' op='!=' value=''> - <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> - </tmpl_if> - </span> -</h2> - -<tmpl_if name='error'> - <div id="errorMsg"><h3>ERROR</h3><ol>{tmpl_var name='error'}</ol></div> -</tmpl_if> - -<div class="panel panel_install_package"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <legend>{tmpl_var name='basic_settings_txt'}</legend> - <div class="ctrlHolder"> - <label for="main_domain">{tmpl_var name='install_location_txt'}</label> - <div class="resetButton">http(s):// </div>DOMAIN_LIST_SPACE<div style="float:left;"> / </div> - <input type="text" name="main_location" id="main_location" value="{tmpl_var name='inp_main_location'}" maxlength="255" class="textInput formLengthHalf" /> - </div> - <tmpl_if name='pkg_requirements_database' op='!=' value=''> - <div class="ctrlHolder"> - <label for="main_database_password">{tmpl_var name='new_database_password_txt'}</label> - <input type="text" class="textInput" name="main_database_password" id="main_database_password" value="{tmpl_var name='inp_main_database_password'}" size="10" maxlength="255" /> - </div> - </tmpl_if> - - PKG_SETTINGS_SPACE - - <legend>{tmpl_var name='license_txt'}</legend> - <div class="ctrlHolder"> - <label for="license">{tmpl_var name='license_txt'}</label> - <tmpl_if name='pkg_license_content' op='==' value=''>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> - <tmpl_if name='pkg_license_type' op='==' value='url'> - <a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> - <tmpl_elseif name='pkg_license_content'> - <textarea rows="10" cols="80" id="license_text">{tmpl_var name='pkg_license_content'}</textarea> - </tmpl_if> - </div> - <div class="ctrlHolder"> - <label for="license">{tmpl_var name='acceptance_txt'}</label> - <input type="checkbox" name="license" id="license" <tmpl_if name='inp_license' op='==' value='true'>checked</tmpl_if> /> {tmpl_var name='acceptance_text'} - </div> - </fieldset> - - <input type="hidden" name="install" value="0" /> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_install_txt'}" name="btn_install" onclick="document.pageForm.install.value=1; submitForm('pageForm','sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"><span>{tmpl_var name='btn_install_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/aps_availablepackages_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> +<h2> + {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'} + <span style="float:right"> + <tmpl_if name='pkg_icon' op='!=' value=''> + <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> + </tmpl_if> + </span> +</h2> + +<tmpl_if name='error'> + <div id="errorMsg"><h3>ERROR</h3><ol>{tmpl_var name='error'}</ol></div> +</tmpl_if> + +<div class="panel panel_install_package"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <legend>{tmpl_var name='basic_settings_txt'}</legend> + <div class="ctrlHolder"> + <label for="main_domain">{tmpl_var name='install_location_txt'}</label> + <div class="resetButton">http(s):// </div>DOMAIN_LIST_SPACE<div style="float:left;"> / </div> + <input type="text" name="main_location" id="main_location" value="{tmpl_var name='inp_main_location'}" maxlength="255" class="textInput formLengthHalf" /> + </div> + <tmpl_if name='pkg_requirements_database' op='!=' value=''> + <div class="ctrlHolder"> + <label for="main_database_password">{tmpl_var name='new_database_password_txt'}</label> + <input type="text" class="textInput" name="main_database_password" id="main_database_password" value="{tmpl_var name='inp_main_database_password'}" size="10" maxlength="255" /> + </div> + </tmpl_if> + + PKG_SETTINGS_SPACE + + <legend>{tmpl_var name='license_txt'}</legend> + <div class="ctrlHolder"> + <label for="license">{tmpl_var name='license_txt'}</label> + <tmpl_if name='pkg_license_content' op='==' value=''>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> + <tmpl_if name='pkg_license_type' op='==' value='url'> + <a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> + <tmpl_elseif name='pkg_license_content'> + <textarea rows="10" cols="80" id="license_text">{tmpl_var name='pkg_license_content'}</textarea> + </tmpl_if> + </div> + <div class="ctrlHolder"> + <label for="license">{tmpl_var name='acceptance_txt'}</label> + <input type="checkbox" name="license" id="license" <tmpl_if name='inp_license' op='==' value='true'>checked</tmpl_if> /> {tmpl_var name='acceptance_text'} + </div> + </fieldset> + + <input type="hidden" name="install" value="0" /> + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_install_txt'}" name="btn_install" onclick="document.pageForm.install.value=1; submitForm('pageForm','sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"><span>{tmpl_var name='btn_install_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/aps_availablepackages_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + +</div> \ No newline at end of file diff --git a/interface/web/sites/templates/aps_instances_list.htm b/interface/web/sites/templates/aps_instances_list.htm index 2d9c50f6da..48da5232e6 100644 --- a/interface/web/sites/templates/aps_instances_list.htm +++ b/interface/web/sites/templates/aps_instances_list.htm @@ -1,62 +1,62 @@ -<h2>{tmpl_var name="list_head_txt"}</h2> - -<div class="panel panel_list_instances"> - - <div class="pnl_listarea"> - <fieldset><legend>{tmpl_var name="list_head_txt"}</legend> - <table class="list"> - <thead> - <tr class="caption"> - <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> - <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> - <tmpl_if name='is_noclient'> - <!--<th class="tbl_col_customer" scope="col">{tmpl_var name='customer_txt'}</th>--> - </tmpl_if> - <th class="tbl_col_installlocation" scope="col">{tmpl_var name='install_location_txt'}</th> - <th class="tbl_col_instancestatus" scope="col">{tmpl_var name='status_txt'}</th> - <th class="tbl_col_limit" scope="col" > </th> - </tr> - <tr class="filter"> - <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> - <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> - <tmpl_if name='is_noclient'> - <!--<td class="tbl_col_customer"><input type="text" name="search_customer_name" value="{tmpl_var name='search_customer_name'}" /></td>--> - </tmpl_if> - <td class="tbl_col_installlocation"> </td> - <td class="tbl_col_instancestatus"><select name="search_instance_status" onChange="submitForm('pageForm','sites/aps_installedpackages_list.php');">{tmpl_var name='search_instance_status'}</select></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','sites/aps_installedpackages_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_name"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='package_name'}</a></td> - <td class="tbl_col_version">{tmpl_var name='package_version'}-{tmpl_var name='package_release'}</td> - <tmpl_if name='is_noclient'> - <!--<td class="tbl_col_customer"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='customer_name'}</a></td>--> - </tmpl_if> - <td class="tbl_col_installlocation"><a href="http://{tmpl_var name='install_location'}" target="_blank">{tmpl_var name='install_location_short'}</a></td> - <td class="tbl_col_instancestatus"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='instance_status'}</span></td> - <td class="tbl_col_buttons"> - <tmpl_if name='delete_possible'> - <a class="button icons16 icoDelete" href="javascript: del_record('sites/aps_do_operation.php?action=delete_instance&id={tmpl_var name='id'}','{tmpl_var name='pkg_delete_confirmation'}')"><span>{tmpl_var name='delete_txt'}</span></a> - </tmpl_if> - <tmpl_if name='reinstall_possible'> - <a class="button icons16 icoEdit" href="javascript: del_record('sites/aps_do_operation.php?action=reinstall_instance&id={tmpl_var name='id'}','{tmpl_var name='pkg_reinstall_confirmation'}')"><span>{tmpl_var name='reinstall_txt'}</span></a> - </tmpl_if> - </td> - </tr> - </tmpl_loop> - </tbody> - <tfoot> - <tr> - <td class="tbl_footer tbl_paging" colspan="6">{tmpl_var name='paging'}</td> - </tr> - </tfoot> - </table> - </fieldset> - </div> - +<h2>{tmpl_var name="list_head_txt"}</h2> + +<div class="panel panel_list_instances"> + + <div class="pnl_listarea"> + <fieldset><legend>{tmpl_var name="list_head_txt"}</legend> + <table class="list"> + <thead> + <tr class="caption"> + <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> + <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> + <tmpl_if name='is_noclient'> + <!--<th class="tbl_col_customer" scope="col">{tmpl_var name='customer_txt'}</th>--> + </tmpl_if> + <th class="tbl_col_installlocation" scope="col">{tmpl_var name='install_location_txt'}</th> + <th class="tbl_col_instancestatus" scope="col">{tmpl_var name='status_txt'}</th> + <th class="tbl_col_limit" scope="col" > </th> + </tr> + <tr class="filter"> + <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> + <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> + <tmpl_if name='is_noclient'> + <!--<td class="tbl_col_customer"><input type="text" name="search_customer_name" value="{tmpl_var name='search_customer_name'}" /></td>--> + </tmpl_if> + <td class="tbl_col_installlocation"> </td> + <td class="tbl_col_instancestatus"><select name="search_instance_status" onChange="submitForm('pageForm','sites/aps_installedpackages_list.php');">{tmpl_var name='search_instance_status'}</select></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','sites/aps_installedpackages_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_name"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='package_name'}</a></td> + <td class="tbl_col_version">{tmpl_var name='package_version'}-{tmpl_var name='package_release'}</td> + <tmpl_if name='is_noclient'> + <!--<td class="tbl_col_customer"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='customer_name'}</a></td>--> + </tmpl_if> + <td class="tbl_col_installlocation"><a href="http://{tmpl_var name='install_location'}" target="_blank">{tmpl_var name='install_location_short'}</a></td> + <td class="tbl_col_instancestatus"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='instance_status'}</span></td> + <td class="tbl_col_buttons"> + <tmpl_if name='delete_possible'> + <a class="button icons16 icoDelete" href="javascript: del_record('sites/aps_do_operation.php?action=delete_instance&id={tmpl_var name='id'}','{tmpl_var name='pkg_delete_confirmation'}')"><span>{tmpl_var name='delete_txt'}</span></a> + </tmpl_if> + <tmpl_if name='reinstall_possible'> + <a class="button icons16 icoEdit" href="javascript: del_record('sites/aps_do_operation.php?action=reinstall_instance&id={tmpl_var name='id'}','{tmpl_var name='pkg_reinstall_confirmation'}')"><span>{tmpl_var name='reinstall_txt'}</span></a> + </tmpl_if> + </td> + </tr> + </tmpl_loop> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="6">{tmpl_var name='paging'}</td> + </tr> + </tfoot> + </table> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/sites/templates/aps_packagedetails_show.htm b/interface/web/sites/templates/aps_packagedetails_show.htm index 5456a89850..a09c26f203 100644 --- a/interface/web/sites/templates/aps_packagedetails_show.htm +++ b/interface/web/sites/templates/aps_packagedetails_show.htm @@ -1,141 +1,141 @@ -<h2> - <tmpl_if name='pkg_icon' op='!=' value=''> - <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> - </tmpl_if> - {tmpl_var name='pkg_name'} -</h2> -<b>{tmpl_var name='pkg_summary'}</b> -<p> </p> - -<div class="pnl_toolsarea"> - <fieldset> - <div class="buttons"> - <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"> - <span>{tmpl_var name="install_package_txt"}</span> - </button> - </div> - </fieldset> -</div> -<p> </p><p> </p> - - -<div class="tabbox_tabs"> - <input type="hidden" name="next_tab" value="" /> - <ul> - <li<tmpl_if name='next_tab' op='==' value='details'> class="active"</tmpl_if>> - <a href="#" onclick="return changeTab('details', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='details_txt'}</a> - </li> - <tmpl_if name='pkg_screenshots'> - <li<tmpl_if name='next_tab' op='==' value='screenshots'> class="active"</tmpl_if>> - <a href="#" onclick="return changeTab('screenshots', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='screenshots_txt'}</a> - </li></tmpl_if> - <tmpl_if name='pkg_changelog'> - <li<tmpl_if name='next_tab' op='==' value='changelog'> class="active"</tmpl_if>> - <a href="#" onclick="return changeTab('changelog', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='changelog_txt'}</a> - </li></tmpl_if> - <li<tmpl_if name='next_tab' op='==' value='settings'> class="active"</tmpl_if>> - <a href="#" onclick="return changeTab('settings', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='settings_txt'}</a> - </li> - </ul> -</div> -<p> </p> - -<div class="panel panel_list_packages"> - - <div class="pnl_listarea"> - <table class="list"> - <tbody> - <tmpl_if name='next_tab' op='==' value='details'> - <tr class="tbl_row_uneven"> - <td width="25%">{tmpl_var name='version_txt'}</td> - <td>{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='category_txt'}</td> - <td>{tmpl_var name='pkg_category'}</td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='description_txt'}</td> - <td>{tmpl_var name='pkg_description'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='homepage_txt'}</td> - <td> - <a href="{tmpl_var name='pkg_homepage'}" target="_blank">{tmpl_var name='pkg_homepage'}</a> - </td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='installed_size_txt'}</td> - <td>{tmpl_var name='pkg_installed_size'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='supported_languages_txt'}</td> - <td>{tmpl_var name='pkg_languages'}</td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='config_script_txt'}</td> - <td>{tmpl_var name='pkg_config_script'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='license_txt'}</td> - <td> - <tmpl_if name='pkg_license_name'>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> - <tmpl_if name='pkg_license_type' op='==' value='url'><a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> - <tmpl_elseif name='pkg_license_content'> - <textarea rows="10" cols="80">{tmpl_var name='pkg_license_content'}</textarea> - </tmpl_if> - </td> - </tr> - <tmpl_elseif name='next_tab' op='==' value='screenshots'> - <tmpl_if name='pkg_screenshots'> - <tr class="tbl_row_even"> - <td style="text-align:center;"> - <tmpl_loop name='pkg_screenshots'> - <img src="{tmpl_var name='ScreenPath'}" alt="{tmpl_var name='ScreenDescription'}" /><br /> - <em>{tmpl_var name='ScreenDescription'}</em><br /><br /> - </tmpl_loop> - </td> - </tr> - </tmpl_if> - <tmpl_elseif name='next_tab' op='==' value='changelog'> - <tmpl_if name='pkg_changelog'> - <tr class="tbl_row_even"> - <td> - <ul> - <tmpl_loop name='pkg_changelog'> - <li>{tmpl_var name='ChangelogVersion'}</li> - <ul> - <tmpl_if name='ChangelogDescription'> - <li>{tmpl_var name='ChangelogDescription'}</li> - </tmpl_if> - </ul> - </tmpl_loop> - </ul> - </td> - </tr> - </tmpl_if> - <tmpl_elseif name='next_tab' op='==' value='settings'> - <tr class="tbl_row_uneven"> - <td width="25%">{tmpl_var name='php_extensions_txt'}</td> - <td>{tmpl_var name='pkg_requirements_php_extensions'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='php_settings_txt'}</td> - <td> - <tmpl_loop name='pkg_requirements_php_settings'>{tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}<br /></tmpl_loop> - </td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='supported_php_versions_txt'}</td> - <td>{tmpl_var name='pkg_requirements_supported_php_versions'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='database_txt'}</td> - <td>{tmpl_var name='pkg_requirements_database'}</a></td> - </tr> - </tmpl_if> - </tbody> - </table> - </div> - +<h2> + <tmpl_if name='pkg_icon' op='!=' value=''> + <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> + </tmpl_if> + {tmpl_var name='pkg_name'} +</h2> +<b>{tmpl_var name='pkg_summary'}</b> +<p> </p> + +<div class="pnl_toolsarea"> + <fieldset> + <div class="buttons"> + <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"> + <span>{tmpl_var name="install_package_txt"}</span> + </button> + </div> + </fieldset> +</div> +<p> </p><p> </p> + + +<div class="tabbox_tabs"> + <input type="hidden" name="next_tab" value="" /> + <ul> + <li<tmpl_if name='next_tab' op='==' value='details'> class="active"</tmpl_if>> + <a href="#" onclick="return changeTab('details', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='details_txt'}</a> + </li> + <tmpl_if name='pkg_screenshots'> + <li<tmpl_if name='next_tab' op='==' value='screenshots'> class="active"</tmpl_if>> + <a href="#" onclick="return changeTab('screenshots', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='screenshots_txt'}</a> + </li></tmpl_if> + <tmpl_if name='pkg_changelog'> + <li<tmpl_if name='next_tab' op='==' value='changelog'> class="active"</tmpl_if>> + <a href="#" onclick="return changeTab('changelog', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='changelog_txt'}</a> + </li></tmpl_if> + <li<tmpl_if name='next_tab' op='==' value='settings'> class="active"</tmpl_if>> + <a href="#" onclick="return changeTab('settings', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='settings_txt'}</a> + </li> + </ul> +</div> +<p> </p> + +<div class="panel panel_list_packages"> + + <div class="pnl_listarea"> + <table class="list"> + <tbody> + <tmpl_if name='next_tab' op='==' value='details'> + <tr class="tbl_row_uneven"> + <td width="25%">{tmpl_var name='version_txt'}</td> + <td>{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='category_txt'}</td> + <td>{tmpl_var name='pkg_category'}</td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='description_txt'}</td> + <td>{tmpl_var name='pkg_description'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='homepage_txt'}</td> + <td> + <a href="{tmpl_var name='pkg_homepage'}" target="_blank">{tmpl_var name='pkg_homepage'}</a> + </td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='installed_size_txt'}</td> + <td>{tmpl_var name='pkg_installed_size'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='supported_languages_txt'}</td> + <td>{tmpl_var name='pkg_languages'}</td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='config_script_txt'}</td> + <td>{tmpl_var name='pkg_config_script'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='license_txt'}</td> + <td> + <tmpl_if name='pkg_license_name'>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> + <tmpl_if name='pkg_license_type' op='==' value='url'><a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> + <tmpl_elseif name='pkg_license_content'> + <textarea rows="10" cols="80">{tmpl_var name='pkg_license_content'}</textarea> + </tmpl_if> + </td> + </tr> + <tmpl_elseif name='next_tab' op='==' value='screenshots'> + <tmpl_if name='pkg_screenshots'> + <tr class="tbl_row_even"> + <td style="text-align:center;"> + <tmpl_loop name='pkg_screenshots'> + <img src="{tmpl_var name='ScreenPath'}" alt="{tmpl_var name='ScreenDescription'}" /><br /> + <em>{tmpl_var name='ScreenDescription'}</em><br /><br /> + </tmpl_loop> + </td> + </tr> + </tmpl_if> + <tmpl_elseif name='next_tab' op='==' value='changelog'> + <tmpl_if name='pkg_changelog'> + <tr class="tbl_row_even"> + <td> + <ul> + <tmpl_loop name='pkg_changelog'> + <li>{tmpl_var name='ChangelogVersion'}</li> + <ul> + <tmpl_if name='ChangelogDescription'> + <li>{tmpl_var name='ChangelogDescription'}</li> + </tmpl_if> + </ul> + </tmpl_loop> + </ul> + </td> + </tr> + </tmpl_if> + <tmpl_elseif name='next_tab' op='==' value='settings'> + <tr class="tbl_row_uneven"> + <td width="25%">{tmpl_var name='php_extensions_txt'}</td> + <td>{tmpl_var name='pkg_requirements_php_extensions'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='php_settings_txt'}</td> + <td> + <tmpl_loop name='pkg_requirements_php_settings'>{tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}<br /></tmpl_loop> + </td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='supported_php_versions_txt'}</td> + <td>{tmpl_var name='pkg_requirements_supported_php_versions'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='database_txt'}</td> + <td>{tmpl_var name='pkg_requirements_database'}</a></td> + </tr> + </tmpl_if> + </tbody> + </table> + </div> + </div> \ No newline at end of file diff --git a/interface/web/sites/templates/aps_packages_list.htm b/interface/web/sites/templates/aps_packages_list.htm index 1042e71169..4765f2edef 100644 --- a/interface/web/sites/templates/aps_packages_list.htm +++ b/interface/web/sites/templates/aps_packages_list.htm @@ -1,55 +1,55 @@ -<h2>{tmpl_var name="list_head_txt"}</h2> - -<div class="panel panel_list_packages"> - - <div class="pnl_listarea"> - <fieldset><legend>{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})</legend> - <table class="list"> - <thead> - <tr class="caption"> - <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> - <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> - <th class="tbl_col_category" scope="col">{tmpl_var name='category_txt'}</th> - <tmpl_if name='is_admin'> - <th class="tbl_col_package_status" scope="col">{tmpl_var name='status_txt'}</th> - </tmpl_if> - <th class="tbl_col_limit" scope="col"> </th> - </tr> - <tr class="filter"> - <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> - <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> - <td class="tbl_col_customerid"><select name="search_category" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_category'}</select></td> - <tmpl_if name='is_admin'> - <td class="tbl_col_status"><select name="search_package_status" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_package_status'}</select></td> - </tmpl_if> - <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','sites/aps_availablepackages_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_name"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='id'}');">{tmpl_var name='name'}</a></td> - <td class="tbl_col_version">{tmpl_var name='version'}-{tmpl_var name='release'}</td> - <td class="tbl_col_category">{tmpl_var name='category'}</td> - <tmpl_if name='is_admin'> - <td class="tbl_col_status"><a href="javascript:loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=change_status&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='package_status'}</span></a></td> - </tmpl_if> - <td class="tbl_col_buttons"> </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="4">{tmpl_var name='globalsearch_noresults_text_txt'}</td> - </tr> - </tmpl_unless> - </tbody> - <tfoot> - <tr> - <td class="tbl_footer tbl_paging" colspan="5">{tmpl_var name='paging'}</td> - </tr> - </tfoot> - </table> - </fieldset> - </div> - +<h2>{tmpl_var name="list_head_txt"}</h2> + +<div class="panel panel_list_packages"> + + <div class="pnl_listarea"> + <fieldset><legend>{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})</legend> + <table class="list"> + <thead> + <tr class="caption"> + <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> + <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> + <th class="tbl_col_category" scope="col">{tmpl_var name='category_txt'}</th> + <tmpl_if name='is_admin'> + <th class="tbl_col_package_status" scope="col">{tmpl_var name='status_txt'}</th> + </tmpl_if> + <th class="tbl_col_limit" scope="col"> </th> + </tr> + <tr class="filter"> + <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> + <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> + <td class="tbl_col_customerid"><select name="search_category" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_category'}</select></td> + <tmpl_if name='is_admin'> + <td class="tbl_col_status"><select name="search_package_status" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_package_status'}</select></td> + </tmpl_if> + <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','sites/aps_availablepackages_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_name"><a href="#" onclick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='id'}');">{tmpl_var name='name'}</a></td> + <td class="tbl_col_version">{tmpl_var name='version'}-{tmpl_var name='release'}</td> + <td class="tbl_col_category">{tmpl_var name='category'}</td> + <tmpl_if name='is_admin'> + <td class="tbl_col_status"><a href="javascript:loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=change_status&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='package_status'}</span></a></td> + </tmpl_if> + <td class="tbl_col_buttons"> </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="4">{tmpl_var name='globalsearch_noresults_text_txt'}</td> + </tr> + </tmpl_unless> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="5">{tmpl_var name='paging'}</td> + </tr> + </tfoot> + </table> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/sites/templates/database_admin_list.htm b/interface/web/sites/templates/database_admin_list.htm index e4aefdbd87..a7021656e0 100644 --- a/interface/web/sites/templates/database_admin_list.htm +++ b/interface/web/sites/templates/database_admin_list.htm @@ -19,7 +19,6 @@ <tr class="caption"> <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th> <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th> - <th class="tbl_col_type" scope="col"><tmpl_var name="type_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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th> @@ -30,7 +29,6 @@ <tr class="filter"> <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td> <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td> - <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td> @@ -46,7 +44,6 @@ <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>"> <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td> <td class="tbl_col_remote_access"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td> - <td class="tbl_col_type"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td> <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td> <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td> <td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td> @@ -57,7 +54,7 @@ <a class="button icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a> </tmpl_if> <a class="button icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a> - <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_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> + <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_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> @@ -76,4 +73,4 @@ </fieldset> </div> -</div> +</div> \ No newline at end of file diff --git a/interface/web/sites/templates/database_list.htm b/interface/web/sites/templates/database_list.htm index 15a8ae77cf..ec2d55fdb2 100644 --- a/interface/web/sites/templates/database_list.htm +++ b/interface/web/sites/templates/database_list.htm @@ -36,7 +36,6 @@ <tr class="caption"> <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th> <th class="tbl_col_remote_access" scope="col"><tmpl_var name="remote_access_txt"></th> - <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th> <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th> <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th> <th class="tbl_col_database_user_id" scope="col"><tmpl_var name="database_user_txt"></th> @@ -46,7 +45,6 @@ <tr class="filter"> <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td> <td class="tbl_col_remote_access"><select name="search_remote_access">{tmpl_var name='search_remote_access'}</select></td> - <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td> <td class="tbl_col_database_user_id"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td> @@ -61,7 +59,6 @@ <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>"> <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td> <td class="tbl_col_remote_access"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="remote_access"}</a></td> - <td class="tbl_col_type"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td> <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td> <td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td> <td class="tbl_col_database_user"><a href="#" onclick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td> @@ -71,7 +68,7 @@ <a class="button icons16 icoDbAdmin" href="sites/database_phpmyadmin.php?id={tmpl_var name='id'}" target="phpmyadmin"><span>{tmpl_var name='admin_txt'}</span></a> </tmpl_if> <a class="button icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a> - <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_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> + <a class="button icons16 icoDelete" href="javascript: del_record('sites/database_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> @@ -90,4 +87,4 @@ </fieldset> </div> -</div> +</div> \ No newline at end of file diff --git a/interface/web/sites/templates/web_aliasdomain_advanced.htm b/interface/web/sites/templates/web_aliasdomain_advanced.htm index 4c605ca94c..293b871244 100644 --- a/interface/web/sites/templates/web_aliasdomain_advanced.htm +++ b/interface/web/sites/templates/web_aliasdomain_advanced.htm @@ -1,37 +1,37 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_web_domain"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>Options</legend> - <div class="ctrlHolder proxy"> - <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label> - <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"} - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> -<script language="JavaScript" type="text/javascript"> - var webId = jQuery('input[name="id"]').val(); - adjustForm(); - - function adjustForm(){ - jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) { - if(data.redirecttype == "proxy"){ - jQuery('.proxy').show(); - } else { - jQuery('.proxy').hide(); - } - }); - } - +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_web_domain"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"><legend>Options</legend> + <div class="ctrlHolder proxy"> + <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label> + <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"} + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + +</div> +<script language="JavaScript" type="text/javascript"> + var webId = jQuery('input[name="id"]').val(); + adjustForm(); + + function adjustForm(){ + jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) { + if(data.redirecttype == "proxy"){ + jQuery('.proxy').show(); + } else { + jQuery('.proxy').hide(); + } + }); + } + </script> \ No newline at end of file diff --git a/interface/web/sites/templates/web_backup_list.htm b/interface/web/sites/templates/web_backup_list.htm index 55944730b0..3248812e8b 100644 --- a/interface/web/sites/templates/web_backup_list.htm +++ b/interface/web/sites/templates/web_backup_list.htm @@ -13,23 +13,21 @@ <table class="list"> <thead> <tr class="caption"> - <th class="tbl_col_date" scope="col"><tmpl_var name="date_txt"></th> - <th class="tbl_col_date" scope="col"><tmpl_var name="backup_type_txt"></th> - <th class="tbl_col_filename" scope="col"><tmpl_var name="filename_txt"></th> - <th class="tbl_col_filename" scope="col"><tmpl_var name="filesize_txt"></th> - <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th> - </tr> - </thead> + <th class="tbl_col_date" scope="col"><tmpl_var name="date_txt"></th> + <th class="tbl_col_date" scope="col"><tmpl_var name="backup_type_txt"></th> + <th class="tbl_col_filename" scope="col"><tmpl_var name="filename_txt"></th> + <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th> + </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_date">{tmpl_var name="date"}</td> - <td class="tbl_col_date">{tmpl_var name="backup_type"}</td> - <td class="tbl_col_filename">{tmpl_var name="filename"}</td> - <td class="tbl_col_filesize">{tmpl_var name="filesize"}</td> - <td class="tbl_col_buttons"> - <div class="buttons"> - <button class="button iconstxt icoRestore" type="button" onclick="confirm_action('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=restore&backup_id={tmpl_var name='backup_id'}','{tmpl_var name='restore_confirm_txt'}');"><span>{tmpl_var name="restore_backup_txt"}</span></button> + <td class="tbl_col_date">{tmpl_var name="date"}</td> + <td class="tbl_col_date">{tmpl_var name="backup_type"}</td> + <td class="tbl_col_filename">{tmpl_var name="filename"}</td> + <td class="tbl_col_buttons"> + <div class="buttons"> + <button class="button iconstxt icoRestore" type="button" onclick="confirm_action('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=restore&backup_id={tmpl_var name='backup_id'}','{tmpl_var name='restore_confirm_txt'}');"><span>{tmpl_var name="restore_backup_txt"}</span></button> <button class="button iconstxt icoDownload" type="button" onclick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='parent_id'}&next_tab=backup&backup_action=download&backup_id={tmpl_var name='backup_id'}');"><span>{tmpl_var name="download_backup_txt"}</span></button> </div> </td> @@ -42,7 +40,7 @@ </tmpl_unless> </tbody> </table> - </fieldset> - </div> - -</div> + </fieldset> + </div> + +</div> \ No newline at end of file diff --git a/interface/web/sites/templates/web_subdomain_advanced.htm b/interface/web/sites/templates/web_subdomain_advanced.htm index 3924362a36..d2beb4275d 100644 --- a/interface/web/sites/templates/web_subdomain_advanced.htm +++ b/interface/web/sites/templates/web_subdomain_advanced.htm @@ -1,37 +1,37 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_web_subdomain"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>Options</legend> - <div class="ctrlHolder proxy"> - <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label> - <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"} - </div> - </fieldset> - - <input type="hidden" name="id" value="{tmpl_var name='id'}"> - - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> - </div> - </div> - -</div> -<script language="JavaScript" type="text/javascript"> - var webId = jQuery('input[name="id"]').val(); - adjustForm(); - - function adjustForm(){ - jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) { - if(data.redirecttype == "proxy"){ - jQuery('.proxy').show(); - } else { - jQuery('.proxy').hide(); - } - }); - } - -</script> +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_web_subdomain"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"><legend>Options</legend> + <div class="ctrlHolder proxy"> + <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label> + <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea> <b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br> {tmpl_var name="proxy_directive_snippets_txt"} + </div> + </fieldset> + + <input type="hidden" name="id" value="{tmpl_var name='id'}"> + + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_subdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> + </div> + </div> + +</div> +<script language="JavaScript" type="text/javascript"> + var webId = jQuery('input[name="id"]').val(); + adjustForm(); + + function adjustForm(){ + jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) { + if(data.redirecttype == "proxy"){ + jQuery('.proxy').show(); + } else { + jQuery('.proxy').hide(); + } + }); + } + +</script> diff --git a/interface/web/sites/templates/web_vhost_subdomain_redirect.htm b/interface/web/sites/templates/web_vhost_subdomain_redirect.htm index 5f441467be..c00b866748 100644 --- a/interface/web/sites/templates/web_vhost_subdomain_redirect.htm +++ b/interface/web/sites/templates/web_vhost_subdomain_redirect.htm @@ -20,6 +20,10 @@ <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf"> {tmpl_var name='seo_redirect'} </select> + </div> + <div class="ctrlHolder nginx"> + <label for="rewrite_rules">{tmpl_var name='rewrite_rules_txt'}</label> + <textarea name="rewrite_rules" id="rewrite_rules" rows='10' cols='50' style="width:400px;">{tmpl_var name='rewrite_rules'}</textarea> <b>{tmpl_var name="allowed_rewrite_rule_directives_txt"}</b><br><br> break<br> if<br> return<br> rewrite<br> set<br><br> <a href="http://wiki.nginx.org/HttpRewriteModule" target="_blank">http://wiki.nginx.org/HttpRewriteModule</a> </div> </fieldset> @@ -58,6 +62,7 @@ jQuery('#redirect_type option[value="R,L"]').hide(); jQuery('#redirect_type option[value="R=301,L"]').hide(); if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent" && selected != "proxy") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); + jQuery('.nginx').show(); } else { jQuery('#redirect_type option[value="last"]').attr('disabled','disabled'); jQuery('#redirect_type option[value="break"]').attr('disabled','disabled'); @@ -71,6 +76,7 @@ jQuery('#redirect_type option[value="permanent"]').hide(); jQuery('#redirect_type option[value="proxy"]').hide(); if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); + jQuery('.nginx').hide(); } }); } diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 062529fda3..ffc29e84cc 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -259,53 +259,6 @@ class page_action extends tform_actions { // add limits to template to be able to hide settings foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]); - $sites_config = $app->getconf->get_global_config('sites'); - if($sites_config['reseller_can_use_options']) { - // Directive Snippets - $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'"); - $php_directive_snippets_txt = ''; - if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){ - foreach($php_directive_snippets as $php_directive_snippet){ - $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($php_directive_snippet['snippet']).'</pre></a> '; - } - } - if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------'; - $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt); - - if($server_type == 'apache'){ - $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'"); - $apache_directive_snippets_txt = ''; - if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){ - foreach($apache_directive_snippets as $apache_directive_snippet){ - $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($apache_directive_snippet['snippet']).'</pre></a> '; - } - } - if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------'; - $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt); - } - - if($server_type == 'nginx'){ - $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'"); - $nginx_directive_snippets_txt = ''; - if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){ - foreach($nginx_directive_snippets as $nginx_directive_snippet){ - $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($nginx_directive_snippet['snippet']).'</pre></a> '; - } - } - if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------'; - $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt); - } - - $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'"); - $proxy_directive_snippets_txt = ''; - if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){ - foreach($proxy_directive_snippets as $proxy_directive_snippet){ - $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.htmlentities($proxy_directive_snippet['snippet']).'</pre></a> '; - } - } - if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------'; - $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt); - } //* Admin: If the logged in user is admin } else { diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index 97e84f4f59..0322726bc4 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -164,53 +164,6 @@ class page_action extends tform_actions { // add limits to template to be able to hide settings foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]); - $sites_config = $app->getconf->get_global_config('sites'); - if($sites_config['reseller_can_use_options']) { - // Directive Snippets - $php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'"); - $php_directive_snippets_txt = ''; - if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){ - foreach($php_directive_snippets as $php_directive_snippet){ - $php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> '; - } - } - if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------'; - $app->tpl->setVar("php_directive_snippets_txt",$php_directive_snippets_txt); - - if($server_type == 'apache'){ - $apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'"); - $apache_directive_snippets_txt = ''; - if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){ - foreach($apache_directive_snippets as $apache_directive_snippet){ - $apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> '; - } - } - if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------'; - $app->tpl->setVar("apache_directive_snippets_txt",$apache_directive_snippets_txt); - } - - if($server_type == 'nginx'){ - $nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'"); - $nginx_directive_snippets_txt = ''; - if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){ - foreach($nginx_directive_snippets as $nginx_directive_snippet){ - $nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> '; - } - } - if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------'; - $app->tpl->setVar("nginx_directive_snippets_txt",$nginx_directive_snippets_txt); - } - - $proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'"); - $proxy_directive_snippets_txt = ''; - if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){ - foreach($proxy_directive_snippets as $proxy_directive_snippet){ - $proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> '; - } - } - if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------'; - $app->tpl->setVar("proxy_directive_snippets_txt",$proxy_directive_snippets_txt); - } //* Admin: If the logged in user is admin } else { @@ -529,6 +482,62 @@ class page_action extends tform_actions { $app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>'; } } + + // Check rewrite rules + $server_type = $web_config['server_type']; + + if($server_type == 'nginx' && isset($this->dataRecord['rewrite_rules']) && trim($this->dataRecord['rewrite_rules']) != '') { + $rewrite_rules = trim($this->dataRecord['rewrite_rules']); + $rewrites_are_valid = true; + // use this counter to make sure all curly brackets are properly closed + $if_level = 0; + // Make sure we only have Unix linebreaks + $rewrite_rules = str_replace("\r\n", "\n", $rewrite_rules); + $rewrite_rules = str_replace("\r", "\n", $rewrite_rules); + $rewrite_rule_lines = explode("\n", $rewrite_rules); + if(is_array($rewrite_rule_lines) && !empty($rewrite_rule_lines)){ + foreach($rewrite_rule_lines as $rewrite_rule_line){ + // ignore comments + if(substr(ltrim($rewrite_rule_line),0,1) == '#') continue; + // empty lines + if(trim($rewrite_rule_line) == '') continue; + // rewrite + if(preg_match('@^\s*rewrite\s+(^/)?\S+(\$)?\s+\S+(\s+(last|break|redirect|permanent|))?\s*;\s*$@', $rewrite_rule_line)) continue; + // if + if(preg_match('@^\s*if\s+\(\s*\$\S+(\s+(\!?(=|~|~\*))\s+(\S+|\".+\"))?\s*\)\s*\{\s*$@', $rewrite_rule_line)){ + $if_level += 1; + continue; + } + // if - check for files, directories, etc. + if(preg_match('@^\s*if\s+\(\s*\!?-(f|d|e|x)\s+\S+\s*\)\s*\{\s*$@', $rewrite_rule_line)){ + $if_level += 1; + continue; + } + // break + if(preg_match('@^\s*break\s*;\s*$@', $rewrite_rule_line)){ + continue; + } + // return code [ text ] + if(preg_match('@^\s*return\s+\d\d\d.*;\s*$@', $rewrite_rule_line)) continue; + // return code URL + // return URL + if(preg_match('@^\s*return(\s+\d\d\d)?\s+(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*\@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*\s*;\s*$@', $rewrite_rule_line)) continue; + // set + if(preg_match('@^\s*set\s+\$\S+\s+\S+\s*;\s*$@', $rewrite_rule_line)) continue; + // closing curly bracket + if(trim($rewrite_rule_line) == '}'){ + $if_level -= 1; + continue; + } + $rewrites_are_valid = false; + break; + } + } + + if(!$rewrites_are_valid || $if_level != 0){ + $app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>'; + } + } parent::onSubmit(); } @@ -600,4 +609,4 @@ class page_action extends tform_actions { $page = new page_action; $page->onLoad(); -?> +?> \ No newline at end of file diff --git a/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng index cff29d541a..136f5e2273 100644 --- a/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng +++ b/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng @@ -6,3 +6,4 @@ $wb['password_strength_3_txt'] = 'Dobré'; $wb['password_strength_4_txt'] = 'Silné'; $wb['password_strength_5_txt'] = 'Velmi silné'; ?> + diff --git a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng index 52f10189e0..dbfdce3aee 100644 --- a/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng +++ b/interface/web/strengthmeter/lib/lang/de_strengthmeter.lng @@ -6,3 +6,4 @@ $wb['password_strength_3_txt'] = 'Gut'; $wb['password_strength_4_txt'] = 'Stark'; $wb['password_strength_5_txt'] = 'Sehr stark'; ?> + diff --git a/interface/web/temp/empty.dir b/interface/web/temp/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/temp/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css b/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css index e3e05d1d9e..88353fe6a8 100644 --- a/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css +++ b/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css @@ -1,444 +1,444 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - - -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=0px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=0px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } -.ui-widget-content a { color: #222222; } -.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; } -.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=0px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=0px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; } +.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ } \ No newline at end of file diff --git a/interface/web/themes/default-304/css/screen/tipsy.css b/interface/web/themes/default-304/css/screen/tipsy.css index ea735c7627..3d62954088 100644 --- a/interface/web/themes/default-304/css/screen/tipsy.css +++ b/interface/web/themes/default-304/css/screen/tipsy.css @@ -1,25 +1,25 @@ -.tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; } - .tipsy-inner { background-color: #000; color: #FFF; max-width: 350px; padding: 5px 8px 4px 8px; text-align: left; } - - /* Rounded corners */ - .tipsy-inner { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; } - - /* Uncomment for shadow */ - /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/ - - .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; } - - /* Rules to colour arrows */ - .tipsy-arrow-n { border-bottom-color: #000; } - .tipsy-arrow-s { border-top-color: #000; } - .tipsy-arrow-e { border-left-color: #000; } - .tipsy-arrow-w { border-right-color: #000; } - - .tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; } - .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} - .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} - .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } - .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } - .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } - .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; } - .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; } +.tipsy { font-size: 10px; position: absolute; padding: 5px; z-index: 100000; } + .tipsy-inner { background-color: #000; color: #FFF; max-width: 350px; padding: 5px 8px 4px 8px; text-align: left; } + + /* Rounded corners */ + .tipsy-inner { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; } + + /* Uncomment for shadow */ + /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/ + + .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; } + + /* Rules to colour arrows */ + .tipsy-arrow-n { border-bottom-color: #000; } + .tipsy-arrow-s { border-top-color: #000; } + .tipsy-arrow-e { border-left-color: #000; } + .tipsy-arrow-w { border-right-color: #000; } + + .tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; } + .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} + .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} + .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } + .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } + .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } + .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; } + .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; } diff --git a/interface/web/themes/default-304/templates/monitor/show_sys_state.htm b/interface/web/themes/default-304/templates/monitor/show_sys_state.htm index 9a5830c19c..740141b269 100644 --- a/interface/web/themes/default-304/templates/monitor/show_sys_state.htm +++ b/interface/web/themes/default-304/templates/monitor/show_sys_state.htm @@ -1,25 +1,25 @@ -<h2><tmpl_var name="list_head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_sys_state"> - - <div class="pnl_toolsarea"> - <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend> - <div class="buttons"> - <div class="ctrlHolder"> - <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label> - <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')"> - {tmpl_var name='refresh'} - </select> - </div> - </div> - </fieldset> - </div> - - <div class="pnl_formarea"> - <fieldset><legend></legend> - <div class="stateview"><tmpl_var name="state_data"></div> - </fieldset> - </div> - +<h2><tmpl_var name="list_head_txt"></h2> +<p><tmpl_var name="list_desc_txt"></p> + +<div class="panel panel_sys_state"> + + <div class="pnl_toolsarea"> + <fieldset class="inlineLabels"><legend><tmpl_var name="monTransRefreshsq"></legend> + <div class="buttons"> + <div class="ctrlHolder"> + <label for="refreshinterval">{tmpl_var name='refreshinterval_txt'}</label> + <select name="refreshinterval" id="refreshinterval" class="selectInput withicons" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')"> + {tmpl_var name='refresh'} + </select> + </div> + </div> + </fieldset> + </div> + + <div class="pnl_formarea"> + <fieldset><legend></legend> + <div class="stateview"><tmpl_var name="state_data"></div> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/themes/default-304/templates/sites/aps_install_package.htm b/interface/web/themes/default-304/templates/sites/aps_install_package.htm index eeed54f970..e6ce02a445 100644 --- a/interface/web/themes/default-304/templates/sites/aps_install_package.htm +++ b/interface/web/themes/default-304/templates/sites/aps_install_package.htm @@ -1,56 +1,56 @@ -<h2> - {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'} - <span style="float:right"> - <tmpl_if name='pkg_icon' op='!=' value=''> - <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> - </tmpl_if> - </span> -</h2> - -<tmpl_if name='error'> - <div id="errorMsg"><h3>ERROR</h3><ol>{tmpl_var name='error'}</ol></div> -</tmpl_if> - -<div class="panel panel_install_package"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"> - <legend>{tmpl_var name='basic_settings_txt'}</legend> - <div class="ctrlHolder"> - <label for="main_domain">{tmpl_var name='install_location_txt'}</label> - <div class="resetButton">http(s):// </div>DOMAIN_LIST_SPACE<div style="float:left;"> / </div> - <input type="text" name="main_location" id="main_location" value="{tmpl_var name='inp_main_location'}" maxlength="255" class="textInput formLengthHalf" /> - </div> - <tmpl_if name='pkg_requirements_database' op='!=' value=''> - <div class="ctrlHolder"> - <label for="main_database_password">{tmpl_var name='new_database_password_txt'}</label> - <input type="text" class="textInput" name="main_database_password" id="main_database_password" value="{tmpl_var name='inp_main_database_password'}" size="10" maxlength="255" /> - </div> - </tmpl_if> - - PKG_SETTINGS_SPACE - - <legend>{tmpl_var name='license_txt'}</legend> - <div class="ctrlHolder"> - <label for="license">{tmpl_var name='license_txt'}</label> - <tmpl_if name='pkg_license_content' op='==' value=''>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> - <tmpl_if name='pkg_license_type' op='==' value='url'> - <a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> - <tmpl_elseif name='pkg_license_content'> - <textarea rows="10" cols="80" id="license_text">{tmpl_var name='pkg_license_content'}</textarea> - </tmpl_if> - </div> - <div class="ctrlHolder"> - <label for="license">{tmpl_var name='acceptance_txt'}</label> - <input type="checkbox" name="license" id="license" <tmpl_if name='inp_license' op='==' value='true'>checked</tmpl_if> /> {tmpl_var name='acceptance_text'} - </div> - </fieldset> - - <input type="hidden" name="install" value="0" /> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_install'}" name="btn_install" onClick="document.pageForm.install.value=1; submitForm('pageForm','sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"><span>{tmpl_var name='btn_install'}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel'}" onClick="loadContent('aps/availablepackages_list.php');"><span>{tmpl_var name='btn_cancel'}</span></button> - </div> - </div> - +<h2> + {tmpl_var name='installation_txt'}: {tmpl_var name='pkg_name'} {tmpl_var name='pkg_version'}-{tmpl_var name='pkg_release'} + <span style="float:right"> + <tmpl_if name='pkg_icon' op='!=' value=''> + <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> + </tmpl_if> + </span> +</h2> + +<tmpl_if name='error'> + <div id="errorMsg"><h3>ERROR</h3><ol>{tmpl_var name='error'}</ol></div> +</tmpl_if> + +<div class="panel panel_install_package"> + + <div class="pnl_formsarea"> + <fieldset class="inlineLabels"> + <legend>{tmpl_var name='basic_settings_txt'}</legend> + <div class="ctrlHolder"> + <label for="main_domain">{tmpl_var name='install_location_txt'}</label> + <div class="resetButton">http(s):// </div>DOMAIN_LIST_SPACE<div style="float:left;"> / </div> + <input type="text" name="main_location" id="main_location" value="{tmpl_var name='inp_main_location'}" maxlength="255" class="textInput formLengthHalf" /> + </div> + <tmpl_if name='pkg_requirements_database' op='!=' value=''> + <div class="ctrlHolder"> + <label for="main_database_password">{tmpl_var name='new_database_password_txt'}</label> + <input type="text" class="textInput" name="main_database_password" id="main_database_password" value="{tmpl_var name='inp_main_database_password'}" size="10" maxlength="255" /> + </div> + </tmpl_if> + + PKG_SETTINGS_SPACE + + <legend>{tmpl_var name='license_txt'}</legend> + <div class="ctrlHolder"> + <label for="license">{tmpl_var name='license_txt'}</label> + <tmpl_if name='pkg_license_content' op='==' value=''>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> + <tmpl_if name='pkg_license_type' op='==' value='url'> + <a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> + <tmpl_elseif name='pkg_license_content'> + <textarea rows="10" cols="80" id="license_text">{tmpl_var name='pkg_license_content'}</textarea> + </tmpl_if> + </div> + <div class="ctrlHolder"> + <label for="license">{tmpl_var name='acceptance_txt'}</label> + <input type="checkbox" name="license" id="license" <tmpl_if name='inp_license' op='==' value='true'>checked</tmpl_if> /> {tmpl_var name='acceptance_text'} + </div> + </fieldset> + + <input type="hidden" name="install" value="0" /> + <div class="buttonHolder buttons"> + <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_install'}" name="btn_install" onClick="document.pageForm.install.value=1; submitForm('pageForm','sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"><span>{tmpl_var name='btn_install'}</span></button> + <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel'}" onClick="loadContent('aps/availablepackages_list.php');"><span>{tmpl_var name='btn_cancel'}</span></button> + </div> + </div> + </div> \ No newline at end of file diff --git a/interface/web/themes/default-304/templates/sites/aps_instances_list.htm b/interface/web/themes/default-304/templates/sites/aps_instances_list.htm index 6f4ab80e87..640c0bb96c 100644 --- a/interface/web/themes/default-304/templates/sites/aps_instances_list.htm +++ b/interface/web/themes/default-304/templates/sites/aps_instances_list.htm @@ -1,62 +1,62 @@ -<h2>{tmpl_var name="list_head_txt"}</h2> - -<div class="panel panel_list_instances"> - - <div class="pnl_listarea"> - <fieldset><legend>{tmpl_var name="list_head_txt"}</legend> - <table class="list"> - <thead> - <tr> - <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> - <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> - <tmpl_if name='is_noclient'> - <th class="tbl_col_customer" scope="col">{tmpl_var name='customer_txt'}</th> - </tmpl_if> - <th class="tbl_col_installlocation" scope="col">{tmpl_var name='install_location_txt'}</th> - <th class="tbl_col_instancestatus" scope="col">{tmpl_var name='status_txt'}</th> - <th class="tbl_col_buttons" scope="col" > </th> - </tr> - <tr> - <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> - <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> - <tmpl_if name='is_noclient'> - <td class="tbl_col_customer"><input type="text" name="search_customer_name" value="{tmpl_var name='search_customer_name'}" /></td> - </tmpl_if> - <td class="tbl_col_installlocation"> </td> - <td class="tbl_col_instancestatus"><select name="search_instance_status" onChange="submitForm('pageForm','sites/aps_installedpackages_list.php');">{tmpl_var name='search_instance_status'}</select></td> - <td class="tbl_col_buttons"> - <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_installedpackages_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_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='package_name'}</a></td> - <td class="tbl_col_version">{tmpl_var name='package_version'}-{tmpl_var name='package_release'}</td> - <tmpl_if name='is_noclient'> - <td class="tbl_col_customer"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='CustomerID'}');">{tmpl_var name='customer_name'}</a></td> - </tmpl_if> - <td class="tbl_col_installlocation"><a href="http://{tmpl_var name='install_location'}" target="_blank">{tmpl_var name='install_location_short'}</a></td> - <td class="tbl_col_instancestatus"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='instance_status'}</span></td> - <td class="tbl_col_buttons"> - <div class="buttons icons16" style="width:60px;"> - <tmpl_if name='delete_possible'><a class="icons16 icoDelete" href="javascript:if(window.confirm('{tmpl_var name='pkg_delete_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=delete_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if> - <tmpl_if name='reinstall_possible'><a class="icons16 icoEdit" href="javascript:if(window.confirm('{tmpl_var name='pkg_reinstall_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=reinstall_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='reinstall_txt'}</span></a></tmpl_if> - </div> - </td> - </tr> - </tmpl_loop> - </tbody> - <tfoot> - <tr> - <td class="tbl_footer tbl_paging" colspan="6">{tmpl_var name='paging'}</td> - </tr> - </tfoot> - </table> - </fieldset> - </div> - +<h2>{tmpl_var name="list_head_txt"}</h2> + +<div class="panel panel_list_instances"> + + <div class="pnl_listarea"> + <fieldset><legend>{tmpl_var name="list_head_txt"}</legend> + <table class="list"> + <thead> + <tr> + <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> + <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> + <tmpl_if name='is_noclient'> + <th class="tbl_col_customer" scope="col">{tmpl_var name='customer_txt'}</th> + </tmpl_if> + <th class="tbl_col_installlocation" scope="col">{tmpl_var name='install_location_txt'}</th> + <th class="tbl_col_instancestatus" scope="col">{tmpl_var name='status_txt'}</th> + <th class="tbl_col_buttons" scope="col" > </th> + </tr> + <tr> + <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> + <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> + <tmpl_if name='is_noclient'> + <td class="tbl_col_customer"><input type="text" name="search_customer_name" value="{tmpl_var name='search_customer_name'}" /></td> + </tmpl_if> + <td class="tbl_col_installlocation"> </td> + <td class="tbl_col_instancestatus"><select name="search_instance_status" onChange="submitForm('pageForm','sites/aps_installedpackages_list.php');">{tmpl_var name='search_instance_status'}</select></td> + <td class="tbl_col_buttons"> + <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_installedpackages_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_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='package_id'}');">{tmpl_var name='package_name'}</a></td> + <td class="tbl_col_version">{tmpl_var name='package_version'}-{tmpl_var name='package_release'}</td> + <tmpl_if name='is_noclient'> + <td class="tbl_col_customer"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='CustomerID'}');">{tmpl_var name='customer_name'}</a></td> + </tmpl_if> + <td class="tbl_col_installlocation"><a href="http://{tmpl_var name='install_location'}" target="_blank">{tmpl_var name='install_location_short'}</a></td> + <td class="tbl_col_instancestatus"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='instance_status'}</span></td> + <td class="tbl_col_buttons"> + <div class="buttons icons16" style="width:60px;"> + <tmpl_if name='delete_possible'><a class="icons16 icoDelete" href="javascript:if(window.confirm('{tmpl_var name='pkg_delete_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=delete_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if> + <tmpl_if name='reinstall_possible'><a class="icons16 icoEdit" href="javascript:if(window.confirm('{tmpl_var name='pkg_reinstall_confirmation'}')){ loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=reinstall_instance&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}'); }"><span>{tmpl_var name='reinstall_txt'}</span></a></tmpl_if> + </div> + </td> + </tr> + </tmpl_loop> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="6">{tmpl_var name='paging'}</td> + </tr> + </tfoot> + </table> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm b/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm index 18a6fc9e96..351d3ac046 100644 --- a/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm +++ b/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm @@ -1,139 +1,139 @@ -<h2> - <tmpl_if name='pkg_icon' op='!=' value=''> - <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> - </tmpl_if> - {tmpl_var name='pkg_name'} -</h2> -<b>{tmpl_var name='pkg_summary'}</b> -<p> </p> - -<div class="pnl_toolsarea"> - <div class="buttons"> - <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"> - <span>{tmpl_var name='install_package_txt'}</span> - </button> - </div> - <p> </p><p> </p> -</div> - - -<div class="tabbox_tabs"> - <input type="hidden" name="next_tab" value="" /> - <ul> - <li<tmpl_if name='next_tab' op='==' value='details'> class="active"</tmpl_if>> - <a href="javascript:changeTab('details', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='details_txt'}</a> - </li> - <tmpl_if name='pkg_screenshots'> - <li<tmpl_if name='next_tab' op='==' value='screenshots'> class="active"</tmpl_if>> - <a href="javascript:changeTab('screenshots', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='screenshots_txt'}</a> - </li></tmpl_if> - <tmpl_if name='pkg_changelog'> - <li<tmpl_if name='next_tab' op='==' value='changelog'> class="active"</tmpl_if>> - <a href="javascript:changeTab('changelog', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='changelog_txt'}</a> - </li></tmpl_if> - <li<tmpl_if name='next_tab' op='==' value='settings'> class="active"</tmpl_if>> - <a href="javascript:changeTab('settings', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='settings_txt'}</a> - </li> - </ul> -</div> -<p> </p> - -<div class="panel panel_list_packages"> - - <div class="pnl_listarea"> - <table class="list"> - <tbody> - <tmpl_if name='next_tab' op='==' value='details'> - <tr class="tbl_row_uneven"> - <td width="25%">{tmpl_var name='version_txt'}</td> - <td>{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='category_txt'}</td> - <td>{tmpl_var name='pkg_category'}</td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='description_txt'}</td> - <td>{tmpl_var name='pkg_description'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='homepage_txt'}</td> - <td> - <a href="{tmpl_var name='pkg_homepage'}" target="_blank">{tmpl_var name='pkg_homepage'}</a> - </td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='installed_size_txt'}</td> - <td>{tmpl_var name='pkg_installed_size'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='supported_languages_txt'}</td> - <td>{tmpl_var name='pkg_languages'}</td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='config_script_txt'}</td> - <td>{tmpl_var name='pkg_config_script'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='license_txt'}</td> - <td> - <tmpl_if name='pkg_license_name'>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> - <tmpl_if name='pkg_license_type' op='==' value='url'><a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> - <tmpl_elseif name='pkg_license_content'> - <textarea rows="10" cols="80">{tmpl_var name='pkg_license_content'}</textarea> - </tmpl_if> - </td> - </tr> - <tmpl_elseif name='next_tab' op='==' value='screenshots'> - <tmpl_if name='pkg_screenshots'> - <tr class="tbl_row_even"> - <td style="text-align:center;"> - <tmpl_loop name='pkg_screenshots'> - <img src="{tmpl_var name='ScreenPath'}" alt="{tmpl_var name='ScreenDescription'}" /><br /> - <em>{tmpl_var name='ScreenDescription'}</em><br /><br /> - </tmpl_loop> - </td> - </tr> - </tmpl_if> - <tmpl_elseif name='next_tab' op='==' value='changelog'> - <tmpl_if name='pkg_changelog'> - <tr class="tbl_row_even"> - <td> - <ul> - <tmpl_loop name='pkg_changelog'> - <li>{tmpl_var name='ChangelogVersion'}</li> - <ul> - <tmpl_if name='ChangelogDescription'> - <li>{tmpl_var name='ChangelogDescription'}</li> - </tmpl_if> - </ul> - </tmpl_loop> - </ul> - </td> - </tr> - </tmpl_if> - <tmpl_elseif name='next_tab' op='==' value='settings'> - <tr class="tbl_row_uneven"> - <td width="25%">{tmpl_var name='php_extensions_txt'}</td> - <td>{tmpl_var name='pkg_requirements_php_extensions'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='php_settings_txt'}</td> - <td> - <tmpl_loop name='pkg_requirements_php_settings'>{tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}<br /></tmpl_loop> - </td> - </tr> - <tr class="tbl_row_uneven"> - <td>{tmpl_var name='supported_php_versions_txt'}</td> - <td>{tmpl_var name='pkg_requirements_supported_php_versions'}</td> - </tr> - <tr class="tbl_row_even"> - <td>{tmpl_var name='database_txt'}</td> - <td>{tmpl_var name='pkg_requirements_database'}</a></td> - </tr> - </tmpl_if> - </tbody> - </table> - </div> - +<h2> + <tmpl_if name='pkg_icon' op='!=' value=''> + <img src="{tmpl_var name='pkg_icon'}" height="32" width="32" alt="{tmpl_var name='pkg_name'}" style="vertical-align:text-bottom;" /> + </tmpl_if> + {tmpl_var name='pkg_name'} +</h2> +<b>{tmpl_var name='pkg_summary'}</b> +<p> </p> + +<div class="pnl_toolsarea"> + <div class="buttons"> + <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/aps_install_package.php?id={tmpl_var name='pkg_id'}');"> + <span>{tmpl_var name='install_package_txt'}</span> + </button> + </div> + <p> </p><p> </p> +</div> + + +<div class="tabbox_tabs"> + <input type="hidden" name="next_tab" value="" /> + <ul> + <li<tmpl_if name='next_tab' op='==' value='details'> class="active"</tmpl_if>> + <a href="javascript:changeTab('details', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='details_txt'}</a> + </li> + <tmpl_if name='pkg_screenshots'> + <li<tmpl_if name='next_tab' op='==' value='screenshots'> class="active"</tmpl_if>> + <a href="javascript:changeTab('screenshots', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='screenshots_txt'}</a> + </li></tmpl_if> + <tmpl_if name='pkg_changelog'> + <li<tmpl_if name='next_tab' op='==' value='changelog'> class="active"</tmpl_if>> + <a href="javascript:changeTab('changelog', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='changelog_txt'}</a> + </li></tmpl_if> + <li<tmpl_if name='next_tab' op='==' value='settings'> class="active"</tmpl_if>> + <a href="javascript:changeTab('settings', 'sites/aps_packagedetails_show.php?id={tmpl_var name='pkg_id'}');">{tmpl_var name='settings_txt'}</a> + </li> + </ul> +</div> +<p> </p> + +<div class="panel panel_list_packages"> + + <div class="pnl_listarea"> + <table class="list"> + <tbody> + <tmpl_if name='next_tab' op='==' value='details'> + <tr class="tbl_row_uneven"> + <td width="25%">{tmpl_var name='version_txt'}</td> + <td>{tmpl_var name='pkg_version'} (Release {tmpl_var name='pkg_release'})</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='category_txt'}</td> + <td>{tmpl_var name='pkg_category'}</td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='description_txt'}</td> + <td>{tmpl_var name='pkg_description'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='homepage_txt'}</td> + <td> + <a href="{tmpl_var name='pkg_homepage'}" target="_blank">{tmpl_var name='pkg_homepage'}</a> + </td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='installed_size_txt'}</td> + <td>{tmpl_var name='pkg_installed_size'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='supported_languages_txt'}</td> + <td>{tmpl_var name='pkg_languages'}</td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='config_script_txt'}</td> + <td>{tmpl_var name='pkg_config_script'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='license_txt'}</td> + <td> + <tmpl_if name='pkg_license_name'>{tmpl_var name='pkg_license_name'}<br /></tmpl_if> + <tmpl_if name='pkg_license_type' op='==' value='url'><a href="{tmpl_var name='pkg_license_content'}" target="_blank">{tmpl_var name='pkg_license_content'}</a> + <tmpl_elseif name='pkg_license_content'> + <textarea rows="10" cols="80">{tmpl_var name='pkg_license_content'}</textarea> + </tmpl_if> + </td> + </tr> + <tmpl_elseif name='next_tab' op='==' value='screenshots'> + <tmpl_if name='pkg_screenshots'> + <tr class="tbl_row_even"> + <td style="text-align:center;"> + <tmpl_loop name='pkg_screenshots'> + <img src="{tmpl_var name='ScreenPath'}" alt="{tmpl_var name='ScreenDescription'}" /><br /> + <em>{tmpl_var name='ScreenDescription'}</em><br /><br /> + </tmpl_loop> + </td> + </tr> + </tmpl_if> + <tmpl_elseif name='next_tab' op='==' value='changelog'> + <tmpl_if name='pkg_changelog'> + <tr class="tbl_row_even"> + <td> + <ul> + <tmpl_loop name='pkg_changelog'> + <li>{tmpl_var name='ChangelogVersion'}</li> + <ul> + <tmpl_if name='ChangelogDescription'> + <li>{tmpl_var name='ChangelogDescription'}</li> + </tmpl_if> + </ul> + </tmpl_loop> + </ul> + </td> + </tr> + </tmpl_if> + <tmpl_elseif name='next_tab' op='==' value='settings'> + <tr class="tbl_row_uneven"> + <td width="25%">{tmpl_var name='php_extensions_txt'}</td> + <td>{tmpl_var name='pkg_requirements_php_extensions'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='php_settings_txt'}</td> + <td> + <tmpl_loop name='pkg_requirements_php_settings'>{tmpl_var name='PHPSettingName'} = {tmpl_var name='PHPSettingValue'}<br /></tmpl_loop> + </td> + </tr> + <tr class="tbl_row_uneven"> + <td>{tmpl_var name='supported_php_versions_txt'}</td> + <td>{tmpl_var name='pkg_requirements_supported_php_versions'}</td> + </tr> + <tr class="tbl_row_even"> + <td>{tmpl_var name='database_txt'}</td> + <td>{tmpl_var name='pkg_requirements_database'}</a></td> + </tr> + </tmpl_if> + </tbody> + </table> + </div> + </div> \ No newline at end of file diff --git a/interface/web/themes/default-304/templates/sites/aps_packages_list.htm b/interface/web/themes/default-304/templates/sites/aps_packages_list.htm index fe99743039..e7db3e84a4 100644 --- a/interface/web/themes/default-304/templates/sites/aps_packages_list.htm +++ b/interface/web/themes/default-304/templates/sites/aps_packages_list.htm @@ -1,50 +1,50 @@ -<h2>{tmpl_var name="list_head_txt"}</h2> - -<div class="panel panel_list_packages"> - - <div class="pnl_listarea"> - <fieldset><legend>{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})</legend> - <table class="list"> - <thead> - <tr> - <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> - <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> - <th class="tbl_col_category" scope="col">{tmpl_var name='category_txt'}</th> - <tmpl_if name='is_admin'> - <th class="tbl_col_status" scope="col">{tmpl_var name='status_txt'}</th> - </tmpl_if> - <th class="tbl_col_buttons" scope="col" width="60px;"> </th> - </tr> - <tr> - <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> - <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> - <td class="tbl_col_customerid"><select name="search_category" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_category'}</select></td> - <tmpl_if name='is_admin'> - <td class="tbl_col_status"><select name="search_package_status" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_package_status'}</select></td> - </tmpl_if> - <td class="tbl_col_buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_availablepackages_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_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='id'}');">{tmpl_var name='name'}</a></td> - <td class="tbl_col_version">{tmpl_var name='version'}-{tmpl_var name='release'}</td> - <td class="tbl_col_category">{tmpl_var name='category'}</td> - <tmpl_if name='is_admin'> - <td class="tbl_col_status"><a href="javascript:loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=change_status&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='package_status'}</span></a></td> - </tmpl_if> - <td> </td> - </tr> - </tmpl_loop> - </tbody> - <tfoot> - <tr> - <td class="tbl_footer tbl_paging" colspan="5">{tmpl_var name='paging'}</td> - </tr> - </tfoot> - </table> - </fieldset> - </div> - +<h2>{tmpl_var name="list_head_txt"}</h2> + +<div class="panel panel_list_packages"> + + <div class="pnl_listarea"> + <fieldset><legend>{tmpl_var name="list_head_txt"} ({tmpl_var name='package_count'})</legend> + <table class="list"> + <thead> + <tr> + <th class="tbl_col_name" scope="col">{tmpl_var name='name_txt'}</th> + <th class="tbl_col_version" scope="col">{tmpl_var name='version_txt'}</th> + <th class="tbl_col_category" scope="col">{tmpl_var name='category_txt'}</th> + <tmpl_if name='is_admin'> + <th class="tbl_col_status" scope="col">{tmpl_var name='status_txt'}</th> + </tmpl_if> + <th class="tbl_col_buttons" scope="col" width="60px;"> </th> + </tr> + <tr> + <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td> + <td class="tbl_col_version"><input type="text" name="search_version" value="{tmpl_var name='search_version'}" /></td> + <td class="tbl_col_customerid"><select name="search_category" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_category'}</select></td> + <tmpl_if name='is_admin'> + <td class="tbl_col_status"><select name="search_package_status" onChange="submitForm('pageForm','sites/aps_availablepackages_list.php');">{tmpl_var name='search_package_status'}</select></td> + </tmpl_if> + <td class="tbl_col_buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','sites/aps_availablepackages_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_name"><a href="#" onClick="loadContent('sites/aps_packagedetails_show.php?id={tmpl_var name='id'}');">{tmpl_var name='name'}</a></td> + <td class="tbl_col_version">{tmpl_var name='version'}-{tmpl_var name='release'}</td> + <td class="tbl_col_category">{tmpl_var name='category'}</td> + <tmpl_if name='is_admin'> + <td class="tbl_col_status"><a href="javascript:loadContentInto('status_content{tmpl_var name='__ROWNUM__'}', 'sites/aps_do_operation.php?action=change_status&id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');"><span id="status_content{tmpl_var name='__ROWNUM__'}">{tmpl_var name='package_status'}</span></a></td> + </tmpl_if> + <td> </td> + </tr> + </tmpl_loop> + </tbody> + <tfoot> + <tr> + <td class="tbl_footer tbl_paging" colspan="5">{tmpl_var name='paging'}</td> + </tr> + </tfoot> + </table> + </fieldset> + </div> + </div> \ No newline at end of file diff --git a/interface/web/themes/default/CHANGELOG b/interface/web/themes/default/CHANGELOG index 454964210b..cae152a05c 100644 --- a/interface/web/themes/default/CHANGELOG +++ b/interface/web/themes/default/CHANGELOG @@ -1,32 +1,32 @@ -CHANGELOG -default -> default-v2 -source: default $3241 07/06/2012 @ 12:00 UTC+2 -resources @ https://github.com/foe-services/ispc-resources - -- changed doctype to <!DOCTYPE html> (HTML5) -- rm yaml/* -- rm css/patches/* -- cp yaml/patches/iehacks.css css/* -- rm <!--[if lte ie 6]> from templates/main.tpl.htm -- rm IE6 support from css/iehacks.css -- mv css/nav/* into css/style.css -- mv css/print/* into css/print.css -- add css/print.css to templates/main.tpl.htm -- rm css/print/* -- rm css/nav/* -- rm css projection-type support -- mv css/screen/redmond/* css/* -- rm css/screen/* -- mv css media-recognition from css-files to <head>-link tag -- change most div-containers to new html5 tags in main.tpl.htm -- rm dom elements from main.tpl.htm -- add html5shiv.js (https://github.com/aFarkas/html5shiv) for better HTML5-compatibility -- reduction of dom elements -- reduction of css rules -- removed all single icons - - all icons separate: https://github.com/downloads/foe-services/ispc-larry/ispc-default_separate.zip - - all used icons as layers and sprite as .psd: https://github.com/downloads/foe-services/ispc-larry/ispc-default_psd.zip -- added sprites for (nearly) all used icons where suitable -- added flags for country text in lists -- added some list column widths +CHANGELOG +default -> default-v2 +source: default $3241 07/06/2012 @ 12:00 UTC+2 +resources @ https://github.com/foe-services/ispc-resources + +- changed doctype to <!DOCTYPE html> (HTML5) +- rm yaml/* +- rm css/patches/* +- cp yaml/patches/iehacks.css css/* +- rm <!--[if lte ie 6]> from templates/main.tpl.htm +- rm IE6 support from css/iehacks.css +- mv css/nav/* into css/style.css +- mv css/print/* into css/print.css +- add css/print.css to templates/main.tpl.htm +- rm css/print/* +- rm css/nav/* +- rm css projection-type support +- mv css/screen/redmond/* css/* +- rm css/screen/* +- mv css media-recognition from css-files to <head>-link tag +- change most div-containers to new html5 tags in main.tpl.htm +- rm dom elements from main.tpl.htm +- add html5shiv.js (https://github.com/aFarkas/html5shiv) for better HTML5-compatibility +- reduction of dom elements +- reduction of css rules +- removed all single icons + - all icons separate: https://github.com/downloads/foe-services/ispc-larry/ispc-default_separate.zip + - all used icons as layers and sprite as .psd: https://github.com/downloads/foe-services/ispc-larry/ispc-default_psd.zip +- added sprites for (nearly) all used icons where suitable +- added flags for country text in lists +- added some list column widths - limited height (500px) for the globalsearch results \ No newline at end of file diff --git a/interface/web/themes/default/TODO b/interface/web/themes/default/TODO index 177a863336..b39fb99faa 100644 --- a/interface/web/themes/default/TODO +++ b/interface/web/themes/default/TODO @@ -1,8 +1,8 @@ -TODO -- css/print.css is useless in current state -- css/iehacks.css is useless in current state -- some more icons need to be changed into sprites - -- <html dir="ltr" lang="en-US"> set lang variable with data from the user data or config data - +TODO +- css/print.css is useless in current state +- css/iehacks.css is useless in current state +- some more icons need to be changed into sprites + +- <html dir="ltr" lang="en-US"> set lang variable with data from the user data or config data + - Lists of servers in monitor module break in IE7 + IE8 \ No newline at end of file diff --git a/interface/web/themes/default/css/jquery-ui-1.8.16.custom.css b/interface/web/themes/default/css/jquery-ui-1.8.16.custom.css index cf52f36c58..54dfd6573e 100644 --- a/interface/web/themes/default/css/jquery-ui-1.8.16.custom.css +++ b/interface/web/themes/default/css/jquery-ui-1.8.16.custom.css @@ -1,446 +1,446 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - - -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=0px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=0px - */ - - -/* Component containers -----------------------------------*/ -/*.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }*/ -.ui-widget { font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-size: 1em; } -.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } -.ui-widget-content a { color: #222222; } -.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; /*color: #2e6e9e;*/ } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; } -.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - white-space: nowrap; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=0px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=0px + */ + + +/* Component containers +----------------------------------*/ +/*.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }*/ +.ui-widget { font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-size: 1em; } +.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; /*color: #2e6e9e;*/ } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; } +.ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + white-space: nowrap; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ } \ No newline at end of file diff --git a/interface/web/tools/import_plesk.php b/interface/web/tools/import_plesk.php index de8fe7a0b5..a06505cbcb 100644 --- a/interface/web/tools/import_plesk.php +++ b/interface/web/tools/import_plesk.php @@ -122,21 +122,6 @@ function id_hash($id,$levels) { return $hash; } -$COMMANDS = 'unset HISTFILE -MYSERVER="192.168.1.10" -MYSQL_EXPORT_USER="root" -MYSQL_EXPORT_PASS="" -MYSQL_IMPORT_USER="root" -MYSQL_IMPORT_PASS="" -'; - -function add_command($cmd) { - global $COMMANDS; - - $COMMANDS .= $cmd . "\n"; -} - - /* TODO: document root rewrite on ftp account and other home directories */ //* Check permissions for module @@ -235,7 +220,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $params = array( 'company_name' => $entry['cname'], 'contact_name' => $entry['pname'], - 'customer_no' => 'Plesk' . $entry['id'], + //'customer_no' => '', 'username' => $entry['login'], 'password' => $entry['password'], 'language' => substr($entry['locale'], 0, 2), // plesk stores as de-DE or en-US @@ -309,7 +294,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { if($old_client) { $new_id = $old_client['client_id']; - $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, array_merge($old_client, $params)); + $ok = $importer->client_update($session_id, $old_client['client_id'], $reseller_id, $params); if($ok === false) { } @@ -333,7 +318,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $web_config = $app->getconf->get_server_config($server_id,'web'); - $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d WHERE d.parentDomainId = 0"); + $domains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id FROM domains as d"); $dom_ftp_users = array(); $domain_ids = array(); $domain_roots = array(); @@ -471,16 +456,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $msg .= "Domain " . $entry['id'] . " (" . $entry['name'] . ") inserted -> " . $new_id . ".<br />"; - - $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); - $path = $cmd_data['document_root']; - add_command('chattr -i ' . escapeshellarg($path)); - add_command('if [[ -f ' . $path . '/web/index.html ]] ; then rm ' . $path . '/web/index.html ; fi'); - add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/web/'); - add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); - add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --'); - add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); - add_command('chattr +i ' . escapeshellarg($path)); } // add domain to mail domains too @@ -557,7 +532,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $new_id = $old_domain['domain_id']; $params = array_merge($old_domain, $params); $msg .= "Found mail domain with id " . $new_id . ", updating it.<br />"; - $ok = $importer->mail_domain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params); + $ok = $importer->sites_web_aliasdomain_update($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $new_id, $params); if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $new_id = $importer->mail_domain_add($session_id, $plesk_ispc_ids[$domain_owners[$entry['dom_id']]], $params); @@ -573,155 +548,11 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { } } + // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains + $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d"); $subdomain_ids = array(); $subdomain_roots = array(); $subdomain_owners = array(); - - $subdomains = $exdb->queryAllRecords("SELECT d.id, d.cr_date, d.name, d.displayName, d.dns_zone_id, d.status, d.htype, d.real_size, d.cl_id, d.limits_id, d.params_id, d.guid, d.overuse, d.gl_filter, d.vendor_id, d.webspace_id, d.webspace_status, d.permissions_id, d.external_id, d.parentDomainId FROM domains as d WHERE d.parentDomainId != 0"); - foreach($subdomains as $entry) { - $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['id'] . "'"); - $options = array(); - while($opt = $exdb->nextRecord()) { - $options[$opt['param']] = $opt['val']; - } - - $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['parentDomainId'] . "'"); - $redir_type = ''; - $redir_path = ''; - - if($entry['htype'] === 'std_fwd') { - // redirection - $redir = $exdb->queryOneRecord("SELECT f.dom_id, f.ip_address_id, f.redirect FROM forwarding as f WHERE f.dom_id = '" . $entry['id'] . "'"); - $redir_type = 'R,L'; - $redir_path = $redir['redirect']; - } elseif($entry['htype'] === 'vrt_hst') { - // default virtual hosting (vhost) - } else { - /* TODO: unknown type */ - } - - $hosting = $exdb->queryOneRecord("SELECT h.dom_id, h.sys_user_id, h.ip_address_id, h.real_traffic, h.fp, h.fp_ssl, h.fp_enable, h.fp_adm, h.fp_pass, h.ssi, h.php, h.cgi, h.perl, h.python, h.fastcgi, h.miva, h.coldfusion, h.asp, h.asp_dot_net, h.ssl, h.webstat, h.same_ssl, h.traffic_bandwidth, h.max_connection, h.php_handler_type, h.www_root, h.maintenance_mode, h.certificate_id, s.login, s.account_id, s.home, s.shell, s.quota, s.mapped_to, a.password, a.type as `pwtype` FROM hosting as h LEFT JOIN sys_users as s ON (s.id = h.sys_user_id) LEFT JOIN accounts as a ON (s.account_id = a.id) WHERE h.dom_id = '" . $entry['id'] . "'"); - if($hosting['sys_user_id']) { - $dom_ftp_users[] = array('id' => 0, - 'dom_id' => $hosting['dom_id'], - 'sys_user_id' => $hosting['sys_user_id'], - 'login' => $hosting['login'], - 'account_id' => $hosting['account_id'], - 'home' => $hosting['home'], - 'shell' => $hosting['shell'], - 'quota' => $hosting['quota'], - 'mapped_to' => $hosting['mapped_to'], - 'password' => $hosting['password'], - 'pwtype' => $hosting['pwtype'] - ); - } - - $phpmode = 'no'; - if(get_option($hosting, 'php', 'false') === 'true') { - $mode = get_option($hosting, 'php_handler_type', 'module'); - if($mode === 'module') $phpmode = 'mod'; - else $phpmode = 'fast-cgi'; - /* TODO: what other options could be in "php_handler_type"? */ - } - /* TODO: plesk offers some more options: - * sys_user_id -> owner of files? - * ip_address_id - needed? - * fp - frontpage extensions - * miva - ? - * coldfusion - * asp - * asp_dot_net - * traffic_bandwidth - * max_connections - */ - - $web_folder = $hosting['www_root']; - $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder); - - //if(substr($web_folder, 0, 1) === '/') $web_folder = substr($web_folder, 1); - //if(substr($web_folder, -1, 1) === '/') $web_folder = substr($web_folder, 0, -1); - $params = array( - 'server_id' => $server_id, - 'ip_address' => '*', - //'ipv6_address' => '', - 'domain' => $entry['name'], - 'web_folder' => $web_folder, - 'type' => 'vhostsubdomain', // can be vhost or alias - 'parent_domain_id' => $domain_ids[$entry['parentDomainId']], - 'vhost_type' => 'name', // or ip (-based) - 'hd_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'disk_space', -1)), - 'traffic_quota' => byte_to_mbyte(get_limit($limits, $entry['dom_id'], 'max_traffic', -1)), - 'cgi' => yes_no(get_option($hosting, 'cgi', 'false') === 'true' ? 1 : 0), - 'ssi' => yes_no(get_option($hosting, 'ssi', 'false') === 'true' ? 1 : 0), - 'suexec' => yes_no(1), // does plesk use this?! - 'errordocs' => get_option($options, 'apacheErrorDocs', 'false') === 'true' ? 1 : 0, - 'subdomain' => '', // plesk always uses this option - 'ssl' => yes_no(get_option($hosting, 'ssl', 'false') === 'true' ? 1 : 0), - 'php' => $phpmode, - 'fastcgi_php_version' => '', // plesk has no different php versions - 'ruby' => yes_no(0), // plesk has no ruby support - 'python' => yes_no(get_option($hosting, 'python', 'false') === 'true' ? 1 : 0), - 'active' => yes_no(($entry['status'] == 0 && get_option($hosting, 'maintenance_mode', 'false') !== 'true') ? 1 : 0), - 'redirect_type' => $redir_type, - 'redirect_path' => $redir_path, - 'seo_redirect' => '', - 'ssl_state' => $entry[''], - 'ssl_locality' => $entry[''], - 'ssl_organisation' => $entry[''], - 'ssl_organisation_unit' => $entry[''], - 'ssl_country' => $entry[''], - 'ssl_domain' => $entry[''], - 'ssl_request' => $entry[''], - 'ssl_cert' => $entry[''], - 'ssl_bundle' => $entry[''], - 'ssl_action' => $entry[''], - 'stats_password' => '', - 'stats_type' => get_option($hosting, 'webstat', 'webalizer') === 'awstats' ? 'awstats' : 'webalizer', - 'backup_interval' => 'none', - 'backup_copies' => 1, - 'allow_override' => 'All', - 'pm_process_idle_timeout' => 10, - 'pm_max_requests' => 0 - ); - - $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain = '" . $entry['name'] . "'"); - if(!$old_domain) $old_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE CONCAT(subdomain, '.', domain) = '" . $entry['name'] . "'"); - if($old_domain) { - $new_id = $old_domain['domain_id']; - $params = array_merge($old_domain, $params); - $msg .= "Found domain " . $entry['name'] . " with id " . $new_id . ", updating it.<br />"; - $ok = $importer->sites_web_vhost_subdomain_update($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $new_id, $params); - if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; - } else { - $new_id = $importer->sites_web_vhost_subdomain_add($session_id, $plesk_ispc_ids[$parent_domain['cl_id']], $params, true); // read only... - } - - $subdomain_ids[$entry['id']] = $new_id; - $subdomain_roots[$entry['id']] = $hosting['www_root']; - $subdomain_owners[$entry['id']] = $entry['cl_id']; - if($new_id === false) { - //something went wrong here... - $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") with folder \"" . $web_folder . "\" could not be inserted.<br />"; - $msg .= " Error: " . $importer->getFault() . "<br />"; - } else { - $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />"; - - $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); - $path = $cmd_data['document_root']; - add_command('chattr -i ' . escapeshellarg($path)); - add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi'); - add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $hosting['www_root'] . '/ ' . $path . '/' . $web_folder . '/'); - add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); - add_command('grep ' . escapeshellarg($hosting['www_root']) . ' ' . $path . '/web -r -l | xargs replace ' . escapeshellarg($hosting['www_root']) . ' ' . escapeshellarg($path . '/web') . ' --'); - add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); - add_command('chattr +i ' . escapeshellarg($path)); - - } - $domain_ids[$entry['id']] = $new_id; - } - - // subdomains in plesk are real vhosts, so we have to treat them as vhostsubdomains - $subdomains = $exdb->queryAllRecords("SELECT d.id, d.dom_id, d.name, d.displayName, d.sys_user_id, d.ssi, d.php, d.cgi, d.perl, d.python, d.fastcgi, d.miva, d.coldfusion, d.asp, d.asp_dot_net, d.ssl, d.same_ssl, d.php_handler_type, d.www_root, d.maintenance_mode, d.certificate_id FROM subdomains as d"); foreach($subdomains as $entry) { $res = $exdb->query("SELECT d.dom_id, d.param, d.val FROM dom_param as d WHERE d.dom_id = '" . $entry['dom_id'] . "'"); $options = array(); @@ -775,15 +606,12 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { * max_connections */ - $web_folder = $entry['www_root']; - $web_folder = preg_replace('/^\/(var|srv)\/www\/(vhosts\/)?[^\/]+\/(.*)\/httpdocs.*/', '$3', $web_folder); - $params = array( 'server_id' => $server_id, 'ip_address' => '*', //'ipv6_address' => '', 'domain' => $entry['name'] . '.' . $parent_domain['name'], - 'web_folder' => $web_folder, + 'web_folder' => $entry['www_root'], 'type' => 'vhostsubdomain', // can be vhost or alias 'parent_domain_id' => $domain_ids[$entry['dom_id']], 'vhost_type' => 'name', // or ip (-based) @@ -843,15 +671,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $msg .= "Subdomain " . $entry['id'] . " (" . $entry['name'] . ") inserted.<br />"; - - $cmd_data = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = '" . $new_id . "'"); - $path = $cmd_data['document_root']; - add_command('chattr -i ' . escapeshellarg($path)); - add_command('if [[ -f ' . $path . '/' . $web_folder . '/index.html ]] ; then rm ' . $path . '/' . $web_folder . '/index.html ; fi'); - add_command('rsync -av --modify-window 10 --progress -e ssh root@${MYSERVER}:' . $entry['www_root'] . '/ ' . $path . '/' . $web_folder . '/'); - add_command('chown -R ' . $cmd_data['system_user'] . ':' . $cmd_data['system_group'] . ' ' . escapeshellarg($path)); - add_command('chown -R root:root ' . escapeshellarg($path . '/log') . ' ' . escapeshellarg($path . '/ssl') . ' ' . escapeshellarg($path . '/web/stats')); - add_command('chattr +i ' . escapeshellarg($path)); } } @@ -1019,9 +838,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { 'parent_domain_id' => $domain_ids[$entry['dom_id']], 'path' => $entry['path'], 'active' => 'y'); - - $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; - $folder_id = 0; $check = $app->db->queryOneRecord('SELECT * FROM `web_folder` WHERE `parent_domain_id` = \'' . $domain_ids[$entry['dom_id']] . '\' AND `path` = \'' . $app->db->quote($entry['path']) . '\''); if($check) { @@ -1038,18 +854,13 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $folder_ids[$entry['id']] = $folder_id; } - $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password, d.dom_id FROM pd_users as u INNER JOIN protected_dirs as d ON (d.id = u.pd_id) INNER JOIN accounts as a ON (a.id = u.account_id)"); - foreach($pd_users as $entry) { + $pd_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.pd_id, a.password FROM pd_users as u INNER JOIN accounts as a ON (a.id = u.account_id)"); + foreach($protected_dirs as $entry) { $params = array('server_id' => $server_id, 'web_folder_id' => $folder_ids[$entry['pd_id']], 'username' => $entry['login'], 'password' => $entry['password'], 'active' => 'y'); - if($entry['login'] == '' || !isset($folder_ids[$entry['pd_id']])) { - $msg .= 'Skipping Folder user because of missing data.<br />'; - continue; - } - $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; $check = $app->db->queryOneRecord('SELECT * FROM `web_folder_user` WHERE `web_folder_id` = ' . intval($folder_ids[$entry['pd_id']]) . ' AND `username` = \'' . $entry['login'] . '\''); if($check) { @@ -1074,7 +885,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $ftp_users = array_merge($ftp_users, $dom_ftp_users); foreach($ftp_users as $entry) { $parent_domain = $exdb->queryOneRecord("SELECT d.id, d.cl_id, d.name FROM domains as d WHERE d.id = '" . $entry['dom_id'] . "'"); - if(!$entry['id']) continue; + $ispc_dom_id = $domain_ids[$entry['dom_id']]; $client_id = $plesk_ispc_ids[$domain_owners[$entry['dom_id']]]; if(!$client_id) $client_id = 0; @@ -1127,7 +938,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= "FTP Account conflicts with other domain!<br />"; } else { $new_id = $old_ftp['ftp_user_id']; - $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, array_merge($old_ftp, $params)); + $ok = $importer->sites_ftp_user_update($session_id, $client_id, $new_id, $params); if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; } } else { @@ -1200,7 +1011,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT mailuser_id FROM mail_user WHERE email = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'"); if($old_mail) { $new_id = $old_mail['mailuser_id']; - $ok = $importer->mail_user_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); + $ok = $importer->mail_user_update($session_id, $client_id, $new_id, $params); if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $new_id = $importer->mail_user_add($session_id, $client_id, $params); @@ -1212,13 +1023,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $msg .= "Mail " . $entry['id'] . " (" . $entry['mail_name'] . "@" . $parent_domain['name'] . ") inserted/updated.<br />"; - - add_command('rsync -av --delete-after --modify-window 10 --progress -e ssh root@${MYSERVER}:/var/qmail/mailnames/' . $parent_domain['name'] . '/' . strtolower($entry['mail_name']) . '/Maildir/ ' . $maildir . '/Maildir/'); - add_command('chown -R vmail:vmail ' . $maildir); - add_command('chmod 744 ' . $maildir . '/Maildir/subscriptions'); - add_command('chmod 600 ' . $maildir . '/Maildir/dovecot-*'); - add_command('chmod 700 ' . $maildir . '/Maildir/cur ' . $maildir . '/Maildir/new ' . $maildir . '/Maildir/tmp'); - add_command('chmod 600 ' . $maildir . '/Maildir/cur/* ' . $maildir . '/Maildir/new/* ' . $maildir . '/Maildir/tmp/*'); } $mail_ids[$entry['id']] = $new_id; } @@ -1237,7 +1041,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "' AND destination = '" . $redir['address'] . "'"); if($old_mail) { $new_id = $old_mail['forwarding_id']; - $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); + $ok = $importer->mail_forward_update($session_id, $client_id, $new_id, $params); if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $new_id = $importer->mail_forward_add($session_id, $client_id, $params); @@ -1276,7 +1080,7 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $old_mail = $app->db->queryOneRecord("SELECT forwarding_id FROM mail_forwarding WHERE source = '" . $entry['alias'] . "@" . $parent_domain['name'] . "' AND destination = '" . $entry['mail_name'] . "@" . $parent_domain['name'] . "'"); if($old_mail) { $new_id = $old_mail['forwarding_id']; - $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, array_merge($old_mail, $params)); + $ok = $importer->mail_alias_update($session_id, $client_id, $new_id, $params); if($ok === false) $msg .= " Error: " . $importer->getFault() . "<br />"; } else { $new_id = $importer->mail_alias_add($session_id, $client_id, $params); @@ -1304,15 +1108,12 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $db_userids = array(); - $db_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype`, d.dom_id FROM db_users as u INNER JOIN data_bases as d ON (d.id = u.db_id) LEFT JOIN accounts as a ON (a.id = u.account_id)"); + $db_users = $exdb->queryAllRecords("SELECT u.id, u.login, u.account_id, u.db_id, a.password, a.type as `pwtype` FROM db_users as u LEFT JOIN accounts as a ON (a.id = u.account_id)"); foreach($db_users as $db_user) { // database user $params = array('server_id' => $server_id, 'database_user' => $db_user['login'], 'database_password' => $db_user['password']); - - $client_id = $plesk_ispc_ids[$domain_owners[$db_user['dom_id']]]; - $check = $app->db->queryOneRecord('SELECT * FROM `web_database_user` WHERE `database_user` = \'' . $app->db->quote($db_user['login']) . '\''); $db_user_id = 0; if($check) { @@ -1326,8 +1127,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { if(!isset($db_userids[$db_user['db_id']])) $db_userids[$db_user['db_id']] = $db_user_id; $msg .= 'Created / updated database user: ' . $db_user['login'] . '<br />'; } - - add_command('# DATABASES'); $databases = $exdb->queryAllRecords("SELECT d.id, d.name, d.type, d.dom_id, d.db_server_id, d.default_user_id FROM `data_bases` as d"); foreach($databases as $database) { @@ -1342,8 +1141,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { 'active' => 'y', 'remote_ips' => ''); - $client_id = $plesk_ispc_ids[$domain_owners[$database['dom_id']]]; - $check = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_name` = \'' . $app->db->quote($database['name']) . '\''); if($check) { $ok = $importer->sites_database_update($session_id, $client_id, $check['database_id'], array_merge($check, $params)); @@ -1352,9 +1149,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { $importer->sites_database_add($session_id, $client_id, $params); } - add_command('for T in `mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e \'show tables\' | awk \'{ print $1}\' | grep -v \'^Tables\'` ; do echo "DROP TABLE \\`$T\\`" ; mysql -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS} ' . $database['name'] . ' -e "DROP TABLE \\`$T\\`" ; done'); - add_command('mysqldump -cCQ --quote-names --hex-blob -h ${MYSERVER} -u ${MYSQL_EXPORT_USER} -p${MYSQL_EXPORT_PASS} ' . $database['name'] . ' | mysql -D ' . $database['name'] . ' -u ${MYSQL_IMPORT_USER} -p${MYSQL_IMPORT_PASS}'); - $msg .= 'Created / updated database: ' . $database['name'] . '<br />'; } @@ -1393,13 +1187,6 @@ if(isset($_POST['start']) && $_POST['start'] == 1) { id, login, account_id, home, shell, quota, mapped_to */ - add_command('unset MYSERVER'); - add_command('unset MYSQL_EXPORT_USER'); - add_command('unset MYSQL_EXPORT_PASS'); - add_command('unset MYSQL_IMPORT_USER'); - add_command('unset MYSQL_IMPORT_PASS'); - add_command('# END'); - file_put_contents('/tmp/plesk_import_commands.sh', $COMMANDS); } else { $msg .= 'Connecting to external database failed!<br />'; $msg .= $exdb->connect_error; diff --git a/interface/web/tools/import_vpopmail.php b/interface/web/tools/import_vpopmail.php deleted file mode 100644 index cb99794185..0000000000 --- a/interface/web/tools/import_vpopmail.php +++ /dev/null @@ -1,267 +0,0 @@ -<?php -/* -Copyright (c) 2012, Till Brehm, projektfarm Gmbh, ISPConfig UG -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. -*/ - -set_time_limit(0); - -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); - -//* Check permissions for module -$app->auth->check_module_permissions('admin'); - -//* This is only allowed for administrators -if(!$app->auth->is_admin()) die('only allowed for administrators.'); - -$app->uses('tpl,auth'); - -$app->tpl->newTemplate('form.tpl.htm'); -$app->tpl->setInclude('content_tpl', 'templates/import_vpopmail.htm'); -$msg = ''; -$error = ''; - -//* load language file -$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_import_vpopmail.lng'; -include($lng_file); -$app->tpl->setVar($wb); - -if(isset($_POST['db_hostname']) && $_POST['db_hostname'] != '') { - - //* Set external Login details - $conf['imp_db_host'] = $_POST['db_hostname']; - $conf['imp_db_database'] = $_POST['db_name']; - $conf['imp_db_user'] = $_POST['db_user']; - $conf['imp_db_password'] = $_POST['db_password']; - $conf['imp_db_charset'] = 'utf8'; - $conf['imp_db_new_link'] = false; - $conf['imp_db_client_flags'] = 0; - - //* create new db object - $exdb = new db('imp'); - - if($exdb !== false) { - $msg .= 'Databse connection succeeded<br />'; - - $local_server_id = intval($_POST['local_server_id']); - $tmp = $app->db->queryOneRecord("SELECT mail_server FROM server WHERE server_id = $local_server_id"); - - if($tmp['mail_server'] == 1) { - start_import(); - } else { - $msg .= 'The server with the ID $local_server_id is not a mail server.<br />'; - } - - } else { - $msg .= 'Database connection failed<br />'; - } - -} else { - $_POST['local_server_id'] = 1; -} - -$app->tpl->setVar('db_hostname',$_POST['db_hostname']); -$app->tpl->setVar('db_user',$_POST['db_user']); -$app->tpl->setVar('db_password',$_POST['db_password']); -$app->tpl->setVar('db_name',$_POST['db_name']); -$app->tpl->setVar('local_server_id',$_POST['local_server_id']); -$app->tpl->setVar('msg',$msg); -$app->tpl->setVar('error',$error); - -$app->tpl_defaults(); -$app->tpl->pparse(); - -########################################################### - -function start_import() { - global $app, $conf, $msg, $error, $exdb, $local_server_id; - - //* Import the clients - $records = $exdb->queryAllRecords("SELECT * FROM vpopmail WHERE pw_name = 'postmaster'"); - if(is_array($records)) { - foreach($records as $rec) { - $pw_domain = $rec['pw_domain']; - //* Check if we have a client with that username already - $tmp = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE username = '$pw_domain'"); - if($tmp['number'] == 0) { - $pw_crypt_password = $app->auth->crypt_password($rec['pw_clear_passwd']); - $country = 'FI'; - - //* add client - $sql = "INSERT INTO `client` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `company_name`, `company_id`, `contact_name`, `customer_no`, `vat_id`, `street`, `zip`, `city`, `state`, `country`, `telephone`, `mobile`, `fax`, `email`, `internet`, `icq`, `notes`, `bank_account_owner`, `bank_account_number`, `bank_code`, `bank_name`, `bank_account_iban`, `bank_account_swift`, `default_mailserver`, `limit_maildomain`, `limit_mailbox`, `limit_mailalias`, `limit_mailaliasdomain`, `limit_mailforward`, `limit_mailcatchall`, `limit_mailrouting`, `limit_mailfilter`, `limit_fetchmail`, `limit_mailquota`, `limit_spamfilter_wblist`, `limit_spamfilter_user`, `limit_spamfilter_policy`, `default_webserver`, `limit_web_ip`, `limit_web_domain`, `limit_web_quota`, `web_php_options`, `limit_cgi`, `limit_ssi`, `limit_perl`, `limit_ruby`, `limit_python`, `force_suexec`, `limit_hterror`, `limit_wildcard`, `limit_ssl`, `limit_web_subdomain`, `limit_web_aliasdomain`, `limit_ftp_user`, `limit_shell_user`, `ssh_chroot`, `limit_webdav_user`, `limit_aps`, `default_dnsserver`, `limit_dns_zone`, `limit_dns_slave_zone`, `limit_dns_record`, `default_dbserver`, `limit_database`, `limit_cron`, `limit_cron_type`, `limit_cron_frequency`, `limit_traffic_quota`, `limit_client`, `limit_mailmailinglist`, `limit_openvz_vm`, `limit_openvz_vm_template_id`, `parent_client_id`, `username`, `password`, `language`, `usertheme`, `template_master`, `template_additional`, `created_at`, `id_rsa`, `ssh_rsa`) - VALUES(1, 1, 'riud', 'riud', '', '', '', '$pw_domain', '', '', '', '', '', '', '$country', '', '', '', '', 'http://', '', '', '', '', '', '', '', '', 1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 1, NULL, -1, -1, 'no,fast-cgi,cgi,mod,suphp', 'n', 'n', 'n', 'n', 'n', 'y', 'n', 'n', 'n', -1, -1, -1, 0, 'no,jailkit', 0, 0, 1, -1, -1, -1, 1, -1, 0, 'url', 5, -1, 0, -1, 0, 0, 0, '$pw_domain', '$pw_crypt_password', '".$conf['language']."', 'default', 0, '', NOW(), '', '')"; - $app->db->query($sql); - $client_id = $app->db->insertID(); - - //* add sys_group - $groupid = $app->db->datalogInsert('sys_group', "(name,description,client_id) VALUES ('".$app->db->quote($pw_domain)."','',".$client_id.")", 'groupid'); - $groups = $groupid; - - $username = $app->db->quote($pw_domain); - $password = $pw_crypt_password; - $modules = $conf['interface_modules_enabled']; - $startmodule = 'dashboard'; - $usertheme = $app->db->quote('default'); - $type = 'user'; - $active = 1; - $language = $app->db->quote($conf["language"]); - //$password = $app->auth->crypt_password($password); - - // Create the controlpaneluser for the client - //Generate ssh-rsa-keys - exec('ssh-keygen -t rsa -C '.$username.'-rsa-key-'.time().' -f /tmp/id_rsa -N ""'); - $app->db->query("UPDATE client SET created_at = ".time().", id_rsa = '".$app->db->quote(@file_get_contents('/tmp/id_rsa'))."', ssh_rsa = '".$app->db->quote(@file_get_contents('/tmp/id_rsa.pub'))."' WHERE client_id = ".$client_id); - exec('rm -f /tmp/id_rsa /tmp/id_rsa.pub'); - - // Create the controlpaneluser for the client - $sql = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id) - VALUES ('$username','$password','$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,".$client_id.")"; - $app->db->query($sql); - - //* Set the default servers - $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); - $default_mailserver = $app->functions->intval($tmp['server_id']); - $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); - $default_webserver = $app->functions->intval($tmp['server_id']); - $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); - $default_dnsserver = $app->functions->intval($tmp['server_id']); - $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 LIMIT 0,1'); - $default_dbserver = $app->functions->intval($tmp['server_id']); - - $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$client_id; - $app->db->query($sql); - - $msg .= "Added Client $username.<br />"; - } else { - $msg .= "Client $username exists, skipped.<br />"; - } - } - } - - //* Import the mail domains - $records = $exdb->queryAllRecords("SELECT DISTINCT pw_domain FROM `vpopmail`"); - if(is_array($records)) { - foreach($records as $rec) { - $domain = $rec['pw_domain']; - - //* Check if domain exists already - $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM mail_domain WHERE domain = '$domain'"); - if($tmp['number'] == 0) { - $user_rec = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE username = '$domain'"); - $sys_userid = ($user_rec['userid'] > 0)?$user_rec['userid']:1; - $sys_groupid = ($user_rec['default_group'] > 0)?$user_rec['default_group']:1; - - $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `domain`, `active`) - VALUES(".$sys_userid.", ".$sys_groupid.", 'riud', 'riud', '', $local_server_id, '$domain', 'y')"; - $app->db->datalogInsert('mail_domain', $sql, 'domain_id'); - $msg .= "Imported domain $domain <br />"; - } else { - $msg .= "Skipped domain $domain <br />"; - } - } - } - - //* Import mailboxes - $records = $exdb->queryAllRecords("SELECT * FROM `vpopmail`"); - if(is_array($records)) { - foreach($records as $rec) { - $domain = $rec['pw_domain']; - $email = $rec['pw_name'].'@'.$rec['pw_domain']; - - //* Check for duplicate mailboxes - $tmp = $app->db->queryOneRecord("SELECT count(mailuser_id) as number FROM mail_user WHERE email = '".$app->db->quote($email)."'"); - - if($tmp['number'] == 0) { - - //* get the mail domain for the mailbox - $domain_rec = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = '$domain'"); - - if(is_array($domain_rec)) { - $pw_crypt_password = $app->auth->crypt_password($rec['pw_clear_passwd']); - $maildir_path = "/var/vmail/".$rec['pw_domain']."/".$rec['pw_name']; - - //* Insert the mailbox - $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `email`, `login`, `password`, `name`, `uid`, `gid`, `maildir`, `quota`, `cc`, `homedir`, `autoresponder`, `autoresponder_start_date`, `autoresponder_end_date`, `autoresponder_subject`, `autoresponder_text`, `move_junk`, `custom_mailfilter`, `postfix`, `access`, `disableimap`, `disablepop3`, `disabledeliver`, `disablesmtp`, `disablesieve`, `disablelda`, `disabledoveadm`) - VALUES(".$domain_rec['sys_userid'].", ".$domain_rec['sys_groupid'].", 'riud', 'riud', '', $local_server_id, '$email', '$email', '$pw_crypt_password', '$email', 5000, 5000, '$maildir_path', 0, '', '/var/vmail', 'n', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'Out of office reply', '', 'n', '', 'y', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n')"; - $app->db->datalogInsert('mail_user', $sql, 'mailuser_id'); - $msg .= "Imported mailbox $email <br />"; - } - }else { - $msg .= "Skipped mailbox $email <br />"; - } - } - } - - //* Import Aliases - $records = $exdb->queryAllRecords("SELECT * FROM `valias`"); - if(is_array($records)) { - foreach($records as $rec) { - - $email = $rec['alias'].'@'.$rec['domain']; - $target = ''; - - if(stristr($rec['valias_line'],'|')) { - //* Skipped - $msg .= "Skipped $email as target is a script pipe.<br />"; - } elseif (substr(trim($rec['valias_line']),-9) == '/Maildir/') { - $parts = explode('/',$rec['valias_line']); - $target_user = $parts[count($parts)-3]; - $target_domain = $parts[count($parts)-4]; - $target = $target_user.'@'.$target_domain; - } elseif (substr(trim($rec['valias_line']),0,1) == '&') { - $target = substr(trim($rec['valias_line']),1); - } elseif (stristr($rec['valias_line'],'@')) { - $target = $rec['valias_line']; - } else { - //* Unknown - $msg .= "Skipped $email as format of target ".$rec['valias_line']." is unknown.<br />"; - } - - //* Check for duplicate forwards - $tmp = $app->db->queryOneRecord("SELECT count(forwarding_id) as number FROM mail_forwarding WHERE source = '".$app->db->quote($email)."' AND destination = '".$app->db->quote($target)."'"); - - if($tmp['number'] == 0 && $target != '') { - - //* get the mail domain - $domain_rec = $app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = '".$rec['domain']."'"); - - if(is_array($domain_rec)) { - $sql = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `source`, `destination`, `type`, `active`) - VALUES(".$domain_rec['sys_userid'].", ".$domain_rec['sys_groupid'].", 'riud', 'riud', '', $local_server_id, '".$app->db->quote($email)."', '".$app->db->quote($target)."', 'forward', 'y')"; - $app->db->datalogInsert('mail_forwarding', $sql, 'forwarding_id'); - } - $msg .= "Imported alias $email.<br />"; - } else { - $msg .= "Skipped alias $email as it exists already.<br />"; - } - } - } - -} - - -?> diff --git a/interface/web/tools/lib/interface.d/tpl_default.menu.php b/interface/web/tools/lib/interface.d/tpl_default.menu.php index f55b480e8c..7b8555c609 100644 --- a/interface/web/tools/lib/interface.d/tpl_default.menu.php +++ b/interface/web/tools/lib/interface.d/tpl_default.menu.php @@ -1,8 +1,8 @@ -<?php - -// No settings yet -//$items[] = array( 'title' => 'Default Theme', -// 'target' => 'content', -// 'link' => 'tools/tpl_default.php', -// 'html_id' => 'tpl_default'); -?> +<?php + +// No settings yet +//$items[] = array( 'title' => 'Default Theme', +// 'target' => 'content', +// 'link' => 'tools/tpl_default.php', +// 'html_id' => 'tpl_default'); +?> diff --git a/interface/web/tools/lib/lang/cz.lng b/interface/web/tools/lib/lang/cz.lng index 66bcaf49ae..2379ffb8e5 100644 --- a/interface/web/tools/lib/lang/cz.lng +++ b/interface/web/tools/lib/lang/cz.lng @@ -11,3 +11,4 @@ $wb['ISPConfig 3 mail'] = 'ISPConfig 3 vzdalený e-mail server'; $wb['PDNS Tupa'] = 'PowerDNS Tupa'; $wb['Interface'] = 'RozhranÃ'; ?> + diff --git a/interface/web/tools/lib/lang/cz_import_ispconfig.lng b/interface/web/tools/lib/lang/cz_import_ispconfig.lng index 8ebf71795c..97d213ad82 100644 --- a/interface/web/tools/lib/lang/cz_import_ispconfig.lng +++ b/interface/web/tools/lib/lang/cz_import_ispconfig.lng @@ -21,3 +21,4 @@ $wb['import_forward_txt'] = 'Import forward'; $wb['import_user_filter_txt'] = 'Importovat uživatelský filter'; $wb['import_spamfilter_txt'] = 'Importovat spamový filter'; ?> + diff --git a/interface/web/tools/lib/lang/cz_import_vpopmail.lng b/interface/web/tools/lib/lang/cz_import_vpopmail.lng new file mode 100644 index 0000000000..c794425b08 --- /dev/null +++ b/interface/web/tools/lib/lang/cz_import_vpopmail.lng @@ -0,0 +1,8 @@ +<?php +$wb['head_txt'] = 'Importovat e-mailové konfigurace z Vpopmail'; +$wb['legend_txt'] = 'Remote database server connection details'; +$wb['btn_start_txt'] = 'Spustit import'; +$wb['btn_connect_txt'] = 'PÅ™ipojit ke vzdálenému serveru'; +$wb['btn_cancel_txt'] = 'ZruÅ¡it'; +?> + diff --git a/interface/web/tools/lib/lang/cz_index.lng b/interface/web/tools/lib/lang/cz_index.lng index 5ebf1ec341..c3db96e19d 100644 --- a/interface/web/tools/lib/lang/cz_index.lng +++ b/interface/web/tools/lib/lang/cz_index.lng @@ -2,3 +2,4 @@ $wb['page_head_txt'] = 'ISPConfig nástroje'; $wb['page_desc_txt'] = 'ZmÄ›na uživatelského nastavenÃ'; ?> + diff --git a/interface/web/tools/lib/lang/cz_interface.lng b/interface/web/tools/lib/lang/cz_interface.lng index 507b7c3cbe..1ac22ec6ca 100644 --- a/interface/web/tools/lib/lang/cz_interface.lng +++ b/interface/web/tools/lib/lang/cz_interface.lng @@ -5,3 +5,4 @@ $wb['language_txt'] = 'Jazyk'; $wb['startmodule_txt'] = 'Výchozà modul po pÅ™ihlášenÃ'; $wb['app_theme_txt'] = 'Výchozà grafické téma'; ?> + diff --git a/interface/web/tools/lib/lang/cz_resync.lng b/interface/web/tools/lib/lang/cz_resync.lng index 96d622e28a..ff1e3a586a 100644 --- a/interface/web/tools/lib/lang/cz_resync.lng +++ b/interface/web/tools/lib/lang/cz_resync.lng @@ -11,3 +11,4 @@ $wb['resync_dns_txt'] = 'Resynchronizovat DNS záznamy'; $wb['btn_start_txt'] = 'Zahájit'; $wb['btn_cancel_txt'] = 'ZruÅ¡it'; ?> + diff --git a/interface/web/tools/lib/lang/cz_tpl_default.lng b/interface/web/tools/lib/lang/cz_tpl_default.lng index 0f037f1590..fb77e7cb0a 100644 --- a/interface/web/tools/lib/lang/cz_tpl_default.lng +++ b/interface/web/tools/lib/lang/cz_tpl_default.lng @@ -5,3 +5,4 @@ $wb['no_settings_txt'] = 'Nejsou žádné nastavenà pro výchozà motiv.'; $wb['btn_start_txt'] = 'Uložit'; $wb['btn_cancel_txt'] = 'ZpÄ›t'; ?> + diff --git a/interface/web/tools/lib/lang/cz_usersettings.lng b/interface/web/tools/lib/lang/cz_usersettings.lng index dec46b7a06..eb3599b851 100644 --- a/interface/web/tools/lib/lang/cz_usersettings.lng +++ b/interface/web/tools/lib/lang/cz_usersettings.lng @@ -10,3 +10,4 @@ $wb['repeat_password_txt'] = 'Opakujte heslo'; $wb['password_mismatch_txt'] = 'Hesla se neshodujÃ.'; $wb['password_match_txt'] = 'Hesla se shodujÃ.'; ?> + diff --git a/interface/web/tools/lib/lang/de.lng b/interface/web/tools/lib/lang/de.lng index 5a1c501cb5..62e0debc46 100644 --- a/interface/web/tools/lib/lang/de.lng +++ b/interface/web/tools/lib/lang/de.lng @@ -11,3 +11,4 @@ $wb['Import'] = 'Importieren'; $wb['ISPConfig 3 mail'] = 'ISPConfig 3 E-Mail'; $wb['PDNS Tupa'] = 'PowerDNS Tupa'; ?> + diff --git a/interface/web/tools/lib/lang/de_import_ispconfig.lng b/interface/web/tools/lib/lang/de_import_ispconfig.lng index d8ae6cf1a7..eb3a8cf012 100644 --- a/interface/web/tools/lib/lang/de_import_ispconfig.lng +++ b/interface/web/tools/lib/lang/de_import_ispconfig.lng @@ -21,3 +21,4 @@ $wb['import_forward_txt'] = 'Weiterleitungen importieren'; $wb['import_user_filter_txt'] = 'Benutzer Filter importieren'; $wb['import_spamfilter_txt'] = 'Spamfilter importieren'; ?> + diff --git a/interface/web/tools/lib/lang/de_index.lng b/interface/web/tools/lib/lang/de_index.lng index 8cde04515e..0bfbcc7c13 100644 --- a/interface/web/tools/lib/lang/de_index.lng +++ b/interface/web/tools/lib/lang/de_index.lng @@ -2,3 +2,4 @@ $wb['page_head_txt'] = 'ISPConfig Einstellungen'; $wb['page_desc_txt'] = 'Benutzereinstellungen ändern'; ?> + diff --git a/interface/web/tools/lib/lang/de_interface.lng b/interface/web/tools/lib/lang/de_interface.lng index 2af008f763..4ec5d9d870 100644 --- a/interface/web/tools/lib/lang/de_interface.lng +++ b/interface/web/tools/lib/lang/de_interface.lng @@ -5,3 +5,4 @@ $wb['language_txt'] = 'Sprache'; $wb['startmodule_txt'] = 'Startmodul'; $wb['app_theme_txt'] = 'Design'; ?> + diff --git a/interface/web/tools/lib/lang/de_resync.lng b/interface/web/tools/lib/lang/de_resync.lng index 0387ae6265..cf858b7df1 100644 --- a/interface/web/tools/lib/lang/de_resync.lng +++ b/interface/web/tools/lib/lang/de_resync.lng @@ -11,3 +11,4 @@ $wb['resync_dns_txt'] = 'DNS Einträge'; $wb['btn_start_txt'] = 'Start'; $wb['btn_cancel_txt'] = 'Zurück'; ?> + diff --git a/interface/web/tools/lib/lang/de_tpl_default.lng b/interface/web/tools/lib/lang/de_tpl_default.lng index 45de148b39..40cfdc02aa 100644 --- a/interface/web/tools/lib/lang/de_tpl_default.lng +++ b/interface/web/tools/lib/lang/de_tpl_default.lng @@ -5,3 +5,4 @@ $wb['btn_cancel_txt'] = 'Zurück'; $wb['list_head_txt'] = 'Standard Design Einstellungen'; $wb['list_desc_txt'] = 'Spezielle Optionen des standard Designs ändern'; ?> + diff --git a/interface/web/tools/lib/lang/de_usersettings.lng b/interface/web/tools/lib/lang/de_usersettings.lng index 908bbf6d5b..167a0f7dfe 100644 --- a/interface/web/tools/lib/lang/de_usersettings.lng +++ b/interface/web/tools/lib/lang/de_usersettings.lng @@ -10,3 +10,4 @@ $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.'; ?> + diff --git a/interface/web/tools/lib/lang/el.lng b/interface/web/tools/lib/lang/el.lng index 0f44f7013a..80e6295934 100644 --- a/interface/web/tools/lib/lang/el.lng +++ b/interface/web/tools/lib/lang/el.lng @@ -4,10 +4,10 @@ $wb['Settings'] = 'Ρυθμίσεις'; $wb['ISPConfig Tools'] = 'ΕÏγαλεία ISPConfig'; $wb['Password and Language'] = 'Συνθηματικό και Γλώσσα'; $wb['ispconfig_tools_note'] = 'Το άÏθÏωμα σας επιτÏÎπει να αλλάξετε το συνθηματικό και την γλώσσα και να ξεκινήσετε Îναν επανασυγχÏονισμό των εγγÏαφών DNS.'; -$wb['Resync'] = 'Resync'; -$wb['Sync Tools'] = 'Sync Tools'; -$wb['Import'] = 'Import'; +$wb['Resync'] = 'ΕπανασυγχÏονισμός'; +$wb['Sync Tools'] = 'ΕÏγαλεία ΣυγχÏονισμοÏ'; +$wb['Import'] = 'Εισαγωγή'; $wb['ISPConfig 3 mail'] = 'ISPConfig 3 mail'; $wb['PDNS Tupa'] = 'PowerDNS Tupa'; -$wb['Interface'] = 'Interface'; +$wb['Interface'] = 'Διεπαφή'; ?> diff --git a/interface/web/tools/lib/lang/el_import_ispconfig.lng b/interface/web/tools/lib/lang/el_import_ispconfig.lng index ce47c4da4d..1c80ac6db1 100644 --- a/interface/web/tools/lib/lang/el_import_ispconfig.lng +++ b/interface/web/tools/lib/lang/el_import_ispconfig.lng @@ -1,23 +1,23 @@ <?php -$wb['head_txt'] = 'Import email configuration from ISPConfig 3'; -$wb['legend_txt'] = 'Remote server connection details'; -$wb['legend2_txt'] = 'Import email domain'; -$wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; -$wb['resync_shell_txt'] = 'Resync shell users'; -$wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; -$wb['resync_mailbox_txt'] = 'Resync Mailboxes'; -$wb['resync_dns_txt'] = 'Resync DNS records'; -$wb['btn_start_txt'] = 'Start Import'; -$wb['btn_connect_txt'] = 'Connect to remote server'; -$wb['btn_cancel_txt'] = 'Cancel'; -$wb['client_group_id_txt'] = 'Local client'; -$wb['mail_domain_txt'] = 'Remote email domain'; -$wb['import_mailbox_txt'] = 'Import mailbox'; -$wb['import_aliasdomain_txt'] = 'Import alias domain'; -$wb['import_alias_txt'] = 'Import email alias'; -$wb['import_forward_txt'] = 'Import forward'; -$wb['import_user_filter_txt'] = 'Import user filter'; -$wb['import_spamfilter_txt'] = 'Import spamfilter'; +$wb['head_txt'] = 'Εισαγωγή Ïυθμίσεων email από ISPConfig 3'; +$wb['legend_txt'] = 'ΛεπτομÎÏειες σÏνδεσης απομακÏυσμÎνου server'; +$wb['legend2_txt'] = 'Εισαγωγή domain email'; +$wb['resync_sites_txt'] = 'ΕπανασυγχÏονισμός Websites'; +$wb['resync_ftp_txt'] = 'ΕπανασυγχÏονισμός χÏηστών FTP'; +$wb['resync_shell_txt'] = 'ΕπανασυγχÏονισμός χÏηστών shell'; +$wb['resync_cron_txt'] = 'ΕπανασυγχÏονισμός εÏγασιών cron'; +$wb['resync_db_txt'] = 'ΕπανασυγχÏονισμός Ïυθμίσεων ΒΔ πελατών'; +$wb['resync_mailbox_txt'] = 'ΕπανασυγχÏονισμός θυÏίδων Mail'; +$wb['resync_dns_txt'] = 'ΕπανασυγχÏονισμός εγγÏαφών DNS'; +$wb['btn_start_txt'] = 'Εκκίνηση Εισαγωγής'; +$wb['btn_connect_txt'] = 'ΣÏνδεση στον απομακÏυσμÎνο server'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; +$wb['client_group_id_txt'] = 'Τοπικός πελάτης'; +$wb['mail_domain_txt'] = 'ΑπομακÏυσμÎνο domain email'; +$wb['import_mailbox_txt'] = 'Εισαγωγή θυÏίδας mail'; +$wb['import_aliasdomain_txt'] = 'Εισαγωγή ψευδωνÏμου domain'; +$wb['import_alias_txt'] = 'Εισαγωγή ψευδωνÏμου email'; +$wb['import_forward_txt'] = 'Εισαγωγή Ï€Ïοώθησης'; +$wb['import_user_filter_txt'] = 'Εισαγωγή φίλτÏων χÏήστη'; +$wb['import_spamfilter_txt'] = 'Εισαγωγή φίλτÏων spam'; ?> diff --git a/interface/web/tools/lib/lang/el_index.lng b/interface/web/tools/lib/lang/el_index.lng index a3ef38f219..ce794cc9df 100644 --- a/interface/web/tools/lib/lang/el_index.lng +++ b/interface/web/tools/lib/lang/el_index.lng @@ -1,4 +1,4 @@ <?php -$wb['page_head_txt'] = 'ISPConfig Tools'; -$wb['page_desc_txt'] = 'Change user settings'; +$wb['page_head_txt'] = 'ΕÏγαλεία ISPConfig'; +$wb['page_desc_txt'] = 'Αλλαγή Ïυθμίσεων χÏήστη'; ?> diff --git a/interface/web/tools/lib/lang/el_interface.lng b/interface/web/tools/lib/lang/el_interface.lng index aab4fc89ff..9b53146eeb 100644 --- a/interface/web/tools/lib/lang/el_interface.lng +++ b/interface/web/tools/lib/lang/el_interface.lng @@ -1,7 +1,7 @@ <?php -$wb['interface_head_txt'] = 'Interface Settings'; -$wb['interface_desc_txt'] = 'Modify your interface'; -$wb['language_txt'] = 'Language'; -$wb['startmodule_txt'] = 'Startmodule'; -$wb['app_theme_txt'] = 'Design'; +$wb['interface_head_txt'] = 'Ρυθμίσεις διεπαφής'; +$wb['interface_desc_txt'] = 'ΤÏοποποιήστε την διεπαφή σας'; +$wb['language_txt'] = 'Γλώσσα'; +$wb['startmodule_txt'] = 'ΆÏθÏωμα Εκκίνησης'; +$wb['app_theme_txt'] = 'Σχεδίαση'; ?> diff --git a/interface/web/tools/lib/lang/el_resync.lng b/interface/web/tools/lib/lang/el_resync.lng index ed94767208..74b2a460e6 100644 --- a/interface/web/tools/lib/lang/el_resync.lng +++ b/interface/web/tools/lib/lang/el_resync.lng @@ -1,13 +1,13 @@ <?php -$wb['head_txt'] = 'Resync Tool'; -$wb['legend_txt'] = 'Resync'; -$wb['resync_sites_txt'] = 'Resync Websites'; -$wb['resync_ftp_txt'] = 'Resync FTP users'; -$wb['resync_shell_txt'] = 'Resync shell users'; -$wb['resync_cron_txt'] = 'Resync cronjobs'; -$wb['resync_db_txt'] = 'Resync clientdb config'; -$wb['resync_mailbox_txt'] = 'Resync Mailboxes'; -$wb['resync_dns_txt'] = 'Resync DNS records'; -$wb['btn_start_txt'] = 'Start'; -$wb['btn_cancel_txt'] = 'Cancel'; +$wb['head_txt'] = 'ΕÏγαλείο επανασυγχÏονισμοÏ'; +$wb['legend_txt'] = 'ΕπανασυγχÏονισμός'; +$wb['resync_sites_txt'] = 'ΕπανασυγχÏονισμός Websites'; +$wb['resync_ftp_txt'] = 'ΕπανασυγχÏονισμός χÏηστών FTP'; +$wb['resync_shell_txt'] = 'ΕπανασυγχÏονισμός χÏηστών shell'; +$wb['resync_cron_txt'] = 'ΕπανασυγχÏονισμός εÏγασιών cron'; +$wb['resync_db_txt'] = 'ΕπανασυγχÏονισμός Ïυθμίσεων ΒΔ πελατών'; +$wb['resync_mailbox_txt'] = 'ΕπανασυγχÏονισμός θυÏίδων Mail'; +$wb['resync_dns_txt'] = 'ΕπανασυγχÏονισμός εγγÏαφών DNS'; +$wb['btn_start_txt'] = 'Εκκίνηση'; +$wb['btn_cancel_txt'] = 'ΆκυÏο'; ?> diff --git a/interface/web/tools/lib/lang/el_tpl_default.lng b/interface/web/tools/lib/lang/el_tpl_default.lng index c06246304d..45c78e9a46 100644 --- a/interface/web/tools/lib/lang/el_tpl_default.lng +++ b/interface/web/tools/lib/lang/el_tpl_default.lng @@ -1,7 +1,7 @@ <?php -$wb['list_head_txt'] = 'Default Theme settings'; -$wb['list_desc_txt'] = 'Modify default-theme specific options'; -$wb['no_settings_txt'] = 'There are no settings for the default theme.'; -$wb['btn_start_txt'] = 'Save'; -$wb['btn_cancel_txt'] = 'Back'; +$wb['list_head_txt'] = 'Î ÏοεπιλεγμÎνες Ïυθμίσεις θεματικής παÏαλλαγής'; +$wb['list_desc_txt'] = 'ΠαÏαμετÏοποίηση Ïυθμίσεων Î ÏοεπιλεγμÎνης θεματικής παÏαλλαγής'; +$wb['no_settings_txt'] = 'Δεν υπάÏχουν Ïυθμίσεις για την Î ÏοεπιλεγμÎνη θεματική παÏαλλαγή.'; +$wb['btn_start_txt'] = 'Αποθήκευση'; +$wb['btn_cancel_txt'] = 'ΕπιστÏοφή'; ?> diff --git a/interface/web/tools/lib/lang/el_usersettings.lng b/interface/web/tools/lib/lang/el_usersettings.lng index d2321b04bc..55f24e9db0 100644 --- a/interface/web/tools/lib/lang/el_usersettings.lng +++ b/interface/web/tools/lib/lang/el_usersettings.lng @@ -1,12 +1,12 @@ <?php $wb['passwort_txt'] = 'Συνθηματικό'; -$wb['password_strength_txt'] = 'ΔÏναμη συνθηματικοÏ'; +$wb['password_strength_txt'] = 'ΙσχÏÏ‚ ΣυνθηματικοÏ'; $wb['language_txt'] = 'Γλώσσα'; $wb['password_mismatch'] = 'Το συνθηματικό στο δεÏτεÏο πεδίο δεν ταιÏιάζει με το συνθηματικό στο Ï€Ïώτο πεδίο.'; $wb['Form to edit the user password and language.'] = 'ΦόÏμα επεξεÏγασίας ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÎ±Î¹ γλώσσας'; $wb['Settings'] = 'Ρυθμίσεις'; -$wb['generate_password_txt'] = 'Generate Password'; -$wb['repeat_password_txt'] = 'Repeat Password'; -$wb['password_mismatch_txt'] = 'The passwords do not match.'; -$wb['password_match_txt'] = 'The passwords do match.'; +$wb['generate_password_txt'] = 'ΔημιουÏγία ΣυνθηματικοÏ'; +$wb['repeat_password_txt'] = 'Επανάληψη ΣυνθηματικοÏ'; +$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιÏιάζουν.'; +$wb['password_match_txt'] = 'Τα Συνθηματικά ταιÏιάζουν.'; ?> diff --git a/interface/web/tools/lib/lang/en_import_vpopmail.lng b/interface/web/tools/lib/lang/en_import_vpopmail.lng deleted file mode 100644 index 1e4dd281f7..0000000000 --- a/interface/web/tools/lib/lang/en_import_vpopmail.lng +++ /dev/null @@ -1,8 +0,0 @@ -<?php -$wb['head_txt'] = 'Import email configuration from Vpopmail'; -$wb['legend_txt'] = 'Remote database server connection details'; -$wb['btn_start_txt'] = 'Start Import'; -$wb['btn_connect_txt'] = 'Connect to remote server'; -$wb['btn_cancel_txt'] = 'Cancel'; - -?> diff --git a/interface/web/tools/list/empty.dir b/interface/web/tools/list/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/interface/web/tools/list/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/interface/web/tools/templates/import_vpopmail.htm b/interface/web/tools/templates/import_vpopmail.htm deleted file mode 100644 index ade9476943..0000000000 --- a/interface/web/tools/templates/import_vpopmail.htm +++ /dev/null @@ -1,53 +0,0 @@ -<h2><tmpl_var name="head_txt"></h2> -<p><tmpl_var name="list_desc_txt"></p> - -<div class="panel panel_language_import"> - - <div class="pnl_formsarea"> - <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend> - <div class="ctrlHolder"> - <p class="label">Database Hostname</p> - <div class="multiField"> - <input id="db_hostname" type="text" value="{tmpl_var name='db_hostname'}" name="db_hostname" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">Database Name</p> - <div class="multiField"> - <input id="db_name" type="text" value="{tmpl_var name='db_name'}" name="db_name" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">Database User</p> - <div class="multiField"> - <input id="db_user" type="text" value="{tmpl_var name='db_user'}" name="db_user" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">Database password</p> - <div class="multiField"> - <input id="db_password" type="text" value="{tmpl_var name='db_password'}" name="db_password" /> - </div> - </div> - <div class="ctrlHolder"> - <p class="label">Server ID of local mailserver</p> - <div class="multiField"> - <input id="local_server_id" type="text" value="{tmpl_var name='local_server_id'}" name="local_server_id" /> - </div> - </div> - </fieldset> - </div> - - <tmpl_if name="msg"> - <div id="OKMsg"><p><tmpl_var name="msg"></p></div> - </tmpl_if> - <tmpl_if name="error"> - <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div> - </tmpl_if> - - <input type="hidden" name="remote_session_id" value="{tmpl_var name='remote_session_id'}"> - <div class="buttonHolder buttons"> - <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_vpopmail.php');"><span>{tmpl_var name="btn_start_txt"}</span></button> - <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button> - </div> - </div> diff --git a/interface/web/vm/lib/lang/cz.lng b/interface/web/vm/lib/lang/cz.lng index 4167e14a8a..5c1ab58229 100644 --- a/interface/web/vm/lib/lang/cz.lng +++ b/interface/web/vm/lib/lang/cz.lng @@ -5,3 +5,4 @@ $wb['VM Templates'] = 'VM Templates'; $wb['IP addresses'] = 'IP addresses'; $wb['OpenVZ'] = 'OpenVZ'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_action.lng b/interface/web/vm/lib/lang/cz_openvz_action.lng index 3e2e3e0b84..84682fc15a 100644 --- a/interface/web/vm/lib/lang/cz_openvz_action.lng +++ b/interface/web/vm/lib/lang/cz_openvz_action.lng @@ -14,3 +14,4 @@ $wb['ostemplate_name_error'] = 'The OSTemplate name conatains unallowed characte $wb['ostemplate_name_unique_error'] = 'There is already a OSTemplate with that name.'; $wb['ostemplate_exec_txt'] = 'The command to create a OSTemplate has been sent to the host server. It will take several minutes until the OSTemplate has been created.'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_ip.lng b/interface/web/vm/lib/lang/cz_openvz_ip.lng index 6016681df8..67f688576a 100644 --- a/interface/web/vm/lib/lang/cz_openvz_ip.lng +++ b/interface/web/vm/lib/lang/cz_openvz_ip.lng @@ -7,3 +7,4 @@ $wb['ip_error_wrong'] = 'Please fill in a valid IPv4 address.'; $wb['ip_error_unique'] = 'This IP address does already exist.'; $wb['IP address'] = 'IP address'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_ip_list.lng b/interface/web/vm/lib/lang/cz_openvz_ip_list.lng index e6a3a68c2c..37c1d62e7c 100644 --- a/interface/web/vm/lib/lang/cz_openvz_ip_list.lng +++ b/interface/web/vm/lib/lang/cz_openvz_ip_list.lng @@ -5,3 +5,4 @@ $wb['ip_address_txt'] = 'IP address'; $wb['reserved_txt'] = 'Reserved'; $wb['vm_id_txt'] = 'VM'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_ostemplate.lng b/interface/web/vm/lib/lang/cz_openvz_ostemplate.lng index 72838a20de..97741100e4 100644 --- a/interface/web/vm/lib/lang/cz_openvz_ostemplate.lng +++ b/interface/web/vm/lib/lang/cz_openvz_ostemplate.lng @@ -9,3 +9,4 @@ $wb['template_name_error_empty'] = 'Template name is empty.'; $wb['template_file_error_empty'] = 'Template filename is empty.'; $wb['Template'] = 'Å ablona'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/cz_openvz_ostemplate_list.lng index 7705a4d18f..930b33f5bb 100644 --- a/interface/web/vm/lib/lang/cz_openvz_ostemplate_list.lng +++ b/interface/web/vm/lib/lang/cz_openvz_ostemplate_list.lng @@ -6,3 +6,4 @@ $wb['server_id_txt'] = 'Server'; $wb['allservers_txt'] = 'Exists on all servers'; $wb['ostemplate_id_txt'] = 'ID'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_template.lng b/interface/web/vm/lib/lang/cz_openvz_template.lng index 12c80bd6c1..cf926f6b33 100644 --- a/interface/web/vm/lib/lang/cz_openvz_template.lng +++ b/interface/web/vm/lib/lang/cz_openvz_template.lng @@ -91,3 +91,4 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Å ablona'; $wb['Advanced'] = 'PokroÄilý'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_template_list.lng b/interface/web/vm/lib/lang/cz_openvz_template_list.lng index 89c11ef5d1..353e760ea6 100644 --- a/interface/web/vm/lib/lang/cz_openvz_template_list.lng +++ b/interface/web/vm/lib/lang/cz_openvz_template_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template'; $wb['active_txt'] = 'AktivnÃ'; $wb['template_name_txt'] = 'Název Å¡ablony'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_vm.lng b/interface/web/vm/lib/lang/cz_openvz_vm.lng index adfa56f0d5..b9043e4a95 100644 --- a/interface/web/vm/lib/lang/cz_openvz_vm.lng +++ b/interface/web/vm/lib/lang/cz_openvz_vm.lng @@ -38,3 +38,4 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'PokroÄilý'; ?> + diff --git a/interface/web/vm/lib/lang/cz_openvz_vm_list.lng b/interface/web/vm/lib/lang/cz_openvz_vm_list.lng index 1371c4b70e..9fa15b92ee 100644 --- a/interface/web/vm/lib/lang/cz_openvz_vm_list.lng +++ b/interface/web/vm/lib/lang/cz_openvz_vm_list.lng @@ -8,3 +8,4 @@ $wb['hostname_txt'] = 'Hostname'; $wb['ip_address_txt'] = 'IP address'; $wb['veid_txt'] = 'VEID'; ?> + diff --git a/interface/web/vm/lib/lang/de.lng b/interface/web/vm/lib/lang/de.lng index 474d2ac7b7..a68f43f784 100644 --- a/interface/web/vm/lib/lang/de.lng +++ b/interface/web/vm/lib/lang/de.lng @@ -1,7 +1,8 @@ <?php $wb['Virtual Servers'] = 'Virtuelle Server'; -$wb['OS Templates'] = 'OS-Templates'; -$wb['VM Templates'] = 'VM-Templates'; -$wb['IP addresses'] = 'IP-Adressen'; +$wb['OS Templates'] = 'OS Templates'; +$wb['VM Templates'] = 'VM Templates'; +$wb['IP addresses'] = 'IP Adressen'; $wb['OpenVZ'] = 'OpenVZ'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_action.lng b/interface/web/vm/lib/lang/de_openvz_action.lng index f40d2f28b1..c0a5c0e519 100644 --- a/interface/web/vm/lib/lang/de_openvz_action.lng +++ b/interface/web/vm/lib/lang/de_openvz_action.lng @@ -14,3 +14,4 @@ $wb['ostemplate_name_error'] = 'Der Name des OSTemplates enthält ungültige Zei $wb['ostemplate_name_unique_error'] = 'Es existiert bereits ein OSTemplate mit diesem Namen.'; $wb['ostemplate_exec_txt'] = 'Der Befehl um das OSTemplate zu erstellen wurde an den VM-Host gesendet. Es kann einige Minuten dauern bis das OSTemplate verfügbar ist.'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_ip.lng b/interface/web/vm/lib/lang/de_openvz_ip.lng index 48c9a520c4..b7b1498b78 100644 --- a/interface/web/vm/lib/lang/de_openvz_ip.lng +++ b/interface/web/vm/lib/lang/de_openvz_ip.lng @@ -7,3 +7,4 @@ $wb['ip_error_wrong'] = 'Bitte tragen Sie eine gültige IPv4-Adresse ein.'; $wb['ip_error_unique'] = 'Diese IP-Adresse existiert bereits.'; $wb['IP address'] = 'IP-Adresse'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_ip_list.lng b/interface/web/vm/lib/lang/de_openvz_ip_list.lng index f4302d813a..d214e95158 100644 --- a/interface/web/vm/lib/lang/de_openvz_ip_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_ip_list.lng @@ -5,3 +5,4 @@ $wb['vm_id_txt'] = 'VM'; $wb['ip_address_txt'] = 'IP-Adresse'; $wb['reserved_txt'] = 'Reserviert'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng index 8e4cfcb977..e0fb9396db 100644 --- a/interface/web/vm/lib/lang/de_openvz_ostemplate.lng +++ b/interface/web/vm/lib/lang/de_openvz_ostemplate.lng @@ -9,3 +9,4 @@ $wb['template_name_error_empty'] = 'Template-Name ist leer.'; $wb['template_file_error_empty'] = 'Template-Dateiname ist leer.'; $wb['Template'] = 'Template'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng index dff6bd2ded..09a174ee8a 100644 --- a/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_ostemplate_list.lng @@ -6,3 +6,4 @@ $wb['server_id_txt'] = 'Server'; $wb['allservers_txt'] = 'Existiert auf allen Servern'; $wb['ostemplate_id_txt'] = 'ID'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_template.lng b/interface/web/vm/lib/lang/de_openvz_template.lng index 329a10601d..9e76ecaac4 100644 --- a/interface/web/vm/lib/lang/de_openvz_template.lng +++ b/interface/web/vm/lib/lang/de_openvz_template.lng @@ -91,3 +91,4 @@ $wb['swappages_error_empty'] = 'Swappages ist leer.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Erweitert'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_template_list.lng b/interface/web/vm/lib/lang/de_openvz_template_list.lng index 9e32b341b5..682f2cc3c1 100644 --- a/interface/web/vm/lib/lang/de_openvz_template_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_template_list.lng @@ -3,3 +3,4 @@ $wb['list_head_txt'] = 'OpenVZ Virtual Machine Template'; $wb['active_txt'] = 'Aktiv'; $wb['template_name_txt'] = 'Template-Name'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_vm.lng b/interface/web/vm/lib/lang/de_openvz_vm.lng index c773885c69..b45a79fef2 100644 --- a/interface/web/vm/lib/lang/de_openvz_vm.lng +++ b/interface/web/vm/lib/lang/de_openvz_vm.lng @@ -38,3 +38,4 @@ $wb['template_nameserver_error_empty'] = 'Nameserver ist leer.'; $wb['Virtual server'] = 'Virtueller Server'; $wb['Advanced'] = 'Erweitert'; ?> + diff --git a/interface/web/vm/lib/lang/de_openvz_vm_list.lng b/interface/web/vm/lib/lang/de_openvz_vm_list.lng index 0b3ac30c7f..aecb4621e7 100644 --- a/interface/web/vm/lib/lang/de_openvz_vm_list.lng +++ b/interface/web/vm/lib/lang/de_openvz_vm_list.lng @@ -8,3 +8,4 @@ $wb['hostname_txt'] = 'Hostname'; $wb['ip_address_txt'] = 'IP-Adresse'; $wb['veid_txt'] = 'VEID'; ?> + diff --git a/interface/web/vm/lib/lang/el_openvz_ip.lng b/interface/web/vm/lib/lang/el_openvz_ip.lng index 8aecd92058..a602f6d1f9 100644 --- a/interface/web/vm/lib/lang/el_openvz_ip.lng +++ b/interface/web/vm/lib/lang/el_openvz_ip.lng @@ -2,7 +2,7 @@ $wb['server_id_txt'] = 'Hostserver'; $wb['ip_address_txt'] = 'ΔιεÏθυνση IP'; $wb['vm_id_txt'] = 'Εικονικός server'; -$wb['reserved_txt'] = 'Reserved'; +$wb['reserved_txt'] = 'ΚατειλημμÎνη'; $wb['ip_error_wrong'] = 'ΠαÏακαλοÏμε συμπληÏώστε μια ÎγκυÏη διεÏθυνση IPv4.'; $wb['ip_error_unique'] = 'Η διεÏθυνση IP υπάÏχει ήδη.'; $wb['IP address'] = 'ΔιεÏθυνση IP'; diff --git a/interface/web/vm/lib/lang/el_openvz_ip_list.lng b/interface/web/vm/lib/lang/el_openvz_ip_list.lng index 5af2ea055b..168100ce88 100644 --- a/interface/web/vm/lib/lang/el_openvz_ip_list.lng +++ b/interface/web/vm/lib/lang/el_openvz_ip_list.lng @@ -2,6 +2,6 @@ $wb['list_head_txt'] = 'ΔιευθÏνσεις IP OpenVZ'; $wb['server_id_txt'] = 'Server'; $wb['ip_address_txt'] = 'ΔιεÏθυνση IP'; -$wb['reserved_txt'] = 'Reserved'; +$wb['reserved_txt'] = 'Σε χÏήση'; $wb['vm_id_txt'] = 'VM'; ?> diff --git a/interface/web/vm/lib/lang/el_openvz_template.lng b/interface/web/vm/lib/lang/el_openvz_template.lng index afe2bcda65..94425463d5 100644 --- a/interface/web/vm/lib/lang/el_openvz_template.lng +++ b/interface/web/vm/lib/lang/el_openvz_template.lng @@ -23,20 +23,20 @@ $wb['numiptent_txt'] = 'Numiptent'; $wb['swappages_txt'] = 'Swappages'; $wb['hostname_txt'] = 'Hostname'; $wb['nameserver_txt'] = 'Nameserver(s)'; -$wb['nameserver_desc_txt'] = '(separated by whitespace)'; -$wb['capability_txt'] = 'Capability'; -$wb['template_name_txt'] = 'Template name'; -$wb['diskspace_txt'] = 'Diskspace'; -$wb['ram_txt'] = 'RAM (guaranteed)'; -$wb['ram_burst_txt'] = 'RAM (burst)'; +$wb['nameserver_desc_txt'] = '(ΔιαχωÏισμός με κενό)'; +$wb['capability_txt'] = 'Δυνατότητα'; +$wb['template_name_txt'] = 'Όνομα Î ÏοτÏπου'; +$wb['diskspace_txt'] = 'ΧώÏος Δϊσκου'; +$wb['ram_txt'] = 'RAM (εγγυημÎνη)'; +$wb['ram_burst_txt'] = 'RAM (στιγμιαία)'; $wb['cpu_units_txt'] = 'Μονάδες CPU'; $wb['cpu_num_txt'] = 'ΑÏιθμός CPU'; $wb['cpu_limit_txt'] = 'ÎŒÏιο CPU %'; $wb['io_priority_txt'] = 'Î ÏοτεÏαιότητα Ε/Ε'; -$wb['active_txt'] = 'Active'; +$wb['active_txt'] = 'Εν ΕνεÏγεία'; $wb['description_txt'] = 'ΠεÏιγÏαφή'; $wb['numproc_desc_txt'] = 'Πλήθος διεÏγασιών και νημάτων.'; -$wb['numtcpsock_desc_txt'] = 'Number of TCP sockets.'; +$wb['numtcpsock_desc_txt'] = 'Πλήθος TCP sockets.'; $wb['numothersock_desc_txt'] = 'Number of sockets other than TCP.'; $wb['vmguarpages_desc_txt'] = 'Memory allocation guarantee, in pages.'; $wb['kmemsize_desc_txt'] = 'Size of unswappable kernel memory, allocated for processes in this container.'; @@ -88,6 +88,6 @@ $wb['numsiginfo_error_empty'] = 'Numsiginfo is empty.'; $wb['dcachesize_error_empty'] = 'Dcachesize is empty.'; $wb['numiptent_error_empty'] = 'Numiptent is empty.'; $wb['swappages_error_empty'] = 'Swappages is empty.'; -$wb['Template'] = 'Template'; -$wb['Advanced'] = 'Advanced'; +$wb['Template'] = 'Î Ïότυπο'; +$wb['Advanced'] = 'Για Ï€ÏοχωÏημÎνους'; ?> diff --git a/interface/web/vm/lib/lang/el_openvz_vm.lng b/interface/web/vm/lib/lang/el_openvz_vm.lng index 4c7950af36..37c7ce0838 100644 --- a/interface/web/vm/lib/lang/el_openvz_vm.lng +++ b/interface/web/vm/lib/lang/el_openvz_vm.lng @@ -27,12 +27,12 @@ $wb['hostname_error_empty'] = 'Το Hostname είναι κενό.'; $wb['vm_password_error_empty'] = 'Το συνθηματικό VM είναι κενό.'; $wb['veid_error_empty'] = 'Το VEID είναι κενό.'; $wb['veid_error_unique'] = 'Το VEID υπάÏχει ήδη.'; -$wb['diskspace_error_empty'] = 'Το Diskspace είναι κενό.'; +$wb['diskspace_error_empty'] = 'Το ΧώÏος Δίσκου είναι κενό.'; $wb['ram_error_empty'] = 'Το RAM (εγγυημÎνη) είναι κενό.'; $wb['ram_burst_error_empty'] = 'Το RAM (burst) είναι κενό.'; -$wb['cpu_units_error_empty'] = 'Το μονάδες CPU είναι κενό.'; -$wb['cpu_num_error_empty'] = 'Το αÏιθμός CPU είναι κενό.'; -$wb['cpu_limit_error_empty'] = 'Το ÏŒÏιο CPU είναι κενό.'; +$wb['cpu_units_error_empty'] = 'Το Μονάδες CPU είναι κενό.'; +$wb['cpu_num_error_empty'] = 'Το ΑÏιθμός CPU είναι κενό.'; +$wb['cpu_limit_error_empty'] = 'Το ÎŒÏιο CPU είναι κενό.'; $wb['io_priority_error_empty'] = 'Το Î ÏοτεÏαιότητα Ε/Ε είναι κενό.'; $wb['template_nameserver_error_empty'] = 'Το Nameserver(s) είναι κενό.'; $wb['Virtual server'] = 'Εικονικός server'; diff --git a/server/aps_packages/empty.dir b/server/aps_packages/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/aps_packages/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf-custom/empty.dir b/server/conf-custom/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/conf-custom/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf-custom/error/empty.dir b/server/conf-custom/error/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/conf-custom/error/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf-custom/index/empty.dir b/server/conf-custom/index/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/conf-custom/index/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf-custom/install/empty.dir b/server/conf-custom/install/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/conf-custom/install/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf-custom/mail/empty.dir b/server/conf-custom/mail/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/conf-custom/mail/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master index 02ea5af297..6e3d853245 100644 --- a/server/conf/nginx_vhost.conf.master +++ b/server/conf/nginx_vhost.conf.master @@ -121,7 +121,7 @@ server { access_log off; } - location /stats { + location /stats/ { <tmpl_var name='web_document_root_www_proxy'> index index.html index.php; auth_basic "Members Only"; diff --git a/server/cron_daily.php b/server/cron_daily.php index 029c4f30fb..3342cee8c0 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -55,7 +55,7 @@ if(count($records) > 0) $parse_mail_log = true; foreach($records as $rec) { if(@is_file($rec['maildir'].'/ispconfig_mailsize')) { $parse_mail_log = false; - + // rename file rename($rec['maildir'].'/ispconfig_mailsize',$rec['maildir'].'/ispconfig_mailsize_save'); @@ -93,15 +93,15 @@ if($parse_mail_log == true) { $mailbox_traffic = array(); $mail_boxes = array(); $mail_rewrites = array(); // we need to read all mail aliases and forwards because the address in amavis is not always the mailbox address - + function parse_mail_log_line($line) { //Oct 31 17:35:48 mx01 amavis[32014]: (32014-05) Passed CLEAN, [IPv6:xxxxx] [IPv6:xxxxx] <xxx@yyyy> -> <aaaa@bbbb>, Message-ID: <xxxx@yyyyy>, mail_id: xxxxxx, Hits: -1.89, size: 1591, queued_as: xxxxxxx, 946 ms - + if(preg_match('/^(\w+\s+\d+\s+\d+:\d+:\d+)\s+[^ ]+\s+amavis.* <([^>]+)>\s+->\s+((<[^>]+>,)+) .*Message-ID:\s+<([^>]+)>.* size:\s+(\d+),.*$/', $line, $matches) == false) return false; - + $timestamp = strtotime($matches[1]); if(!$timestamp) return false; - + $to = array(); $recipients = explode(',', $matches[3]); foreach($recipients as $recipient) { @@ -109,15 +109,15 @@ if($parse_mail_log == true) { if(!$recipient || $recipient == $matches[2]) continue; $to[] = $recipient; } - + return array('line' => $line, 'timestamp' => $timestamp, 'size' => $matches[6], 'from' => $matches[2], 'to' => $to, 'message-id' => $matches[5]); } function add_mailbox_traffic(&$traffic_array, $address, $traffic) { global $mail_boxes, $mail_rewrites; - + $address = strtolower($address); - + if(in_array($address, $mail_boxes) == true) { if(!isset($traffic_array[$address])) $traffic_array[$address] = 0; $traffic_array[$address] += $traffic; @@ -147,17 +147,17 @@ if($parse_mail_log == true) { } } } - + $state_file = dirname(__FILE__) . '/mail_log_parser.state'; $prev_line = false; $last_line = false; $cur_line = false; - + if(file_exists($state_file)) { $prev_line = parse_mail_log_line(trim(file_get_contents($state_file))); //if($prev_line) echo "continuing from previous run, log position: " . $prev_line['message-id'] . " at " . strftime('%d.%m.%Y %H:%M:%S', $prev_line['timestamp']) . "\n"; } - + if(file_exists('/var/log/mail.log')) { $fp = fopen('/var/log/mail.log', 'r'); //echo "Parsing mail.log...\n"; @@ -167,7 +167,7 @@ if($parse_mail_log == true) { //if($l % 1000 == 0) echo "\rline $l"; $cur_line = parse_mail_log_line($line); if(!$cur_line) continue; - + if($prev_line) { // check if this line has to be processed if($cur_line['timestamp'] < $prev_line['timestamp']) { @@ -179,7 +179,7 @@ if($parse_mail_log == true) { continue; } } - + add_mailbox_traffic($mailbox_traffic, $cur_line['from'], $cur_line['size']); foreach($cur_line['to'] as $to) { add_mailbox_traffic($mailbox_traffic, $to, $cur_line['size']); @@ -189,7 +189,7 @@ if($parse_mail_log == true) { fclose($fp); //echo "\n"; } - + if($parse_mail_log == true && file_exists('/var/log/mail.log.1')) { $fp = fopen('/var/log/mail.log.1', 'r'); //echo "Parsing mail.log.1...\n"; @@ -199,7 +199,7 @@ if($parse_mail_log == true) { //if($l % 1000 == 0) echo "\rline $l"; $cur_line = parse_mail_log_line($line); if(!$cur_line) continue; - + if($prev_line) { // check if this line has to be processed if($cur_line['timestamp'] < $prev_line['timestamp']) continue; // already processed @@ -208,7 +208,7 @@ if($parse_mail_log == true) { continue; } } - + add_mailbox_traffic($mailbox_traffic, $cur_line['from'], $cur_line['size']); foreach($cur_line['to'] as $to) { add_mailbox_traffic($mailbox_traffic, $to, $cur_line['size']); @@ -219,7 +219,7 @@ if($parse_mail_log == true) { } unset($mail_rewrites); unset($mail_boxes); - + // Save the traffic stats in the sql database $tstamp = date('Y-m'); $sql = "SELECT mailuser_id,email FROM mail_user WHERE server_id = ".$conf['server_id']; @@ -239,7 +239,7 @@ if($parse_mail_log == true) { //echo $sql; } } - + unset($mailbox_traffic); if($last_line) file_put_contents($state_file, $last_line); } @@ -279,7 +279,7 @@ $records = $app->db->queryAllRecords($sql); foreach($records as $rec) { //$yesterday = date('Ymd',time() - 86400); $yesterday = date('Ymd',strtotime("-1 day", time())); - + $log_folder = 'log'; if($rec['type'] == 'vhostsubdomain') { $tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id'])); @@ -331,7 +331,7 @@ $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); foreach($records as $rec) { //$yesterday = date('Ymd',time() - 86400); $yesterday = date('Ymd',strtotime("-1 day", time())); - + $log_folder = 'log'; if($rec['type'] == 'vhostsubdomain') { $tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id'])); @@ -453,7 +453,7 @@ foreach($records as $rec) { //* create traffic statistics based on yesterdays access log file $yesterday = date('Ymd',time() - 86400); - + $log_folder = 'log'; if($rec['type'] == 'vhostsubdomain') { $tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id'])); @@ -462,7 +462,7 @@ foreach($records as $rec) { $log_folder .= '/' . $subdomain_host; unset($tmp); } - + $logfile = $rec['document_root'].'/' . $log_folder . '/'.$yesterday.'-access.log'; $total_bytes = 0; @@ -647,10 +647,10 @@ if ($app->dbmaster == $app->db) { ######### function send_notification_email($template, $placeholders, $recipients) { global $conf; - + if(!is_array($recipients) || count($recipients) < 1) return false; if(!is_array($placeholders)) $placeholders = array(); - + if(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt')) { $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt'); } elseif(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt')) { @@ -660,7 +660,7 @@ function send_notification_email($template, $placeholders, $recipients) { } else { $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_en.txt'); } - + //* get mail headers, subject and body $mailHeaders = ''; $mailBody = ''; @@ -681,12 +681,12 @@ function send_notification_email($template, $placeholders, $recipients) { } } $mailBody = trim($mailBody); - + //* Replace placeholders $mailHeaders = strtr($mailHeaders, $placeholders); $mailSubject = strtr($mailSubject, $placeholders); $mailBody = strtr($mailBody, $placeholders); - + for($r = 0; $r < count($recipients); $r++) { mail($recipients[$r], $mailSubject, $mailBody, $mailHeaders); } @@ -695,7 +695,7 @@ function send_notification_email($template, $placeholders, $recipients) { unset($mailHeaders); unset($mailBody); unset($lines); - + return true; } @@ -707,7 +707,7 @@ function send_notification_email($template, $placeholders, $recipients) { if ($app->dbmaster == $app->db) { $global_config = $app->getconf->get_global_config('mail'); - + $current_month = date('Y-m'); //* Check website traffic quota @@ -740,19 +740,19 @@ if ($app->dbmaster == $app->db) { if($web_traffic_quota > 0 && $web_traffic > $web_traffic_quota) { $app->dbmaster->datalogUpdate('web_domain', "traffic_quota_lock = 'y',active = 'n'", 'domain_id', $rec['domain_id']); $app->log('Traffic quota for '.$rec['domain'].' exceeded. Disabling website.',LOGLEVEL_DEBUG); - + //* Send traffic notifications if($rec['traffic_quota_lock'] != 'y' && ($web_config['overtraffic_notify_admin'] == 'y' || $web_config['overtraffic_notify_client'] == 'y')) { - $placeholders = array('{domain}' => $rec['domain'], + $placeholders = array('{domain}' => $rec['domain'], '{admin_mail}' => ($global_config['admin_mail'] != ''? $global_config['admin_mail'] : 'root')); $recipients = array(); - //* send email to admin + //* send email to admin if($global_config['admin_mail'] != '' && $web_config['overtraffic_notify_admin'] == 'y') { $recipients[] = $global_config['admin_mail']; } - + //* Send email to client if($web_config['overtraffic_notify_client'] == 'y') { $client_group_id = $rec["sys_groupid"]; @@ -761,10 +761,11 @@ if ($app->dbmaster == $app->db) { $recipients[] = $client['email']; } } - - send_notification_email('web_traffic_notification', $placeholders, $recipients); + + send_notification_email('web_traffic_notification', $placeholders, $recipients); } - + + } else { //* unlock the website, if traffic is lower then quota if($rec['traffic_quota_lock'] == 'y') { @@ -791,7 +792,7 @@ if ($app->dbmaster == $app->db) { $sql = "SELECT domain_id,sys_groupid,domain,system_user,last_quota_notification,DATEDIFF(CURDATE(), last_quota_notification) as `notified_before` FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain')"; $records = $app->db->queryAllRecords($sql); if(is_array($records) && !empty($records)) { - + $tmp_rec = $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'harddisk_quota' ORDER BY created DESC"); $monitor_data = array(); if(is_array($tmp_rec)) { @@ -799,18 +800,18 @@ if ($app->dbmaster == $app->db) { $monitor_data = array_merge_recursive($monitor_data,unserialize($app->db->unquote($tmp_mon['data']))); } } - + foreach($records as $rec) { //$web_hd_quota = $rec['hd_quota']; $domain = $rec['domain']; - + $username = $rec['system_user']; $rec['used'] = $monitor_data['user'][$username]['used']; $rec['soft'] = $monitor_data['user'][$username]['soft']; $rec['hard'] = $monitor_data['user'][$username]['hard']; $rec['files'] = $monitor_data['user'][$username]['files']; - + if (!is_numeric($rec['used'])){ if ($rec['used'][0] > $rec['used'][1]){ $rec['used'] = $rec['used'][0]; @@ -821,22 +822,22 @@ if ($app->dbmaster == $app->db) { if (!is_numeric($rec['soft'])) $rec['soft']=$rec['soft'][1]; if (!is_numeric($rec['hard'])) $rec['hard']=$rec['hard'][1]; if (!is_numeric($rec['files'])) $rec['files']=$rec['files'][1]; - + // used space ratio if($rec['soft'] > 0){ $used_ratio = $rec['used']/$rec['soft']; } else { $used_ratio = 0; } - + $rec['ratio'] = number_format($used_ratio * 100, 2, '.', '').'%'; - + if($rec['used'] > 1024) { $rec['used'] = round($rec['used'] / 1024,2).' MB'; } else { if ($rec['used'] != '') $rec['used'] .= ' KB'; } - + if($rec['soft'] > 1024) { $rec['soft'] = round($rec['soft'] / 1024,2).' MB'; } elseif($rec['soft'] == 0){ @@ -844,7 +845,7 @@ if ($app->dbmaster == $app->db) { } else { $rec['soft'] .= ' KB'; } - + if($rec['hard'] > 1024) { $rec['hard'] = round($rec['hard'] / 1024,2).' MB'; } elseif($rec['hard'] == 0){ @@ -852,12 +853,12 @@ if ($app->dbmaster == $app->db) { } else { $rec['hard'] .= ' KB'; } - + // send notifications only if 90% or more of the quota are used if($used_ratio < 0.9) { // reset notification date if($rec['last_quota_notification']) $app->dbmaster->datalogUpdate('web_domain', "last_quota_notification = NULL", 'domain_id', $rec['domain_id']); - + // send notification - everything ok again if($rec['last_quota_notification'] && $web_config['overquota_notify_onok'] == 'y' && ($web_config['overquota_notify_admin'] == 'y' || $web_config['overquota_notify_client'] == 'y')) { $placeholders = array('{domain}' => $rec['domain'], @@ -868,12 +869,12 @@ if ($app->dbmaster == $app->db) { '{ratio}' => $rec['ratio']); $recipients = array(); - + //* send email to admin if($global_config['admin_mail'] != '' && $web_config['overquota_notify_admin'] == 'y') { $recipients[] = $global_config['admin_mail']; } - + //* Send email to client if($web_config['overquota_notify_client'] == 'y') { $client_group_id = $rec["sys_groupid"]; @@ -884,19 +885,19 @@ if ($app->dbmaster == $app->db) { } send_notification_email('web_quota_ok_notification', $placeholders, $recipients); } - + continue; } - + // could a notification be sent? $send_notification = false; if(!$rec['last_quota_notification']) $send_notification = true; // not yet notified elseif($web_config['overquota_notify_freq'] > 0 && $rec['notified_before'] >= $web_config['overquota_notify_freq']) $send_notification = true; - + //* Send quota notifications if(($web_config['overquota_notify_admin'] == 'y' || $web_config['overquota_notify_client'] == 'y') && $send_notification == true) { $app->dbmaster->datalogUpdate('web_domain', "last_quota_notification = CURDATE()", 'domain_id', $rec['domain_id']); - + $placeholders = array('{domain}' => $rec['domain'], '{admin_mail}' => ($global_config['admin_mail'] != ''? $global_config['admin_mail'] : 'root'), '{used}' => $rec['used'], @@ -905,12 +906,12 @@ if ($app->dbmaster == $app->db) { '{ratio}' => $rec['ratio']); $recipients = array(); - + //* send email to admin if($global_config['admin_mail'] != '' && $web_config['overquota_notify_admin'] == 'y') { $recipients[] = $global_config['admin_mail']; } - + //* Send email to client if($web_config['overquota_notify_client'] == 'y') { $client_group_id = $rec["sys_groupid"]; @@ -939,7 +940,7 @@ if ($app->dbmaster == $app->db) { $sql = "SELECT mailuser_id,sys_groupid,email,name,quota,last_quota_notification,DATEDIFF(CURDATE(), last_quota_notification) as `notified_before` FROM mail_user"; $records = $app->db->queryAllRecords($sql); if(is_array($records) && !empty($records)) { - + $tmp_rec = $app->db->queryAllRecords("SELECT data from monitor_data WHERE type = 'email_quota' ORDER BY created DESC"); $monitor_data = array(); if(is_array($tmp_rec)) { @@ -953,24 +954,24 @@ if ($app->dbmaster == $app->db) { } } } - + foreach($records as $rec) { $email = $rec['email']; - + $rec['used'] = isset($monitor_data[$email]['used']) ? $monitor_data[$email]['used'] : array(1 => 0); - + if (!is_numeric($rec['used'])) $rec['used']=$rec['used'][1]; - + // used space ratio if($rec['quota'] > 0){ $used_ratio = $rec['used']/$rec['quota']; } else { $used_ratio = 0; } - + $rec['ratio'] = number_format($used_ratio * 100, 2, '.', '').'%'; - + if($rec['quota'] > 0){ $rec['quota'] = round($rec['quota'] / 1048576,4).' MB'; } else { @@ -981,8 +982,8 @@ if ($app->dbmaster == $app->db) { $rec['used'] = round($rec['used'] / 1024,4).' KB'; } else { $rec['used'] = round($rec['used'] / 1048576,4).' MB'; - } - + } + // send notifications only if 90% or more of the quota are used if($used_ratio < 0.9) { // reset notification date @@ -996,13 +997,13 @@ if ($app->dbmaster == $app->db) { '{name}' => $rec['name'], '{quota}' => $rec['quota'], '{ratio}' => $rec['ratio']); - + $recipients = array(); //* send email to admin if($global_config['admin_mail'] != '' && $mail_config['overquota_notify_admin'] == 'y') { $recipients[] = $global_config['admin_mail']; } - + //* Send email to client if($mail_config['overquota_notify_client'] == 'y') { $client_group_id = $rec["sys_groupid"]; @@ -1011,35 +1012,35 @@ if ($app->dbmaster == $app->db) { $recipients[] = $client['email']; } } - + send_notification_email('mail_quota_ok_notification', $placeholders, $recipients); } continue; } - + //* Send quota notifications // could a notification be sent? $send_notification = false; if(!$rec['last_quota_notification']) $send_notification = true; // not yet notified elseif($mail_config['overquota_notify_freq'] > 0 && $rec['notified_before'] >= $mail_config['overquota_notify_freq']) $send_notification = true; - + if(($mail_config['overquota_notify_admin'] == 'y' || $mail_config['overquota_notify_client'] == 'y') && $send_notification == true) { $app->dbmaster->datalogUpdate('mail_user', "last_quota_notification = CURDATE()", 'mailuser_id', $rec['mailuser_id']); - + $placeholders = array('{email}' => $rec['email'], '{admin_mail}' => ($global_config['admin_mail'] != ''? $global_config['admin_mail'] : 'root'), '{used}' => $rec['used'], '{name}' => $rec['name'], '{quota}' => $rec['quota'], '{ratio}' => $rec['ratio']); - + $recipients = array(); //* send email to admin if($global_config['admin_mail'] != '' && $mail_config['overquota_notify_admin'] == 'y') { $recipients[] = $global_config['admin_mail']; } - + //* Send email to client if($mail_config['overquota_notify_client'] == 'y') { $client_group_id = $rec["sys_groupid"]; @@ -1048,9 +1049,9 @@ if ($app->dbmaster == $app->db) { $recipients[] = $client['email']; } } - + send_notification_email('mail_quota_notification', $placeholders, $recipients); - } + } } } } @@ -1076,17 +1077,12 @@ if ($app->dbmaster == $app->db) { } -####################################################################################################### -// Create website backups -####################################################################################################### -function formatBytes($size, $precision = 2) { - $base=log($size)/log(1024); - $suffixes=array('','k','M','G','T'); - return round(pow(1024,$base-floor($base)),$precision).$suffixes[floor($base)]; -} - -$server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); -$backup_dir = $server_config['backup_dir']; +####################################################################################################### +// Create website backups +####################################################################################################### + +$server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); +$backup_dir = $server_config['backup_dir']; $backup_mode = $server_config['backup_mode']; if($backup_mode == '') $backup_mode = 'userzip'; @@ -1139,7 +1135,7 @@ if($backup_dir != '') { $web_backup_file = 'web'.$web_id.'_'.date('Y-m-d_H-i').'.tar.gz'; exec('tar pczf '.escapeshellarg($web_backup_dir.'/'.$web_backup_file).' --exclude=backup\* --directory '.escapeshellarg($web_path).' .', $tmp_output, $retval); } - if($retval == 0){ + if($retval == 0 || $backup_mode != 'userzip'){ // tar can return 1 (due to harmless warings) and still create valid backups chown($web_backup_dir.'/'.$web_backup_file, 'root'); chgrp($web_backup_dir.'/'.$web_backup_file, 'root'); chmod($web_backup_dir.'/'.$web_backup_file, 0750); @@ -1153,7 +1149,7 @@ if($backup_dir != '') { } else { if(is_file($web_backup_dir.'/'.$web_backup_file)) unlink($web_backup_dir.'/'.$web_backup_file); } - + //* Remove old backups $backup_copies = intval($rec['backup_copies']); @@ -1187,7 +1183,7 @@ if($backup_dir != '') { //* Remove backupdir symlink and create as directory instead $app->uses('system'); $app->system->web_folder_protection($web_path,false); - + if(is_link($web_path.'/backup')) { unlink($web_path.'/backup'); } @@ -1196,9 +1192,8 @@ if($backup_dir != '') { chown($web_path.'/backup', $rec['system_user']); chgrp($web_path.'/backup', $rec['system_group']); } - + $app->system->web_folder_protection($web_path,true); - } /* If backup_interval is set to none and we have a @@ -1232,73 +1227,34 @@ if($backup_dir != '') { chown($db_backup_dir, 'root'); chgrp($db_backup_dir, 'root'); - //* Do the mysql database backup with mysqldump or mongodump + //* Do the mysql database backup with mysqldump $db_id = $rec['database_id']; $db_name = $rec['database_name']; + $db_backup_file = 'db_'.$db_name.'_'.date('Y-m-d_H-i').'.sql'; + //$command = "mysqldump -h '".escapeshellcmd($clientdb_host)."' -u '".escapeshellcmd($clientdb_user)."' -p'".escapeshellcmd($clientdb_password)."' -c --add-drop-table --create-options --quick --result-file='".$db_backup_dir.'/'.$db_backup_file."' '".$db_name."'"; + $command = "mysqldump -h ".escapeshellarg($clientdb_host)." -u ".escapeshellarg($clientdb_user)." -p".escapeshellarg($clientdb_password)." -c --add-drop-table --create-options --quick --result-file='".$db_backup_dir.'/'.$db_backup_file."' '".$db_name."'"; + exec($command, $tmp_output, $retval); + + //* Compress the backup with gzip + if($retval == 0) exec("gzip -c '".escapeshellcmd($db_backup_dir.'/'.$db_backup_file)."' > '".escapeshellcmd($db_backup_dir.'/'.$db_backup_file).".gz'", $tmp_output, $retval); + + if($retval == 0){ + chmod($db_backup_dir.'/'.$db_backup_file.'.gz', 0750); + chown($db_backup_dir.'/'.$db_backup_file.'.gz', fileowner($db_backup_dir)); + chgrp($db_backup_dir.'/'.$db_backup_file.'.gz', filegroup($db_backup_dir)); - if ($rec['type'] == 'mysql') { - $db_backup_file = 'db_'.$db_name.'_'.date('Y-m-d_H-i').'.sql'; - //$command = "mysqldump -h '".escapeshellcmd($clientdb_host)."' -u '".escapeshellcmd($clientdb_user)."' -p'".escapeshellcmd($clientdb_password)."' -c --add-drop-table --create-options --quick --result-file='".$db_backup_dir.'/'.$db_backup_file."' '".$db_name."'"; - $command = "mysqldump -h ".escapeshellarg($clientdb_host)." -u ".escapeshellarg($clientdb_user)." -p".escapeshellarg($clientdb_password)." -c --add-drop-table --create-options --quick --result-file='".$db_backup_dir.'/'.$db_backup_file."' '".$db_name."'"; - exec($command, $tmp_output, $retval); - - //* Compress the backup with gzip - if($retval == 0) exec("gzip -c '".escapeshellcmd($db_backup_dir.'/'.$db_backup_file)."' > '".escapeshellcmd($db_backup_dir.'/'.$db_backup_file).".gz'", $tmp_output, $retval); - - if($retval == 0){ - chmod($db_backup_dir.'/'.$db_backup_file.'.gz', 0750); - chown($db_backup_dir.'/'.$db_backup_file.'.gz', fileowner($db_backup_dir)); - chgrp($db_backup_dir.'/'.$db_backup_file.'.gz', filegroup($db_backup_dir)); - - //* Insert web backup record in database - //$insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')"; - //$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id'); - $sql = "INSERT INTO web_backup (server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')"; - $app->db->query($sql); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql); - - } else { - if(is_file($db_backup_dir.'/'.$db_backup_file.'.gz')) unlink($db_backup_dir.'/'.$db_backup_file.'.gz'); - } - //* Remove the uncompressed file - if(is_file($db_backup_dir.'/'.$db_backup_file)) unlink($db_backup_dir.'/'.$db_backup_file); - } else if ($rec['type'] == 'mongo') { - $db_backup_file = 'db_'.$db_name.'_'.date('Y-m-d_H-i'); - - try { - $connection = new MongoClient("mongodb://root:123456@127.0.0.1:27017/admin"); - $db = $connection->selectDB($db_name); - // exclude not supported by mongodump, only get user collections - $collections = $db->getCollectionNames(false); - - foreach ($collections as $collection) { - // mongodump -h 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d <db> -c <table> -o /tmp/test - $command = "mongodump -h 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d ".escapeshellcmd($db_name)." -c ".escapeshellcmd($collection)." -o ".escapeshellcmd($db_backup_dir.'/'.$db_backup_file); - exec($command); - } - - if (is_dir(escapeshellcmd($db_backup_dir.'/'.$db_backup_file))) { - //* Compress the backup with gzip - exec("cd ".escapeshellcmd($db_backup_dir)." && tar -pczf ".escapeshellcmd($db_backup_dir.'/'.$db_backup_file).".tar.gz ".escapeshellcmd($db_backup_file)); - chmod($db_backup_dir.'/'.$db_backup_file.'.tar.gz', 0750); - chown($db_backup_dir.'/'.$db_backup_file.'.tar.gz', fileowner($db_backup_dir)); - chgrp($db_backup_dir.'/'.$db_backup_file.'.tar.gz', filegroup($db_backup_dir)); - - //* Insert web backup record in database - $sql = "INSERT INTO web_backup (server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mongodb','rootgz',".time().",'".$app->db->quote($db_backup_file).".tar.gz')"; - $app->db->query($sql); - - if ($app->db->dbHost != $app->dbmaster->dbHost) { - $app->dbmaster->query($sql); - } + //* Insert web backup record in database + //$insert_data = "(server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')"; + //$app->dbmaster->datalogInsert('web_backup', $insert_data, 'backup_id'); + $sql = "INSERT INTO web_backup (server_id,parent_domain_id,backup_type,backup_mode,tstamp,filename) VALUES (".$conf['server_id'].",$web_id,'mysql','sqlgz',".time().",'".$app->db->quote($db_backup_file).".gz')"; + $app->db->query($sql); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql); - //* Remove the uncompressed file - exec("rm -rf ".escapeshellcmd($db_backup_dir.'/'.$db_backup_file)); - } - } catch (MongoConnnectionException $e) { - // connecting to MongoDB failed - cannot create backup - } + } else { + if(is_file($db_backup_dir.'/'.$db_backup_file.'.gz')) unlink($db_backup_dir.'/'.$db_backup_file.'.gz'); } + //* Remove the uncompressed file + if(is_file($db_backup_dir.'/'.$db_backup_file)) unlink($db_backup_dir.'/'.$db_backup_file); //* Remove old backups $backup_copies = intval($rec['backup_copies']); @@ -1306,13 +1262,13 @@ if($backup_dir != '') { $dir_handle = dir($db_backup_dir); $files = array(); while (false !== ($entry = $dir_handle->read())) { - if($entry != '.' && $entry != '..' && (preg_match('/^db_(.*?)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.sql.gz$/', $entry, $matches) || preg_match('/^db_(.*?)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.tar.gz$/', $entry, $matches)) && is_file($db_backup_dir.'/'.$entry)) { + if($entry != '.' && $entry != '..' && preg_match('/^db_(.*?)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.sql.gz$/', $entry, $matches) && is_file($db_backup_dir.'/'.$entry)) { if(array_key_exists($matches[1], $files) == false) $files[$matches[1]] = array(); $files[$matches[1]][] = $entry; } } $dir_handle->close(); - + reset($files); foreach($files as $db_name => $filelist) { rsort($filelist); @@ -1339,6 +1295,19 @@ if($backup_dir != '') { unset($clientdb_password); } + + // remove non-existing backups from database + $backups = $app->db->queryAllRecords("SELECT * FROM web_backup WHERE server_id = ".$conf['server_id']); + if(is_array($backups) && !empty($backups)){ + foreach($backups as $backup){ + $backup_file = $backup_dir.'/web'.$backup['parent_domain_id'].'/'.$backup['filename']; + if(!is_file($backup_file)){ + $sql = "DELETE FROM web_backup WHERE server_id = ".$conf['server_id']." AND parent_domain_id = ".$backup['parent_domain_id']." AND filename = '".$backup['filename']."'"; + $app->db->query($sql); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql); + } + } + } } diff --git a/server/lib/classes/aps_base.inc.php b/server/lib/classes/aps_base.inc.php index 4c1512ba2a..b8f6ad9232 100644 --- a/server/lib/classes/aps_base.inc.php +++ b/server/lib/classes/aps_base.inc.php @@ -1,103 +1,103 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -// Constants describing instances -define('INSTANCE_PENDING', 0); -define('INSTANCE_INSTALL', 1); -define('INSTANCE_ERROR', 2); -define('INSTANCE_SUCCESS', 3); -define('INSTANCE_REMOVE', 4); - -// Constants describing packages -define('PACKAGE_LOCKED', 1); -define('PACKAGE_ENABLED', 2); -define('PACKAGE_OUTDATED', 3); -define('PACKAGE_ERROR_NOMETA', 4); - -class ApsBase -{ - protected $log_prefix = ''; - protected $fetch_url = ''; - protected $aps_version = ''; - protected $packages_dir = ''; - protected $temp_pkg_dir = ''; - protected $interface_pkg_dir = ''; - protected $interface_mode = false; // server mode by default - - /** - * Constructor - * - * @param $app the application instance (db handle + log method) - * @param $interface_mode act in interface (true) or server mode (false) - * @param $log_prefix a prefix to set before all log entries - */ - public function __construct($app, $log_prefix = 'APS: ', $interface_mode = false) - { - $this->log_prefix = $log_prefix; - $this->interface_mode = $interface_mode; - $this->fetch_url = 'apscatalog.com'; - $this->aps_version = '1'; - $this->packages_dir = ISPC_ROOT_PATH.'/aps_packages'; - $this->interface_pkg_dir = ISPC_ROOT_PATH.'/web/sites/aps_meta_packages'; - } - - /** - * Converts a given value to it's native representation in 1024 units - * - * @param $value the size to convert - * @return integer and string - */ - public function convertSize($value) - { - $unit = array('Bytes', 'KB', 'MB', 'GB', 'TB'); - return @round($value/pow(1024, ($i = floor(log($value, 1024)))), 2).' '.$unit[$i]; - } - - /** - * Determine a specific xpath from a given SimpleXMLElement handle. If the - * element is found, it's string representation is returned. If not, - * the return value will stay empty - * - * @param $xml_handle the SimpleXMLElement handle - * @param $query the XPath query - * @param $array define whether to return an array or a string - * @return $ret the return string - */ - protected function getXPathValue($xml_handle, $query, $array = false) - { - $ret = ''; - - $xp_result = @($xml_handle->xpath($query)) ? $xml_handle->xpath($query) : false; - if($xp_result !== false) $ret = (($array === false) ? (string)$xp_result[0] : $xp_result); - - return $ret; - } -} +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +// Constants describing instances +define('INSTANCE_PENDING', 0); +define('INSTANCE_INSTALL', 1); +define('INSTANCE_ERROR', 2); +define('INSTANCE_SUCCESS', 3); +define('INSTANCE_REMOVE', 4); + +// Constants describing packages +define('PACKAGE_LOCKED', 1); +define('PACKAGE_ENABLED', 2); +define('PACKAGE_OUTDATED', 3); +define('PACKAGE_ERROR_NOMETA', 4); + +class ApsBase +{ + protected $log_prefix = ''; + protected $fetch_url = ''; + protected $aps_version = ''; + protected $packages_dir = ''; + protected $temp_pkg_dir = ''; + protected $interface_pkg_dir = ''; + protected $interface_mode = false; // server mode by default + + /** + * Constructor + * + * @param $app the application instance (db handle + log method) + * @param $interface_mode act in interface (true) or server mode (false) + * @param $log_prefix a prefix to set before all log entries + */ + public function __construct($app, $log_prefix = 'APS: ', $interface_mode = false) + { + $this->log_prefix = $log_prefix; + $this->interface_mode = $interface_mode; + $this->fetch_url = 'apscatalog.com'; + $this->aps_version = '1'; + $this->packages_dir = ISPC_ROOT_PATH.'/aps_packages'; + $this->interface_pkg_dir = ISPC_ROOT_PATH.'/web/sites/aps_meta_packages'; + } + + /** + * Converts a given value to it's native representation in 1024 units + * + * @param $value the size to convert + * @return integer and string + */ + public function convertSize($value) + { + $unit = array('Bytes', 'KB', 'MB', 'GB', 'TB'); + return @round($value/pow(1024, ($i = floor(log($value, 1024)))), 2).' '.$unit[$i]; + } + + /** + * Determine a specific xpath from a given SimpleXMLElement handle. If the + * element is found, it's string representation is returned. If not, + * the return value will stay empty + * + * @param $xml_handle the SimpleXMLElement handle + * @param $query the XPath query + * @param $array define whether to return an array or a string + * @return $ret the return string + */ + protected function getXPathValue($xml_handle, $query, $array = false) + { + $ret = ''; + + $xp_result = @($xml_handle->xpath($query)) ? $xml_handle->xpath($query) : false; + if($xp_result !== false) $ret = (($array === false) ? (string)$xp_result[0] : $xp_result); + + return $ret; + } +} ?> \ No newline at end of file diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index 39f71ce51a..6cb922f674 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -1,720 +1,720 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ -require_once('aps_base.inc.php'); - -@set_time_limit(0); -@ignore_user_abort(1); - -class ApsInstaller extends ApsBase -{ - private $handle_type = ''; - private $domain = ''; - private $document_root = ''; - private $sublocation = ''; - private $local_installpath = ''; - private $dbhost = ''; - private $newdb_name = ''; - private $newdb_user = ''; - private $file_owner_user = ''; - private $file_owner_group = ''; - private $putenv = array(); - - /** - * Constructor - * - * @param $app the application instance (db handle + log method) - * @param $interface_mode act in interface (true) or server mode (false) - */ - public function __construct($app, $interface_mode = false) - { - parent::__construct($app, 'APS installer: ', $interface_mode); - } - - /** - * Before the cron is executed, make sure all necessary options are set - * and all functions are available - */ - private function checkRequirements() - { - global $app; - try - { - // Check if exec() is not disabled - $disabled_func = explode(',', @ini_get('disable_functions')); - if(in_array('exec', $disabled_func)) throw new Exception('the call of exec() is disabled'); - - // Check if safe_mode is disabled (needed for correct putenv, chmod, chown handling) - if(@ini_get('safe_mode')) throw new Exception('the safe_mode restriction is on'); - - return true; - } - catch(Exception $e) - { - $app->log('Aborting execution because '.$e->getMessage(), 1); - return false; - } - } - - /** - * Get a file from a ZIP archive and either return it's content or - * extract it to a given destination - * - * @param $zipfile the ZIP file to work with - * @param $subfile the file from which to get the content - * @param $destfolder the optional extraction destination - * @param $destname the optional target file name when extracting - * @return string or boolean - */ - private function getContentFromZIP($zipfile, $subfile, $destfolder = '', $destname = '') - { - try - { - $zip = new ZipArchive; - $res = $zip->open(realpath($zipfile)); - if(!$res) throw new Exception('Cannot open ZIP file '.$zipfile); - - // If no destination is given, the content is returned, otherwise - // the $subfile is extracted to $destination - if($destfolder == '') - { - $fh = $zip->getStream($subfile); - if(!$fh) throw new Exception('Cannot read '.$subfile.' from '.$zipfile); - - $subfile_content = ''; - while(!feof($fh)) $subfile_content .= fread($fh, 8192); - - fclose($fh); - - return $subfile_content; - } - else - { - // extractTo would be suitable but has no target name parameter - //$ind = $zip->locateName($subfile); - //$ex = $zip->extractTo($destination, array($zip->getNameIndex($ind))); - if($destname == '') $destname = basename($subfile); - $ex = @copy('zip://'.$zipfile.'#'.$subfile, $destfolder.$destname); - if(!$ex) throw new Exception('Cannot extract '.$subfile.' to '.$destfolder); - } - - $zip->close(); - - } - catch(Exception $e) - { - // The exception message is only interesting for debugging reasons - // echo $e->getMessage(); - return false; - } - } - - /** - * Extract the complete directory of a ZIP file - * - * @param $filename the file to unzip - * @param $directory the ZIP inside directory to unzip - * @param $destination the place where to extract the data - * @return boolean - */ - private function extractZip($filename, $directory, $destination) - { - if(!file_exists($filename)) return false; - - // Fix the paths - if(substr($directory, -1) == '/') $directory = substr($directory, 0, strlen($directory) - 1); - if(substr($destination, -1) != '/') $destination .= '/'; - - // Read and extract the ZIP file - $ziphandle = zip_open(realpath($filename)); - if(is_resource($ziphandle)) - { - while($entry = zip_read($ziphandle)) - { - if(substr(zip_entry_name($entry), 0, strlen($directory)) == $directory) - { - // Modify the relative ZIP file path - $new_path = substr(zip_entry_name($entry), strlen($directory)); - - if(substr($new_path, -1) == '/') // Identifier for directories - { - if(!file_exists($destination.$new_path)) mkdir($destination.$new_path, 0777, true); - } - else // Handle files - { - if(zip_entry_open($ziphandle, $entry)) - { - $new_dir = dirname($destination.$new_path); - if(!file_exists($new_dir)) mkdir($new_dir, 0777, true); - - $file = fopen($destination.$new_path, 'wb'); - if($file) - { - while($line = zip_entry_read($entry)) fwrite($file, $line); - fclose($file); - } - else return false; - } - } - } - } - - zip_close($ziphandle); - return true; - } - - return false; - } - - /** - * Setup the path environment variables for the install script - * - * @param $parent_mapping the SimpleXML instance with the current mapping position - * @param $url the relative path within the mapping tree - * @param $path the absolute path within the mapping tree - */ - private function processMappings($parent_mapping, $url, $path) - { - if($parent_mapping && $parent_mapping != null) - { - $writable = parent::getXPathValue($parent_mapping, 'php:permissions/@writable'); - $readable = parent::getXPathValue($parent_mapping, 'php:permissions/@readable'); - - // set the write permission - if($writable == 'true') - { - if(is_dir($path)) chmod($path, 0775); - else chmod($path, 0664); - } - - // set non-readable permission - if($readable == 'false') - { - if(is_dir($path)) chmod($path, 0333); - else chmod($path, 0222); - } - } - - // Set the environment variables - $env = str_replace('/', '_', $url); - $this->putenv[] = 'WEB_'.$env.'_DIR='.$path; - - // Step recursively into further mappings - if($parent_mapping && $parent_mapping != null) - { - foreach($parent_mapping->mapping as $mapping) - { - if($url == '/') $this->processMappings($mapping, $url.$mapping['url'], $path.$mapping['url']); - else $this->processMappings($mapping, $url.'/'.$mapping['url'], $path.'/'.$mapping['url']); - } - } - } - - /** - * Setup the environment with data for the install location - * - * @param $task an array containing all install related data - */ - private function prepareLocation($task) - { - global $app; - - // Get the domain name to use for the installation - // Would be possible in one query too, but we use 2 for easier debugging - $main_domain = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings - WHERE name = 'main_domain' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $this->domain = $main_domain['value']; - - // Get the document root - $domain_res = $app->db->queryOneRecord("SELECT document_root, web_folder, type FROM web_domain - WHERE domain = '".$app->db->quote($this->domain)."';"); - $this->document_root = $domain_res['document_root']; - - // Get the sub location - $location_res = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings - WHERE name = 'main_location' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $this->sublocation = $location_res['value']; - - // Make sure the document_root ends with / - if(substr($this->document_root, -1) != '/') $this->document_root .= '/'; - - // Attention: ISPConfig Special: web files are in subfolder 'web' -> append it: - if($domain_res['type'] == 'vhostsubdomain') $this->document_root .= $domain_res['web_folder'] . '/'; - else $this->document_root .= 'web/'; - - // If a subfolder is given, make sure it's path doesn't begin with / i.e. /phpbb - if(substr($this->sublocation, 0, 1) == '/') $this->sublocation = substr($this->sublocation, 1); - - // If the package isn't installed to a subfolder, remove the / at the end of the document root - if(empty($this->sublocation)) $this->document_root = substr($this->document_root, 0, strlen($this->document_root) - 1); - - // Set environment variables, later processed by the package install script - $this->putenv[] = 'BASE_URL_SCHEME=http'; - // putenv('BASE_URL_PORT') -> omitted as it's 80 by default - $this->putenv[] = 'BASE_URL_HOST='.$this->domain; - $this->putenv[] = 'BASE_URL_PATH='.$this->sublocation.'/'; - } - - /** - * Setup a database (if needed) and the appropriate environment variables - * - * @param $task an array containing all install related data - * @param $sxe a SimpleXMLElement handle, holding APP-META.xml - */ - private function prepareDatabase($task, $sxe) - { - global $app; - - $db_id = parent::getXPathValue($sxe, '//db:id'); - if(empty($db_id)) return; // No database needed - - /* WARNING: if this will ever be uncommented please check the updated prefix handling for user and db names!!! - * - // Set the database owner to the domain owner - // ISPConfig identifies the owner by the sys_groupid (not sys_userid!) - // so sys_userid can be set to any value - $perm = $app->db->queryOneRecord("SELECT sys_groupid, server_id FROM web_domain - WHERE domain = '".$this->domain."';"); - $task['sys_groupid'] = $perm['sys_groupid']; - $serverid = $perm['server_id']; - - // Get the database prefix and db user prefix - $app->uses('getconf'); - $global_config = $app->getconf->get_global_config('sites'); - $dbname_prefix = str_replace('[CLIENTID]', '', $global_config['dbname_prefix']); - $dbuser_prefix = str_replace('[CLIENTID]', '', $global_config['dbuser_prefix']); - $this->dbhost = DB_HOST; // Taken from config.inc.php - if(empty($this->dbhost)) $this->dbhost = 'localhost'; // Just to ensure any hostname... ;) - - $this->newdb_name = $dbname_prefix.$task['CustomerID'].'aps'.$task['InstanceID']; - $this->newdb_user = $dbuser_prefix.$task['CustomerID'].'aps'.$task['InstanceID']; - $dbpw_res = $app->db->queryOneRecord("SELECT Value FROM aps_instances_settings - WHERE Name = 'main_database_password' AND InstanceID = '".$app->db->quote($task['InstanceID'])."';"); - $newdb_pw = $dbpw_res['Value']; - - // In any case delete an existing database (install and removal procedure) - $app->db->query('DROP DATABASE IF EXISTS `'.$app->db->quote($this->newdb_name).'`;'); - // Delete an already existing database with this name - $app->db->query("DELETE FROM web_database WHERE database_name = '".$app->db->quote($this->newdb_name)."';"); - - - // Create the new database and assign it to a user - if($this->handle_type == 'install') - { - $app->db->query('CREATE DATABASE IF NOT EXISTS `'.$app->db->quote($this->newdb_name).'`;'); - $app->db->query('GRANT ALL PRIVILEGES ON '.$app->db->quote($this->newdb_name).'.* TO '.$app->db->quote($this->newdb_user).'@'.$app->db->quote($this->dbhost).' IDENTIFIED BY \'password\';'); - $app->db->query('SET PASSWORD FOR '.$app->db->quote($this->newdb_user).'@'.$app->db->quote($this->dbhost).' = PASSWORD(\''.$newdb_pw.'\');'); - $app->db->query('FLUSH PRIVILEGES;'); - - // Add the new database to the customer databases - // Assumes: charset = utf8 - $app->db->query('INSERT INTO web_database (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, server_id, - type, database_name, database_user, database_password, database_charset, remote_access, remote_ips, active) - VALUES ('.$task['sys_userid'].', '.$task['sys_groupid'].', "'.$task['sys_perm_user'].'", "'.$task['sys_perm_group'].'", - "'.$task['sys_perm_other'].'", '.$app->db->quote($serverid).', "mysql", "'.$app->db->quote($this->newdb_name).'", - "'.$app->db->quote($this->newdb_user).'", "'.$app->db->quote($newdb_pw).'", "utf8", "n", "", "y");'); - } - */ - - $mysqlver_res = $app->db->queryOneRecord('SELECT VERSION() as ver;'); - $mysqlver = $mysqlver_res['ver']; - - $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_password' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $newdb_pw = $tmp['value']; - - $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_host' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $newdb_host = $tmp['value']; - - $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_name' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $newdb_name = $tmp['value']; - - $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_login' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $newdb_login = $tmp['value']; - - $this->putenv[] = 'DB_'.$db_id.'_TYPE=mysql'; - $this->putenv[] = 'DB_'.$db_id.'_NAME='.$newdb_name; - $this->putenv[] = 'DB_'.$db_id.'_LOGIN='.$newdb_login; - $this->putenv[] = 'DB_'.$db_id.'_PASSWORD='.$newdb_pw; - $this->putenv[] = 'DB_'.$db_id.'_HOST='.$newdb_host; - $this->putenv[] = 'DB_'.$db_id.'_PORT=3306'; - $this->putenv[] = 'DB_'.$db_id.'_VERSION='.$mysqlver; - } - - /** - * Extract all needed files from the package - * - * @param $task an array containing all install related data - * @param $sxe a SimpleXMLElement handle, holding APP-META.xml - * @return boolean - */ - private function prepareFiles($task, $sxe) - { - global $app; - - // Basically set the mapping for APS version 1.0, if not available -> newer way - $mapping = $sxe->mapping; - $mapping_path = $sxe->mapping['path']; - $mapping_url = $sxe->mapping['url']; - if(empty($mapping)) - { - $mapping = $sxe->service->provision->{'url-mapping'}->mapping; - $mapping_path = $sxe->service->provision->{'url-mapping'}->mapping['path']; - $mapping_url = $sxe->service->provision->{'url-mapping'}->mapping['url']; - } - - try - { - // Make sure we have a valid mapping path (at least /) - if(empty($mapping_path)) throw new Exception('Unable to determine a mapping path'); - - $this->local_installpath = $this->document_root.$this->sublocation.'/'; - - // Now delete an existing folder (affects install and removal in the same way) - @chdir($this->local_installpath); - if(file_exists($this->local_installpath)){ - // make sure we don't delete error and stats folders - if($this->local_installpath == $this->document_root.'/'){ - if(is_dir($this->document_root)){ - $files = array_diff(scandir($this->document_root), array('.','..','error','stats')); - foreach($files as $file){ - if(is_dir($this->document_root.'/'.$file)){ - $app->file->removeDirectory($this->document_root.'/'.$file); - } else { - @unlink($this->document_root.'/'.$file); - } - } - } else { - @unlink($this->document_root); - mkdir($this->document_root, 0777, true); - } - } else { - exec("rm -Rf ".escapeshellarg($this->local_installpath).'*'); - } - } else { - mkdir($this->local_installpath, 0777, true); - } - - if($this->handle_type == 'install') - { - // Now check if the needed folder is there - if(!file_exists($this->local_installpath)) - throw new Exception('Unable to create a new folder for the package '.$task['path']); - - // Extract all files and assign them a new owner - if( ($this->extractZip($this->packages_dir.'/'.$task['path'], $mapping_path, $this->local_installpath) === false) - || ($this->extractZip($this->packages_dir.'/'.$task['path'], 'scripts', $this->local_installpath.'install_scripts/') === false) ) - { - // Clean already extracted data - exec("rm -Rf ".escapeshellarg($this->local_installpath).'*'); - throw new Exception('Unable to extract the package '.$task['path']); - } - - $this->processMappings($mapping, $mapping_url, $this->local_installpath); - - // Set the appropriate file owner - $main_domain = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings - WHERE name = 'main_domain' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); - $owner_res = $app->db->queryOneRecord("SELECT system_user, system_group FROM web_domain - WHERE domain = '".$app->db->quote($main_domain['value'])."';"); - $this->file_owner_user = $owner_res['system_user']; - $this->file_owner_group = $owner_res['system_group']; - exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); - - //* Chown stats directory back - if(is_dir($this->local_installpath.'stats')) { - exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); - } - } - } - catch(Exception $e) - { - $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" - WHERE id = "'.$app->db->quote($task['instance_id']).'";'); - $app->log($e->getMessage(), 1); - return false; - } - - return true; - } - - /** - * Get all user config variables and set them to environment variables - * - * @param $task an array containing all install related data - */ - private function prepareUserInputData($task) - { - global $app; - - $userdata = $app->db->queryAllRecords("SELECT name, value FROM aps_instances_settings - WHERE instance_id = '".$app->db->quote($task['instance_id'])."';"); - if(empty($userdata)) return false; - - foreach($userdata as $data) - { - // Skip unnecessary data - if($data['name'] == 'main_location' - || $data['name'] == 'main_domain' - || $data['name'] == 'main_database_password' - || $data['name'] == 'main_database_name' - || $data['name'] == 'main_database_host' - || $data['name'] == 'main_database_login' - || $data['name'] == 'license') continue; - - $this->putenv[] = 'SETTINGS_'.$data['name'].'='.$data['value']; - } - } - - /** - * Fetch binary data from a given array - * The data is retrieved in binary mode and - * then directly written to an output file - * - * @param $input a specially structed array - * @see $this->startUpdate() - */ - private function fetchFiles($input) - { - $fh = array(); - $url = array(); - $conn = array(); - - // Build the single cURL handles and add them to a multi handle - $mh = curl_multi_init(); - - // Process each app - for($i = 0; $i < count($input); $i++) - { - $conn[$i] = curl_init($input[$i]['url']); - $fh[$i] = fopen($input[$i]['localtarget'], 'wb'); - - curl_setopt($conn[$i], CURLOPT_BINARYTRANSFER, true); - curl_setopt($conn[$i], CURLOPT_FILE, $fh[$i]); - curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); - curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); - curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); - - curl_multi_add_handle($mh, $conn[$i]); - } - - $active = 0; - do curl_multi_exec($mh, $active); - while($active > 0); - - // Close the handles - for($i = 0; $i < count($input); $i++) - { - fclose($fh[$i]); - curl_multi_remove_handle($mh, $conn[$i]); - curl_close($conn[$i]); - } - curl_multi_close($mh); - } - - /** - * The installation script should be executed - * - * @param $task an array containing all install related data - * @param $sxe a SimpleXMLElement handle, holding APP-META.xml - * @return boolean - */ - private function doInstallation($task, $sxe) - { - global $app; - - try - { - // Check if the install directory exists - if(!is_dir($this->local_installpath.'install_scripts/')) - throw new Exception('The install directory '.$this->local_installpath.' is not existing'); - - // Set the executable bit to the configure script - $cfgscript = @(string)$sxe->service->provision->{'configuration-script'}['name']; - if(!$cfgscript) $cfgscript = 'configure'; - chmod($this->local_installpath.'install_scripts/'.$cfgscript, 0755); - - // Change to the install folder (import for the exec() below!) - //exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); - chdir($this->local_installpath.'install_scripts/'); - - // Set the enviroment variables - foreach($this->putenv as $var) { - putenv($var); - } - - $shell_retcode = true; - $shell_ret = array(); - exec('php '.escapeshellarg($this->local_installpath.'install_scripts/'.$cfgscript).' install 2>&1', $shell_ret, $shell_retcode); - $shell_ret = array_filter($shell_ret); - $shell_ret_str = implode("\n", $shell_ret); - - // Although $shell_retcode might be 0, there can be PHP errors. Filter them: - if(substr_count($shell_ret_str, 'Warning: ') > 0) $shell_retcode = 1; - - // If an error has occurred, the return code is != 0 - if($shell_retcode != 0) throw new Exception($shell_ret_str); - else - { - // The install succeeded, chown newly created files too - exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); - - //* Chown stats directory back - if(is_dir($this->local_installpath.'stats')) { - exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); - } - - $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_SUCCESS.'" - WHERE id = "'.$app->db->quote($task['instance_id']).'";'); - } - } - catch(Exception $e) - { - $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" - WHERE id = "'.$app->db->quote($task['instance_id']).'";'); - $app->log($e->getMessage(), 1); - return false; - } - - return true; - } - - /** - * Cleanup: Remove install scripts, remove tasks and update the database - * - * @param $task an array containing all install related data - * @param $sxe a SimpleXMLElement handle, holding APP-META.xml - */ - private function cleanup($task, $sxe) - { - chdir($this->local_installpath); - exec("rm -Rf ".escapeshellarg($this->local_installpath).'install_scripts'); - } - - /** - * The main method which performs the actual package installation - * - * @param $instanceid the instanceID to install - * @param $type the type of task to perform (installation, removal) - */ - public function installHandler($instanceid, $type) - { - global $app; - - // Set the given handle type, currently supported: install, delete - if($type == 'install' || $type == 'delete') $this->handle_type = $type; - else return false; - - // Get all instance metadata - /* - $task = $app->db->queryOneRecord("SELECT * FROM aps_instances AS i - INNER JOIN aps_packages AS p ON i.package_id = p.id - INNER JOIN client AS c ON i.customer_id = c.client_id - WHERE i.id = ".$instanceid.";"); - */ - $task = $app->db->queryOneRecord("SELECT * FROM aps_instances AS i - INNER JOIN aps_packages AS p ON i.package_id = p.id - WHERE i.id = ".$instanceid.";"); - if(!$task) return false; // formerly: throw new Exception('The InstanceID doesn\'t exist.'); - if(!isset($task['instance_id'])) $task['instance_id'] = $instanceid; - - // Download aps package - if(!file_exists($this->packages_dir.'/'.$task['path']) || filesize($this->packages_dir.'/'.$task['path']) == 0) { - $ch = curl_init(); - $fh = fopen($this->packages_dir.'/'.$task['path'], 'wb'); - curl_setopt($ch, CURLOPT_FILE, $fh); - //curl_setopt($ch, CURLOPT_HEADER, 0); - curl_setopt($ch, CURLOPT_URL, $task['package_url']); - curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); - curl_setopt($ch, CURLOPT_TIMEOUT, 0); - curl_setopt($ch, CURLOPT_FAILONERROR, 1); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); - if(curl_exec($ch) === false) $app->log(curl_error ($ch),1); - fclose($fh); - curl_close($ch); - } - - /* - $app_to_dl[] = array('name' => $task['path'], - 'url' => $task['package_url'], - 'filesize' => 0, - 'localtarget' => $this->packages_dir.'/'.$task['path']); - - $this->fetchFiles($app_to_dl); - */ - - // Make sure the requirements are given so that this script can execute - $req_ret = $this->checkRequirements(); - if(!$req_ret) return false; - - $metafile = $this->getContentFromZIP($this->packages_dir.'/'.$task['path'], 'APP-META.xml'); - // Check if the meta file is existing - if(!$metafile) - { - $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" - WHERE id = "'.$app->db->quote($task['instance_id']).'";'); - $app->log('Unable to find the meta data file of package '.$task['path'], 1); - return false; - } - - // Rename namespaces and register them - $metadata = str_replace("xmlns=", "ns=", $metafile); - $sxe = new SimpleXMLElement($metadata); - $namespaces = $sxe->getDocNamespaces(true); - foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); - - // Setup the environment with data for the install location - $this->prepareLocation($task); - - // Create the database if necessary - $this->prepareDatabase($task, $sxe); - - // Unpack the install scripts from the packages - if($this->prepareFiles($task, $sxe) && $this->handle_type == 'install') - { - // Setup the variables from the install script - $this->prepareUserInputData($task); - - // Do the actual installation - $this->doInstallation($task, $sxe); - - // Remove temporary files - $this->cleanup($task, $sxe); - } - - // Finally delete the instance entry + settings - if($this->handle_type == 'delete') - { - $app->db->query('DELETE FROM aps_instances WHERE id = "'.$app->db->quote($task['instance_id']).'";'); - $app->db->query('DELETE FROM aps_instances_settings WHERE instance_id = "'.$app->db->quote($task['instance_id']).'";'); - } - - unset($sxe); - } -} -?> +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ +require_once('aps_base.inc.php'); + +@set_time_limit(0); +@ignore_user_abort(1); + +class ApsInstaller extends ApsBase +{ + private $handle_type = ''; + private $domain = ''; + private $document_root = ''; + private $sublocation = ''; + private $local_installpath = ''; + private $dbhost = ''; + private $newdb_name = ''; + private $newdb_user = ''; + private $file_owner_user = ''; + private $file_owner_group = ''; + private $putenv = array(); + + /** + * Constructor + * + * @param $app the application instance (db handle + log method) + * @param $interface_mode act in interface (true) or server mode (false) + */ + public function __construct($app, $interface_mode = false) + { + parent::__construct($app, 'APS installer: ', $interface_mode); + } + + /** + * Before the cron is executed, make sure all necessary options are set + * and all functions are available + */ + private function checkRequirements() + { + global $app; + try + { + // Check if exec() is not disabled + $disabled_func = explode(',', @ini_get('disable_functions')); + if(in_array('exec', $disabled_func)) throw new Exception('the call of exec() is disabled'); + + // Check if safe_mode is disabled (needed for correct putenv, chmod, chown handling) + if(@ini_get('safe_mode')) throw new Exception('the safe_mode restriction is on'); + + return true; + } + catch(Exception $e) + { + $app->log('Aborting execution because '.$e->getMessage(), 1); + return false; + } + } + + /** + * Get a file from a ZIP archive and either return it's content or + * extract it to a given destination + * + * @param $zipfile the ZIP file to work with + * @param $subfile the file from which to get the content + * @param $destfolder the optional extraction destination + * @param $destname the optional target file name when extracting + * @return string or boolean + */ + private function getContentFromZIP($zipfile, $subfile, $destfolder = '', $destname = '') + { + try + { + $zip = new ZipArchive; + $res = $zip->open(realpath($zipfile)); + if(!$res) throw new Exception('Cannot open ZIP file '.$zipfile); + + // If no destination is given, the content is returned, otherwise + // the $subfile is extracted to $destination + if($destfolder == '') + { + $fh = $zip->getStream($subfile); + if(!$fh) throw new Exception('Cannot read '.$subfile.' from '.$zipfile); + + $subfile_content = ''; + while(!feof($fh)) $subfile_content .= fread($fh, 8192); + + fclose($fh); + + return $subfile_content; + } + else + { + // extractTo would be suitable but has no target name parameter + //$ind = $zip->locateName($subfile); + //$ex = $zip->extractTo($destination, array($zip->getNameIndex($ind))); + if($destname == '') $destname = basename($subfile); + $ex = @copy('zip://'.$zipfile.'#'.$subfile, $destfolder.$destname); + if(!$ex) throw new Exception('Cannot extract '.$subfile.' to '.$destfolder); + } + + $zip->close(); + + } + catch(Exception $e) + { + // The exception message is only interesting for debugging reasons + // echo $e->getMessage(); + return false; + } + } + + /** + * Extract the complete directory of a ZIP file + * + * @param $filename the file to unzip + * @param $directory the ZIP inside directory to unzip + * @param $destination the place where to extract the data + * @return boolean + */ + private function extractZip($filename, $directory, $destination) + { + if(!file_exists($filename)) return false; + + // Fix the paths + if(substr($directory, -1) == '/') $directory = substr($directory, 0, strlen($directory) - 1); + if(substr($destination, -1) != '/') $destination .= '/'; + + // Read and extract the ZIP file + $ziphandle = zip_open(realpath($filename)); + if(is_resource($ziphandle)) + { + while($entry = zip_read($ziphandle)) + { + if(substr(zip_entry_name($entry), 0, strlen($directory)) == $directory) + { + // Modify the relative ZIP file path + $new_path = substr(zip_entry_name($entry), strlen($directory)); + + if(substr($new_path, -1) == '/') // Identifier for directories + { + if(!file_exists($destination.$new_path)) mkdir($destination.$new_path, 0777, true); + } + else // Handle files + { + if(zip_entry_open($ziphandle, $entry)) + { + $new_dir = dirname($destination.$new_path); + if(!file_exists($new_dir)) mkdir($new_dir, 0777, true); + + $file = fopen($destination.$new_path, 'wb'); + if($file) + { + while($line = zip_entry_read($entry)) fwrite($file, $line); + fclose($file); + } + else return false; + } + } + } + } + + zip_close($ziphandle); + return true; + } + + return false; + } + + /** + * Setup the path environment variables for the install script + * + * @param $parent_mapping the SimpleXML instance with the current mapping position + * @param $url the relative path within the mapping tree + * @param $path the absolute path within the mapping tree + */ + private function processMappings($parent_mapping, $url, $path) + { + if($parent_mapping && $parent_mapping != null) + { + $writable = parent::getXPathValue($parent_mapping, 'php:permissions/@writable'); + $readable = parent::getXPathValue($parent_mapping, 'php:permissions/@readable'); + + // set the write permission + if($writable == 'true') + { + if(is_dir($path)) chmod($path, 0775); + else chmod($path, 0664); + } + + // set non-readable permission + if($readable == 'false') + { + if(is_dir($path)) chmod($path, 0333); + else chmod($path, 0222); + } + } + + // Set the environment variables + $env = str_replace('/', '_', $url); + $this->putenv[] = 'WEB_'.$env.'_DIR='.$path; + + // Step recursively into further mappings + if($parent_mapping && $parent_mapping != null) + { + foreach($parent_mapping->mapping as $mapping) + { + if($url == '/') $this->processMappings($mapping, $url.$mapping['url'], $path.$mapping['url']); + else $this->processMappings($mapping, $url.'/'.$mapping['url'], $path.'/'.$mapping['url']); + } + } + } + + /** + * Setup the environment with data for the install location + * + * @param $task an array containing all install related data + */ + private function prepareLocation($task) + { + global $app; + + // Get the domain name to use for the installation + // Would be possible in one query too, but we use 2 for easier debugging + $main_domain = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings + WHERE name = 'main_domain' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $this->domain = $main_domain['value']; + + // Get the document root + $domain_res = $app->db->queryOneRecord("SELECT document_root, web_folder, type FROM web_domain + WHERE domain = '".$app->db->quote($this->domain)."';"); + $this->document_root = $domain_res['document_root']; + + // Get the sub location + $location_res = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings + WHERE name = 'main_location' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $this->sublocation = $location_res['value']; + + // Make sure the document_root ends with / + if(substr($this->document_root, -1) != '/') $this->document_root .= '/'; + + // Attention: ISPConfig Special: web files are in subfolder 'web' -> append it: + if($domain_res['type'] == 'vhostsubdomain') $this->document_root .= $domain_res['web_folder'] . '/'; + else $this->document_root .= 'web/'; + + // If a subfolder is given, make sure it's path doesn't begin with / i.e. /phpbb + if(substr($this->sublocation, 0, 1) == '/') $this->sublocation = substr($this->sublocation, 1); + + // If the package isn't installed to a subfolder, remove the / at the end of the document root + if(empty($this->sublocation)) $this->document_root = substr($this->document_root, 0, strlen($this->document_root) - 1); + + // Set environment variables, later processed by the package install script + $this->putenv[] = 'BASE_URL_SCHEME=http'; + // putenv('BASE_URL_PORT') -> omitted as it's 80 by default + $this->putenv[] = 'BASE_URL_HOST='.$this->domain; + $this->putenv[] = 'BASE_URL_PATH='.$this->sublocation.'/'; + } + + /** + * Setup a database (if needed) and the appropriate environment variables + * + * @param $task an array containing all install related data + * @param $sxe a SimpleXMLElement handle, holding APP-META.xml + */ + private function prepareDatabase($task, $sxe) + { + global $app; + + $db_id = parent::getXPathValue($sxe, '//db:id'); + if(empty($db_id)) return; // No database needed + + /* WARNING: if this will ever be uncommented please check the updated prefix handling for user and db names!!! + * + // Set the database owner to the domain owner + // ISPConfig identifies the owner by the sys_groupid (not sys_userid!) + // so sys_userid can be set to any value + $perm = $app->db->queryOneRecord("SELECT sys_groupid, server_id FROM web_domain + WHERE domain = '".$this->domain."';"); + $task['sys_groupid'] = $perm['sys_groupid']; + $serverid = $perm['server_id']; + + // Get the database prefix and db user prefix + $app->uses('getconf'); + $global_config = $app->getconf->get_global_config('sites'); + $dbname_prefix = str_replace('[CLIENTID]', '', $global_config['dbname_prefix']); + $dbuser_prefix = str_replace('[CLIENTID]', '', $global_config['dbuser_prefix']); + $this->dbhost = DB_HOST; // Taken from config.inc.php + if(empty($this->dbhost)) $this->dbhost = 'localhost'; // Just to ensure any hostname... ;) + + $this->newdb_name = $dbname_prefix.$task['CustomerID'].'aps'.$task['InstanceID']; + $this->newdb_user = $dbuser_prefix.$task['CustomerID'].'aps'.$task['InstanceID']; + $dbpw_res = $app->db->queryOneRecord("SELECT Value FROM aps_instances_settings + WHERE Name = 'main_database_password' AND InstanceID = '".$app->db->quote($task['InstanceID'])."';"); + $newdb_pw = $dbpw_res['Value']; + + // In any case delete an existing database (install and removal procedure) + $app->db->query('DROP DATABASE IF EXISTS `'.$app->db->quote($this->newdb_name).'`;'); + // Delete an already existing database with this name + $app->db->query("DELETE FROM web_database WHERE database_name = '".$app->db->quote($this->newdb_name)."';"); + + + // Create the new database and assign it to a user + if($this->handle_type == 'install') + { + $app->db->query('CREATE DATABASE IF NOT EXISTS `'.$app->db->quote($this->newdb_name).'`;'); + $app->db->query('GRANT ALL PRIVILEGES ON '.$app->db->quote($this->newdb_name).'.* TO '.$app->db->quote($this->newdb_user).'@'.$app->db->quote($this->dbhost).' IDENTIFIED BY \'password\';'); + $app->db->query('SET PASSWORD FOR '.$app->db->quote($this->newdb_user).'@'.$app->db->quote($this->dbhost).' = PASSWORD(\''.$newdb_pw.'\');'); + $app->db->query('FLUSH PRIVILEGES;'); + + // Add the new database to the customer databases + // Assumes: charset = utf8 + $app->db->query('INSERT INTO web_database (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other, server_id, + type, database_name, database_user, database_password, database_charset, remote_access, remote_ips, active) + VALUES ('.$task['sys_userid'].', '.$task['sys_groupid'].', "'.$task['sys_perm_user'].'", "'.$task['sys_perm_group'].'", + "'.$task['sys_perm_other'].'", '.$app->db->quote($serverid).', "mysql", "'.$app->db->quote($this->newdb_name).'", + "'.$app->db->quote($this->newdb_user).'", "'.$app->db->quote($newdb_pw).'", "utf8", "n", "", "y");'); + } + */ + + $mysqlver_res = $app->db->queryOneRecord('SELECT VERSION() as ver;'); + $mysqlver = $mysqlver_res['ver']; + + $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_password' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $newdb_pw = $tmp['value']; + + $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_host' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $newdb_host = $tmp['value']; + + $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_name' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $newdb_name = $tmp['value']; + + $tmp = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings WHERE name = 'main_database_login' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $newdb_login = $tmp['value']; + + $this->putenv[] = 'DB_'.$db_id.'_TYPE=mysql'; + $this->putenv[] = 'DB_'.$db_id.'_NAME='.$newdb_name; + $this->putenv[] = 'DB_'.$db_id.'_LOGIN='.$newdb_login; + $this->putenv[] = 'DB_'.$db_id.'_PASSWORD='.$newdb_pw; + $this->putenv[] = 'DB_'.$db_id.'_HOST='.$newdb_host; + $this->putenv[] = 'DB_'.$db_id.'_PORT=3306'; + $this->putenv[] = 'DB_'.$db_id.'_VERSION='.$mysqlver; + } + + /** + * Extract all needed files from the package + * + * @param $task an array containing all install related data + * @param $sxe a SimpleXMLElement handle, holding APP-META.xml + * @return boolean + */ + private function prepareFiles($task, $sxe) + { + global $app; + + // Basically set the mapping for APS version 1.0, if not available -> newer way + $mapping = $sxe->mapping; + $mapping_path = $sxe->mapping['path']; + $mapping_url = $sxe->mapping['url']; + if(empty($mapping)) + { + $mapping = $sxe->service->provision->{'url-mapping'}->mapping; + $mapping_path = $sxe->service->provision->{'url-mapping'}->mapping['path']; + $mapping_url = $sxe->service->provision->{'url-mapping'}->mapping['url']; + } + + try + { + // Make sure we have a valid mapping path (at least /) + if(empty($mapping_path)) throw new Exception('Unable to determine a mapping path'); + + $this->local_installpath = $this->document_root.$this->sublocation.'/'; + + // Now delete an existing folder (affects install and removal in the same way) + @chdir($this->local_installpath); + if(file_exists($this->local_installpath)){ + // make sure we don't delete error and stats folders + if($this->local_installpath == $this->document_root.'/'){ + if(is_dir($this->document_root)){ + $files = array_diff(scandir($this->document_root), array('.','..','error','stats')); + foreach($files as $file){ + if(is_dir($this->document_root.'/'.$file)){ + $app->file->removeDirectory($this->document_root.'/'.$file); + } else { + @unlink($this->document_root.'/'.$file); + } + } + } else { + @unlink($this->document_root); + mkdir($this->document_root, 0777, true); + } + } else { + exec("rm -Rf ".escapeshellarg($this->local_installpath).'*'); + } + } else { + mkdir($this->local_installpath, 0777, true); + } + + if($this->handle_type == 'install') + { + // Now check if the needed folder is there + if(!file_exists($this->local_installpath)) + throw new Exception('Unable to create a new folder for the package '.$task['path']); + + // Extract all files and assign them a new owner + if( ($this->extractZip($this->packages_dir.'/'.$task['path'], $mapping_path, $this->local_installpath) === false) + || ($this->extractZip($this->packages_dir.'/'.$task['path'], 'scripts', $this->local_installpath.'install_scripts/') === false) ) + { + // Clean already extracted data + exec("rm -Rf ".escapeshellarg($this->local_installpath).'*'); + throw new Exception('Unable to extract the package '.$task['path']); + } + + $this->processMappings($mapping, $mapping_url, $this->local_installpath); + + // Set the appropriate file owner + $main_domain = $app->db->queryOneRecord("SELECT value FROM aps_instances_settings + WHERE name = 'main_domain' AND instance_id = '".$app->db->quote($task['instance_id'])."';"); + $owner_res = $app->db->queryOneRecord("SELECT system_user, system_group FROM web_domain + WHERE domain = '".$app->db->quote($main_domain['value'])."';"); + $this->file_owner_user = $owner_res['system_user']; + $this->file_owner_group = $owner_res['system_group']; + exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); + + //* Chown stats directory back + if(is_dir($this->local_installpath.'stats')) { + exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); + } + } + } + catch(Exception $e) + { + $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" + WHERE id = "'.$app->db->quote($task['instance_id']).'";'); + $app->log($e->getMessage(), 1); + return false; + } + + return true; + } + + /** + * Get all user config variables and set them to environment variables + * + * @param $task an array containing all install related data + */ + private function prepareUserInputData($task) + { + global $app; + + $userdata = $app->db->queryAllRecords("SELECT name, value FROM aps_instances_settings + WHERE instance_id = '".$app->db->quote($task['instance_id'])."';"); + if(empty($userdata)) return false; + + foreach($userdata as $data) + { + // Skip unnecessary data + if($data['name'] == 'main_location' + || $data['name'] == 'main_domain' + || $data['name'] == 'main_database_password' + || $data['name'] == 'main_database_name' + || $data['name'] == 'main_database_host' + || $data['name'] == 'main_database_login' + || $data['name'] == 'license') continue; + + $this->putenv[] = 'SETTINGS_'.$data['name'].'='.$data['value']; + } + } + + /** + * Fetch binary data from a given array + * The data is retrieved in binary mode and + * then directly written to an output file + * + * @param $input a specially structed array + * @see $this->startUpdate() + */ + private function fetchFiles($input) + { + $fh = array(); + $url = array(); + $conn = array(); + + // Build the single cURL handles and add them to a multi handle + $mh = curl_multi_init(); + + // Process each app + for($i = 0; $i < count($input); $i++) + { + $conn[$i] = curl_init($input[$i]['url']); + $fh[$i] = fopen($input[$i]['localtarget'], 'wb'); + + curl_setopt($conn[$i], CURLOPT_BINARYTRANSFER, true); + curl_setopt($conn[$i], CURLOPT_FILE, $fh[$i]); + curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); + curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); + curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); + + curl_multi_add_handle($mh, $conn[$i]); + } + + $active = 0; + do curl_multi_exec($mh, $active); + while($active > 0); + + // Close the handles + for($i = 0; $i < count($input); $i++) + { + fclose($fh[$i]); + curl_multi_remove_handle($mh, $conn[$i]); + curl_close($conn[$i]); + } + curl_multi_close($mh); + } + + /** + * The installation script should be executed + * + * @param $task an array containing all install related data + * @param $sxe a SimpleXMLElement handle, holding APP-META.xml + * @return boolean + */ + private function doInstallation($task, $sxe) + { + global $app; + + try + { + // Check if the install directory exists + if(!is_dir($this->local_installpath.'install_scripts/')) + throw new Exception('The install directory '.$this->local_installpath.' is not existing'); + + // Set the executable bit to the configure script + $cfgscript = @(string)$sxe->service->provision->{'configuration-script'}['name']; + if(!$cfgscript) $cfgscript = 'configure'; + chmod($this->local_installpath.'install_scripts/'.$cfgscript, 0755); + + // Change to the install folder (import for the exec() below!) + //exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); + chdir($this->local_installpath.'install_scripts/'); + + // Set the enviroment variables + foreach($this->putenv as $var) { + putenv($var); + } + + $shell_retcode = true; + $shell_ret = array(); + exec('php '.escapeshellarg($this->local_installpath.'install_scripts/'.$cfgscript).' install 2>&1', $shell_ret, $shell_retcode); + $shell_ret = array_filter($shell_ret); + $shell_ret_str = implode("\n", $shell_ret); + + // Although $shell_retcode might be 0, there can be PHP errors. Filter them: + if(substr_count($shell_ret_str, 'Warning: ') > 0) $shell_retcode = 1; + + // If an error has occurred, the return code is != 0 + if($shell_retcode != 0) throw new Exception($shell_ret_str); + else + { + // The install succeeded, chown newly created files too + exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); + + //* Chown stats directory back + if(is_dir($this->local_installpath.'stats')) { + exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); + } + + $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_SUCCESS.'" + WHERE id = "'.$app->db->quote($task['instance_id']).'";'); + } + } + catch(Exception $e) + { + $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" + WHERE id = "'.$app->db->quote($task['instance_id']).'";'); + $app->log($e->getMessage(), 1); + return false; + } + + return true; + } + + /** + * Cleanup: Remove install scripts, remove tasks and update the database + * + * @param $task an array containing all install related data + * @param $sxe a SimpleXMLElement handle, holding APP-META.xml + */ + private function cleanup($task, $sxe) + { + chdir($this->local_installpath); + exec("rm -Rf ".escapeshellarg($this->local_installpath).'install_scripts'); + } + + /** + * The main method which performs the actual package installation + * + * @param $instanceid the instanceID to install + * @param $type the type of task to perform (installation, removal) + */ + public function installHandler($instanceid, $type) + { + global $app; + + // Set the given handle type, currently supported: install, delete + if($type == 'install' || $type == 'delete') $this->handle_type = $type; + else return false; + + // Get all instance metadata + /* + $task = $app->db->queryOneRecord("SELECT * FROM aps_instances AS i + INNER JOIN aps_packages AS p ON i.package_id = p.id + INNER JOIN client AS c ON i.customer_id = c.client_id + WHERE i.id = ".$instanceid.";"); + */ + $task = $app->db->queryOneRecord("SELECT * FROM aps_instances AS i + INNER JOIN aps_packages AS p ON i.package_id = p.id + WHERE i.id = ".$instanceid.";"); + if(!$task) return false; // formerly: throw new Exception('The InstanceID doesn\'t exist.'); + if(!isset($task['instance_id'])) $task['instance_id'] = $instanceid; + + // Download aps package + if(!file_exists($this->packages_dir.'/'.$task['path']) || filesize($this->packages_dir.'/'.$task['path']) == 0) { + $ch = curl_init(); + $fh = fopen($this->packages_dir.'/'.$task['path'], 'wb'); + curl_setopt($ch, CURLOPT_FILE, $fh); + //curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_URL, $task['package_url']); + curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); + curl_setopt($ch, CURLOPT_TIMEOUT, 0); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + if(curl_exec($ch) === false) $app->log(curl_error ($ch),1); + fclose($fh); + curl_close($ch); + } + + /* + $app_to_dl[] = array('name' => $task['path'], + 'url' => $task['package_url'], + 'filesize' => 0, + 'localtarget' => $this->packages_dir.'/'.$task['path']); + + $this->fetchFiles($app_to_dl); + */ + + // Make sure the requirements are given so that this script can execute + $req_ret = $this->checkRequirements(); + if(!$req_ret) return false; + + $metafile = $this->getContentFromZIP($this->packages_dir.'/'.$task['path'], 'APP-META.xml'); + // Check if the meta file is existing + if(!$metafile) + { + $app->dbmaster->query('UPDATE aps_instances SET instance_status = "'.INSTANCE_ERROR.'" + WHERE id = "'.$app->db->quote($task['instance_id']).'";'); + $app->log('Unable to find the meta data file of package '.$task['path'], 1); + return false; + } + + // Rename namespaces and register them + $metadata = str_replace("xmlns=", "ns=", $metafile); + $sxe = new SimpleXMLElement($metadata); + $namespaces = $sxe->getDocNamespaces(true); + foreach($namespaces as $ns => $url) $sxe->registerXPathNamespace($ns, $url); + + // Setup the environment with data for the install location + $this->prepareLocation($task); + + // Create the database if necessary + $this->prepareDatabase($task, $sxe); + + // Unpack the install scripts from the packages + if($this->prepareFiles($task, $sxe) && $this->handle_type == 'install') + { + // Setup the variables from the install script + $this->prepareUserInputData($task); + + // Do the actual installation + $this->doInstallation($task, $sxe); + + // Remove temporary files + $this->cleanup($task, $sxe); + } + + // Finally delete the instance entry + settings + if($this->handle_type == 'delete') + { + $app->db->query('DELETE FROM aps_instances WHERE id = "'.$app->db->quote($task['instance_id']).'";'); + $app->db->query('DELETE FROM aps_instances_settings WHERE instance_id = "'.$app->db->quote($task['instance_id']).'";'); + } + + unset($sxe); + } +} +?> \ No newline at end of file diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index 6b93e1e6ae..0b1caa6cbd 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -755,13 +755,6 @@ class monitor_tools { $data['mysqlserver'] = 0; $state = 'error'; // because service is down } - - if ($this->_checkTcp('localhost', 27017)) { - $data['mongodbserver'] = 1; - } else { - $data['mongodbserver'] = 0; - $state = 'error'; // because service is down - } } /* @@ -907,7 +900,7 @@ class monitor_tools { /* * Fetch the output */ - $data['output'] = $aptData; + $data['output'] = shell_exec('apt-get -s -q dist-upgrade'); } elseif (file_exists('/etc/gentoo-release')) { /* @@ -1068,7 +1061,7 @@ class monitor_tools { /* fetch the next line */ $line = $tmp[$i]; - if ((strpos($line, '[U_]') !== false) || (strpos($line, '[_U]') !== false)) { + if ((strpos($line, 'U_]') !== false) || (strpos($line, '[_U') !== false) || (strpos($line, 'U_U') !== false)) { /* One Disk is not working. * if the next line starts with "[>" or "[=" then * recovery (resync) is in state and the state is @@ -1306,51 +1299,6 @@ class monitor_tools { return $res; } - public function monitorMongoDB() { - global $conf; - - /* the id of the server as int */ - $server_id = intval($conf['server_id']); - - /** The type of the data */ - $type = 'log_mongodb'; - - /* This monitoring is only available if MongoDB is installed */ - system('which mongod', $retval); // Debian, Ubuntu, Fedora - if ($retval !== 0) - system('which mongod', $retval); // CentOS - if ($retval === 0) { - /* Get the data of the log */ - $data = $this->_getLogData($type); - - /* - * At this moment, there is no state (maybe later) - */ - $state = 'no_state'; - } else { - /* - * MongoDB is not installed, so there is no data and no state - * - * no_state, NOT unknown, because "unknown" is shown as state - * inside the GUI. no_state is hidden. - * - * We have to write NO DATA inside the DB, because the GUI - * could not know, if there is any dat, or not... - */ - $state = 'no_state'; - $data = ''; - } - - /* - * Return the Result - */ - $res['server_id'] = $server_id; - $res['type'] = $type; - $res['data'] = $data; - $res['state'] = $state; - return $res; - } - public function monitorIPTables() { global $conf; @@ -1797,9 +1745,6 @@ class monitor_tools { $logfile = '/var/log/fail2ban.log'; } break; - case 'log_mongodb': - $logfile = '/var/log/mongodb/mongodb.log'; - break; case 'log_ispconfig': if ($dist == 'debian') { $logfile = $conf['ispconfig_log_dir'] . '/ispconfig.log'; @@ -1981,4 +1926,4 @@ class monitor_tools { } -?> +?> \ No newline at end of file diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index f6b52cfbfd..57b1e1fae0 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -780,7 +780,8 @@ class system{ if(substr($path,0,1) != '/') return false; //* We allow only some characters in the path - if(!preg_match('/^\/[a-zA-Z0-9_\/\.\-]{1,}$/',$path)) return false; + // * is allowed, for example it is part of wildcard certificates/keys: *.example.com.crt + if(!preg_match('@^/[-a-zA-Z0-9_/.*~]{1,}$@',$path)) return false; //* Check path for symlinks $path_parts = explode('/',$path); diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index 88e994dccf..2e66d64938 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -89,7 +89,7 @@ class monitor_core_module { $this->_tools = new monitor_tools(); /* - * Calls the single Monitoring steps + * Calls the single Monitoring steps */ $this->_monitorEmailQuota(); $this->_monitorHDQuota(); @@ -117,7 +117,6 @@ class monitor_core_module { $this->_monitorRaid(); $this->_monitorRkHunter(); $this->_monitorFail2ban(); - $this->_monitorMongoDB(); $this->_monitorIPTables(); $this->_monitorSysLog(); } @@ -130,12 +129,12 @@ class monitor_core_module { */ $min = @date('i', $this->_run_time); if ($min % 15 != 0) return; - + $app->uses('getconf'); $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); if($mail_config['mailbox_quota_stats'] == 'n') return; - - + + /* * First we get the Monitoring-data from the tools */ @@ -423,7 +422,7 @@ class monitor_core_module { * First we get the Monitoring-data from the tools */ $res = $this->_tools->monitorSystemUpdate(); - + //* Ensure that output is encoded so that it does not break the serialize //$res['data']['output'] = htmlentities($res['data']['output']); $res['data']['output'] = htmlentities($res['data']['output'],ENT_QUOTES,'UTF-8'); @@ -555,31 +554,6 @@ class monitor_core_module { $this->_delOldRecords($res['type'], $res['server_id']); } - private function _monitorMongoDB() { - global $app; - - /* - * First we get the Monitoring-data from the tools - */ - $res = $this->_tools->monitorMongoDB(); - - /* - * Insert the data into the database - */ - $sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' . - 'VALUES (' . - $res['server_id'] . ', ' . - "'" . $app->dbmaster->quote($res['type']) . "', " . - 'UNIX_TIMESTAMP(), ' . - "'" . $app->dbmaster->quote(serialize($res['data'])) . "', " . - "'" . $res['state'] . "'" . - ')'; - $app->dbmaster->query($sql); - - /* The new data is written, now we can delete the old one */ - $this->_delOldRecords($res['type'], $res['server_id']); - } - private function _monitorIPTables() { global $app; @@ -738,7 +712,7 @@ class monitor_core_module { * First we get the Monitoring-data from the tools */ $res = $this->_tools->monitorISPCCronLog(); - + //* Ensure that output is encoded so that it does not break the serialize if(is_array($res) && isset($res['data'])) $res['data'] = htmlentities($res['data']); @@ -846,10 +820,10 @@ class monitor_core_module { // $now = time(); // $old = $now - (4 * 60); // 4 minutes $old = 'UNIX_TIMESTAMP() - 240'; - + /* * ATTENTION if i do NOT pay attention of the server id, i delete all data (of the type) - * of ALL servers. This means, if i have a multiserver-environment and a server has a + * of ALL servers. This means, if i have a multiserver-environment and a server has a * time not synced with the others (for example, all server has 11:00 and ONE server has * 10:45) then the actual data of this server (with the time-stamp 10:45) get lost * even though it is the NEWEST data of this server. To avoid this i HAVE to include @@ -867,4 +841,4 @@ class monitor_core_module { } -?> +?> \ No newline at end of file diff --git a/server/mods-available/rescue_core_module.inc.php b/server/mods-available/rescue_core_module.inc.php index 050d32fd3b..49012d50a0 100644 --- a/server/mods-available/rescue_core_module.inc.php +++ b/server/mods-available/rescue_core_module.inc.php @@ -35,7 +35,7 @@ class rescue_core_module { /* No actions at this time. maybe later... */ var $actions_available = array(); /** - * The monitoring-Data of this module. + * The monitoring-Data of this module. * [0] are the actual data, [1] are the data 1 minnute ago [2] are teh data 2 minuntes... */ private $_monitoringData = array(); @@ -73,7 +73,7 @@ class rescue_core_module { * do nothing, if the rescue-system is not enabled */ global $conf; - if ((!isset($conf['serverconfig']['rescue']['try_rescue'])) || + if ((!isset($conf['serverconfig']['rescue']['try_rescue'])) || ((isset($conf['serverconfig']['rescue']['try_rescue'])) && ($conf['serverconfig']['rescue']['try_rescue'] !='y'))){ return; } @@ -87,22 +87,17 @@ class rescue_core_module { * Next we get the rescue data needed for rescuing the system */ $this->_rescueData = $this->_getRescueData(); - - /* - * rescue MongoDB if needed - */ - $this->_rescueMongoDB(); - + /* * rescue mysql if needed (maybe httpd depends on mysql, so try this first!) */ $this->_rescueMySql(); - + /* * rescue httpd if needed */ $this->_rescueHttpd(); - + /* * The last step is to save the rescue-data */ @@ -117,12 +112,12 @@ class rescue_core_module { */ private function _getMonitoringData() { global $app; - + $dataFilename = dirname(__FILE__) . "/../temp/rescue_module_monitoringdata.ser.txt"; - + /* * If the file containing the data is too old (older than 5 minutes) it is better to - * delete it, because it could be, that the server was down for some times and so the data + * delete it, because it could be, that the server was down for some times and so the data * are outdated */ if (file_exists($dataFilename) && (filemtime($dataFilename) < (time() - 5 * 60))) { @@ -137,7 +132,7 @@ class rescue_core_module { } else { $data = array(); } - + /* * $temp[0] was the data of the last monitoring (means 1 minute ago), $temp[1] is the data * 2 minutes ago and so on. Now we have make place for the newest data... @@ -149,32 +144,32 @@ class rescue_core_module { for ($i = $max; $i > 0; $i--){ $data[$i] = $data[$i -1]; } - + /* * we need the monitoring tools */ $app->load('monitor_tools'); $tools = new monitor_tools(); - + /* * Call the needed Monitoring-step and get the data */ $tmp[0] = $tools->monitorServices(); - + /* Add the data at the FIRST position of the history */ $data[0] = $tmp; - + /* * We have the newest monitoring data. Save it! * (and protect it, because there may be sensible data in it) */ file_put_contents($dataFilename, serialize($data)); chmod($dataFilename, 0600); - + /* Thats it */ return $data; } - + /** * This gets the rescue-Data, needed for rescuing the system. * Because we can not be 100% sure, that the mysql-DB is up and running, so we use the @@ -186,7 +181,7 @@ class rescue_core_module { /* * If the file containing the data is too old (older than 5 minutes) it is better to - * delete it, because it could be, that the server was down for some times and so the data + * delete it, because it could be, that the server was down for some times and so the data * are outdated */ if (file_exists($dataFilename) && (filemtime($dataFilename) < (time() - 5 * 60))) { @@ -201,7 +196,7 @@ class rescue_core_module { } else { $data = array(); } - + /* Thats it */ return $data; } @@ -227,14 +222,14 @@ class rescue_core_module { */ private function _rescueHttpd(){ global $app, $conf; - + /* * do nothing, if it is not allowed to rescue httpd */ if ((isset($conf['serverconfig']['rescue']['do_not_try_rescue_httpd']) && ($conf['serverconfig']['rescue']['do_not_try_rescue_httpd']) == 'y')){ return; } - + /* * if the service is up and running, or the service is not installed there is nothing to do... */ @@ -243,42 +238,42 @@ class rescue_core_module { $this->_rescueData['webserver']['try_counter'] = 0; return; } - + /* * OK, the service is installed and down. * Maybe this is because of a restart of the service by the admin. * This means, we check the data 1 minute ago */ - if ((!isset($this->_monitoringData[1][0]['data']['webserver'])) || + if ((!isset($this->_monitoringData[1][0]['data']['webserver'])) || ((isset($this->_monitoringData[1][0]['data']['webserver'])) && ($this->_monitoringData[1][0]['data']['webserver'] != 0))){ - /* - * We do NOT have this data or we have this data, but the webserver was not down 1 minute ago. - * This means, it could be, that the admin is restarting the server. + /* + * We do NOT have this data or we have this data, but the webserver was not down 1 minute ago. + * This means, it could be, that the admin is restarting the server. * We wait one more minute... */ return; } - + /*##### * The service is down and it was down 1 minute ago. * We try to rescue it *#####*/ - + /* Get the try counter */ $tryCount = (!isset($this->_rescueData['webserver']['try_counter']))? 1 : $this->_rescueData['webserver']['try_counter'] + 1; - + /* Set the new try counter */ $this->_rescueData['webserver']['try_counter'] = $tryCount; - + /* if 5 times will not work, we have to give up... */ if ($tryCount > 5){ $app->log('httpd is down! Rescue will not help!', LOGLEVEL_ERROR); return; } - - + + $app->log('httpd is down! Try rescue httpd (try:' . $tryCount . ')...', LOGLEVEL_WARN); - + if($conf['serverconfig']['web']['server_type'] == 'nginx'){ $daemon = 'nginx'; } else { @@ -290,89 +285,23 @@ class rescue_core_module { $daemon = 'apache2'; } } - + $this->_rescueDaemon($daemon); } - - /** - * restarts MongoDB, if needed - */ - private function _rescueMongoDB(){ - global $app, $conf; - - /* - * do nothing, if it is not allowed to rescue mysql - */ - if ((isset($conf['serverconfig']['rescue']['do_not_try_rescue_mongodb']) && ($conf['serverconfig']['rescue']['do_not_try_rescue_mongodb']) == 'y')){ - return; - } - - /* - * if the service is up and running, or the service is not installed there is nothing to do... - */ - if ($this->_monitoringData[0][0]['data']['mongodbserver'] != 0){ - /* Clear the try counter, because we do not have to try to rescue the service */ - $this->_rescueData['mongodbserver']['try_counter'] = 0; - return; - } - - /* - * OK, the service is installed and down. - * Maybe this is because of a restart of the service by the admin. - * This means, we check the data 1 minute ago - */ - if ((!isset($this->_monitoringData[1][0]['data']['mongodbserver'])) || - ((isset($this->_monitoringData[1][0]['data']['mongodbserver'])) && ($this->_monitoringData[1][0]['data']['mongodbserver'] != 0))){ - /* - * We do NOT have this data or we have this data, but the webserver was not down 1 minute ago. - * This means, it could be, that the admin is restarting the server. - * We wait one more minute... - */ - return; - } - - /*##### - * The service is down and it was down 1 minute ago. - * We try to rescue it - *#####*/ - - /* Get the try counter */ - $tryCount = (!isset($this->_rescueData['mongodbserver']['try_counter']))? 1 : $this->_rescueData['mongodbserver']['try_counter'] + 1; - - /* Set the new try counter */ - $this->_rescueData['mongodbserver']['try_counter'] = $tryCount; - - /* if 5 times will not work, we have to give up... */ - if ($tryCount > 5){ - $app->log('MongoDB is down! Rescue will not help!', LOGLEVEL_ERROR); - return; - } - - - $app->log('MongoDB is down! Try rescue MongoDB (try:' . $tryCount . ')...', LOGLEVEL_WARN); - - if(is_file($conf['init_scripts'] . '/' . 'mongodb')) { - $daemon = 'mongodb'; - } else { - $daemon = 'mongodb'; - } - - $this->_rescueDaemon($daemon); - } - + /** * restarts mysql, if needed */ private function _rescueMySql(){ global $app, $conf; - + /* * do nothing, if it is not allowed to rescue mysql */ if ((isset($conf['serverconfig']['rescue']['do_not_try_rescue_mysql']) && ($conf['serverconfig']['rescue']['do_not_try_rescue_mysql']) == 'y')){ return; } - + /* * if the service is up and running, or the service is not installed there is nothing to do... */ @@ -381,40 +310,40 @@ class rescue_core_module { $this->_rescueData['mysqlserver']['try_counter'] = 0; return; } - + /* * OK, the service is installed and down. * Maybe this is because of a restart of the service by the admin. * This means, we check the data 1 minute ago */ - if ((!isset($this->_monitoringData[1][0]['data']['mysqlserver'])) || + if ((!isset($this->_monitoringData[1][0]['data']['mysqlserver'])) || ((isset($this->_monitoringData[1][0]['data']['mysqlserver'])) && ($this->_monitoringData[1][0]['data']['mysqlserver'] != 0))){ - /* - * We do NOT have this data or we have this data, but the webserver was not down 1 minute ago. - * This means, it could be, that the admin is restarting the server. + /* + * We do NOT have this data or we have this data, but the webserver was not down 1 minute ago. + * This means, it could be, that the admin is restarting the server. * We wait one more minute... */ return; } - + /*##### * The service is down and it was down 1 minute ago. * We try to rescue it *#####*/ - + /* Get the try counter */ $tryCount = (!isset($this->_rescueData['mysqlserver']['try_counter']))? 1 : $this->_rescueData['mysqlserver']['try_counter'] + 1; - + /* Set the new try counter */ $this->_rescueData['mysqlserver']['try_counter'] = $tryCount; - + /* if 5 times will not work, we have to give up... */ if ($tryCount > 5){ $app->log('MySQL is down! Rescue will not help!', LOGLEVEL_ERROR); return; } - - + + $app->log('MySQL is down! Try rescue mysql (try:' . $tryCount . ')...', LOGLEVEL_WARN); if(is_file($conf['init_scripts'] . '/' . 'mysqld')) { @@ -422,23 +351,23 @@ class rescue_core_module { } else { $daemon = 'mysql'; } - + $this->_rescueDaemon($daemon); } /** * Tries to stop and then restart the daemon - * + * * @param type $daemon the name of the daemon */ private function _rescueDaemon($daemon){ global $conf; - + // if you need to find all restarts search for "['init_scripts']" /* * First we stop the running service "normally" */ - + /* * ATTENTION! * The service hangs. this means it could be, that "stop" will hang also. @@ -446,13 +375,13 @@ class rescue_core_module { * of the service */ exec($conf['init_scripts'] . '/' . $daemon . ' stop && (sleep 3; kill $!; sleep 2; kill -9 $!) &> /dev/null'); - + /* * OK, we tryed to stop it normally, maybe this worked maybe not. So we have to look * if the service is already running or not. If so, we have to kill them hard */ exec("kill -9 `ps -A | grep " . $daemon . "| grep -v grep | awk '{print $1}'` &> /dev/null"); - + /* * There are no more zombies left. Lets start the service.. */ diff --git a/server/mods-core/empty.dir b/server/mods-core/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/mods-core/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/mods-enabled/empty.dir b/server/mods-enabled/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/mods-enabled/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 5bc4407501..2e1e80ce85 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -88,97 +88,8 @@ class apache2_plugin { $app->plugins->registerEvent('ftp_user_delete',$this->plugin_name,'ftp_user_delete'); - $app->plugins->registerAction('php_ini_changed', $this->plugin_name, 'php_ini_changed'); } - - // check for php.ini changes - - - // Handle php.ini changes - function php_ini_changed($event_name, $data) { - global $app, $conf; - - $app->uses('getconf'); - $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); - $fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi'); - - /* $data contains an array with these keys: - * file -> full path of changed php_ini - * mode -> web_domain php modes to change (mod, fast-cgi, php-fpm or '' for all except 'mod') - * php_version -> php ini path that changed (additional php versions) - */ - - $qrystr = "SELECT * FROM web_domain WHERE custom_php_ini != ''"; - if($data['mode'] == 'mod') { - $qrystr .= " AND php = 'mod'"; - } elseif($data['mode'] == 'fast-cgi') { - $qrystr .= " AND php = 'fast-cgi'"; - if($data['php_version']) { - $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . "'"; - } - } elseif($data['mode'] == 'php-fpm') { - $qrystr .= " AND php = 'php-fpm'"; - if($data['php_version']) { - $qrystr .= " AND fastcgi_php_version LIKE '%:" . $app->db->quote($data['php_version']) . ":%'"; - } - } else { - $qrystr .= " AND php != 'mod' AND php != 'fast-cgi'"; - } - - - //** Get all the webs - $web_domains = $app->db->queryAllRecords($qrystr); - foreach($web_domains as $web_data) { - $custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$web_data['system_user']; - $web_folder = 'web'; - if($web_data['type'] == 'vhostsubdomain') { - $web_folder = $web_data['web_folder']; - $custom_php_ini_dir .= '_' . $web_folder; - } - if(!is_dir($web_config['website_basedir'].'/conf')) $app->system->mkdir($web_config['website_basedir'].'/conf'); - - if(!is_dir($custom_php_ini_dir)) $app->system->mkdir($custom_php_ini_dir); - $php_ini_content = ''; - if($web_data['php'] == 'mod') { - $master_php_ini_path = $web_config['php_ini_path_apache']; - } else { - if($web_data['php'] == 'fast-cgi' && file_exists($fastcgi_config["fastcgi_phpini_path"])) { - $master_php_ini_path = $fastcgi_config["fastcgi_phpini_path"]; - } else { - $master_php_ini_path = $web_config['php_ini_path_cgi']; - } - } - if($master_php_ini_path != '' && substr($master_php_ini_path,-7) == 'php.ini' && is_file($master_php_ini_path)) { - $php_ini_content .= $app->system->file_get_contents($master_php_ini_path)."\n"; - } - $php_ini_content .= str_replace("\r",'',trim($web_data['custom_php_ini'])); - $app->system->file_put_contents($custom_php_ini_dir.'/php.ini',$php_ini_content); - $app->log('Info: rewrote custom php.ini for web ' . $web_data['domain_id'] . ' (' . $web_data['domain'] . ').',LOGLEVEL_DEBUG); - } - - if(count($web_domains) > 0) { - //* We do not check the apache config here - we only changed the php.ini - //* Check if this is a chrooted setup - if($web_config['website_basedir'] != '' && @is_file($web_config['website_basedir'].'/etc/passwd')) { - $apache_chrooted = true; - $app->log('Info: Apache is chrooted.',LOGLEVEL_DEBUG); - } else { - $apache_chrooted = false; - } - - $app->log('Info: rewrote all php.ini and reloading apache now.',LOGLEVEL_DEBUG); - if($apache_chrooted) { - $app->services->restartServiceDelayed('httpd','restart'); - } else { - // request a httpd reload when all records have been processed - $app->services->restartServiceDelayed('httpd','reload'); - } - } else { - $app->log('Info: No webs affected by php.ini change.',LOGLEVEL_DEBUG); - } - } - // Handle the creation of SSL certificates function ssl($event_name,$data) { global $app, $conf; @@ -260,15 +171,15 @@ class apache2_plugin { $rand_file = escapeshellcmd($rand_file); $key_file = escapeshellcmd($key_file); - if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') != false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') !== false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate $key_file2 = escapeshellcmd($key_file2); - if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') != false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') !== false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate $ssl_days = 3650; $csr_file = escapeshellcmd($csr_file); - if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') != false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') !== false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate $config_file = escapeshellcmd($ssl_cnf_file); $crt_file = escapeshellcmd($crt_file); - if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') != false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') !== false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) { @@ -1428,23 +1339,23 @@ class apache2_plugin { if(count($ipv4_ssl_alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $ipv4_ssl_alias_seo_redirects); $vhosts[] = $tmp_vhost_arr; unset($tmp_vhost_arr, $ipv4_ssl_alias_seo_redirects); - $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); - } - - //* Add vhost for IPv6 IP - if($data['new']['ipv6_address'] != '') { - if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') { - if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') { - $explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']); - $explode_v6=explode(':',$data['new']['ipv6_address']); - - for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) { - $explode_v6[$i] = $explode_v6prefix[$i]; - } - $data['new']['ipv6_address'] = implode(':',$explode_v6); - } - } - + $app->log('Enable SSL for: '.$domain,LOGLEVEL_DEBUG); + } + + //* Add vhost for IPv6 IP + if($data['new']['ipv6_address'] != '') { + if ($conf['serverconfig']['web']['vhost_rewrite_v6'] == 'y') { + if (isset($conf['serverconfig']['server']['v6_prefix']) && $conf['serverconfig']['server']['v6_prefix'] <> '') { + $explode_v6prefix=explode(':',$conf['serverconfig']['server']['v6_prefix']); + $explode_v6=explode(':',$data['new']['ipv6_address']); + + for ( $i = 0; $i <= count($explode_v6prefix)-3; $i++ ) { + $explode_v6[$i] = $explode_v6prefix[$i]; + } + $data['new']['ipv6_address'] = implode(':',$explode_v6); + } + } + $tmp_vhost_arr = array('ip_address' => '['.$data['new']['ipv6_address'].']', 'ssl_enabled' => 0, 'port' => 80); if(count($rewrite_rules) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('redirects' => $rewrite_rules); if(count($alias_seo_redirects) > 0) $tmp_vhost_arr = $tmp_vhost_arr + array('alias_seo_redirects' => $alias_seo_redirects); diff --git a/server/plugins-available/aps_plugin.inc.php b/server/plugins-available/aps_plugin.inc.php index e529b12b20..dbbbfb944a 100644 --- a/server/plugins-available/aps_plugin.inc.php +++ b/server/plugins-available/aps_plugin.inc.php @@ -1,118 +1,118 @@ -<?php -/* -Copyright (c) 2012, ISPConfig UG -Contributors: web wack creations, http://www.web-wack.at -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. -*/ - -if(defined('ISPC_ROOT_PATH')) include_once(ISPC_ROOT_PATH.'/lib/classes/aps_installer.inc.php'); -//require_once(ISPC_ROOT_PATH.'/lib/classes/class.installer.php'); - -class aps_plugin -{ - public $plugin_name = 'aps_plugin'; - public $class_name = 'aps_plugin'; - - //* This function is called during ispconfig installation to determine - // if a symlink shall be created for this plugin. - function onInstall() { - global $conf; - - if($conf['services']['web'] == true) { - return true; - } else { - return false; - } - - } - - /** - * This method gets called when the plugin is loaded - */ - public function onLoad() - { - global $app; - - // Register the available events - $app->plugins->registerEvent('aps_instance_insert', $this->plugin_name, 'install'); - $app->plugins->registerEvent('aps_instance_update', $this->plugin_name, 'install'); - $app->plugins->registerEvent('aps_instance_delete', $this->plugin_name, 'delete'); - } - - /** - * (Re-)install a package - */ - public function install($event_name, $data) - { - global $app, $conf; - - //* dont run the installer on a mirror server to prevent - // that the pplication gets installed twice. - if($conf['mirror_server_id'] > 0) return true; - - $app->log("Starting APS install",LOGLEVEL_DEBUG); - if(!isset($data['new']['id'])) return false; - $instanceid = $data['new']['id']; - - if($data['new']['instance_status'] == INSTANCE_INSTALL) { - $aps = new ApsInstaller($app); - $app->log("Running installHandler",LOGLEVEL_DEBUG); - $aps->installHandler($instanceid, 'install'); - } - - if($data['new']['instance_status'] == INSTANCE_REMOVE) { - $aps = new ApsInstaller($app); - $app->log("Running installHandler",LOGLEVEL_DEBUG); - $aps->installHandler($instanceid, 'delete'); - } - } - - /** - * Update an existing instance (currently unused) - */ - /* - public function update($event_name, $data) - { - } - */ - - /** - * Uninstall an instance - */ - public function delete($event_name, $data) - { - global $app, $conf; - - if(!isset($data['new']['id'])) return false; - $instanceid = $data['new']['id']; - - if($data['new']['instance_status'] == INSTANCE_REMOVE) { - $aps = new ApsInstaller($app); - $aps->installHandler($instanceid, 'install'); - } - } -} +<?php +/* +Copyright (c) 2012, ISPConfig UG +Contributors: web wack creations, http://www.web-wack.at +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. +*/ + +if(defined('ISPC_ROOT_PATH')) include_once(ISPC_ROOT_PATH.'/lib/classes/aps_installer.inc.php'); +//require_once(ISPC_ROOT_PATH.'/lib/classes/class.installer.php'); + +class aps_plugin +{ + public $plugin_name = 'aps_plugin'; + public $class_name = 'aps_plugin'; + + //* This function is called during ispconfig installation to determine + // if a symlink shall be created for this plugin. + function onInstall() { + global $conf; + + if($conf['services']['web'] == true) { + return true; + } else { + return false; + } + + } + + /** + * This method gets called when the plugin is loaded + */ + public function onLoad() + { + global $app; + + // Register the available events + $app->plugins->registerEvent('aps_instance_insert', $this->plugin_name, 'install'); + $app->plugins->registerEvent('aps_instance_update', $this->plugin_name, 'install'); + $app->plugins->registerEvent('aps_instance_delete', $this->plugin_name, 'delete'); + } + + /** + * (Re-)install a package + */ + public function install($event_name, $data) + { + global $app, $conf; + + //* dont run the installer on a mirror server to prevent + // that the pplication gets installed twice. + if($conf['mirror_server_id'] > 0) return true; + + $app->log("Starting APS install",LOGLEVEL_DEBUG); + if(!isset($data['new']['id'])) return false; + $instanceid = $data['new']['id']; + + if($data['new']['instance_status'] == INSTANCE_INSTALL) { + $aps = new ApsInstaller($app); + $app->log("Running installHandler",LOGLEVEL_DEBUG); + $aps->installHandler($instanceid, 'install'); + } + + if($data['new']['instance_status'] == INSTANCE_REMOVE) { + $aps = new ApsInstaller($app); + $app->log("Running installHandler",LOGLEVEL_DEBUG); + $aps->installHandler($instanceid, 'delete'); + } + } + + /** + * Update an existing instance (currently unused) + */ + /* + public function update($event_name, $data) + { + } + */ + + /** + * Uninstall an instance + */ + public function delete($event_name, $data) + { + global $app, $conf; + + if(!isset($data['new']['id'])) return false; + $instanceid = $data['new']['id']; + + if($data['new']['instance_status'] == INSTANCE_REMOVE) { + $aps = new ApsInstaller($app); + $aps->installHandler($instanceid, 'install'); + } + } +} ?> \ No newline at end of file diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php index bc91a9186d..78be959e6d 100644 --- a/server/plugins-available/backup_plugin.inc.php +++ b/server/plugins-available/backup_plugin.inc.php @@ -29,48 +29,48 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ class backup_plugin { - + var $plugin_name = 'backup_plugin'; var $class_name = 'backup_plugin'; - + //* This function is called during ispconfig installation to determine // if a symlink shall be created for this plugin. public function onInstall() { global $conf; - + return true; - + } - - + + /* This function is called when the plugin is loaded */ - + public function onLoad() { global $app; - + //* Register for actions $app->plugins->registerAction('backup_download',$this->plugin_name,'backup_action'); $app->plugins->registerAction('backup_restore',$this->plugin_name,'backup_action'); - + } - + //* Do a backup action public function backup_action($action_name,$data) { global $app,$conf; - + $backup_id = intval($data); $backup = $app->dbmaster->queryOneRecord("SELECT * FROM web_backup WHERE backup_id = $backup_id"); - + if(is_array($backup)) { - + $app->uses('ini_parser,file,getconf'); - + $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$backup['parent_domain_id']); $server_config = $app->getconf->get_server_config($conf['server_id'], 'server'); $backup_dir = $server_config['backup_dir'].'/web'.$web['domain_id']; - + //* Make backup available for download if($action_name == 'backup_download') { //* Copy the backup file to the backup folder of the website @@ -80,38 +80,12 @@ class backup_plugin { $app->log('cp '.$backup_dir.'/'.$backup['filename'].' '.$web['document_root'].'/backup/'.$backup['filename'],LOGLEVEL_DEBUG); } } - - //* Restore a MongoDB backup - if($action_name == 'backup_restore' && $backup['backup_type'] == 'mongodb') { - if(file_exists($backup_dir.'/'.$backup['filename'])) { - //$parts = explode('_',$backup['filename']); - //$db_name = $parts[1]; - preg_match('@^db_(.+)_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}\.tar\.gz$@', $backup['filename'], $matches); - $db_name = $matches[1]; - - // extract tar.gz archive - $dump_directory = str_replace(".tar.gz", "", $backup['filename']); - $extracted = "/usr/local/ispconfig/server/temp"; - exec("tar -xzvf ".escapeshellarg($backup_dir.'/'.$backup['filename'])." --directory=".escapeshellarg($extracted)); - $restore_directory = $extracted."/".$dump_directory."/".$db_name; - - // mongorestore -h 127.0.0.1 -u root -p 123456 --authenticationDatabase admin -d c1debug --drop ./toRestore - $command = "mongorestore -h 127.0.0.1 --port 27017 -u root -p 123456 --authenticationDatabase admin -d ".$db_name." --drop ".escapeshellarg($restore_directory); - exec($command); - exec("rm -rf ".escapeshellarg($extracted."/".$dump_directory)); - } - - unset($clientdb_host); - unset($clientdb_user); - unset($clientdb_password); - $app->log('Restored MongoDB backup '.$backup_dir.'/'.$backup['filename'],LOGLEVEL_DEBUG); - } - + //* Restore a mysql backup if($action_name == 'backup_restore' && $backup['backup_type'] == 'mysql') { //* Load sql dump into db include('lib/mysql_clientdb.conf'); - + if(file_exists($backup_dir.'/'.$backup['filename'])) { //$parts = explode('_',$backup['filename']); //$db_name = $parts[1]; @@ -125,7 +99,7 @@ class backup_plugin { unset($clientdb_password); $app->log('Restored MySQL backup '.$backup_dir.'/'.$backup['filename'],LOGLEVEL_DEBUG); } - + //* Restore a web backup if($action_name == 'backup_restore' && $backup['backup_type'] == 'web') { if($backup['backup_mode'] == 'userzip') { @@ -149,11 +123,11 @@ class backup_plugin { } } } - + } else { $app->log('No backup with ID '.$backup_id.' found.',LOGLEVEL_DEBUG); } - + return 'ok'; } diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php index e55720269a..5d4fd988ff 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -193,7 +193,8 @@ class mail_plugin { $mailTarget = $data["new"]["email"]; $mailSubject = "=?utf-8?B?".base64_encode($welcome_mail_subject)."?="; - mail($mailTarget, $mailSubject, $welcome_mail_message, $mailHeaders); + //* Send the welcome email only on the "master" mail server to avoid duplicate emails + if($conf['mirror_server_id'] == 0) mail($mailTarget, $mailSubject, $welcome_mail_message, $mailHeaders); } diff --git a/server/plugins-available/mail_plugin_dkim.inc.php b/server/plugins-available/mail_plugin_dkim.inc.php deleted file mode 100644 index 1a50cee947..0000000000 --- a/server/plugins-available/mail_plugin_dkim.inc.php +++ /dev/null @@ -1,266 +0,0 @@ -<?php - -/* -Copyright (c) 2007 - 2013, Till Brehm, projektfarm Gmbh -Copyright (c) 2013, Florian Schaal, info@schaal-24.de -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 mail_plugin_dkim { - - var $plugin_name = 'mail_plugin_dkim'; - var $class_name = 'mail_plugin_dkim'; - - // private variables - var $action = ''; - - /* - This function is called during ispconfig installation to determine - if a symlink shall be created for this plugin. - */ - function onInstall() { - global $conf; - - if($conf['services']['mail'] == true) { - return true; - } else { - return false; - } - - } - - /* - This function is called when the plugin is loaded - */ - function onLoad() { - global $app,$conf; - /* - Register for the events - */ - $app->plugins->registerEvent('mail_domain_delete',$this->plugin_name,'domain_dkim_delete'); - $app->plugins->registerEvent('mail_domain_insert',$this->plugin_name,'domain_dkim_insert'); - $app->plugins->registerEvent('mail_domain_update',$this->plugin_name,'domain_dkim_update'); - } - - /* - This function gets the amavisd-config file - */ - function get_amavis_config() { - $pos_config=array( - '/etc/amavisd.conf', - '/etc/amavisd.conf/50-user', - '/etc/amavis/conf.d/50-user' - ); - $amavis_configfile=''; - foreach($pos_config as $conf) { - if (is_file($conf)) { - $amavis_configfile=$conf; - break; - } - } - return $amavis_configfile; - } - - /* - This function checks the relevant configs and disables dkim for the domain - if the directory for dkim is not writeable or does not exist - */ - function check_system($data) { - global $app,$mail_config; - $app->uses('getconf'); - $check=true; - /* check for amavis-config */ - if ( $this->get_amavis_config() == '' || !is_writeable($this->get_amavis_config()) ) { - $app->log('Amavis-config not found or not writeable.',LOGLEVEL_ERROR); - $check=false; - } - /* dir for dkim-keys writeable? */ - $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); - if (isset($mail_config['dkim_path']) && isset($data['new']['dkim_private']) && !empty($data['new']['dkim_private'])) { - if (!is_writeable($mail_config['dkim_path'])) { - $app->log('DKIM Path '.$mail_config['dkim_path'].' not found or not writeable.',LOGLEVEL_ERROR); - $check=false; - } - } else { - $app->log('Unable to write DKIM settings; Check your config!',LOGLEVEL_ERROR); - $check=false; - } - return $check; - } - - /* - This function restarts amavis - */ - function restart_amavis() { - global $app,$conf; - $initfile=$conf['init_scripts'].'/amavis'; - $app->log('Restarting amavis.',LOGLEVEL_DEBUG); - exec(escapeshellarg($conf['init_scripts']).escapeshellarg('/amavis').' restart',$output); - foreach($output as $logline) $app->log($logline,LOGLEVEL_DEBUG); - } - - /* - This function writes the keyfiles (public and private) - */ - function write_dkim_key($key_file,$key_value,$key_domain) { - global $app,$mailconfig; - $success=false; - if (!file_put_contents($key_file.'.private',$key_value) === false) { - $app->log('Saved DKIM Private-key to '.$key_file.'.private',LOGLEVEL_DEBUG); - $success=true; - /* now we get the DKIM Public-key */ - exec('cat '.escapeshellarg($key_file.'.private').'|openssl rsa -pubout',$pubkey,$result); - $public_key=''; - foreach($pubkey as $values) $public_key=$public_key.$values."\n"; - /* save the DKIM Public-key in dkim-dir */ - if (!file_put_contents($key_file.'.public',$public_key) === false) - $app->log('Saved DKIM Public to '.$key_domain.'.',LOGLEVEL_DEBUG); - else $app->log('Unable to save DKIM Public to '.$key_domain.'.',LOGLEVEL_WARNING); - } - return $success; - } - - /* - This function removes the keyfiles - */ - function remove_dkim_key($key_file,$key_domain) { - global $app; - if (file_exists($key_file.'.private')) { - exec('rm -f '.escapeshellarg($key_file.'.private')); - $app->log('Deleted the DKIM Private-key for '.$key_domain.'.',LOGLEVEL_DEBUG); - } else $app->log('Unable to delete the DKIM Private-key for '.$key_domain.' (not found).',LOGLEVEL_DEBUG); - if (file_exists($key_file.'.public')) { - exec('rm -f '.escapeshellarg($key_file.'.public')); - $app->log('Deleted the DKIM Public-key for '.$key_domain.'.',LOGLEVEL_DEBUG); - } else $app->log('Unable to delete the DKIM Public-key for '.$key_domain.' (not found).',LOGLEVEL_DEBUG); - } - - /* - This function adds the entry to the amavisd-config - */ - function add_to_amavis($key_domain) { - global $app,$mail_config; - $amavis_config = file_get_contents($this->get_amavis_config()); - $key_value="dkim_key('".$key_domain."', 'default', '".$mail_config['dkim_path']."/".$key_domain.".private');\n"; - if(strpos($amavis_config, $key_value) !== false) $amavis_config = str_replace($key_value, '', $amavis_config); - if (!file_put_contents($this->get_amavis_config(),$key_value,FILE_APPEND) === false) { - $app->log('Adding DKIM Private-key to amavis-config.',LOGLEVEL_DEBUG); - $this->restart_amavis(); - } - } - - /* - This function removes the entry from the amavisd-config - */ - function remove_from_amavis($key_domain) { - global $app; - $amavis_config = file($this->get_amavis_config()); - $i=0;$found=false; - foreach($amavis_config as $line) { - if (preg_match("/^\bdkim_key\b.*\b".$key_domain."\b/",$line)) { - unset($amavis_config[$i]); - $found=true; - } - $i++; - } - if ($found) { - file_put_contents($this->get_amavis_config(), $amavis_config); - $app->log('Deleted the DKIM settings from amavis-config for '.$key_domain.'.',LOGLEVEL_DEBUG); - $this->restart_amavis(); - } else $app->log('Unable to delete the DKIM settings from amavis-config for '.$key_domain.'.',LOGLEVEL_ERROR); - } - - /* - This function controlls new key-files and amavisd-entries - */ - function add_dkim($data) { - global $app; - $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); - if ( substr($mail_config['dkim_path'],strlen($mail_config['dkim_path'])-1) == '/' ) - $mail_config['dkim_path'] = substr($mail_config['dkim_path'],0,strlen($mail_config['dkim_path'])-1); - if ($this->write_dkim_key($mail_config['dkim_path']."/".$data['new']['domain'],$data['new']['dkim_private'],$data['new']['domain'])) { - $this->add_to_amavis($data['new']['domain']); - } else { - $app->log('Error saving the DKIM Private-key for '.$data['new']['domain'].' - DKIM is not enabled for the domain.',LOGLEVEL_ERROR); - } - } - - /* - This function controlls the removement of keyfiles (public and private) - and the entry in the amavisd-config - */ - function remove_dkim($_data) { - global $app; - $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); - if ( substr($mail_config['dkim_path'],strlen($mail_config['dkim_path'])-1) == '/' ) - $mail_config['dkim_path'] = substr($mail_config['dkim_path'],0,strlen($mail_config['dkim_path'])-1); - $this->remove_dkim_key($mail_config['dkim_path']."/".$_data['domain'],$_data['domain']); - $this->remove_from_amavis($_data['domain']); - } - - /* - Functions called by onLoad - */ - function domain_dkim_delete($event_name,$data) { - if (isset($data['old']['dkim']) && $data['old']['dkim'] == 'y') $this->remove_dkim($data['old']); - } - - function domain_dkim_insert($event_name,$data) { - if (isset($data['new']['dkim']) && $data['new']['dkim']=='y' && $this->check_system($data)) { - $this->add_dkim($data); - } - } - - function domain_dkim_update($event_name,$data) { - global $app; - /* get the config */ - if (isset($data['new']['dkim']) && $data['new']['dkim']=='y') { /* DKIM enabled */ - if ($this->check_system($data)) { - /* new domain-name */ - if ($data['old']['domain'] != $data['new']['domain']) { - $this->remove_dkim($data['old']); - $this->add_dkim($data); - } - /* new key */ - if (($data['old']['dkim_private'] != $data['new']['dkim_private']) || ($data['old']['dkim'] != $data['new']['dkim'])) { - if ($data['new']['dkim_private'] != $data['old']['dkim_private']) $this->remove_dkim($data['new']); - $this->add_dkim($data); - } - /* change active (on / off) */ - if ($data['old']['active'] != $data['new']['active']) { - if ($data['new']['active'] == 'y') { - $this->add_dkim($data); - } else { - $this->remove_dkim($data['new']); - } - } - } - } - if (isset($data['new']['dkim']) && $data['old']['dkim'] != $data['new']['dkim']) - if ($this->check_system($data) && $data['new']['dkim'] == 'n') $this->remove_dkim($data['new']); - } -} -?> diff --git a/server/plugins-available/mongo_clientdb_plugin.inc.php b/server/plugins-available/mongo_clientdb_plugin.inc.php deleted file mode 100644 index 545fe9e4bd..0000000000 --- a/server/plugins-available/mongo_clientdb_plugin.inc.php +++ /dev/null @@ -1,820 +0,0 @@ -<?php - -/* -Copyright (c) 2007, 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. -*/ - -/** - * The MongoDB client plugin is used by ISPConfig to control the management of MongoDB. - * If handles everything from creating DBs/Users, update them or delete them. - */ -class mongo_clientdb_plugin { - - /** - * ISPConfig internal identifiers. - */ - var $plugin_name = 'mongo_clientdb_plugin'; - var $class_name = 'mongo_clientdb_plugin'; - - - /** - * This function is called during ISPConfig installation. - * It determines if a symlink shall be created for this plugin. - * - * @return bool true if symlink should be created - */ - function onInstall() { - global $conf; - - return (bool) $conf['services']['db']; - } - - /** - * This function is called when the plugin is loaded. - * Each plugin/module needs to register itself to ISPConfig events from which - * it want to receive changes/get notified. - * - * Since this is a MongoDB plugin we are interested in DB changes and everything related - * to it, like users. - */ - function onLoad() { - global $app; - - //* Databases - $app->plugins->registerEvent('database_insert',$this->plugin_name,'db_insert'); - $app->plugins->registerEvent('database_update',$this->plugin_name,'db_update'); - $app->plugins->registerEvent('database_delete',$this->plugin_name,'db_delete'); - - //* Database users - $app->plugins->registerEvent('database_user_insert',$this->plugin_name,'db_user_insert'); - $app->plugins->registerEvent('database_user_update',$this->plugin_name,'db_user_update'); - $app->plugins->registerEvent('database_user_delete',$this->plugin_name,'db_user_delete'); - } - - - /** - * MongoDB - * ------------------------------------------------------------------------ - * The following needs to be done before using this plugin: - * - 1. install MongoDB server from 10gen sources (or another one with >= 2.4) - * - 2. install php5-dev package (apt-get install php5-dev) - * - 3. install mongo PECL extension (pecl install mongo) - * - 4. enable mongo (echo "extension=mongo.so" > /etc/php5/mods-available/mongo.ini && php5enmod mongo) - * - 5. create administrative user manager in Mongo (mongo -> use admin -> db.addUser({user: "root", pwd: "123456", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ]})) - * - 6. enable auth for Mongo (nano /etc/mongodb.conf -> auth = true) - * - 7. restart MongoDB (service mongodb restart) - * - * Unlike MySQL, MongoDB manages users per database. - * Therefor we cannot use one user for multiple databases. Instead, we have to add him each time via the admin user. - */ - - /** - * Stores the MongoDB connection. - * @var object - */ - private $_connection = null; - - /** - * Stores the MongoDB admin user. - * @var string - */ - const USER = "root"; - - /** - * Stores the MongoDB admin password. - * @var string - */ - const PW = "123456"; - - /** - * Stores the MongoDB host address. - * @var string - */ - const HOST = "127.0.0.1"; - - /** - * Stores the MongoDB port. - * @var int - */ - const PORT = 27017; - - /** - * Adds the user to given database. - * If no connection exists, the user already exists or the database doesn't exist, - * null is returned. - * - * @param string $db the database to use - * @param array $user the user to add - * @return bool true if user added - */ - private function addUser($db, $user) { - if ($this->isConnected() && !$this->userExists($db, $user)) { - $roles = ""; - - foreach ($user['roles'] as $index => $role) { - $roles .= "\"".$role."\""; - - if ($index !== count($user['roles']) - 1) { - $roles .= ", "; - } - } - - return $this->exec($db, "db.system.users.insert({ user: \"".$user['username']."\", pwd: \"".$user['password']."\", roles: [ ".$roles." ] })"); - //return $this->exec($db, "db.addUser({ user: \"".$user['username']."\", pwd: \"".$user['password']."\", roles: [ ".$roles." ] })"); - } - - return null; - } - - /** - * Changes the users password in given DB. - * If no connection exists, the user doesn't exist or the DB doesn't exist, - * null is returned. - * - * @param string $db the database name - * @param string $user the user to change - * @param string $password the new password - * @return bool true if password changes - */ - private function changePassword($db, $user, $password) { - if ($this->isConnected() && $this->dbExists($db) && $this->userExists($db, $user)) { - $old_user = $this->getUser($db, $user); - - if ($this->dropUser($user, $db)) { - return $this->addUser($db, array( - 'username' => $user, - 'password' => $password, - 'roles' => $old_user['roles'] - )); - } - - return false; - } - - return null; - } - - /** - * Connects to the server and authentificates. - * If the authentificaten goes wrong or another error encounters, - * false is returned. - * If we already have an open connection we try to disconnect and connect again. - * If this fails, false is returned. - * - * @return object $connection the MongoDB connection - */ - private function connect() { - try { - if ($this->isConnected() && !$this->disconnect()) { - return false; - } - - $this->_connection = new MongoClient("mongodb://".self::USER.":".self::PW."@".self::HOST.":".self::PORT."/admin"); - - return $this->_connection; - } catch (MongoConnnectionException $e) { - $app->log('Unable to connect to MongoDB: '.$e, LOGLEVEL_ERROR); - $this->_connection = null; - - return false; - } - } - - /** - * Checks if the database exists. - * If no connection exists, - * null is returned. - * - * @param string $db the database name - * @return bool true if exists - */ - private function dbExists($db) { - if ($this->isConnected()) { - return in_array($db, $this->getDBs()); - } - - return null; - } - - /** - * Closes the MongoDB connection. - * If no connection exists and nothing is done, - * null is returned. - * - * @return bool true if closed - */ - private function disconnect() { - if ($this->isConnected()) { - $status = $this->_connection->close(); - - if ($status) { - $this->_connection = null; - } - - return $status; - } - - return null; - } - - /** - * Drops the given database. - * If no connection exists or the database doesn't exist, - * null is returned. - * - * @param string $db the database's to drop name - */ - private function dropDB($db) { - if ($this->isConnected() && $this->dbExists($db)) { - return (bool) $this->_connection->dropDB($db)['ok']; - } - - return null; - } - - /** - * Drops the given user from database. - * If no DB is defined, the user is dropped from all databases. - * If there's an error when dropping the user from all DBs, an array containing the - * names of the failed DBs is returned. - * If no connection exists, the database doesn't exist or the user is not in DB, - * null is returned. - * - * @param string $user the user to drop - * @param string $db the database name - * @return bool true if dropped - */ - private function dropUser($user, $db = null) { - if ($this->isConnected()) { - if ($db !== null && $this->dbExists($db) && $this->userExists($db, $user)) { - return $this->exec($db, "db.removeUser(\"".$user."\")"); - } else { - $dbs = $this->getDBs(); - - if ((bool) $dbs) { - $failures = array(); - - foreach ($dbs as $db) { - $exists = $this->userExists($db, $user); - - if ($exists) { - if (!$this->dropUser($user, $db)) { - $failures[] = $db; - } - } - } - } - - return (bool) $failures ? $failures : true; - } - } - - return null; - } - - /** - * Executed the command on the MongoDB server. - * If no connection exists and thus nothing can be done, - * null is returned. - * - * @param string $db the database to query - * @param string $query the command to execute - * @return array the result of the query - */ - private function exec($db, $query) { - if ($this->isConnected()) { - $db = $this->selectDB($db); - $result = $db->execute($query); - - if ((bool) $result['ok']) { - return $result; - } - - return false; - } - - return null; - } - - /** - * Checks if the connection exists. - * - * @return true if connected - */ - private function isConnected() { - return $this->_connection !== null; - } - - /** - * Generates a MongoDB compatible password. - * - * @param string $user the username - * @param string $password the user password - * @return string the MD5 string - */ - private function generatePassword($user, $password) { - return md5($user.":mongo:".$password); - } - - /** - * Returns the databases found on connection. - * If no connection exists and therefor no DBs can be found, - * null is returned. - * - * @return array $names the databases's name - */ - private function getDBs() { - if ($this->isConnected()) { - $dbs = $this->_connection->listDBs(); - - if ((bool) $dbs && isset($dbs['databases'])) { - $names = array(); - - foreach ($dbs['databases'] as $db) { - $names[] = $db['name']; - } - - return $names; - } - } - - return null; - } - - /** - * Returns the user entry for given database. - * If no connection exists, the database doesn't exist or the user doesn't exist - * null is returned. - * - * @param string $db the database name - * @param string $user the user to return - * @return array $user the user in DB - */ - private function getUser($db, $user) { - if ($this->isConnected() && $this->dbExists($db) && $this->userExists($db, $user)) { - $result = $this->selectDB($db)->selectCollection("system.users")->find(array( 'user' => $user )); - - // ugly fix to return user - foreach ($result as $user) { - return $user; - } - } - - return null; - } - - /** - * Returns the users for given database. - * If no connection exists or the database doesn't exist, - * null is returned. - * - * @param string $db the database name - * @return array $users the users in DB - */ - private function getUsers($db) { - if ($this->isConnected() && $this->dbExists($db)) { - $result = $this->selectDB($db)->selectCollection("system.users")->find(); - - $users = array(); - - foreach ($result as $record) { - $users[] = $record['user']; - } - - return $users; - } - - return null; - } - - /** - * Checks if the given user exists in given database. - * If no connection exists or the given database doesn't exist - * null is returned. - * - * @param string $db the database name - * @param string $user the user to check - * @return bool true if user exists - */ - private function userExists($db, $user) { - if ($this->isConnected() && $this->dbExists($db)) { - $users = $this->getUsers($db); - - return in_array($user, $users); - } - - return null; - } - - /** - * Renames the MongoDB database to provided name. - * If no connection exists, the source DB doesn't exist or the target DB already exists, - * null is returned. - * - * @param string $old_name the old database name - * @param string $new_name the new database name - * @return bool true if renamed - */ - private function renameDB($old_name, $new_name) { - if ($this->isConnected() && $this->dbExists($old_name) && !$this->dbExists($new_name)) { - if ($this->exec($old_name, "db.copyDatabase(\"".$old_name."\", \"".$new_name."\", \"".self::HOST."\", \"".self::USER."\", \"".self::PW."\")")) { - $this->dropDB($old_name); - - return true; - } - - return false; - } - - return null; - } - - /** - * Switched the selected database. - * MongoDB acts on a per-DB level (user management) and we always need to - * ensure we have the right DB selected. - * If no connection exists and thus nothing is done, - * null is returned. - * - * @param string $db the database to use - * @return object the MongoDB database object - */ - private function selectDB($db) { - if ($this->isConnected()) { - return $this->_connection->selectDB($db); - } - - return null; - } - - - /** - * This function is called when a DB is created from within the ISPConfig3 interface. - * We need to create the DB and allow all users to connect to it that are choosen. - * Since MongoDB doesn't create a DB before any data is stored in it, it's important - * to store the users so it contains data -> is created. - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - * @return only if something is wrong - */ - function db_insert($event_name, $data) { - global $app, $conf; - - // beside checking for MongoDB we also check if the DB is active because only then we add users - // -> MongoDB needs users to create the DB - if ($data['new']['type'] == 'mongo' && $data['new']['active'] == 'y') { - if ($this->connect() === false) { - $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); - return; - } - - $db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_user_id']) . "'"); - $db_ro_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_ro_user_id']) . "'"); - - $user = $db_user['database_user']; - $password = $db_user['database_password_mongo']; - - $ro_user = $db_ro_user['database_user']; - $ro_password = $db_ro_user['database_password_mongo']; - - $db = $data['new']['database_name']; - - if ((bool) $db_user) { - if ($user == 'root') { - $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); - } else { - if (!$this->addUser($db, array( - 'username' => $user, - 'password' => $password, - 'roles' => array( - "readWrite", - "dbAdmin" - ) - ))) { - $app->log("Error while adding user: ".$user." to DB: ".$db, LOGLEVEL_WARNING); - } - } - } - - if ($db_ro_user && $data['new']['database_user_id'] != $data['new']['database_ro_user_id']) { - if ($user == 'root') { - $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); - } else { - if (!$this->addUser($db, array( - 'username' => $ro_user, - 'password' => $ro_password, - 'roles' => array( - "read" - ) - ))) { - $app->log("Error while adding read-only user: ".$user." to DB: ".$db, LOGLEVEL_WARNING); - } - } - } - - $this->disconnect(); - } - } - - /** - * This function is called when a DB is updated from within the ISPConfig interface. - * Updating the DB needs a lot of changes. First, we need to recheck all users that - * have permissions to access the DB. Maybe we also need to rename the DB and change - * it's type (MySQL, MongoDB etc.)...hard work here :) - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - * @return only if something is wrong - */ - function db_update($event_name,$data) { - global $app, $conf; - - if ($data['old']['active'] == 'n' && $data['new']['active'] == 'n') { - return; - } - - // currently switching from MongoDB <-> MySQL isn't supported - if ($data['old']['type'] == 'mongo' && $data['new']['type'] == 'mongo') { - if ($this->connect() === false) { - $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); - return; - } - - $db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_user_id']) . "'"); - $db_ro_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['new']['database_ro_user_id']) . "'"); - - $user = $db_user['database_user']; - $password = $db_user['database_password_mongo']; - - $ro_user = $db_ro_user['database_user']; - $ro_password = $db_ro_user['database_password_mongo']; - - $db = $data['new']['database_name']; - - // create the database user if database was disabled before - if ($data['new']['active'] == 'y' && $data['old']['active'] == 'n') { - // since MongoDB creates DBs on-the-fly we can use the db_insert method which takes care of adding - // users to a given DB - $this->db_insert($event_name, $data); - } else if ($data['new']['active'] == 'n' && $data['old']['active'] == 'y') { - $users = $this->getUsers($db); - - if ((bool) $users) { - foreach ($users as $user) { - $this->dropUser($user, $db); - } - } - } else { - // selected user has changed -> drop old one - if ($data['new']['database_user_id'] != $data['old']['database_user_id']) { - $old_db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['old']['database_user_id']) . "'"); - - if ((bool) $old_db_user) { - if ($old_db_user['database_user'] == 'root') { - $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); - } else { - $this->dropUser($old_db_user['database_user'], $db); - } - } - } - - // selected read-only user has changed -> drop old one - if ($data['new']['database_ro_user_id'] != $data['old']['database_ro_user_id']) { - $old_db_user = $app->db->queryOneRecord("SELECT `database_user`, `database_password_mongo` FROM `web_database_user` WHERE `database_user_id` = '" . intval($data['old']['database_ro_user_id']) . "'"); - - if ((bool) $old_db_user) { - if ($old_db_user['database_user'] == 'root') { - $app->log("User root not allowed for client databases",LOGLEVEL_WARNING); - } else { - $this->dropUser($old_db_user['database_user'], $db); - } - } - } - - // selected user has changed -> add new one - if ($data['new']['database_user_id'] != $data['old']['database_user_id']) { - if ((bool) $db_user) { - if ($user == 'root') { - $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); - } else { - $this->addUser($db, array( - 'username' => $user, - 'password' => $password, - 'roles' => array( - "readWrite", - "dbAdmin" - ) - )); - } - } - } - - // selected read-only user has changed -> add new one - if ($data['new']['database_ro_user_id'] != $data['old']['database_ro_user_iduser_id']) { - if ((bool) $db_ro_user && $data['new']['database_user_id'] != $data['new']['database_ro_user_id']) { - if ($ro_user == 'root') { - $app->log("User root not allowed for client databases", LOGLEVEL_WARNING); - } else { - $this->addUser($db, array( - 'username' => $ro_user, - 'password' => $ro_password, - 'roles' => array( - "read" - ) - )); - } - } - } - - // renamed? - /* - if ($data['old']['database_name'] != $data['new']['database_name']) { - $old_name = $data['old']['database_name']; - $new_name = $data['new']['database_name']; - - if ($this->renameDB($oldName, $newName)) { - $app->log("Renamed MongoDB database: ".$old_name." -> ".$new_name, LOGLEVEL_DEBUG); - } else { - $app->log("Renaming MongoDB database failed: ".$old_name." -> ".$new_name, LOGLEVEL_WARNING); - } - } - */ - } - - // switching from MySQL <-> Mongo isn't supported - // no idea what we should do here...would be best to permit in interface? - - // remote access isn't supported by MongoDB (limiting to IP), - // we therefor don't listen for it's changes - } - - $this->disconnect(); - } - - /** - * This function is called when a DB is deleted from within the ISPConfig interface. - * All we need to do is to delete the database. - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - * @return only if something is wrong - */ - function db_delete($event_name,$data) { - global $app, $conf; - - if ($data['old']['type'] == 'mongo') { - if ($this->connect() === false) { - $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); - return; - } - - $db_to_drop = $data['old']['database_name']; - - if ($this->dropDB($db_to_drop)) { - $app->log("Dropping MongoDB database: ".$db_to_drop, LOGLEVEL_DEBUG); - } else { - $app->log("Error while dropping MongoDB database: ".$db_to_drop, LOGLEVEL_WARNING); - } - - $this->disconnect(); - } - } - - - /** - * This function is called when a user is inserted from within the ISPConfig interface. - * Since users are separated from databases we don't do anything here. - * As soon as an user is associated to a DB, we add him there. - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - */ - function db_user_insert($event_name,$data) {} - - /** - * This function is called when a user is updated from within the ISPConfig interface. - * The only thing we need to listen for here are password changes. - * We than need to change those in all databases the user uses. - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - * @return only if something is wrong - */ - function db_user_update($event_name,$data) { - global $app, $conf; - - if ($data['old']['database_user'] == $data['new']['database_user'] - && ($data['old']['database_password'] == $data['new']['database_password'] - || $data['new']['database_password'] == '')) { - return; - } - - if ($this->connect() === false) { - $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); - return; - } - - if ($data['old']['database_user'] != $data['new']['database_user']) { - // username has changed - $dbs = $this->getDBs(); - - if ((bool) $dbs) { - foreach ($dbs as $db) { - if ($this->userExists($db, $data['old']['database_user'])) { - if (!$this->userExists($db, $data['new']['database_user'])) { - $user = $this->getUser($db, $data['old']['database_user']); - - if ($this->dropUser($data['old']['database_user'], $db)) { - if ($this->addUser($db, array( - 'username' => $data['new']['database_user'], - 'password' => md5($data['new']['database_password_mongo']), - 'roles' => $user['roles'] - ))) { - $app->log("Created user: ".$data['new']['database_user']." in DB: ".$db, LOGLEVEL_DEBUG); - } else { - $app->log("Couldn't create user: ".$data['new']['database_user']." in DB: ".$db, LOGLEVEL_WARNING); - } - } else { - $app->log("Couldn't drop user: ".$data['old']['database_user']." in DB: ".$db, LOGLEVEL_WARNING); - } - } else { - $app->log("User: ".$data['new']['database_user']." already exists in DB: ".$db, LOGLEVEL_WARNING); - } - } - } - } - } - - if ($data['old']['database_password'] != $data['new']['database_password'] - || $data['old']['database_user'] != $data['new']['database_user']) { - // password only has changed - $dbs = $this->getDBs(); - - if ((bool) $dbs) { - foreach ($dbs as $db) { - if ($this->userExists($db, $data['new']['database_user'])) { - if ($this->changePassword($db, $data['new']['database_user'], md5($data['new']['database_password_mongo']))) { - $app->log("Changed user's: ".$data['new']['database_user']." password in DB: ".$db, LOGLEVEL_DEBUG); - } else { - $app->log("Couldn't change user's: ".$data['new']['database_user']." password in DB: ".$db, LOGLEVEL_WARNING); - } - } - } - } - } - - $this->disconnect(); - } - - /** - * This function is called when a user is deleted from within the ISPConfig interface. - * Since MongoDB uses per-DB user management, we have to find every database where the user is - * activated and delete him there. - * - * @param string $event_name the name of the event (insert, update, delete) - * @param array $data the event data (old and new) - * @return only if something is wrong - */ - function db_user_delete($event_name, $data) { - global $app, $conf; - - if ($this->connect() === false) { - $app->log("Unable to connect to MongoDB: Connecting using connect() failed.", LOGLEVEL_ERROR); - return; - } - - if ($this->dropUser($data['old']['database_user']) === true) { - $app->log("Dropped MongoDB user: ".$data['old']['database_user'], LOGLEVEL_DEBUG); - } else { - $app->log("Error while dropping MongoDB user: ".$data['old']['database_user'], LOGLEVEL_WARNING); - } - - $this->disconnect(); - } - -} diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 181eedb190..62beafb427 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -170,15 +170,15 @@ class nginx_plugin { $rand_file = escapeshellcmd($rand_file); $key_file = escapeshellcmd($key_file); - if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') != false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($key_file, '/ssl/\*.') !== false) $key_file = str_replace('/ssl/\*.', '/ssl/*.', $key_file); // wildcard certificate $key_file2 = escapeshellcmd($key_file2); - if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') != false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($key_file2, '/ssl/\*.') !== false) $key_file2 = str_replace('/ssl/\*.', '/ssl/*.', $key_file2); // wildcard certificate $ssl_days = 3650; $csr_file = escapeshellcmd($csr_file); - if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') != false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($csr_file, '/ssl/\*.') !== false) $csr_file = str_replace('/ssl/\*.', '/ssl/*.', $csr_file); // wildcard certificate $config_file = escapeshellcmd($ssl_cnf_file); $crt_file = escapeshellcmd($crt_file); - if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') != false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate + if(substr($domain, 0, 2) == '*.' && strpos($crt_file, '/ssl/\*.') !== false) $crt_file = str_replace('/ssl/\*.', '/ssl/*.', $crt_file); // wildcard certificate if(is_file($ssl_cnf_file) && !is_link($ssl_cnf_file)) { diff --git a/server/plugins-available/webserver_plugin.inc.php b/server/plugins-available/webserver_plugin.inc.php deleted file mode 100644 index 0fcdf13c16..0000000000 --- a/server/plugins-available/webserver_plugin.inc.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php - -/* - Copyright (c) 2007-2011, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com - 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 webserver_plugin { - - var $plugin_name = 'webserver_plugin'; - var $class_name = 'webserver_plugin'; - - /** - * This function is called during ispconfig installation to determine - * if a symlink shall be created for this plugin. - */ - public function onInstall() { - global $conf; - - if($conf['services']['web'] == true) { - return true; - } else { - return false; - } - } - - /** - * This function is called when the module is loaded - */ - public function onLoad() { - global $app; - - $app->plugins->registerAction('server_plugins_loaded', $this->plugin_name, 'check_phpini_changes'); - } - - /** - * This function is called when a change in one of the registered tables is detected. - * The function then raises the events for the plugins. - */ - public function process($tablename, $action, $data) { - // not needed - } - - /** - * The method checks for a change of a php.ini file - */ - public function check_phpini_changes() { - global $app, $conf; - - //** check if the main php.ini of the system changed so we need to regenerate all custom php.inis - $app->uses('getconf'); - - //** files to check - $check_files = array(); - - $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); - $fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi'); - - if($web_config['php_ini_check_minutes'] == 0 || @date('i') % $web_config['php_ini_check_minutes'] != 0) { - $app->log('Info: php.ini change checking not enabled or not in this minute: ' . $web_config['php_ini_check_minutes'],LOGLEVEL_DEBUG); - return; // do not process - } - - //** add default php.ini files to check - $check_files[] = array('file' => $web_config['php_ini_path_apache'], - 'mode' => 'mod', - 'php_version' => ''); // default; - - $check_files[] = array('file' => $web_config['php_ini_path_cgi'], - 'mode' => '', // all but 'mod' and 'fast-cgi' - 'php_version' => ''); // default; - - if($fastcgi_config["fastcgi_phpini_path"] && $fastcgi_config["fastcgi_phpini_path"] != $web_config['php_ini_path_cgi']) { - $check_files[] = array('file' => $fastcgi_config["fastcgi_phpini_path"], - 'mode' => 'fast-cgi', - 'php_version' => ''); // default; - } else { - $check_files[] = array('file' => $web_config['php_ini_path_cgi'], - 'mode' => 'fast-cgi', // all but 'mod' - 'php_version' => ''); // default; - } - - - //** read additional php versions of this server - $php_versions = $app->db->queryAllRecords('SELECT server_php_id, php_fastcgi_ini_dir, php_fpm_ini_dir FROM server_php WHERE server_id = ' . intval($conf['server_id'])); - foreach($php_versions as $php) { - if($php['php_fastcgi_ini_dir'] && $php['php_fastcgi_ini_dir'] . '/php.ini' != $web_config['php_ini_path_cgi']) { - $check_files[] = array('file' => $php['php_fastcgi_ini_dir'] . '/php.ini', - 'mode' => 'fast-cgi', - 'php_version' => $php['php_fastcgi_ini_dir']); - } elseif($php['php_fpm_ini_dir'] && $php['php_fpm_ini_dir'] . '/php.ini' != $web_config['php_ini_path_cgi']) { - $check_files[] = array('file' => $php['php_fpm_ini_dir'] . '/php.ini', - 'mode' => 'php-fpm', - 'php_version' => $php['php_fpm_ini_dir']); - } - } - unset($php_versions); - - //** read md5sum status file - $new_php_ini_md5 = array(); - $php_ini_md5 = array(); - $php_ini_changed = false; - $rewrite_ini_files = false; - - if(file_exists(SCRIPT_PATH . '/temp/php.ini.md5sum')) { - $rewrite_ini_files = true; - $php_ini_md5 = unserialize(base64_decode(trim($app->system->file_get_contents(SCRIPT_PATH . '/temp/php.ini.md5sum')))); - } - if(!is_array($php_ini_md5)) $php_ini_md5 = array(); - - $processed = array(); - foreach($check_files as $file) { - $file_path = $file['file']; - if(substr($file_path, -8) !== '/php.ini') $file_path .= (substr($file_path, -1) !== '/' ? '/' : '') . 'php.ini'; - if(!file_exists($file_path)) continue; - - //** check if this php.ini file was already processed (if additional php version uses same php.ini) - $ident = $file_path . '::' . $file['mode'] . '::' . $file['php_version']; - if(in_array($ident, $processed) == true) continue; - $processed[] = $ident; - - //** check if md5sum of file changed - $file_md5 = md5_file($file_path); - if(array_key_exists($file_path, $php_ini_md5) == false || $php_ini_md5[$file_path] != $file_md5) { - $php_ini_changed = true; - - $app->log('Info: PHP.ini changed: ' . $file_path . ', mode ' . $file['mode'] . ' vers ' . $file['php_version'] . '.',LOGLEVEL_DEBUG); - // raise action for this file - if($rewrite_ini_files == true) $app->plugins->raiseAction('php_ini_changed', $file); - } - - $new_php_ini_md5[$file_path] = $file_md5; - } - - //** write new md5 sums if something changed - if($php_ini_changed == true) $app->system->file_put_contents(SCRIPT_PATH . '/temp/php.ini.md5sum', base64_encode(serialize($new_php_ini_md5))); - unset($new_php_ini_md5); - unset($php_ini_md5); - unset($processed); - } -} - -?> diff --git a/server/plugins-enabled/empty.dir b/server/plugins-enabled/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/plugins-enabled/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. diff --git a/server/scripts/ispconfig_patch b/server/scripts/ispconfig_patch new file mode 100644 index 0000000000..9376ba19fe --- /dev/null +++ b/server/scripts/ispconfig_patch @@ -0,0 +1,142 @@ +#!/usr/bin/php +<?php + +/* +Copyright (c) 2013, Marius Cramer, pixcept KG +ISPConfig Copyright (c) 2009-2013, 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. +*/ + +function sread() { + $input = fgets(STDIN); + return rtrim($input); +} + +function swrite($text = '') { + echo $text; +} + +function swriteln($text = '') { + echo $text."\n"; +} + +function simple_query($query, $answers, $default) +{ + $finished = false; + do { + if(is_array($answers)) { + $answers_str = implode(',', $answers); + swrite($query.' ('.$answers_str.') ['.$default.']: '); + } else { + swrite($query.': '); + } + $input = sread(); + + //* Stop the installation + if($input == 'quit') { + swriteln("Patch terminated by user.\n"); + die(); + } + + //* Select the default + if($input == '') { + $answer = $default; + $finished = true; + } + + //* Set answer id valid + if(!is_array($answers) || in_array($input, $answers)) { + $answer = $input; + $finished = true; + } + + } while ($finished == false); + swriteln(); + return $answer; +} + +function is_installed($appname) { + exec('which '.escapeshellcmd($appname).' 2> /dev/null',$out,$returncode); + if(isset($out[0]) && stristr($out[0],$appname) && $returncode == 0) { + return true; + } else { + return false; + } +} + +echo "\n\n".str_repeat('-',80)."\n"; +echo " _____ ___________ _____ __ _ +|_ _/ ___| ___ \ / __ \ / _(_) + | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ + | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | + _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | + \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | + __/ | + |___/ "; +echo "\n".str_repeat('-',80)."\n"; +echo "\n\n>> Patch tool \n\n"; +echo "Please enter the patch id that you want to be applied to your ISPConfig installation.\nPlease be aware that we take NO responsibility that this will work for you.\nOnly use patches if you know what you are doing.\n\n"; + +if(!is_installed('patch')) { + swriteln("The program 'patch' is missing on your server. Please install it and try again."); +} + +$patch_id = simple_query('Enter patch id', false, ''); +if($patch_id == '') { + swriteln("Patch terminated by user.\n"); + die(); +} elseif(preg_match('/^[a-zA-Z0-9_\-]+$/', $patch_id) == false) { + swriteln("Invalid patch id.\n"); + die(); +} + +$patch_data = @file_get_contents('http://ispconfig.org/downloads/patches/' . $patch_id . '.diff'); +if(!$patch_data) { + swriteln("Patch with id " . $patch_id . " does not exist.\n"); + die(); +} + +$patch_text = @file_get_contents('http://ispconfig.org/downloads/patches/' . $patch_id . '.txt'); +if($patch_text) { + $ok = simple_query("Patch description:\n".str_repeat("-", 80)."\n".$patch_text."\n".str_repeat("-", 80)."\nDo you really want to apply this patch now?", array('y','n'), 'y'); + if($ok != 'y') { + swriteln("Patch terminated by user.\n"); + die(); + } +} + +$temp_file = tempnam(sys_get_temp_dir(), 'ispc'); + +file_put_contents($temp_file, $patch_data); +chdir('/usr/local/ispconfig'); + +passthru('patch -p0 < ' . escapeshellarg($temp_file)); + +unlink($temp_file); + +exit; + +?> \ No newline at end of file diff --git a/server/server.php b/server/server.php index 2ead490432..3415f6e6b9 100644 --- a/server/server.php +++ b/server/server.php @@ -170,9 +170,6 @@ if ($app->db->connect_error == NULL && $app->dbmaster->connect_error == NULL) { $app->modules->loadModules('all'); //** Load the plugins that are in the plugins-enabled folder $app->plugins->loadPlugins('all'); - - $app->plugins->raiseAction('server_plugins_loaded', ''); - if ($tmp_num_records > 0) { $app->log("Found $tmp_num_records changes, starting update process.", LOGLEVEL_DEBUG); //** Go through the sys_datalog table and call the processing functions diff --git a/server/temp/empty.dir b/server/temp/empty.dir new file mode 100644 index 0000000000..95ba9ef37c --- /dev/null +++ b/server/temp/empty.dir @@ -0,0 +1 @@ +This empty directory is needed by ISPConfig. -- GitLab