From 7972151d0448b99e0ba28c819a698757c27c1d55 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 23 Oct 2014 13:13:09 -0400
Subject: [PATCH] Merge branch 'stable-3.0.5'
---
interface/web/help/lib/lang/se_support_message.lng | 1
interface/web/admin/lib/lang/se_language_edit.lng | 1
install/tpl/debian6_dovecot2.conf.master | 1
interface/web/sites/lib/lang/se_ftp_user.lng | 3
interface/web/sites/lib/lang/se_web_backup_list.lng | 1
interface/web/admin/lib/lang/cz_language_add.lng | 1
interface/web/dns/lib/lang/hr_dns_cname.lng | 4
interface/web/mail/lib/lang/cz_mail_relay_recipient_list.lng | 1
interface/web/mail/lib/lang/cz_mail_forward_list.lng | 1
interface/web/admin/lib/lang/cz_software_repo.lng | 5
interface/web/client/lib/lang/cz_domain_list.lng | 1
remoting_client/examples/sites_shell_user_update.php | 2
interface/web/admin/lib/lang/cz_software_package_install.lng | 1
interface/web/sites/lib/lang/se_web_sites_stats_list.lng | 1
interface/web/sites/web_vhost_domain_edit.php | 15
interface/lib/classes/IDS/Caching/CacheFactory.php | 85
interface/web/admin/lib/lang/se_software_package_list.lng | 1
interface/web/sites/lib/lang/se_database_list.lng | 1
interface/web/client/lib/lang/hr_client_del.lng | 2
interface/web/admin/lib/lang/se_groups.lng | 1
interface/web/help/lib/lang/se.lng | 1
interface/web/admin/lib/lang/se_language_list.lng | 1
interface/web/sites/lib/lang/ja_shell_user.lng | 5
server/server.php | 2
interface/web/admin/lib/lang/hr_language_add.lng | 2
interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng | 10
interface/web/sites/lib/lang/hu_ftp_user.lng | 2
interface/web/sites/lib/lang/br_web_vhost_domain.lng | 2
interface/web/monitor/lib/lang/cz.lng | 1
interface/web/admin/templates/server_config_server_edit.htm | 4
interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng | 1
install/lib/install.lib.php | 21
interface/web/vm/lib/lang/hr.lng | 2
interface/web/help/lib/lang/cz_help_faq_list.lng | 1
interface/web/mail/lib/lang/cz_mail_domain_admin_list.lng | 1
interface/web/sites/lib/lang/hr_database_user_list.lng | 8
interface/lib/plugins/vm_openvz_plugin.inc.php | 66
interface/web/vm/lib/lang/hr_openvz_vm_list.lng | 2
interface/web/mail/lib/lang/hr_mail_content_filter_list.lng | 2
interface/web/client/lib/lang/hr_resellers_list.lng | 6
interface/web/sites/lib/lang/id_shell_user.lng | 5
server/plugins-available/cron_jailkit_plugin.inc.php | 16
interface/web/dns/lib/lang/hr_dns_slave.lng | 8
docs/autoinstall_samples/autoinstall.ini.sample | 50
interface/web/admin/lib/lang/en_server_config.lng | 53
server/scripts/ispconfig_update.php | 4
interface/web/help/lib/lang/hr_faq_manage_questions_list.lng | 2
interface/web/admin/lib/lang/se_server_ip_list.lng | 1
interface/web/dns/lib/lang/es_dns_slave_admin_list.lng | 10
interface/web/sites/lib/lang/id_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/sk_web_folder_list.lng | 1
remoting_client/examples/sites_ftp_user_update.php | 2
interface/web/admin/firewall_edit.php | 1
interface/web/mail/lib/lang/cz_mail_get.lng | 1
interface/web/mail/lib/lang/se_mail_get_list.lng | 1
interface/web/admin/lib/lang/cz_directive_snippets_list.lng | 1
security/ids.whitelist | 45
interface/web/dns/lib/lang/cz_dns_mx.lng | 1
interface/web/sites/lib/lang/fr_web_folder_user_list.lng | 1
interface/web/admin/lib/lang/hu_server_config.lng | 53
interface/web/admin/lib/lang/cz_login_as.lng | 14
interface/web/admin/lib/lang/el_server_config.lng | 53
interface/web/tools/lib/lang/se_index.lng | 1
interface/web/help/lib/lang/se_faq_form.lng | 1
interface/lib/classes/ispcmail.inc.php | 2
interface/web/vm/lib/lang/cz_openvz_template.lng | 1
interface/web/admin/server_php_del.php | 1
interface/web/mail/lib/lang/hr_mail_mailinglist.lng | 14
interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng | 2
interface/web/sites/lib/lang/sk_web_folder_user_list.lng | 1
interface/web/dns/lib/lang/br_dns_slave_admin_list.lng | 10
interface/web/mail/lib/lang/cz_mail_forward.lng | 1
interface/web/sites/lib/lang/cz_shell_user_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_config_list.lng | 1
interface/web/sites/lib/lang/hr_web_folder_user_list.lng | 3
interface/lib/classes/remote.d/client.inc.php | 41
interface/web/dashboard/lib/lang/de_dashlet_limits.lng | 1
interface/web/admin/lib/lang/hr_software_package_list.lng | 4
interface/lib/classes/IDS/Report.php | 339 +
interface/web/mail/lib/lang/hr_mail_forward.lng | 4
interface/web/sites/lib/lang/hr_database_user.lng | 38
interface/web/sites/lib/lang/it_ftp_user.lng | 2
interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng | 2
interface/web/tools/lib/lang/se_interface.lng | 1
interface/web/vm/lib/lang/hr_openvz_ip.lng | 2
interface/web/mail/lib/lang/se_mail_user_filter_list.lng | 1
interface/web/sites/lib/lang/el_ftp_user.lng | 2
interface/web/dns/lib/lang/hr_dns_template_list.lng | 4
interface/web/sites/lib/lang/hr_database_user_admin_list.lng | 10
interface/temp/empty.dir | 0
interface/web/mail/lib/lang/hr.lng | 4
interface/web/sites/database_edit.php | 54
interface/web/help/lib/lang/se_faq_manage_questions_list.lng | 1
interface/web/help/lib/lang/cz_faq_sections_form.lng | 1
interface/web/dns/lib/lang/cz_dns_txt.lng | 1
interface/web/admin/lib/lang/cz_server_ip.lng | 1
install/tpl/opensuse_dovecot-sql.conf.master | 4
install/tpl/apache_ispconfig.conf.master | 3
interface/web/sites/lib/lang/bg_ftp_user.lng | 2
interface/web/sites/lib/lang/ja_web_folder_user_list.lng | 1
interface/web/sites/lib/lang/hr_web_childdomain_list.lng | 2
interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng | 11
interface/web/dns/lib/lang/se_dns_mx.lng | 1
interface/web/tools/lib/lang/cz.lng | 1
interface/web/admin/lib/lang/cz_directive_snippets.lng | 1
interface/web/admin/lib/lang/hr_server_config_list.lng | 2
server/plugins-available/cron_plugin.inc.php | 9
interface/web/client/lib/lang/cz_client_del.lng | 1
install/tpl/gentoo_postfix.conf.master | 5
interface/web/mail/lib/lang/hr_mail_domain_catchall.lng | 2
interface/lib/lang/hr.lng | 164
interface/web/sites/lib/lang/cz_ftp_user_list.lng | 1
interface/web/mailuser/lib/lang/se_mail_user_filter.lng | 1
interface/web/sites/lib/lang/se_aps_update_packagelist.lng | 1
interface/web/sites/lib/lang/bg_shell_user.lng | 5
interface/web/admin/lib/lang/hr_language_import.lng | 6
interface/web/sites/lib/lang/cz_web_vhost_domain.lng | 7
server/mods-available/web_module.inc.php | 26
interface/web/mailuser/lib/lang/cz_mail_user_autoresponder.lng | 1
interface/web/help/lib/lang/hr_faq_form.lng | 2
interface/web/vm/lib/lang/hr_openvz_action.lng | 4
interface/web/dns/lib/lang/hr_dns_rp.lng | 4
interface/web/client/lib/lang/hr_domain_list.lng | 4
interface/web/mail/lib/lang/se_spamfilter_blacklist.lng | 1
interface/web/mail/lib/lang/hr_mail_content_filter.lng | 2
interface/lib/classes/validate_domain.inc.php | 177
interface/web/client/lib/lang/hr_client_template.lng | 2
interface/web/dns/lib/lang/el_dns_slave_admin_list.lng | 10
interface/web/sites/lib/lang/se_aps.lng | 17
interface/web/sites/lib/lang/hr_ftp_user_list.lng | 2
interface/web/admin/iptables_list.php | 2
interface/web/sites/lib/lang/hr_web_folder_list.lng | 3
interface/web/dns/lib/lang/se_dns_slave_list.lng | 1
interface/web/admin/lib/lang/hr_server_php_list.lng | 4
interface/web/sites/lib/lang/cz_database_user_admin_list.lng | 1
interface/web/admin/server_ip_del.php | 1
interface/web/admin/lib/lang/se_server_config.lng | 54
interface/web/dns/lib/lang/cz_dns_hinfo.lng | 1
interface/web/admin/lib/lang/hr_software_repo.lng | 2
interface/web/admin/tpl_default.php | 1
interface/web/mail/lib/lang/se_spamfilter_users.lng | 1
interface/web/mail/lib/lang/cz_mail_aliasdomain_list.lng | 1
interface/web/mail/lib/lang/se_spamfilter_config_list.lng | 1
interface/web/client/lib/lang/cz_client_circle.lng | 1
interface/web/admin/form/system_config.tform.php | 2
interface/web/sites/lib/lang/en_web_folder_list.lng | 1
interface/web/dns/lib/lang/it_dns_slave_admin_list.lng | 10
interface/web/admin/lib/lang/fr_system_config.lng | 2
interface/web/dashboard/lib/lang/hr_dashlet_modules.lng | 2
interface/web/mail/lib/lang/cz.lng | 5
interface/lib/lang/sk.lng | 2
server/conf/nginx_vhost.conf.master | 1
interface/web/client/lib/lang/se_client_template_list.lng | 1
interface/web/admin/language_add.php | 1
interface/web/sites/lib/lang/se_database_user_admin_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_config.lng | 1
interface/web/admin/lib/lang/se_language_complete.lng | 1
interface/web/help/lib/lang/hr_help_faq_list.lng | 2
interface/web/sites/lib/lang/el_web_folder_list.lng | 1
install/tpl/opensuse_dovecot2.conf.master | 1
interface/web/sites/lib/lang/cz_database_user.lng | 1
interface/web/mail/lib/lang/se_mail_domain.lng | 1
interface/web/monitor/lib/lang/hr.lng | 22
install/tpl/fedora_dovecot-sql.conf.master | 4
interface/web/dns/lib/lang/se_dns_wizard.lng | 1
interface/web/mail/lib/lang/hr_spamfilter_config.lng | 2
interface/web/sites/lib/lang/cz_database.lng | 1
interface/web/sites/lib/lang/fi_web_folder_list.lng | 1
interface/web/sites/lib/lang/tr_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/se.lng | 3
interface/web/vm/lib/lang/se_openvz_template_list.lng | 1
interface/lib/app.inc.php | 19
server/lib/classes/ispcmail.inc.php | 869 +++
interface/web/sites/lib/lang/cz_web_backup_list.lng | 1
interface/web/sites/lib/lang/cz_web_folder_user.lng | 1
interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng | 2
interface/web/dns/lib/lang/it_dns_soa_admin_list.lng | 11
interface/web/dns/lib/lang/cz_dns_rp.lng | 1
interface/web/admin/lib/lang/cz_software_update_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng | 3
interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng | 2
interface/web/sites/form/web_vhost_domain.tform.php | 23
interface/web/sites/form/ftp_user.tform.php | 25
interface/web/sites/lib/lang/id_web_folder_list.lng | 1
interface/web/client/lib/lang/se_domain_list.lng | 1
interface/web/sites/lib/lang/cz_cron_list.lng | 1
interface/web/dns/lib/lang/cz_dns_a_list.lng | 1
interface/web/admin/lib/lang/hr_system_config.lng | 2
interface/lib/classes/IDS/Event.php | 221
interface/web/admin/lib/lang/se_software_package_install.lng | 1
interface/web/mail/lib/lang/se_mail_forward_list.lng | 1
interface/lib/lang/cz.lng | 3
interface/web/admin/lib/lang/se_language_import.lng | 1
interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng | 1
interface/web/client/lib/lang/hr_client_message.lng | 38
interface/web/tools/lib/lang/cz_index.lng | 1
server/lib/classes/cron.d/600-cleanup.inc.php | 79
interface/web/sites/lib/lang/tr_web_folder_user_list.lng | 1
interface/web/help/lib/lang/cz_help_faq_sections_list.lng | 1
interface/web/admin/lib/lang/se_server.lng | 1
interface/web/mail/lib/lang/hr_mail_alias.lng | 2
interface/web/admin/lib/lang/cz_package_install.lng | 3
interface/web/mail/lib/lang/se_mail_transport_list.lng | 1
interface/web/mail/mail_domain_edit.php | 51
interface/web/dns/lib/lang/cz_dns_soa.lng | 1
interface/web/tools/lib/lang/hr_tpl_default.lng | 12
interface/web/tools/lib/lang/hr.lng | 4
interface/web/client/lib/lang/se_client_circle.lng | 1
interface/web/sites/lib/lang/cz_aps_instances_list.lng | 1
interface/web/mail/lib/lang/cz_mail_aliasdomain.lng | 1
interface/lib/classes/IDS/Caching/FileCache.php | 189
interface/web/admin/iptables_del.php | 1
install/tpl/fedora_postfix.conf.master | 7
server/plugins-available/maildeliver_plugin.inc.php | 1
interface/web/dns/lib/lang/hr_dns_aaaa.lng | 4
interface/web/mail/lib/lang/hr_mail_user_filter_list.lng | 8
interface/web/sites/lib/lang/cz_database_list.lng | 1
interface/web/admin/lib/lang/cz_remote_action.lng | 5
interface/web/monitor/lib/lang/se.lng | 1
interface/web/dns/list/dns_slave.list.php | 22
interface/web/admin/lib/lang/cz_firewall.lng | 1
interface/web/dns/lib/lang/hr_dns_mx.lng | 6
interface/web/admin/lib/lang/hr_directive_snippets.lng | 18
interface/web/mailuser/lib/lang/se.lng | 1
interface/web/mailuser/mail_user_password_edit.php | 3
interface/web/admin/lib/lang/cz.lng | 3
interface/lib/lang/id.lng | 2
interface/web/mail/lib/lang/cz_mail_whitelist.lng | 1
server/plugins-available/mysql_clientdb_plugin.inc.php | 11
interface/web/tools/lib/lang/se_import_ispconfig.lng | 1
interface/web/admin/lib/lang/cz_language_import.lng | 1
interface/web/help/lib/lang/cz.lng | 1
interface/web/admin/lib/lang/hr_firewall.lng | 2
interface/web/mail/lib/lang/cz_mail_domain_catchall_list.lng | 1
interface/web/admin/lib/lang/se_software_repo.lng | 1
interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng | 10
interface/web/dns/lib/lang/hr_dns_template.lng | 2
interface/web/sites/lib/lang/it_web_vhost_domain.lng | 2
interface/web/themes/default_no_navimg/templates/main.tpl.htm | 1
interface/web/client/lib/lang/cz_client_message_template_list.lng | 1
interface/web/tools/lib/lang/hr_usersettings.lng | 10
interface/web/admin/lib/lang/hr_users.lng | 16
interface/web/client/lib/lang/cz_domain.lng | 1
interface/lib/lang/pl.lng | 2
docs/autoinstall_samples/autoinstall.conf_sample.php | 52
interface/web/sites/lib/lang/se_ftp_user_list.lng | 1
interface/web/admin/lib/lang/se_directive_snippets.lng | 1
interface/web/dns/lib/lang/hr_dns_import.lng | 18
interface/web/help/lib/lang/hr_faq_sections_form.lng | 2
install/tpl/debian_dovecot-sql.conf.master | 4
interface/web/mail/lib/lang/cz_mail_mailinglist.lng | 1
interface/web/sites/lib/lang/cz_web_domain_list.lng | 1
interface/web/admin/remote_user_edit.php | 3
interface/web/sites/lib/lang/fr.lng | 2
interface/web/vm/lib/lang/hr_openvz_template_list.lng | 2
interface/web/client/lib/lang/se_client_template.lng | 1
interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng | 10
interface/web/dns/lib/lang/cz_dns_cname.lng | 1
interface/web/dns/lib/lang/se_dns_ns.lng | 1
interface/web/admin/lib/lang/hr_server.lng | 4
interface/web/client/lib/lang/cz_client_message_template.lng | 1
interface/web/admin/lib/lang/cz_server_list.lng | 1
interface/lib/lang/hu.lng | 2
interface/lib/lang/ro.lng | 2
install/tpl/debian_dovecot2.conf.master | 1
interface/web/dns/lib/lang/cz_dns_soa_list.lng | 1
interface/web/client/lib/lang/hr_client_circle.lng | 16
interface/web/themes/default_combobox/templates/main.tpl.htm | 1
interface/web/sites/lib/lang/fi_ftp_user.lng | 2
interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng | 10
interface/web/admin/lib/lang/hr_server_ip.lng | 2
interface/web/dns/lib/lang/se_dns_soa.lng | 1
interface/web/monitor/lib/lang/hr_datalog_list.lng | 2
server/lib/classes/getconf.inc.php | 9
interface/web/sites/lib/lang/cz_user_quota_stats_list.lng | 1
interface/web/sites/lib/lang/br_ftp_user.lng | 2
interface/lib/lang/es.lng | 2
interface/web/dns/lib/lang/el_dns_soa_admin_list.lng | 11
interface/web/dns/lib/lang/cz_dns_import.lng | 1
interface/web/mail/lib/lang/cz_mail_domain_list.lng | 1
interface/web/sites/lib/lang/el_web_folder_user_list.lng | 1
interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng | 1
interface/web/dns/lib/lang/de_dns_soa_admin_list.lng | 11
interface/web/dashboard/lib/lang/se_dashlet_modules.lng | 1
interface/web/tools/lib/lang/hr_interface.lng | 12
interface/web/mail/lib/lang/cz_mail_get_list.lng | 1
interface/web/client/lib/lang/hr_client_template_list.lng | 2
interface/web/admin/lib/lang/cz_firewall_list.lng | 1
interface/web/admin/lib/lang/hr_firewall_list.lng | 2
interface/web/mail/lib/lang/cz_mail_alias_list.lng | 1
interface/web/mail/lib/lang/se_mail_user.lng | 1
interface/web/dns/lib/lang/cz_dns_alias.lng | 1
interface/web/client/lib/lang/se_reseller.lng | 1
interface/web/sites/lib/lang/cz_database_admin_list.lng | 1
interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/en_web_childdomain.lng | 1
interface/web/js/scrigo.js.php | 5
interface/web/sites/lib/lang/bg_web_folder_list.lng | 1
interface/web/sites/lib/lang/br_shell_user.lng | 5
interface/web/vm/lib/lang/se_openvz_vm_list.lng | 1
interface/web/sites/lib/lang/se_database_admin_list.lng | 1
interface/web/sites/lib/lang/ru_web_folder_user_list.lng | 1
interface/web/admin/lib/lang/se_server_list.lng | 1
interface/web/login/templates/index.htm | 2
interface/web/mail/lib/lang/cz_mail_mailinglist_list.lng | 1
interface/web/client/domain_edit.php | 2
interface/web/mail/lib/lang/se_mail_mailinglist_list.lng | 1
interface/web/sites/lib/lang/hr_aps_packages_list.lng | 2
interface/web/mail/lib/lang/se_mail_transport.lng | 1
interface/web/admin/lib/lang/sk_server_config.lng | 53
interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/it_web_folder_user_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_policy_list.lng | 1
interface/web/dashboard/dashlets/limits.php | 4
interface/web/admin/lib/lang/id_server_config.lng | 53
interface/lib/classes/IDS/license.txt | 18
interface/web/dns/lib/lang/se_dns_slave.lng | 1
interface/web/dashboard/lib/lang/en_dashlet_limits.lng | 1
interface/web/tools/lib/lang/cz_usersettings.lng | 1
interface/web/dns/lib/lang/se_dns_cname.lng | 1
interface/web/vm/lib/lang/hr_openvz_ostemplate.lng | 2
interface/web/mail/form/mail_user_filter.tform.php | 2
interface/web/admin/form/server_config.tform.php | 374 +
interface/web/mail/lib/lang/se_mail_blacklist.lng | 1
interface/lib/lang/ru.lng | 2
interface/web/admin/lib/lang/cz_system_config.lng | 3
interface/web/sites/lib/lang/se_cron_list.lng | 1
interface/web/sites/lib/lang/tr_shell_user.lng | 5
interface/web/sites/lib/lang/hr_shell_user.lng | 23
server/cron_daily.php | 1
interface/web/dns/lib/lang/hr_dns_srv.lng | 10
interface/web/admin/lib/lang/cz_language_complete.lng | 1
interface/web/sites/lib/lang/cz.lng | 1
interface/web/sites/lib/lang/hr_web_vhost_domain.lng | 80
interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng | 14
interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/cz_shell_user.lng | 6
interface/web/admin/lib/lang/cz_groups_list.lng | 1
interface/lib/classes/IDS/Caching/CacheInterface.php | 64
interface/web/sites/lib/lang/ar_web_vhost_domain.lng | 2
interface/web/admin/lib/lang/cz_server_ip_list.lng | 1
interface/web/mail/lib/lang/hr_mail_forward_list.lng | 2
interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng | 2
interface/web/dns/lib/lang/hr_dns_soa_list.lng | 6
interface/web/client/lib/lang/fr_reseller.lng | 2
interface/web/client/lib/lang/se.lng | 1
interface/web/help/lib/lang/se_help_faq_sections_list.lng | 1
interface/web/sites/lib/lang/ru_web_vhost_domain.lng | 2
interface/web/admin/lib/lang/ar_server_config.lng | 53
interface/web/sites/lib/lang/se_web_vhost_domain.lng | 3
interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng | 10
interface/web/mail/lib/lang/cz_mail_user_list.lng | 1
interface/lib/classes/IDS/Init.php | 174
interface/web/admin/lib/lang/hr_software_repo_list.lng | 2
interface/web/mail/lib/lang/hr_mail_domain_list.lng | 2
server/mods-available/monitor_core_module.inc.php | 1
interface/web/mail/lib/lang/cz_mail_user.lng | 3
interface/web/client/lib/lang/hr_client_message_template.lng | 2
interface/web/sites/lib/lang/es_ftp_user.lng | 2
interface/web/client/lib/lang/cz_reseller.lng | 3
interface/web/sites/lib/lang/se_user_quota_stats_list.lng | 1
interface/lib/lang/ar.lng | 2
interface/web/admin/lib/lang/hr_software_package_install.lng | 2
interface/web/admin/lib/lang/hr.lng | 4
interface/web/mail/lib/lang/hr_mail_transport.lng | 2
interface/web/dns/lib/lang/hr_dns_txt.lng | 4
interface/web/dns/lib/lang/se_dns_alias.lng | 1
interface/web/sites/lib/lang/ro_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/ru_shell_user.lng | 5
interface/web/admin/software_package_edit.php | 1
interface/web/dashboard/lib/lang/hr_dashlet_limits.lng | 2
security/security_settings.ini | 35
interface/web/sites/lib/lang/bg_web_vhost_domain.lng | 2
interface/web/client/lib/lang/cz_client_message.lng | 1
interface/web/help/lib/lang/hr.lng | 2
interface/web/sites/lib/lang/br_web_folder_user_list.lng | 1
interface/web/admin/groups_del.php | 1
interface/lib/classes/tform_base.inc.php | 6
interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng | 10
install/tpl/debian6_dovecot-sql.conf.master | 4
interface/web/admin/lib/lang/cz_iptables_list.lng | 1
interface/web/mail/lib/lang/hr_mail_blacklist.lng | 2
interface/web/client/lib/lang/se_clients_list.lng | 1
interface/web/sites/lib/lang/cz_web_domain.lng | 2
interface/web/mail/lib/lang/se_spamfilter_whitelist.lng | 1
interface/web/dashboard/lib/lang/se_dashlet_limits.lng | 1
interface/web/mail/lib/lang/se_mail_mailinglist.lng | 1
interface/web/dashboard/lib/lang/se_dashlet_quota.lng | 1
interface/web/mail/lib/lang/se_mail_domain_admin_list.lng | 1
interface/web/admin/lib/lang/se_software_repo_list.lng | 1
interface/web/mail/lib/lang/cz_mail_content_filter.lng | 1
interface/web/vm/lib/lang/se_openvz_action.lng | 1
interface/web/sites/lib/lang/ru_web_folder_list.lng | 1
server/plugins-available/mail_plugin.inc.php | 14
interface/web/mail/lib/lang/se_spamfilter_policy_list.lng | 1
interface/web/admin/server_del.php | 1
interface/lib/classes/tform.inc.php | 3
interface/web/mail/lib/lang/cz_mail_transport_list.lng | 1
interface/web/mailuser/lib/lang/hr_mail_user_password.lng | 16
interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng | 10
interface/lib/classes/IDS/Version.php | 49
interface/web/sites/lib/lang/se_shell_user.lng | 6
server/plugins-available/bind_dlz_plugin.inc.php | 10
interface/web/sites/lib/lang/hr_aps_update_packagelist.lng | 8
interface/web/sites/lib/lang/cz_ftp_user.lng | 5
interface/web/sites/lib/lang/hr_ftp_user.lng | 16
interface/web/sites/lib/lang/pt_web_folder_user_list.lng | 1
interface/web/mail/lib/lang/cz_mail_domain.lng | 1
interface/web/client/lib/lang/se_resellers_list.lng | 1
interface/web/login/index.php | 18
interface/web/sites/lib/lang/pl_shell_user.lng | 5
interface/web/sites/lib/lang/hr_user_quota_stats_list.lng | 4
interface/web/sites/lib/lang/cz_web_sites_stats_list.lng | 1
interface/web/client/lib/lang/cz_client.lng | 3
interface/web/sites/lib/lang/br_web_folder_list.lng | 1
interface/web/client/lib/lang/hr_client_message_template_list.lng | 8
interface/lib/classes/sites_database_plugin.inc.php | 137
interface/web/admin/language_import.php | 1
interface/lib/lang/se.lng | 5
interface/lib/classes/auth.inc.php | 28
interface/web/help/lib/lang/hr_support_message.lng | 2
interface/web/mailuser/lib/lang/hr_index.lng | 18
interface/web/dashboard/lib/lang/se.lng | 1
interface/web/mailuser/lib/lang/se_mail_user_password.lng | 1
interface/web/client/lib/lang/se_client_message_template_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng | 1
interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng | 1
interface/web/admin/lib/lang/hr_tpl_default_admin.lng | 30
interface/web/admin/lib/lang/se_firewall.lng | 1
interface/lib/classes/functions.inc.php | 28
interface/lib/lang/fi.lng | 2
interface/web/mail/lib/lang/se.lng | 1
interface/web/sites/lib/lang/ar_shell_user.lng | 5
interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng | 11
interface/web/client/lib/lang/el_reseller.lng | 2
interface/web/sites/lib/lang/hr_database_admin_list.lng | 4
interface/web/admin/lib/lang/se_language_add.lng | 1
interface/web/dns/lib/lang/cz_dns_srv.lng | 1
interface/web/sites/lib/lang/fr_ftp_user.lng | 2
interface/web/mail/lib/lang/cz_mail_alias.lng | 1
interface/web/admin/server_config_edit.php | 2
interface/web/sites/lib/lang/el_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/se_web_folder_list.lng | 2
interface/web/dns/lib/lang/cz_dns_slave.lng | 1
interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng | 1
install/dist/lib/gentoo.lib.php | 72
interface/web/admin/lib/lang/se_groups_list.lng | 1
interface/web/sites/lib/lang/fi_web_vhost_domain.lng | 2
interface/web/themes/blue/templates/main.tpl.htm | 1
interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng | 2
interface/web/sites/lib/lang/pl_web_folder_user_list.lng | 1
security/apache_directives.blacklist | 3
interface/web/monitor/lib/lang/cz_datalog_list.lng | 1
interface/web/admin/lib/lang/cz_server.lng | 1
install/dist/lib/debian60.lib.php | 1
interface/web/admin/lib/lang/cz_remote_user.lng | 1
interface/web/sites/lib/lang/pt_ftp_user.lng | 2
interface/web/admin/system_config_edit.php | 1
interface/web/admin/lib/lang/pt_server_config.lng | 53
interface/web/mail/lib/lang/se_mail_spamfilter.lng | 1
interface/web/mail/lib/lang/se_mail_whitelist_list.lng | 1
security/check.php | 154
interface/web/dns/lib/lang/se_dns_template_list.lng | 1
interface/lib/classes/IDS/Caching/MemcachedCache.php | 181
interface/web/sites/lib/lang/hr_cron.lng | 8
interface/web/help/lib/lang/cz_faq_manage_questions_list.lng | 1
interface/web/admin/lib/lang/es_server_config.lng | 52
interface/web/vm/lib/lang/cz_openvz_ip_list.lng | 1
interface/web/sites/lib/lang/fr_shell_user.lng | 5
interface/web/mail/lib/lang/se_mail_user_filter.lng | 1
interface/web/mailuser/lib/lang/se_mail_user_cc.lng | 1
interface/web/admin/software_update_list.php | 1
interface/web/admin/lib/lang/de_server_config.lng | 53
interface/web/admin/lib/lang/nl_server_config.lng | 53
interface/web/help/lib/lang/cz_faq_form.lng | 1
interface/web/mailuser/lib/lang/cz_index.lng | 1
interface/web/monitor/lib/lang/cz_syslog_list.lng | 1
interface/web/dashboard/lib/lang/cz_dashlet_modules.lng | 1
interface/web/vm/lib/lang/cz_openvz_ostemplate_list.lng | 1
interface/web/client/lib/lang/hr_clients_list.lng | 2
interface/web/sites/lib/lang/en_web_folder_user_list.lng | 1
interface/web/vm/lib/lang/hr_openvz_vm.lng | 4
interface/web/sites/lib/lang/nl_web_folder_list.lng | 1
interface/web/admin/lib/lang/se_remote_user_list.lng | 1
interface/lib/lang/bg.lng | 2
interface/web/sites/lib/lang/hr.lng | 32
interface/web/client/lib/lang/fr_client.lng | 2
interface/web/sites/lib/lang/fr_aps.lng | 16
interface/web/admin/lib/lang/cz_software_repo_list.lng | 5
interface/web/client/lib/lang/hr_client.lng | 12
interface/web/mail/lib/lang/hr_mail_alias_list.lng | 2
interface/web/dns/lib/lang/en_dns_soa_admin_list.lng | 11
interface/web/tools/user_settings.php | 14
interface/web/admin/lib/lang/hr_remote_user_list.lng | 2
interface/web/sites/lib/lang/cz_web_childdomain.lng | 3
interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng | 1
interface/web/client/lib/lang/cz_client_template.lng | 7
interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng | 11
interface/web/help/lib/lang/hr_help_faq_sections_list.lng | 2
interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng | 2
interface/web/admin/software_package_del.php | 1
install/tpl/opensuse_postfix.conf.master | 9
interface/web/mail/lib/lang/cz_spamfilter_users.lng | 1
interface/web/sites/lib/lang/cz_web_folder_list.lng | 2
interface/web/admin/language_edit.php | 3
install/tpl/apps_php_fpm_pool.conf.master | 2
interface/web/admin/lib/lang/ru_server_config.lng | 53
interface/web/mailuser/lib/lang/se_index.lng | 1
interface/web/admin/lib/lang/se_system_config.lng | 3
interface/web/sites/lib/lang/ar_web_folder_list.lng | 1
interface/lib/lang/nl.lng | 2
interface/web/admin/language_export.php | 1
server/plugins-available/shelluser_jailkit_plugin.inc.php | 93
interface/web/sites/web_childdomain_edit.php | 9
interface/web/client/lib/lang/cz_clients_list.lng | 1
interface/web/mail/lib/lang/hr_mail_user_stats_list.lng | 2
interface/web/sites/lib/lang/id_ftp_user.lng | 2
interface/web/sites/lib/lang/hr_cron_list.lng | 2
interface/web/admin/lib/lang/cz_server_php_list.lng | 1
interface/web/tools/lib/lang/cz_interface.lng | 1
interface/web/mail/lib/lang/se_mail_alias.lng | 1
interface/web/client/lib/lang/cz.lng | 1
interface/web/mail/lib/lang/cz_mail_whitelist_list.lng | 3
interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng | 10
interface/web/mail/lib/lang/hr_mail_get_list.lng | 2
interface/web/dns/lib/lang/se_dns_txt.lng | 1
interface/web/client/lib/lang/hr_domain.lng | 4
interface/web/sites/lib/lang/se_webdav_user.lng | 1
interface/web/dns/lib/lang/hr_dns_slave_list.lng | 2
interface/web/strengthmeter/lib/lang/se_strengthmeter.lng | 1
interface/web/vm/lib/lang/se.lng | 1
interface/web/mail/lib/lang/cz_mail_transport.lng | 1
interface/web/admin/lib/lang/se_software_package.lng | 1
interface/web/admin/lib/lang/cz_software_package_list.lng | 1
interface/web/sites/lib/lang/cz_web_folder_user_list.lng | 2
server/plugins-available/apache2_plugin.inc.php | 77
interface/lib/classes/IDS/Filter.php | 175
interface/web/dashboard/lib/lang/hr.lng | 2
interface/web/dns/lib/lang/se_dns_import.lng | 1
interface/web/mail/lib/lang/se_mail_forward.lng | 1
interface/web/admin/lib/lang/hr_iptables.lng | 4
interface/web/sites/lib/lang/ar_web_folder_user_list.lng | 1
interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng | 6
interface/lib/classes/session.inc.php | 21
interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng | 2
interface/web/sites/lib/lang/se_database_user.lng | 1
interface/web/mail/lib/lang/se_mail_aliasdomain.lng | 1
interface/web/sites/lib/lang/hu_shell_user.lng | 5
interface/web/dns/lib/lang/se_dns_a_list.lng | 1
interface/web/dashboard/lib/lang/cz_dashlet_limits.lng | 1
interface/web/mail/lib/lang/cz_mail_blacklist.lng | 1
interface/lib/classes/tform_tpl_generator.inc.php | 2
interface/web/help/lib/lang/hr_support_message_list.lng | 2
server/plugins-available/mailman_plugin.inc.php | 9
interface/web/sites/lib/lang/pt_web_vhost_domain.lng | 2
interface/web/mailuser/lib/lang/cz.lng | 1
interface/web/admin/server_ip_edit.php | 1
interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng | 2
interface/web/admin/lib/lang/se.lng | 1
interface/web/sites/lib/lang/pl_web_folder_list.lng | 1
interface/web/admin/lib/lang/ro_server_config.lng | 53
interface/web/sites/lib/lang/hu_web_folder_list.lng | 1
server/plugins-available/nginx_plugin.inc.php | 59
interface/lib/classes/db_mysql.inc.php | 74
interface/web/admin/lib/lang/br_server_config.lng | 53
interface/web/admin/lib/lang/hr_server_config.lng | 82
interface/web/mail/lib/lang/hr_mail_transport_list.lng | 2
interface/web/mail/lib/lang/hr_spamfilter_policy.lng | 2
interface/web/sites/lib/lang/nl_web_vhost_domain.lng | 2
interface/web/dns/lib/lang/hr_dns_ptr.lng | 4
interface/web/monitor/lib/lang/se_syslog_list.lng | 1
interface/web/admin/lib/lang/hr_package_install.lng | 2
interface/web/admin/lib/lang/se_remote_user.lng | 1
interface/web/admin/users_edit.php | 13
interface/web/dns/lib/lang/se_dns_hinfo.lng | 1
interface/web/mail/lib/lang/hr_mail_relay_recipient.lng | 2
interface/web/admin/lib/lang/se_firewall_list.lng | 1
server/server.sh | 3
server/plugins-available/shelluser_base_plugin.inc.php | 97
interface/web/sites/lib/lang/sk_web_vhost_domain.lng | 2
interface/lib/classes/validate_password.inc.php | 5
interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng | 11
interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng | 1
interface/web/admin/lib/lang/ja_server_config.lng | 53
interface/web/client/lib/lang/hr_reseller.lng | 28
interface/web/mail/lib/lang/se_mail_get.lng | 3
interface/lib/classes/IDS/default_filter.xml | 787 +++
interface/web/monitor/lib/lang/hr_syslog_list.lng | 2
interface/web/sites/lib/lang/hr_web_folder.lng | 4
interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng | 12
interface/web/tools/lib/lang/cz_import_ispconfig.lng | 1
interface/web/admin/lib/lang/tr_server_config.lng | 53
interface/web/monitor/lib/lang/se_datalog_list.lng | 1
server/conf/vhost.conf.master | 21
interface/web/mail/lib/lang/cz_mail_user_filter_list.lng | 1
interface/web/tools/lib/lang/se.lng | 1
interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng | 2
interface/web/tools/lib/lang/cz_resync.lng | 1
interface/web/mail/lib/lang/hr_mail_aliasdomain.lng | 2
interface/web/help/lib/lang/se_support_message_list.lng | 1
interface/web/sites/lib/lang/nl_shell_user.lng | 5
interface/web/client/lib/lang/hr.lng | 28
interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng | 10
interface/lib/classes/IDS/Config.ini.php | 59
interface/web/sites/lib/lang/es_shell_user.lng | 5
interface/web/sites/lib/lang/ro_ftp_user.lng | 2
interface/web/mailuser/lib/lang/cz_mail_user_filter_list.lng | 1
interface/web/mail/lib/lang/se_mail_relay_recipient.lng | 1
interface/web/sites/lib/lang/el_shell_user.lng | 5
interface/web/sites/lib/lang/de_web_folder_list.lng | 1
interface/web/sites/lib/lang/id_web_folder_user_list.lng | 1
interface/web/mail/lib/lang/hr_mail_spamfilter.lng | 2
interface/web/admin/lib/lang/hr_language_list.lng | 2
interface/web/mail/form/mail_whitelist.tform.php | 2
interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng | 1
interface/web/sites/lib/lang/fi_shell_user.lng | 5
interface/web/sites/lib/lang/tr_ftp_user.lng | 2
interface/web/dns/lib/lang/hr_dns_a.lng | 4
interface/web/admin/software_package_install.php | 1
security/README.txt | 139
interface/lib/lang/de.lng | 2
remoting_client/examples/sites_shell_user_add.php | 10
interface/lib/lang/it.lng | 2
interface/web/mail/lib/lang/se_mail_domain_list.lng | 1
install/dist/lib/opensuse.lib.php | 82
interface/lib/classes/ids.inc.php | 148
interface/web/mail/lib/lang/cz_mail_domain_catchall.lng | 1
interface/web/admin/lib/lang/hr_users_list.lng | 2
interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng | 2
install/tpl/apache_ispconfig_fcgi_starter.master | 2
interface/web/admin/lib/lang/se_tpl_default_admin.lng | 1
interface/web/admin/lib/lang/hr_server_ip_list.lng | 2
interface/web/admin/lib/lang/cz_language_export.lng | 1
interface/web/sites/lib/lang/ar_web_childdomain_list.lng | 1
interface/web/admin/lib/lang/cz_server_config.lng | 58
interface/web/mail/lib/lang/se_mail_alias_list.lng | 1
server/plugins-available/firewall_plugin.inc.php | 30
interface/web/vm/lib/lang/se_openvz_ip_list.lng | 1
interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng | 1
install/dist/lib/fedora.lib.php | 78
interface/web/dns/lib/lang/se_dns_a.lng | 1
interface/web/admin/lib/lang/se_users_list.lng | 1
interface/web/dashboard/lib/lang/cz.lng | 1
interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng | 1
interface/web/mailuser/lib/lang/cz_mail_user_password.lng | 1
interface/web/sites/lib/lang/fr_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/pl_web_vhost_domain.lng | 2
interface/web/sites/lib/lang/se_database_user_list.lng | 1
install/lib/installer_base.lib.php | 137
interface/web/mail/lib/lang/hr_mail_get.lng | 2
interface/web/mail/lib/lang/se_mail_content_filter.lng | 1
interface/web/sites/lib/lang/hr_aps.lng | 78
interface/web/tools/lib/lang/cz_tpl_default.lng | 1
interface/web/sites/lib/lang/se_aps_packages_list.lng | 1
interface/web/dns/lib/lang/id_dns_slave_admin_list.lng | 10
interface/web/mail/lib/lang/se_mail_blacklist_list.lng | 1
interface/web/sites/lib/lang/hr_database.lng | 12
interface/web/tools/lib/lang/hr_resync.lng | 26
interface/web/client/lib/lang/se_domain.lng | 1
interface/web/sites/lib/lang/cz_cron.lng | 1
interface/web/dns/lib/lang/se.lng | 1
interface/web/admin/lib/lang/hr_directive_snippets_list.lng | 12
interface/web/dns/lib/lang/cz_dns_template_list.lng | 1
remoting_client/examples/sites_ftp_user_add.php | 6
interface/web/mail/lib/lang/hr_mail_whitelist.lng | 2
interface/web/dns/lib/lang/se_dns_srv.lng | 1
interface/web/dns/lib/lang/cz_dns_ptr.lng | 1
interface/web/admin/server_edit.php | 1
interface/web/admin/users_del.php | 1
interface/web/admin/lib/lang/se_remote_action.lng | 1
interface/web/admin/lib/lang/cz_server_config_list.lng | 1
interface/web/mail/lib/lang/cz_mail_spamfilter.lng | 1
interface/web/mailuser/lib/lang/hr.lng | 12
interface/web/mailuser/lib/lang/cz_mail_user_spamfilter.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_policy.lng | 1
interface/web/dashboard/lib/lang/hr_dashlet_quota.lng | 2
interface/web/mail/form/mail_aliasdomain.tform.php | 2
interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng | 1
interface/web/dns/lib/lang/hr_dns_wizard.lng | 20
interface/web/dns/lib/lang/se_dns_aaaa.lng | 1
interface/web/sites/lib/lang/cz_webdav_user.lng | 15
interface/lib/classes/IDS/Caching/DatabaseCache.php | 277 +
interface/lib/classes/getconf.inc.php | 17
interface/web/sites/lib/lang/bg_web_folder_user_list.lng | 1
interface/web/vm/lib/lang/cz_openvz_ostemplate.lng | 1
interface/web/sites/lib/lang/se_database.lng | 1
interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng | 6
interface/web/mail/lib/lang/fr_mail_get.lng | 2
interface/web/admin/lib/lang/se_directive_snippets_list.lng | 1
interface/web/admin/lib/lang/it_server_config.lng | 53
interface/web/remote/index.php | 5
interface/web/sites/lib/lang/hr_webdav_user.lng | 14
interface/web/client/lib/lang/se_client_circle_list.lng | 1
interface/web/admin/lib/lang/hr_login_as.lng | 13
interface/web/sites/lib/lang/ro_web_folder_user_list.lng | 1
interface/web/vm/lib/lang/cz_openvz_ip.lng | 1
interface/web/admin/templates/server_config_web_edit.htm | 6
interface/web/client/lib/lang/hr_client_circle_list.lng | 16
interface/web/admin/lib/lang/hr_groups.lng | 2
interface/web/admin/lib/lang/cz_language_edit.lng | 1
interface/web/login/password_reset.php | 5
interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng | 13
interface/web/client/lib/lang/se_client_message_template.lng | 1
interface/web/mail/mail_user_edit.php | 2
interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng | 10
interface/web/tools/lib/lang/se_tpl_default.lng | 1
interface/web/admin/lib/lang/hr_language_export.lng | 2
interface/web/sites/lib/lang/pt_shell_user.lng | 5
interface/web/vm/lib/lang/se_openvz_ostemplate.lng | 1
interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng | 11
interface/web/sites/lib/lang/de_ftp_user.lng | 2
server/plugins-available/backup_plugin.inc.php | 18
interface/web/mail/lib/lang/se_mail_spamfilter_list.lng | 1
interface/web/admin/lib/lang/fi_server_config.lng | 53
interface/web/dns/lib/lang/cz_dns_slave_list.lng | 1
interface/web/sites/lib/lang/tr_web_folder_list.lng | 1
interface/web/sites/lib/lang/se_webdav_user_list.lng | 1
interface/web/admin/lib/lang/el_system_config.lng | 2
interface/web/dns/lib/lang/cz_dns_template.lng | 1
interface/web/client/lib/lang/se_client_message.lng | 1
interface/web/vm/lib/lang/se_openvz_vm.lng | 1
interface/web/dns/lib/lang/cz.lng | 1
interface/web/admin/lib/lang/se_server_php_list.lng | 1
install/tpl/debian_postfix.conf.master | 7
interface/web/admin/remote_user_del.php | 1
interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng | 11
interface/web/mail/lib/lang/se_mail_content_filter_list.lng | 1
server/lib/classes/monitor_tools.inc.php | 19
interface/web/sites/lib/lang/se_aps_instances_list.lng | 1
interface/web/admin/lib/lang/hr_iptables_list.lng | 2
interface/web/client/lib/lang/se_client.lng | 3
interface/web/help/lib/lang/se_faq_sections_form.lng | 1
interface/web/dns/lib/lang/cz_dns_aaaa.lng | 1
interface/web/tools/lib/lang/hr_index.lng | 2
interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng | 10
interface/web/sites/form/database.tform.php | 4
interface/web/mail/lib/lang/se_user_quota_stats_list.lng | 1
interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng | 10
interface/web/sites/lib/lang/se_web_folder.lng | 1
interface/web/sites/lib/lang/ar_ftp_user.lng | 2
server/lib/classes/system.inc.php | 67
interface/web/admin/lib/lang/cz_language_list.lng | 1
interface/web/mail/lib/lang/hr_user_quota_stats_list.lng | 14
interface/web/sites/lib/lang/cz_web_childdomain_list.lng | 1
interface/web/dns/templates/dns_soa_admin_list.htm | 86
interface/lib/lang/el.lng | 4
interface/web/sites/lib/lang/se_cron.lng | 1
server/lib/app.inc.php | 18
install/install.php | 124
interface/web/tools/lib/lang/hr_import_ispconfig.lng | 44
interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng | 11
interface/web/vm/lib/lang/hr_openvz_template.lng | 22
interface/web/vm/lib/lang/cz_openvz_vm.lng | 1
interface/web/mail/lib/lang/hr_mail_blacklist_list.lng | 2
interface/web/admin/lib/lang/hr_software_update_list.lng | 4
interface/web/dns/lib/lang/hr_dns_hinfo.lng | 4
interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng | 1
interface/lib/lang/ja.lng | 2
interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng | 2
interface/lib/classes/IDS/Converter.php | 779 +++
interface/web/admin/lib/lang/hr_groups_list.lng | 2
interface/lib/lang/pt.lng | 2
interface/web/help/lib/lang/cz_support_message.lng | 1
interface/web/login/lib/lang/cz.lng | 1
install/sql/ispconfig3.sql | 2
interface/web/admin/lib/lang/pl_server_config.lng | 53
interface/web/admin/language_complete.php | 1
interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng | 1
interface/web/sites/lib/lang/ja_ftp_user.lng | 2
interface/lib/classes/IDS/Caching/ApcCache.php | 144
interface/web/client/lib/lang/cz_client_template_list.lng | 1
interface/web/client/lib/lang/cz_resellers_list.lng | 1
interface/web/dns/lib/lang/es_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/en_shell_user.lng | 5
interface/lib/classes/IDS/default_filter.json | 933 +++
interface/web/mail/lib/lang/cz_mail_content_filter_list.lng | 1
server/lib/classes/db_mysql.inc.php | 12
interface/web/admin/firewall_del.php | 1
interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng | 10
interface/web/mail/lib/lang/se_mail_domain_catchall.lng | 1
interface/web/admin/lib/lang/se_server_php.lng | 1
interface/web/mail/lib/lang/cz_mail_blacklist_list.lng | 1
interface/web/sites/lib/lang/hr_web_sites_stats_list.lng | 4
interface/web/admin/lib/lang/hr_server_php.lng | 22
server/conf/apps_php_fpm_pool.conf.master | 2
interface/web/mail/lib/lang/hr_spamfilter_users_list.lng | 2
interface/web/sites/lib/lang/es_web_folder_list.lng | 1
interface/web/sites/lib/lang/hr_webdav_user_list.lng | 2
interface/lib/classes/validate_ftpuser.inc.php | 28
interface/web/vm/lib/lang/cz_openvz_template_list.lng | 1
interface/web/admin/lib/lang/cz_tpl_default_admin.lng | 1
interface/web/dns/lib/lang/cz_dns_a.lng | 1
interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng | 2
interface/web/admin/lib/lang/se_software_update_list.lng | 1
install/tpl/apache_ispconfig.vhost.master | 1
interface/web/admin/lib/lang/cz_server_php.lng | 1
interface/web/sites/lib/lang/ja_web_folder_list.lng | 1
interface/web/admin/software_repo_edit.php | 1
interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng | 2
interface/web/dns/lib/lang/se_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/hr_web_backup_list.lng | 2
interface/web/sites/lib/lang/hr_web_folder_user.lng | 16
interface/web/dns/lib/lang/de_dns_slave_admin_list.lng | 10
interface/web/sites/shell_user_edit.php | 7
interface/web/sites/form/shell_user.tform.php | 38
interface/web/vm/lib/lang/cz_openvz_vm_list.lng | 1
interface/web/admin/software_repo_del.php | 1
interface/lib/lang/tr.lng | 2
interface/web/admin/lib/lang/fr_server_config.lng | 52
interface/web/themes/default/templates/main.tpl.htm | 5
interface/web/sites/lib/lang/cz_web_domain_admin_list.lng | 1
interface/web/dns/lib/lang/hr.lng | 2
interface/web/mail/lib/lang/cz_mail_spamfilter_list.lng | 1
interface/web/mail/lib/lang/hr_mail_user_list.lng | 6
interface/web/sites/lib/lang/sk_ftp_user.lng | 2
interface/lib/lang/br.lng | 2
interface/web/sites/lib/lang/se_shell_user_list.lng | 1
security/ids.htmlfield | 5
interface/web/sites/lib/lang/hr_aps_instances_list.lng | 22
interface/lib/classes/IDS/Config/Config.ini.php | 91
interface/web/admin/lib/lang/hr_language_edit.lng | 2
interface/web/sites/lib/lang/cz_webdav_user_list.lng | 1
interface/web/vm/lib/lang/se_openvz_template.lng | 1
interface/web/dns/list/dns_soa.list.php | 22
interface/lib/classes/aps_guicontroller.inc.php | 2
interface/web/dns/lib/lang/hr_dns_soa.lng | 16
interface/web/client/lib/lang/se_client_del.lng | 1
interface/web/admin/remote_action_osupdate.php | 1
interface/web/sites/lib/lang/ja_web_vhost_domain.lng | 2
interface/lib/classes/IDS/Monitor.php | 566 ++
interface/web/sites/lib/lang/se_web_folder_user.lng | 1
interface/web/client/templates/domain_list.htm | 2
interface/web/mail/lib/lang/cz_spamfilter_users_list.lng | 1
interface/lib/classes/validate_systemuser.inc.php | 146
interface/web/dns/templates/dns_slave_admin_list.htm | 83
interface/web/sites/lib/lang/hr_database_list.lng | 4
interface/web/mail/lib/lang/se_mail_whitelist.lng | 1
interface/web/admin/lib/lang/se_server_config_list.lng | 1
interface/web/sites/lib/lang/fi_web_folder_user_list.lng | 1
interface/web/mail/lib/lang/cz_mail_user_stats_list.lng | 1
interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng | 11
interface/web/sites/lib/lang/de_web_folder_user_list.lng | 1
interface/web/client/lib/lang/cz_client_circle_list.lng | 1
interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng | 1
install/tpl/php_fpm_pool.conf.master | 4
interface/lib/classes/IDS/.htaccess | 5
interface/web/dns/lib/lang/br_dns_soa_admin_list.lng | 11
interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng | 11
interface/web/admin/lib/lang/se_package_install.lng | 1
interface/web/sites/lib/lang/cz_aps.lng | 1
interface/web/admin/lib/lang/se_iptables.lng | 1
interface/web/mail/lib/lang/hr_spamfilter_config_list.lng | 2
interface/lib/lang/en.lng | 6
install/tpl/nginx_ispconfig.vhost.master | 1
interface/web/mail/lib/lang/hr_spamfilter_users.lng | 2
interface/web/sites/lib/lang/ro_shell_user.lng | 5
interface/web/admin/lib/lang/hr_server_list.lng | 4
interface/lib/classes/ispconfig_request.inc.php | 6
interface/web/admin/lib/lang/cz_remote_user_list.lng | 1
interface/web/admin/server_config_del.php | 1
interface/web/dns/lib/lang/hr_dns_alias.lng | 4
interface/web/sites/lib/lang/ro_web_folder_list.lng | 1
interface/web/dns/lib/lang/se_dns_soa_list.lng | 1
interface/web/admin/lib/lang/hr_remote_action.lng | 2
server/scripts/ispconfig_htaccess.php | 76
interface/web/sites/lib/lang/fr_web_folder_list.lng | 1
interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng | 1
interface/web/dashboard/lib/lang/cz_dashlet_quota.lng | 1
interface/lib/classes/IDS/Filter/Storage.php | 401 +
interface/web/sites/lib/lang/cz_database_user_list.lng | 1
interface/web/vm/lib/lang/cz_openvz_action.lng | 1
interface/web/admin/lib/lang/se_language_export.lng | 1
interface/web/help/lib/lang/cz_support_message_list.lng | 1
interface/web/mail/lib/lang/se_spamfilter_config.lng | 1
interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng | 12
interface/web/sites/lib/lang/se_web_folder_user_list.lng | 2
interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng | 11
interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng | 10
interface/web/tools/lib/lang/se_usersettings.lng | 1
interface/web/sites/lib/lang/de_shell_user.lng | 5
server/conf/apache_ispconfig.conf.master | 2
interface/web/mail/lib/lang/se_mail_user_stats_list.lng | 1
install/sql/incremental/upd_0078.sql | 1
interface/web/sites/lib/lang/it_shell_user.lng | 5
interface/web/admin/lib/lang/cz_users.lng | 1
interface/web/dns/lib/lang/cz_dns_ns.lng | 1
interface/web/mailuser/lib/lang/hr_mail_user_cc.lng | 2
interface/web/admin/iptables_edit.php | 1
interface/web/vm/lib/lang/hr_openvz_ip_list.lng | 2
interface/web/sites/lib/lang/de_web_vhost_domain.lng | 2
interface/web/dns/lib/lang/se_dns_template.lng | 1
interface/lib/classes/IDS/Caching/SessionCache.php | 136
interface/web/mail/lib/lang/cz_mail_relay_recipient.lng | 1
interface/web/login/lib/lang/hr.lng | 12
interface/web/admin/templates/users_list.htm | 2
interface/web/sites/lib/lang/hu_web_vhost_domain.lng | 2
interface/web/mail/lib/lang/hr_mail_user.lng | 6
interface/web/admin/lib/lang/bg_server_config.lng | 53
interface/lib/lang/fr.lng | 4
interface/web/admin/lib/lang/hr_remote_user.lng | 10
interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng | 2
interface/web/vm/lib/lang/se_openvz_ip.lng | 1
interface/web/admin/lib/lang/hr_language_complete.lng | 2
install/update.php | 81
interface/web/login/lib/lang/hr_login_as.lng | 6
install/tpl/fedora_dovecot2.conf.master | 1
interface/web/mail/lib/lang/hr_mail_domain.lng | 2
interface/web/sites/lib/lang/nl_web_folder_user_list.lng | 1
interface/web/mailuser/lib/lang/cz_mail_user_filter.lng | 1
interface/web/admin/lib/lang/cz_groups.lng | 1
interface/web/dns/lib/lang/en_dns_slave_admin_list.lng | 10
interface/web/admin/lib/lang/cz_users_list.lng | 1
interface/web/mail/lib/lang/se_spamfilter_policy.lng | 1
interface/web/sites/lib/lang/hr_shell_user_list.lng | 4
server/plugins-available/network_settings_plugin.inc.php | 51
interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng | 1
interface/web/themes/default_64_navimg/templates/main.tpl.htm | 1
interface/web/sites/ftp_user_edit.php | 7
interface/web/admin/groups_edit.php | 1
security/data/empty.dir | 0
interface/web/admin/lib/lang/cz_iptables.lng | 1
interface/web/dns/lib/lang/se_dns_ptr.lng | 1
interface/web/sites/lib/lang/ru_ftp_user.lng | 2
interface/web/admin/server_php_edit.php | 1
interface/web/dns/lib/lang/id_dns_soa_admin_list.lng | 11
interface/web/admin/lib/lang/se_iptables_list.lng | 1
interface/web/mail/lib/lang/se_spamfilter_users_list.lng | 1
interface/web/dns/lib/lang/se_dns_slave_admin_list.lng | 10
interface/web/sites/lib/lang/cz_web_folder.lng | 1
install/tpl/server.ini.master | 2
interface/web/login/lib/lang/se.lng | 1
interface/web/vm/lib/lang/cz.lng | 1
interface/web/admin/lib/lang/se_server_ip.lng | 1
interface/web/help/lib/lang/se_help_faq_list.lng | 1
interface/web/sites/lib/lang/sk_shell_user.lng | 5
interface/web/sites/lib/lang/nl_ftp_user.lng | 2
interface/web/mail/lib/lang/hr_mail_user_filter.lng | 18
interface/web/sites/lib/lang/hu_web_folder_user_list.lng | 1
interface/lib/classes/listform.inc.php | 6
interface/web/dns/lib/lang/hr_dns_ns.lng | 4
interface/web/mail/lib/lang/cz_mail_user_filter.lng | 1
interface/web/sites/lib/lang/cz_aps_update_packagelist.lng | 1
interface/web/sites/lib/lang/pl_ftp_user.lng | 2
interface/web/login/lib/lang/se_login_as.lng | 7
interface/web/dns/lib/lang/hr_dns_a_list.lng | 2
interface/web/dns/lib/lang/se_dns_rp.lng | 1
interface/web/admin/lib/lang/cz_software_package.lng | 1
interface/web/mail/lib/lang/cz_user_quota_stats_list.lng | 1
interface/web/sites/lib/lang/pt_web_folder_list.lng | 1
interface/web/sites/lib/lang/it_web_folder_list.lng | 1
interface/web/admin/lib/lang/se_users.lng | 1
/dev/null | 170
interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng | 11
interface/web/mail/lib/lang/se_mail_user_list.lng | 1
interface/web/sites/lib/lang/cz_aps_packages_list.lng | 1
interface/web/sites/lib/lang/es_web_folder_user_list.lng | 1
interface/web/mailuser/lib/lang/cz_mail_user_cc.lng | 1
interface/web/mailuser/lib/lang/hr_mail_user_filter.lng | 38
interface/web/admin/lib/lang/hr_software_package.lng | 2
interface/web/dns/lib/lang/cz_dns_wizard.lng | 1
960 files changed, 12,958 insertions(+), 1,798 deletions(-)
diff --git a/docs/autoinstall_samples/autoinstall.conf_sample.php b/docs/autoinstall_samples/autoinstall.conf_sample.php
new file mode 100644
index 0000000..ccd36aa
--- /dev/null
+++ b/docs/autoinstall_samples/autoinstall.conf_sample.php
@@ -0,0 +1,52 @@
+<?php
+$autoinstall['language'] = 'en'; // de, en (default)
+$autoinstall['install_mode'] = 'standard'; // standard (default), expert
+
+$autoinstall['hostname'] = 'server1.example.com'; // default
+$autoinstall['mysql_hostname'] = 'localhost'; // default: localhost
+$autoinstall['mysql_root_user'] = 'root'; // default: root
+$autoinstall['mysql_root_password'] = 'howtoforge';
+$autoinstall['mysql_database'] = 'dbispconfig'; // default: dbispcongig
+$autoinstall['mysql_charset'] = 'utf8'; // default: utf8
+$autoinstall['http_server'] = 'nginx'; // apache (default), nginx
+$autoinstall['ispconfig_port'] = '8080'; // default: 8080
+$autoinstall['ispconfig_use_ssl'] = 'y'; // y (default), n
+
+/* SSL Settings */
+$autoinstall['ssl_cert_country'] = 'AU';
+$autoinstall['ssl_cert_state'] = 'Some-State';
+$autoinstall['ssl_cert_locality'] = 'Chicago';
+$autoinstall['ssl_cert_organisation'] = 'Internet Widgits Pty Ltd';
+$autoinstall['ssl_cert_organisation_unit'] = 'IT department';
+$autoinstall['ssl_cert_common_name'] = $autoinstall['hostname'];
+
+/* optional expert mode settings, needed only for expert mode */
+$autoinstall['mysql_ispconfig_user'] = 'ispconfig'; // default: ispconfig
+$autoinstall['mysql_ispconfig_password'] = md5(uniqid(rand()));
+$autoinstall['join_multiserver_setup'] = 'n'; // y, n (default)
+$autoinstall['mysql_master_hostname'] = 'master.example.com';
+$autoinstall['mysql_master_root_user'] = 'root';
+$autoinstall['mysql_master_root_password'] = 'howtoforge';
+$autoinstall['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
+$autoinstall['configure_mail'] = 'y'; // y (default), n
+$autoinstall['configure_jailkit'] = 'y'; // y (default), n
+$autoinstall['configure_ftp'] = 'y'; // y (default), n
+$autoinstall['configure_dns'] = 'y'; // y (default), n
+$autoinstall['configure_apache'] = 'y'; // y (default), n
+$autoinstall['configure_nginx'] = 'y'; // y (default), n
+$autoinstall['configure_firewall'] = 'y'; // y (default), n
+$autoinstall['install_ispconfig_web_interface'] = 'y'; // y (default), n
+
+/* optional update settings, needed only for updates */
+$autoupdate['do_backup'] = 'yes'; // yes (default), no
+$autoupdate['mysql_root_password'] = 'howtoforge';
+$autoupdate['mysql_master_hostname'] = 'master.example.com';
+$autoupdate['mysql_master_root_user'] = 'root';
+$autoupdate['mysql_master_root_password'] = 'howtoforge';
+$autoupdate['mysql_master_database'] = 'dbispconfig'; // default: dbispconfig
+$autoupdate['reconfigure_permissions_in_master_database'] = 'no'; // no (default), yes
+$autoupdate['reconfigure_services'] = 'yes'; // yes (default), no
+$autoupdate['ispconfig_port'] = '8080'; // default: 8080
+$autoupdate['create_new_ispconfig_ssl_cert'] = 'no'; // no (default), yes
+$autoupdate['reconfigure_crontab'] = 'yes'; // yes (default), no
+?>
\ No newline at end of file
diff --git a/docs/autoinstall_samples/autoinstall.ini.sample b/docs/autoinstall_samples/autoinstall.ini.sample
new file mode 100644
index 0000000..1f4d9d7
--- /dev/null
+++ b/docs/autoinstall_samples/autoinstall.ini.sample
@@ -0,0 +1,50 @@
+[install]
+language=en
+install_mode=standard
+hostname=server1.example.com
+mysql_hostname=localhost
+mysql_root_user=root
+mysql_root_password=ispconfig
+mysql_database=dbispconfig
+mysql_charset=utf8
+http_server=apache
+ispconfig_port=8080
+ispconfig_use_ssl=y
+
+[ssl_cert]
+ssl_cert_country=AU
+ssl_cert_state=Some-State
+ssl_cert_locality=Chicago
+ssl_cert_organisation=Internet Widgits Pty Ltd
+ssl_cert_organisation_unit=IT department
+ssl_cert_common_name=server1.example.com
+
+[expert]
+mysql_ispconfig_user=ispconfig
+mysql_ispconfig_password=afStEratXBsgatRtsa42CadwhQ
+join_multiserver_setup=n
+mysql_master_hostname=master.example.com
+mysql_master_root_user=root
+mysql_master_root_password=ispconfig
+mysql_master_database=dbispconfig
+configure_mail=y
+configure_jailkit=y
+configure_ftp=y
+configure_dns=y
+configure_apache=y
+configure_nginx=y
+configure_firewall=y
+install_ispconfig_web_interface=y
+
+[update]
+do_backup=yes
+mysql_root_password=ispconfig
+mysql_master_hostname=master.example.com
+mysql_master_root_user=root
+mysql_master_root_password=ispconfig
+mysql_master_database=dbispconfig
+reconfigure_permissions_in_master_database=no
+reconfigure_services=yes
+ispconfig_port=8080
+create_new_ispconfig_ssl_cert=no
+reconfigure_crontab=yes
\ No newline at end of file
diff --git a/install/autoupdate.php b/install/autoupdate.php
deleted file mode 100644
index e343d84..0000000
--- a/install/autoupdate.php
+++ /dev/null
@@ -1,340 +0,0 @@
-<?php
-/*
-Copyright (c) 2007-2010, 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.
-*/
-
-/*
- ISPConfig 3 updater.
-*/
-
-die("Autoupdate has been removed.\nPlease start the update on the shell with the command ispconfig_update.sh as root user.\n");
-
-error_reporting(E_ALL|E_STRICT);
-
-/*
- * If the auto-updater flag is not on (the file does not exist) then cancel the auto-update!
-*/
-if (!file_exists('autoupdate')) {
-
- //** The banner on the command line
- echo "\n\n".str_repeat('-', 80)."\n";
- echo " _____ ___________ _____ __ _ ____
-|_ _/ ___| ___ \ / __ \ / _(_) /__ \
- | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
- | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
- _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
- \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
- __/ |
- |___/ ";
- echo "\n".str_repeat('-', 80)."\n";
- echo "\n\n>>This script is for internal use only! Please use update.php! \n\n";
- exit;
-}
-
-//** Include the library with the basic installer functions
-require_once 'lib/install.lib.php';
-
-//** Include the library with the basic updater functions
-require_once 'lib/update.lib.php';
-
-//** Include the base class of the installer class
-require_once 'lib/installer_base.lib.php';
-
-//** Ensure that current working directory is install directory
-$cur_dir = getcwd();
-if(realpath(dirname(__FILE__)) != $cur_dir) die("Please run installation/update from _inside_ the install directory!\n");
-
-//** Install logfile
-define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log');
-define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../'));
-
-//** Get distribution identifier
-$dist = get_distname();
-
-include_once "/usr/local/ispconfig/server/lib/config.inc.php";
-$conf_old = $conf;
-unset($conf);
-
-if($dist['id'] == '') die('Linux distribution or version not recognized.');
-
-//** Include the distribution-specific installer class library and configuration
-if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
-include_once 'dist/lib/'.$dist['id'].'.lib.php';
-include_once 'dist/conf/'.$dist['id'].'.conf.php';
-
-//** Get hostname
-exec('hostname -f', $tmp_out);
-$conf['hostname'] = $tmp_out[0];
-unset($tmp_out);
-
-//** Set the mysql login information
-$conf["mysql"]["host"] = $conf_old["db_host"];
-$conf["mysql"]["database"] = $conf_old["db_database"];
-$conf['mysql']['charset'] = 'utf8';
-$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"];
-$conf["mysql"]["ispconfig_password"] = $conf_old["db_password"];
-$conf['language'] = $conf_old['language'];
-if($conf['language'] == '{language}') $conf['language'] = 'en';
-
-if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"];
-if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"];
-if(isset($conf_old["dbmaster_user"])) $conf["mysql"]["master_ispconfig_user"] = $conf_old["dbmaster_user"];
-if(isset($conf_old["dbmaster_password"])) $conf["mysql"]["master_ispconfig_password"] = $conf_old["dbmaster_password"];
-
-//* Check if this is a master / slave setup
-$conf['mysql']['master_slave_setup'] = 'n';
-if($conf["mysql"]["master_host"] != '' && $conf["mysql"]["host"] != $conf["mysql"]["master_host"]) {
- $conf['mysql']['master_slave_setup'] = 'y';
-}
-
-// Resolve the IP address of the mysql hostname.
-if(!$conf['mysql']['ip'] = gethostbyname($conf['mysql']['host'])) die('Unable to resolve hostname'.$conf['mysql']['host']);
-
-$conf['server_id'] = intval($conf_old["server_id"]);
-$conf['ispconfig_log_priority'] = $conf_old["log_priority"];
-
-$inst = new installer();
-$inst->is_update = true;
-
-//** Detect the installed applications
-$inst->find_installed_apps();
-
-//** Initialize the MySQL server connection
-include_once 'lib/mysql.lib.php';
-
-//** Database update is a bit brute force and should be rebuild later ;)
-
-/*
- * Try to read the DB-admin settings
- */
-$clientdb_host = '';
-$clientdb_user = '';
-$clientdb_password = '';
-include_once "/usr/local/ispconfig/server/lib/mysql_clientdb.conf";
-$conf["mysql"]["admin_user"] = $clientdb_user;
-$conf["mysql"]["admin_password"] = $clientdb_password;
-$clientdb_host = '';
-$clientdb_user = '';
-$clientdb_password = '';
-
-//** There is a error if user for mysql admin_password if empty
-if( empty($conf["mysql"]["admin_password"]) ) {
- die("internal error - MYSQL-Root passord not known");
-}
-
-//** Test mysql root connection
-if(!@mysql_connect($conf["mysql"]["host"], $conf["mysql"]["admin_user"], $conf["mysql"]["admin_password"])) {
- die("internal error - MYSQL-Root passord wrong");
-}
-
-/*
- * Check all tables
-*/
-checkDbHealth();
-
-/*
- * Prepare the dump of the database
-*/
-prepareDBDump();
-
-//* initialize the database
-$inst->db = new db();
-
-/*
- * The next line is a bit tricky!
- * At the automated update we have no connection to the master-db (we don't need it, because
- * there are only TWO points, where this is needed)
- * 1) update the rights --> the autoupdater sets the rights of all clients when the server is
- * autoupdated)
- * 2) update the server-settings (is web installed, is mail installed) --> the autoupdates
- * doesn't change any of this settings, so there ist no need to update this.
- * This means, the autoupdater did not need any connection to the master-db (only to the local bd
- * of the master-server). To avoid any problems, we set the master-db to the local one.
- */
-$inst->dbmaster = $inst->db;
-
-/*
- * If it is NOT a master-slave - Setup then we are at the Master-DB. So set all rights
-*/
-if($conf['mysql']['master_slave_setup'] != 'y') {
- $inst->grant_master_database_rights(true);
-}
-
-/*
- * dump the new Database and reconfigure the server.ini
- */
-updateDbAndIni();
-
-/*
- * Reconfigure all Services
- */
-if($conf['services']['mail'] == true) {
- //** Configure postfix
- swriteln('Configuring Postfix');
- $inst->configure_postfix('dont-create-certs');
-
- //** Configure mailman
- if($conf['mailman']['installed'] == true) {
- swriteln('Configuring Mailman');
- $inst->configure_mailman('update');
- }
-
- //* Configure Jailkit
- swriteln('Configuring Jailkit');
- $inst->configure_jailkit();
-
- if($conf['dovecot']['installed'] == true) {
- //* Configure dovecot
- swriteln('Configuring Dovecot');
- $inst->configure_dovecot();
- } else {
- //** Configure saslauthd
- swriteln('Configuring SASL');
- $inst->configure_saslauthd();
-
- //** Configure PAM
- swriteln('Configuring PAM');
- $inst->configure_pam();
-
- //* Configure courier
- swriteln('Configuring Courier');
- $inst->configure_courier();
- }
-
- //** Configure Spamasassin
- swriteln('Configuring Spamassassin');
- $inst->configure_spamassassin();
-
- //** Configure Amavis
- if($conf['amavis']['installed'] == true) {
- swriteln('Configuring Amavisd');
- $inst->configure_amavis();
- }
-
- //** Configure Getmail
- swriteln('Configuring Getmail');
- $inst->configure_getmail();
-}
-
-if($conf['services']['web'] == true) {
- //** Configure Pureftpd
- swriteln('Configuring Pureftpd');
- $inst->configure_pureftpd();
-}
-
-if($conf['services']['dns'] == true) {
- //* Configure DNS
- if($conf['powerdns']['installed'] == true) {
- swriteln('Configuring PowerDNS');
- $inst->configure_powerdns();
- } elseif($conf['bind']['installed'] == true) {
- swriteln('Configuring BIND');
- $inst->configure_bind();
- } else {
- swriteln('Configuring MyDNS');
- $inst->configure_mydns();
- }
-}
-
-if($conf['services']['web']) {
- if($conf['webserver']['server_type'] == 'apache'){
- //** Configure Apache
- swriteln('Configuring Apache');
- $inst->configure_apache();
-
- //** Configure vlogger
- swriteln('Configuring vlogger');
- $inst->configure_vlogger();
- } else {
- //** Configure nginx
- swriteln('Configuring nginx');
- $inst->configure_nginx();
- }
-
- //** Configure apps vhost
- swriteln('Configuring Apps vhost');
- $inst->configure_apps_vhost();
-}
-
-
-//* Configure DBServer
-swriteln('Configuring Database');
-$inst->configure_dbserver();
-
-
-//if(@is_dir('/etc/Bastille')) {
-//* Configure Firewall
-swriteln('Configuring Firewall');
-$inst->configure_bastille_firewall();
-//}
-
-//** Configure ISPConfig
-swriteln('Updating ISPConfig');
-
-
-//** Customise the port ISPConfig runs on
-$conf['apache']['vhost_port'] = get_ispconfig_port_number();
-
-$inst->install_ispconfig();
-
-//** Configure Crontab
-swriteln('Updating Crontab');
-$inst->install_crontab();
-
-//** Restart services:
-swriteln('Restarting services ...');
-if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'reload'));
-if($conf['services']['mail']) {
- if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart'));
- if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart'));
- if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart'));
- if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart'));
- if($conf['courier']['installed'] == true){
- if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart'));
- if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart'));
- if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart'));
- if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart'));
- if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart'));
- }
- if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart'));
- if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system($inst->getinitcommand($conf['mailman']['init_script'], 'restart'));
-}
-if($conf['services']['web']) {
- if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart'));
- //* Reload is enough for nginx
- if($conf['webserver']['server_type'] == 'nginx' && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload'));
- if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
-}
-if($conf['services']['dns']) {
- if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null');
- if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null');
- if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null');
-}
-
-echo "Update finished.\n";
-
-?>
diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php
index 8ed7765..1fcf031 100644
--- a/install/dist/lib/debian60.lib.php
+++ b/install/dist/lib/debian60.lib.php
@@ -124,6 +124,7 @@
$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+ $content = str_replace('{server_id}', $conf['server_id'], $content);
wf($config_dir.'/'.$configfile, $content);
chmod($config_dir.'/'.$configfile, 0600);
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 281d645..db7bc1d 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -114,7 +114,7 @@
function configure_postfix($options = '')
{
- global $conf;
+ global $conf,$autoinstall;
$cf = $conf['postfix'];
$config_dir = $cf['config_dir'];
@@ -242,8 +242,13 @@
if(!stristr($options, 'dont-create-certs')) {
//* Create the SSL certificate
- $command = 'cd '.$config_dir.'; '
- .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
+ if(AUTOINSTALL){
+ $command = 'cd '.$config_dir.'; '
+ ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+ } else {
+ $command = 'cd '.$config_dir.'; '
+ .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+ }
exec($command);
$command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -471,6 +476,7 @@
$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+ $content = str_replace('{server_id}', $conf['server_id'], $content);
wf("$config_dir/$configfile", $content);
exec("chmod 600 $config_dir/$configfile");
@@ -864,6 +870,31 @@
//* copy the ISPConfig server part
$command = "cp -rf ../server $install_dir";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Make a backup of the security settings
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+
+ //* copy the ISPConfig security part
+ $command = 'cp -rf ../security '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Apply changed security_settings.ini values to new security_settings.ini file
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+ $security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+ $security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+ if(is_array($security_settings_new) && is_array($security_settings_old)) {
+ foreach($security_settings_new as $section => $sval) {
+ if(is_array($sval)) {
+ foreach($sval as $key => $val) {
+ if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+ $security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+ }
+ }
+ }
+ }
+ file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+ }
+ }
//* Create a symlink, so ISPConfig is accessible via web
// Replaced by a separate vhost definition for port 8080
@@ -990,12 +1021,38 @@
$this->db->query($sql);
}
- //* Chmod the files
- $command = "chmod -R 750 $install_dir";
+ // chown install dir to root and chmod 755
+ $command = 'chown root:root '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chmod 755 '.$install_dir;
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- //* chown the files to the ispconfig user and group
- $command = "chown -R ispconfig:ispconfig $install_dir";
+ //* Chmod the files and directories in the install dir
+ $command = 'chmod -R 750 '.$install_dir.'/*';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the interface files to the ispconfig user and group
+ $command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the server files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/server';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security directory and security_settings.ini to root:ispconfig
+ $command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Make the global language file directory group writable
@@ -1038,6 +1095,13 @@
exec("chmod 600 $install_dir/server/lib/mysql_clientdb.conf");
exec("chown root:root $install_dir/server/lib/mysql_clientdb.conf");
}
+
+ if(is_dir($install_dir.'/interface/invoices')) {
+ exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
+ exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
+ }
+
+ exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 8589343..a9ad4d4 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -49,7 +49,7 @@
public function configure_postfix($options = '')
{
- global $conf;
+ global $conf,$autoinstall;
$cf = $conf['postfix'];
$config_dir = $cf['config_dir'];
@@ -119,8 +119,13 @@
//* Create the SSL certificate
if (!stristr($options, 'dont-create-certs'))
{
- $command = 'cd '.$config_dir.'; '
- .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
+ if(AUTOINSTALL){
+ $command = 'cd '.$config_dir.'; '
+ ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+ } else {
+ $command = 'cd '.$config_dir.'; '
+ .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+ }
exec($command);
$command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -780,6 +785,31 @@
//* copy the ISPConfig server part
$command = "cp -rf ../server $install_dir";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Make a backup of the security settings
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+
+ //* copy the ISPConfig security part
+ $command = 'cp -rf ../security '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Apply changed security_settings.ini values to new security_settings.ini file
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+ $security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+ $security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+ if(is_array($security_settings_new) && is_array($security_settings_old)) {
+ foreach($security_settings_new as $section => $sval) {
+ if(is_array($sval)) {
+ foreach($sval as $key => $val) {
+ if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+ $security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+ }
+ }
+ }
+ }
+ file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+ }
+ }
//* Create the config file for ISPConfig interface
@@ -883,12 +913,38 @@
$this->db->query($sql);
}
- //* Chmod the files
- $command = "chmod -R 750 $install_dir";
+ // chown install dir to root and chmod 755
+ $command = 'chown root:root '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chmod 755 '.$install_dir;
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- //* chown the files to the ispconfig user and group
- $command = "chown -R ispconfig:ispconfig $install_dir";
+ //* Chmod the files and directories in the install dir
+ $command = 'chmod -R 750 '.$install_dir.'/*';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the interface files to the ispconfig user and group
+ $command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the server files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/server';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security directory and security_settings.ini to root:ispconfig
+ $command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Make the global language file directory group writable
@@ -943,6 +999,8 @@
exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
}
+
+ exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index 055f3d7..ed3c744 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -125,11 +125,12 @@
//* Create aliasaes
exec('/usr/lib/mailman/bin/genaliases 2>/dev/null');
+ if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
}
function configure_postfix($options = '')
{
- global $conf;
+ global $conf,$autoinstall;
$cf = $conf['postfix'];
$config_dir = $cf['config_dir'];
@@ -269,8 +270,13 @@
if(!stristr($options, 'dont-create-certs')) {
//* Create the SSL certificate
- $command = 'cd '.$config_dir.'; '
- .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509';
+ if(AUTOINSTALL){
+ $command = 'cd '.$config_dir.'; '
+ ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+ } else {
+ $command = 'cd '.$config_dir.'; '
+ .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+ }
exec($command);
$command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -520,6 +526,7 @@
$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+ $content = str_replace('{server_id}', $conf['server_id'], $content);
wf("$config_dir/$configfile", $content);
exec("chmod 600 $config_dir/$configfile");
@@ -687,6 +694,9 @@
if($conf['apache']['installed'] == false) return;
//* Create the logging directory for the vhost logfiles
exec('mkdir -p /var/log/ispconfig/httpd');
+
+ //* enable apache logio module
+ exec('a2enmod logio');
//if(is_file('/etc/suphp.conf')) {
replaceLine('/etc/suphp.conf', 'php=php', 'x-httpd-suphp="php:/srv/www/cgi-bin/php5"', 0, 0);
@@ -935,6 +945,31 @@
//* copy the ISPConfig server part
$command = "cp -rf ../server $install_dir";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Make a backup of the security settings
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+
+ //* copy the ISPConfig security part
+ $command = 'cp -rf ../security '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Apply changed security_settings.ini values to new security_settings.ini file
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+ $security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+ $security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+ if(is_array($security_settings_new) && is_array($security_settings_old)) {
+ foreach($security_settings_new as $section => $sval) {
+ if(is_array($sval)) {
+ foreach($sval as $key => $val) {
+ if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+ $security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+ }
+ }
+ }
+ }
+ file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+ }
+ }
//* Create a symlink, so ISPConfig is accessible via web
// Replaced by a separate vhost definition for port 8080
@@ -1060,12 +1095,38 @@
$this->db->query($sql);
}
- //* Chmod the files
- $command = "chmod -R 750 $install_dir";
+ // chown install dir to root and chmod 755
+ $command = 'chown root:root '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chmod 755 '.$install_dir;
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- //* chown the files to the ispconfig user and group
- $command = "chown -R ispconfig:ispconfig $install_dir";
+ //* Chmod the files and directories in the install dir
+ $command = 'chmod -R 750 '.$install_dir.'/*';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the interface files to the ispconfig user and group
+ $command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the server files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/server';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security directory and security_settings.ini to root:ispconfig
+ $command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Make the global language file directory group writable
@@ -1108,6 +1169,13 @@
exec("chmod 600 $install_dir/server/lib/mysql_clientdb.conf");
exec("chown root:root $install_dir/server/lib/mysql_clientdb.conf");
}
+
+ if(is_dir($install_dir.'/interface/invoices')) {
+ exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
+ exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
+ }
+
+ exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
diff --git a/install/install.php b/install/install.php
index a7938b4..ff3abac 100644
--- a/install/install.php
+++ b/install/install.php
@@ -30,6 +30,30 @@
/*
ISPConfig 3 installer.
+
+ -------------------------------------------------------------------------------------
+ - Interactive install
+ -------------------------------------------------------------------------------------
+ run:
+
+ php install.php
+
+ -------------------------------------------------------------------------------------
+ - Noninteractive (autoinstall) mode
+ -------------------------------------------------------------------------------------
+
+ The autoinstall mode can read the installer questions from a .ini style file or from
+ a php config file. Examples for both file types are in the docs folder.
+ See autoinstall.ini.sample and autoinstall.conf_sample.php.
+
+ run:
+
+ php install.php --autoinstall=autoinstall.ini
+
+ or
+
+ php install.php --autoinstall=autoinstall.conf.php
+
*/
error_reporting(E_ALL|E_STRICT);
@@ -78,6 +102,30 @@
if($dist['id'] == '') die('Linux distribution or version not recognized.');
+//** Include the autoinstaller configuration (for non-interactive setups)
+error_reporting(E_ALL ^ E_NOTICE);
+
+//** Get commandline options
+$cmd_opt = getopt('', array('autoinstall::'));
+
+//** Load autoinstall file
+if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
+ $path_parts = pathinfo($cmd_opt['autoinstall']);
+ if($path_parts['extension'] == 'php') {
+ include_once $cmd_opt['autoinstall'];
+ } elseif($path_parts['extension'] == 'ini') {
+ $tmp = ini_to_array(file_get_contents('autoinstall.ini'));
+ $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
+ unset($tmp);
+ }
+ unset($path_parts);
+ define('AUTOINSTALL', true);
+} else {
+ $autoinstall = array();
+ define('AUTOINSTALL', false);
+}
+
+
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -109,7 +157,7 @@
$inst->find_installed_apps();
//** Select the language and set default timezone
-$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en');
+$conf['language'] = $inst->simple_query('Select language', array('en', 'de'), 'en','language');
$conf['timezone'] = get_system_timezone();
//* Set default theme
@@ -117,13 +165,13 @@
$conf['language_file_import_enabled'] = true;
//** Select installation mode
-$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard');
+$install_mode = $inst->simple_query('Installation mode', array('standard', 'expert'), 'standard','install_mode');
//** Get the hostname
$tmp_out = array();
exec('hostname -f', $tmp_out);
-$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0]);
+$conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', @$tmp_out[0],'hostname');
unset($tmp_out);
// Check if the mysql functions are loaded in PHP
@@ -132,16 +180,17 @@
//** Get MySQL root credentials
$finished = false;
do {
- $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host']);
- $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user']);
- $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
- $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database']);
- $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset']);
-
+ $tmp_mysql_server_host = $inst->free_query('MySQL server hostname', $conf['mysql']['host'],'mysql_hostname');
+ $tmp_mysql_server_admin_user = $inst->free_query('MySQL root username', $conf['mysql']['admin_user'],'mysql_root_user');
+ $tmp_mysql_server_admin_password = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
+ $tmp_mysql_server_database = $inst->free_query('MySQL database to create', $conf['mysql']['database'],'mysql_database');
+ $tmp_mysql_server_charset = $inst->free_query('MySQL charset', $conf['mysql']['charset'],'mysql_charset');
+
if($install_mode == 'expert') {
swriteln("The next two questions are about the internal ISPConfig database user and password.\nIt is recommended to accept the defaults which are 'ispconfig' as username and a random password.\nIf you use a different password, use only numbers and chars for the password.\n");
- $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user']);
- $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password']);
+
+ $conf['mysql']['ispconfig_user'] = $inst->free_query('ISPConfig mysql database username', $conf['mysql']['ispconfig_user'],'mysql_ispconfig_user');
+ $conf['mysql']['ispconfig_password'] = $inst->free_query('ISPConfig mysql database password', $conf['mysql']['ispconfig_password'],'mysql_ispconfig_password');
}
//* Initialize the MySQL server connection
@@ -176,7 +225,7 @@
//* Configure Webserver - Apache or nginx
if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
- $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+ $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
if($http_server_to_use == 'apache'){
$conf['nginx']['installed'] = false;
} else {
@@ -302,12 +351,12 @@
swriteln('Installing ISPConfig');
//** Customize the port ISPConfig runs on
- $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
+ $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port;
if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port;
unset($ispconfig_vhost_port);
- if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
+ if(strtolower($inst->simple_query('Do you want a secure (SSL) connection to the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {
$inst->make_ispconfig_ssl_cert();
}
@@ -364,17 +413,16 @@
//** Get Server ID
// $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
// Server ID is an autoInc value of the mysql database now
-
- if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n')) == 'y') {
+ if(strtolower($inst->simple_query('Shall this server join an existing ISPConfig multiserver setup', array('y', 'n'), 'n','join_multiserver_setup')) == 'y') {
$conf['mysql']['master_slave_setup'] = 'y';
//** Get MySQL root credentials
$finished = false;
do {
- $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
- $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
- $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
- $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
+ $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
+ $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');
+ $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
+ $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
//* Initialize the MySQL server connection
if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -407,7 +455,7 @@
//* Configure Webserver - Apache or nginx
if($conf['apache']['installed'] == true && $conf['nginx']['installed'] == true) {
- $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache');
+ $http_server_to_use = $inst->simple_query('Apache and nginx detected. Select server to use for ISPConfig:', array('apache', 'nginx'), 'apache','http_server');
if($http_server_to_use == 'apache'){
$conf['nginx']['installed'] = false;
} else {
@@ -420,8 +468,7 @@
swriteln('');
$inst->add_database_server_record();
-
- if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y') ) == 'y') {
+ if(strtolower($inst->simple_query('Configure Mail', array('y', 'n') , 'y','configure_mail') ) == 'y') {
$conf['services']['mail'] = true;
@@ -480,20 +527,20 @@
}
//** Configure Jailkit
- if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y') ) == 'y') {
+ if(strtolower($inst->simple_query('Configure Jailkit', array('y', 'n'), 'y','configure_jailkit') ) == 'y') {
swriteln('Configuring Jailkit');
$inst->configure_jailkit();
}
//** Configure Pureftpd
- if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y') ) == 'y') {
+ if(strtolower($inst->simple_query('Configure FTP Server', array('y', 'n'), 'y','configure_ftp') ) == 'y') {
swriteln('Configuring Pureftpd');
$inst->configure_pureftpd();
if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart'));
}
//** Configure DNS
- if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y')) == 'y') {
+ if(strtolower($inst->simple_query('Configure DNS Server', array('y', 'n'), 'y','configure_dns')) == 'y') {
$conf['services']['dns'] = true;
//* Configure DNS
if($conf['powerdns']['installed'] == true) {
@@ -532,7 +579,7 @@
//** Configure Apache
if($conf['apache']['installed'] == true){
swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure Apache Server' option.\n");
- if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y')) == 'y') {
+ if(strtolower($inst->simple_query('Configure Apache Server', array('y', 'n'), 'y','configure_apache')) == 'y') {
$conf['services']['web'] = true;
swriteln('Configuring Apache');
$inst->configure_apache();
@@ -550,7 +597,7 @@
//** Configure nginx
if($conf['nginx']['installed'] == true){
swriteln("\nHint: If this server shall run the ISPConfig interface, select 'y' in the 'Configure nginx Server' option.\n");
- if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y')) == 'y') {
+ if(strtolower($inst->simple_query('Configure nginx Server', array('y', 'n'), 'y','configure_nginx')) == 'y') {
$conf['services']['web'] = true;
swriteln('Configuring nginx');
$inst->configure_nginx();
@@ -566,8 +613,13 @@
}
//** Configure Firewall
- if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y')) == 'y') {
- if($conf['ufw']['installed'] == true) {
+ if(strtolower($inst->simple_query('Configure Firewall Server', array('y', 'n'), 'y','configure_firewall')) == 'y') {
+ //if($conf['bastille']['installed'] == true) {
+ //* Configure Bastille Firewall
+ $conf['services']['firewall'] = true;
+ swriteln('Configuring Bastille Firewall');
+ $inst->configure_firewall();
+ /*} elseif($conf['ufw']['installed'] == true) {
//* Configure Ubuntu Firewall
$conf['services']['firewall'] = true;
swriteln('Configuring Ubuntu Firewall');
@@ -578,6 +630,7 @@
swriteln('Configuring Bastille Firewall');
$inst->configure_bastille_firewall();
}
+ */
}
//** Configure Firewall
@@ -588,7 +641,7 @@
//** Configure ISPConfig :-)
$install_ispconfig_interface_default = ($conf['mysql']['master_slave_setup'] == 'y')?'n':'y';
- if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default)) == 'y') {
+ if(strtolower($inst->simple_query('Install ISPConfig Web Interface', array('y', 'n'), $install_ispconfig_interface_default,'install_ispconfig_web_interface')) == 'y') {
swriteln('Installing ISPConfig');
//** We want to check if the server is a module or cgi based php enabled server
@@ -606,12 +659,12 @@
*/
//** Customise the port ISPConfig runs on
- $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080');
+ $ispconfig_vhost_port = $inst->free_query('ISPConfig Port', '8080','ispconfig_port');
if($conf['apache']['installed'] == true) $conf['apache']['vhost_port'] = $ispconfig_vhost_port;
if($conf['nginx']['installed'] == true) $conf['nginx']['vhost_port'] = $ispconfig_vhost_port;
unset($ispconfig_vhost_port);
- if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y')) == 'y') {
+ if(strtolower($inst->simple_query('Enable SSL for the ISPConfig web interface', array('y', 'n'), 'y','ispconfig_use_ssl')) == 'y') {
$inst->make_ispconfig_ssl_cert();
}
@@ -641,6 +694,11 @@
} //* << $install_mode / 'Standard' or Genius
+//* Create md5 filelist
+$md5_filename = '/usr/local/ispconfig/security/data/file_checksums_'.date('Y-m-d_h-i').'.md5';
+exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename);
+chmod($md5_filename,0700);
+
echo "Installation completed.\n";
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 379ae78..04205cc 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -86,6 +86,15 @@
$mainver = array_filter($mainver);
$mainver = current($mainver).'.'.next($mainver);
switch ($mainver){
+ case "14.04":
+ $relname = "(Trusty Tahr)";
+ break;
+ case "13.10":
+ $relname = "(Saucy Salamander)";
+ break;
+ case "13.04":
+ $relname = "(Raring Ringtail)";
+ break;
case "12.10":
$relname = "(Quantal Quetzal)";
break;
@@ -246,6 +255,18 @@
$distid = 'centos53';
$distbaseid = 'fedora';
swriteln("Operating System: CentOS 5 or compatible\n");
+ } elseif(stristr($content, 'CentOS Linux release 6')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
+ swriteln("Operating System: CentOS 6 or compatible\n");
+ } elseif(stristr($content, 'CentOS Linux release 7')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
+ swriteln("Operating System: CentOS 7 or compatible\n");
} else {
$distname = 'Redhat';
$distver = 'Unknown';
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 03d3c50..8180e0d 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -56,12 +56,21 @@
echo 'WARNING: '.$msg."\n";
}
- public function simple_query($query, $answers, $default) {
+ public function simple_query($query, $answers, $default, $name = '') {
+ global $autoinstall;
$finished = false;
do {
- $answers_str = implode(',', $answers);
- swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
- $input = sread();
+ if($name != '' && $autoinstall[$name] != '') {
+ if($autoinstall[$name] == 'default') {
+ $input = $default;
+ } else {
+ $input = $autoinstall[$name];
+ }
+ } else {
+ $answers_str = implode(',', $answers);
+ swrite($this->lng($query).' ('.$answers_str.') ['.$default.']: ');
+ $input = sread();
+ }
//* Stop the installation
if($input == 'quit') {
@@ -86,9 +95,18 @@
return $answer;
}
- public function free_query($query, $default) {
- swrite($this->lng($query).' ['.$default.']: ');
- $input = sread();
+ public function free_query($query, $default, $name = '') {
+ global $autoinstall;
+ if($name != '' && $autoinstall[$name] != '') {
+ if($autoinstall[$name] == 'default') {
+ $input = $default;
+ } else {
+ $input = $autoinstall[$name];
+ }
+ } else {
+ swrite($this->lng($query).' ['.$default.']: ');
+ $input = sread();
+ }
//* Stop the installation
if($input == 'quit') {
@@ -635,7 +653,7 @@
copy('tpl/mailman-virtual_to_transport.sh', $full_file_name);
}
chgrp($full_file_name, 'list');
- chmod($full_file_name, 0750);
+ chmod($full_file_name, 0755);
}
//* Create aliasaes
@@ -645,7 +663,7 @@
}
public function configure_postfix($options = '') {
- global $conf;
+ global $conf,$autoinstall;
$cf = $conf['postfix'];
$config_dir = $cf['config_dir'];
@@ -769,8 +787,13 @@
if(!stristr($options, 'dont-create-certs')) {
//* Create the SSL certificate
- $command = 'cd '.$config_dir.'; '
- .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+ if(AUTOINSTALL){
+ $command = 'cd '.$config_dir.'; '
+ ."openssl req -new -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509";
+ } else {
+ $command = 'cd '.$config_dir.'; '
+ .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509';
+ }
exec($command);
$command = 'chmod o= '.$config_dir.'/smtpd.key';
@@ -1024,6 +1047,7 @@
$content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
$content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
$content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
+ $content = str_replace('{server_id}', $conf['server_id'], $content);
wf($config_dir.'/'.$configfile, $content);
chmod($config_dir.'/'.$configfile, 0600);
@@ -1726,7 +1750,7 @@
}
public function make_ispconfig_ssl_cert() {
- global $conf;
+ global $conf,$autoinstall;
$install_dir = $conf['ispconfig_install_dir'];
@@ -1738,11 +1762,17 @@
$ssl_pw = substr(md5(mt_rand()), 0, 6);
exec("openssl genrsa -des3 -passout pass:$ssl_pw -out $ssl_key_file 4096");
- exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
+ if(AUTOINSTALL){
+ exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -subj '/C=".escapeshellcmd($autoinstall['ssl_cert_country'])."/ST=".escapeshellcmd($autoinstall['ssl_cert_state'])."/L=".escapeshellcmd($autoinstall['ssl_cert_locality'])."/O=".escapeshellcmd($autoinstall['ssl_cert_organisation'])."/OU=".escapeshellcmd($autoinstall['ssl_cert_organisation_unit'])."/CN=".escapeshellcmd($autoinstall['ssl_cert_common_name'])."' -key $ssl_key_file -out $ssl_csr_file");
+ } else {
+ exec("openssl req -new -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -out $ssl_csr_file");
+ }
exec("openssl req -x509 -passin pass:$ssl_pw -passout pass:$ssl_pw -key $ssl_key_file -in $ssl_csr_file -out $ssl_crt_file -days 3650");
exec("openssl rsa -passin pass:$ssl_pw -in $ssl_key_file -out $ssl_key_file.insecure");
rename($ssl_key_file, $ssl_key_file.'.secure');
rename($ssl_key_file.'.insecure', $ssl_key_file);
+
+ exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
}
@@ -1771,6 +1801,31 @@
//* copy the ISPConfig server part
$command = 'cp -rf ../server '.$install_dir;
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Make a backup of the security settings
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
+
+ //* copy the ISPConfig security part
+ $command = 'cp -rf ../security '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Apply changed security_settings.ini values to new security_settings.ini file
+ if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
+ $security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
+ $security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+ if(is_array($security_settings_new) && is_array($security_settings_old)) {
+ foreach($security_settings_new as $section => $sval) {
+ if(is_array($sval)) {
+ foreach($sval as $key => $val) {
+ if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
+ $security_settings_new[$section][$key] = $security_settings_old[$section][$key];
+ }
+ }
+ }
+ }
+ file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
+ }
+ }
//* Create a symlink, so ISPConfig is accessible via web
// Replaced by a separate vhost definition for port 8080
@@ -1912,12 +1967,38 @@
}
- //* Chmod the files
- $command = 'chmod -R 750 '.$install_dir;
+ // chown install dir to root and chmod 755
+ $command = 'chown root:root '.$install_dir;
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chmod 755 '.$install_dir;
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
- //* chown the files to the ispconfig user and group
- $command = 'chown -R ispconfig:ispconfig '.$install_dir;
+ //* Chmod the files and directories in the install dir
+ $command = 'chmod -R 750 '.$install_dir.'/*';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the interface files to the ispconfig user and group
+ $command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the server files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/server';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security files to the root user and group
+ $command = 'chown -R root:root '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* chown the security directory and security_settings.ini to root:ispconfig
+ $command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
+ caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ $command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Make the global language file directory group writable
@@ -1970,6 +2051,8 @@
exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
}
+
+ exec('chown -R root:root /usr/local/ispconfig/interface/ssl');
// TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
// and must be fixed as this will allow the apache user to read the ispconfig files.
@@ -2169,7 +2252,7 @@
// Add symlink for patch tool
if(!is_link('/usr/local/bin/ispconfig_patch')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch');
-
+
}
public function configure_dbserver() {
@@ -2258,11 +2341,27 @@
chmod($conf['ispconfig_log_dir'].'/cron.log', 0660);
}
+
+ // This function is called at the end of the update process and contains code to clean up parts of old ISPCONfig releases
+ public function cleanup_ispconfig() {
+ global $app,$conf;
+
+ // Remove directories recursively
+ if(is_dir('/usr/local/ispconfig/interface/web/designer')) exec('rm -rf /usr/local/ispconfig/interface/web/designer');
+ if(is_dir('/usr/local/ispconfig/interface/web/themes/default-304')) exec('rm -rf /usr/local/ispconfig/interface/web/themes/default-304');
+
+ // Remove files
+ if(is_file('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php');
+ if(is_file('/usr/local/ispconfig/interface/lib/classes/form.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/form.inc.php');
+
+
+
+ }
public function getinitcommand($servicename, $action, $init_script_directory = ''){
global $conf;
// systemd
- if(is_executable('/bin/systemd')){
+ if(is_executable('/bin/systemd') || is_executable('/usr/bin/systemctl')){
return 'systemctl '.$action.' '.$servicename.'.service';
}
// upstart
diff --git a/install/sql/incremental/upd_0078.sql b/install/sql/incremental/upd_0078.sql
index e9948dc..ea78b87 100644
--- a/install/sql/incremental/upd_0078.sql
+++ b/install/sql/incremental/upd_0078.sql
@@ -1 +1,2 @@
ALTER TABLE `dns_rr` CHANGE `data` `data` TEXT NOT NULL DEFAULT '';
+ALTER TABLE `web_domain` DROP INDEX `serverdomain`, ADD UNIQUE `serverdomain` ( `server_id` , `ip_address`, `domain` );
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index df9c844..3f65bfe 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1881,7 +1881,7 @@
`added_date` date NOT NULL DEFAULT '0000-00-00',
`added_by` varchar(255) DEFAULT NULL,
PRIMARY KEY (`domain_id`),
- UNIQUE KEY `serverdomain` ( `server_id` , `domain` )
+ UNIQUE KEY `serverdomain` ( `server_id` , `ip_address`, `domain` )
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
diff --git a/install/tpl/apache_ispconfig.conf.master b/install/tpl/apache_ispconfig.conf.master
index be6f637..cd9924a 100644
--- a/install/tpl/apache_ispconfig.conf.master
+++ b/install/tpl/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
# ISPConfig Logfile configuration for vlogger
################################################
-LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
+LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
@@ -18,6 +18,7 @@
# Do not allow access to the root file system of the server for security reasons
<Directory />
+ Options -Indexes
AllowOverride None
<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
Require all denied
diff --git a/install/tpl/apache_ispconfig.vhost.master b/install/tpl/apache_ispconfig.vhost.master
index 4973af0..3619e16 100644
--- a/install/tpl/apache_ispconfig.vhost.master
+++ b/install/tpl/apache_ispconfig.vhost.master
@@ -63,6 +63,7 @@
# SSL Configuration
<tmpl_var name="ssl_comment">SSLEngine On
+ <tmpl_var name="ssl_comment">SSLProtocol All -SSLv2 -SSLv3
<tmpl_var name="ssl_comment">SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt
<tmpl_var name="ssl_comment">SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key
<tmpl_var name="ssl_bundle_comment">SSLCACertificateFile /usr/local/ispconfig/interface/ssl/ispserver.bundle
diff --git a/install/tpl/apache_ispconfig_fcgi_starter.master b/install/tpl/apache_ispconfig_fcgi_starter.master
index cc6ec2d..240fccc 100644
--- a/install/tpl/apache_ispconfig_fcgi_starter.master
+++ b/install/tpl/apache_ispconfig_fcgi_starter.master
@@ -3,4 +3,4 @@
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=1
-exec {fastcgi_bin} -d magic_quotes_gpc=off -d session.save_path=/usr/local/ispconfig/server/temp
\ No newline at end of file
+exec {fastcgi_bin} -d magic_quotes_gpc=off -d session.save_path=/usr/local/ispconfig/interface/temp
\ No newline at end of file
diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master
index e7e065c..7459727 100644
--- a/install/tpl/apps_php_fpm_pool.conf.master
+++ b/install/tpl/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
-pm.max_children = 50
+pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
diff --git a/install/tpl/debian6_dovecot-sql.conf.master b/install/tpl/debian6_dovecot-sql.conf.master
index 86eb4df..61f86c4 100644
--- a/install/tpl/debian6_dovecot-sql.conf.master
+++ b/install/tpl/debian6_dovecot-sql.conf.master
@@ -13,8 +13,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master
index 5b04c61..8da19d1 100644
--- a/install/tpl/debian6_dovecot2.conf.master
+++ b/install/tpl/debian6_dovecot2.conf.master
@@ -6,6 +6,7 @@
mail_privileged_group = vmail
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
diff --git a/install/tpl/debian_dovecot-sql.conf.master b/install/tpl/debian_dovecot-sql.conf.master
index 9c55df3..a4d5bbd 100644
--- a/install/tpl/debian_dovecot-sql.conf.master
+++ b/install/tpl/debian_dovecot-sql.conf.master
@@ -120,8 +120,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master
index 030b237..8b21f6a 100644
--- a/install/tpl/debian_dovecot2.conf.master
+++ b/install/tpl/debian_dovecot2.conf.master
@@ -7,6 +7,7 @@
postmaster_address = postmaster@example.com
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
diff --git a/install/tpl/debian_postfix.conf.master b/install/tpl/debian_postfix.conf.master
index 014ca85..708de66 100644
--- a/install/tpl/debian_postfix.conf.master
+++ b/install/tpl/debian_postfix.conf.master
@@ -1,7 +1,7 @@
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
+virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -12,7 +12,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
@@ -33,3 +33,6 @@
body_checks = regexp:{config_dir}/body_checks
owner_request_special = no
smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
diff --git a/install/tpl/fedora_dovecot-sql.conf.master b/install/tpl/fedora_dovecot-sql.conf.master
index faf3be2..769e0a4 100644
--- a/install/tpl/fedora_dovecot-sql.conf.master
+++ b/install/tpl/fedora_dovecot-sql.conf.master
@@ -133,8 +133,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master
index b0d365e..2b542f1 100644
--- a/install/tpl/fedora_dovecot2.conf.master
+++ b/install/tpl/fedora_dovecot2.conf.master
@@ -6,6 +6,7 @@
mail_privileged_group = vmail
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
passdb {
args = /etc/dovecot-sql.conf
driver = sql
diff --git a/install/tpl/fedora_postfix.conf.master b/install/tpl/fedora_postfix.conf.master
index e8aef53..6a2c97e 100644
--- a/install/tpl/fedora_postfix.conf.master
+++ b/install/tpl/fedora_postfix.conf.master
@@ -1,5 +1,5 @@
virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf, hash:/etc/mailman/virtual-mailman
+virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -9,7 +9,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
@@ -30,3 +30,6 @@
body_checks = regexp:{config_dir}/body_checks
inet_interfaces = all
smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
diff --git a/install/tpl/gentoo_postfix.conf.master b/install/tpl/gentoo_postfix.conf.master
index 1b27702..8db67c4 100644
--- a/install/tpl/gentoo_postfix.conf.master
+++ b/install/tpl/gentoo_postfix.conf.master
@@ -8,7 +8,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
@@ -29,3 +29,6 @@
body_checks = regexp:{config_dir}/body_checks
inet_interfaces = all
smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master
index 931bc61..70d6a53 100644
--- a/install/tpl/nginx_ispconfig.vhost.master
+++ b/install/tpl/nginx_ispconfig.vhost.master
@@ -1,6 +1,7 @@
server {
listen {vhost_port};
ssl {ssl_on};
+ {ssl_comment}ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
{ssl_comment}ssl_certificate /usr/local/ispconfig/interface/ssl/ispserver.crt;
{ssl_comment}ssl_certificate_key /usr/local/ispconfig/interface/ssl/ispserver.key;
diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master
index e33603a..57515af 100644
--- a/install/tpl/opensuse_dovecot-sql.conf.master
+++ b/install/tpl/opensuse_dovecot-sql.conf.master
@@ -133,8 +133,8 @@
connect = host={mysql_server_host} dbname={mysql_server_database} user={mysql_server_ispconfig_user} password={mysql_server_ispconfig_password}
default_pass_scheme = CRYPT
-password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n'
-user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n'
+password_query = SELECT password FROM mail_user WHERE (login = '%u' OR email = '%u') AND disable%Ls = 'n' AND server_id = '{server_id}'
+user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '{server_id}'
# The iterate_query is required for the doveadm command only and works only on dovecot 2 servers.
# Do not enable it on Dovecot 1.x servers
diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master
index 5b04c61..8da19d1 100644
--- a/install/tpl/opensuse_dovecot2.conf.master
+++ b/install/tpl/opensuse_dovecot2.conf.master
@@ -6,6 +6,7 @@
mail_privileged_group = vmail
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
+ssl_protocols = !SSLv2 !SSLv3
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
diff --git a/install/tpl/opensuse_postfix.conf.master b/install/tpl/opensuse_postfix.conf.master
index d9e7112..5afd78e 100644
--- a/install/tpl/opensuse_postfix.conf.master
+++ b/install/tpl/opensuse_postfix.conf.master
@@ -1,5 +1,7 @@
+alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
+alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
virtual_alias_domains =
-virtual_alias_maps = proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
+virtual_alias_maps = hash:/etc/mailman/virtual-mailman, proxy:mysql:{config_dir}/mysql-virtual_forwardings.cf, proxy:mysql:{config_dir}/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:{config_dir}/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:{config_dir}/mysql-virtual_mailboxes.cf
virtual_mailbox_base = {vmail_mailbox_base}
@@ -9,7 +11,7 @@
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
-smtpd_recipient_restrictions = check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination{rbl_list}
+smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:{config_dir}/mysql-virtual_recipient.cf{rbl_list}
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = {config_dir}/smtpd.cert
@@ -30,3 +32,6 @@
body_checks = regexp:{config_dir}/body_checks
inet_interfaces = all
smtp_tls_security_level = may
+smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
+smtpd_tls_protocols = !SSLv2,!SSLv3
+smtp_tls_protocols = !SSLv2,!SSLv3
diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master
index dfa3059..9ff7ebc 100644
--- a/install/tpl/php_fpm_pool.conf.master
+++ b/install/tpl/php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
-pm.max_children = 10
+pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
@@ -17,5 +17,5 @@
chdir = /
; php_admin_value[open_basedir] = /usr/local/ispconfig/interface:/usr/share
-php_admin_value[session.save_path] = /usr/local/ispconfig/server/temp
+php_admin_value[session.save_path] = /usr/local/ispconfig/interface/temp
php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 315feda..c563650 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -17,7 +17,6 @@
admin_notify_events=1
backup_dir=/var/backup
backup_dir_is_mount=n
-backup_dir_mount_cmd=
backup_mode=rootgz
backup_delete=y
monit_url=
@@ -63,6 +62,7 @@
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
+network_filesystem=n
vhost_conf_dir=/etc/apache2/sites-available
vhost_conf_enabled_dir=/etc/apache2/sites-enabled
nginx_vhost_conf_dir=/etc/nginx/sites-available
diff --git a/install/update.php b/install/update.php
index 4fb0997..cc56d77 100644
--- a/install/update.php
+++ b/install/update.php
@@ -30,6 +30,30 @@
/*
ISPConfig 3 updater.
+
+ -------------------------------------------------------------------------------------
+ - Interactive update
+ -------------------------------------------------------------------------------------
+ run:
+
+ php update.php
+
+ -------------------------------------------------------------------------------------
+ - Noninteractive (autoupdate) mode
+ -------------------------------------------------------------------------------------
+
+ The autoupdate mode can read the updater questions from a .ini style file or from
+ a php config file. Examples for both file types are in the docs folder.
+ See autoinstall.ini.sample and autoinstall.conf_sample.php.
+
+ run:
+
+ php update.php --autoinstall=autoinstall.ini
+
+ or
+
+ php update.php --autoinstall=autoinstall.conf.php
+
*/
error_reporting(E_ALL|E_STRICT);
@@ -83,6 +107,29 @@
if($dist['id'] == '') die('Linux distribution or version not recognized.');
+//** Include the autoinstaller configuration (for non-interactive setups)
+error_reporting(E_ALL ^ E_NOTICE);
+
+//** Get commandline options
+$cmd_opt = getopt('', array('autoinstall::'));
+
+//** Load autoinstall file
+if(isset($cmd_opt['autoinstall']) && is_file($cmd_opt['autoinstall'])) {
+ $path_parts = pathinfo($cmd_opt['autoinstall']);
+ if($path_parts['extension'] == 'php') {
+ include_once $cmd_opt['autoinstall'];
+ } elseif($path_parts['extension'] == 'ini') {
+ $tmp = ini_to_array(file_get_contents('autoinstall.ini'));
+ $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
+ unset($tmp);
+ }
+ unset($path_parts);
+ define('AUTOINSTALL', true);
+} else {
+ $autoinstall = array();
+ define('AUTOINSTALL', false);
+}
+
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
@@ -131,7 +178,8 @@
echo "This application will update ISPConfig 3 on your server.\n\n";
//* Make a backup before we start the update
-$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes');
+$do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes', 'no'), 'yes','do_backup');
+
if($do_backup == 'yes') {
//* Create the backup directory
@@ -180,7 +228,7 @@
$finished = true;
} else {
swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
- $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']);
+ $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
}
} while ($finished == false);
unset($finished);
@@ -198,10 +246,10 @@
//** Get MySQL root credentials
$finished = false;
do {
- $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host']);
- $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user']);
- $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password']);
- $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database']);
+ $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
+ $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');
+ $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
+ $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
//* Initialize the MySQL server connection
if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
@@ -244,7 +292,7 @@
*/
//if($conf_old['dbmaster_user'] != '' or $conf_old['dbmaster_host'] != '') {
//** Update master database rights
-$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no');
+$reconfigure_master_database_rights_answer = $inst->simple_query('Reconfigure Permissions in master database?', array('yes', 'no'), 'no','reconfigure_permissions_in_master_database');
if($reconfigure_master_database_rights_answer == 'yes') {
$inst->grant_master_database_rights();
@@ -252,7 +300,7 @@
//}
//** Shall the services be reconfigured during update
-$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes');
+$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');
if($reconfigure_services_answer == 'yes') {
@@ -386,23 +434,27 @@
if ($conf['services']['web'] && $inst->install_ispconfig_interface) {
//** Customise the port ISPConfig runs on
$ispconfig_port_number = get_ispconfig_port_number();
+ if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number;
if($conf['webserver']['server_type'] == 'nginx'){
- $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+ $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
} else {
- $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number);
+ $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number,'ispconfig_port');
}
// $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n';
- if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no')) == 'yes') {
+ if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate', array('yes', 'no'), 'no','create_new_ispconfig_ssl_cert')) == 'yes') {
$inst->make_ispconfig_ssl_cert();
}
}
$inst->install_ispconfig();
+// Cleanup
+$inst->cleanup_ispconfig();
+
//** Configure Crontab
-$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes');
+$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab');
if($update_crontab_answer == 'yes') {
swriteln('Updating Crontab');
$inst->install_crontab();
@@ -452,6 +504,11 @@
}
}
+//* Create md5 filelist
+$md5_filename = '/usr/local/ispconfig/security/data/file_checksums_'.date('Y-m-d_h-i').'.md5';
+exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename);
+chmod($md5_filename,0700);
+
echo "Update finished.\n";
?>
diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index 1d80b8a..615e390 100755
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -48,6 +48,7 @@
private $_wb;
private $_loaded_classes = array();
private $_conf;
+ private $_security_config;
public $loaded_plugins = array();
@@ -78,16 +79,16 @@
$tmp = $this->ini_parser->parse_ini_string(stripslashes($tmp['config']));
if(!isset($tmp['misc']['session_allow_endless']) || $tmp['misc']['session_allow_endless'] != 'y') {
$this->session->set_timeout($sess_timeout);
- session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
+ session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
} else {
// we are doing login here, so we need to set the session data
$this->session->set_permanent(true);
$this->session->set_timeout(365 * 24 * 3600); // one year
- session_set_cookie_params(365 * 24 * 3600); // make the cookie live 5 minutes longer
+ session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
}
} else {
$this->session->set_timeout($sess_timeout);
- session_set_cookie_params(($sess_timeout * 60) + 300); // make the cookie live 5 minutes longer
+ session_set_cookie_params(3600 * 24 * 365); // cookie timeout is never updated, so it must not be short
}
} else {
session_set_cookie_params(0); // until browser is closed
@@ -109,7 +110,8 @@
}
$this->uses('functions'); // we need this before all others!
- $this->uses('auth,plugin');
+ $this->uses('auth,plugin,ini_parser,getconf');
+
}
public function __get($prop) {
@@ -327,4 +329,13 @@
//* possible future = new app($conf);
$app = new app();
+// load and enable PHP Intrusion Detection System (PHPIDS)
+$ids_security_config = $app->getconf->get_security_config('ids');
+
+if(is_dir(ISPC_CLASS_PATH.'/IDS') && $ids_security_config['ids_enabled'] == 'yes') {
+ $app->uses('ids');
+ $app->ids->start();
+}
+unset($ids_security_config);
+
?>
diff --git a/interface/lib/classes/IDS/.htaccess b/interface/lib/classes/IDS/.htaccess
new file mode 100644
index 0000000..878d02a
--- /dev/null
+++ b/interface/lib/classes/IDS/.htaccess
@@ -0,0 +1,5 @@
+# in case PHPIDS is placed in the web-root
+deny from all
+
+# silence is golden
+php_flag display_errors off
\ No newline at end of file
diff --git a/interface/lib/classes/IDS/Caching/ApcCache.php b/interface/lib/classes/IDS/Caching/ApcCache.php
new file mode 100644
index 0000000..e82cc88
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/ApcCache.php
@@ -0,0 +1,144 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+
+namespace IDS\Caching;
+
+/**
+ * APC caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via memcached.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Yves Berkholz <godzilla80@gmx.net>
+ * @copyright 2007-2009 The PHPIDS Groupoup
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.6.5
+ */
+class ApcCache implements CacheInterface
+{
+ /**
+ * Caching type
+ *
+ * @var string
+ */
+ private $type = null;
+
+ /**
+ * Cache configuration
+ *
+ * @var array
+ */
+ private $config = null;
+
+ /**
+ * Flag if the filter storage has been found in memcached
+ *
+ * @var boolean
+ */
+ private $isCached = false;
+
+ /**
+ * Holds an instance of this class
+ *
+ * @var object
+ */
+ private static $cachingInstance = null;
+
+ /**
+ * Constructor
+ *
+ * @param string $type caching type
+ * @param array $init the IDS_Init object
+ *
+ * @return void
+ */
+ public function __construct($type, $init)
+ {
+ $this->type = $type;
+ $this->config = $init->config['Caching'];
+ }
+
+ /**
+ * Returns an instance of this class
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return object $this
+ */
+ public static function getInstance($type, $init)
+ {
+ if (!self::$cachingInstance) {
+ self::$cachingInstance = new ApcCache($type, $init);
+ }
+
+ return self::$cachingInstance;
+ }
+
+ /**
+ * Writes cache data
+ *
+ * @param array $data the caching data
+ *
+ * @return object $this
+ */
+ public function setCache(array $data)
+ {
+ if (!$this->isCached) {
+ apc_store(
+ $this->config['key_prefix'] . '.storage',
+ $data,
+ $this->config['expiration_time']
+ );
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns the cached data
+ *
+ * Note that this method returns false if either type or file cache is
+ * not set
+ *
+ * @return mixed cache data or false
+ */
+ public function getCache()
+ {
+ $data = apc_fetch($this->config['key_prefix'] . '.storage');
+ $this->isCached = !empty($data);
+
+ return $data;
+ }
+}
diff --git a/interface/lib/classes/IDS/Caching/CacheFactory.php b/interface/lib/classes/IDS/Caching/CacheFactory.php
new file mode 100644
index 0000000..c358332
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/CacheFactory.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * Caching factory
+ *
+ * This class is used as a factory to load the correct concrete caching
+ * implementation.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class CacheFactory
+{
+ /**
+ * Factory method
+ *
+ * @param object $init the IDS_Init object
+ * @param string $type the caching type
+ *
+ * @return object the caching facility
+ */
+ public static function factory($init, $type)
+ {
+ $object = false;
+ $wrapper = preg_replace(
+ '/\W+/m',
+ null,
+ ucfirst($init->config['Caching']['caching'])
+ );
+ $class = '\\IDS\\Caching\\' . $wrapper . 'Cache';
+ $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . $wrapper . 'Cache.php';
+
+ if (file_exists($path)) {
+ include_once $path;
+
+ if (class_exists($class)) {
+ $object = call_user_func(
+ array('' . $class, 'getInstance'),
+ $type,
+ $init
+ );
+ }
+ }
+
+ return $object;
+ }
+}
diff --git a/interface/lib/classes/IDS/Caching/CacheInterface.php b/interface/lib/classes/IDS/Caching/CacheInterface.php
new file mode 100644
index 0000000..c1a6a60
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/CacheInterface.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * Caching wrapper interface
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @since Version 0.4
+ * @link http://php-ids.org/
+ */
+interface CacheInterface
+{
+ /**
+ * Interface method
+ *
+ * @param array $data the cache data
+ *
+ * @return void
+ */
+ public function setCache(array $data);
+
+ /**
+ * Interface method
+ *
+ * @return void
+ */
+ public function getCache();
+}
diff --git a/interface/lib/classes/IDS/Caching/DatabaseCache.php b/interface/lib/classes/IDS/Caching/DatabaseCache.php
new file mode 100644
index 0000000..09c77a8
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/DatabaseCache.php
@@ -0,0 +1,277 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ *
+ */
+
+/**
+ * Database caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via a database.
+ *
+ * Needed SQL:
+ *
+
+#create the database
+
+CREATE DATABASE IF NOT EXISTS `phpids` DEFAULT CHARACTER
+SET utf8 COLLATE utf8_general_ci;
+DROP TABLE IF EXISTS `cache`;
+
+#now select the created datbase and create the table
+
+CREATE TABLE `cache` (
+`type` VARCHAR( 32 ) NOT null ,
+`data` TEXT NOT null ,
+`created` DATETIME NOT null ,
+`modified` DATETIME NOT null
+) ENGINE = MYISAM ;
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupup
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class DatabaseCache implements CacheInterface
+{
+
+ /**
+ * Caching type
+ *
+ * @var string
+ */
+ private $type = null;
+
+ /**
+ * Cache configuration
+ *
+ * @var array
+ */
+ private $config = null;
+
+ /**
+ * DBH
+ *
+ * @var object
+ */
+ private $handle = null;
+
+ /**
+ * Holds an instance of this class
+ *
+ * @var object
+ */
+ private static $cachingInstance = null;
+
+ /**
+ * Constructor
+ *
+ * Connects to database.
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return void
+ */
+ public function __construct($type, $init)
+ {
+ $this->type = $type;
+ $this->config = $init->config['Caching'];
+ $this->handle = $this->connect();
+ }
+
+ /**
+ * Returns an instance of this class
+ *
+ * @static
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return object $this
+ */
+ public static function getInstance($type, $init)
+ {
+
+ if (!self::$cachingInstance) {
+ self::$cachingInstance = new DatabaseCache($type, $init);
+ }
+
+ return self::$cachingInstance;
+ }
+
+ /**
+ * Writes cache data into the database
+ *
+ * @param array $data the caching data
+ *
+ * @throws PDOException if a db error occurred
+ * @return object $this
+ */
+ public function setCache(array $data)
+ {
+ $handle = $this->handle;
+
+ $rows = $handle->query('SELECT created FROM `' . $this->config['table'].'`');
+
+ if (!$rows || $rows->rowCount() === 0) {
+
+ $this->write($handle, $data);
+ } else {
+
+ foreach ($rows as $row) {
+
+ if ((time()-strtotime($row['created'])) >
+ $this->config['expiration_time']) {
+
+ $this->write($handle, $data);
+ }
+ }
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns the cached data
+ *
+ * Note that this method returns false if either type or file cache is
+ * not set
+ *
+ * @throws PDOException if a db error occurred
+ * @return mixed cache data or false
+ */
+ public function getCache()
+ {
+ try {
+ $handle = $this->handle;
+ $result = $handle->prepare(
+ 'SELECT * FROM `' .
+ $this->config['table'] .
+ '` where type=?'
+ );
+ $result->execute(array($this->type));
+
+ foreach ($result as $row) {
+ return unserialize($row['data']);
+ }
+
+ } catch (\PDOException $e) {
+ throw new \PDOException('PDOException: ' . $e->getMessage());
+ }
+
+ return false;
+ }
+
+ /**
+ * Connect to database and return a handle
+ *
+ * @return object PDO
+ * @throws Exception if connection parameters are faulty
+ * @throws PDOException if a db error occurred
+ */
+ private function connect()
+ {
+ // validate connection parameters
+ if (!$this->config['wrapper']
+ || !$this->config['user']
+ || !$this->config['password']
+ || !$this->config['table']) {
+
+ throw new \Exception('Insufficient connection parameters');
+ }
+
+ // try to connect
+ try {
+ $handle = new \PDO(
+ $this->config['wrapper'],
+ $this->config['user'],
+ $this->config['password']
+ );
+ $handle->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
+
+ } catch (\PDOException $e) {
+ throw new \PDOException('PDOException: ' . $e->getMessage());
+ }
+
+ return $handle;
+ }
+
+ /**
+ * Write the cache data to the table
+ *
+ * @param object $handle the database handle
+ * @param array $data the caching data
+ *
+ * @return object PDO
+ * @throws PDOException if a db error occurred
+ */
+ private function write($handle, $data)
+ {
+ try {
+ $handle->query('TRUNCATE ' . $this->config['table'].'');
+ $statement = $handle->prepare(
+ 'INSERT INTO `' .
+ $this->config['table'].'` (
+ type,
+ data,
+ created,
+ modified
+ )
+ VALUES (
+ :type,
+ :data,
+ now(),
+ now()
+ )'
+ );
+
+ $statement->bindValue(
+ 'type',
+ $handle->quote($this->type)
+ );
+ $statement->bindValue('data', serialize($data));
+
+ if (!$statement->execute()) {
+ throw new \PDOException($statement->errorCode());
+ }
+ } catch (\PDOException $e) {
+ throw new \PDOException('PDOException: ' . $e->getMessage());
+ }
+ }
+}
diff --git a/interface/lib/classes/IDS/Caching/FileCache.php b/interface/lib/classes/IDS/Caching/FileCache.php
new file mode 100644
index 0000000..71f01c7
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/FileCache.php
@@ -0,0 +1,189 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+use IDS\Init;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via a static flatfile.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class FileCache implements CacheInterface
+{
+ /**
+ * Caching type
+ *
+ * @var string
+ */
+ private $type;
+
+ /**
+ * Cache configuration
+ *
+ * @var array
+ */
+ private $config;
+
+ /**
+ * Path to cache file
+ *
+ * @var string
+ */
+ private $path;
+
+ /**
+ * Holds an instance of this class
+ *
+ * @var object
+ */
+ private static $cachingInstance;
+
+ /**
+ * Constructor
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ * @throws \Exception
+ *
+ * @return void
+ */
+ public function __construct($type, Init $init)
+ {
+ $this->type = $type;
+ $this->config = $init->config['Caching'];
+ $this->path = $init->getBasePath() . $this->config['path'];
+
+ if (file_exists($this->path) && !is_writable($this->path)) {
+ throw new \Exception(
+ 'Make sure all files in ' .
+ htmlspecialchars($this->path, ENT_QUOTES, 'UTF-8') .
+ 'are writeable!'
+ );
+ }
+ }
+
+ /**
+ * Returns an instance of this class
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return object $this
+ */
+ public static function getInstance($type, $init)
+ {
+ if (!self::$cachingInstance) {
+ self::$cachingInstance = new FileCache($type, $init);
+ }
+
+ return self::$cachingInstance;
+ }
+
+ /**
+ * Writes cache data into the file
+ *
+ * @param array $data the cache data
+ *
+ * @throws Exception if cache file couldn't be created
+ * @return object $this
+ */
+ public function setCache(array $data)
+ {
+ if (!is_writable(preg_replace('/[\/][^\/]+\.[^\/]++$/', null, $this->path))) {
+ throw new \Exception(
+ 'Temp directory ' .
+ htmlspecialchars($this->path, ENT_QUOTES, 'UTF-8') .
+ ' seems not writable'
+ );
+ }
+
+ if (!$this->isValidFile($this->path)) {
+ $handle = @fopen($this->path, 'w+');
+
+ if (!$handle) {
+ throw new \Exception("Cache file couldn't be created");
+ }
+
+ $serialized = @serialize($data);
+ if (!$serialized) {
+ throw new \Exception("Cache data couldn't be serialized");
+ }
+
+ fwrite($handle, $serialized);
+ fclose($handle);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns the cached data
+ *
+ * Note that this method returns false if either type or file cache is
+ * not set
+ *
+ * @return mixed cache data or false
+ */
+ public function getCache()
+ {
+ // make sure filters are parsed again if cache expired
+ if (!$this->isValidFile($this->path)) {
+ return false;
+ }
+
+ $data = unserialize(file_get_contents($this->path));
+
+ return $data;
+ }
+
+ /**
+ * Returns true if the cache file is still valid
+ *
+ * @param string $file
+ * @return bool
+ */
+ private function isValidFile($file)
+ {
+ return file_exists($file) && time() - filectime($file) <= $this->config['expiration_time'];
+ }
+}
diff --git a/interface/lib/classes/IDS/Caching/MemcachedCache.php b/interface/lib/classes/IDS/Caching/MemcachedCache.php
new file mode 100644
index 0000000..b3dd5b7
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/MemcachedCache.php
@@ -0,0 +1,181 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Caching;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via memcached.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupoup
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class MemcachedCache implements CacheInterface
+{
+ /**
+ * Caching type
+ *
+ * @var string
+ */
+ private $type = null;
+
+ /**
+ * Cache configuration
+ *
+ * @var array
+ */
+ private $config = null;
+
+ /**
+ * Flag if the filter storage has been found in memcached
+ *
+ * @var boolean
+ */
+ private $isCached = false;
+
+ /**
+ * Memcache object
+ *
+ * @var object
+ */
+ private $memcache = null;
+
+ /**
+ * Holds an instance of this class
+ *
+ * @var object
+ */
+ private static $cachingInstance = null;
+
+ /**
+ * Constructor
+ *
+ * @param string $type caching type
+ * @param array $init the IDS_Init object
+ *
+ * @return void
+ */
+ public function __construct($type, $init)
+ {
+
+ $this->type = $type;
+ $this->config = $init->config['Caching'];
+
+ $this->connect();
+ }
+
+ /**
+ * Returns an instance of this class
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return object $this
+ */
+ public static function getInstance($type, $init)
+ {
+ if (!self::$cachingInstance) {
+ self::$cachingInstance = new MemcachedCache($type, $init);
+ }
+
+ return self::$cachingInstance;
+ }
+
+ /**
+ * Writes cache data
+ *
+ * @param array $data the caching data
+ *
+ * @return object $this
+ */
+ public function setCache(array $data)
+ {
+ if (!$this->isCached) {
+ $this->memcache->set(
+ $this->config['key_prefix'] . '.storage',
+ $data,
+ false,
+ $this->config['expiration_time']
+ );
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns the cached data
+ *
+ * Note that this method returns false if either type or file cache is
+ * not set
+ *
+ * @return mixed cache data or false
+ */
+ public function getCache()
+ {
+ $data = $this->memcache->get(
+ $this->config['key_prefix'] .
+ '.storage'
+ );
+ $this->isCached = !empty($data);
+
+ return $data;
+ }
+
+ /**
+ * Connect to the memcached server
+ *
+ * @throws Exception if connection parameters are insufficient
+ * @return void
+ */
+ private function connect()
+ {
+
+ if ($this->config['host'] && $this->config['port']) {
+ // establish the memcache connection
+ $this->memcache = new \Memcache;
+ $this->memcache->pconnect(
+ $this->config['host'],
+ $this->config['port']
+ );
+
+ } else {
+ throw new \Exception('Insufficient connection parameters');
+ }
+ }
+}
diff --git a/interface/lib/classes/IDS/Caching/SessionCache.php b/interface/lib/classes/IDS/Caching/SessionCache.php
new file mode 100644
index 0000000..7168a63
--- /dev/null
+++ b/interface/lib/classes/IDS/Caching/SessionCache.php
@@ -0,0 +1,136 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+
+namespace IDS\Caching;
+
+/**
+ * File caching wrapper
+ *
+ * This class inhabits functionality to get and set cache via session.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class SessionCache implements CacheInterface
+{
+ /**
+ * Caching type
+ *
+ * @var string
+ */
+ private $type = null;
+
+ /**
+ * Cache configuration
+ *
+ * @var array
+ */
+ private $config = null;
+
+ /**
+ * Holds an instance of this class
+ *
+ * @var object
+ */
+ private static $cachingInstance = null;
+
+ /**
+ * Constructor
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return void
+ */
+ public function __construct($type, $init)
+ {
+ $this->type = $type;
+ $this->config = $init->config['Caching'];
+ }
+
+ /**
+ * Returns an instance of this class
+ *
+ * @param string $type caching type
+ * @param object $init the IDS_Init object
+ *
+ * @return object $this
+ */
+ public static function getInstance($type, $init)
+ {
+
+ if (!self::$cachingInstance) {
+ self::$cachingInstance = new SessionCache($type, $init);
+ }
+
+ return self::$cachingInstance;
+ }
+
+ /**
+ * Writes cache data into the session
+ *
+ * @param array $data the caching data
+ *
+ * @return object $this
+ */
+ public function setCache(array $data)
+ {
+
+ $_SESSION['PHPIDS'][$this->type] = $data;
+
+ return $this;
+ }
+
+ /**
+ * Returns the cached data
+ *
+ * Note that this method returns false if either type or file cache is not set
+ *
+ * @return mixed cache data or false
+ */
+ public function getCache()
+ {
+
+ if ($this->type && $_SESSION['PHPIDS'][$this->type]) {
+ return $_SESSION['PHPIDS'][$this->type];
+ }
+
+ return false;
+ }
+}
diff --git a/interface/lib/classes/IDS/Config.ini.php b/interface/lib/classes/IDS/Config.ini.php
new file mode 100644
index 0000000..f87ccc8
--- /dev/null
+++ b/interface/lib/classes/IDS/Config.ini.php
@@ -0,0 +1,59 @@
+; <?php die(); ?>
+
+; PHPIDS Config.ini
+
+; General configuration settings
+
+[General]
+
+ ; basic settings - customize to make the PHPIDS work at all
+ filter_type = xml
+
+ base_path = /full/path/to/IDS/
+ use_base_path = false
+
+ filter_path = default_filter.xml
+ tmp_path = tmp
+ scan_keys = false
+
+ ; in case you want to use a different HTMLPurifier source, specify it here
+ ; By default, those files are used that are being shipped with PHPIDS
+ HTML_Purifier_Cache = vendors/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer
+
+ ; define which fields contain html and need preparation before
+ ; hitting the PHPIDS rules (new in PHPIDS 0.5)
+ ;html[] = POST.__wysiwyg
+
+ ; define which fields contain JSON data and should be treated as such
+ ; for fewer false positives (new in PHPIDS 0.5.3)
+ ;json[] = POST.__jsondata
+
+ ; define which fields shouldn't be monitored (a[b]=c should be referenced via a.b)
+ exceptions[] = GET.__utmz
+ exceptions[] = GET.__utmc
+ exceptions[] = POST.maildir_path
+
+ ; you can use regular expressions for wildcard exceptions - example: /.*foo/i
+
+[Caching]
+
+ ; caching: session|file|database|memcached|apc|none
+ caching = file
+ expiration_time = 600
+
+ ; file cache
+ path = tmp/default_filter.cache
+
+ ; database cache
+ wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
+ user = phpids_user
+ password = 123456
+ table = cache
+
+ ; memcached
+ ;host = localhost
+ ;port = 11211
+ ;key_prefix = PHPIDS
+
+ ; apc
+ ;key_prefix = PHPIDS
diff --git a/interface/lib/classes/IDS/Config/Config.ini.php b/interface/lib/classes/IDS/Config/Config.ini.php
new file mode 100644
index 0000000..0800552
--- /dev/null
+++ b/interface/lib/classes/IDS/Config/Config.ini.php
@@ -0,0 +1,91 @@
+; <?php die(); ?>
+
+; PHPIDS Config.ini
+
+; General configuration settings
+
+[General]
+
+ ; basic settings - customize to make the PHPIDS work at all
+ filter_type = xml
+
+ base_path = /full/path/to/IDS/
+ use_base_path = false
+
+ filter_path = default_filter.xml
+ tmp_path = tmp
+ scan_keys = false
+
+ ; in case you want to use a different HTMLPurifier source, specify it here
+ ; By default, those files are used that are being shipped with PHPIDS
+ HTML_Purifier_Cache = vendors/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer
+
+ ; define which fields contain html and need preparation before
+ ; hitting the PHPIDS rules (new in PHPIDS 0.5)
+ ;html[] = POST.__wysiwyg
+ ;html[] = POST.records
+ ;html[] = REQUEST.records
+
+ ; define which fields contain JSON data and should be treated as such
+ ; for fewer false positives (new in PHPIDS 0.5.3)
+ ;json[] = POST.__jsondata
+
+ ; define which fields shouldn't be monitored (a[b]=c should be referenced via a.b)
+ ; exceptions[] = GET.__utmz
+ ; exceptions[] = GET.__utmc
+ ; exceptions[] = POST.maildir_path
+ ; exceptions[] = REQUEST.maildir_path
+ ; exceptions[] = REQUEST.website_path
+ ; exceptions[] = REQUEST.website_symlinks
+ ; exceptions[] = REQUEST.vhost_conf_dir
+ ; exceptions[] = REQUEST.vhost_conf_enabled_dir
+ ; exceptions[] = REQUEST.nginx_vhost_conf_dir
+ ; exceptions[] = REQUEST.nginx_vhost_conf_enabled_dir
+ ; exceptions[] = REQUEST.php_open_basedir
+ ; exceptions[] = REQUEST.awstats_pl
+ ; exceptions[] = POST.website_path
+ ; exceptions[] = POST.website_symlinks
+ ; exceptions[] = POST.vhost_conf_dir
+ ; exceptions[] = POST.vhost_conf_enabled_dir
+ ; exceptions[] = POST.nginx_vhost_conf_dir
+ ; exceptions[] = POST.nginx_vhost_conf_enabled_dir
+ ; exceptions[] = POST.php_open_basedir
+ ; exceptions[] = POST.awstats_pl
+ ; exceptions[] = REQUEST.fastcgi_starter_path
+ ; exceptions[] = REQUEST.fastcgi_bin
+ ; exceptions[] = POST.fastcgi_starter_path
+ ; exceptions[] = POST.fastcgi_bin
+ ; exceptions[] = REQUEST.jailkit_chroot_home
+ ; exceptions[] = POST.jailkit_chroot_home
+ ; exceptions[] = REQUEST.phpmyadmin_url
+ ; exceptions[] = REQUEST.phpmyadmin_url
+ ; exceptions[] = REQUEST.records.weak_password_txt
+ ; exceptions[] = POST.records.weak_password_txt
+
+
+
+ ; you can use regular expressions for wildcard exceptions - example: /.*foo/i
+
+[Caching]
+
+ ; caching: session|file|database|memcached|apc|none
+ caching = file
+ expiration_time = 600
+
+ ; file cache
+ path = tmp/default_filter.cache
+
+ ; database cache
+ wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
+ user = phpids_user
+ password = 123456
+ table = cache
+
+ ; memcached
+ ;host = localhost
+ ;port = 11211
+ ;key_prefix = PHPIDS
+
+ ; apc
+ ;key_prefix = PHPIDS
+
diff --git a/interface/lib/classes/IDS/Converter.php b/interface/lib/classes/IDS/Converter.php
new file mode 100644
index 0000000..770d1cc
--- /dev/null
+++ b/interface/lib/classes/IDS/Converter.php
@@ -0,0 +1,779 @@
+<?php
+
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+
+/**
+ * PHPIDS specific utility class to convert charsets manually
+ *
+ * Note that if you make use of IDS_Converter::runAll(), existing class
+ * methods will be executed in the same order as they are implemented in the
+ * class tree!
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+
+namespace IDS;
+
+class Converter
+{
+ /**
+ * Runs all converter functions
+ *
+ * Note that if you make use of IDS_Converter::runAll(), existing class
+ * methods will be executed in the same order as they are implemented in the
+ * class tree!
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function runAll($value)
+ {
+ foreach (get_class_methods(__CLASS__) as $method) {
+ if (strpos($method, 'run') !== 0) {
+ $value = self::$method($value);
+ }
+ }
+
+ return $value;
+ }
+
+ /**
+ * Check for comments and erases them if available
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromCommented($value)
+ {
+ // check for existing comments
+ if (preg_match('/(?:\<!-|-->|\/\*|\*\/|\/\/\W*\w+\s*$)|(?:--[^-]*-)/ms', $value)) {
+
+ $pattern = array(
+ '/(?:(?:<!)(?:(?:--(?:[^-]*(?:-[^-]+)*)--\s*)*)(?:>))/ms',
+ '/(?:(?:\/\*\/*[^\/\*]*)+\*\/)/ms',
+ '/(?:--[^-]*-)/ms'
+ );
+
+ $converted = preg_replace($pattern, ';', $value);
+ $value .= "\n" . $converted;
+ }
+
+ //make sure inline comments are detected and converted correctly
+ $value = preg_replace('/(<\w+)\/+(\w+=?)/m', '$1/$2', $value);
+ $value = preg_replace('/[^\\\:]\/\/(.*)$/m', '/**/$1', $value);
+ $value = preg_replace('/([^\-&])#.*[\r\n\v\f]/m', '$1', $value);
+ $value = preg_replace('/([^&\-])#.*\n/m', '$1 ', $value);
+ $value = preg_replace('/^#.*\n/m', ' ', $value);
+
+ return $value;
+ }
+
+ /**
+ * Strip newlines
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromWhiteSpace($value)
+ {
+ //check for inline linebreaks
+ $search = array('\r', '\n', '\f', '\t', '\v');
+ $value = str_replace($search, ';', $value);
+
+ // replace replacement characters regular spaces
+ $value = str_replace('�', ' ', $value);
+
+ //convert real linebreaks
+ return preg_replace('/(?:\n|\r|\v)/m', ' ', $value);
+ }
+
+ /**
+ * Checks for common charcode pattern and decodes them
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromJSCharcode($value)
+ {
+ $matches = array();
+
+ // check if value matches typical charCode pattern
+ if (preg_match_all('/(?:[\d+-=\/\* ]+(?:\s?,\s?[\d+-=\/\* ]+)){4,}/ms', $value, $matches)) {
+ $converted = '';
+ $string = implode(',', $matches[0]);
+ $string = preg_replace('/\s/', '', $string);
+ $string = preg_replace('/\w+=/', '', $string);
+ $charcode = explode(',', $string);
+
+ foreach ($charcode as $char) {
+ $char = preg_replace('/\W0/s', '', $char);
+
+ if (preg_match_all('/\d*[+-\/\* ]\d+/', $char, $matches)) {
+ $match = preg_split('/(\W?\d+)/', implode('', $matches[0]), null, PREG_SPLIT_DELIM_CAPTURE);
+
+ if (array_sum($match) >= 20 && array_sum($match) <= 127) {
+ $converted .= chr(array_sum($match));
+ }
+
+ } elseif (!empty($char) && $char >= 20 && $char <= 127) {
+ $converted .= chr($char);
+ }
+ }
+
+ $value .= "\n" . $converted;
+ }
+
+ // check for octal charcode pattern
+ if (preg_match_all('/(?:(?:[\\\]+\d+[ \t]*){8,})/ims', $value, $matches)) {
+ $converted = '';
+ $charcode = explode('\\', preg_replace('/\s/', '', implode(',', $matches[0])));
+
+ foreach (array_map('octdec', array_filter($charcode)) as $char) {
+ if (20 <= $char && $char <= 127) {
+ $converted .= chr($char);
+ }
+ }
+ $value .= "\n" . $converted;
+ }
+
+ // check for hexadecimal charcode pattern
+ if (preg_match_all('/(?:(?:[\\\]+\w+\s*){8,})/ims', $value, $matches)) {
+ $converted = '';
+ $charcode = explode('\\', preg_replace('/[ux]/', '', implode(',', $matches[0])));
+
+ foreach (array_map('hexdec', array_filter($charcode)) as $char) {
+ if (20 <= $char && $char <= 127) {
+ $converted .= chr($char);
+ }
+ }
+ $value .= "\n" . $converted;
+ }
+
+ return $value;
+ }
+
+ /**
+ * Eliminate JS regex modifiers
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertJSRegexModifiers($value)
+ {
+ return preg_replace('/\/[gim]+/', '/', $value);
+ }
+
+ /**
+ * Converts from hex/dec entities
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertEntities($value)
+ {
+ $converted = null;
+
+ //deal with double encoded payload
+ $value = preg_replace('/&/', '&', $value);
+
+ if (preg_match('/&#x?[\w]+/ms', $value)) {
+ $converted = preg_replace('/(&#x?[\w]{2}\d?);?/ms', '$1;', $value);
+ $converted = html_entity_decode($converted, ENT_QUOTES, 'UTF-8');
+ $value .= "\n" . str_replace(';;', ';', $converted);
+ }
+
+ // normalize obfuscated protocol handlers
+ $value = preg_replace(
+ '/(?:j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:)|(d\s*a\s*t\s*a\s*:)/ms',
+ 'javascript:',
+ $value
+ );
+
+ return $value;
+ }
+
+ /**
+ * Normalize quotes
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertQuotes($value)
+ {
+ // normalize different quotes to "
+ $pattern = array('\'', '`', '´', '’', '‘');
+ $value = str_replace($pattern, '"', $value);
+
+ //make sure harmless quoted strings don't generate false alerts
+ $value = preg_replace('/^"([^"=\\!><~]+)"$/', '$1', $value);
+
+ return $value;
+ }
+
+ /**
+ * Converts SQLHEX to plain text
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromSQLHex($value)
+ {
+ $matches = array();
+ if (preg_match_all('/(?:(?:\A|[^\d])0x[a-f\d]{3,}[a-f\d]*)+/im', $value, $matches)) {
+ foreach ($matches[0] as $match) {
+ $converted = '';
+ foreach (str_split($match, 2) as $hex_index) {
+ if (preg_match('/[a-f\d]{2,3}/i', $hex_index)) {
+ $converted .= chr(hexdec($hex_index));
+ }
+ }
+ $value = str_replace($match, $converted, $value);
+ }
+ }
+ // take care of hex encoded ctrl chars
+ $value = preg_replace('/0x\d+/m', ' 1 ', $value);
+
+ return $value;
+ }
+
+ /**
+ * Converts basic SQL keywords and obfuscations
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromSQLKeywords($value)
+ {
+ $pattern = array(
+ '/(?:is\s+null)|(like\s+null)|' .
+ '(?:(?:^|\W)in[+\s]*\([\s\d"]+[^()]*\))/ims'
+ );
+ $value = preg_replace($pattern, '"=0', $value);
+
+ $value = preg_replace('/[^\w\)]+\s*like\s*[^\w\s]+/ims', '1" OR "1"', $value);
+ $value = preg_replace('/null([,"\s])/ims', '0$1', $value);
+ $value = preg_replace('/\d+\./ims', ' 1', $value);
+ $value = preg_replace('/,null/ims', ',0', $value);
+ $value = preg_replace('/(?:between)/ims', 'or', $value);
+ $value = preg_replace('/(?:and\s+\d+\.?\d*)/ims', '', $value);
+ $value = preg_replace('/(?:\s+and\s+)/ims', ' or ', $value);
+
+ $pattern = array(
+ '/(?:not\s+between)|(?:is\s+not)|(?:not\s+in)|' .
+ '(?:xor|<>|rlike(?:\s+binary)?)|' .
+ '(?:regexp\s+binary)|' .
+ '(?:sounds\s+like)/ims'
+ );
+ $value = preg_replace($pattern, '!', $value);
+ $value = preg_replace('/"\s+\d/', '"', $value);
+ $value = preg_replace('/(\W)div(\W)/ims', '$1 OR $2', $value);
+ $value = preg_replace('/\/(?:\d+|null)/', null, $value);
+
+ return $value;
+ }
+
+ /**
+ * Detects nullbytes and controls chars via ord()
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromControlChars($value)
+ {
+ // critical ctrl values
+ $search = array(
+ chr(0), chr(1), chr(2), chr(3), chr(4), chr(5),
+ chr(6), chr(7), chr(8), chr(11), chr(12), chr(14),
+ chr(15), chr(16), chr(17), chr(18), chr(19), chr(24),
+ chr(25), chr(192), chr(193), chr(238), chr(255), '\\0'
+ );
+
+ $value = str_replace($search, '%00', $value);
+
+ //take care for malicious unicode characters
+ $value = urldecode(
+ preg_replace(
+ '/(?:%E(?:2|3)%8(?:0|1)%(?:A|8|9)\w|%EF%BB%BF|%EF%BF%BD)|(?:&#(?:65|8)\d{3};?)/i',
+ null,
+ urlencode($value)
+ )
+ );
+ $value = urlencode($value);
+ $value = preg_replace('/(?:%F0%80%BE)/i', '>', $value);
+ $value = preg_replace('/(?:%F0%80%BC)/i', '<', $value);
+ $value = preg_replace('/(?:%F0%80%A2)/i', '"', $value);
+ $value = preg_replace('/(?:%F0%80%A7)/i', '\'', $value);
+ $value = urldecode($value);
+
+ $value = preg_replace('/(?:%ff1c)/', '<', $value);
+ $value = preg_replace('/(?:&[#x]*(200|820|200|820|zwn?j|lrm|rlm)\w?;?)/i', null, $value);
+ $value = preg_replace(
+ '/(?:&#(?:65|8)\d{3};?)|' .
+ '(?:&#(?:56|7)3\d{2};?)|' .
+ '(?:&#x(?:fe|20)\w{2};?)|' .
+ '(?:&#x(?:d[c-f])\w{2};?)/i',
+ null,
+ $value
+ );
+
+ $value = str_replace(
+ array(
+ '«',
+ '〈',
+ '<',
+ '‹',
+ '〈',
+ '⟨'
+ ),
+ '<',
+ $value
+ );
+ $value = str_replace(
+ array(
+ '»',
+ '〉',
+ '>',
+ '›',
+ '〉',
+ '⟩'
+ ),
+ '>',
+ $value
+ );
+
+ return $value;
+ }
+
+ /**
+ * This method matches and translates base64 strings and fragments
+ * used in data URIs
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromNestedBase64($value)
+ {
+ $matches = array();
+ preg_match_all('/(?:^|[,&?])\s*([a-z0-9]{50,}=*)(?:\W|$)/im', $value, $matches);
+
+ foreach ($matches[1] as $item) {
+ if (isset($item) && !preg_match('/[a-f0-9]{32}/i', $item)) {
+ $base64_item = base64_decode($item);
+ $value = str_replace($item, $base64_item, $value);
+ }
+ }
+
+ return $value;
+ }
+
+ /**
+ * Detects nullbytes and controls chars via ord()
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromOutOfRangeChars($value)
+ {
+ $values = str_split($value);
+ foreach ($values as $item) {
+ if (ord($item) >= 127) {
+ $value = str_replace($item, ' ', $value);
+ }
+ }
+
+ return $value;
+ }
+
+ /**
+ * Strip XML patterns
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromXML($value)
+ {
+ $converted = strip_tags($value);
+ if (!$converted || $converted === $value) {
+ return $value;
+ } else {
+ return $value . "\n" . $converted;
+ }
+ }
+
+ /**
+ * This method converts JS unicode code points to
+ * regular characters
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromJSUnicode($value)
+ {
+ $matches = array();
+ preg_match_all('/\\\u[0-9a-f]{4}/ims', $value, $matches);
+
+ if (!empty($matches[0])) {
+ foreach ($matches[0] as $match) {
+ $chr = chr(hexdec(substr($match, 2, 4)));
+ $value = str_replace($match, $chr, $value);
+ }
+ $value .= "\n\u0001";
+ }
+
+ return $value;
+ }
+
+ /**
+ * Converts relevant UTF-7 tags to UTF-8
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromUTF7($value)
+ {
+ if (preg_match('/\+A\w+-?/m', $value)) {
+ if (function_exists('mb_convert_encoding')) {
+ if (version_compare(PHP_VERSION, '5.2.8', '<')) {
+ $tmp_chars = str_split($value);
+ $value = '';
+ foreach ($tmp_chars as $char) {
+ if (ord($char) <= 127) {
+ $value .= $char;
+ }
+ }
+ }
+ $value .= "\n" . mb_convert_encoding($value, 'UTF-8', 'UTF-7');
+ } else {
+ //list of all critical UTF7 codepoints
+ $schemes = array(
+ '+ACI-' => '"',
+ '+ADw-' => '<',
+ '+AD4-' => '>',
+ '+AFs-' => '[',
+ '+AF0-' => ']',
+ '+AHs-' => '{',
+ '+AH0-' => '}',
+ '+AFw-' => '\\',
+ '+ADs-' => ';',
+ '+ACM-' => '#',
+ '+ACY-' => '&',
+ '+ACU-' => '%',
+ '+ACQ-' => '$',
+ '+AD0-' => '=',
+ '+AGA-' => '`',
+ '+ALQ-' => '"',
+ '+IBg-' => '"',
+ '+IBk-' => '"',
+ '+AHw-' => '|',
+ '+ACo-' => '*',
+ '+AF4-' => '^',
+ '+ACIAPg-' => '">',
+ '+ACIAPgA8-' => '">'
+ );
+
+ $value = str_ireplace(
+ array_keys($schemes),
+ array_values($schemes),
+ $value
+ );
+ }
+ }
+
+ return $value;
+ }
+
+ /**
+ * Converts basic concatenations
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromConcatenated($value)
+ {
+ //normalize remaining backslashes
+ if ($value != preg_replace('/(\w)\\\/', "$1", $value)) {
+ $value .= preg_replace('/(\w)\\\/', "$1", $value);
+ }
+
+ $compare = stripslashes($value);
+
+ $pattern = array(
+ '/(?:<\/\w+>\+<\w+>)/s',
+ '/(?:":\d+[^"[]+")/s',
+ '/(?:"?"\+\w+\+")/s',
+ '/(?:"\s*;[^"]+")|(?:";[^"]+:\s*")/s',
+ '/(?:"\s*(?:;|\+).{8,18}:\s*")/s',
+ '/(?:";\w+=)|(?:!""&&")|(?:~)/s',
+ '/(?:"?"\+""?\+?"?)|(?:;\w+=")|(?:"[|&]{2,})/s',
+ '/(?:"\s*\W+")/s',
+ '/(?:";\w\s*\+=\s*\w?\s*")/s',
+ '/(?:"[|&;]+\s*[^|&\n]*[|&]+\s*"?)/s',
+ '/(?:";\s*\w+\W+\w*\s*[|&]*")/s',
+ '/(?:"\s*"\s*\.)/s',
+ '/(?:\s*new\s+\w+\s*[+",])/',
+ '/(?:(?:^|\s+)(?:do|else)\s+)/',
+ '/(?:[{(]\s*new\s+\w+\s*[)}])/',
+ '/(?:(this|self)\.)/',
+ '/(?:undefined)/',
+ '/(?:in\s+)/'
+ );
+
+ // strip out concatenations
+ $converted = preg_replace($pattern, null, $compare);
+
+ //strip object traversal
+ $converted = preg_replace('/\w(\.\w\()/', "$1", $converted);
+
+ // normalize obfuscated method calls
+ $converted = preg_replace('/\)\s*\+/', ")", $converted);
+
+ //convert JS special numbers
+ $converted = preg_replace(
+ '/(?:\(*[.\d]e[+-]*[^a-z\W]+\)*)|(?:NaN|Infinity)\W/ims',
+ 1,
+ $converted
+ );
+
+ if ($converted && ($compare != $converted)) {
+ $value .= "\n" . $converted;
+ }
+
+ return $value;
+ }
+
+ /**
+ * This method collects and decodes proprietary encoding types
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromProprietaryEncodings($value)
+ {
+ //Xajax error reportings
+ $value = preg_replace('/<!\[CDATA\[(\W+)\]\]>/im', '$1', $value);
+
+ //strip false alert triggering apostrophes
+ $value = preg_replace('/(\w)\"(s)/m', '$1$2', $value);
+
+ //strip quotes within typical search patterns
+ $value = preg_replace('/^"([^"=\\!><~]+)"$/', '$1', $value);
+
+ //OpenID login tokens
+ $value = preg_replace('/{[\w-]{8,9}\}(?:\{[\w=]{8}\}){2}/', null, $value);
+
+ //convert Content and \sdo\s to null
+ $value = preg_replace('/Content|\Wdo\s/', null, $value);
+
+ //strip emoticons
+ $value = preg_replace(
+ '/(?:\s[:;]-[)\/PD]+)|(?:\s;[)PD]+)|(?:\s:[)PD]+)|-\.-|\^\^/m',
+ null,
+ $value
+ );
+
+ //normalize separation char repetion
+ $value = preg_replace('/([.+~=*_\-;])\1{2,}/m', '$1', $value);
+
+ //normalize multiple single quotes
+ $value = preg_replace('/"{2,}/m', '"', $value);
+
+ //normalize quoted numerical values and asterisks
+ $value = preg_replace('/"(\d+)"/m', '$1', $value);
+
+ //normalize pipe separated request parameters
+ $value = preg_replace('/\|(\w+=\w+)/m', '&$1', $value);
+
+ //normalize ampersand listings
+ $value = preg_replace('/(\w\s)&\s(\w)/', '$1$2', $value);
+
+ //normalize escaped RegExp modifiers
+ $value = preg_replace('/\/\\\(\w)/', '/$1', $value);
+
+ return $value;
+ }
+
+ /**
+ * This method removes encoded sql # comments
+ *
+ * @param string $value the value to convert
+ *
+ * @static
+ * @return string
+ */
+ public static function convertFromUrlencodeSqlComment($value)
+ {
+ if (preg_match_all('/(?:\%23.*?\%0a)/im',$value,$matches)){
+ $converted = $value;
+ foreach($matches[0] as $match){
+ $converted = str_replace($match,' ',$converted);
+ }
+ $value .= "\n" . $converted;
+ }
+ return $value;
+ }
+
+ /**
+ * This method is the centrifuge prototype
+ *
+ * @param string $value the value to convert
+ * @param Monitor $monitor the monitor object
+ *
+ * @static
+ * @return string
+ */
+ public static function runCentrifuge($value, Monitor $monitor = null)
+ {
+ $threshold = 3.49;
+ if (strlen($value) > 25) {
+ //strip padding
+ $tmp_value = preg_replace('/\s{4}|==$/m', null, $value);
+ $tmp_value = preg_replace(
+ '/\s{4}|[\p{L}\d\+\-=,.%()]{8,}/m',
+ 'aaa',
+ $tmp_value
+ );
+
+ // Check for the attack char ratio
+ $tmp_value = preg_replace('/([*.!?+-])\1{1,}/m', '$1', $tmp_value);
+ $tmp_value = preg_replace('/"[\p{L}\d\s]+"/m', null, $tmp_value);
+
+ $stripped_length = strlen(
+ preg_replace(
+ '/[\d\s\p{L}\.:,%&\/><\-)!|]+/m',
+ null,
+ $tmp_value
+ )
+ );
+ $overall_length = strlen(
+ preg_replace(
+ '/([\d\s\p{L}:,\.]{3,})+/m',
+ 'aaa',
+ preg_replace('/\s{2,}/m', null, $tmp_value)
+ )
+ );
+
+ if ($stripped_length != 0 && $overall_length/$stripped_length <= $threshold) {
+ $monitor->centrifuge['ratio'] = $overall_length / $stripped_length;
+ $monitor->centrifuge['threshold'] =$threshold;
+
+ $value .= "\n$[!!!]";
+ }
+ }
+
+ if (strlen($value) > 40) {
+ // Replace all non-special chars
+ $converted = preg_replace('/[\w\s\p{L},.:!]/', null, $value);
+
+ // Split string into an array, unify and sort
+ $array = str_split($converted);
+ $array = array_unique($array);
+ asort($array);
+
+ // Normalize certain tokens
+ $schemes = array(
+ '~' => '+',
+ '^' => '+',
+ '|' => '+',
+ '*' => '+',
+ '%' => '+',
+ '&' => '+',
+ '/' => '+'
+ );
+
+ $converted = implode($array);
+
+ $_keys = array_keys($schemes);
+ $_values = array_values($schemes);
+
+ $converted = str_replace($_keys, $_values, $converted);
+
+ $converted = preg_replace('/[+-]\s*\d+/', '+', $converted);
+ $converted = preg_replace('/[()[\]{}]/', '(', $converted);
+ $converted = preg_replace('/[!?:=]/', ':', $converted);
+ $converted = preg_replace('/[^:(+]/', null, stripslashes($converted));
+
+ // Sort again and implode
+ $array = str_split($converted);
+ asort($array);
+ $converted = implode($array);
+
+ if (preg_match('/(?:\({2,}\+{2,}:{2,})|(?:\({2,}\+{2,}:+)|(?:\({3,}\++:{2,})/', $converted)) {
+ $monitor->centrifuge['converted'] = $converted;
+
+ return $value . "\n" . $converted;
+ }
+ }
+
+ return $value;
+ }
+}
diff --git a/interface/lib/classes/IDS/Event.php b/interface/lib/classes/IDS/Event.php
new file mode 100644
index 0000000..ebda171
--- /dev/null
+++ b/interface/lib/classes/IDS/Event.php
@@ -0,0 +1,221 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS event object
+ *
+ * This class represents a certain event that occured while applying the filters
+ * to the supplied data. It aggregates a bunch of IDS_Filter implementations and
+ * is a assembled in IDS_Report.
+ *
+ * Note that this class implements both Countable and IteratorAggregate
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+class Event implements \Countable, \IteratorAggregate
+{
+ /**
+ * Event name
+ *
+ * @var string
+ */
+ protected $name = null;
+
+ /**
+ * Value of the event
+ *
+ * @var mixed
+ */
+ protected $value = null;
+
+ /**
+ * List of filter objects
+ *
+ * Filter objects in this array are those that matched the events value
+ *
+ * @var Filter[]|array
+ */
+ protected $filters = array();
+
+ /**
+ * Calculated impact
+ *
+ * Total impact of the event
+ *
+ * @var integer
+ */
+ protected $impact = 0;
+
+ /**
+ * Affecte tags
+ *
+ * @var string[]|array
+ */
+ protected $tags = array();
+
+ /**
+ * Constructor
+ *
+ * Fills event properties
+ *
+ * @param string $name the event name
+ * @param mixed $value the event value
+ * @param Filter[]|array $filters the corresponding filters
+ *
+ * @throws \InvalidArgumentException
+ * @return \IDS\Event
+ */
+ public function __construct($name, $value, array $filters)
+ {
+ if (!is_scalar($name)) {
+ throw new \InvalidArgumentException(
+ 'Expected $name to be a scalar,' . gettype($name) . ' given'
+ );
+ }
+
+ if (!is_scalar($value)) {
+ throw new \InvalidArgumentException(
+ 'Expected $value to be a scalar,' . gettype($value) . ' given'
+ );
+ }
+
+ $this->name = $name;
+ $this->value = $value;
+
+ foreach ($filters as $filter) {
+ if (!$filter instanceof Filter) {
+ throw new \InvalidArgumentException(
+ 'Filter must be derived from IDS_Filter'
+ );
+ }
+
+ $this->filters[] = $filter;
+ }
+ }
+
+ /**
+ * Returns event name
+ *
+ * The name of the event usually is the key of the variable that was
+ * considered to be malicious
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns event value
+ *
+ * @return mixed
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Returns calculated impact
+ *
+ * @return integer
+ */
+ public function getImpact()
+ {
+ if (!$this->impact) {
+ $this->impact = 0;
+ foreach ($this->filters as $filter) {
+ $this->impact += $filter->getImpact();
+ }
+ }
+
+ return $this->impact;
+ }
+
+ /**
+ * Returns affected tags
+ *
+ * @return string[]|array
+ */
+ public function getTags()
+ {
+ foreach ($this->getFilters() as $filter) {
+ $this->tags = array_merge($this->tags, $filter->getTags());
+ }
+
+ return $this->tags = array_values(array_unique($this->tags));
+ }
+
+ /**
+ * Returns list of filter objects
+ *
+ * @return Filter[]|array
+ */
+ public function getFilters()
+ {
+ return $this->filters;
+ }
+
+ /**
+ * Returns number of filters
+ *
+ * To implement interface Countable this returns the number of filters
+ * appended.
+ *
+ * @return integer
+ */
+ public function count()
+ {
+ return count($this->getFilters());
+ }
+
+ /**
+ * IteratorAggregate iterator getter
+ *
+ * Returns an iterator to iterate over the appended filters.
+ *
+ * @return \Iterator the filter collection
+ */
+ public function getIterator()
+ {
+ return new \ArrayIterator($this->getFilters());
+ }
+}
diff --git a/interface/lib/classes/IDS/Filter.php b/interface/lib/classes/IDS/Filter.php
new file mode 100644
index 0000000..573988f
--- /dev/null
+++ b/interface/lib/classes/IDS/Filter.php
@@ -0,0 +1,175 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS Filter object
+ *
+ * Each object of this class serves as a container for a specific filter. The
+ * object provides methods to get information about this particular filter and
+ * also to match an arbitrary string against it.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class Filter
+{
+ /**
+ * Filter rule
+ *
+ * @var string
+ */
+ protected $rule;
+
+ /**
+ * List of tags of the filter
+ *
+ * @var string[]|array
+ */
+ protected $tags = array();
+
+ /**
+ * Filter impact level
+ *
+ * @var integer
+ */
+ protected $impact = 0;
+
+ /**
+ * Filter description
+ *
+ * @var string
+ */
+ protected $description = '';
+
+ /**
+ * Constructor
+ *
+ * @param integer $id filter id
+ * @param string $rule filter rule
+ * @param string $description filter description
+ * @param string[]|array $tags list of tags
+ * @param integer $impact filter impact level
+ *
+ * @return \IDS\Filter
+ */
+ public function __construct($id, $rule, $description, array $tags, $impact)
+ {
+ $this->id = $id;
+ $this->rule = $rule;
+ $this->tags = $tags;
+ $this->impact = $impact;
+ $this->description = $description;
+ }
+
+ /**
+ * Matches a string against current filter
+ *
+ * Matches given string against the filter rule the specific object of this
+ * class represents
+ *
+ * @param string $input the string input to match
+ *
+ * @throws \InvalidArgumentException if argument is no string
+ * @return boolean
+ */
+ public function match($input)
+ {
+ if (!is_string($input)) {
+ throw new \InvalidArgumentException(
+ 'Invalid argument. Expected a string, received ' . gettype($input)
+ );
+ }
+
+ return (bool) preg_match('/' . $this->getRule() . '/ms', strtolower($input));
+ }
+
+ /**
+ * Returns filter description
+ *
+ * @return string
+ */
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ /**
+ * Return list of affected tags
+ *
+ * Each filter rule is concerned with a certain kind of attack vectors.
+ * This method returns those affected kinds.
+ *
+ * @return string[]|array
+ */
+ public function getTags()
+ {
+ return $this->tags;
+ }
+
+ /**
+ * Returns filter rule
+ *
+ * @return string
+ */
+ public function getRule()
+ {
+ return $this->rule;
+ }
+
+ /**
+ * Get filter impact level
+ *
+ * @return integer
+ */
+ public function getImpact()
+ {
+ return $this->impact;
+ }
+
+ /**
+ * Get filter ID
+ *
+ * @return integer
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+}
diff --git a/interface/lib/classes/IDS/Filter/Storage.php b/interface/lib/classes/IDS/Filter/Storage.php
new file mode 100644
index 0000000..f17549b
--- /dev/null
+++ b/interface/lib/classes/IDS/Filter/Storage.php
@@ -0,0 +1,401 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS\Filter;
+
+use IDS\Init;
+use IDS\Caching\CacheFactory;
+
+/**
+ * Filter Storage
+ *
+ * This class provides various default functions for gathering filter patterns
+ * to be used later on by the detection mechanism. You might extend this class
+ * to your requirements.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+class Storage
+{
+ /**
+ * Filter source file
+ *
+ * @var string
+ */
+ protected $source = null;
+
+ /**
+ * Holds caching settings
+ *
+ * @var array
+ */
+ protected $cacheSettings = null;
+
+ /**
+ * Cache container
+ *
+ * @var object IDS_Caching wrapper
+ */
+ protected $cache = null;
+
+ /**
+ * Filter container
+ *
+ * @var array
+ */
+ protected $filterSet = array();
+
+ /**
+ * Constructor
+ *
+ * Loads filters based on provided IDS_Init settings.
+ *
+ * @param object $init IDS_Init instance
+ *
+ * @throws \InvalidArgumentException if unsupported filter type is given
+ * @return void
+ */
+ final public function __construct(Init $init)
+ {
+ if ($init->config) {
+
+ $caching = isset($init->config['Caching']['caching']) ? $init->config['Caching']['caching'] : 'none';
+
+ $type = $init->config['General']['filter_type'];
+ $this->source = $init->getBasePath(). $init->config['General']['filter_path'];
+
+ if ($caching && $caching !== 'none') {
+ $this->cacheSettings = $init->config['Caching'];
+ $this->cache = CacheFactory::factory($init, 'storage');
+ }
+
+ switch ($type) {
+ case 'xml':
+ return $this->getFilterFromXML();
+ case 'json':
+ return $this->getFilterFromJson();
+ default:
+ throw new \InvalidArgumentException('Unsupported filter type.');
+ }
+ }
+ }
+
+ /**
+ * Sets the filter array
+ *
+ * @param array $filterSet array containing multiple IDS_Filter instances
+ *
+ * @return object $this
+ */
+ final public function setFilterSet($filterSet)
+ {
+ foreach ($filterSet as $filter) {
+ $this->addFilter($filter);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Returns registered filters
+ *
+ * @return array
+ */
+ final public function getFilterSet()
+ {
+ return $this->filterSet;
+ }
+
+ /**
+ * Adds a filter
+ *
+ * @param object $filter IDS_Filter instance
+ *
+ * @return object $this
+ */
+ final public function addFilter(\IDS\Filter $filter)
+ {
+ $this->filterSet[] = $filter;
+
+ return $this;
+ }
+
+ /**
+ * Checks if any filters are cached
+ *
+ * @return mixed $filters cached filters or false
+ */
+ private function isCached()
+ {
+ $filters = false;
+
+ if ($this->cacheSettings) {
+ if ($this->cache) {
+ $filters = $this->cache->getCache();
+ }
+ }
+
+ return $filters;
+ }
+
+ /**
+ * Loads filters from XML using SimpleXML
+ *
+ * This function parses the provided source file and stores the result.
+ * If caching mode is enabled the result will be cached to increase
+ * the performance.
+ *
+ * @throws \InvalidArgumentException if source file doesn't exist
+ * @throws \RuntimeException if problems with fetching the XML data occur
+ * @return object $this
+ */
+ public function getFilterFromXML()
+ {
+ if (extension_loaded('SimpleXML')) {
+
+ /*
+ * See if filters are already available in the cache
+ */
+ $filters = $this->isCached();
+
+ /*
+ * If they aren't, parse the source file
+ */
+ if (!$filters) {
+
+ if (!file_exists($this->source)) {
+ throw new \InvalidArgumentException(
+ sprintf('Invalid config: %s doesn\'t exist.', $this->source)
+ );
+ }
+
+ if (LIBXML_VERSION >= 20621) {
+ $filters = simplexml_load_file($this->source, null, LIBXML_COMPACT);
+ } else {
+ $filters = simplexml_load_file($this->source);
+ }
+ }
+
+ /*
+ * In case we still don't have any filters loaded and exception
+ * will be thrown
+ */
+ if (empty($filters)) {
+ throw new \RuntimeException(
+ 'XML data could not be loaded.' .
+ ' Make sure you specified the correct path.'
+ );
+ }
+
+ /*
+ * Now the storage will be filled with IDS_Filter objects
+ */
+ $nocache = $filters instanceof \SimpleXMLElement;
+
+ if ($nocache)
+ {
+ // build filters and cache them for re-use on next run
+ $data = array();
+ $filters = $filters->filter;
+
+ foreach ($filters as $filter) {
+ $id = (string) $filter->id;
+ $rule = (string) $filter->rule;
+ $impact = (string) $filter->impact;
+ $tags = array_values((array) $filter->tags);
+ $description = (string) $filter->description;
+
+ $this->addFilter(
+ new \IDS\Filter(
+ $id,
+ $rule,
+ $description,
+ (array) $tags[0],
+ (int) $impact
+ )
+ );
+
+ $data[] = array(
+ 'id' => $id,
+ 'rule' => $rule,
+ 'impact' => $impact,
+ 'tags' => $tags,
+ 'description' => $description
+ );
+ }
+
+ /*
+ * If caching is enabled, the fetched data will be cached
+ */
+ if ($this->cacheSettings) {
+ $this->cache->setCache($data);
+ }
+
+ } else {
+
+ // build filters from cached content
+ $this->addFiltersFromArray($filters);
+ }
+
+ return $this;
+ }
+
+ throw new \RuntimeException('SimpleXML is not loaded.');
+ }
+
+ /**
+ * Loads filters from Json file using ext/Json
+ *
+ * This function parses the provided source file and stores the result.
+ * If caching mode is enabled the result will be cached to increase
+ * the performance.
+ *
+ * @throws \RuntimeException if problems with fetching the JSON data occur
+ * @return object $this
+ */
+ public function getFilterFromJson()
+ {
+
+ if (extension_loaded('Json')) {
+
+ /*
+ * See if filters are already available in the cache
+ */
+ $filters = $this->isCached();
+
+ /*
+ * If they aren't, parse the source file
+ */
+ if (!$filters) {
+ if (!file_exists($this->source)) {
+ throw new \InvalidArgumentException(
+ sprintf('Invalid config: %s doesn\'t exist.', $this->source)
+ );
+ }
+ $filters = json_decode(file_get_contents($this->source));
+ }
+
+ if (!$filters) {
+ throw new \RuntimeException('JSON data could not be loaded. Make sure you specified the correct path.');
+ }
+
+ /*
+ * Now the storage will be filled with IDS_Filter objects
+ */
+ $nocache = !is_array($filters);
+
+ if ($nocache) {
+
+ // build filters and cache them for re-use on next run
+ $data = array();
+ $filters = $filters->filters->filter;
+
+ foreach ($filters as $filter) {
+
+ $id = (string) $filter->id;
+ $rule = (string) $filter->rule;
+ $impact = (string) $filter->impact;
+ $tags = array_values((array) $filter->tags);
+ $description = (string) $filter->description;
+
+ $this->addFilter(
+ new \IDS\Filter(
+ $id,
+ $rule,
+ $description,
+ (array) $tags[0],
+ (int) $impact
+ )
+ );
+
+ $data[] = array(
+ 'id' => $id,
+ 'rule' => $rule,
+ 'impact' => $impact,
+ 'tags' => $tags,
+ 'description' => $description
+ );
+ }
+
+ /*
+ * If caching is enabled, the fetched data will be cached
+ */
+ if ($this->cacheSettings) {
+ $this->cache->setCache($data);
+ }
+
+ } else {
+
+ // build filters from cached content
+ $this->addFiltersFromArray($filters);
+ }
+
+ return $this;
+ }
+
+ throw new \RuntimeException('json extension is not loaded.');
+ }
+
+ /**
+ * This functions adds an array of filters to the IDS_Storage object.
+ * Each entry within the array is expected to be an simple array containing all parts of the filter.
+ *
+ * @param array $filters
+ */
+ private function addFiltersFromArray(array $filters)
+ {
+ foreach ($filters as $filter) {
+
+ $id = $filter['id'];
+ $rule = $filter['rule'];
+ $impact = $filter['impact'];
+ $tags = $filter['tags'];
+ $description = $filter['description'];
+
+ $this->addFilter(
+ new \IDS\Filter(
+ $id,
+ $rule,
+ $description,
+ (array) $tags[0],
+ (int) $impact
+ )
+ );
+ }
+ }
+}
diff --git a/interface/lib/classes/IDS/Init.php b/interface/lib/classes/IDS/Init.php
new file mode 100644
index 0000000..1b6269a
--- /dev/null
+++ b/interface/lib/classes/IDS/Init.php
@@ -0,0 +1,174 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * Framework initiation
+ *
+ * This class is used for the purpose to initiate the framework and inhabits
+ * functionality to parse the needed configuration file.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Groupup
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ * @since Version 0.4
+ */
+class Init
+{
+ /**
+ * Holds config settings
+ *
+ * @var array
+ */
+ public $config = array();
+
+ /**
+ * Instance of this class depending on the supplied config file
+ *
+ * @var Init[]|array
+ * @static
+ */
+ private static $instances = array();
+
+ /**
+ * Constructor
+ *
+ * Includes needed classes and parses the configuration file
+ *
+ * @param array $config
+ *
+ * @return \IDS\Init $this
+ */
+ public function __construct(array $config = array())
+ {
+ $this->config = $config;
+ }
+
+ /**
+ * Returns an instance of this class. Also a PHP version check
+ * is being performed to avoid compatibility problems with PHP < 5.1.6
+ *
+ * @param string|null $configPath the path to the config file
+ *
+ * @throws \InvalidArgumentException
+ * @return self
+ */
+ public static function init($configPath = null)
+ {
+ if (!$configPath) {
+ return new self();
+ }
+ if (!isset(self::$instances[$configPath])) {
+ if (!file_exists($configPath) || !is_readable($configPath)) {
+ throw new \InvalidArgumentException("Invalid config path '$configPath'");
+ }
+ self::$instances[$configPath] = new static(parse_ini_file($configPath, true));
+ }
+
+ return self::$instances[$configPath];
+ }
+
+ /**
+ * This method checks if a base path is given and usage is set to true.
+ * If all that tests succeed the base path will be returned as a string -
+ * else null will be returned.
+ *
+ * @return string|null the base path or null
+ */
+ public function getBasePath()
+ {
+ return (!empty($this->config['General']['base_path'])
+ && !empty($this->config['General']['use_base_path']))
+ ? $this->config['General']['base_path'] : null;
+ }
+
+ /**
+ * Merges new settings into the exsiting ones or overwrites them
+ *
+ * @param array $config the config array
+ * @param boolean $overwrite config overwrite flag
+ *
+ * @return void
+ */
+ public function setConfig(array $config, $overwrite = false)
+ {
+ if ($overwrite) {
+ $this->config = $this->mergeConfig($this->config, $config);
+ } else {
+ $this->config = $this->mergeConfig($config, $this->config);
+ }
+ }
+
+ /**
+ * Merge config hashes recursivly
+ *
+ * The algorithm merges configuration arrays recursively. If an element is
+ * an array in both, the values will be appended. If it is a scalar in both,
+ * the value will be replaced.
+ *
+ * @param array $current The legacy hash
+ * @param array $successor The hash which values count more when in doubt
+ * @return array Merged hash
+ */
+ protected function mergeConfig($current, $successor)
+ {
+ if (is_array($current) and is_array($successor)) {
+ foreach ($successor as $key => $value) {
+ if (isset($current[$key])
+ and is_array($value)
+ and is_array($current[$key])) {
+
+ $current[$key] = $this->mergeConfig($current[$key], $value);
+ } else {
+ $current[$key] = $successor[$key];
+ }
+ }
+ }
+
+ return $current;
+ }
+
+ /**
+ * Returns the config array
+ *
+ * @return array the config array
+ */
+ public function getConfig()
+ {
+ return $this->config;
+ }
+}
diff --git a/interface/lib/classes/IDS/Monitor.php b/interface/lib/classes/IDS/Monitor.php
new file mode 100644
index 0000000..90c8958
--- /dev/null
+++ b/interface/lib/classes/IDS/Monitor.php
@@ -0,0 +1,566 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+use IDS\Filter\Storage;
+
+/**
+ * Monitoring engine
+ *
+ * This class represents the core of the frameworks attack detection mechanism
+ * and provides functions to scan incoming data for malicious appearing script
+ * fragments.
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+class Monitor
+{
+ /**
+ * Tags to define what to search for
+ *
+ * Accepted values are xss, csrf, sqli, dt, id, lfi, rfe, spam, dos
+ *
+ * @var array
+ */
+ private $tags = null;
+
+ /**
+ * Container for filter rules
+ *
+ * Holds an instance of Storage
+ *
+ * @var Storage
+ */
+ private $storage = null;
+
+ /**
+ * Scan keys switch
+ *
+ * Enabling this property will cause the monitor to scan both the key and
+ * the value of variables
+ *
+ * @var boolean
+ */
+ public $scanKeys = false;
+
+ /**
+ * Exception container
+ *
+ * Using this array it is possible to define variables that must not be
+ * scanned. Per default, utmz google analytics parameters are permitted.
+ *
+ * @var array
+ */
+ private $exceptions = array();
+
+ /**
+ * Html container
+ *
+ * Using this array it is possible to define variables that legally
+ * contain html and have to be prepared before hitting the rules to
+ * avoid too many false alerts
+ *
+ * @var array
+ */
+ private $html = array();
+
+ /**
+ * JSON container
+ *
+ * Using this array it is possible to define variables that contain
+ * JSON data - and should be treated as such
+ *
+ * @var array
+ */
+ private $json = array();
+
+ /**
+ * Holds HTMLPurifier object
+ *
+ * @var \HTMLPurifier
+ */
+ private $htmlPurifier = null;
+
+ /**
+ * HTMLPurifier cache directory
+ *
+ * @var string
+ */
+ private $HTMLPurifierCache = '';
+
+ /**
+ * This property holds the tmp JSON string from the _jsonDecodeValues() callback
+ *
+ * @var string
+ */
+ private $tmpJsonString = '';
+
+ /**
+ * Constructor
+ *
+ * @throws \InvalidArgumentException When PHP version is less than what the library supports
+ * @throws \Exception
+ * @param Init $init instance of IDS_Init
+ * @param array|null $tags list of tags to which filters should be applied
+ * @return Monitor
+ */
+ public function __construct(Init $init, array $tags = null)
+ {
+ $this->storage = new Storage($init);
+ $this->tags = $tags;
+ $this->scanKeys = $init->config['General']['scan_keys'];
+ $this->exceptions = isset($init->config['General']['exceptions']) ? $init->config['General']['exceptions'] : array();
+ $this->html = isset($init->config['General']['html']) ? $init->config['General']['html'] : array();
+ $this->json = isset($init->config['General']['json']) ? $init->config['General']['json'] : array();
+
+ if (isset($init->config['General']['HTML_Purifier_Cache'])) {
+ $this->HTMLPurifierCache = $init->getBasePath() . $init->config['General']['HTML_Purifier_Cache'];
+ }
+
+ $tmpPath = $init->getBasePath() . $init->config['General']['tmp_path'];
+
+ if (!is_writeable($tmpPath)) {
+ throw new \InvalidArgumentException("Please make sure the folder '$tmpPath' is writable");
+ }
+ }
+
+ /**
+ * Starts the scan mechanism
+ *
+ * @param array $request
+ * @return Report
+ */
+ public function run(array $request)
+ {
+ $report = new Report;
+ foreach ($request as $key => $value) {
+ $report = $this->iterate($key, $value, $report);
+ }
+ return $report;
+ }
+
+ /**
+ * Iterates through given data and delegates it to IDS_Monitor::_detect() in
+ * order to check for malicious appearing fragments
+ *
+ * @param string $key the former array key
+ * @param array|string $value the former array value
+ * @param Report $report
+ * @return Report
+ */
+ private function iterate($key, $value, Report $report)
+ {
+ if (is_array($value)) {
+ foreach ($value as $subKey => $subValue) {
+ $this->iterate("$key.$subKey", $subValue, $report);
+ }
+ } elseif (is_string($value)) {
+ if ($filter = $this->detect($key, $value)) {
+ $report->addEvent(new Event($key, $value, $filter));
+ }
+ }
+ return $report;
+ }
+
+ /**
+ * Checks whether given value matches any of the supplied filter patterns
+ *
+ * @param mixed $key the key of the value to scan
+ * @param mixed $value the value to scan
+ *
+ * @return Filter[] array of filter(s) that matched the value
+ */
+ private function detect($key, $value)
+ {
+ // define the pre-filter
+ $preFilter = '([^\w\s/@!?\.]+|(?:\./)|(?:@@\w+)|(?:\+ADw)|(?:union\s+select))i';
+
+ // to increase performance, only start detection if value isn't alphanumeric
+ if ((!$this->scanKeys || !$key || !preg_match($preFilter, $key)) && (!$value || !preg_match($preFilter, $value))) {
+ return array();
+ }
+
+ // check if this field is part of the exceptions
+ foreach ($this->exceptions as $exception) {
+ $matches = array();
+ if (($exception === $key) || preg_match('((/.*/[^eE]*)$)', $exception, $matches) && isset($matches[1]) && preg_match($matches[1], $key)) {
+ return array();
+ }
+ }
+
+ // check for magic quotes and remove them if necessary
+ if (function_exists('get_magic_quotes_gpc') && !get_magic_quotes_gpc()) {
+ $value = preg_replace('(\\\(["\'/]))im', '$1', $value);
+ }
+
+ // if html monitoring is enabled for this field - then do it!
+ if (is_array($this->html) && in_array($key, $this->html, true)) {
+ list($key, $value) = $this->purifyValues($key, $value);
+ }
+
+ // check if json monitoring is enabled for this field
+ if (is_array($this->json) && in_array($key, $this->json, true)) {
+ list($key, $value) = $this->jsonDecodeValues($key, $value);
+ }
+
+ // use the converter
+ $value = Converter::runAll($value);
+ $value = Converter::runCentrifuge($value, $this);
+
+ // scan keys if activated via config
+ $key = $this->scanKeys ? Converter::runAll($key) : $key;
+ $key = $this->scanKeys ? Converter::runCentrifuge($key, $this) : $key;
+
+ $filterSet = $this->storage->getFilterSet();
+
+ if ($tags = $this->tags) {
+ $filterSet = @array_filter(
+ $filterSet,
+ function (Filter $filter) use ($tags) {
+ return (bool) array_intersect($tags, $filter->getTags());
+ }
+ );
+ }
+
+ $scanKeys = $this->scanKeys;
+ $filterSet = @array_filter(
+ $filterSet,
+ function (Filter $filter) use ($key, $value, $scanKeys) {
+ return $filter->match($value) || $scanKeys && $filter->match($key);
+ }
+ );
+
+ return $filterSet;
+ }
+
+
+ /**
+ * Purifies given key and value variables using HTMLPurifier
+ *
+ * This function is needed whenever there is variables for which HTML
+ * might be allowed like e.g. WYSIWYG post bodies. It will detect malicious
+ * code fragments and leaves harmless parts untouched.
+ *
+ * @param mixed $key
+ * @param mixed $value
+ * @since 0.5
+ * @throws \Exception
+ *
+ * @return array tuple [key,value]
+ */
+ private function purifyValues($key, $value)
+ {
+ /*
+ * Perform a pre-check if string is valid for purification
+ */
+ if ($this->purifierPreCheck($key, $value)) {
+ if (!is_writeable($this->HTMLPurifierCache)) {
+ throw new \Exception($this->HTMLPurifierCache . ' must be writeable');
+ }
+
+ /** @var $config \HTMLPurifier_Config */
+ $config = \HTMLPurifier_Config::createDefault();
+ $config->set('Attr.EnableID', true);
+ $config->set('Cache.SerializerPath', $this->HTMLPurifierCache);
+ $config->set('Output.Newline', "\n");
+ $this->htmlPurifier = new \HTMLPurifier($config);
+
+ $value = preg_replace('([\x0b-\x0c])', ' ', $value);
+ $key = preg_replace('([\x0b-\x0c])', ' ', $key);
+
+ $purifiedValue = $this->htmlPurifier->purify($value);
+ $purifiedKey = $this->htmlPurifier->purify($key);
+
+ $plainValue = strip_tags($value);
+ $plainKey = strip_tags($key);
+
+ $value = $value != $purifiedValue || $plainValue ? $this->diff($value, $purifiedValue, $plainValue) : null;
+ $key = $key != $purifiedKey ? $this->diff($key, $purifiedKey, $plainKey) : null;
+ }
+ return array($key, $value);
+ }
+
+ /**
+ * This method makes sure no dangerous markup can be smuggled in
+ * attributes when HTML mode is switched on.
+ *
+ * If the precheck considers the string too dangerous for
+ * purification false is being returned.
+ *
+ * @param string $key
+ * @param string $value
+ * @since 0.6
+ *
+ * @return boolean
+ */
+ private function purifierPreCheck($key = '', $value = '')
+ {
+ /*
+ * Remove control chars before pre-check
+ */
+ $tmpValue = preg_replace('/\p{C}/', null, $value);
+ $tmpKey = preg_replace('/\p{C}/', null, $key);
+
+ $preCheck = '/<(script|iframe|applet|object)\W/i';
+ return !(preg_match($preCheck, $tmpKey) || preg_match($preCheck, $tmpValue));
+ }
+
+ /**
+ * This method calculates the difference between the original
+ * and the purified markup strings.
+ *
+ * @param string $original the original markup
+ * @param string $purified the purified markup
+ * @param string $plain the string without html
+ * @since 0.5
+ *
+ * @return string the difference between the strings
+ */
+ private function diff($original, $purified, $plain)
+ {
+ /*
+ * deal with over-sensitive alt-attribute addition of the purifier
+ * and other common html formatting problems
+ */
+ $purified = preg_replace('/\s+alt="[^"]*"/m', null, $purified);
+ $purified = preg_replace('/=?\s*"\s*"/m', null, $purified);
+ $original = preg_replace('/\s+alt="[^"]*"/m', null, $original);
+ $original = preg_replace('/=?\s*"\s*"/m', null, $original);
+ $original = preg_replace('/style\s*=\s*([^"])/m', 'style = "$1', $original);
+
+ # deal with oversensitive CSS normalization
+ $original = preg_replace('/(?:([\w\-]+:)+\s*([^;]+;\s*))/m', '$1$2', $original);
+
+ # strip whitespace between tags
+ $original = trim(preg_replace('/>\s*</m', '><', $original));
+ $purified = trim(preg_replace('/>\s*</m', '><', $purified));
+
+ $original = preg_replace('/(=\s*(["\'`])[^>"\'`]*>[^>"\'`]*["\'`])/m', 'alt$1', $original);
+
+ // no purified html is left
+ if (!$purified) {
+ return $original;
+ }
+
+ // calculate the diff length
+ $length = mb_strlen($original) - mb_strlen($purified);
+
+ /*
+ * Calculate the difference between the original html input
+ * and the purified string.
+ */
+ $array1 = preg_split('/(?<!^)(?!$)/u', html_entity_decode(urldecode($original)));
+ $array2 = preg_split('/(?<!^)(?!$)/u', $purified);
+
+ // create an array containing the single character differences
+ $differences = array_diff_assoc($array1, $array2);
+
+ // return the diff - ready to hit the converter and the rules
+ $differences = trim(implode('', $differences));
+ $diff = $length <= 10 ? $differences : mb_substr($differences, 0, strlen($original));
+
+ // clean up spaces between tag delimiters
+ $diff = preg_replace('/>\s*</m', '><', $diff);
+
+ // correct over-sensitively stripped bad html elements
+ $diff = preg_replace('/[^<](iframe|script|embed|object|applet|base|img|style)/m', '<$1', $diff );
+
+ return mb_strlen($diff) >= 4 ? $diff . $plain : null;
+ }
+
+ /**
+ * This method prepares incoming JSON data for the PHPIDS detection
+ * process. It utilizes _jsonConcatContents() as callback and returns a
+ * string version of the JSON data structures.
+ *
+ * @param string $key
+ * @param string $value
+ * @since 0.5.3
+ *
+ * @return array tuple [key,value]
+ */
+ private function jsonDecodeValues($key, $value)
+ {
+ $decodedKey = json_decode($key);
+ $decodedValue = json_decode($value);
+
+ if ($decodedValue && is_array($decodedValue) || is_object($decodedValue)) {
+ array_walk_recursive($decodedValue, array($this, 'jsonConcatContents'));
+ $value = $this->tmpJsonString;
+ } else {
+ $this->tmpJsonString .= " " . $decodedValue . "\n";
+ }
+
+ if ($decodedKey && is_array($decodedKey) || is_object($decodedKey)) {
+ array_walk_recursive($decodedKey, array($this, 'jsonConcatContents'));
+ $key = $this->tmpJsonString;
+ } else {
+ $this->tmpJsonString .= " " . $decodedKey . "\n";
+ }
+
+ return array($key, $value);
+ }
+
+ /**
+ * This is the callback used in _jsonDecodeValues(). The method
+ * concatenates key and value and stores them in $this->tmpJsonString.
+ *
+ * @param mixed $key
+ * @param mixed $value
+ * @since 0.5.3
+ *
+ * @return void
+ */
+ private function jsonConcatContents($key, $value)
+ {
+ if (is_string($key) && is_string($value)) {
+ $this->tmpJsonString .= $key . " " . $value . "\n";
+ } else {
+ $this->jsonDecodeValues(json_encode($key), json_encode($value));
+ }
+ }
+
+ /**
+ * Sets exception array
+ *
+ * @param string[]|string $exceptions the thrown exceptions
+ *
+ * @return void
+ */
+ public function setExceptions($exceptions)
+ {
+ $this->exceptions = (array) $exceptions;
+ }
+
+ /**
+ * Returns exception array
+ *
+ * @return array
+ */
+ public function getExceptions()
+ {
+ return $this->exceptions;
+ }
+
+ /**
+ * Sets html array
+ *
+ * @param string[]|string $html the fields containing html
+ * @since 0.5
+ *
+ * @return void
+ */
+ public function setHtml($html)
+ {
+ $this->html = (array) $html;
+ }
+
+ /**
+ * Adds a value to the html array
+ *
+ * @since 0.5
+ *
+ * @param mixed $value
+ * @return void
+ */
+ public function addHtml($value)
+ {
+ $this->html[] = $value;
+ }
+
+ /**
+ * Returns html array
+ *
+ * @since 0.5
+ *
+ * @return array the fields that contain allowed html
+ */
+ public function getHtml()
+ {
+ return $this->html;
+ }
+
+ /**
+ * Sets json array
+ *
+ * @param string[]|string $json the fields containing json
+ * @since 0.5.3
+ *
+ * @return void
+ */
+ public function setJson($json)
+ {
+ $this->json = (array) $json;
+ }
+
+ /**
+ * Adds a value to the json array
+ *
+ * @param string $value the value containing JSON data
+ * @since 0.5.3
+ *
+ * @return void
+ */
+ public function addJson($value)
+ {
+ $this->json[] = $value;
+ }
+
+ /**
+ * Returns json array
+ *
+ * @since 0.5.3
+ *
+ * @return array the fields that contain json
+ */
+ public function getJson()
+ {
+ return $this->json;
+ }
+
+ /**
+ * Returns storage container
+ *
+ * @return array
+ */
+ public function getStorage()
+ {
+ return $this->storage;
+ }
+}
diff --git a/interface/lib/classes/IDS/Report.php b/interface/lib/classes/IDS/Report.php
new file mode 100644
index 0000000..daebfc0
--- /dev/null
+++ b/interface/lib/classes/IDS/Report.php
@@ -0,0 +1,339 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS report object
+ *
+ * The report objects collects a number of events and thereby presents the
+ * detected results. It provides a convenient API to work with the results.
+ *
+ * Note that this class implements Countable, IteratorAggregate and
+ * a __toString() method
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+class Report implements \Countable, \IteratorAggregate
+{
+ /**
+ * Event container
+ *
+ * @var Event[]|array
+ */
+ protected $events = array();
+
+ /**
+ * List of affected tags
+ *
+ * This list of tags is collected from the collected event objects on
+ * demand when IDS_Report->getTags() is called
+ *
+ * @var string[]|array
+ */
+ protected $tags = array();
+
+ /**
+ * Impact level
+ *
+ * The impact level is calculated on demand by adding the results of the
+ * event objects on IDS\Report->getImpact()
+ *
+ * @var integer
+ */
+ protected $impact = 0;
+
+ /**
+ * Centrifuge data
+ *
+ * This variable - initiated as an empty array - carries all information
+ * about the centrifuge data if available
+ *
+ * @var array
+ */
+ protected $centrifuge = array();
+
+ /**
+ * Constructor
+ *
+ * @param array $events the events the report should include
+ *
+ * @return Report
+ */
+ public function __construct(array $events = null)
+ {
+ foreach ((array) $events as $event) {
+ $this->addEvent($event);
+ }
+ }
+
+ /**
+ * Adds an IDS_Event object to the report
+ *
+ * @param Event $event IDS_Event
+ *
+ * @return self $this
+ */
+ public function addEvent(Event $event)
+ {
+ $this->clear();
+ $this->events[$event->getName()] = $event;
+
+ return $this;
+ }
+
+ /**
+ * Get event by name
+ *
+ * In most cases an event is identified by the key of the variable that
+ * contained maliciously appearing content
+ *
+ * @param string|integer $name the event name
+ *
+ * @throws \InvalidArgumentException if argument is invalid
+ * @return Event|null IDS_Event object or false if the event does not exist
+ */
+ public function getEvent($name)
+ {
+ if (!is_scalar($name)) {
+ throw new \InvalidArgumentException('Invalid argument type given');
+ }
+
+ return $this->hasEvent($name) ? $this->events[$name] : null;
+ }
+
+ /**
+ * Returns list of events
+ *
+ * @return string[]|array
+ */
+
+ public function getEvents()
+ {
+ return $this->events;
+ }
+
+ /**
+ * Returns list of affected tags
+ *
+ * @return string[]|array
+ */
+ public function getTags()
+ {
+ if (!$this->tags) {
+ $this->tags = array();
+
+ foreach ($this->events as $event) {
+ $this->tags = array_merge($this->tags, $event->getTags());
+ }
+
+ $this->tags = array_values(array_unique($this->tags));
+ }
+
+ return $this->tags;
+ }
+
+ /**
+ * Returns total impact
+ *
+ * Each stored IDS_Event object and its IDS_Filter sub-object are called
+ * to calculate the overall impact level of this request
+ *
+ * @return integer
+ */
+ public function getImpact()
+ {
+ if (!$this->impact) {
+ $this->impact = 0;
+ foreach ($this->events as $event) {
+ $this->impact += $event->getImpact();
+ }
+ }
+
+ return $this->impact;
+ }
+
+ /**
+ * Checks if a specific event with given name exists
+ *
+ * @param string|integer $name the event name
+ *
+ * @throws \InvalidArgumentException if argument is illegal
+ * @return boolean
+ */
+ public function hasEvent($name)
+ {
+ if (!is_scalar($name)) {
+ throw new \InvalidArgumentException('Invalid argument given');
+ }
+
+ return isset($this->events[$name]);
+ }
+
+ /**
+ * Returns total amount of events
+ *
+ * @return integer
+ */
+ public function count()
+ {
+ return count($this->events);
+ }
+
+ /**
+ * Return iterator object
+ *
+ * In order to provide the possibility to directly iterate over the
+ * IDS_Event object the IteratorAggregate is implemented. One can easily
+ * use foreach() to iterate through all stored IDS_Event objects.
+ *
+ * @return \Iterator the event collection
+ */
+ public function getIterator()
+ {
+ return new \ArrayIterator($this->events);
+ }
+
+ /**
+ * Checks if any events are registered
+ *
+ * @return boolean
+ */
+ public function isEmpty()
+ {
+ return empty($this->events);
+ }
+
+ /**
+ * Clears calculated/collected values
+ *
+ * @return void
+ */
+ protected function clear()
+ {
+ $this->impact = 0;
+ $this->tags = array();
+ }
+
+ /**
+ * This method returns the centrifuge property or null if not
+ * filled with data
+ *
+ * @return array
+ */
+ public function getCentrifuge()
+ {
+ return $this->centrifuge;
+ }
+
+ /**
+ * This method sets the centrifuge property
+ *
+ * @param array $centrifuge the centrifuge data
+ *
+ * @throws \InvalidArgumentException if argument is illegal
+ * @return void
+ */
+ public function setCentrifuge(array $centrifuge = array())
+ {
+ if (!$centrifuge) {
+ throw new \InvalidArgumentException('Empty centrifuge given');
+ }
+ $this->centrifuge = $centrifuge;
+ }
+
+ /**
+ * Directly outputs all available information
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ $output = '';
+ if (!$this->isEmpty()) {
+ $output .= vsprintf(
+ "Total impact: %d<br/>\nAffected tags: %s<br/>\n",
+ array(
+ $this->getImpact(),
+ implode(', ', $this->getTags())
+ )
+ );
+
+ foreach ($this->events as $event) {
+ $output .= vsprintf(
+ "<br/>\nVariable: %s | Value: %s<br/>\nImpact: %d | Tags: %s<br/>\n",
+ array(
+ htmlspecialchars($event->getName()),
+ htmlspecialchars($event->getValue()),
+ $event->getImpact(),
+ implode(', ', $event->getTags())
+ )
+ );
+
+ foreach ($event as $filter) {
+ $output .= vsprintf(
+ "Description: %s | Tags: %s | ID %s<br/>\n",
+ array(
+ $filter->getDescription(),
+ implode(', ', $filter->getTags()),
+ $filter->getId()
+ )
+ );
+ }
+ }
+
+ $output .= '<br/>';
+
+ if ($centrifuge = $this->getCentrifuge()) {
+ $output .= vsprintf(
+ "Centrifuge detection data<br/> Threshold: %s<br/> Ratio: %s",
+ array(
+ isset($centrifuge['threshold']) && $centrifuge['threshold'] ? $centrifuge['threshold'] : '---',
+ isset($centrifuge['ratio']) && $centrifuge['ratio'] ? $centrifuge['ratio'] : '---'
+ )
+ );
+ if (isset($centrifuge['converted'])) {
+ $output .= '<br/> Converted: ' . $centrifuge['converted'];
+ }
+ $output .= "<br/><br/>\n";
+ }
+ }
+
+ return $output;
+ }
+}
diff --git a/interface/lib/classes/IDS/Version.php b/interface/lib/classes/IDS/Version.php
new file mode 100644
index 0000000..b32438f
--- /dev/null
+++ b/interface/lib/classes/IDS/Version.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * PHPIDS
+ *
+ * Requirements: PHP5, SimpleXML
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * PHP version 5.1.6+
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+namespace IDS;
+
+/**
+ * PHPIDS version class
+ *
+ * @category Security
+ * @package PHPIDS
+ * @author Christian Matthies <ch0012@gmail.com>
+ * @author Mario Heiderich <mario.heiderich@gmail.com>
+ * @author Lars Strojny <lars@strojny.net>
+ * @copyright 2007-2009 The PHPIDS Group
+ * @license http://www.gnu.org/licenses/lgpl.html LGPL
+ * @link http://php-ids.org/
+ */
+abstract class Version
+{
+ const VERSION = 'master';
+}
diff --git a/interface/lib/classes/IDS/default_filter.json b/interface/lib/classes/IDS/default_filter.json
new file mode 100644
index 0000000..c158ded
--- /dev/null
+++ b/interface/lib/classes/IDS/default_filter.json
@@ -0,0 +1,933 @@
+{
+ "filters":{
+ "filter":[
+ {
+ "id":"1",
+ "rule":"(?:\"[^\"]*[^-]?>)|(?:[^\\w\\s]\\s*\\\/>)|(?:>\")",
+ "description":"Finds html breaking injections including whitespace attacks",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"2",
+ "rule":"(?:\"+.*[<=]\\s*\"[^\"]+\")|(?:\"\\s*\\w+\\s*=)|(?:>\\w=\\\/)|(?:#.+\\)[\"\\s]*>)|(?:\"\\s*(?:src|style|on\\w+)\\s*=\\s*\")|(?:[^\"]?\"[,;\\s]+\\w*[\\[\\(])",
+ "description":"Finds attribute breaking injections including whitespace attacks",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"3",
+ "rule":"(?:^>[\\w\\s]*<\\\/?\\w{2,}>)",
+ "description":"Finds unquoted attribute breaking injections",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"2"
+ },
+ {
+ "id":"4",
+ "rule":"(?:[+\\\/]\\s*name[\\W\\d]*[)+])|(?:;\\W*url\\s*=)|(?:[^\\w\\s\\\/?:>]\\s*(?:location|referrer|name)\\s*[^\\\/\\w\\s-])",
+ "description":"Detects url-, name-, JSON, and referrer-contained payload attacks",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"5",
+ "rule":"(?:\\W\\s*hash\\s*[^\\w\\s-])|(?:\\w+=\\W*[^,]*,[^\\s(]\\s*\\()|(?:\\?\"[^\\s\"]\":)|(?:(?<!\\\/)__[a-z]+__)|(?:(?:^|[\\s)\\]\\}])(?:s|g)etter\\s*=)",
+ "description":"Detects hash-contained xss payload attacks, setter usage and property overloading",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"6",
+ "rule":"(?:with\\s*\\(\\s*.+\\s*\\)\\s*\\w+\\s*\\()|(?:(?:do|while|for)\\s*\\([^)]*\\)\\s*\\{)|(?:\\\/[\\w\\s]*\\[\\W*\\w)",
+ "description":"Detects self contained xss via with(), common loops and regex to string conversion",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"7",
+ "rule":"(?:[=(].+\\?.+:)|(?:with\\([^)]*\\)\\))|(?:\\.\\s*source\\W)",
+ "description":"Detects JavaScript with(), ternary operators and XML predicate attacks",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"8",
+ "rule":"(?:\\\/\\w*\\s*\\)\\s*\\()|(?:\\([\\w\\s]+\\([\\w\\s]+\\)[\\w\\s]+\\))|(?:(?<!(?:mozilla\\\/\\d\\.\\d\\s))\\([^)[]+\\[[^\\]]+\\][^)]*\\))|(?:[^\\s!][{([][^({[]+[{([][^}\\])]+[}\\])][\\s+\",\\d]*[}\\])])|(?:\"\\)?\\]\\W*\\[)|(?:=\\s*[^\\s:;]+\\s*[{([][^}\\])]+[}\\])];)",
+ "description":"Detects self-executing JavaScript functions",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"9",
+ "rule":"(?:\\\\u00[a-f0-9]{2})|(?:\\\\x0*[a-f0-9]{2})|(?:\\\\\\d{2,3})",
+ "description":"Detects the IE octal, hex and unicode entities",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"2"
+ },
+ {
+ "id":"10",
+ "rule":"(?:(?:\\\/|\\\\)?\\.+(\\\/|\\\\)(?:\\.+)?)|(?:\\w+\\.exe\\??\\s)|(?:;\\s*\\w+\\s*\\\/[\\w*-]+\\\/)|(?:\\d\\.\\dx\\|)|(?:%(?:c0\\.|af\\.|5c\\.))|(?:\\\/(?:%2e){2})",
+ "description":"Detects basic directory traversal",
+ "tags":{
+ "tag":[
+ "dt",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"11",
+ "rule":"(?:%c0%ae\\\/)|(?:(?:\\\/|\\\\)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|winnt|program|%[a-z_-]{3,}%)(?:\\\/|\\\\))|(?:(?:\\\/|\\\\)inetpub|localstart\\.asp|boot\\.ini)",
+ "description":"Detects specific directory and path traversal",
+ "tags":{
+ "tag":[
+ "dt",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"12",
+ "rule":"(?:etc\\\/\\W*passwd)",
+ "description":"Detects etc\/passwd inclusion attempts",
+ "tags":{
+ "tag":[
+ "dt",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"13",
+ "rule":"(?:%u(?:ff|00|e\\d)\\w\\w)|(?:(?:%(?:e\\w|c[^3\\W]|))(?:%\\w\\w)(?:%\\w\\w)?)",
+ "description":"Detects halfwidth\/fullwidth encoded unicode HTML breaking attempts",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"3"
+ },
+ {
+ "id":"14",
+ "rule":"(?:#@~\\^\\w+)|(?:\\w+script:|@import[^\\w]|;base64|base64,)|(?:\\w\\s*\\([\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+,[\\w\\s]+\\))",
+ "description":"Detects possible includes, VBSCript\/JScript encodeed and packed functions",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"15",
+ "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:create(?:element|attribute|textnode)|[a-z]+events?|setattribute|getelement\\w+|appendchild|createrange|createcontextualfragment|removenode|parentnode|decodeuricomponent|\\wettimeout|(?:ms)?setimmediate|option|useragent)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\",.+\\-]))",
+ "description":"Detects JavaScript DOM\/miscellaneous properties and methods",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"16",
+ "rule":"([^*\\s\\w,.\\\/?+-]\\s*)?(?<![a-mo-z]\\s)(?<![a-z\\\/_@])(\\s*return\\s*)?(?:alert|inputbox|showmod(?:al|eless)dialog|showhelp|infinity|isnan|isnull|iterator|msgbox|executeglobal|expression|prompt|write(?:ln)?|confirm|dialog|urn|(?:un)?eval|exec|execscript|tostring|status|execute|window|unescape|navigate|jquery|getscript|extend|prototype)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\",.:\\\/+\\-]))",
+ "description":"Detects possible includes and typical script methods",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"17",
+ "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@])(\\s*return\\s*)?(?:hash|name|href|navigateandfind|source|pathname|close|constructor|port|protocol|assign|replace|back|forward|document|ownerdocument|window|top|this|self|parent|frames|_?content|date|cookie|innerhtml|innertext|csstext+?|outerhtml|print|moveby|resizeto|createstylesheet|stylesheets)(?(1)[^\\w%\"]|(?:\\s*[^@\\\/\\s\\w%.+\\-]))",
+ "description":"Detects JavaScript object properties and methods",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"18",
+ "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:join|pop|push|reverse|reduce|concat|map|shift|sp?lice|sort|unshift)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%,.+\\-]))",
+ "description":"Detects JavaScript array properties and methods",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"19",
+ "rule":"([^*:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z\\\/_@\\-\\|])(\\s*return\\s*)?(?:set|atob|btoa|charat|charcodeat|charset|concat|crypto|frames|fromcharcode|indexof|lastindexof|match|navigator|toolbar|menubar|replace|regexp|slice|split|substr|substring|escape|\\w+codeuri\\w*)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%,.+\\-]))",
+ "description":"Detects JavaScript string properties and methods",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"20",
+ "rule":"(?:\\)\\s*\\[)|([^*\":\\s\\w,.\\\/?+-]\\s*)?(?<![a-z]\\s)(?<![a-z_@\\|])(\\s*return\\s*)?(?:globalstorage|sessionstorage|postmessage|callee|constructor|content|domain|prototype|try|catch|top|call|apply|url|function|object|array|string|math|if|for\\s*(?:each)?|elseif|case|switch|regex|boolean|location|(?:ms)?setimmediate|settimeout|setinterval|void|setexpression|namespace|while)(?(1)[^\\w%\"]|(?:\\s*[^@\\s\\w%\".+\\-\\\/]))",
+ "description":"Detects JavaScript language constructs",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"21",
+ "rule":"(?:,\\s*(?:alert|showmodaldialog|eval)\\s*,)|(?::\\s*eval\\s*[^\\s])|([^:\\s\\w,.\\\/?+-]\\s*)?(?<![a-z\\\/_@])(\\s*return\\s*)?(?:(?:document\\s*\\.)?(?:.+\\\/)?(?:alert|eval|msgbox|showmod(?:al|eless)dialog|showhelp|prompt|write(?:ln)?|confirm|dialog|open))\\s*(?:[^.a-z\\s\\-]|(?:\\s*[^\\s\\w,.@\\\/+-]))|(?:java[\\s\\\/]*\\.[\\s\\\/]*lang)|(?:\\w\\s*=\\s*new\\s+\\w+)|(?:&\\s*\\w+\\s*\\)[^,])|(?:\\+[\\W\\d]*new\\s+\\w+[\\W\\d]*\\+)|(?:document\\.\\w)",
+ "description":"Detects very basic XSS probings",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"3"
+ },
+ {
+ "id":"22",
+ "rule":"(?:=\\s*(?:top|this|window|content|self|frames|_content))|(?:\\\/\\s*[gimx]*\\s*[)}])|(?:[^\\s]\\s*=\\s*script)|(?:\\.\\s*constructor)|(?:default\\s+xml\\s+namespace\\s*=)|(?:\\\/\\s*\\+[^+]+\\s*\\+\\s*\\\/)",
+ "description":"Detects advanced XSS probings via Script(), RexExp, constructors and XML namespaces",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"23",
+ "rule":"(?:\\.\\s*\\w+\\W*=)|(?:\\W\\s*(?:location|document)\\s*\\W[^({[;]+[({[;])|(?:\\(\\w+\\?[:\\w]+\\))|(?:\\w{2,}\\s*=\\s*\\d+[^&\\w]\\w+)|(?:\\]\\s*\\(\\s*\\w+)",
+ "description":"Detects JavaScript location\/document property access and window access obfuscation",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"24",
+ "rule":"(?:[\".]script\\s*\\()|(?:\\$\\$?\\s*\\(\\s*[\\w\"])|(?:\\\/[\\w\\s]+\\\/\\.)|(?:=\\s*\\\/\\w+\\\/\\s*\\.)|(?:(?:this|window|top|parent|frames|self|content)\\[\\s*[(,\"]*\\s*[\\w\\$])|(?:,\\s*new\\s+\\w+\\s*[,;)])",
+ "description":"Detects basic obfuscated JavaScript script injections",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"25",
+ "rule":"(?:=\\s*[$\\w]\\s*[\\(\\[])|(?:\\(\\s*(?:this|top|window|self|parent|_?content)\\s*\\))|(?:src\\s*=s*(?:\\w+:|\\\/\\\/))|(?:\\w+\\[(\"\\w+\"|\\w+\\|\\|))|(?:[\\d\\W]\\|\\|[\\d\\W]|\\W=\\w+,)|(?:\\\/\\s*\\+\\s*[a-z\"])|(?:=\\s*\\$[^([]*\\()|(?:=\\s*\\(\\s*\")",
+ "description":"Detects obfuscated JavaScript script injections",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"26",
+ "rule":"(?:[^:\\s\\w]+\\s*[^\\w\\\/](href|protocol|host|hostname|pathname|hash|port|cookie)[^\\w])",
+ "description":"Detects JavaScript cookie stealing and redirection attempts",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"27",
+ "rule":"(?:(?:vbs|vbscript|data):.*[,+])|(?:\\w+\\s*=\\W*(?!https?)\\w+:)|(jar:\\w+:)|(=\\s*\"?\\s*vbs(?:ript)?:)|(language\\s*=\\s?\"?\\s*vbs(?:ript)?)|on\\w+\\s*=\\*\\w+\\-\"?",
+ "description":"Detects data: URL injections, VBS injections and common URI schemes",
+ "tags":{
+ "tag":[
+ "xss",
+ "rfe"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"28",
+ "rule":"(?:firefoxurl:\\w+\\|)|(?:(?:file|res|telnet|nntp|news|mailto|chrome)\\s*:\\s*[%&#xu\\\/]+)|(wyciwyg|firefoxurl\\s*:\\s*\\\/\\s*\\\/)",
+ "description":"Detects IE firefoxurl injections, cache poisoning attempts and local file inclusion\/execution",
+ "tags":{
+ "tag":[
+ "xss",
+ "rfe",
+ "lfi",
+ "csrf"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"29",
+ "rule":"(?:binding\\s?=|moz-binding|behavior\\s?=)|(?:[\\s\\\/]style\\s*=\\s*[-\\\\])",
+ "description":"Detects bindings and behavior injections",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"30",
+ "rule":"(?:=\\s*\\w+\\s*\\+\\s*\")|(?:\\+=\\s*\\(\\s\")|(?:!+\\s*[\\d.,]+\\w?\\d*\\s*\\?)|(?:=\\s*\\[s*\\])|(?:\"\\s*\\+\\s*\")|(?:[^\\s]\\[\\s*\\d+\\s*\\]\\s*[;+])|(?:\"\\s*[&|]+\\s*\")|(?:\\\/\\s*\\?\\s*\")|(?:\\\/\\s*\\)\\s*\\[)|(?:\\d\\?.+:\\d)|(?:]\\s*\\[\\W*\\w)|(?:[^\\s]\\s*=\\s*\\\/)",
+ "description":"Detects common XSS concatenation patterns 1\/2",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"31",
+ "rule":"(?:=\\s*\\d*\\.\\d*\\?\\d*\\.\\d*)|(?:[|&]{2,}\\s*\")|(?:!\\d+\\.\\d*\\?\")|(?:\\\/:[\\w.]+,)|(?:=[\\d\\W\\s]*\\[[^]]+\\])|(?:\\?\\w+:\\w+)",
+ "description":"Detects common XSS concatenation patterns 2\/2",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"32",
+ "rule":"(?:[^\\w\\s=]on(?!g\\>)\\w+[^=_+-]*=[^$]+(?:\\W|\\>)?)",
+ "description":"Detects possible event handlers",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"33",
+ "rule":"(?:\\<\\w*:?\\s(?:[^\\>]*)t(?!rong))|(?:\\<scri)|(<\\w+:\\w+)",
+ "description":"Detects obfuscated script tags and XML wrapped HTML",
+ "tags":{
+ "tag":"xss"
+ },
+ "impact":"4"
+ },
+ {
+ "id":"34",
+ "rule":"(?:\\<\\\/\\w+\\s\\w+)|(?:@(?:cc_on|set)[\\s@,\"=])",
+ "description":"Detects attributes in closing tags and conditional compilation tokens",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"35",
+ "rule":"(?:--[^\\n]*$)|(?:\\<!-|-->)|(?:[^*]\\\/\\*|\\*\\\/[^*])|(?:(?:[\\W\\d]#|--|{)$)|(?:\\\/{3,}.*$)|(?:<!\\[\\W)|(?:\\]!>)",
+ "description":"Detects common comment types",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id"
+ ]
+ },
+ "impact":"3"
+ },
+ {
+ "id":"37",
+ "rule":"(?:\\<base\\s+)|(?:<!(?:element|entity|\\[CDATA))",
+ "description":"Detects base href injections and XML entity injections",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"38",
+ "rule":"(?:\\<[\\\/]?(?:[i]?frame|applet|isindex|marquee|keygen|script|audio|video|input|button|textarea|style|base|body|meta|link|object|embed|param|plaintext|xm\\w+|image|im(?:g|port)))",
+ "description":"Detects possibly malicious html elements including some attributes",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"39",
+ "rule":"(?:\\\\x[01fe][\\db-ce-f])|(?:%[01fe][\\db-ce-f])|(?:&#[01fe][\\db-ce-f])|(?:\\\\[01fe][\\db-ce-f])|(?:&#x[01fe][\\db-ce-f])",
+ "description":"Detects nullbytes and other dangerous characters",
+ "tags":{
+ "tag":[
+ "id",
+ "rfe",
+ "xss"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"40",
+ "rule":"(?:\\)\\s*when\\s*\\d+\\s*then)|(?:\"\\s*(?:#|--|{))|(?:\\\/\\*!\\s?\\d+)|(?:ch(?:a)?r\\s*\\(\\s*\\d)|(?:(?:(n?and|x?or|not)\\s+|\\|\\||\\&\\&)\\s*\\w+\\()",
+ "description":"Detects MySQL comments, conditions and ch(a)r injections",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"41",
+ "rule":"(?:[\\s()]case\\s*\\()|(?:\\)\\s*like\\s*\\()|(?:having\\s*[^\\s]+\\s*[^\\w\\s])|(?:if\\s?\\([\\d\\w]\\s*[=<>~])",
+ "description":"Detects conditional SQL injection attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"42",
+ "rule":"(?:\"\\s*or\\s*\"?\\d)|(?:\\\\x(?:23|27|3d))|(?:^.?\"$)|(?:(?:^[\"\\\\]*(?:[\\d\"]+|[^\"]+\"))+\\s*(?:n?and|x?or|not|\\|\\||\\&\\&)\\s*[\\w\"[+&!@(),.-])|(?:[^\\w\\s]\\w+\\s*[|-]\\s*\"\\s*\\w)|(?:@\\w+\\s+(and|or)\\s*[\"\\d]+)|(?:@[\\w-]+\\s(and|or)\\s*[^\\w\\s])|(?:[^\\w\\s:]\\s*\\d\\W+[^\\w\\s]\\s*\".)|(?:\\Winformation_schema|table_name\\W)",
+ "description":"Detects classic SQL injection probings 1\/2",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"43",
+ "rule":"(?:\"\\s*\\*.+(?:or|id)\\W*\"\\d)|(?:\\^\")|(?:^[\\w\\s\"-]+(?<=and\\s)(?<=or\\s)(?<=xor\\s)(?<=nand\\s)(?<=not\\s)(?<=\\|\\|)(?<=\\&\\&)\\w+\\()|(?:\"[\\s\\d]*[^\\w\\s]+\\W*\\d\\W*.*[\"\\d])|(?:\"\\s*[^\\w\\s?]+\\s*[^\\w\\s]+\\s*\")|(?:\"\\s*[^\\w\\s]+\\s*[\\W\\d].*(?:#|--))|(?:\".*\\*\\s*\\d)|(?:\"\\s*or\\s[^\\d]+[\\w-]+.*\\d)|(?:[()*<>%+-][\\w-]+[^\\w\\s]+\"[^,])",
+ "description":"Detects classic SQL injection probings 2\/2",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"44",
+ "rule":"(?:\\d\"\\s+\"\\s+\\d)|(?:^admin\\s*\"|(\\\/\\*)+\"+\\s?(?:--|#|\\\/\\*|{)?)|(?:\"\\s*or[\\w\\s-]+\\s*[+<>=(),-]\\s*[\\d\"])|(?:\"\\s*[^\\w\\s]?=\\s*\")|(?:\"\\W*[+=]+\\W*\")|(?:\"\\s*[!=|][\\d\\s!=+-]+.*[\"(].*$)|(?:\"\\s*[!=|][\\d\\s!=]+.*\\d+$)|(?:\"\\s*like\\W+[\\w\"(])|(?:\\sis\\s*0\\W)|(?:where\\s[\\s\\w\\.,-]+\\s=)|(?:\"[<>~]+\")",
+ "description":"Detects basic SQL authentication bypass attempts 1\/3",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"45",
+ "rule":"(?:union\\s*(?:all|distinct|[(!@]*)\\s*[([]*\\s*select)|(?:\\w+\\s+like\\s+\\\")|(?:like\\s*\"\\%)|(?:\"\\s*like\\W*[\"\\d])|(?:\"\\s*(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w]+=\\s*\\w+\\s*having)|(?:\"\\s*\\*\\s*\\w+\\W+\")|(?:\"\\s*[^?\\w\\s=.,;)(]+\\s*[(@\"]*\\s*\\w+\\W+\\w)|(?:select\\s*[\\[\\]()\\s\\w\\.,\"-]+from)|(?:find_in_set\\s*\\()",
+ "description":"Detects basic SQL authentication bypass attempts 2\/3",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"46",
+ "rule":"(?:in\\s*\\(+\\s*select)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w+]+(?:regexp\\s*\\(|sounds\\s+like\\s*\"|[=\\d]+x))|(\"\\s*\\d\\s*(?:--|#))|(?:\"[%&<>^=]+\\d\\s*(=|or))|(?:\"\\W+[\\w+-]+\\s*=\\s*\\d\\W+\")|(?:\"\\s*is\\s*\\d.+\"?\\w)|(?:\"\\|?[\\w-]{3,}[^\\w\\s.,]+\")|(?:\"\\s*is\\s*[\\d.]+\\s*\\W.*\")",
+ "description":"Detects basic SQL authentication bypass attempts 3\/3",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"47",
+ "rule":"(?:[\\d\\W]\\s+as\\s*[\"\\w]+\\s*from)|(?:^[\\W\\d]+\\s*(?:union|select|create|rename|truncate|load|alter|delete|update|insert|desc))|(?:(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s+(?:(?:group_)concat|char|load_file)\\s?\\(?)|(?:end\\s*\\);)|(\"\\s+regexp\\W)|(?:[\\s(]load_file\\s*\\()",
+ "description":"Detects concatenated basic SQL injection and SQLLFI attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id",
+ "lfi"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"48",
+ "rule":"(?:@.+=\\s*\\(\\s*select)|(?:\\d+\\s*or\\s*\\d+\\s*[\\-+])|(?:\\\/\\w+;?\\s+(?:having|and|or|select)\\W)|(?:\\d\\s+group\\s+by.+\\()|(?:(?:;|#|--)\\s*(?:drop|alter))|(?:(?:;|#|--)\\s*(?:update|insert)\\s*\\w{2,})|(?:[^\\w]SET\\s*@\\w+)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)[\\s(]+\\w+[\\s)]*[!=+]+[\\s\\d]*[\"=()])",
+ "description":"Detects chained SQL injection attempts 1\/2",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"49",
+ "rule":"(?:\"\\s+and\\s*=\\W)|(?:\\(\\s*select\\s*\\w+\\s*\\()|(?:\\*\\\/from)|(?:\\+\\s*\\d+\\s*\\+\\s*@)|(?:\\w\"\\s*(?:[-+=|@]+\\s*)+[\\d(])|(?:coalesce\\s*\\(|@@\\w+\\s*[^\\w\\s])|(?:\\W!+\"\\w)|(?:\";\\s*(?:if|while|begin))|(?:\"[\\s\\d]+=\\s*\\d)|(?:order\\s+by\\s+if\\w*\\s*\\()|(?:[\\s(]+case\\d*\\W.+[tw]hen[\\s(])",
+ "description":"Detects chained SQL injection attempts 2\/2",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"50",
+ "rule":"(?:(select|;)\\s+(?:benchmark|if|sleep)\\s*?\\(\\s*\\(?\\s*\\w+)",
+ "description":"Detects SQL benchmark and sleep injection attempts including conditional queries",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"51",
+ "rule":"(?:create\\s+function\\s+\\w+\\s+returns)|(?:;\\s*(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*[\\[(]?\\w{2,})",
+ "description":"Detects MySQL UDF injection and other data\/structure manipulation attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"52",
+ "rule":"(?:alter\\s*\\w+.*character\\s+set\\s+\\w+)|(\";\\s*waitfor\\s+time\\s+\")|(?:\";.*:\\s*goto)",
+ "description":"Detects MySQL charset switch and MSSQL DoS attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"53",
+ "rule":"(?:procedure\\s+analyse\\s*\\()|(?:;\\s*(declare|open)\\s+[\\w-]+)|(?:create\\s+(procedure|function)\\s*\\w+\\s*\\(\\s*\\)\\s*-)|(?:declare[^\\w]+[@#]\\s*\\w+)|(exec\\s*\\(\\s*@)",
+ "description":"Detects MySQL and PostgreSQL stored procedure\/function injections",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"54",
+ "rule":"(?:select\\s*pg_sleep)|(?:waitfor\\s*delay\\s?\"+\\s?\\d)|(?:;\\s*shutdown\\s*(?:;|--|#|\\\/\\*|{))",
+ "description":"Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"55",
+ "rule":"(?:\\sexec\\s+xp_cmdshell)|(?:\"\\s*!\\s*[\"\\w])|(?:from\\W+information_schema\\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\\s*\\([^\\)]*)|(?:\";?\\s*(?:select|union|having)\\s*[^\\s])|(?:\\wiif\\s*\\()|(?:exec\\s+master\\.)|(?:union select @)|(?:union[\\w(\\s]*select)|(?:select.*\\w?user\\()|(?:into[\\s+]+(?:dump|out)file\\s*\")",
+ "description":"Detects MSSQL code execution and information gathering attempts",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"56",
+ "rule":"(?:merge.*using\\s*\\()|(execute\\s*immediate\\s*\")|(?:\\W+\\d*\\s*having\\s*[^\\s\\-])|(?:match\\s*[\\w(),+-]+\\s*against\\s*\\()",
+ "description":"Detects MATCH AGAINST, MERGE, EXECUTE IMMEDIATE and HAVING injections",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"57",
+ "rule":"(?:,.*[)\\da-f\"]\"(?:\".*\"|\\Z|[^\"]+))|(?:\\Wselect.+\\W*from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*\\(\\s*space\\s*\\()",
+ "description":"Detects MySQL comment-\/space-obfuscated injections and backtick termination",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"58",
+ "rule":"(?:@[\\w-]+\\s*\\()|(?:]\\s*\\(\\s*[\"!]\\s*\\w)|(?:<[?%](?:php)?.*(?:[?%]>)?)|(?:;[\\s\\w|]*\\$\\w+\\s*=)|(?:\\$\\w+\\s*=(?:(?:\\s*\\$?\\w+\\s*[(;])|\\s*\".*\"))|(?:;\\s*\\{\\W*\\w+\\s*\\()",
+ "description":"Detects code injection attempts 1\/3",
+ "tags":{
+ "tag":[
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"59",
+ "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*(?:define|eval|file_get_contents|include|require|require_once|set|shell_exec|phpinfo|system|passthru|preg_\\w+|execute)\\s*[\"(@])",
+ "description":"Detects code injection attempts 2\/3",
+ "tags":{
+ "tag":[
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"60",
+ "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*[^\\w](?:echo|print|print_r|var_dump|[fp]open))|(?:;\\s*rm\\s+-\\w+\\s+)|(?:;.*{.*\\$\\w+\\s*=)|(?:\\$\\w+\\s*\\[\\]\\s*=\\s*)",
+ "description":"Detects code injection attempts 3\/3",
+ "tags":{
+ "tag":[
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"62",
+ "rule":"(?:function[^(]*\\([^)]*\\))|(?:(?:delete|void|throw|instanceof|new|typeof)[^\\w.]+\\w+\\s*[([])|([)\\]]\\s*\\.\\s*\\w+\\s*=)|(?:\\(\\s*new\\s+\\w+\\s*\\)\\.)",
+ "description":"Detects common function declarations and special JS operators",
+ "tags":{
+ "tag":[
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"63",
+ "rule":"(?:[\\w.-]+@[\\w.-]+%(?:[01][\\db-ce-f])+\\w+:)",
+ "description":"Detects common mail header injections",
+ "tags":{
+ "tag":[
+ "id",
+ "spam"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"64",
+ "rule":"(?:\\.pl\\?\\w+=\\w?\\|\\w+;)|(?:\\|\\(\\w+=\\*)|(?:\\*\\s*\\)+\\s*;)",
+ "description":"Detects perl echo shellcode injection and LDAP vectors",
+ "tags":{
+ "tag":[
+ "lfi",
+ "rfe"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"65",
+ "rule":"(?:(^|\\W)const\\s+[\\w\\-]+\\s*=)|(?:(?:do|for|while)\\s*\\([^;]+;+\\))|(?:(?:^|\\W)on\\w+\\s*=[\\w\\W]*(?:on\\w+|alert|eval|print|confirm|prompt))|(?:groups=\\d+\\(\\w+\\))|(?:(.)\\1{128,})",
+ "description":"Detects basic XSS DoS attempts",
+ "tags":{
+ "tag":[
+ "rfe",
+ "dos"
+ ]
+ },
+ "impact":"5"
+ },
+ {
+ "id":"67",
+ "rule":"(?:\\({2,}\\+{2,}:{2,})|(?:\\({2,}\\+{2,}:+)|(?:\\({3,}\\++:{2,})|(?:\\$\\[!!!\\])",
+ "description":"Detects unknown attack vectors based on PHPIDS Centrifuge detection",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf",
+ "id",
+ "rfe",
+ "lfi"
+ ]
+ },
+ "impact":"7"
+ },
+ {
+ "id":"68",
+ "rule":"(?:[\\s\\\/\"]+[-\\w\\\/\\\\\\*]+\\s*=.+(?:\\\/\\s*>))",
+ "description":"Finds attribute breaking injections including obfuscated attributes",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"69",
+ "rule":"(?:(?:msgbox|eval)\\s*\\+|(?:language\\s*=\\*vbscript))",
+ "description":"Finds basic VBScript injection attempts",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"70",
+ "rule":"(?:\\[\\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|or)\\])",
+ "description":"Finds basic MongoDB SQL injection attempts",
+ "tags":{
+ "tag":"sqli"
+ },
+ "impact":"4"
+ },
+ {
+ "id":"71",
+ "rule":"(?:[\\s\\d\\\/\"]+(?:on\\w+|style|poster|background)=[$\"\\w])|(?:-type\\s*:\\s*multipart)",
+ "description":"Finds malicious attribute injection attempts and MHTML attacks",
+ "tags":{
+ "tag":[
+ "xss",
+ "csrf"
+ ]
+ },
+ "impact":"6"
+ },
+ {
+ "id":"72",
+ "rule":"(?:(sleep\\((\\s*)(\\d*)(\\s*)\\)|benchmark\\((.*)\\,(.*)\\)))",
+ "description":"Detects blind sqli tests using sleep() or benchmark().",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"73",
+ "rule":"(?:(\\%SYSTEMROOT\\%))",
+ "description":"An attacker is trying to locate a file to read or write.",
+ "tags":{
+ "tag":[
+ "files",
+ "id"
+ ]
+ },
+ "impact":"4"
+ },
+ {
+ "id":"75",
+ "rule":"(?:(((.*)\\%[c|d|i|e|f|g|o|s|u|x|p|n]){8}))",
+ "description":"Looking for a format string attack",
+ "tags":{
+ "tag":"format string"
+ },
+ "impact":"4"
+ },
+ {
+ "id":"76",
+ "rule":"(?:(union(.*)select(.*)from))",
+ "description":"Looking for basic sql injection. Common attack string for mysql, oracle and others.",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"3"
+ },
+ {
+ "id":"77",
+ "rule":"(?:^(-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|1e309)$)",
+ "description":"Looking for integer overflow attacks, these are taken from skipfish, except 2.2250738585072007e-308 is the \"magic number\" crash",
+ "tags":{
+ "tag":[
+ "sqli",
+ "id"
+ ]
+ },
+ "impact":"3"
+ },
+ {
+ "id":"78",
+ "rule":"(?:%23.*?%0a)",
+ "description":"Detects SQL comment filter evasion",
+ "tags":{
+ "tag":[
+ "format string"
+ ]
+ },
+ "impact":"4"
+ }
+ ]
+ }
+}
diff --git a/interface/lib/classes/IDS/default_filter.xml b/interface/lib/classes/IDS/default_filter.xml
new file mode 100644
index 0000000..fdd9cef
--- /dev/null
+++ b/interface/lib/classes/IDS/default_filter.xml
@@ -0,0 +1,787 @@
+<filters>
+ <filter>
+ <id>1</id>
+ <rule><![CDATA[(?:"[^"]*[^-]?>)|(?:[^\w\s]\s*\/>)|(?:>")]]></rule>
+ <description>Finds html breaking injections including whitespace attacks</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>2</id>
+ <rule><![CDATA[(?:"+.*[<=]\s*"[^"]+")|(?:"\s*\w+\s*=)|(?:>\w=\/)|(?:#.+\)["\s]*>)|(?:"\s*(?:src|style|on\w+)\s*=\s*")|(?:[^"]?"[,;\s]+\w*[\[\(])]]></rule>
+ <description>Finds attribute breaking injections including whitespace attacks</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>3</id>
+ <rule><![CDATA[(?:^>[\w\s]*<\/?\w{2,}>)]]></rule>
+ <description>Finds unquoted attribute breaking injections</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>2</impact>
+ </filter>
+ <filter>
+ <id>4</id>
+ <rule><![CDATA[(?:[+\/]\s*name[\W\d]*[)+])|(?:;\W*url\s*=)|(?:[^\w\s\/?:>]\s*(?:location|referrer|name)\s*[^\/\w\s-])]]></rule>
+ <description>Detects url-, name-, JSON, and referrer-contained payload attacks</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>5</id>
+ <rule><![CDATA[(?:\W\s*hash\s*[^\w\s-])|(?:\w+=\W*[^,]*,[^\s(]\s*\()|(?:\?"[^\s"]":)|(?:(?<!\/)__[a-z]+__)|(?:(?:^|[\s)\]\}])(?:s|g)etter\s*=)]]></rule>
+ <description>Detects hash-contained xss payload attacks, setter usage and property overloading</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>6</id>
+ <rule><![CDATA[(?:with\s*\(\s*.+\s*\)\s*\w+\s*\()|(?:(?:do|while|for)\s*\([^)]*\)\s*\{)|(?:\/[\w\s]*\[\W*\w)]]></rule>
+ <description>Detects self contained xss via with(), common loops and regex to string conversion</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>7</id>
+ <rule><![CDATA[(?:[=(].+\?.+:)|(?:with\([^)]*\)\))|(?:\.\s*source\W)]]></rule>
+ <description>Detects JavaScript with(), ternary operators and XML predicate attacks</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>8</id>
+ <rule><![CDATA[(?:\/\w*\s*\)\s*\()|(?:\([\w\s]+\([\w\s]+\)[\w\s]+\))|(?:(?<!(?:mozilla\/\d\.\d\s))\([^)[]+\[[^\]]+\][^)]*\))|(?:[^\s!][{([][^({[]+[{([][^}\])]+[}\])][\s+",\d]*[}\])])|(?:"\)?\]\W*\[)|(?:=\s*[^\s:;]+\s*[{([][^}\])]+[}\])];)]]></rule>
+ <description>Detects self-executing JavaScript functions</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>9</id>
+ <rule><![CDATA[(?:\\u00[a-f0-9]{2})|(?:\\x0*[a-f0-9]{2})|(?:\\\d{2,3})]]></rule>
+ <description>Detects the IE octal, hex and unicode entities</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>2</impact>
+ </filter>
+ <filter>
+ <id>10</id>
+ <rule><![CDATA[(?:(?:\/|\\)?\.+(\/|\\)(?:\.+)?)|(?:\w+\.exe\??\s)|(?:;\s*\w+\s*\/[\w*-]+\/)|(?:\d\.\dx\|)|(?:%(?:c0\.|af\.|5c\.))|(?:\/(?:%2e){2})]]></rule>
+ <description>Detects basic directory traversal</description>
+ <tags>
+ <tag>dt</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>11</id>
+ <rule><![CDATA[(?:%c0%ae\/)|(?:(?:\/|\\)(home|conf|usr|etc|proc|opt|s?bin|local|dev|tmp|kern|[br]oot|sys|system|windows|winnt|program|%[a-z_-]{3,}%)(?:\/|\\))|(?:(?:\/|\\)inetpub|localstart\.asp|boot\.ini)]]></rule>
+ <description>Detects specific directory and path traversal</description>
+ <tags>
+ <tag>dt</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>12</id>
+ <rule><![CDATA[(?:etc\/\W*passwd)]]></rule>
+ <description>Detects etc/passwd inclusion attempts</description>
+ <tags>
+ <tag>dt</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>13</id>
+ <rule><![CDATA[(?:%u(?:ff|00|e\d)\w\w)|(?:(?:%(?:e\w|c[^3\W]|))(?:%\w\w)(?:%\w\w)?)]]></rule>
+ <description>Detects halfwidth/fullwidth encoded unicode HTML breaking attempts</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>3</impact>
+ </filter>
+ <filter>
+ <id>14</id>
+ <rule><![CDATA[(?:#@~\^\w+)|(?:\w+script:|@import[^\w]|;base64|base64,)|(?:\w\s*\([\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+,[\w\s]+\))]]></rule>
+ <description>Detects possible includes, VBSCript/JScript encodeed and packed functions</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>15</id>
+ <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:create(?:element|attribute|textnode)|[a-z]+events?|setattribute|getelement\w+|appendchild|createrange|createcontextualfragment|removenode|parentnode|decodeuricomponent|\wettimeout|(?:ms)?setimmediate|option|useragent)(?(1)[^\w%"]|(?:\s*[^@\s\w%",.+\-]))]]></rule>
+ <description>Detects JavaScript DOM/miscellaneous properties and methods</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>16</id>
+ <rule><![CDATA[([^*\s\w,.\/?+-]\s*)?(?<![a-mo-z]\s)(?<![a-z\/_@])(\s*return\s*)?(?:alert|inputbox|showmod(?:al|eless)dialog|showhelp|infinity|isnan|isnull|iterator|msgbox|executeglobal|expression|prompt|write(?:ln)?|confirm|dialog|urn|(?:un)?eval|exec|execscript|tostring|status|execute|window|unescape|navigate|jquery|getscript|extend|prototype)(?(1)[^\w%"]|(?:\s*[^@\s\w%",.:\/+\-]))]]></rule>
+ <description>Detects possible includes and typical script methods</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>17</id>
+ <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@])(\s*return\s*)?(?:hash|name|href|navigateandfind|source|pathname|close|constructor|port|protocol|assign|replace|back|forward|document|ownerdocument|window|top|this|self|parent|frames|_?content|date|cookie|innerhtml|innertext|csstext+?|outerhtml|print|moveby|resizeto|createstylesheet|stylesheets)(?(1)[^\w%"]|(?:\s*[^@\/\s\w%.+\-]))]]></rule>
+ <description>Detects JavaScript object properties and methods</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>18</id>
+ <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:join|pop|push|reverse|reduce|concat|map|shift|sp?lice|sort|unshift)(?(1)[^\w%"]|(?:\s*[^@\s\w%,.+\-]))]]></rule>
+ <description>Detects JavaScript array properties and methods</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>19</id>
+ <rule><![CDATA[([^*:\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z\/_@\-\|])(\s*return\s*)?(?:set|atob|btoa|charat|charcodeat|charset|concat|crypto|frames|fromcharcode|indexof|lastindexof|match|navigator|toolbar|menubar|replace|regexp|slice|split|substr|substring|escape|\w+codeuri\w*)(?(1)[^\w%"]|(?:\s*[^@\s\w%,.+\-]))]]></rule>
+ <description>Detects JavaScript string properties and methods</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>20</id>
+ <rule><![CDATA[(?:\)\s*\[)|([^*":\s\w,.\/?+-]\s*)?(?<![a-z]\s)(?<![a-z_@\|])(\s*return\s*)?(?:globalstorage|sessionstorage|postmessage|callee|constructor|content|domain|prototype|try|catch|top|call|apply|url|function|object|array|string|math|if|for\s*(?:each)?|elseif|case|switch|regex|boolean|location|(?:ms)?setimmediate|settimeout|setinterval|void|setexpression|namespace|while)(?(1)[^\w%"]|(?:\s*[^@\s\w%".+\-\/]))]]></rule>
+ <description>Detects JavaScript language constructs</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>21</id>
+ <rule><![CDATA[(?:,\s*(?:alert|showmodaldialog|eval)\s*,)|(?::\s*eval\s*[^\s])|([^:\s\w,.\/?+-]\s*)?(?<![a-z\/_@])(\s*return\s*)?(?:(?:document\s*\.)?(?:.+\/)?(?:alert|eval|msgbox|showmod(?:al|eless)dialog|showhelp|prompt|write(?:ln)?|confirm|dialog|open))\s*(?:[^.a-z\s\-]|(?:\s*[^\s\w,.@\/+-]))|(?:java[\s\/]*\.[\s\/]*lang)|(?:\w\s*=\s*new\s+\w+)|(?:&\s*\w+\s*\)[^,])|(?:\+[\W\d]*new\s+\w+[\W\d]*\+)|(?:document\.\w)]]></rule>
+ <description>Detects very basic XSS probings</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>3</impact>
+ </filter>
+ <filter>
+ <id>22</id>
+ <rule><![CDATA[(?:=\s*(?:top|this|window|content|self|frames|_content))|(?:\/\s*[gimx]*\s*[)}])|(?:[^\s]\s*=\s*script)|(?:\.\s*constructor)|(?:default\s+xml\s+namespace\s*=)|(?:\/\s*\+[^+]+\s*\+\s*\/)]]></rule>
+ <description>Detects advanced XSS probings via Script(), RexExp, constructors and XML namespaces</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>23</id>
+ <rule><![CDATA[(?:\.\s*\w+\W*=)|(?:\W\s*(?:location|document)\s*\W[^({[;]+[({[;])|(?:\(\w+\?[:\w]+\))|(?:\w{2,}\s*=\s*\d+[^&\w]\w+)|(?:\]\s*\(\s*\w+)]]></rule>
+ <description>Detects JavaScript location/document property access and window access obfuscation</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>24</id>
+ <rule><![CDATA[(?:[".]script\s*\()|(?:\$\$?\s*\(\s*[\w"])|(?:\/[\w\s]+\/\.)|(?:=\s*\/\w+\/\s*\.)|(?:(?:this|window|top|parent|frames|self|content)\[\s*[(,"]*\s*[\w\$])|(?:,\s*new\s+\w+\s*[,;)])]]></rule>
+ <description>Detects basic obfuscated JavaScript script injections</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>25</id>
+ <rule><![CDATA[(?:=\s*[$\w]\s*[\(\[])|(?:\(\s*(?:this|top|window|self|parent|_?content)\s*\))|(?:src\s*=s*(?:\w+:|\/\/))|(?:\w+\[("\w+"|\w+\|\|))|(?:[\d\W]\|\|[\d\W]|\W=\w+,)|(?:\/\s*\+\s*[a-z"])|(?:=\s*\$[^([]*\()|(?:=\s*\(\s*")]]></rule>
+ <description>Detects obfuscated JavaScript script injections</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>26</id>
+ <rule><![CDATA[(?:[^:\s\w]+\s*[^\w\/](href|protocol|host|hostname|pathname|hash|port|cookie)[^\w])]]></rule>
+ <description>Detects JavaScript cookie stealing and redirection attempts</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>27</id>
+ <rule><![CDATA[(?:(?:vbs|vbscript|data):.*[,+])|(?:\w+\s*=\W*(?!https?)\w+:)|(jar:\w+:)|(=\s*"?\s*vbs(?:ript)?:)|(language\s*=\s?"?\s*vbs(?:ript)?)|on\w+\s*=\*\w+\-"?]]></rule>
+ <description>Detects data: URL injections, VBS injections and common URI schemes</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>28</id>
+ <rule><![CDATA[(?:firefoxurl:\w+\|)|(?:(?:file|res|telnet|nntp|news|mailto|chrome)\s*:\s*[%&#xu\/]+)|(wyciwyg|firefoxurl\s*:\s*\/\s*\/)]]></rule>
+ <description>Detects IE firefoxurl injections, cache poisoning attempts and local file inclusion/execution</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>29</id>
+ <rule><![CDATA[(?:binding\s?=|moz-binding|behavior\s?=)|(?:[\s\/]style\s*=\s*[-\\])]]></rule>
+ <description>Detects bindings and behavior injections</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>30</id>
+ <rule><![CDATA[(?:=\s*\w+\s*\+\s*")|(?:\+=\s*\(\s")|(?:!+\s*[\d.,]+\w?\d*\s*\?)|(?:=\s*\[s*\])|(?:"\s*\+\s*")|(?:[^\s]\[\s*\d+\s*\]\s*[;+])|(?:"\s*[&|]+\s*")|(?:\/\s*\?\s*")|(?:\/\s*\)\s*\[)|(?:\d\?.+:\d)|(?:]\s*\[\W*\w)|(?:[^\s]\s*=\s*\/)]]></rule>
+ <description>Detects common XSS concatenation patterns 1/2</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>31</id>
+ <rule><![CDATA[(?:=\s*\d*\.\d*\?\d*\.\d*)|(?:[|&]{2,}\s*")|(?:!\d+\.\d*\?")|(?:\/:[\w.]+,)|(?:=[\d\W\s]*\[[^]]+\])|(?:\?\w+:\w+)]]></rule>
+ <description>Detects common XSS concatenation patterns 2/2</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>32</id>
+ <rule><![CDATA[(?:[^\w\s=]on(?!g\>)\w+[^=_+-]*=[^$]+(?:\W|\>)?)]]></rule>
+ <description>Detects possible event handlers</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>33</id>
+ <rule><![CDATA[(?:\<\w*:?\s(?:[^\>]*)t(?!rong))|(?:\<scri)|(<\w+:\w+)]]></rule>
+ <description>Detects obfuscated script tags and XML wrapped HTML</description>
+ <tags>
+ <tag>xss</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>34</id>
+ <rule><![CDATA[(?:\<\/\w+\s\w+)|(?:@(?:cc_on|set)[\s@,"=])]]></rule>
+ <description>Detects attributes in closing tags and conditional compilation tokens</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>35</id>
+ <rule><![CDATA[(?:--[^\n]*$)|(?:\<!-|-->)|(?:[^*]\/\*|\*\/[^*])|(?:(?:[\W\d]#|--|{)$)|(?:\/{3,}.*$)|(?:<!\[\W)|(?:\]!>)]]></rule>
+ <description>Detects common comment types</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>3</impact>
+ </filter>
+ <filter>
+ <id>37</id>
+ <rule><![CDATA[(?:\<base\s+)|(?:<!(?:element|entity|\[CDATA))]]></rule>
+ <description>Detects base href injections and XML entity injections</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>38</id>
+ <rule><![CDATA[(?:\<[\/]?(?:[i]?frame|applet|isindex|marquee|keygen|script|audio|video|input|button|textarea|style|base|body|meta|link|object|embed|param|plaintext|xm\w+|image|im(?:g|port)))]]></rule>
+ <description>Detects possibly malicious html elements including some attributes</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>39</id>
+ <rule><![CDATA[(?:\\x[01fe][\db-ce-f])|(?:%[01fe][\db-ce-f])|(?:&#[01fe][\db-ce-f])|(?:\\[01fe][\db-ce-f])|(?:&#x[01fe][\db-ce-f])]]></rule>
+ <description>Detects nullbytes and other dangerous characters</description>
+ <tags>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>xss</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>40</id>
+ <rule><![CDATA[(?:\)\s*when\s*\d+\s*then)|(?:"\s*(?:#|--|{))|(?:\/\*!\s?\d+)|(?:ch(?:a)?r\s*\(\s*\d)|(?:(?:(n?and|x?or|not)\s+|\|\||\&\&)\s*\w+\()]]></rule>
+ <description>Detects MySQL comments, conditions and ch(a)r injections</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>41</id>
+ <rule><![CDATA[(?:[\s()]case\s*\()|(?:\)\s*like\s*\()|(?:having\s*[^\s]+\s*[^\w\s])|(?:if\s?\([\d\w]\s*[=<>~])]]></rule>
+ <description>Detects conditional SQL injection attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>42</id>
+ <rule><![CDATA[(?:"\s*or\s*"?\d)|(?:\\x(?:23|27|3d))|(?:^.?"$)|(?:(?:^["\\]*(?:[\d"]+|[^"]+"))+\s*(?:n?and|x?or|not|\|\||\&\&)\s*[\w"[+&!@(),.-])|(?:[^\w\s]\w+\s*[|-]\s*"\s*\w)|(?:@\w+\s+(and|or)\s*["\d]+)|(?:@[\w-]+\s(and|or)\s*[^\w\s])|(?:[^\w\s:]\s*\d\W+[^\w\s]\s*".)|(?:\Winformation_schema|table_name\W)]]></rule>
+ <description>Detects classic SQL injection probings 1/2</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>43</id>
+ <rule><![CDATA[(?:"\s*\*.+(?:or|id)\W*"\d)|(?:\^")|(?:^[\w\s"-]+(?<=and\s)(?<=or\s)(?<=xor\s)(?<=nand\s)(?<=not\s)(?<=\|\|)(?<=\&\&)\w+\()|(?:"[\s\d]*[^\w\s]+\W*\d\W*.*["\d])|(?:"\s*[^\w\s?]+\s*[^\w\s]+\s*")|(?:"\s*[^\w\s]+\s*[\W\d].*(?:#|--))|(?:".*\*\s*\d)|(?:"\s*or\s[^\d]+[\w-]+.*\d)|(?:[()*<>%+-][\w-]+[^\w\s]+"[^,])]]></rule>
+ <description>Detects classic SQL injection probings 2/2</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>44</id>
+ <rule><![CDATA[(?:\d"\s+"\s+\d)|(?:^admin\s*"|(\/\*)+"+\s?(?:--|#|\/\*|{)?)|(?:"\s*or[\w\s-]+\s*[+<>=(),-]\s*[\d"])|(?:"\s*[^\w\s]?=\s*")|(?:"\W*[+=]+\W*")|(?:"\s*[!=|][\d\s!=+-]+.*["(].*$)|(?:"\s*[!=|][\d\s!=]+.*\d+$)|(?:"\s*like\W+[\w"(])|(?:\sis\s*0\W)|(?:where\s[\s\w\.,-]+\s=)|(?:"[<>~]+")]]></rule>
+ <description>Detects basic SQL authentication bypass attempts 1/3</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>45</id>
+ <rule><![CDATA[(?:union\s*(?:all|distinct|[(!@]*)\s*[([]*\s*select)|(?:\w+\s+like\s+\")|(?:like\s*"\%)|(?:"\s*like\W*["\d])|(?:"\s*(?:n?and|x?or|not |\|\||\&\&)\s+[\s\w]+=\s*\w+\s*having)|(?:"\s*\*\s*\w+\W+")|(?:"\s*[^?\w\s=.,;)(]+\s*[(@"]*\s*\w+\W+\w)|(?:select\s*[\[\]()\s\w\.,"-]+from)|(?:find_in_set\s*\()]]></rule>
+ <description>Detects basic SQL authentication bypass attempts 2/3</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>46</id>
+ <rule><![CDATA[(?:in\s*\(+\s*select)|(?:(?:n?and|x?or|not |\|\||\&\&)\s+[\s\w+]+(?:regexp\s*\(|sounds\s+like\s*"|[=\d]+x))|("\s*\d\s*(?:--|#))|(?:"[%&<>^=]+\d\s*(=|or))|(?:"\W+[\w+-]+\s*=\s*\d\W+")|(?:"\s*is\s*\d.+"?\w)|(?:"\|?[\w-]{3,}[^\w\s.,]+")|(?:"\s*is\s*[\d.]+\s*\W.*")]]></rule>
+ <description>Detects basic SQL authentication bypass attempts 3/3</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>47</id>
+ <rule><![CDATA[(?:[\d\W]\s+as\s*["\w]+\s*from)|(?:^[\W\d]+\s*(?:union|select|create|rename|truncate|load|alter|delete|update|insert|desc))|(?:(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s+(?:(?:group_)concat|char|load_file)\s?\(?)|(?:end\s*\);)|("\s+regexp\W)|(?:[\s(]load_file\s*\()]]></rule>
+ <description>Detects concatenated basic SQL injection and SQLLFI attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>48</id>
+ <rule><![CDATA[(?:@.+=\s*\(\s*select)|(?:\d+\s*or\s*\d+\s*[\-+])|(?:\/\w+;?\s+(?:having|and|or|select)\W)|(?:\d\s+group\s+by.+\()|(?:(?:;|#|--)\s*(?:drop|alter))|(?:(?:;|#|--)\s*(?:update|insert)\s*\w{2,})|(?:[^\w]SET\s*@\w+)|(?:(?:n?and|x?or|not |\|\||\&\&)[\s(]+\w+[\s)]*[!=+]+[\s\d]*["=()])]]></rule>
+ <description>Detects chained SQL injection attempts 1/2</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>49</id>
+ <rule><![CDATA[(?:"\s+and\s*=\W)|(?:\(\s*select\s*\w+\s*\()|(?:\*\/from)|(?:\+\s*\d+\s*\+\s*@)|(?:\w"\s*(?:[-+=|@]+\s*)+[\d(])|(?:coalesce\s*\(|@@\w+\s*[^\w\s])|(?:\W!+"\w)|(?:";\s*(?:if|while|begin))|(?:"[\s\d]+=\s*\d)|(?:order\s+by\s+if\w*\s*\()|(?:[\s(]+case\d*\W.+[tw]hen[\s(])]]></rule>
+ <description>Detects chained SQL injection attempts 2/2</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>50</id>
+ <rule><![CDATA[(?:(select|;)\s+(?:benchmark|if|sleep)\s*?\(\s*\(?\s*\w+)]]></rule>
+ <description>Detects SQL benchmark and sleep injection attempts including conditional queries</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>51</id>
+ <rule><![CDATA[(?:create\s+function\s+\w+\s+returns)|(?:;\s*(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s*[\[(]?\w{2,})]]></rule>
+ <description>Detects MySQL UDF injection and other data/structure manipulation attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>52</id>
+ <rule><![CDATA[(?:alter\s*\w+.*character\s+set\s+\w+)|(";\s*waitfor\s+time\s+")|(?:";.*:\s*goto)]]></rule>
+ <description>Detects MySQL charset switch and MSSQL DoS attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>53</id>
+ <rule><![CDATA[(?:procedure\s+analyse\s*\()|(?:;\s*(declare|open)\s+[\w-]+)|(?:create\s+(procedure|function)\s*\w+\s*\(\s*\)\s*-)|(?:declare[^\w]+[@#]\s*\w+)|(exec\s*\(\s*@)]]></rule>
+ <description>Detects MySQL and PostgreSQL stored procedure/function injections</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>54</id>
+ <rule><![CDATA[(?:select\s*pg_sleep)|(?:waitfor\s*delay\s?"+\s?\d)|(?:;\s*shutdown\s*(?:;|--|#|\/\*|{))]]></rule>
+ <description>Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>55</id>
+ <rule><![CDATA[(?:\sexec\s+xp_cmdshell)|(?:"\s*!\s*["\w])|(?:from\W+information_schema\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\s*\([^\)]*)|(?:";?\s*(?:select|union|having)\s*[^\s])|(?:\wiif\s*\()|(?:exec\s+master\.)|(?:union select @)|(?:union[\w(\s]*select)|(?:select.*\w?user\()|(?:into[\s+]+(?:dump|out)file\s*")]]></rule>
+ <description>Detects MSSQL code execution and information gathering attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>56</id>
+ <rule><![CDATA[(?:merge.*using\s*\()|(execute\s*immediate\s*")|(?:\W+\d*\s*having\s*[^\s\-])|(?:match\s*[\w(),+-]+\s*against\s*\()]]></rule>
+ <description>Detects MATCH AGAINST, MERGE, EXECUTE IMMEDIATE and HAVING injections</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>57</id>
+ <rule><![CDATA[(?:,.*[)\da-f"]"(?:".*"|\Z|[^"]+))|(?:\Wselect.+\W*from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s*\(\s*space\s*\()]]></rule>
+ <description>Detects MySQL comment-/space-obfuscated injections and backtick termination</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>58</id>
+ <rule><![CDATA[(?:@[\w-]+\s*\()|(?:]\s*\(\s*["!]\s*\w)|(?:<[?%](?:php)?.*(?:[?%]>)?)|(?:;[\s\w|]*\$\w+\s*=)|(?:\$\w+\s*=(?:(?:\s*\$?\w+\s*[(;])|\s*".*"))|(?:;\s*\{\W*\w+\s*\()]]></rule>
+ <description>Detects code injection attempts 1/3</description>
+ <tags>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>59</id>
+ <rule><![CDATA[(?:(?:[;]+|(<[?%](?:php)?)).*(?:define|eval|file_get_contents|include|require|require_once|set|shell_exec|phpinfo|system|passthru|preg_\w+|execute)\s*["(@])]]></rule>
+ <description>Detects code injection attempts 2/3</description>
+ <tags>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>60</id>
+ <rule><![CDATA[(?:(?:[;]+|(<[?%](?:php)?)).*[^\w](?:echo|print|print_r|var_dump|[fp]open))|(?:;\s*rm\s+-\w+\s+)|(?:;.*{.*\$\w+\s*=)|(?:\$\w+\s*\[\]\s*=\s*)]]></rule>
+ <description>Detects code injection attempts 3/3</description>
+ <tags>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>62</id>
+ <rule><![CDATA[(?:function[^(]*\([^)]*\))|(?:(?:delete|void|throw|instanceof|new|typeof)[^\w.]+\w+\s*[([])|([)\]]\s*\.\s*\w+\s*=)|(?:\(\s*new\s+\w+\s*\)\.)]]></rule>
+ <description>Detects common function declarations and special JS operators</description>
+ <tags>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>63</id>
+ <rule><![CDATA[(?:[\w.-]+@[\w.-]+%(?:[01][\db-ce-f])+\w+:)]]></rule>
+ <description>Detects common mail header injections</description>
+ <tags>
+ <tag>id</tag>
+ <tag>spam</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>64</id>
+ <rule><![CDATA[(?:\.pl\?\w+=\w?\|\w+;)|(?:\|\(\w+=\*)|(?:\*\s*\)+\s*;)]]></rule>
+ <description>Detects perl echo shellcode injection and LDAP vectors</description>
+ <tags>
+ <tag>lfi</tag>
+ <tag>rfe</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>65</id>
+ <rule><![CDATA[(?:(^|\W)const\s+[\w\-]+\s*=)|(?:(?:do|for|while)\s*\([^;]+;+\))|(?:(?:^|\W)on\w+\s*=[\w\W]*(?:on\w+|alert|eval|print|confirm|prompt))|(?:groups=\d+\(\w+\))|(?:(.)\1{128,})]]></rule>
+ <description>Detects basic XSS DoS attempts</description>
+ <tags>
+ <tag>rfe</tag>
+ <tag>dos</tag>
+ </tags>
+ <impact>5</impact>
+ </filter>
+ <filter>
+ <id>67</id>
+ <rule><![CDATA[(?:\({2,}\+{2,}:{2,})|(?:\({2,}\+{2,}:+)|(?:\({3,}\++:{2,})|(?:\$\[!!!\])]]></rule>
+ <description>Detects unknown attack vectors based on PHPIDS Centrifuge detection</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ <tag>id</tag>
+ <tag>rfe</tag>
+ <tag>lfi</tag>
+ </tags>
+ <impact>7</impact>
+ </filter>
+ <filter>
+ <id>68</id>
+ <rule><![CDATA[(?:[\s\/"]+[-\w\/\\\*]+\s*=.+(?:\/\s*>))]]></rule>
+ <description>Finds attribute breaking injections including obfuscated attributes</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>69</id>
+ <rule><![CDATA[(?:(?:msgbox|eval)\s*\+|(?:language\s*=\*vbscript))]]></rule>
+ <description>Finds basic VBScript injection attempts</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>70</id>
+ <rule><![CDATA[(?:\[\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|or)\])]]></rule>
+ <description>Finds basic MongoDB SQL injection attempts</description>
+ <tags>
+ <tag>sqli</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>71</id>
+ <rule><![CDATA[(?:[\s\d\/"]+(?:on\w+|style|poster|background)=[$"\w])|(?:-type\s*:\s*multipart)]]></rule>
+ <description>Finds malicious attribute injection attempts and MHTML attacks</description>
+ <tags>
+ <tag>xss</tag>
+ <tag>csrf</tag>
+ </tags>
+ <impact>6</impact>
+ </filter>
+ <filter>
+ <id>72</id>
+ <rule><![CDATA[(?:(sleep\((\s*)(\d*)(\s*)\)|benchmark\((.*)\,(.*)\)))]]></rule>
+ <description>Detects blind sqli tests using sleep() or benchmark().</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>73</id>
+ <rule><![CDATA[(?:(\%SYSTEMROOT\%))]]></rule>
+ <description>An attacker is trying to locate a file to read or write.</description>
+ <tags>
+ <tag>files</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>75</id>
+ <rule><![CDATA[(?:(((.*)\%[c|d|i|e|f|g|o|s|u|x|p|n]){8}))]]></rule>
+ <description>Looking for a format string attack</description>
+ <tags>
+ <tag>format string</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+ <filter>
+ <id>76</id>
+ <rule><![CDATA[(?:(union(.*)select(.*)from))]]></rule>
+ <description>Looking for basic sql injection. Common attack string for mysql, oracle and others.</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>3</impact>
+ </filter>
+ <filter>
+ <id>77</id>
+ <rule><![CDATA[(?:^(-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|1e309)$)]]></rule>
+ <description>Looking for integer overflow attacks, these are taken from skipfish, except 2.2250738585072007e-308 is the "magic number" crash</description>
+ <tags>
+ <tag>sqli</tag>
+ <tag>id</tag>
+ </tags>
+ <impact>3</impact>
+ </filter>
+ <filter>
+ <id>78</id>
+ <rule><![CDATA[(?:%23.*?%0a)]]></rule>
+ <description>Detects SQL comment filter evasion</description>
+ <tags>
+ <tag>format string</tag>
+ </tags>
+ <impact>4</impact>
+ </filter>
+</filters>
diff --git a/interface/lib/classes/IDS/license.txt b/interface/lib/classes/IDS/license.txt
new file mode 100644
index 0000000..4a3cd1b
--- /dev/null
+++ b/interface/lib/classes/IDS/license.txt
@@ -0,0 +1,18 @@
+ *
+ * The files in the folder IDS and its subfolders belong to the
+ * PHP Intrusion Detection System software and are licensed under LGPL.
+ *
+ * Copyright (c) 2008 PHPIDS group (https://phpids.org)
+ *
+ * PHPIDS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * PHPIDS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with PHPIDS. If not, see <http://www.gnu.org/licenses/>.
\ 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 7c4208f..f6a0ff4 100644
--- a/interface/lib/classes/aps_guicontroller.inc.php
+++ b/interface/lib/classes/aps_guicontroller.inc.php
@@ -333,7 +333,7 @@
}
//* Insert new package instance
- $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
+ $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->db->quote($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
$InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id');
//* Insert all package settings
diff --git a/interface/lib/classes/auth.inc.php b/interface/lib/classes/auth.inc.php
index 070662f..70c1722 100644
--- a/interface/lib/classes/auth.inc.php
+++ b/interface/lib/classes/auth.inc.php
@@ -44,6 +44,14 @@
return false;
}
}
+
+ public function is_superadmin() {
+ if($_SESSION['s']['user']['typ'] == 'admin' && $_SESSION['s']['user']['userid'] == 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
public function has_clients($userid) {
global $app, $conf;
@@ -83,6 +91,7 @@
global $app;
$userid = $app->functions->intval($userid);
+ if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$limitname)) $app->error('Invalid limit name '.$limitname);
// simple query cache
if($this->client_limits===null)
@@ -120,12 +129,29 @@
public function check_module_permissions($module) {
// Check if the current user has the permissions to access this module
- if(!stristr($_SESSION["s"]["user"]["modules"], $module)) {
+ $user_modules = explode(',',$_SESSION["s"]["user"]["modules"]);
+ if(!in_array($module,$user_modules)) {
// echo "LOGIN_REDIRECT:/index.php";
header("Location: /index.php");
exit;
}
}
+
+ public function check_security_permissions($permission) {
+
+ global $app;
+
+ $app->uses('getconf');
+ $security_config = $app->getconf->get_security_config('permissions');
+
+ $security_check = false;
+ if($security_config[$permission] == 'yes') $security_check = true;
+ if($security_config[$permission] == 'superadmin' && $app->auth->is_superadmin()) $security_check = true;
+ if($security_check !== true) {
+ $app->error($app->lng('security_check1_txt').' '.$permission.' '.$app->lng('security_check2_txt'));
+ }
+
+ }
public function get_random_password($length = 8) {
$base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
diff --git a/interface/lib/classes/db_firebird.inc.php b/interface/lib/classes/db_firebird.inc.php
deleted file mode 100644
index fda4ef8..0000000
--- a/interface/lib/classes/db_firebird.inc.php
+++ /dev/null
@@ -1,384 +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.
-*/
-
-class db {
- var $dbHost = ""; // hostname of the MySQL server
- var $dbName = ""; // logical database name on that server
- var $dbUser = ""; // database authorized user
- var $dbPass = ""; // user's password
- var $linkId = 0; // last result of mysql_connect()
- var $queryId = 0; // last result of mysql_query()
- var $record = array(); // last record fetched
- var $autoCommit = 1; // Autocommit Transactions
- var $currentRow; // current row number
- var $errorNumber = 0; // last error number
- var $errorMessage = ""; // last error message
- var $errorLocation = "";// last error location
- var $show_error_messages = false;
- var $transID;
-
- // constructor
- function __construct()
- {
-
- global $conf;
- $this->dbHost = $conf["db_host"];
- $this->dbName = $conf["db_database"];
- $this->dbUser = $conf["db_user"];
- $this->dbPass = $conf["db_password"];
- $this->connect();
- }
-
- function __destruct() {
- $this->closeConn();
- }
-
- // error handler
- function updateError($location)
- {
- //$this->errorNumber = mysql_errno();
- $this->errorMessage = ibase_errmsg();
- $this->errorLocation = $location;
- if($this->errorNumber && $this->show_error_messages)
- {
- echo '<br /><b>'.$this->errorLocation.'</b><br />'.$this->errorMessage;
- flush();
- }
- }
-
- function connect()
- {
- if($this->linkId == 0)
- {
- $this->linkId = ibase_connect( $this->dbHost.":".$this->dbName , $this->dbUser, $this->dbPass, 'ISO8859_1', 0, 3 );
- if(!$this->linkId)
- {
- $this->updateError('DB::connect()<br />ibase_pconnect');
- return false;
- }
- }
- return true;
- }
-
- function query($queryString)
- {
- if(!$this->connect()) {
- return false;
- }
-
- if($this->autoCommit == 1) {
- //$transID = ibase_trans();
- $this->queryId = @ibase_query($this->linkId, $queryString);
- //ibase_commit();
- } else {
- $this->queryId = @ibase_query($this->linkId, $queryString);
- }
-
-
- $this->updateError('DB::query('.$queryString.')<br />ibase_query');
- if(!$this->queryId) {
- return false;
- }
- $this->currentRow = 0;
- return $this->queryId;
- }
-
- // returns all records in an array
- function queryAllRecords($queryString)
- {
- if(!$this->query($queryString))
- {
- return false;
- }
- $ret = array();
- while($line = $this->nextRecord())
- {
- $ret[] = $line;
- }
- //$this->freeResult();
- ibase_free_result($this->queryId);
- return $ret;
- }
-
- // returns one record in an array
- function queryOneRecord($queryString)
- {
- if(!$this->query($queryString))
- {
- return false;
- }
- $result = $this->nextRecord();
- ibase_free_result($this->queryId);
- return $result;
- }
-
- // returns the next record in an array
- function nextRecord()
- {
- $this->record = ibase_fetch_assoc($this->queryId);
- $this->updateError('DB::nextRecord()<br />ibase_fetch_assoc');
- if(!$this->record || !is_array($this->record))
- {
- return false;
- }
- $this->currentRow++;
- return $this->record;
- }
-
- // returns number of rows returned by the last select query
- function numRows()
- {
- return false;
- }
-
- // returns mySQL insert id
- function insertID()
- {
- return false;
- }
-
- // Check der variablen
- // deprecated, now use quote
- function check($formfield)
- {
- return $this->quote($formfield);
- }
-
- // Check der variablen
- function quote($formfield)
- {
- return str_replace("'", "''", $formfield);
- }
-
- // Check der variablen
- function unquote($formfield)
- {
- return str_replace("''", "'", $formfield);
- }
-
- function toLower($record) {
- if(is_array($record)) {
- foreach($record as $key => $val) {
- $key = strtolower($key);
- $out[$key] = $val;
- }
- }
- return $out;
- }
-
-
- function insert($tablename, $form, $debug = 0)
- {
- if(is_array($form)){
- foreach($form as $key => $value)
- {
- $sql_key .= "$key, ";
- $sql_value .= "'".$this->quote($value)."', ";
- }
- $sql_key = substr($sql_key, 0, strlen($sql_key) - 2);
- $sql_value = substr($sql_value, 0, strlen($sql_value) - 2);
-
- $sql = "INSERT INTO $tablename (" . $sql_key . ") VALUES (" . $sql_value .")";
-
- if($debug == 1) echo "SQL-Statement: ".$sql."<br><br>";
- $this->query($sql);
- if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage;
- }
- }
-
- function update($tablename, $form, $bedingung, $debug = 0)
- {
-
- if(is_array($form)){
- foreach($form as $key => $value)
- {
- $insql .= "$key = '".$this->quote($value)."', ";
- }
- $insql = substr($insql, 0, strlen($insql) - 2);
- $sql = "UPDATE $tablename SET " . $insql . " WHERE $bedingung";
- if($debug == 1) echo "SQL-Statement: ".$sql."<br><br>";
- $this->query($sql);
- if($debug == 1) echo "mySQL Error Message: ".$this->errorMessage;
- }
- }
-
- function closeConn() {
- ibase_close($this->linkId);
- }
-
- function freeResult() {
- //ibase_free_result();
- }
-
- function delete() {
-
- }
-
- function trans($action, $transID = null) {
- //action = begin, commit oder rollback
-
- if($action == 'begin') {
- $this->transID = ibase_trans($this->linkId);
- return $this->transID;
- }
-
- if($action == 'commit' and !empty($this->transID)) {
- ibase_commit($this->linkId, $this->transID);
- }
-
- if($action == 'rollback') {
- ibase_rollback($this->linkId, $this->transID);
- }
-
- }
-
- /*
- $columns = array(action => add | alter | drop
- name => Spaltenname
- name_new => neuer Spaltenname, nur bei 'alter' belegt
- type => 42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
- typeValue => Wert z.B. bei Varchar
- defaultValue => Default Wert
- notNull => true | false
- autoInc => true | false
- option => unique | primary | index)
-
-
- */
-
- function createTable($table_name, $columns) {
- $index = "";
- $sql = "CREATE TABLE $table_name (";
- foreach($columns as $col){
- $sql .= $col["name"]." ".$this->mapType($col["type"], $col["typeValue"])." ";
-
- if($col["defaultValue"] != "") $sql .= "DEFAULT '".$col["defaultValue"]."' ";
- if($col["notNull"] == true) {
- $sql .= "NOT NULL ";
- } else {
- $sql .= "NULL ";
- }
- if($col["autoInc"] == true) $sql .= "auto_increment ";
- $sql.= ",";
- // key Definitionen
- if($col["option"] == "primary") $index .= "PRIMARY KEY (".$col["name"]."),";
- if($col["option"] == "index") $index .= "INDEX (".$col["name"]."),";
- if($col["option"] == "unique") $index .= "UNIQUE (".$col["name"]."),";
- }
- $sql .= $index;
- $sql = substr($sql, 0, -1);
- $sql .= ")";
-
- $this->query($sql);
- return true;
- }
-
- /*
- $columns = array(action => add | alter | drop
- name => Spaltenname
- name_new => neuer Spaltenname, nur bei 'alter' belegt
- type => 42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
- typeValue => Wert z.B. bei Varchar
- defaultValue => Default Wert
- notNull => true | false
- autoInc => true | false
- option => unique | primary | index)
-
-
- */
- function alterTable($table_name, $columns) {
- return false;
- }
-
- function dropTable($table_name) {
- $this->check($table_name);
- $sql = "DROP TABLE '". $table_name."'";
- return $this->query($sql);
- }
-
- // gibt Array mit Tabellennamen zurück
- function getTables($database_name) {
- return false;
- }
-
- // gibt Feldinformationen zur Tabelle zurück
- /*
- $columns = array(action => add | alter | drop
- name => Spaltenname
- name_new => neuer Spaltenname, nur bei 'alter' belegt
- type => 42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob
- typeValue => Wert z.B. bei Varchar
- defaultValue => Default Wert
- notNull => true | false
- autoInc => true | false
- option => unique | primary | index)
-
-
- */
-
- function tableInfo($table_name) {
- return false;
- }
-
- function mapType($metaType, $typeValue) {
- global $go_api;
- $metaType = strtolower($metaType);
- switch ($metaType) {
- case 'int16':
- return 'smallint';
- break;
- case 'int32':
- return 'int';
- break;
- case 'int64':
- return 'bigint';
- break;
- case 'double':
- return 'double';
- break;
- case 'char':
- return 'char';
- break;
- case 'varchar':
- if($typeValue < 1) $go_api->errorMessage("Datenbank Fehler: Für diesen Datentyp ist eine Längenangabe notwendig.");
- return 'varchar('.$typeValue.')';
- break;
- case 'text':
- return 'text';
- break;
- case 'blob':
- return 'blob';
- break;
- }
- }
-
-}
-
-?>
diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index ee159fa..2f31c44 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -168,6 +168,53 @@
mysqli_query($this->_iConnId, 'SET NAMES '.$this->dbCharset);
mysqli_query($this->_iConnId, "SET character_set_results = '".$this->dbCharset."', character_set_client = '".$this->dbCharset."', character_set_connection = '".$this->dbCharset."', character_set_database = '".$this->dbCharset."', character_set_server = '".$this->dbCharset."'");
}
+
+ private function securityScan($string) {
+ global $app, $conf;
+
+ // get security config
+ if(isset($app)) {
+ $app->uses('getconf');
+ $ids_config = $app->getconf->get_security_config('ids');
+
+ if($ids_config['sql_scan_enabled'] == 'yes') {
+
+ $string_orig = $string;
+
+ //echo $string;
+ $chars = array(';', '#', '/*', '*/', '--', '\\\'', '\\"');
+
+ $string = str_replace('\\\\', '', $string);
+ $string = preg_replace('/(^|[^\\\])([\'"])\\2/is', '$1', $string);
+ $string = preg_replace('/(^|[^\\\])([\'"])(.*?[^\\\])\\2/is', '$1', $string);
+ $ok = true;
+
+ if(substr_count($string, "`") % 2 != 0 || substr_count($string, "'") % 2 != 0 || substr_count($string, '"') % 2 != 0) {
+ $app->log("SQL injection warning (" . $string_orig . ")",2);
+ $ok = false;
+ } else {
+ foreach($chars as $char) {
+ if(strpos($string, $char) !== false) {
+ $ok = false;
+ $app->log("SQL injection warning (" . $string_orig . ")",2);
+ break;
+ }
+ }
+ }
+ if($ok == true) {
+ return true;
+ } else {
+ if($ids_config['sql_scan_action'] == 'warn') {
+ // we return false in warning level.
+ return false;
+ } else {
+ // if sql action = 'block' or anything else then stop here.
+ $app->error('Possible SQL injection. All actions have been logged.');
+ }
+ }
+ }
+ }
+ }
private function _query($sQuery = '') {
global $app;
@@ -198,6 +245,7 @@
$aArgs = func_get_args();
$sQuery = call_user_func_array(array(&$this, '_build_query_string'), $aArgs);
+ $this->securityScan($sQuery);
$this->_iQueryId = mysqli_query($this->_iConnId, $sQuery);
if (!$this->_iQueryId) {
@@ -493,12 +541,12 @@
public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new, $force_update = false) {
global $app, $conf;
- // Insert backticks only for incomplete table names.
- if(stristr($db_table, '.')) {
- $escape = '';
- } else {
- $escape = '`';
- }
+ // Check fields
+ if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$db_table)) $app->error('Invalid table name '.$db_table);
+ if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$primary_field)) $app->error('Invalid primary field '.$primary_field.' in table '.$db_table);
+
+ $primary_field = $this->quote($primary_field);
+ $primary_id = intval($primary_id);
if($force_update == true) {
//* We force a update even if no record has changed
@@ -537,7 +585,11 @@
//** Inserts a record and saves the changes into the datalog
public function datalogInsert($tablename, $insert_data, $index_field) {
global $app;
-
+
+ // Check fields
+ if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+ if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+
if(is_array($insert_data)) {
$key_str = '';
$val_str = '';
@@ -566,6 +618,10 @@
public function datalogUpdate($tablename, $update_data, $index_field, $index_value, $force_update = false) {
global $app;
+ // Check fields
+ if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+ if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+
$old_rec = $this->queryOneRecord("SELECT * FROM ?? WHERE ?? = ?", $tablename, $index_field, $index_value);
if(is_array($update_data)) {
@@ -590,6 +646,10 @@
public function datalogDelete($tablename, $index_field, $index_value) {
global $app;
+ // Check fields
+ if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename)) $app->error('Invalid table name '.$tablename);
+ if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field)) $app->error('Invalid index field '.$index_field.' in table '.$tablename);
+
$old_rec = $this->queryOneRecord("SELECT * FROM ?? WHERE ?? = ?", $tablename, $index_field, $index_value);
$this->query("DELETE FROM ?? WHERE ?? = ?", $tablename, $index_field, $index_value);
$new_rec = array();
diff --git a/interface/lib/classes/form.inc.php b/interface/lib/classes/form.inc.php
deleted file mode 100644
index e6948dd..0000000
--- a/interface/lib/classes/form.inc.php
+++ /dev/null
@@ -1,517 +0,0 @@
-<?php
-
-die('Deprecated file: form.inc.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.
-*/
-
-/**
- * Formularbehandlung
- *
- * Funktionen zur Umwandlung von Formulardaten
- * sowie zum vorbereiten von HTML und SQL
- * Ausgaben
- *
- * Tabellendefinition
- *
- * Datentypen:
- * - INTEGER (Wandelt Ausdrücke in Int um)
- * - DOUBLE
- * - CURRENCY (Formatiert Zahlen nach Währungsnotation)
- * - VARCHAR (kein weiterer Format Check)
- * - DATE (Datumsformat, Timestamp Umwandlung)
- *
- * Formtype:
- * - TEXT (normales Textfeld)
- * - PASSWORD (Feldinhalt wird nicht angezeigt)
- * - SELECT (Gibt Werte als option Feld aus)
- * - MULTIPLE (Select-Feld mit nehreren Werten)
- *
- * VALUE:
- * - Wert oder Array
- *
- * SEPARATOR
- * - Trennzeichen für multiple Felder
- *
- * Hinweis:
- * Das ID-Feld ist nicht bei den Table Values einzufügen.
- *
- * @package form
- * @author Till Brehm
- * @version 1.1
- */
-
-
-class form {
-
-
-
- /**
- * Definition der Tabelle (array)
- * @var tableDef
- */
- var $tableDef;
-
-
-
- /**
- * Private
- * @var action
- */
- var $action;
-
-
-
- /**
- * Tabellenname (String)
- * @var table_name
- */
- var $table_name;
-
-
-
- /**
- * Debug Variable
- * @var debug
- */
- var $debug = 0;
-
-
-
- /**
- * name des primary Field der Tabelle (string)
- * @var table_index
- */
- var $table_index;
-
-
-
- /**
- * enthält die Fehlermeldung bei Überprüfung
- * der Variablen mit Regex
- * @var errorMessage
- */
- var $errorMessage;
-
- var $dateformat = "d.m.Y";
- var $formDef;
-
-
-
-
-
- /**
- * Laden der Tabellendefinition
- *
- * @param file: Pfad zur Tabellendefinition
- * @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) {
- global $app, $conf;
-
- include_once $file;
- $this->formDef = $form;
- return true;
- }
-
-
-
-
-
-
-
-
- /**
- * Konvertiert die Daten des übergebenen assoziativen
- * Arrays in "menschenlesbare" Form.
- * Datentyp Konvertierung, z.B. für Ausgabe in Listen.
- *
- * @param record
- * @return record
- */
- function decode($record) {
- global $app;
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['datatype']) {
- case 'VARCHAR':
- $new_record[$key] = stripslashes($val);
- break;
-
- case 'DATE':
- if($val > 0) {
- $new_record[$key] = date($this->dateformat, $val);
- }
- break;
-
- case 'INTEGER':
- $new_record[$key] = $app->functions->intval($val);
- break;
-
- case 'DOUBLE':
- $new_record[$key] = $val;
- break;
-
- case 'CURRENCY':
- $new_record[$key] = number_format($val, 2, ',', '');
- break;
-
- default:
- $new_record[$key] = stripslashes($val);
- }
- }
-
- }
- return $new_record;
- }
-
-
-
-
-
- /**
- * Record für Ausgabe in Formularen vorbereiten.
- *
- * @param record = Datensatz als Array
- * @param action = NEW oder EDIT
- * @return record
- */
- function getHTML($record, $action = 'NEW') {
-
- global $app;
-
- if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
- $new_record = array();
- if($action == 'EDIT') {
- $record = $this->decode($record);
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['formtype']) {
- case 'SELECT':
- if(is_array($this->tableDef[$key]['value'])) {
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
- $selected = ($k == $val)?' SELECTED':'';
- $out .= "<option value='$k'$selected>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
- case 'MULTIPLE':
- if(is_array($this->tableDef[$key]['value'])) {
-
- // aufsplitten ergebnisse
- $vals = explode($this->tableDef[$key]['separator'], $val);
-
- // HTML schreiben
- $out = '';
- foreach($this->tableDef[$key]['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;
-
- default:
- $new_record[$key] = htmlspecialchars($val);
- }
- }
- }
- } else {
- foreach($this->tableDef as $key => $val) {
- switch ($this->tableDef[$key]['formtype']) {
- case 'SELECT':
- if(is_array($this->tableDef[$key]['value'])) {
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
- $selected = ($k == $val)?' SELECTED':'';
- $out .= "<option value='$k'$selected>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
- case 'MULTIPLE':
- if(is_array($this->tableDef[$key]['value'])) {
-
- // aufsplitten ergebnisse
- $vals = explode($this->tableDef[$key]['separator'], $val);
-
- // HTML schreiben
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
-
- $out .= "<option value='$k'>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
-
- case 'PASSWORD':
- $new_record[$key] = '';
- break;
-
- default:
- $new_record[$key] = htmlspecialchars($this->tableDef[$key]['value']);
- }
- }
-
- }
-
- if($this->debug == 1) $this->dbg($new_record);
-
- return $new_record;
- }
-
-
-
-
-
- /**
- * Record in "maschinen lesbares" Format überführen
- * und Werte gegen reguläre Ausdrücke prüfen.
- *
- * @param record = Datensatz als Array
- * @return record
- */
- function encode($record) {
- global $app;
- $this->errorMessage = '';
-
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['datatype']) {
- case 'VARCHAR':
- if(!is_array($val)) {
- $new_record[$key] = $app->db->quote($val);
- } else {
- $new_record[$key] = implode($this->tableDef[$key]['separator'], $val);
- }
- break;
- case 'DATE':
- if($val > 0) {
- list($tag, $monat, $jahr) = explode('.', $val);
- $new_record[$key] = mktime(0, 0, 0, $monat, $tag, $jahr);
- }
- break;
- case 'INTEGER':
- $new_record[$key] = $app->functions->intval($val);
- break;
- case 'DOUBLE':
- $new_record[$key] = $app->db->quote($val);
- break;
- case 'CURRENCY':
- $new_record[$key] = str_replace(",", ".", $val);
- break;
- }
-
- if($this->tableDef[$key]['regex'] != '') {
- // Enable that "." matches also newlines
- $this->tableDef[$key]['regex'] .= 's';
- if(!preg_match($this->tableDef[$key]['regex'], $val)) {
- $this->errorMessage .= $this->tableDef[$key]['errmsg']."<br>\r\n";
- }
- }
- }
-
- }
- return $new_record;
- }
-
-
-
-
-
- /**
- * SQL Statement für Record erzeugen.
- *
- * @param record = Datensatz als Array
- * @param action = INSERT oder UPDATE
- * @param primary_id
- * @return record
- */
- function getSQL($record, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') {
-
- global $app;
-
- $record = $this->encode($record);
- $sql_insert_key = '';
- $sql_insert_val = '';
- $sql_update = '';
-
- if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
- // gehe durch alle Felder des Records
- if(is_array($record)) {
- foreach($record as $key => $val) {
- // Wenn es kein leeres Passwortfeld ist
- if (!($this->tableDef[$key]['formtype'] == 'PASSWORD' and $val == '')) {
- // gehe durch alle Felder der TableDef
- foreach($this->tableDef as $tk => $tv) {
- // Wenn Feld in TableDef enthalten ist
- if($tk == $key) {
- // Erzeuge Insert oder Update Quelltext
- if($action == "INSERT") {
-
- if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
- $sql_insert_key .= "`$key`, ";
- $sql_insert_val .= "md5('$val'), ";
- //} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
- // $val = implode($this->tableDef[$key]['separator'],$val);
- // $sql_insert_key .= "`$key`, ";
- // $sql_insert_val .= "'$val', ";
- } else {
- $sql_insert_key .= "`$key`, ";
- $sql_insert_val .= "'$val', ";
- }
-
- } else {
-
- if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
- $sql_update .= "`$key` = md5('$val'), ";
- //} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
- // $val = implode($this->tableDef[$key]['separator'],$val);
- // $sql_update .= "`$key` = '$val', ";
- } else {
- $sql_update .= "`$key` = '$val', ";
- }
-
- }
- }
- }
- }
- }
- }
-
- // Füge Backticks nur bei unvollständigen Tabellennamen ein
- if(stristr($this->table_name, '.')) {
- $escape = '';
- } else {
- $escape = '`';
- }
-
-
- if($action == "INSERT") {
- $sql_insert_key = substr($sql_insert_key, 0, -2);
- $sql_insert_val = substr($sql_insert_val, 0, -2);
- $sql = "INSERT INTO ".$escape.$this->table_name.$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
- } else {
- if($primary_id != 0) {
- $sql_update = substr($sql_update, 0, -2);
- $sql = "UPDATE ".$escape.$this->table_name.$escape." SET ".$sql_update." WHERE ".$this->table_index ." = ".$primary_id;
- if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
- } else {
- $app->error("Primary ID fehlt!");
- }
- }
-
- return $sql;
- }
-
-
-
-
-
- /**
- * Debugging arrays.
- *
- * @param array_data
- */
- function dbg($array_data) {
-
- echo "<pre>";
- print_r($array_data);
- echo "</pre>";
-
- }
-
-
- function showForm() {
- global $app, $conf;
-
- if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen.");
-
- if($this->errorMessage == '') {
- // wenn kein Fehler vorliegt
- if($_REQUEST["next_tab"] != '') {
- // wenn nächster Tab bekannt
- $active_tab = $_REQUEST["next_tab"];
- } else {
- // ansonsten ersten tab nehmen
- $active_tab = $this->formDef["tabs"][0]["name"];
- }
- } else {
- // bei Fehlern den gleichen Tab nochmal anzeigen
- $active_tab = $_SESSION["s"]["form"]["tab"];
- }
-
- // definiere Tabs
- foreach( $this->formDef["tabs"] as $tab) {
-
- if($tab["name"] == $active_tab) {
- $app->tpl->setInclude('content_tpl', $tab["template"]);
- $tab["active"] = 1;
- $_SESSION["s"]["form"]["tab"] = $tab["name"];
- } else {
- $tab["active"] = 0;
- }
-
- $frmTab[] = $tab;
- }
-
- // setze Loop
- $app->tpl->setLoop("formTab", $frmTab);
-
- // Formular action setzen
- $app->tpl->setVar('form_action', $this->formDef["action"]);
- }
-
-
-}
-
-?>
diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php
index 8a287a4..2be5fb7 100644
--- a/interface/lib/classes/functions.inc.php
+++ b/interface/lib/classes/functions.inc.php
@@ -202,7 +202,7 @@
}
$ips = array();
- $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'");
+ $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$app->db->quote($type)."'");
if(!empty($results) && is_array($results)){
foreach($results as $result){
if(preg_match($regex, $result['ip'])){
@@ -388,6 +388,32 @@
return implode("\n", $domains);
}
+ public function is_allowed_user($username, $restrict_names = false) {
+ global $app;
+
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($username,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
+
+ if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
+
+ return true;
+ }
+
+ public function is_allowed_group($groupname, $restrict_names = false) {
+ global $app;
+
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($groupname,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
+
+ if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
+
+ return true;
+ }
+
}
?>
diff --git a/interface/lib/classes/getconf.inc.php b/interface/lib/classes/getconf.inc.php
index 45fefa6..a246b18 100644
--- a/interface/lib/classes/getconf.inc.php
+++ b/interface/lib/classes/getconf.inc.php
@@ -31,6 +31,7 @@
class getconf {
private $config;
+ private $security_config;
public function get_server_config($server_id, $section = '') {
global $app;
@@ -54,6 +55,22 @@
}
return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
}
+
+ // Function has been moved to $app->get_security_config($section)
+ public function get_security_config($section = '') {
+ global $app;
+
+ if(is_array($this->security_config)) {
+ return ($section == '') ? $this->security_config : $this->security_config[$section];
+ } else {
+ $app->uses('ini_parser');
+ $security_config_path = '/usr/local/ispconfig/security/security_settings.ini';
+ if(!is_file($security_config_path)) $security_config_path = realpath(ISPC_ROOT_PATH.'/../security/security_settings.ini');
+ $this->security_config = $app->ini_parser->parse_ini_string(file_get_contents($security_config_path));
+
+ return ($section == '') ? $this->security_config : $this->security_config[$section];
+ }
+ }
}
diff --git a/interface/lib/classes/ids.inc.php b/interface/lib/classes/ids.inc.php
new file mode 100644
index 0000000..ac5cb19
--- /dev/null
+++ b/interface/lib/classes/ids.inc.php
@@ -0,0 +1,148 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, 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.
+*/
+
+class ids {
+
+ public function start()
+ {
+ global $app, $conf;
+
+ $security_config = $app->getconf->get_security_config('ids');
+
+ set_include_path(
+ get_include_path()
+ . PATH_SEPARATOR
+ . ISPC_CLASS_PATH.'/'
+ );
+
+ require_once(ISPC_CLASS_PATH.'/IDS/Init.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Monitor.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Filter.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Filter/Storage.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Report.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Event.php');
+ require_once(ISPC_CLASS_PATH.'/IDS/Converter.php');
+
+ $ids_request = array(
+ 'GET' => $_GET,
+ 'POST' => $_POST,
+ 'COOKIE' => $_COOKIE
+ );
+
+ $ids_init = IDS\Init::init(ISPC_CLASS_PATH.'/IDS/Config/Config.ini.php');
+
+ $ids_init->config['General']['base_path'] = ISPC_CLASS_PATH.'/IDS/';
+ $ids_init->config['General']['tmp_path'] = '../../../temp';
+ $ids_init->config['General']['use_base_path'] = true;
+ $ids_init->config['Caching']['caching'] = 'none';
+ $ids_init->config['Logging']['path'] = '../../../temp/ids.log';
+
+ $current_script_name = trim($_SERVER['SCRIPT_NAME']);
+
+ // Get whitelist
+ $whitelist_path = '/usr/local/ispconfig/security/ids.whitelist';
+ if(is_file('/usr/local/ispconfig/security/ids.whitelist.custom')) $whitelist_path = '/usr/local/ispconfig/security/ids.whitelist.custom';
+ if(!is_file($whitelist_path)) $whitelist_path = realpath(ISPC_ROOT_PATH.'/../security/ids.whitelist');
+
+ $whitelist_lines = file($whitelist_path);
+ if(is_array($whitelist_lines)) {
+ foreach($whitelist_lines as $line) {
+ $line = trim($line);
+ if(substr($line,0,1) != '#') {
+ list($user,$path,$varname) = explode(':',$line);
+ if($current_script_name == $path) {
+ if($user = 'any'
+ || ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin'))
+ || ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
+ $ids_init->config['General']['exceptions'][] = $varname;
+
+ }
+ }
+ }
+ }
+ }
+
+ // Get HTML fields
+ $htmlfield_path = '/usr/local/ispconfig/security/ids.htmlfield';
+ if(is_file('/usr/local/ispconfig/security/ids.htmlfield.custom')) $htmlfield_path = '/usr/local/ispconfig/security/ids.htmlfield.custom';
+ if(!is_file($htmlfield_path)) $htmlfield_path = realpath(ISPC_ROOT_PATH.'/../security/ids.htmlfield');
+
+ $htmlfield_lines = file($htmlfield_path);
+ if(is_array($htmlfield_lines)) {
+ foreach($htmlfield_lines as $line) {
+ $line = trim($line);
+ if(substr($line,0,1) != '#') {
+ list($user,$path,$varname) = explode(':',$line);
+ if($current_script_name == $path) {
+ if($user = 'any'
+ || ($user == 'user' && ($_SESSION['s']['user']['typ'] == 'user' || $_SESSION['s']['user']['typ'] == 'admin'))
+ || ($user == 'admin' && $_SESSION['s']['user']['typ'] == 'admin')) {
+ $ids_init->config['General']['html'][] = $varname;
+ }
+ }
+ }
+ }
+ }
+
+ $ids = new IDS\Monitor($ids_init);
+ $ids_result = $ids->run($ids_request);
+
+ if (!$ids_result->isEmpty()) {
+
+ $impact = $ids_result->getImpact();
+
+ if($impact >= $security_config['ids_log_level']) {
+ $ids_log = ISPC_ROOT_PATH.'/temp/ids.log';
+ if(!is_file($ids_log)) touch($ids_log);
+
+ $user = isset($_SESSION['s']['user']['typ'])?$_SESSION['s']['user']['typ']:'any';
+
+ $log_lines = '';
+ foreach ($ids_result->getEvents() as $event) {
+ $log_lines .= $user.':'.$current_script_name.':'.$event->getName()."\n";
+ }
+ file_put_contents($ids_log,$log_lines,FILE_APPEND);
+
+ }
+
+ if($impact >= $security_config['ids_warn_level']) {
+ $app->log("PHP IDS Alert.".$ids_result, 2);
+ }
+
+ if($impact >= $security_config['ids_block_level']) {
+ $app->error("Possible attack detected. This action has been logged.",'', true, 2);
+ }
+
+ }
+ }
+
+}
+
+?>
diff --git a/interface/lib/classes/ispcmail.inc.php b/interface/lib/classes/ispcmail.inc.php
index 930aabb..c92601c 100644
--- a/interface/lib/classes/ispcmail.inc.php
+++ b/interface/lib/classes/ispcmail.inc.php
@@ -589,7 +589,7 @@
* @access private
*/
private function _smtp_login() {
- $this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'ssl://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30);
+ $this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'tls://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30);
$response = fgets($this->_smtp_conn, 515);
if(empty($this->_smtp_conn)) return false;
diff --git a/interface/lib/classes/ispconfig_request.inc.php b/interface/lib/classes/ispconfig_request.inc.php
index b29ae23..479c11b 100644
--- a/interface/lib/classes/ispconfig_request.inc.php
+++ b/interface/lib/classes/ispconfig_request.inc.php
@@ -53,8 +53,7 @@
$url_info = parse_url($url);
if(isset($url_info['scheme']) && $url_info['scheme'] == 'https') {
$port = isset($url_info['port']) ? $url_info['port'] : 443;
- //@$fp = stream_socket_client('ssl://' . $url_info['host'] . ':' . $port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, stream_context_create(array('ssl' => array('ciphers' => 'ALL:!AES:!3DES:!RC4:@STRENGTH'))));
- @$fp = fsockopen('sslv3://' . $url_info['host'], $port, $errno, $errstr, 10);
+ @$fp = fsockopen('tls://' . $url_info['host'], $port, $errno, $errstr, 10);
} else {
$port = isset($url_info['port']) ? $url_info['port'] : 80;
@$fp = fsockopen($url_info['host'], $port, $errno, $errstr, 10);
@@ -169,8 +168,7 @@
$url_info = parse_url($url);
if((isset($url_info['scheme']) && $url_info['scheme'] == 'https') || $url_info['port'] == 443) {
$port = (!isset($url_info['port']) || !$url_info['port'] || $url_info['port'] == 443 || $url_info['port'] == 80) ? 443 : $url_info['port'];
- //@$fp = stream_socket_client('ssl://' . $url_info['host'] . ':' . $port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, stream_context_create(array('ssl' => array('ciphers' => 'ALL:!AES:!3DES:!RC4:@STRENGTH'))));
- @$fp = fsockopen('sslv3://' . $url_info['host'], $port, $errno, $errstr, 10);
+ @$fp = fsockopen('tls://' . $url_info['host'], $port, $errno, $errstr, 10);
} else {
$port = isset($url_info['port']) ? $url_info['port'] : 80;
@$fp = fsockopen($url_info['host'], $port, $errno, $errstr, 10);
diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php
index 14c1a13..1b613a9 100644
--- a/interface/lib/classes/listform.inc.php
+++ b/interface/lib/classes/listform.inc.php
@@ -97,6 +97,7 @@
$querystring = str_replace("{AUTHSQL}", $app->tform->getAuthSQL('r'), $querystring);
$querystring = str_replace("{AUTHSQL-A}", $app->tform->getAuthSQL('r', 'a'), $querystring);
$querystring = str_replace("{AUTHSQL-B}", $app->tform->getAuthSQL('r', 'b'), $querystring);
+ $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
//* Getting the records
$tmp_records = $app->db->queryAllRecords($querystring);
@@ -248,6 +249,8 @@
public function getPagingSQL($sql_where = '1')
{
global $app, $conf;
+
+ $old_search_limit = intval($_SESSION['search']['limit']);
//* Add Global Limit from selectbox
if(!empty($_POST['search_limit']) and $app->functions->intval($_POST['search_limit']) > 0){
@@ -272,6 +275,9 @@
//* set PAGE to worth request variable "PAGE" - ? setze page auf wert der request variablen "page"
if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $app->functions->intval($_REQUEST["page"]);
+
+ //* Set search to changed when search limit has been changed.
+ if(intval($_SESSION['search']['limit']) != $old_search_limit) $this->searchChanged = 1;
//* PAGE to 0 set, if look for themselves ? page auf 0 setzen, wenn suche sich ge�ndert hat.
if($this->searchChanged == 1) $_SESSION['search'][$list_name]['page'] = 0;
diff --git a/interface/lib/classes/remote.d/client.inc.php b/interface/lib/classes/remote.d/client.inc.php
index 445312b..d780ec8 100644
--- a/interface/lib/classes/remote.d/client.inc.php
+++ b/interface/lib/classes/remote.d/client.inc.php
@@ -158,13 +158,31 @@
public function client_add($session_id, $reseller_id, $params)
{
+ global $app;
+
if (!$this->checkPerm($session_id, 'client_add'))
{
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
- $affected_rows = $this->klientadd('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $params);
+
+ if($params['parent_client_id']) {
+ // check if this one is reseller
+ $check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($params['parent_client_id']));
+ if($check['limit_client'] == 0) {
+ $this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
+ return false;
+ }
+
+ if(isset($params['limit_client']) && $params['limit_client'] != 0) {
+ $this->server->fault('Invalid reseller', 'Reseller cannot be client of another reseller.');
+ return false;
+ }
+ }
+
+ $affected_rows = $this->klientadd('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $params);
+
return $affected_rows;
}
@@ -180,11 +198,27 @@
}
$app->uses('remoting_lib');
- $app->remoting_lib->loadFormDef('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php');
+ $app->remoting_lib->loadFormDef('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php');
$old_rec = $app->remoting_lib->getDataRecord($client_id);
//* merge old record with params, so only new values have to be set in $params
$params = $app->functions->array_merge($old_rec,$params);
+
+ if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
+
+ if($params['parent_client_id']) {
+ // check if this one is reseller
+ $check = $app->db->queryOneRecord('SELECT `limit_client` FROM `client` WHERE `client_id` = ' . intval($params['parent_client_id']));
+ if($check['limit_client'] == 0) {
+ $this->server->fault('Invalid reseller', 'Selected client is not a reseller.');
+ return false;
+ }
+
+ if(isset($params['limit_client']) && $params['limit_client'] != 0) {
+ $this->server->fault('Invalid reseller', 'Reseller cannot be client of another reseller.');
+ return false;
+ }
+ }
// we need the previuos templates assigned here
$this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $client_id);
@@ -208,8 +242,7 @@
}
- if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
- $affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($reseller_id ? 'reseller' : 'client') . ':on_after_update');
+ $affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] != 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($reseller_id ? 'reseller' : 'client') . ':on_after_update');
$app->remoting_lib->ispconfig_sysuser_update($params, $client_id);
diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php
index dcb187b..8b3a7cf 100644
--- a/interface/lib/classes/session.inc.php
+++ b/interface/lib/classes/session.inc.php
@@ -88,25 +88,21 @@
// Dont write session_data to DB if session data has not been changed after reading it.
if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) {
$session_id = $this->db->quote($session_id);
- $last_updated = date('Y-m-d H:i:s');
- $this->db->query("UPDATE sys_session SET last_updated = '$last_updated' WHERE session_id = '$session_id'");
+ $this->db->query("UPDATE sys_session SET last_updated = NOW() WHERE session_id = '$session_id'");
return true;
}
if (@$this->session_array['session_id'] == '') {
$session_id = $this->db->quote($session_id);
- $date_created = date('Y-m-d H:i:s');
- $last_updated = date('Y-m-d H:i:s');
$session_data = $this->db->quote($session_data);
- $sql = "INSERT INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id','$date_created','$last_updated','$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
+ $sql = "REPLACE INTO sys_session (session_id,date_created,last_updated,session_data,permanent) VALUES ('$session_id',NOW(),NOW(),'$session_data','" . ($this->permanent ? 'y' : 'n') . "')";
$this->db->query($sql);
} else {
$session_id = $this->db->quote($session_id);
- $last_updated = date('Y-m-d H:i:s');
$session_data = $this->db->quote($session_data);
- $sql = "UPDATE sys_session SET last_updated = '$last_updated', session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
+ $sql = "UPDATE sys_session SET last_updated = NOW(), session_data = '$session_data'" . ($this->permanent ? ", `permanent` = 'y'" : "") . " WHERE session_id = '$session_id'";
$this->db->query($sql);
}
@@ -128,18 +124,11 @@
/*if($this->timeout > 0) {
$this->db->query("DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($this->timeout) . " MINUTE)");
} else {*/
- $real_now = date('Y-m-d H:i:s');
- $dt1 = strtotime("$real_now -$max_lifetime seconds");
- $dt2 = date('Y-m-d H:i:s', $dt1);
-
- $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2' AND `permanent` != 'y'";
+ $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL " . intval($max_lifetime) . " SECOND) AND `permanent` != 'y'";
$this->db->query($sql);
/* delete very old even if they are permanent */
- $dt1 = strtotime("$real_now -365 days");
- $dt2 = date('Y-m-d H:i:s', $dt1);
-
- $sql = "DELETE FROM sys_session WHERE last_updated < '$dt2'";
+ $sql = "DELETE FROM sys_session WHERE last_updated < DATE_SUB(NOW(), INTERVAL 1 YEAR)";
$this->db->query($sql);
//}
diff --git a/interface/lib/classes/sites_database_plugin.inc.php b/interface/lib/classes/sites_database_plugin.inc.php
index d255fdc..bf53c61 100644
--- a/interface/lib/classes/sites_database_plugin.inc.php
+++ b/interface/lib/classes/sites_database_plugin.inc.php
@@ -33,144 +33,27 @@
public function processDatabaseInsert($form_page) {
global $app;
- /*if($form_page->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
-
- //* The Database user shall be owned by the same group then the website
- $sys_groupid = $web['sys_groupid'];
- } else {
- $sys_groupid = $form_page->dataRecord['sys_groupid'];
- }
-
-
- if($form_page->dataRecord['database_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "')");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
-
- if($form_page->dataRecord['database_ro_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "')");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }*/
+ $this->processDatabaseUpdate($form_page);
}
public function processDatabaseUpdate($form_page) {
global $app;
- /*$old_record = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_id` = ' . $app->functions->intval($form_page->id));
+ if($form_page->dataRecord["parent_domain_id"] > 0) {
+ $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
- if($form_page->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($form_page->dataRecord["parent_domain_id"]));
+ //* The Database user shall be owned by the same group then the website
+ $sys_groupid = $app->functions->intval($web['sys_groupid']);
+ $backup_interval = $app->db->quote($web['backup_interval']);
+ $backup_copies = $app->functions->intval($web['backup_copies']);
- //* The Database user shall be owned by the same group then the website
- $sys_groupid = $web['sys_groupid'];
- } else {
- $sys_groupid = $form_page->dataRecord['sys_groupid'];
- }
-
- // check if database user has changed
- if($old_record['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_ro_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "') AND `database_id` != '" . $app->functions->intval($form_page->id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
- // check if readonly database user has changed
- if($old_record['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "') AND `database_id` != '" . $app->functions->intval($form_page->id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }*/
-
- /*if($form_page->dataRecord['database_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "')");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
-
- if($form_page->dataRecord['database_ro_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "')");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($form_page->dataRecord['database_ro_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }*/
-
+ $sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$form_page->id;
+ $app->db->query($sql);
+ }
}
public function processDatabaseDelete($primary_id) {
global $app;
-
- /*$old_record = $app->db->queryOneRecord('SELECT * FROM `web_database` WHERE `database_id` = ' . $app->functions->intval($primary_id));
- if($old_record['database_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($old_record['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "') AND `database_id` != '" . $app->functions->intval($primary_id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $old_record['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
- if($old_record['database_ro_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . $app->functions->intval($old_record['server_id']) . "' AND (`database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "') AND `database_id` != '" . $app->functions->intval($primary_id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . $app->functions->intval($old_record['database_ro_user_id']) . "'");
- if($db_user) {
- $db_user['server_id'] = $old_record['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }*/
}
diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 639689d..7912f53 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -66,6 +66,7 @@
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;
@@ -249,7 +250,7 @@
*/
function _getDateTimeHTML($form_element, $default_value, $display_seconds=false)
{
- $_datetime = strtotime($default_value);
+ $_datetime = ($default_value && $default_value != '0000-00-00 00:00:00' ? strtotime($default_value) : false);
$_showdate = ($_datetime === false) ? false : true;
$dselect = array('day', 'month', 'year', 'hour', 'minute');
diff --git a/interface/lib/classes/tform_base.inc.php b/interface/lib/classes/tform_base.inc.php
index 329f1ef..e27940d 100644
--- a/interface/lib/classes/tform_base.inc.php
+++ b/interface/lib/classes/tform_base.inc.php
@@ -270,7 +270,7 @@
unset($tmp_recordid);
$querystring = str_replace("{AUTHSQL}", $this->getAuthSQL('r'), $querystring);
- $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', array($this, 'table_auth_sql'), $querystring);
+ $querystring = preg_replace_callback('@{AUTHSQL::(.+?)}@', create_function('$matches','global $app; $tmp = $app->tform->getAuthSQL("r", $matches[1]); return $tmp;'), $querystring);
// Getting the records
$tmp_records = $app->db->queryAllRecords($querystring);
@@ -312,10 +312,12 @@
}
+ /*
function table_auth_sql($matches){
return $this->getAuthSQL('r', $matches[1]);
}
-
+ */
+
/**
* Get the key => value array of a form filled from a datasource definitiom
*
diff --git a/interface/lib/classes/tform_tpl_generator.inc.php b/interface/lib/classes/tform_tpl_generator.inc.php
index a2da276..49fd274 100644
--- a/interface/lib/classes/tform_tpl_generator.inc.php
+++ b/interface/lib/classes/tform_tpl_generator.inc.php
@@ -268,7 +268,7 @@
case 'TEXT':
$type = 'text';
$typevalue = '';
- $defaultValue = 'NULL';
+ $defaultValue = NULL;
break;
case 'DATE':
$type = 'date';
diff --git a/interface/lib/classes/validate_domain.inc.php b/interface/lib/classes/validate_domain.inc.php
index 988945d..a072412 100644
--- a/interface/lib/classes/validate_domain.inc.php
+++ b/interface/lib/classes/validate_domain.inc.php
@@ -97,6 +97,45 @@
$result = $this->_check_unique($field_value . '.' . $check_domain, true);
if(!$result) return $this->get_error('domain_error_autosub');
}
+
+ /* Check apache directives */
+ function web_apache_directives($field_name, $field_value, $validator) {
+ global $app;
+
+ if(trim($field_value) != '') {
+ $security_config = $app->getconf->get_security_config('ids');
+
+ if($security_config['apache_directives_scan_enabled'] == 'yes') {
+
+ // Get blacklist
+ $blacklist_path = '/usr/local/ispconfig/security/apache_directives.blacklist';
+ if(is_file('/usr/local/ispconfig/security/apache_directives.blacklist.custom')) $blacklist_path = '/usr/local/ispconfig/security/apache_directives.blacklist.custom';
+ if(!is_file($blacklist_path)) $blacklist_path = realpath(ISPC_ROOT_PATH.'/../security/apache_directives.blacklist');
+
+ $directives = explode("\n",$field_value);
+ $regex = explode("\n",file_get_contents($blacklist_path));
+ $blocked = false;
+ $blocked_line = '';
+
+ if(is_array($directives) && is_array($regex)) {
+ foreach($directives as $directive) {
+ $directive = trim($directive);
+ foreach($regex as $r) {
+ if(preg_match(trim($r),$directive)) {
+ $blocked = true;
+ $blocked_line .= $directive.'<br />';
+ };
+ }
+ }
+ }
+ }
+ }
+
+ if($blocked === true) {
+ return $this->get_error('apache_directive_blocked_error').' '.$blocked_line;
+ }
+ }
+
/* internal validator function to match regexp */
function _regex_validate($domain_name, $allow_wildcard = false) {
@@ -123,156 +162,41 @@
}
// check if domain has alias/subdomains - if we move a web to another IP, make sure alias/subdomains are checked as well
- $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain')");
+ $aliassubdomains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$app->functions->intval($primary_id)." AND (type = 'alias' OR type = 'subdomain' OR type = 'vhostsubdomain')");
$additional_sql1 = '';
$additional_sql2 = '';
if(is_array($aliassubdomains) && !empty($aliassubdomains)){
foreach($aliassubdomains as $aliassubdomain){
- $additional_sql1 .= " OR `domain` = '".$app->db->quote($aliassubdomain['domain'])."'";
- $additional_sql2 .= " OR CONCAT(`subdomain`, '.', `domain`) = '".$app->db->quote($aliassubdomain['domain'])."'";
+ $additional_sql1 .= " OR d.domain = '".$app->db->quote($aliassubdomain['domain'])."'";
+ $additional_sql2 .= " OR CONCAT(d.subdomain, '.', d.domain) = '".$app->db->quote($aliassubdomain['domain'])."'";
}
}
-
- //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `domain` = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
- //if($check['cnt'] > 0) return false;
-
- // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
- $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (`domain` = '" . $app->db->quote($domain_name) . "'".$additional_sql1.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql1 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
-
+
+
+ $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (d.domain = '" . $app->db->quote($domain_name) . "'" . $additional_sql1 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
+ $checks = $app->db->queryAllRecords($qrystr);
if(is_array($checks) && !empty($checks)){
foreach($checks as $check){
if($domain['ip_address'] == '*') return false;
if($check['ip_address'] == '*') return false;
if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
- // if alias/subdomain: check IP addresses of parent domain
- if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
- if($check['parent_domain_id'] > 0){
- $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$check['parent_domain_id']);
- }
- }
-
- if($domain['ip_address'] == '' && $check['ip_address'] != ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ip_address'] == '*') return false;
- if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
- }
- }
-
- if($domain['ip_address'] == '' && $check['ip_address'] == ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ip_address'] == '*') return false;
- }
- }
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ip_address'] == '*') return false;
- if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
- }
- }
-
- if($check['ip_address'] == '' && $domain['ip_address'] != ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ip_address'] == '*') return false;
- if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
- }
- }
- }
-
- if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
- }
- }
-
- if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
- }
- }
-
- if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
- }
- }
- }
}
}
-
-
+
if($only_domain == false) {
- //$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "' AND `domain_id` != " . $app->functions->intval($primary_id));
- //if($check['cnt'] > 0) return false;
- // we can have the same domain on different servers or different IPs, so we have to check for identical domains on the same IP (or wildcard IPs)
- $checks = $app->db->queryAllRecords("SELECT * FROM `web_domain` WHERE (CONCAT(`subdomain`, '.', `domain`) = '" . $app->db->quote($domain_name) . "'".$additional_sql2.") AND `server_id` = ".intval($domain['server_id'])." AND `domain_id` != " . $app->functions->intval($primary_id).($additional_sql2 != '' ? " AND `parent_domain_id` != ".$app->functions->intval($primary_id) : ""));
+ $qrystr = "SELECT d.domain_id, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ip_address, d.ip_address) as `ip_address`, IF(d.parent_domain_id != 0 AND p.domain_id IS NOT NULL, p.ipv6_address, d.ipv6_address) as `ipv6_address` FROM `web_domain` as d LEFT JOIN `web_domain` as p ON (p.domain_id = d.parent_domain_id) WHERE (CONCAT(d.subdomain, '.', d.domain)= '" . $app->db->quote($domain_name) . "'" . $additional_sql2 . ") AND d.server_id = " . $app->functions->intval($domain['server_id']) . " AND d.domain_id != " . $app->functions->intval($primary_id) . ($primary_id ? " AND d.parent_domain_id != " . $app->functions->intval($primary_id) : "");
+ $checks = $app->db->queryAllRecords($qrystr);
if(is_array($checks) && !empty($checks)){
foreach($checks as $check){
if($domain['ip_address'] == '*') return false;
if($check['ip_address'] == '*') return false;
if($domain['ip_address'] != '' && $check['ip_address'] == $domain['ip_address']) return false;
if($domain['ipv6_address'] != '' && $check['ipv6_address'] == $domain['ipv6_address']) return false;
- // if alias/subdomain: check IP addresses of parent domain
- if($check['ip_address'] == '' || $check['ipv6_address'] == ''){
- if($check['parent_domain_id'] > 0){
- $check_parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = ".$app->functions->intval($check['parent_domain_id']));
- }
- }
-
- if($domain['ip_address'] == '' && $check['ip_address'] != ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ip_address'] == '*') return false;
- if($parent_domain['ip_address'] != '' && $check['ip_address'] == $parent_domain['ip_address']) return false;
- }
- }
-
- if($domain['ip_address'] == '' && $check['ip_address'] == ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ip_address'] == '*') return false;
- }
- }
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ip_address'] == '*') return false;
- if($parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $parent_domain['ip_address']) return false;
- }
- }
-
- if($check['ip_address'] == '' && $domain['ip_address'] != ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ip_address'] == '*') return false;
- if($check_parent_domain['ip_address'] != '' && $check_parent_domain['ip_address'] == $domain['ip_address']) return false;
- }
- }
- }
-
- if($domain['ipv6_address'] == '' && $check['ipv6_address'] != ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ipv6_address'] != '' && $check['ipv6_address'] == $parent_domain['ipv6_address']) return false;
- }
- }
-
- if($domain['ipv6_address'] == '' && $check['ipv6_address'] == ''){
- if(is_array($parent_domain) && !empty($parent_domain)){
- if($parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $parent_domain['ipv6_address']) return false;
- }
- }
-
- if($check['ipv6_address'] == '' && $domain['ipv6_address'] != ''){
- if($check['parent_domain_id'] > 0){
- if(is_array($check_parent_domain) && !empty($check_parent_domain)){
- if($check_parent_domain['ipv6_address'] != '' && $check_parent_domain['ipv6_address'] == $domain['ipv6_address']) return false;
- }
- }
- }
}
}
-
}
-
+
return true;
}
@@ -290,5 +214,6 @@
}
return true; // admin may always add wildcard domain
}
+
}
diff --git a/interface/lib/classes/validate_ftpuser.inc.php b/interface/lib/classes/validate_ftpuser.inc.php
index 64ca12f..8e0663e 100644
--- a/interface/lib/classes/validate_ftpuser.inc.php
+++ b/interface/lib/classes/validate_ftpuser.inc.php
@@ -36,7 +36,10 @@
function ftp_dir($field_name, $field_value, $validator) {
global $app;
- if($app->tform->primary_id == 0) {
+ $primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id;
+ $primary_id = $app->functions->intval($primary_id);
+
+ if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) {
$errmsg = $validator['errmsg'];
if(isset($app->tform->wordbook[$errmsg])) {
return $app->tform->wordbook[$errmsg]."<br>\r\n";
@@ -45,18 +48,25 @@
}
}
-
- $ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($app->tform->primary_id)."'");
- if(!is_array($ftp_data) || $ftp_data["parent_domain_id"] < 1) {
- $errmsg = $validator['errmsg'];
- if(isset($app->tform->wordbook[$errmsg])) {
- return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ if($primary_id > 0) {
+ //* get parent_domain_id from website
+ $ftp_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM ftp_user WHERE ftp_user_id = '".$app->db->quote($primary_id)."'");
+ if(!is_array($ftp_data) || $ftp_data["parent_domain_id"] < 1) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
} else {
- return $errmsg."<br>\r\n";
+ $parent_domain_id = $ftp_data["parent_domain_id"];
}
+ } else {
+ //* get parent_domain_id from dataRecord when we have a insert operation trough remote API
+ $parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']);
}
- $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($ftp_data["parent_domain_id"])."'");
+ $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'");
if(!is_array($domain_data) || $domain_data["domain_id"] < 1) {
$errmsg = $validator['errmsg'];
if(isset($app->tform->wordbook[$errmsg])) {
diff --git a/interface/lib/classes/validate_password.inc.php b/interface/lib/classes/validate_password.inc.php
index 998c37c..da044c6 100644
--- a/interface/lib/classes/validate_password.inc.php
+++ b/interface/lib/classes/validate_password.inc.php
@@ -53,10 +53,11 @@
$different += 1;
}
- if (preg_match('/[`~!@#$%^&*()_+|\\=-[]}{\';:\/?.>,<" ]/', $password)) {
+ if (preg_match('/[`~!@#$%^&*()_+|\\=-\[\]}{\';:\/?.>,<" ]/', $password)) {
$points += 1;
$different += 1;
}
+
if ($points == 0 || $different < 3) {
if ($length >= 5 && $length <= 6) {
@@ -122,7 +123,7 @@
$lng_text = str_replace('{chars}', $min_password_length, $lng_text);
}
if(!$lng_text) $lng_text = 'weak_password_txt'; // always return a string, even if language is missing - otherwise validator is NOT MATCHING!
-
+
if(strlen($field_value) < $min_password_length) return $lng_text;
if($this->_get_password_strength($field_value) < $min_password_strength) return $lng_text;
diff --git a/interface/lib/classes/validate_systemuser.inc.php b/interface/lib/classes/validate_systemuser.inc.php
new file mode 100644
index 0000000..2cab1cf
--- /dev/null
+++ b/interface/lib/classes/validate_systemuser.inc.php
@@ -0,0 +1,146 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+class validate_systemuser {
+
+ 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 to check if a given user is ok.
+ */
+ function check_sysuser($field_name, $field_value, $validator) {
+ global $app;
+
+ //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_user field here.
+ if($field_name == 'system_user' && $field_value == '-') return '';
+
+ //* Check the input
+ $errmsg = $validator['errmsg'];
+ $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
+
+ if($app->functions->is_allowed_user(trim(strtolower($field_value)),$check_names) == false) {
+ return $this->get_error($errmsg);
+ }
+ }
+
+ /*
+ Validator function to check if a given group is ok.
+ */
+ function check_sysgroup($field_name, $field_value, $validator) {
+ global $app;
+
+ //* Skip Test if we have the placeholder input of the remote APi for the web_domain system_group field here.
+ if($field_name == 'system_group' && $field_value == '-') return '';
+
+ $errmsg = $validator['errmsg'];
+ $check_names = (isset($validator['check_names']) && $validator['check_names'] == true)?true:false;
+
+ if($app->functions->is_allowed_group(trim(strtolower($field_value)),$check_names) == false) {
+ return $this->get_error($errmsg);
+ }
+ }
+
+ /*
+ Validator function to check if a given dir is ok.
+ */
+ function shelluser_dir($field_name, $field_value, $validator) {
+ global $app;
+
+ $primary_id = (isset($app->tform->primary_id) && $app->tform->primary_id > 0)?$app->tform->primary_id:$app->remoting_lib->primary_id;
+ $primary_id = $app->functions->intval($primary_id);
+
+ if($primary_id == 0 && !isset($app->remoting_lib->dataRecord['parent_domain_id'])) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
+ }
+
+ if($primary_id > 0) {
+ //* get parent_domain_id from website
+ $shell_data = $app->db->queryOneRecord("SELECT parent_domain_id FROM shell_user WHERE shell_user_id = '".$app->db->quote($primary_id)."'");
+ if(!is_array($shell_data) || $shell_data["parent_domain_id"] < 1) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
+ } else {
+ $parent_domain_id = $shell_data["parent_domain_id"];
+ }
+ } else {
+ //* get parent_domain_id from dataRecord when we have a insert operation trough remote API
+ $parent_domain_id = $app->functions->intval($app->remoting_lib->dataRecord['parent_domain_id']);
+ }
+
+ $domain_data = $app->db->queryOneRecord("SELECT domain_id, document_root FROM web_domain WHERE domain_id = '".$app->db->quote($parent_domain_id)."'");
+ if(!is_array($domain_data) || $domain_data["domain_id"] < 1) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
+ }
+
+ $doc_root = $domain_data["document_root"];
+ $is_ok = false;
+ if($doc_root == $field_value) $is_ok = true;
+
+ $doc_root .= "/";
+ if(substr($field_value, 0, strlen($doc_root)) == $doc_root) $is_ok = true;
+
+ if(stristr($field_value, '..') or stristr($field_value, './') or stristr($field_value, '/.')) $is_ok = false;
+
+ //* Final check if docroot path of website is >= 5 chars
+ if(strlen($doc_root) < 5) $is_ok = false;
+
+ if($is_ok == false) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
+ }
+ }
+
+}
diff --git a/interface/lib/lang/ar.lng b/interface/lib/lang/ar.lng
index 2bef4b0..ed4bb29 100644
--- a/interface/lib/lang/ar.lng
+++ b/interface/lib/lang/ar.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/bg.lng b/interface/lib/lang/bg.lng
index 09b399a..0438017 100644
--- a/interface/lib/lang/bg.lng
+++ b/interface/lib/lang/bg.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/br.lng b/interface/lib/lang/br.lng
index 7007f7d..275be4d 100644
--- a/interface/lib/lang/br.lng
+++ b/interface/lib/lang/br.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/cz.lng b/interface/lib/lang/cz.lng
index 9601794..b0c8f0b 100644
--- a/interface/lib/lang/cz.lng
+++ b/interface/lib/lang/cz.lng
@@ -147,4 +147,7 @@
$wb['strength_5'] = 'Velmi silná';
$wb['weak_password_txt'] = 'Zvolené heslo neodpovídá požadavkům zásad pro tvorbu hesel. Heslo musí být alespoň {chars} znaků dlouhé a mající sílu \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'Zvolené heslo neodpovídá požadavkům zásad pro tvorbu hesel. Heslo musí být alespoň {chars} znaků dlouhé.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
+
diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng
index dfd1c9b..735b1da 100644
--- a/interface/lib/lang/de.lng
+++ b/interface/lib/lang/de.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Sehr stark';
$wb['weak_password_txt'] = 'Das gewählte Passwort erfüllt die Sicherheitsanforderungen nicht. Es muss mindestens {chars} Zeichen lang sein und die Stärke \\"{strength}\\" besitzen.';
$wb['weak_password_length_txt'] = 'Das gewählte Passwort erfüllt die Sicherheitsanforderungen nicht. Es muss mindestens {chars} Zeichen lang sein.';
+$wb['security_check1_txt'] = 'Sicherheitsüberprüfung für:';
+$wb['security_check2_txt'] = 'fehlgeschlagen.';
?>
diff --git a/interface/lib/lang/el.lng b/interface/lib/lang/el.lng
index 5f7cb70..d8a2715 100644
--- a/interface/lib/lang/el.lng
+++ b/interface/lib/lang/el.lng
@@ -145,6 +145,8 @@
$wb['strength_3'] = 'Good';
$wb['strength_4'] = 'Strong';
$wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng
index ec309d9..c89c97a 100644
--- a/interface/lib/lang/en.lng
+++ b/interface/lib/lang/en.lng
@@ -131,7 +131,6 @@
$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['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.';
@@ -149,5 +148,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
-
-?>
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
+?>
\ No newline at end of file
diff --git a/interface/lib/lang/es.lng b/interface/lib/lang/es.lng
index 38f6103..63e26bd 100644
--- a/interface/lib/lang/es.lng
+++ b/interface/lib/lang/es.lng
@@ -148,4 +148,6 @@
$wb['weak_password_txt'] = 'La contraseña elegida no cumple las directrices de seguridad. Debe tener al menos {chars} caracteres y una fortaleza \"{strength}\".';
$wb['weak_password_length_txt'] = 'La contraseña elegida no cumple las directrices de seguridad. Debe tener al menos {chars} caracteres.';
$wb['Firewall'] = 'Cortafuegos';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/fi.lng b/interface/lib/lang/fi.lng
index 3cdfa12..059c9b2 100755
--- a/interface/lib/lang/fi.lng
+++ b/interface/lib/lang/fi.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/fr.lng b/interface/lib/lang/fr.lng
index f344dc3..c59aac4 100644
--- a/interface/lib/lang/fr.lng
+++ b/interface/lib/lang/fr.lng
@@ -145,6 +145,8 @@
$wb['strength_3'] = 'Good';
$wb['strength_4'] = 'Strong';
$wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \"{strength}\".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/hr.lng b/interface/lib/lang/hr.lng
index 26a98bf..8c62161 100644
--- a/interface/lib/lang/hr.lng
+++ b/interface/lib/lang/hr.lng
@@ -8,16 +8,16 @@
$wb['number_format_decimals_client'] = '2';
$wb['number_format_dec_point'] = ',';
$wb['number_format_thousands_sep'] = '.';
-$wb['delete_confirmation'] = 'Da li želite obrisati ovaj DNS zapis?';
-$wb['error_no_view_permission'] = 'Nemate dozvolu za pregled DNS zapisa ili zapis ne postoji!';
-$wb['error_no_delete_permission'] = 'Nemate dozvolu za brisanje DNS zapisa!';
+$wb['delete_confirmation'] = 'Da li sigurno želite obrisati ovaj zapis?';
+$wb['error_no_view_permission'] = 'Nemate dozvolu za pregled zapisa ili zapis ne postoji!';
+$wb['error_no_delete_permission'] = 'Nemate dozvolu za brisanje zapisa!';
$wb['page_txt'] = 'Stranica';
$wb['page_of_txt'] = 'od';
$wb['page_and_txt'] = 'i';
$wb['page_next_txt'] = 'Naprijed';
$wb['page_back_txt'] = 'Natrag';
$wb['delete_txt'] = 'Obriši';
-$wb['filter_txt'] = 'Filter';
+$wb['filter_txt'] = 'Filtriraj';
$wb['add_new_record_txt'] = 'Dodaj';
$wb['btn_save_txt'] = 'Spremi';
$wb['btn_cancel_txt'] = 'Natrag';
@@ -70,81 +70,85 @@
$wb['datepicker_prevText'] = 'Natrag';
$wb['logout_txt'] = 'Odjavi';
$wb['conf_format_dateshort_human_readable'] = 'yyyy-mm-dd';
-$wb['submit_confirmation'] = 'Do you really want to perform this action?';
+$wb['submit_confirmation'] = 'Da li stvarno želite nastaviti?';
$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['client_you_are_locked'] = 'You have no permission to change any settings.';
-$wb['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
-$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'This client has records in the billing module, therefore he cannot be deleted.';
-$wb['yes_txt'] = 'Yes';
-$wb['no_txt'] = 'No';
-$wb['None'] = 'None';
-$wb['strength_1'] = 'Weak';
-$wb['strength_2'] = 'Fair';
-$wb['strength_3'] = 'Good';
-$wb['strength_4'] = 'Strong';
-$wb['strength_5'] = 'Very Strong';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
-$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
+$wb['global_tabchange_warning_txt'] = 'Promijenjeni podaci u kartici će biti spremljeni ako pritisnete OK. Na odustani će biti poništeni.';
+$wb['global_tabchange_discard_txt'] = 'Neki podaci na kartici nisu spremljeni. Promjene će biti poništene ako nastavite.';
+$wb['datalog_changes_txt'] = 'Slijedeće promjene još nisu proslijeđene na sve servere:';
+$wb['datalog_changes_end_txt'] = 'Spremanje promjena može potrajati minutu. Budite strpljivi.';
+$wb['datalog_status_i_web_database'] = 'Kreiraj novu bazu';
+$wb['datalog_status_u_web_database'] = 'Podesi bazu';
+$wb['datalog_status_d_web_database'] = 'Obriši bazu';
+$wb['datalog_status_i_web_database_user'] = 'Kreiraj korisnika za bazu';
+$wb['datalog_status_u_web_database_user'] = 'Podesi korisnika';
+$wb['datalog_status_d_web_database_user'] = 'Obriši korisnika baze';
+$wb['datalog_status_i_web_domain'] = 'Kreiraj novu stranicu';
+$wb['datalog_status_u_web_domain'] = 'Podesi stranicu';
+$wb['datalog_status_d_web_domain'] = 'Obriši stranicu';
+$wb['datalog_status_i_ftp_user'] = 'Kreiraj FTP korisnika';
+$wb['datalog_status_u_ftp_user'] = 'Podesi FTP korisnika';
+$wb['datalog_status_d_ftp_user'] = 'Obriši FTP korisnika';
+$wb['datalog_status_i_mail_domain'] = 'Kreiraj email domenu';
+$wb['datalog_status_u_mail_domain'] = 'Podesi email domenu';
+$wb['datalog_status_d_mail_domain'] = 'Obriši email domenu';
+$wb['datalog_status_i_mail_user'] = 'Kreiraj email korisnika';
+$wb['datalog_status_u_mail_user'] = 'Podesi email korisnika';
+$wb['datalog_status_d_mail_user'] = 'Obriši email korisnika';
+$wb['datalog_status_i_mail_forwarding'] = 'Kreiraj email račun';
+$wb['datalog_status_u_mail_forwarding'] = 'Podesi email račun';
+$wb['datalog_status_d_mail_forwarding'] = 'Obriši email račun';
+$wb['datalog_status_i_dns_rr'] = 'Kreiraj DNS zapis';
+$wb['datalog_status_u_dns_rr'] = 'Podesi DNS zapis';
+$wb['datalog_status_d_dns_rr'] = 'Obriši DNS zapis';
+$wb['datalog_status_i_dns_soa'] = 'Kreiraj DNS zonu';
+$wb['datalog_status_u_dns_soa'] = 'Podesi DNS zonu';
+$wb['datalog_status_d_dns_soa'] = 'Obriši DNS zonu';
+$wb['datalog_status_i_cron'] = 'Kreiraj cron zadatak';
+$wb['datalog_status_u_cron'] = 'Podesi cron zadatak';
+$wb['datalog_status_d_cron'] = 'Obriši cron zadatak';
+$wb['datalog_status_i_mail_get'] = 'Kreiraj mail fetcher račun';
+$wb['datalog_status_u_mail_get'] = 'Podesi mail fetcher račun';
+$wb['datalog_status_d_mail_get'] = 'Obriši mail fetcher račun';
+$wb['datalog_status_i_mail_mailinglist'] = 'Kreiraj mailing listu';
+$wb['datalog_status_u_mail_mailinglist'] = 'Podesi mailing listu';
+$wb['datalog_status_d_mail_mailinglist'] = 'Obriši mailing listu';
+$wb['datalog_status_i_shell_user'] = 'Kreiraj shell korisnika';
+$wb['datalog_status_u_shell_user'] = 'Podesi shell korisnika';
+$wb['datalog_status_d_shell_user'] = 'Obriši shell korisnika';
+$wb['datalog_status_i_web_folder'] = 'Kreiraj zaštitu direktorija';
+$wb['datalog_status_u_web_folder'] = 'Podesi zaštitu direktorija';
+$wb['datalog_status_d_web_folder'] = 'Obriši zaštitu direktorija';
+$wb['datalog_status_i_web_folder_user'] = 'Kreiraj folder protection korisnika';
+$wb['datalog_status_u_web_folder_user'] = 'Podesi folder protection korisnika';
+$wb['datalog_status_d_web_folder_user'] = 'Obriši folder protection korisnika';
+$wb['datalog_status_i_spamfilter_users'] = 'Kreiraj spam filter postavke';
+$wb['datalog_status_u_spamfilter_users'] = 'Podesi spam filter postavke';
+$wb['datalog_status_d_spamfilter_users'] = 'Obriši spam filter postavke';
+$wb['login_as_txt'] = 'Logiraj se kao';
+$wb['no_domain_perm'] = 'Nemate dozvolu za ovu domenu.';
+$wb['no_destination_perm'] = 'Nemate dozvolu za ovu destinaciju.';
+$wb['client_you_are_locked'] = 'Nemate dozvolu za promjenu postavki.';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
+$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'Ovaj klijent ima zapise u modulu za naplatu, stoga ne može biti obrisan.';
+$wb['yes_txt'] = 'Da';
+$wb['no_txt'] = 'Ne';
+$wb['None'] = 'Ništa';
+$wb['strength_1'] = 'Slabo';
+$wb['strength_2'] = 'Dobro';
+$wb['strength_3'] = 'Bolje';
+$wb['strength_4'] = 'Jako';
+$wb['strength_5'] = 'Odlično';
+$wb['weak_password_txt'] = 'Unešena šifra nije dobra. Mora biti dugačka barem {chars} znakova i jačine \\"{strength}\\".';
+$wb['weak_password_length_txt'] = 'Unešena šifra nije dobra. Mora biti dugačka barem {chars} znakova.';
+$wb['security_check1_txt'] = 'Provjerite sigurnosne dozvole:';
+$wb['security_check2_txt'] = 'greška.';
?>
+
+
diff --git a/interface/lib/lang/hu.lng b/interface/lib/lang/hu.lng
index ce9a102..f45820a 100644
--- a/interface/lib/lang/hu.lng
+++ b/interface/lib/lang/hu.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/id.lng b/interface/lib/lang/id.lng
index a781fb5..c5759c4 100644
--- a/interface/lib/lang/id.lng
+++ b/interface/lib/lang/id.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/it.lng b/interface/lib/lang/it.lng
index 8b2b810..f6c5c2d 100644
--- a/interface/lib/lang/it.lng
+++ b/interface/lib/lang/it.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/ja.lng b/interface/lib/lang/ja.lng
index 04fef3d..0781f39 100644
--- a/interface/lib/lang/ja.lng
+++ b/interface/lib/lang/ja.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/nl.lng b/interface/lib/lang/nl.lng
index 458b53f..1fe0708 100644
--- a/interface/lib/lang/nl.lng
+++ b/interface/lib/lang/nl.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/pl.lng b/interface/lib/lang/pl.lng
index 87973f6..559302e 100644
--- a/interface/lib/lang/pl.lng
+++ b/interface/lib/lang/pl.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/pt.lng b/interface/lib/lang/pt.lng
index 84cd748..14e6d16 100644
--- a/interface/lib/lang/pt.lng
+++ b/interface/lib/lang/pt.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/ro.lng b/interface/lib/lang/ro.lng
index 6431e11..7ae78ba 100644
--- a/interface/lib/lang/ro.lng
+++ b/interface/lib/lang/ro.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/ru.lng b/interface/lib/lang/ru.lng
index 566f8d8..3fafcc5 100644
--- a/interface/lib/lang/ru.lng
+++ b/interface/lib/lang/ru.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/se.lng b/interface/lib/lang/se.lng
index 5f49333..535e04c 100644
--- a/interface/lib/lang/se.lng
+++ b/interface/lib/lang/se.lng
@@ -145,7 +145,8 @@
$wb['strength_3'] = 'Bra';
$wb['strength_4'] = 'Starkt';
$wb['strength_5'] = 'Väldigt starkt';
-$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of "{strength}".';
+$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
-
diff --git a/interface/lib/lang/sk.lng b/interface/lib/lang/sk.lng
index 4abcf0c..5cd9540 100644
--- a/interface/lib/lang/sk.lng
+++ b/interface/lib/lang/sk.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/lang/tr.lng b/interface/lib/lang/tr.lng
index 0257a68..72c2324 100644
--- a/interface/lib/lang/tr.lng
+++ b/interface/lib/lang/tr.lng
@@ -147,4 +147,6 @@
$wb['strength_5'] = 'Very Strong';
$wb['weak_password_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length and have a strength of \\"{strength}\\".';
$wb['weak_password_length_txt'] = 'The chosen password does not match the security guidelines. It has to be at least {chars} chars in length.';
+$wb['security_check1_txt'] = 'Check for security permission:';
+$wb['security_check2_txt'] = 'failed.';
?>
diff --git a/interface/lib/plugins/vm_openvz_plugin.inc.php b/interface/lib/plugins/vm_openvz_plugin.inc.php
index 98b0f9f..fd44205 100644
--- a/interface/lib/plugins/vm_openvz_plugin.inc.php
+++ b/interface/lib/plugins/vm_openvz_plugin.inc.php
@@ -33,7 +33,7 @@
function openvz_vm_insert($event_name, $page_form) {
global $app, $conf;
- $this->id = $page_form->id;
+ $this->id = $app->functions->intval($page_form->id);
$this->dataRecord = $page_form->dataRecord;
$this->oldDataRecord = $page_form->oldDataRecord;
@@ -58,7 +58,7 @@
$this->applyTemplate();
// Set the IP address
- $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$this->dataRecord['ip_address']."'");
+ $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."'");
// Create the OpenVZ config file and store it in config field
$this->makeOpenVZConfig();
@@ -74,7 +74,7 @@
function openvz_vm_update($event_name, $page_form) {
global $app, $conf;
- $this->id = $page_form->id;
+ $this->id = $app->functions->intval($page_form->id);
$this->dataRecord = $page_form->dataRecord;
$this->oldDataRecord = $page_form->oldDataRecord;
@@ -94,7 +94,7 @@
}
// Set the IP address
- if(isset($this->dataRecord['ip_address'])) $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$this->dataRecord['ip_address']."'");
+ if(isset($this->dataRecord['ip_address'])) $app->db->query("UPDATE openvz_ip SET vm_id = ".$this->id." WHERE ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."'");
// Create the OpenVZ config file and store it in config field
$this->makeOpenVZConfig();
@@ -111,7 +111,7 @@
global $app, $conf;
//* Free the IP address
- $tmp = $app->db->queryOneRecord("SELECT ip_address_id FROM openvz_ip WHERE vm_id = ".$page_form->id);
+ $tmp = $app->db->queryOneRecord("SELECT ip_address_id FROM openvz_ip WHERE vm_id = ".$app->functions->intval($page_form->id));
$app->db->datalogUpdate('openvz_ip', 'vm_id = 0', 'ip_address_id', $tmp['ip_address_id']);
unset($tmp);
@@ -120,20 +120,20 @@
private function applyTemplate() {
global $app, $conf;
- $tpl = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$this->dataRecord["template_id"]);
+ $tpl = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$app->functions->intval($this->dataRecord["template_id"]));
$sql = "UPDATE openvz_vm SET ";
- $sql .= "diskspace = '".$tpl['diskspace']."', ";
- $sql .= "ram = '".$tpl['ram']."', ";
- $sql .= "ram_burst = '".$tpl['ram_burst']."', ";
- $sql .= "cpu_units = '".$tpl['cpu_units']."', ";
- $sql .= "cpu_num = '".$tpl['cpu_num']."', ";
- $sql .= "cpu_limit = '".$tpl['cpu_limit']."', ";
- $sql .= "io_priority = '".$tpl['io_priority']."', ";
- $sql .= "nameserver = '".$tpl['nameserver']."', ";
- $sql .= "create_dns = '".$tpl['create_dns']."', ";
- $sql .= "capability = '".$tpl['capability']."' ";
- $sql .= "WHERE vm_id = ".$this->id;
+ $sql .= "diskspace = '".$app->db->quote($tpl['diskspace'])."', ";
+ $sql .= "ram = '".$app->db->quote($tpl['ram'])."', ";
+ $sql .= "ram_burst = '".$app->db->quote($tpl['ram_burst'])."', ";
+ $sql .= "cpu_units = '".$app->db->quote($tpl['cpu_units'])."', ";
+ $sql .= "cpu_num = '".$app->db->quote($tpl['cpu_num'])."', ";
+ $sql .= "cpu_limit = '".$app->db->quote($tpl['cpu_limit'])."', ";
+ $sql .= "io_priority = '".$app->db->quote($tpl['io_priority'])."', ";
+ $sql .= "nameserver = '".$app->db->quote($tpl['nameserver'])."', ";
+ $sql .= "create_dns = '".$app->db->quote($tpl['create_dns'])."', ";
+ $sql .= "capability = '".$app->db->quote($tpl['capability'])."' ";
+ $sql .= "WHERE vm_id = ".$app->functions->intval($this->id);
$app->db->query($sql);
}
@@ -141,8 +141,8 @@
private function makeOpenVZConfig() {
global $app, $conf;
- $vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$this->id);
- $vm_template = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$vm['template_id']);
+ $vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$app->functions->intval($this->id));
+ $vm_template = $app->db->queryOneRecord("SELECT * FROM openvz_template WHERE template_id = ".$app->functions->intval($vm['template_id']));
$burst_ram = $vm['ram_burst']*256;
$guar_ram = $vm['ram']*256;
@@ -194,12 +194,12 @@
$tpl->setVar('nameserver', $vm['nameserver']);
$tpl->setVar('capability', $vm['capability']);
- $tmp = $app->db->queryOneRecord("SELECT template_file FROM openvz_ostemplate WHERE ostemplate_id = ".$vm['ostemplate_id']);
+ $tmp = $app->db->queryOneRecord("SELECT template_file FROM openvz_ostemplate WHERE ostemplate_id = ".$app->functions->intval($vm['ostemplate_id']));
$tpl->setVar('ostemplate', $tmp['template_file']);
unset($tmp);
$openvz_config = $app->db->quote($tpl->grab());
- $app->db->query("UPDATE openvz_vm SET config = '".$openvz_config."' WHERE vm_id = ".$this->id);
+ $app->db->query("UPDATE openvz_vm SET config = '".$openvz_config."' WHERE vm_id = ".$app->functions->intval($this->id));
unset($tpl);
@@ -208,33 +208,33 @@
private function createDNS() {
global $app, $conf;
- $vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$this->id);
+ $vm = $app->db->queryOneRecord("SELECT * FROM openvz_vm WHERE vm_id = ".$app->functions->intval($this->id));
if($vm['create_dns'] != 'y') return;
$full_hostname = str_replace('{VEID}', $vm['veid'], $vm['hostname']);
$hostname_parts = explode('.', $full_hostname);
- $hostname = $hostname_parts[0];
+ $hostname = $app->db->quote($hostname_parts[0]);
unset($hostname_parts[0]);
- $zone = implode('.', $hostname_parts);
+ $zone = $app->db->quote((implode('.', $hostname_parts)));
unset($hostname_parts);
// Find the dns zone
- $zone_rec = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE origin = '$zone.'");
- $rr_rec = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = '".$zone_rec['id']."' AND name = '$hostname'");
+ $zone_rec = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE origin = '".$app->db->quote($zone).".'");
+ $rr_rec = $app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = '".$app->functions->intval($zone_rec['id'])."' AND name = '".$app->db->quote($hostname)."'");
if($zone_rec['id'] > 0) {
- $ip_address = $vm['ip_address'];
- $sys_userid = $zone_rec['sys_userid'];
- $sys_groupid = $zone_rec['sys_groupid'];
- $server_id = $zone_rec['server_id'];
- $dns_soa_id = $zone_rec['id'];
+ $ip_address = $app->db->quote($vm['ip_address']);
+ $sys_userid = $app->functions->intval($zone_rec['sys_userid']);
+ $sys_groupid = $app->functions->intval($zone_rec['sys_groupid']);
+ $server_id = $app->functions->intval($zone_rec['server_id']);
+ $dns_soa_id = $app->functions->intval($zone_rec['id']);
if($rr_rec['id'] > 0) {
$app->uses('validate_dns');
- $app->db->datalogUpdate('dns_rr', "data = '$ip_address'", 'id', $rr_rec['id']);
+ $app->db->datalogUpdate('dns_rr', "data = '$ip_address'", 'id', $app->functions->intval($rr_rec['id']));
$serial = $app->validate_dns->increase_serial($zone_rec['serial']);
- $app->db->datalogUpdate('dns_soa', "serial = '$serial'", 'id', $zone_rec['id']);
+ $app->db->datalogUpdate('dns_soa', "serial = '$serial'", 'id', $app->functions->intval($zone_rec['id']));
} else {
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$hostname', 'A', '$ip_address', '0', '3600', 'Y')";
diff --git a/interface/temp/empty.dir b/interface/temp/empty.dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/interface/temp/empty.dir
diff --git a/interface/web/admin/firewall_del.php b/interface/web/admin/firewall_del.php
index c4ea560..3fc23fe 100644
--- a/interface/web/admin/firewall_del.php
+++ b/interface/web/admin/firewall_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_firewall_config');
$app->uses("tform_actions");
$app->tform_actions->onDelete();
diff --git a/interface/web/admin/firewall_edit.php b/interface/web/admin/firewall_edit.php
index d0c35db..6c29f76 100644
--- a/interface/web/admin/firewall_edit.php
+++ b/interface/web/admin/firewall_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_firewall_config');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index d1634f3..aa9adc5 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -128,8 +128,11 @@
2 => array( 'event' => 'SAVE',
'type' => 'TOLOWER')
),
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'hostname_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'hostname_error_empty'),
+ 1 => array ('type' => 'REGEX',
+ 'regex' => '/^[\w\.\-]{2,255}\.[a-zA-Z0-9\-]{2,30}$/',
+ 'errmsg'=> 'hostname_error_regex'),
),
'value' => '',
'width' => '40',
@@ -166,8 +169,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '/var/backup',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'backup_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'backup_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'backup_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -178,14 +184,6 @@
'formtype' => 'CHECKBOX',
'default' => 'n',
'value' => array(0 => 'n', 1 => 'y')
- ),
- 'backup_dir_mount_cmd' => array(
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => '',
- 'value' => '',
- 'width' => '40',
- 'maxlength' => '255'
),
'backup_mode' => array(
'datatype' => 'VARCHAR',
@@ -287,8 +285,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '/home/vmail/[domain]/[localpart]/',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'maildir_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'maildir_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+ 'errmsg'=> 'maildir_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -298,8 +299,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '/home/vmail/',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'homedir_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'homedir_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'homedir_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -344,8 +348,11 @@
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
'default' => '5000',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'mailuser_uid_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'mailuser_uid_error_empty'),
+ 1 => array('type' => 'RANGE',
+ 'range' => '1999:',
+ 'errmsg' => 'mailuser_uid_error_range'),
),
'value' => '',
'width' => '10',
@@ -355,8 +362,11 @@
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
'default' => '5000',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'mailuser_gid_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'mailuser_gid_error_empty'),
+ 1 => array('type' => 'RANGE',
+ 'range' => '1999:',
+ 'errmsg' => 'mailuser_gid_error_range'),
),
'value' => '',
'width' => '10',
@@ -366,8 +376,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => 'vmail',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'mailuser_name_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'mailuser_name_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+ 'errmsg'=> 'mailuser_name_error_regex'),
),
'value' => '',
'width' => '10',
@@ -377,8 +390,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => 'vmail',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'mailuser_group_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'mailuser_group_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(?!ispconfig|root)([a-zA-Z0-9]{1,20})$/',
+ 'errmsg'=> 'mailuser_group_name_error_regex'),
),
'value' => '',
'width' => '10',
@@ -496,8 +512,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'getmail_config_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'getmail_config_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'getmail_config_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -527,8 +546,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'website_basedir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'website_basedir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'website_basedir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -538,8 +560,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'website_path_error_empty'),
+ 'validators' => array( 0 => array( 'type' => 'NOTEMPTY',
+ 'errmsg' => 'website_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{5,128}$/',
+ 'errmsg'=> 'website_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -549,14 +574,23 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'website_symlinks_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'website_symlinks_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]\:]{5,128}$/',
+ 'errmsg'=> 'website_symlinks_error_regex'),
),
'value' => '',
'width' => '40',
'maxlength' => '255'
),
'website_symlinks_rel' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'n',
+ 'value' => array(0 => 'n', 1 => 'y')
+ ),
+ 'network_filesystem' => array (
'datatype' => 'VARCHAR',
'formtype' => 'CHECKBOX',
'default' => 'n',
@@ -582,8 +616,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'vhost_conf_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'vhost_conf_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'vhost_conf_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -593,8 +630,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'vhost_conf_enabled_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'vhost_conf_enabled_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -604,8 +644,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'nginx_vhost_conf_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'nginx_vhost_conf_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -615,8 +658,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'nginx_vhost_conf_enabled_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'nginx_vhost_conf_enabled_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -625,6 +671,10 @@
'CA_path' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
+ 'validators' => array( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/',
+ 'errmsg'=> 'ca_path_error_regex'),
+ ),
'default' => '',
'value' => '',
'width' => '40',
@@ -736,6 +786,13 @@
'default' => '',
'validators' => array(0 => array('type' => 'NOTEMPTY',
'errmsg' => 'apache_user_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => false,
+ 'errmsg' => 'invalid_apache_user_txt'
+ ),
),
'value' => '',
'width' => '40',
@@ -747,6 +804,13 @@
'default' => '',
'validators' => array(0 => array('type' => 'NOTEMPTY',
'errmsg' => 'apache_group_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysgroup',
+ 'check_names' => false,
+ 'errmsg' => 'invalid_apache_group_txt'
+ ),
),
'value' => '',
'width' => '40',
@@ -773,8 +837,15 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'nginx_user_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'nginx_user_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => false,
+ 'errmsg' => 'invalid_nginx_user_txt'
+ ),
),
'value' => '',
'width' => '40',
@@ -784,8 +855,15 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'nginx_group_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'nginx_group_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysgroup',
+ 'check_names' => false,
+ 'errmsg' => 'invalid_nginx_group_txt'
+ ),
),
'value' => '',
'width' => '40',
@@ -795,8 +873,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_ini_path_apache_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_ini_path_apache_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'php_ini_path_apache_error_regex'),
),
'value' => '',
'width' => '40',
@@ -806,8 +887,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_ini_path_cgi_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_ini_path_cgi_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'php_ini_path_cgi_error_regex'),
),
'value' => '',
'width' => '40',
@@ -817,8 +901,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_fpm_init_script_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_fpm_init_script_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_]{1,128}$/',
+ 'errmsg'=> 'php_fpm_init_script_error_regex'),
),
'value' => '',
'width' => '40',
@@ -828,8 +915,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_fpm_ini_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_fpm_ini_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'php_fpm_ini_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -839,8 +929,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_fpm_pool_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_fpm_pool_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'php_fpm_pool_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -850,7 +943,7 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
+ 'validators' => array(0 => array('type' => 'ISPOSITIVE',
'errmsg' => 'php_fpm_start_port_error_empty'),
),
'value' => '',
@@ -861,8 +954,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_fpm_socket_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_fpm_socket_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{5,128}$/',
+ 'errmsg'=> 'php_fpm_socket_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -872,8 +968,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'php_open_basedir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'php_open_basedir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/\]\[\:]{1,}$/',
+ 'errmsg'=> 'php_open_basedir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -901,8 +1000,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'nginx_cgi_socket_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'nginx_cgi_socket_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'nginx_cgi_socket_error_regex'),
),
'value' => '',
'width' => '40',
@@ -912,8 +1014,8 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'htaccess_allow_override_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'htaccess_allow_override_error_empty'),
),
'value' => '',
'width' => '40',
@@ -960,6 +1062,12 @@
'awstats_data_dir' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'awstats_data_dir_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'awstats_data_dir_error_regex'),
+ ),
'default' => '',
'value' => '',
'width' => '40',
@@ -968,6 +1076,12 @@
'awstats_pl' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'awstats_pl_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'awstats_pl_error_regex'),
+ ),
'default' => '',
'value' => '',
'width' => '40',
@@ -976,6 +1090,12 @@
'awstats_buildstaticpages_pl' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'awstats_buildstaticpages_pl_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'awstats_buildstaticpages_pl_error_regex'),
+ ),
'default' => '',
'value' => '',
'width' => '40',
@@ -999,8 +1119,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'bind_user_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'bind_user_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+ 'errmsg'=> 'invalid_bind_user_txt'),
),
'value' => '',
'width' => '40',
@@ -1010,8 +1133,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'bind_group_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'bind_group_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(?!ispconfig)([a-zA-Z0-9]{1,20})$/',
+ 'errmsg'=> 'invalid_bind_group_txt'),
),
'value' => '',
'width' => '40',
@@ -1021,8 +1147,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'bind_zonefiles_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'bind_zonefiles_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'bind_zonefiles_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1032,8 +1161,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'named_conf_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'named_conf_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'named_conf_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1043,8 +1175,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'named_conf_local_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'named_conf_local_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'named_conf_local_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1068,8 +1203,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'fastcgi_starter_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'fastcgi_starter_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+ 'errmsg'=> 'fastcgi_starter_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1079,8 +1217,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'fastcgi_starter_script_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'fastcgi_starter_script_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'fastcgi_starter_script_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1090,8 +1231,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'fastcgi_alias_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'fastcgi_alias_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'fastcgi_alias_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1101,8 +1245,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'fastcgi_phpini_path_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'fastcgi_phpini_path_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+ 'errmsg'=> 'fastcgi_phpini_path_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1112,7 +1259,7 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
+ 'validators' => array(0 => array('type' => 'ISPOSITIVE',
'errmsg' => 'fastcgi_children_error_empty'),
),
'value' => '',
@@ -1137,8 +1284,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'fastcgi_bin_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'fastcgi_bin_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+ 'errmsg'=> 'fastcgi_bin_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1171,8 +1321,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'jailkit_chroot_home_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'jailkit_chroot_home_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/\[\]]{1,128}$/',
+ 'errmsg'=> 'jailkit_chroot_home_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1182,8 +1335,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'jailkit_chroot_app_sections_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\-\_\ ]{1,128}$/',
+ 'errmsg'=> 'jailkit_chroot_app_sections_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1193,8 +1349,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'jailkit_chroot_app_programs_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+ 'errmsg'=> 'jailkit_chroot_app_programs_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1204,8 +1363,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'jailkit_chroot_cron_programs_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\.\-\_\/\ ]{1,}$/',
+ 'errmsg'=> 'jailkit_chroot_cron_programs_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1293,8 +1455,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'vlogger_config_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'vlogger_config_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'vlogger_config_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1320,8 +1485,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'cron_init_script_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'cron_init_script_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[a-zA-Z0-9\-\_]{1,30}$/',
+ 'errmsg'=> 'cron_init_script_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1331,8 +1499,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'crontab_dir_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'crontab_dir_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'crontab_dir_error_regex'),
),
'value' => '',
'width' => '40',
@@ -1342,8 +1513,11 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'default' => '',
- 'validators' => array(0 => array('type' => 'NOTEMPTY',
- 'errmsg' => 'cron_wget_error_empty'),
+ 'validators' => array( 0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'cron_wget_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\.\-\_\/]{1,128}$/',
+ 'errmsg'=> 'cron_wget_error_regex'),
),
'value' => '',
'width' => '40',
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index 86ed19f..28aa42b 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -548,7 +548,7 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^[a-zA-Z0-0\-\_\[\]]{0,50}$/',
+ 'regex' => '/^[a-zA-Z0-9\-\_\[\]]{0,50}$/',
'errmsg'=> 'customer_no_template_error_regex'),
),
'default' => '',
diff --git a/interface/web/admin/groups_del.php b/interface/web/admin/groups_del.php
index 57b47d9..42eed95 100644
--- a/interface/web/admin/groups_del.php
+++ b/interface/web/admin/groups_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_cpuser_group');
$app->uses("tform_actions");
$app->tform_actions->onDelete();
diff --git a/interface/web/admin/groups_edit.php b/interface/web/admin/groups_edit.php
index 5ecf75f..0000003 100644
--- a/interface/web/admin/groups_edit.php
+++ b/interface/web/admin/groups_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_cpuser_group');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/iptables_del.php b/interface/web/admin/iptables_del.php
index 2497768..55371d6 100644
--- a/interface/web/admin/iptables_del.php
+++ b/interface/web/admin/iptables_del.php
@@ -1,4 +1,5 @@
<?php
+die('unused');
/*
Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
All rights reserved.
diff --git a/interface/web/admin/iptables_edit.php b/interface/web/admin/iptables_edit.php
index 61d1ee3..77c2ae7 100644
--- a/interface/web/admin/iptables_edit.php
+++ b/interface/web/admin/iptables_edit.php
@@ -1,4 +1,5 @@
<?php
+die('unused');
/*
Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
All rights reserved.
diff --git a/interface/web/admin/iptables_list.php b/interface/web/admin/iptables_list.php
index 8110460..06141b6 100644
--- a/interface/web/admin/iptables_list.php
+++ b/interface/web/admin/iptables_list.php
@@ -1,4 +1,6 @@
<?php
+
+die('unused');
/*
Copyright (c) 2011, Andrew "lathama" Latham, Till Brehm, projektfarm Gmbh
All rights reserved.
diff --git a/interface/web/admin/language_add.php b/interface/web/admin/language_add.php
index 3444179..8c488c3 100644
--- a/interface/web/admin/language_add.php
+++ b/interface/web/admin/language_add.php
@@ -32,6 +32,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/language_complete.php b/interface/web/admin/language_complete.php
index 67cfb86..d8f4bbd 100644
--- a/interface/web/admin/language_complete.php
+++ b/interface/web/admin/language_complete.php
@@ -32,6 +32,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
//* This is only allowed for administrators
diff --git a/interface/web/admin/language_edit.php b/interface/web/admin/language_edit.php
index fda70a6..7d83b9b 100644
--- a/interface/web/admin/language_edit.php
+++ b/interface/web/admin/language_edit.php
@@ -32,6 +32,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
@@ -57,7 +58,7 @@
$file_content = "<?php\n";
foreach($_POST['records'] as $key => $val) {
$val = stripslashes($val);
- $val = str_replace('"', '\"', $val);
+ $val = preg_replace('/(^|[^\\\\])((\\\\\\\\)*)"/', '$1$2\\"', $val);
$val = str_replace('$', '', $val);
$file_content .= '$wb['."'$key'".'] = "'.$val.'";'."\n";
$msg = 'File saved.';
diff --git a/interface/web/admin/language_export.php b/interface/web/admin/language_export.php
index a4c75f3..44bc787 100644
--- a/interface/web/admin/language_export.php
+++ b/interface/web/admin/language_export.php
@@ -32,6 +32,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/language_import.php b/interface/web/admin/language_import.php
index 1dfaa18..d53575b 100644
--- a/interface/web/admin/language_import.php
+++ b/interface/web/admin/language_import.php
@@ -112,6 +112,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_langedit');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng
index a687130..f42dbc9 100644
--- a/interface/web/admin/lib/lang/ar_server_config.lng
+++ b/interface/web/admin/lib/lang/ar_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng
index dc59203..e6f6e03 100644
--- a/interface/web/admin/lib/lang/bg_server_config.lng
+++ b/interface/web/admin/lib/lang/bg_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng
index fc0cbc6..14e59fa 100644
--- a/interface/web/admin/lib/lang/br_server_config.lng
+++ b/interface/web/admin/lib/lang/br_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/cz.lng b/interface/web/admin/lib/lang/cz.lng
index bc1c9bb..c290daa 100644
--- a/interface/web/admin/lib/lang/cz.lng
+++ b/interface/web/admin/lib/lang/cz.lng
@@ -34,7 +34,7 @@
$wb['Domains'] = 'Domény';
$wb['Misc'] = 'Různé';
$wb['Software'] = 'Software';
-$wb['Repositories'] = 'Repozitáře';
+$wb['Repositories'] = 'Zdroje repozitářů';
$wb['Packages'] = 'Balíčky';
$wb['Updates'] = 'Aktualizace';
$wb['Language Editor'] = 'Jazykový editor';
@@ -48,3 +48,4 @@
$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 f3341fa..8038176 100644
--- a/interface/web/admin/lib/lang/cz_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/cz_directive_snippets.lng
@@ -8,3 +8,4 @@
$wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
$wb['variables_txt'] = 'Proměnné';
?>
+
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 c6f444b..c8cedfe 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['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 c6146ae..abe744f 100644
--- a/interface/web/admin/lib/lang/cz_firewall.lng
+++ b/interface/web/admin/lib/lang/cz_firewall.lng
@@ -9,3 +9,4 @@
$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 aecc4cf..76ee5c0 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['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 a6281be..b7bb634 100644
--- a/interface/web/admin/lib/lang/cz_groups.lng
+++ b/interface/web/admin/lib/lang/cz_groups.lng
@@ -3,3 +3,4 @@
$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 c1d7ef9..9bc2c9e 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['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 a40fc04..b7d736e 100644
--- a/interface/web/admin/lib/lang/cz_iptables.lng
+++ b/interface/web/admin/lib/lang/cz_iptables.lng
@@ -11,3 +11,4 @@
$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 65cef75..02177f6 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['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 285dff2..3af00bf 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['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 f1e6f49..5f1b2f7 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['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 2a71ed0..086e166 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['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 7998eea..54f138a 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['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 e4e8877..792cd3b 100644
--- a/interface/web/admin/lib/lang/cz_language_import.lng
+++ b/interface/web/admin/lib/lang/cz_language_import.lng
@@ -7,3 +7,4 @@
$wb['ignore_version_txt'] = 'Přeskočit kontrolu verze ISPConfigu.';
$wb['list_desc_txt'] = 'VAROVÁNÍ: Nepoužívejte import souborů jazyku z nedůvěryhodných zdrojů.';
?>
+
diff --git a/interface/web/admin/lib/lang/cz_language_list.lng b/interface/web/admin/lib/lang/cz_language_list.lng
index b2a7863..49614e0 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['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
new file mode 100644
index 0000000..39c1c66
--- /dev/null
+++ b/interface/web/admin/lib/lang/cz_login_as.lng
@@ -0,0 +1,14 @@
+<?php
+$wb['login_1_txt'] = 'Chcete se přihlásit jako klient';
+$wb['login_2_txt'] = 'Pokud se přihlásíte jako klient, zpět do sekce Administrátora se vratíte kliknutím na odhlášení klienta.';
+$wb['btn_yes_txt'] = 'Ano, přihlásit se jako klient';
+$wb['btn_back_txt'] = 'Ne, zpět na seznam klientů';
+$wb['udp_port_help_txt'] = 'Odděleny čárkou';
+$wb['active_txt'] = 'Aktivní';
+$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 \\",\\".';
+?>
+
+
+
diff --git a/interface/web/admin/lib/lang/cz_package_install.lng b/interface/web/admin/lib/lang/cz_package_install.lng
index 64a190d..4d3a6dc 100644
--- a/interface/web/admin/lib/lang/cz_package_install.lng
+++ b/interface/web/admin/lib/lang/cz_package_install.lng
@@ -1,7 +1,8 @@
<?php
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
$wb['repo_url_txt'] = 'URL';
$wb['repo_username_txt'] = 'Uživatel (volitelné)';
$wb['repo_password_txt'] = 'Heslo (volitelné)';
$wb['active_txt'] = 'Aktivní';
?>
+
diff --git a/interface/web/admin/lib/lang/cz_remote_action.lng b/interface/web/admin/lib/lang/cz_remote_action.lng
index e1908e2..bcd7967 100644
--- a/interface/web/admin/lib/lang/cz_remote_action.lng
+++ b/interface/web/admin/lib/lang/cz_remote_action.lng
@@ -2,11 +2,12 @@
$wb['select_server_txt'] = 'Zvolit server';
$wb['btn_do_txt'] = 'Provést akci';
$wb['do_osupdate_caption'] = 'Aktualizace operačního systému na vzdáleném serveru.';
-$wb['do_osupdate_desc'] = 'Tato akce provede \\"aptitude -y\\" aktualizaci na vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
+$wb['do_osupdate_desc'] = 'Tato akce provede \"aptitude -y\" aktualizaci na vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
$wb['do_ispcupdate_caption'] = 'Provedení ISPConfig 3 - aktualizace na vzdáleném serveru';
-$wb['do_ispcupdate_desc'] = 'Tato akce provede \\"ISPConfig 3\\" aktualizaci na vašem vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
+$wb['do_ispcupdate_desc'] = 'Tato akce provede \"ISPConfig 3\" aktualizaci na vašem vybraném serveru.<br><br><strong>POUŽITÍ TÉTO AKCE NA VLASTNÍ NEBEZPEČÍ !</strong>';
$wb['action_scheduled'] = 'Akce je naplánována na provedení';
$wb['select_all_server'] = 'Všechny servery';
$wb['ispconfig_update_title'] = 'ISPConfig pokyny k aktualizaci';
$wb['ispconfig_update_text'] = 'Přihlaste se jako uživatel root na terminal (shell) serveru a proveďte příkaz<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 17c4f05..c75c165 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['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 66b6494..c466a2a 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['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 a087656..ced7e5f 100644
--- a/interface/web/admin/lib/lang/cz_server.lng
+++ b/interface/web/admin/lib/lang/cz_server.lng
@@ -13,3 +13,4 @@
$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 df212ea..a1edf0d 100644
--- a/interface/web/admin/lib/lang/cz_server_config.lng
+++ b/interface/web/admin/lib/lang/cz_server_config.lng
@@ -150,10 +150,10 @@
$wb['try_rescue_txt'] = 'Povolit monitorování služeb a restartovat při selhání';
$wb['do_not_try_rescue_mysql_txt'] = 'Zakázat MySQL monitorování';
$wb['do_not_try_rescue_mail_txt'] = 'Zakázat E-mail monitorování';
-$wb['rescue_description_txt'] = '<b>Informace:</b> Pokud chcete např. vypnout MySQL monitorování zatrhněte políčko \\"Zakázat MySQL monitorování\\" změna se provede do 2-3 minut.<br>Pokud nepočkáte 2-3 minuty, monitorování restartuje mysql!!';
+$wb['rescue_description_txt'] = '<b>Informace:</b> Pokud chcete např. vypnout MySQL monitorování zatrhněte políčko \"Zakázat MySQL monitorování\" změna se provede do 2-3 minut.<br>Pokud nepočkáte 2-3 minuty, monitorování restartuje mysql!!';
$wb['enable_sni_txt'] = 'Aktivovat SNI (Server Name Indication)';
$wb['do_not_try_rescue_httpd_txt'] = 'Zakázat HTTPD monitorování';
-$wb['set_folder_permissions_on_update_txt'] = 'Set folder permissions on update';
+$wb['set_folder_permissions_on_update_txt'] = 'Nastavení oprávnění složky při aktualizaci';
$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';
@@ -197,6 +197,58 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Zástupný symbol';
$wb['backup_dir_is_mount_txt'] = 'Připojit adresář pro zálohy ?';
-$wb['backup_dir_mount_cmd_txt'] = 'Příkaz připojení, pokud adresář pro zálohy není připojen . (např. mount ...)';
$wb['monitor_system_updates_txt'] = 'Kontrolovat aktualizace Linuxu';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
+
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 2118c35..9a56c34 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 43a382a..4f013b5 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['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 93b0b77..3aaa3ab 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_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 ecddbf2..437f376 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['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 10aba05..fc8f7ad 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_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 36b28fe..25b95f9 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['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 faffe38..b6421ba 100644
--- a/interface/web/admin/lib/lang/cz_software_package.lng
+++ b/interface/web/admin/lib/lang/cz_software_package.lng
@@ -4,3 +4,4 @@
$wb['Software Package'] = 'Software Package';
$wb['Modify software package details'] = 'Modify software package details';
?>
+
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 0d079ef..77941a0 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['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 6896a9f..ec1b967 100644
--- a/interface/web/admin/lib/lang/cz_software_package_list.lng
+++ b/interface/web/admin/lib/lang/cz_software_package_list.lng
@@ -11,3 +11,4 @@
$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 6e200d8..f46fb9e 100644
--- a/interface/web/admin/lib/lang/cz_software_repo.lng
+++ b/interface/web/admin/lib/lang/cz_software_repo.lng
@@ -1,8 +1,9 @@
<?php
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
$wb['repo_url_txt'] = 'URL';
$wb['repo_username_txt'] = 'Uživatel (volitelné)';
$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';
+$wb['Software Repository which may contain addons or updates'] = 'Softwarové zdroje, které mohou obsahovat addony nebo aktualizace';
?>
+
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 5c82d4c..effc205 100644
--- a/interface/web/admin/lib/lang/cz_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/cz_software_repo_list.lng
@@ -1,6 +1,7 @@
<?php
-$wb['list_head_txt'] = 'Repozitář';
+$wb['list_head_txt'] = 'Zdroje repozitářů';
$wb['active_txt'] = 'Aktivní';
-$wb['repo_name_txt'] = 'Repozitář';
+$wb['repo_name_txt'] = 'Název zdroje';
$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 c48ad8c..467fd5f 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['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 d8d8245..13a202f 100644
--- a/interface/web/admin/lib/lang/cz_system_config.lng
+++ b/interface/web/admin/lib/lang/cz_system_config.lng
@@ -66,8 +66,9 @@
$wb['customer_no_start_txt'] = 'Zákaznické číslo - počáteční hodnota';
$wb['customer_no_counter_txt'] = 'Zákaznické číslo - čítač';
$wb['session_timeout_txt'] = 'Časový limit relace (minuty)';
-$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
+$wb['session_allow_endless_txt'] = 'Povolit - zůstat přihlášen';
$wb['No'] = 'Ne';
$wb['min_password_length_txt'] = 'Minimální délka hesla';
$wb['min_password_strength_txt'] = 'Minimální síla hesla';
?>
+
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 480d504..efecb6d 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_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 2f23602..16e6882 100644
--- a/interface/web/admin/lib/lang/cz_users.lng
+++ b/interface/web/admin/lib/lang/cz_users.lng
@@ -32,3 +32,4 @@
$wb['username_error_collision'] = 'Uživatelské jméno nesmí být web nebo web a číslo.\\"';
$wb['client_not_admin_err'] = 'A user that belongs to a client can not be set to type: admin';
?>
+
diff --git a/interface/web/admin/lib/lang/cz_users_list.lng b/interface/web/admin/lib/lang/cz_users_list.lng
index e5a7d1e..37b0e7e 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['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_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng
index 36b4761..9afd35c 100644
--- a/interface/web/admin/lib/lang/de_server_config.lng
+++ b/interface/web/admin/lib/lang/de_server_config.lng
@@ -203,4 +203,57 @@
$wb["v6_prefix_length"] = 'Prefix zu lang fuer angegebene IPv6-Adresse ';
$wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
$wb['dkim_strength_txt'] = 'DKIM Stärke';
+$wb['monitor_system_updates_txt'] = 'Suche nach Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Netzwerk-Dateisystem';
?>
diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng
index 598b1d9..560e2b8 100644
--- a/interface/web/admin/lib/lang/el_server_config.lng
+++ b/interface/web/admin/lib/lang/el_server_config.lng
@@ -194,6 +194,57 @@
$wb['munin_url_error_regex'] = 'Invalid Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng
index 8cb675c..fa2cfee 100644
--- a/interface/web/admin/lib/lang/el_system_config.lng
+++ b/interface/web/admin/lib/lang/el_system_config.lng
@@ -66,7 +66,7 @@
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
$wb['session_timeout_txt'] = 'Session timeout (minutes)';
-$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
+$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
$wb['No'] = 'No';
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng
index 0df415c..dde50a0 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -55,6 +55,7 @@
$wb["netmask_error_wrong"] = 'Invalid Netmask format.';
$wb["gateway_error_wrong"] = 'Invalid Gateway format.';
$wb["hostname_error_empty"] = 'Hostname is empty.';
+$wb["hostname_error_regex"] = 'Invalid Hostname.';
$wb["nameservers_error_empty"] = 'Nameserver is empty.';
$wb["config_dir_txt"] = 'Config directory';
$wb["init_script_txt"] = 'Cron init script name';
@@ -207,4 +208,56 @@
$wb['php_handler_txt'] = "PHP Handler";
$wb['disabled_txt'] = 'Disabled';
$wb['dkim_strength_txt'] = 'DKIM strength';
+$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng
index 5ac1f11..83010f9 100644
--- a/interface/web/admin/lib/lang/es_server_config.lng
+++ b/interface/web/admin/lib/lang/es_server_config.lng
@@ -198,4 +198,56 @@
$wb['monitor_system_updates_txt'] = 'Comprobar actualizaciones de linux';
$wb['php_handler_txt'] = "Manejador de PHP";
$wb['disabled_txt'] = "Desactivado";
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng
index e55baa6..4b77dd7 100755
--- a/interface/web/admin/lib/lang/fi_server_config.lng
+++ b/interface/web/admin/lib/lang/fi_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng
index 6db888f..a7a71a5 100644
--- a/interface/web/admin/lib/lang/fr_server_config.lng
+++ b/interface/web/admin/lib/lang/fr_server_config.lng
@@ -197,5 +197,57 @@
$wb["v6_prefix_length"] = "D\'aprèl'IPv6 déni, le préx est trop long";
$wb["overquota_db_notify_admin_txt"] = "Envoyer avertissement DB quota à\'admin'";
$wb["overquota_db_notify_client_txt"] = 'Envoyer avertissement DB quota au client';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng
index 778068d..b6db6d7 100644
--- a/interface/web/admin/lib/lang/fr_system_config.lng
+++ b/interface/web/admin/lib/lang/fr_system_config.lng
@@ -66,7 +66,7 @@
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
$wb['session_timeout_txt'] = 'Session timeout (minutes)';
-$wb['session_allow_endless_txt'] = 'Enable \"stay logged in\"';
+$wb['session_allow_endless_txt'] = 'Enable \\"stay logged in\\"';
$wb['No'] = 'No';
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
diff --git a/interface/web/admin/lib/lang/hr.lng b/interface/web/admin/lib/lang/hr.lng
index d7d22d4..919b172 100644
--- a/interface/web/admin/lib/lang/hr.lng
+++ b/interface/web/admin/lib/lang/hr.lng
@@ -46,5 +46,7 @@
$wb['Remote Actions'] = 'Udaljene akcije';
$wb['Do OS-Update'] = 'Nadogradnja sistema';
$wb['Do ISPConfig-Update'] = 'Nadogradnja control panela';
-$wb['Directive Snippets'] = 'Directive Snippets';
+$wb['Directive Snippets'] = 'Direktive';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_directive_snippets.lng b/interface/web/admin/lib/lang/hr_directive_snippets.lng
index 0f09c12..2c626b6 100644
--- a/interface/web/admin/lib/lang/hr_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/hr_directive_snippets.lng
@@ -1,10 +1,12 @@
<?php
-$wb['Directive Snippets'] = 'Directive Snippets';
-$wb['name_txt'] = 'Name of Snippet';
-$wb['type_txt'] = 'Type';
-$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['variables_txt'] = 'Variables';
+$wb['Directive Snippets'] = 'Direktive';
+$wb['name_txt'] = 'Naziv direktive';
+$wb['type_txt'] = 'Vrsta';
+$wb['snippet_txt'] = 'direktiva';
+$wb['active_txt'] = 'Aktivno';
+$wb['directive_snippets_name_empty'] = 'Molimo vas specificirajte naziv direktive.';
+$wb['directive_snippets_name_error_unique'] = 'Već postoji direktiva sa tim imenom.';
+$wb['variables_txt'] = 'Varijable';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_directive_snippets_list.lng b/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
index 4124ea3..15cbc57 100644
--- a/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
+++ b/interface/web/admin/lib/lang/hr_directive_snippets_list.lng
@@ -1,7 +1,9 @@
<?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['list_head_txt'] = 'Direktive';
+$wb['active_txt'] = 'Aktivno';
+$wb['name_txt'] = 'Naziv predloška';
+$wb['type_txt'] = 'Vrsta';
+$wb['add_new_record_txt'] = 'Dodaj direktivu';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_firewall.lng b/interface/web/admin/lib/lang/hr_firewall.lng
index 7e28a3a..ae643c3 100644
--- a/interface/web/admin/lib/lang/hr_firewall.lng
+++ b/interface/web/admin/lib/lang/hr_firewall.lng
@@ -9,3 +9,5 @@
$wb['tcp_ports_error_regex'] = 'Nedozvoljeni znak pri definiciji TCP porta. Dozvoljeni znakovi su znamenke, : i ,.';
$wb['udp_ports_error_regex'] = 'Nedozvoljeni znak pri definiciji UDP porta. Dozvoljeni znakovi su znamenke, : i ,.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_firewall_list.lng b/interface/web/admin/lib/lang/hr_firewall_list.lng
index 568d915..2bdb9d5 100644
--- a/interface/web/admin/lib/lang/hr_firewall_list.lng
+++ b/interface/web/admin/lib/lang/hr_firewall_list.lng
@@ -6,3 +6,5 @@
$wb['udp_port_txt'] = 'Otvoreni UDP portovi';
$wb['add_new_record_txt'] = 'Dodaj Firewall zapis';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_groups.lng b/interface/web/admin/lib/lang/hr_groups.lng
index 33c1e70..df0d679 100644
--- a/interface/web/admin/lib/lang/hr_groups.lng
+++ b/interface/web/admin/lib/lang/hr_groups.lng
@@ -3,3 +3,5 @@
$wb['name_txt'] = 'Grupa';
$wb['name_err'] = 'Grupa mora biti barem jedan do maksimalno 30 znakova.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_groups_list.lng b/interface/web/admin/lib/lang/hr_groups_list.lng
index e88fae2..def87cc 100644
--- a/interface/web/admin/lib/lang/hr_groups_list.lng
+++ b/interface/web/admin/lib/lang/hr_groups_list.lng
@@ -5,3 +5,5 @@
$wb['add_new_record_txt'] = 'Dodaj grupu';
$wb['warning_txt'] = '<b>UPOZORENJE:</b> Ne mijenjajte postavke klijenta ovdje. Koristite ';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_iptables.lng b/interface/web/admin/lib/lang/hr_iptables.lng
index e7eaaff..112d75a 100644
--- a/interface/web/admin/lib/lang/hr_iptables.lng
+++ b/interface/web/admin/lib/lang/hr_iptables.lng
@@ -9,5 +9,7 @@
$wb['destination_ip_txt'] = 'Adresa destinacije';
$wb['source_ip_txt'] = 'Adresa izvora';
$wb['active_txt'] = 'Aktivno';
-$wb['iptables_error_unique'] = 'Već postoji firewall zapis za ovaj server.';
+$wb['iptables_error_unique'] = 'Već postoji zapis u vatrozidu za ovaj server.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_iptables_list.lng b/interface/web/admin/lib/lang/hr_iptables_list.lng
index 869bd17..f90d7ee 100644
--- a/interface/web/admin/lib/lang/hr_iptables_list.lng
+++ b/interface/web/admin/lib/lang/hr_iptables_list.lng
@@ -13,3 +13,5 @@
$wb['active_txt'] = 'Aktivno';
$wb['iptables_error_unique'] = 'Već postoji firewall zapis za ovaj server.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_add.lng b/interface/web/admin/lib/lang/hr_language_add.lng
index d4a3e1b..3536ac3 100644
--- a/interface/web/admin/lib/lang/hr_language_add.lng
+++ b/interface/web/admin/lib/lang/hr_language_add.lng
@@ -6,3 +6,5 @@
$wb['btn_save_txt'] = 'Kreiraj novu jezičnu datoteku';
$wb['btn_cancel_txt'] = 'Natrag';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_complete.lng b/interface/web/admin/lib/lang/hr_language_complete.lng
index e9ce1e5..1f7cb8e 100644
--- a/interface/web/admin/lib/lang/hr_language_complete.lng
+++ b/interface/web/admin/lib/lang/hr_language_complete.lng
@@ -5,3 +5,5 @@
$wb['btn_save_txt'] = 'Spoji jezike';
$wb['btn_cancel_txt'] = 'Natrag';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_edit.lng b/interface/web/admin/lib/lang/hr_language_edit.lng
index b223069..18c2e7a 100644
--- a/interface/web/admin/lib/lang/hr_language_edit.lng
+++ b/interface/web/admin/lib/lang/hr_language_edit.lng
@@ -6,3 +6,5 @@
$wb['btn_save_txt'] = 'Spremi';
$wb['btn_cancel_txt'] = 'Natrag';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_export.lng b/interface/web/admin/lib/lang/hr_language_export.lng
index 4799ddf..74330bb 100644
--- a/interface/web/admin/lib/lang/hr_language_export.lng
+++ b/interface/web/admin/lib/lang/hr_language_export.lng
@@ -4,3 +4,5 @@
$wb['btn_save_txt'] = 'Eksportiraj izabranu jezičnu datoteku';
$wb['btn_cancel_txt'] = 'Natrag';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_import.lng b/interface/web/admin/lib/lang/hr_language_import.lng
index 3f20305..6944bcb 100644
--- a/interface/web/admin/lib/lang/hr_language_import.lng
+++ b/interface/web/admin/lib/lang/hr_language_import.lng
@@ -1,9 +1,11 @@
<?php
$wb['list_head_txt'] = 'Importiraj jezičnu datoteku';
$wb['language_import_txt'] = 'Izaberi jezičnu datoteku';
-$wb['btn_save_txt'] = 'Importiraj selektiranu jezičnu datoteku';
+$wb['btn_save_txt'] = 'Importiraj 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.';
+$wb['list_desc_txt'] = 'PAŽNJA: Nemojte importirati jezične datoteke preuzete sa nepoznatih web lokacija.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_language_list.lng b/interface/web/admin/lib/lang/hr_language_list.lng
index 68f9cca..2595cc8 100644
--- a/interface/web/admin/lib/lang/hr_language_list.lng
+++ b/interface/web/admin/lib/lang/hr_language_list.lng
@@ -5,3 +5,5 @@
$wb['lang_file_txt'] = 'Jezična datoteka';
$wb['lang_file_date_txt'] = 'Zadnja promjena';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_login_as.lng b/interface/web/admin/lib/lang/hr_login_as.lng
new file mode 100644
index 0000000..d2fc370
--- /dev/null
+++ b/interface/web/admin/lib/lang/hr_login_as.lng
@@ -0,0 +1,13 @@
+<?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 \\",\\".';
+?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_package_install.lng b/interface/web/admin/lib/lang/hr_package_install.lng
index 181c797..c690075 100644
--- a/interface/web/admin/lib/lang/hr_package_install.lng
+++ b/interface/web/admin/lib/lang/hr_package_install.lng
@@ -5,3 +5,5 @@
$wb['repo_password_txt'] = 'Šifra (opcionalno)';
$wb['active_txt'] = 'Aktivno';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_action.lng b/interface/web/admin/lib/lang/hr_remote_action.lng
index fd1444f..221c3b4 100644
--- a/interface/web/admin/lib/lang/hr_remote_action.lng
+++ b/interface/web/admin/lib/lang/hr_remote_action.lng
@@ -10,3 +10,5 @@
$wb['ispconfig_update_title'] = 'Upute za ISPConfig nadogradnju';
$wb['ispconfig_update_text'] = 'Logiraj se kao root korisnik na server (SSH) i pokreni:<br /><br /><strong>ispconfig_update.sh</strong><br /><br /><a href=\'http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/\' target=\'_blank\'>Pogledaj detaljne upute ovdje</a>';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_user.lng b/interface/web/admin/lib/lang/hr_remote_user.lng
index fff993b..827b317 100644
--- a/interface/web/admin/lib/lang/hr_remote_user.lng
+++ b/interface/web/admin/lib/lang/hr_remote_user.lng
@@ -40,8 +40,10 @@
$wb['DNS srv functions'] = 'DNS srv funkcije';
$wb['DNS txt functions'] = 'DNS txt funkcije';
$wb['Mail mailing list functions'] = 'Funkcije mailing lista';
-$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'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_remote_user_list.lng b/interface/web/admin/lib/lang/hr_remote_user_list.lng
index 13afd0b..629e01d 100644
--- a/interface/web/admin/lib/lang/hr_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/hr_remote_user_list.lng
@@ -5,3 +5,5 @@
$wb['parent_remote_userid_txt'] = 'ID';
$wb['username_txt'] = 'Korisničko ime';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server.lng b/interface/web/admin/lib/lang/hr_server.lng
index 39b7f36..bd9f6a8 100644
--- a/interface/web/admin/lib/lang/hr_server.lng
+++ b/interface/web/admin/lib/lang/hr_server.lng
@@ -11,5 +11,7 @@
$wb['mirror_server_id_txt'] = 'je kopija servera';
$wb['- None -'] = '- izaberi server -';
$wb['proxy_server_txt'] = 'Proxy server';
-$wb['firewall_server_txt'] = 'Firewall server';
+$wb['firewall_server_txt'] = 'Vatrozid server';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng
index d63f461..2ebcae6 100644
--- a/interface/web/admin/lib/lang/hr_server_config.lng
+++ b/interface/web/admin/lib/lang/hr_server_config.lng
@@ -46,7 +46,7 @@
$wb['nameservers_error_empty'] = 'Nameserver polje je prazno.';
$wb['config_dir_txt'] = 'Konfiguracijski direktorij';
$wb['init_script_txt'] = 'Inicijalizacijski naziv cron skripte';
-$wb['crontab_dir_txt'] = 'Putanja do individualnih crontabs-a';
+$wb['crontab_dir_txt'] = 'Putanja do individualnih crontab-ova';
$wb['wget_txt'] = 'Putanja do wget programa';
$wb['web_user_txt'] = 'Apache korisnik';
$wb['web_group_txt'] = 'Apache grupa';
@@ -164,13 +164,13 @@
$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['ssl_settings_txt'] = 'SSL postavke';
+$wb['permissions_txt'] = 'Dozvole';
+$wb['php_settings_txt'] = 'PHP postavke';
+$wb['apps_vhost_settings_txt'] = 'Apps Vhost postavke';
+$wb['awstats_settings_txt'] = 'AWStats postavke';
$wb['firewall_txt'] = 'Firewall';
-$wb['mailbox_quota_stats_txt'] = 'Mailbox quota statistics';
+$wb['mailbox_quota_stats_txt'] = 'Statistika limita sandučića';
$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';
@@ -182,16 +182,16 @@
$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['no_notifications_txt'] = 'Nema notifikacija';
$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['monit_user_txt'] = 'Monit korisničko ime';
+$wb['monit_password_txt'] = 'Monit šifra';
+$wb['monit_url_error_regex'] = 'Neispravan Monit URL';
$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_user_txt'] = 'Munin korisničko ime';
+$wb['munin_password_txt'] = 'Munin šifra';
+$wb['munin_url_error_regex'] = 'Neispravan Munin URL';
$wb['munin_url_note_txt'] = 'Placeholder:';
$wb["dkim_path_txt"] = 'DKIM Path';
$wb['backup_delete_txt'] = 'Delete backups on domain/website delete';
@@ -201,4 +201,58 @@
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Neispravan Hostname.';
+$wb['invalid_apache_user_txt'] = 'Neispravan apache korisnik.';
+$wb['invalid_apache_group_txt'] = 'Neispravna apache grupa.';
+$wb['backup_dir_error_regex'] = 'Neispravan backup direktorij.';
+$wb['maildir_path_error_regex'] = 'Neispravna maildir putanja.';
+$wb['homedir_path_error_regex'] = 'Neispravna homedir putanja.';
+$wb['mailuser_name_error_regex'] = 'Neispravan mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Neispravan mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Neispravan getmail config direktorij.';
+$wb['website_basedir_error_regex'] = 'Neispravan website basedir.';
+$wb['website_symlinks_error_regex'] = 'Neispravan website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Neispravan vhost config direktorij.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Neispravan vhost conf enabled direktorij.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Neispravan nginx config direktorij.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Neispravan nginx conf enabled direktorij.';
+$wb['ca_path_error_regex'] = 'Neispravna CA putanja.';
+$wb['invalid_nginx_user_txt'] = 'Neispravan nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Neispravan nginx grupa.';
+$wb['php_ini_path_apache_error_regex'] = 'Neispravna apache php.ini putanja.';
+$wb['php_ini_path_cgi_error_regex'] = 'Neispravna cgi php.ini putanja.';
+$wb['php_fpm_init_script_error_regex'] = 'Neispravna php-fpm init skripta.';
+$wb['php_fpm_ini_path_error_regex'] = 'Neispravna php-fpm ini putanja.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Neispravan php-fpm pool direktorij.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Neispravan php-fpm socket direktorij.';
+$wb['php_open_basedir_error_regex'] = 'Neispravan php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data direktorij is empty';
+$wb['awstats_data_dir_error_regex'] = 'Neispravan awstats podatkovni direktorij.';
+$wb['awstats_pl_empty'] = 'awstats.pl opcija je prazna.';
+$wb['awstats_pl_error_regex'] = 'Neispravna awstats.pl putanja.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl je prazno';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Neispravna awstats_buildstaticpages.pl putanja.';
+$wb['invalid_bind_user_txt'] = 'Neispravan BIND korisnik.';
+$wb['invalid_bind_group_txt'] = 'Neispravan BIND grupa.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Neispravan BIND zonefiles direktorij.';
+$wb['named_conf_path_error_regex'] = 'Neispravna named.conf putanja.';
+$wb['named_conf_local_path_error_regex'] = 'Neispravna named.conf.local putanja.';
+$wb['fastcgi_starter_path_error_regex'] = 'Neispravna fastcgi starter putanja.';
+$wb['fastcgi_starter_script_error_regex'] = 'Neispravan fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Neispravan fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Neispravna fastcgi putanja.';
+$wb['fastcgi_bin_error_regex'] = 'Neispravan fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Neispravan jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Neispravan jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Neispravan jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Neispravan jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Neispravan vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Neispravan cron init script.';
+$wb['crontab_dir_error_regex'] = 'Neispravan crontab direktorij.';
+$wb['cron_wget_error_regex'] = 'Neispravna cron wget putanja.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_config_list.lng b/interface/web/admin/lib/lang/hr_server_config_list.lng
index 4b814eb..f6b836e 100644
--- a/interface/web/admin/lib/lang/hr_server_config_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_config_list.lng
@@ -2,3 +2,5 @@
$wb['list_head_txt'] = 'Konfiguracija servera';
$wb['server_name_txt'] = 'Server';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_ip.lng b/interface/web/admin/lib/lang/hr_server_ip.lng
index 0ddf8be..61a9891 100644
--- a/interface/web/admin/lib/lang/hr_server_ip.lng
+++ b/interface/web/admin/lib/lang/hr_server_ip.lng
@@ -9,3 +9,5 @@
$wb['virtualhost_port_txt'] = 'HTTP portovi';
$wb['error_port_syntax'] = 'Nedozvoljeni znakovi u port polju, unesite samo znamenke odvojene zarezom. Primjer: 80,443';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_ip_list.lng b/interface/web/admin/lib/lang/hr_server_ip_list.lng
index d4210d3..0a6673d 100644
--- a/interface/web/admin/lib/lang/hr_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_ip_list.lng
@@ -8,3 +8,5 @@
$wb['virtualhost_port_txt'] = 'HTTP portovi';
$wb['ip_type_txt'] = 'Vrsta';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_list.lng b/interface/web/admin/lib/lang/hr_server_list.lng
index f144770..1896375 100644
--- a/interface/web/admin/lib/lang/hr_server_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_list.lng
@@ -9,5 +9,7 @@
$wb['vserver_server_txt'] = 'VServer';
$wb['add_new_record_txt'] = 'Dodaj novi server';
$wb['proxy_server_txt'] = 'Proxy';
-$wb['firewall_server_txt'] = 'Firewall';
+$wb['firewall_server_txt'] = 'Vatrozid';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_php.lng b/interface/web/admin/lib/lang/hr_server_php.lng
index addbfa4..febb3ba 100644
--- a/interface/web/admin/lib/lang/hr_server_php.lng
+++ b/interface/web/admin/lib/lang/hr_server_php.lng
@@ -1,16 +1,18 @@
<?php
$wb['server_id_txt'] = 'Server';
-$wb['client_id_txt'] = 'Client';
+$wb['client_id_txt'] = 'Klijent';
$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['FastCGI Settings'] = 'FastCGI postavke';
+$wb['PHP-FPM Settings'] = 'PHP-FPM postavke';
+$wb['Additional PHP Versions'] = 'Dodatne PHP verzije';
+$wb['Form to edit additional PHP versions'] = 'Forma za dodatne PHP verzije';
$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['php_fastcgi_binary_txt'] = 'Putanja do PHP FastCGI datoteke';
+$wb['php_fastcgi_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_init_script_txt'] = 'Putanja do PHP-FPM init skripte';
+$wb['php_fpm_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_pool_dir_txt'] = 'Putanja do PHP-FPM pool direktorija';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_server_php_list.lng b/interface/web/admin/lib/lang/hr_server_php_list.lng
index b402fd1..b763dcc 100644
--- a/interface/web/admin/lib/lang/hr_server_php_list.lng
+++ b/interface/web/admin/lib/lang/hr_server_php_list.lng
@@ -2,6 +2,8 @@
$wb['list_head_txt'] = 'Additional PHP Versions';
$wb['server_id_txt'] = 'Server';
$wb['add_new_record_txt'] = 'Add new PHP version';
-$wb['client_id_txt'] = 'Client';
+$wb['client_id_txt'] = 'Klijent';
$wb['name_txt'] = 'PHP Name';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package.lng b/interface/web/admin/lib/lang/hr_software_package.lng
index faffe38..4fda4e6 100644
--- a/interface/web/admin/lib/lang/hr_software_package.lng
+++ b/interface/web/admin/lib/lang/hr_software_package.lng
@@ -4,3 +4,5 @@
$wb['Software Package'] = 'Software Package';
$wb['Modify software package details'] = 'Modify software package details';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package_install.lng b/interface/web/admin/lib/lang/hr_software_package_install.lng
index 22d7e0c..df68e35 100644
--- a/interface/web/admin/lib/lang/hr_software_package_install.lng
+++ b/interface/web/admin/lib/lang/hr_software_package_install.lng
@@ -4,3 +4,5 @@
$wb['btn_save_txt'] = 'Pokreni instalaciju';
$wb['btn_cancel_txt'] = 'Odustani';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_package_list.lng b/interface/web/admin/lib/lang/hr_software_package_list.lng
index 8381110..dc427ff 100644
--- a/interface/web/admin/lib/lang/hr_software_package_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_package_list.lng
@@ -5,9 +5,11 @@
$wb['package_description_txt'] = 'Opis';
$wb['action_txt'] = 'Akcija';
$wb['toolsarea_head_txt'] = 'Paketi';
-$wb['repoupdate_txt'] = 'Obnovi listu paketa';
+$wb['repoupdate_txt'] = 'Osvježi listu paketa';
$wb['package_id_txt'] = 'lokalni App-ID';
$wb['no_packages_txt'] = 'No packages available';
$wb['edit_txt'] = 'Edit';
$wb['delete_txt'] = 'Delete';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_repo.lng b/interface/web/admin/lib/lang/hr_software_repo.lng
index bbfb2e2..16f210f 100644
--- a/interface/web/admin/lib/lang/hr_software_repo.lng
+++ b/interface/web/admin/lib/lang/hr_software_repo.lng
@@ -6,3 +6,5 @@
$wb['active_txt'] = 'Aktivno';
$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/hr_software_repo_list.lng b/interface/web/admin/lib/lang/hr_software_repo_list.lng
index b79045b..ab81d1c 100644
--- a/interface/web/admin/lib/lang/hr_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_repo_list.lng
@@ -4,3 +4,5 @@
$wb['repo_name_txt'] = 'Repozitorij';
$wb['repo_url_txt'] = 'URL';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_software_update_list.lng b/interface/web/admin/lib/lang/hr_software_update_list.lng
index ed28faf..0990b31 100644
--- a/interface/web/admin/lib/lang/hr_software_update_list.lng
+++ b/interface/web/admin/lib/lang/hr_software_update_list.lng
@@ -5,5 +5,7 @@
$wb['update_title_txt'] = 'Nadogradi';
$wb['version_txt'] = 'Verzija';
$wb['action_txt'] = 'Akcija';
-$wb['no_updates_txt'] = 'No updates available';
+$wb['no_updates_txt'] = 'Nema nadogradnji';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng
index 307a3d1..fe9b89f 100644
--- a/interface/web/admin/lib/lang/hr_system_config.lng
+++ b/interface/web/admin/lib/lang/hr_system_config.lng
@@ -71,3 +71,5 @@
$wb['min_password_length_txt'] = 'Minimum password length';
$wb['min_password_strength_txt'] = 'Minimum password strength';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_tpl_default_admin.lng b/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
index eee3af5..a28c517 100644
--- a/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
+++ b/interface/web/admin/lib/lang/hr_tpl_default_admin.lng
@@ -1,18 +1,20 @@
<?php
-$wb['tpl_default_admin_head_txt'] = 'Global Default-Theme Settings';
+$wb['tpl_default_admin_head_txt'] = 'Globalne standardne postavke teme';
$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'] = 'Klijent';
+$wb['name_txt'] = 'PHP naziv';
+$wb['Name'] = 'Naziv';
+$wb['FastCGI Settings'] = 'FastCGI postavke';
+$wb['PHP-FPM Settings'] = 'PHP-FPM postavke';
+$wb['Additional PHP Versions'] = 'Dodatne PHP verzije';
+$wb['Form to edit additional PHP versions'] = 'Forma za editiranje dodatnih PHP verzija';
+$wb['server_php_name_error_empty'] = 'Nazive ne može biti prazan.';
+$wb['php_fastcgi_binary_txt'] = 'Putanja do PHP FastCGI izvršne datoteke';
+$wb['php_fastcgi_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_init_script_txt'] = 'Putanja do PHP-FPM init skripte';
+$wb['php_fpm_ini_dir_txt'] = 'Putanja do php.ini direktorija';
+$wb['php_fpm_pool_dir_txt'] = 'Putanja do PHP-FPM pool direktorija';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_users.lng b/interface/web/admin/lib/lang/hr_users.lng
index 037c86f..0a9ad64 100644
--- a/interface/web/admin/lib/lang/hr_users.lng
+++ b/interface/web/admin/lib/lang/hr_users.lng
@@ -7,7 +7,7 @@
$wb['password_strength_txt'] = 'Jačina šifre';
$wb['modules_txt'] = 'Modul';
$wb['startmodule_txt'] = 'Početni modul';
-$wb['app_theme_txt'] = 'Izgled';
+$wb['app_theme_txt'] = 'Tema';
$wb['typ_txt'] = 'Vrsta';
$wb['active_txt'] = 'Aktivno';
$wb['language_txt'] = 'Jezik';
@@ -25,10 +25,12 @@
$wb['groups_txt'] = 'Grupe';
$wb['default_group_txt'] = 'Standardna grupa';
$wb['startmodule_err'] = 'Početni modul nije u izabranim modulima.';
-$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['client_not_admin_err'] = 'A user that belongs to a client can not be set to type: admin';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['username_error_collision'] = 'Korisničko ime ne može biti web ili web sa brojem.\\"';
+$wb['client_not_admin_err'] = 'Korisnik koji je u grupi klijenti ne može biti admin';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hr_users_list.lng b/interface/web/admin/lib/lang/hr_users_list.lng
index c102e5f..e0014c9 100644
--- a/interface/web/admin/lib/lang/hr_users_list.lng
+++ b/interface/web/admin/lib/lang/hr_users_list.lng
@@ -7,3 +7,5 @@
$wb['warning_txt'] = '<b>UPOZORENJE:</b> Ovdje nemojte mijenjati podatke klijenta. Koristite \\"Klijent\\" i \\"Preprodavač\\" postavke u Klijent modulu. Mijenjanjem postavki klijenata ili grupa može doći do gubitka podataka!';
$wb['groups_txt'] = 'Groups';
?>
+
+
diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng
index 7347bfd..ecbef13 100644
--- a/interface/web/admin/lib/lang/hu_server_config.lng
+++ b/interface/web/admin/lib/lang/hu_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng
index 4b75b35..f9a26e2 100644
--- a/interface/web/admin/lib/lang/id_server_config.lng
+++ b/interface/web/admin/lib/lang/id_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng
index 8c7bd11..52913e3 100644
--- a/interface/web/admin/lib/lang/it_server_config.lng
+++ b/interface/web/admin/lib/lang/it_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng
index 1be98aa..0823ff0 100644
--- a/interface/web/admin/lib/lang/ja_server_config.lng
+++ b/interface/web/admin/lib/lang/ja_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng
index cbb6c2b..5027cc3 100644
--- a/interface/web/admin/lib/lang/nl_server_config.lng
+++ b/interface/web/admin/lib/lang/nl_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng
index 2d67bd3..64f41d2 100644
--- a/interface/web/admin/lib/lang/pl_server_config.lng
+++ b/interface/web/admin/lib/lang/pl_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng
index 1ed4cf1..5315bf9 100644
--- a/interface/web/admin/lib/lang/pt_server_config.lng
+++ b/interface/web/admin/lib/lang/pt_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng
index aa7e42a..9f06bc6 100644
--- a/interface/web/admin/lib/lang/ro_server_config.lng
+++ b/interface/web/admin/lib/lang/ro_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng
index dd82e58..77fc101 100644
--- a/interface/web/admin/lib/lang/ru_server_config.lng
+++ b/interface/web/admin/lib/lang/ru_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/se.lng b/interface/web/admin/lib/lang/se.lng
index 5101192..0df5d1a 100644
--- a/interface/web/admin/lib/lang/se.lng
+++ b/interface/web/admin/lib/lang/se.lng
@@ -48,4 +48,3 @@
$wb['Do ISPConfig-Update'] = 'Utför ISPConfig-uppdatering';
$wb['Directive Snippets'] = 'Directive Snippets';
?>
-
diff --git a/interface/web/admin/lib/lang/se_directive_snippets.lng b/interface/web/admin/lib/lang/se_directive_snippets.lng
index 5366bf1..0f09c12 100644
--- a/interface/web/admin/lib/lang/se_directive_snippets.lng
+++ b/interface/web/admin/lib/lang/se_directive_snippets.lng
@@ -8,4 +8,3 @@
$wb['directive_snippets_name_error_unique'] = 'There is already a directive snippet with this name.';
$wb['variables_txt'] = 'Variables';
?>
-
diff --git a/interface/web/admin/lib/lang/se_directive_snippets_list.lng b/interface/web/admin/lib/lang/se_directive_snippets_list.lng
index 3eac528..4124ea3 100644
--- a/interface/web/admin/lib/lang/se_directive_snippets_list.lng
+++ b/interface/web/admin/lib/lang/se_directive_snippets_list.lng
@@ -5,4 +5,3 @@
$wb['type_txt'] = 'Type';
$wb['add_new_record_txt'] = 'Add Directive Snippet';
?>
-
diff --git a/interface/web/admin/lib/lang/se_firewall.lng b/interface/web/admin/lib/lang/se_firewall.lng
index 4ae1ed6..123a648 100644
--- a/interface/web/admin/lib/lang/se_firewall.lng
+++ b/interface/web/admin/lib/lang/se_firewall.lng
@@ -9,4 +9,3 @@
$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, : and ,.';
$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, : and ,.';
?>
-
diff --git a/interface/web/admin/lib/lang/se_firewall_list.lng b/interface/web/admin/lib/lang/se_firewall_list.lng
index eff32d3..6f6f9ce 100644
--- a/interface/web/admin/lib/lang/se_firewall_list.lng
+++ b/interface/web/admin/lib/lang/se_firewall_list.lng
@@ -6,4 +6,3 @@
$wb['udp_port_txt'] = 'Öppna UDP-portar';
$wb['add_new_record_txt'] = 'Lägg till brandväggsinlägg';
?>
-
diff --git a/interface/web/admin/lib/lang/se_groups.lng b/interface/web/admin/lib/lang/se_groups.lng
index 175a422..4bb34b1 100644
--- a/interface/web/admin/lib/lang/se_groups.lng
+++ b/interface/web/admin/lib/lang/se_groups.lng
@@ -3,4 +3,3 @@
$wb['name_txt'] = 'Grupp';
$wb['name_err'] = 'Gruppnamnet måste ha minst 1 och max 30 tecken.';
?>
-
diff --git a/interface/web/admin/lib/lang/se_groups_list.lng b/interface/web/admin/lib/lang/se_groups_list.lng
index b5486da..fe3f4be 100644
--- a/interface/web/admin/lib/lang/se_groups_list.lng
+++ b/interface/web/admin/lib/lang/se_groups_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny grupp';
$wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
?>
-
diff --git a/interface/web/admin/lib/lang/se_iptables.lng b/interface/web/admin/lib/lang/se_iptables.lng
index 7c7dbfd..b4e6bf8 100644
--- a/interface/web/admin/lib/lang/se_iptables.lng
+++ b/interface/web/admin/lib/lang/se_iptables.lng
@@ -11,4 +11,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['iptables_error_unique'] = 'Det finns redan brandväggsinlägg för den här servern';
?>
-
diff --git a/interface/web/admin/lib/lang/se_iptables_list.lng b/interface/web/admin/lib/lang/se_iptables_list.lng
index 3d400b4..74a06df 100644
--- a/interface/web/admin/lib/lang/se_iptables_list.lng
+++ b/interface/web/admin/lib/lang/se_iptables_list.lng
@@ -13,4 +13,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['iptables_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_add.lng b/interface/web/admin/lib/lang/se_language_add.lng
index a0607f2..59dbeee 100644
--- a/interface/web/admin/lib/lang/se_language_add.lng
+++ b/interface/web/admin/lib/lang/se_language_add.lng
@@ -6,4 +6,3 @@
$wb['btn_cancel_txt'] = 'Tillbaka';
$wb['language_new_hint_txt'] = '2 characters ISO 639-1 language-code (See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_complete.lng b/interface/web/admin/lib/lang/se_language_complete.lng
index 9fc8458..539c956 100644
--- a/interface/web/admin/lib/lang/se_language_complete.lng
+++ b/interface/web/admin/lib/lang/se_language_complete.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Tillbaka';
$wb['list_desc_txt'] = 'Slå ihop språkfilen med den engelska huvudfilen. <br />Detta lägger till saknade fraser från den engelska språkfilen till den valda språkfilen';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_edit.lng b/interface/web/admin/lib/lang/se_language_edit.lng
index e02c9a9..076caaa 100644
--- a/interface/web/admin/lib/lang/se_language_edit.lng
+++ b/interface/web/admin/lib/lang/se_language_edit.lng
@@ -6,4 +6,3 @@
$wb['btn_save_txt'] = 'Spara';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_export.lng b/interface/web/admin/lib/lang/se_language_export.lng
index a4d7147..21ff513 100644
--- a/interface/web/admin/lib/lang/se_language_export.lng
+++ b/interface/web/admin/lib/lang/se_language_export.lng
@@ -4,4 +4,3 @@
$wb['btn_save_txt'] = 'Exportera de valda språkfilerna';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_import.lng b/interface/web/admin/lib/lang/se_language_import.lng
index 8ecca37..59af5bc 100644
--- a/interface/web/admin/lib/lang/se_language_import.lng
+++ b/interface/web/admin/lib/lang/se_language_import.lng
@@ -7,4 +7,3 @@
$wb['ignore_version_txt'] = 'Hoppa över ISPConfig versionskontroll';
$wb['list_desc_txt'] = 'VARNING: Importera inte språkfiler från opålitliga källor!';
?>
-
diff --git a/interface/web/admin/lib/lang/se_language_list.lng b/interface/web/admin/lib/lang/se_language_list.lng
index b23024d..9949044 100644
--- a/interface/web/admin/lib/lang/se_language_list.lng
+++ b/interface/web/admin/lib/lang/se_language_list.lng
@@ -5,4 +5,3 @@
$wb['lang_file_txt'] = 'Språkfil';
$wb['lang_file_date_txt'] = 'Senast ändrad';
?>
-
diff --git a/interface/web/admin/lib/lang/se_login_as.lng b/interface/web/admin/lib/lang/se_login_as.lng
deleted file mode 100644
index 284a75b..0000000
--- a/interface/web/admin/lib/lang/se_login_as.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['login_1_txt'] = 'Vill du logga in som användare';
-$wb['login_2_txt'] = 'Om du gör det kan du klicka på "gå tillbaka" genom att först klicka på logga ut.';
-$wb['btn_yes_txt'] = 'Ja, logga in som kund';
-$wb['btn_back_txt'] = 'Nej, tillbaka till listan';
-$wb['udp_port_help_txt'] = 'Kommaseparerade';
-$wb['active_txt'] = 'Aktiv';
-$wb['firewall_error_unique'] = 'Det finns redan ett brandväggsinlägg för den här servern.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
-?>
-
diff --git a/interface/web/admin/lib/lang/se_package_install.lng b/interface/web/admin/lib/lang/se_package_install.lng
index 438f1d8..2fb8330 100644
--- a/interface/web/admin/lib/lang/se_package_install.lng
+++ b/interface/web/admin/lib/lang/se_package_install.lng
@@ -5,4 +5,3 @@
$wb['repo_password_txt'] = 'Lösenord (Frivilligt)';
$wb['active_txt'] = 'Aktiv';
?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_action.lng b/interface/web/admin/lib/lang/se_remote_action.lng
index 99d9e2c..68d2bbd 100644
--- a/interface/web/admin/lib/lang/se_remote_action.lng
+++ b/interface/web/admin/lib/lang/se_remote_action.lng
@@ -10,4 +10,3 @@
$wb['ispconfig_update_title'] = 'ISPConfig uppdateringsinstruktioner';
$wb['ispconfig_update_text'] = 'Logga in som root på din server och kör kommandot<br /><br /> <strong>ispconfig_update.sh</strong><br /><br />för att påbörja ISPConfig-uppdateringen.<br /><br /><a href=http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-update-ispconfig-3/ target=_blank>Klicka här för detaljerade instruktioner</a>';
?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_user.lng b/interface/web/admin/lib/lang/se_remote_user.lng
index 5fedddc..1b3b731 100644
--- a/interface/web/admin/lib/lang/se_remote_user.lng
+++ b/interface/web/admin/lib/lang/se_remote_user.lng
@@ -45,4 +45,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
-
diff --git a/interface/web/admin/lib/lang/se_remote_user_list.lng b/interface/web/admin/lib/lang/se_remote_user_list.lng
index 9f49023..152a75f 100644
--- a/interface/web/admin/lib/lang/se_remote_user_list.lng
+++ b/interface/web/admin/lib/lang/se_remote_user_list.lng
@@ -5,4 +5,3 @@
$wb['parent_remote_userid_txt'] = 'ID';
$wb['username_txt'] = 'Username';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server.lng b/interface/web/admin/lib/lang/se_server.lng
index 29f32a7..54df6f2 100644
--- a/interface/web/admin/lib/lang/se_server.lng
+++ b/interface/web/admin/lib/lang/se_server.lng
@@ -13,4 +13,3 @@
$wb['proxy_server_txt'] = 'Proxy-server';
$wb['firewall_server_txt'] = 'Brandväggsserver';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng
index 9a2d518..b5d5ea1 100644
--- a/interface/web/admin/lib/lang/se_server_config.lng
+++ b/interface/web/admin/lib/lang/se_server_config.lng
@@ -199,7 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_config_list.lng b/interface/web/admin/lib/lang/se_server_config_list.lng
index 9ff7f9b..191b2c8 100644
--- a/interface/web/admin/lib/lang/se_server_config_list.lng
+++ b/interface/web/admin/lib/lang/se_server_config_list.lng
@@ -2,4 +2,3 @@
$wb['list_head_txt'] = 'Serverkonfiguration';
$wb['server_name_txt'] = 'Server';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_ip.lng b/interface/web/admin/lib/lang/se_server_ip.lng
index ad887bb..c6f92d8 100644
--- a/interface/web/admin/lib/lang/se_server_ip.lng
+++ b/interface/web/admin/lib/lang/se_server_ip.lng
@@ -9,4 +9,3 @@
$wb['virtualhost_port_txt'] = 'HTTP-portar';
$wb['error_port_syntax'] = 'Invalid chars in port field, please enter only comma separated numbers. Example: 80,443';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_ip_list.lng b/interface/web/admin/lib/lang/se_server_ip_list.lng
index 67884b3..8f20a3b 100644
--- a/interface/web/admin/lib/lang/se_server_ip_list.lng
+++ b/interface/web/admin/lib/lang/se_server_ip_list.lng
@@ -8,4 +8,3 @@
$wb['virtualhost_port_txt'] = 'HTTP-portar';
$wb['ip_type_txt'] = 'Typ';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_list.lng b/interface/web/admin/lib/lang/se_server_list.lng
index 23d6940..031ac76 100644
--- a/interface/web/admin/lib/lang/se_server_list.lng
+++ b/interface/web/admin/lib/lang/se_server_list.lng
@@ -11,4 +11,3 @@
$wb['proxy_server_txt'] = 'Proxy';
$wb['firewall_server_txt'] = 'Brandvägg';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_php.lng b/interface/web/admin/lib/lang/se_server_php.lng
index 3b6096e..addbfa4 100644
--- a/interface/web/admin/lib/lang/se_server_php.lng
+++ b/interface/web/admin/lib/lang/se_server_php.lng
@@ -14,4 +14,3 @@
$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
?>
-
diff --git a/interface/web/admin/lib/lang/se_server_php_list.lng b/interface/web/admin/lib/lang/se_server_php_list.lng
index 353e156..f5762ad 100644
--- a/interface/web/admin/lib/lang/se_server_php_list.lng
+++ b/interface/web/admin/lib/lang/se_server_php_list.lng
@@ -5,4 +5,3 @@
$wb['client_id_txt'] = 'Kund';
$wb['name_txt'] = 'PHP-namn';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package.lng b/interface/web/admin/lib/lang/se_software_package.lng
index f06ca05..086902d 100644
--- a/interface/web/admin/lib/lang/se_software_package.lng
+++ b/interface/web/admin/lib/lang/se_software_package.lng
@@ -4,4 +4,3 @@
$wb['Software Package'] = 'Mjukvarupaket';
$wb['Modify software package details'] = 'Redigera mjukvarupaketets uppgifter';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package_install.lng b/interface/web/admin/lib/lang/se_software_package_install.lng
index 7b0b28b..434fc4b 100644
--- a/interface/web/admin/lib/lang/se_software_package_install.lng
+++ b/interface/web/admin/lib/lang/se_software_package_install.lng
@@ -4,4 +4,3 @@
$wb['btn_save_txt'] = 'Påbörja installation';
$wb['btn_cancel_txt'] = 'Avbryt';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_package_list.lng b/interface/web/admin/lib/lang/se_software_package_list.lng
index 7762e62..c0222e1 100644
--- a/interface/web/admin/lib/lang/se_software_package_list.lng
+++ b/interface/web/admin/lib/lang/se_software_package_list.lng
@@ -11,4 +11,3 @@
$wb['edit_txt'] = 'Redigera';
$wb['delete_txt'] = 'Radera';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_repo.lng b/interface/web/admin/lib/lang/se_software_repo.lng
index db59a1b..a0e0de6 100644
--- a/interface/web/admin/lib/lang/se_software_repo.lng
+++ b/interface/web/admin/lib/lang/se_software_repo.lng
@@ -6,4 +6,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['Software Repository which may contain addons or updates'] = 'Pragarmvarubibliotek som kan innehålla uppdateringar eller tillägg';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_repo_list.lng b/interface/web/admin/lib/lang/se_software_repo_list.lng
index d997091..b7a219f 100644
--- a/interface/web/admin/lib/lang/se_software_repo_list.lng
+++ b/interface/web/admin/lib/lang/se_software_repo_list.lng
@@ -4,4 +4,3 @@
$wb['repo_name_txt'] = 'Repository';
$wb['repo_url_txt'] = 'URL';
?>
-
diff --git a/interface/web/admin/lib/lang/se_software_update_list.lng b/interface/web/admin/lib/lang/se_software_update_list.lng
index 41728b2..0cf7c0e 100644
--- a/interface/web/admin/lib/lang/se_software_update_list.lng
+++ b/interface/web/admin/lib/lang/se_software_update_list.lng
@@ -7,4 +7,3 @@
$wb['server_select_txt'] = 'Välj server';
$wb['no_updates_txt'] = 'Inga tillgängliga uppdateringar';
?>
-
diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng
index 493c8c2..97850cd 100644
--- a/interface/web/admin/lib/lang/se_system_config.lng
+++ b/interface/web/admin/lib/lang/se_system_config.lng
@@ -66,9 +66,8 @@
$wb['customer_no_start_txt'] = 'Kundnummer startvärde';
$wb['customer_no_counter_txt'] = 'Kundnummer räknare';
$wb['session_timeout_txt'] = 'Session timeout (minuter)';
-$wb['session_allow_endless_txt'] = 'Aktivera "håll mig inloggad"';
+$wb['session_allow_endless_txt'] = 'Aktivera \\"håll mig inloggad\\"';
$wb['No'] = 'Nej';
$wb['min_password_length_txt'] = 'Minsta lösenordslängd';
$wb['min_password_strength_txt'] = 'Minsta lösenordsstyrka';
?>
-
diff --git a/interface/web/admin/lib/lang/se_tpl_default_admin.lng b/interface/web/admin/lib/lang/se_tpl_default_admin.lng
index d8989ed..8894558 100644
--- a/interface/web/admin/lib/lang/se_tpl_default_admin.lng
+++ b/interface/web/admin/lib/lang/se_tpl_default_admin.lng
@@ -16,4 +16,3 @@
$wb['php_fpm_ini_dir_txt'] = 'Path to the php.ini directory';
$wb['php_fpm_pool_dir_txt'] = 'Path to the PHP-FPM pool directory';
?>
-
diff --git a/interface/web/admin/lib/lang/se_users.lng b/interface/web/admin/lib/lang/se_users.lng
index 3acec53..9a819be 100644
--- a/interface/web/admin/lib/lang/se_users.lng
+++ b/interface/web/admin/lib/lang/se_users.lng
@@ -32,4 +32,3 @@
$wb['username_error_collision'] = 'Användarnamnet får inte vara web eller web och ett nummer';
$wb['client_not_admin_err'] = 'En användare som tillhör en kund kan inte sättas som admin';
?>
-
diff --git a/interface/web/admin/lib/lang/se_users_list.lng b/interface/web/admin/lib/lang/se_users_list.lng
index f9ea803..a6580d3 100644
--- a/interface/web/admin/lib/lang/se_users_list.lng
+++ b/interface/web/admin/lib/lang/se_users_list.lng
@@ -7,4 +7,3 @@
$wb['warning_txt'] = '<b>VARNING:</b> Ändra inte några användarinställningar här. Use the Client- and Reseller settings in the Client module instead. Modifying or changing Users or groups here may cause data loss!';
$wb['groups_txt'] = 'Grupper';
?>
-
diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng
index 78d6ccb..d480430 100644
--- a/interface/web/admin/lib/lang/sk_server_config.lng
+++ b/interface/web/admin/lib/lang/sk_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng
index 4c6c4f3..8b08efe 100644
--- a/interface/web/admin/lib/lang/tr_server_config.lng
+++ b/interface/web/admin/lib/lang/tr_server_config.lng
@@ -199,6 +199,57 @@
$wb["vhost_rewrite_v6_txt"] = 'Rewrite IPv6 on Mirror';
$wb["v6_prefix_length"] = 'Prefix too long according to defined IPv6 ';
$wb['backup_dir_is_mount_txt'] = 'Backup directory is a mount?';
-$wb['backup_dir_mount_cmd_txt'] = 'Mount command, if backup directory not mounted';
$wb['monitor_system_updates_txt'] = 'Check for Linux updates';
+$wb['hostname_error_regex'] = 'Invalid Hostname.';
+$wb['invalid_apache_user_txt'] = 'Invalid apache user.';
+$wb['invalid_apache_group_txt'] = 'Invalid apache group.';
+$wb['backup_dir_error_regex'] = 'Invalid backup directory.';
+$wb['maildir_path_error_regex'] = 'Invalid maildir path.';
+$wb['homedir_path_error_regex'] = 'Invalid homedir path.';
+$wb['mailuser_name_error_regex'] = 'Invalid mailuser name.';
+$wb['mailuser_group_name_error_regex'] = 'Invalid mailuser group name.';
+$wb['mailuser_uid_error_range'] = 'Mailuser uid must be >= 2000';
+$wb['mailuser_gid_error_range'] = 'Mailuser gid must be >= 2000';
+$wb['getmail_config_dir_error_regex'] = 'Invalid getmail config directory.';
+$wb['website_basedir_error_regex'] = 'Invalid website basedir.';
+$wb['website_symlinks_error_regex'] = 'Invalid website symlinks.';
+$wb['vhost_conf_dir_error_regex'] = 'Invalid vhost config directory.';
+$wb['vhost_conf_enabled_dir_error_regex'] = 'Invalid vhost conf enabled directory.';
+$wb['nginx_vhost_conf_dir_error_regex'] = 'Invalid nginx config directory.';
+$wb['nginx_vhost_conf_enabled_dir_error_regex'] = 'Invalid nginx conf enabled directory.';
+$wb['ca_path_error_regex'] = 'Invalid CA path.';
+$wb['invalid_nginx_user_txt'] = 'Invalid nginx user.';
+$wb['invalid_nginx_group_txt'] = 'Invalid nginx group.';
+$wb['php_ini_path_apache_error_regex'] = 'Invalid apache php.ini path.';
+$wb['php_ini_path_cgi_error_regex'] = 'Invalid cgi php.ini path.';
+$wb['php_fpm_init_script_error_regex'] = 'Invalid php-fpm init script.';
+$wb['php_fpm_ini_path_error_regex'] = 'Invalid php-fpm ini path.';
+$wb['php_fpm_pool_dir_error_regex'] = 'Invalid php-fpm pool directory.';
+$wb['php_fpm_socket_dir_error_regex'] = 'Invalid php-fpm socket directory.';
+$wb['php_open_basedir_error_regex'] = 'Invalid php open_basedir.';
+$wb['awstats_data_dir_empty'] = 'awstats data directory is empty';
+$wb['awstats_data_dir_error_regex'] = 'Invalid awstats data directory.';
+$wb['awstats_pl_empty'] = 'awstats.pl setting is empty.';
+$wb['awstats_pl_error_regex'] = 'Invalid awstats.pl path.';
+$wb['awstats_buildstaticpages_pl_empty'] = 'awstats_buildstaticpages.pl is empty';
+$wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpages.pl path.';
+$wb['invalid_bind_user_txt'] = 'Invalid BIND user.';
+$wb['invalid_bind_group_txt'] = 'Invalid BIND group.';
+$wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.';
+$wb['named_conf_path_error_regex'] = 'Invalid named.conf path.';
+$wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.';
+$wb['fastcgi_starter_path_error_regex'] = 'Invalid fastcgi starter path.';
+$wb['fastcgi_starter_script_error_regex'] = 'Invalid fastcgi starter script.';
+$wb['fastcgi_alias_error_regex'] = 'Invalid fastcgi alias.';
+$wb['fastcgi_phpini_path_error_regex'] = 'Invalid fastcgi path.';
+$wb['fastcgi_bin_error_regex'] = 'Invalid fastcgi bin.';
+$wb['jailkit_chroot_home_error_regex'] = 'Invalid jaikit chroot home.';
+$wb['jailkit_chroot_app_sections_error_regex'] = 'Invalid jaikit chroot sections.';
+$wb['jailkit_chroot_app_programs_error_regex'] = 'Invalid jaikit chroot app programs.';
+$wb['jailkit_chroot_cron_programs_error_regex'] = 'Invalid jaikit chroot cron programs.';
+$wb['vlogger_config_dir_error_regex'] = 'Invalid vlogger config dir.';
+$wb['cron_init_script_error_regex'] = 'Invalid cron init script.';
+$wb['crontab_dir_error_regex'] = 'Invalid crontab directory.';
+$wb['cron_wget_error_regex'] = 'Invalid cron wget path.';
+$wb['network_filesystem_txt'] = 'Network Filesystem';
?>
diff --git a/interface/web/admin/remote_action_osupdate.php b/interface/web/admin/remote_action_osupdate.php
index 4000d7f..61c6c23 100644
--- a/interface/web/admin/remote_action_osupdate.php
+++ b/interface/web/admin/remote_action_osupdate.php
@@ -32,6 +32,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_osupdate');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/remote_user_del.php b/interface/web/admin/remote_user_del.php
index e3a3832..b23336c 100644
--- a/interface/web/admin/remote_user_del.php
+++ b/interface/web/admin/remote_user_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_remote_users');
$app->uses('tpl,tform');
$app->load('tform_actions');
diff --git a/interface/web/admin/remote_user_edit.php b/interface/web/admin/remote_user_edit.php
index 962aa57..efc4f72 100644
--- a/interface/web/admin/remote_user_edit.php
+++ b/interface/web/admin/remote_user_edit.php
@@ -13,6 +13,9 @@
die;
}
+$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_remote_users');
+
// Disable this function in demo mode
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
diff --git a/interface/web/admin/server_config_del.php b/interface/web/admin/server_config_del.php
index c50ca14..3a332ed 100644
--- a/interface/web/admin/server_config_del.php
+++ b/interface/web/admin/server_config_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_config');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
$app->uses("tform_actions");
diff --git a/interface/web/admin/server_config_edit.php b/interface/web/admin/server_config_edit.php
index a471181..e561b00 100644
--- a/interface/web/admin/server_config_edit.php
+++ b/interface/web/admin/server_config_edit.php
@@ -43,6 +43,8 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_config');
+
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_del.php b/interface/web/admin/server_del.php
index c39b732..f90bfa7 100644
--- a/interface/web/admin/server_del.php
+++ b/interface/web/admin/server_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_services');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
$app->uses("tform_actions");
diff --git a/interface/web/admin/server_edit.php b/interface/web/admin/server_edit.php
index caf79ef..0adf313 100644
--- a/interface/web/admin/server_edit.php
+++ b/interface/web/admin/server_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_services');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_ip_del.php b/interface/web/admin/server_ip_del.php
index e1df934..61252c3 100644
--- a/interface/web/admin/server_ip_del.php
+++ b/interface/web/admin/server_ip_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_ip');
$app->uses("tform_actions");
$app->tform_actions->onDelete();
diff --git a/interface/web/admin/server_ip_edit.php b/interface/web/admin/server_ip_edit.php
index c3bf380..c20f752 100644
--- a/interface/web/admin/server_ip_edit.php
+++ b/interface/web/admin/server_ip_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_ip');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/server_php_del.php b/interface/web/admin/server_php_del.php
index d9c7baf..6848eea 100644
--- a/interface/web/admin/server_php_del.php
+++ b/interface/web/admin/server_php_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_php');
$app->uses("tform_actions");
$app->tform_actions->onDelete();
diff --git a/interface/web/admin/server_php_edit.php b/interface/web/admin/server_php_edit.php
index ff65c70..f60ae99 100644
--- a/interface/web/admin/server_php_edit.php
+++ b/interface/web/admin/server_php_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_server_php');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/software_package_del.php b/interface/web/admin/software_package_del.php
index ff9ab6e..31aeb1c 100644
--- a/interface/web/admin/software_package_del.php
+++ b/interface/web/admin/software_package_del.php
@@ -33,6 +33,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
$software_update_inst_id = $app->functions->intval($_GET['software_update_inst_id']);
diff --git a/interface/web/admin/software_package_edit.php b/interface/web/admin/software_package_edit.php
index 038f377..65555d3 100644
--- a/interface/web/admin/software_package_edit.php
+++ b/interface/web/admin/software_package_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
// Loading classes
diff --git a/interface/web/admin/software_package_install.php b/interface/web/admin/software_package_install.php
index e45f47a..0fd5881 100644
--- a/interface/web/admin/software_package_install.php
+++ b/interface/web/admin/software_package_install.php
@@ -33,6 +33,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/software_repo_del.php b/interface/web/admin/software_repo_del.php
index b8effc1..6309937 100644
--- a/interface/web/admin/software_repo_del.php
+++ b/interface/web/admin/software_repo_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_repo');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
$app->uses("tform_actions");
diff --git a/interface/web/admin/software_repo_edit.php b/interface/web/admin/software_repo_edit.php
index 2a6a4f4..6d52da2 100644
--- a/interface/web/admin/software_repo_edit.php
+++ b/interface/web/admin/software_repo_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_repo');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
// Loading classes
diff --git a/interface/web/admin/software_update_list.php b/interface/web/admin/software_update_list.php
index a709e0c..8bc8b79 100644
--- a/interface/web/admin/software_update_list.php
+++ b/interface/web/admin/software_update_list.php
@@ -33,6 +33,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_software_packages');
//* This is only allowed for administrators
if(!$app->auth->is_admin()) die('only allowed for administrators.');
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index a793a83..7108f27 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -43,6 +43,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_system_config');
// Loading classes
$app->uses('tpl,tform,tform_actions');
diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm
index ade491f..2c08129 100644
--- a/interface/web/admin/templates/server_config_server_edit.htm
+++ b/interface/web/admin/templates/server_config_server_edit.htm
@@ -64,10 +64,6 @@
{tmpl_var name='backup_dir_is_mount'}
</div>
</div>
- <div class="ctrlHolder">
- <label for="backup_dir_mount_cmd">{tmpl_var name='backup_dir_mount_cmd_txt'}</label>
- <input name="backup_dir_mount_cmd" id="backup_dir_mount_cmd" value="{tmpl_var name='backup_dir_mount_cmd'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
<div class="ctrlHolder">
<label for="backup_mode">{tmpl_var name='backup_mode_txt'}</label>
<select name="backup_mode" id="backup_mode" class="selectInput">
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index 87bb4af..04a8c22 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -31,6 +31,12 @@
{tmpl_var name='website_symlinks_rel'}
</div>
</div>
+ <div class="ctrlHolder">
+ <label for="website_symlinks_rel">{tmpl_var name='network_filesystem_txt'}</label>
+ <div class="multiField">
+ {tmpl_var name='network_filesystem'}
+ </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>
diff --git a/interface/web/admin/templates/users_list.htm b/interface/web/admin/templates/users_list.htm
index dece7f8..cac25f5 100644
--- a/interface/web/admin/templates/users_list.htm
+++ b/interface/web/admin/templates/users_list.htm
@@ -44,7 +44,7 @@
<td class="tbl_col_groups">{tmpl_var name="groups"}</td>
<td class="tbl_col_buttons">
<tmpl_if name="username" op="!=" value="admin">
- <a class="button icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
+ <a class="button icons16 icoLoginAs" href="javascript: loadContent('login/login_as.php?cid={tmpl_var name='client_id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
<a class="button icons16 icoDelete" href="javascript: del_record('admin/users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
</tmpl_if>
</td>
diff --git a/interface/web/admin/tpl_default.php b/interface/web/admin/tpl_default.php
index b9477f1..57395cf 100644
--- a/interface/web/admin/tpl_default.php
+++ b/interface/web/admin/tpl_default.php
@@ -1,4 +1,5 @@
<?php
+die('unused');
/*
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
diff --git a/interface/web/admin/users_del.php b/interface/web/admin/users_del.php
index 299eed2..ce413b6 100644
--- a/interface/web/admin/users_del.php
+++ b/interface/web/admin/users_del.php
@@ -44,6 +44,7 @@
//* Check permissions for module
$app->auth->check_module_permissions('admin');
+$app->auth->check_security_permissions('admin_allow_del_cpuser');
if($conf['demo_mode'] == true && $_REQUEST['id'] <= 3) $app->error('This function is disabled in demo mode.');
$app->uses("tform_actions");
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index 2b1be7f..0a14ca5 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -52,10 +52,18 @@
function onBeforeInsert() {
global $app, $conf;
+
+ //* Security settings check
+ if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin') {
+ $app->auth->check_security_permissions('admin_allow_new_admin');
+ }
if(!in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
}
+
+
+
}
function onBeforeUpdate() {
@@ -63,6 +71,11 @@
if($conf['demo_mode'] == true && $_REQUEST['id'] <= 3) $app->error('This function is disabled in demo mode.');
+ //* Security settings check
+ if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin') {
+ $app->auth->check_security_permissions('admin_allow_new_admin');
+ }
+
if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
}
diff --git a/interface/web/client/domain_edit.php b/interface/web/client/domain_edit.php
index 9b78988..889bb4f 100644
--- a/interface/web/client/domain_edit.php
+++ b/interface/web/client/domain_edit.php
@@ -195,7 +195,7 @@
// make sure that the record belongs to the client group and not the admin group when admin inserts it
// also make sure that the user can not delete domain created by a admin
- if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) {
+ if(($_SESSION["s"]["user"]["typ"] == 'admin' && isset($this->dataRecord["client_group_id"])) || ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
$client_group_id = $app->functions->intval($this->dataRecord["client_group_id"]);
$app->db->query("UPDATE domain SET sys_groupid = $client_group_id, sys_perm_group = 'ru' WHERE domain_id = ".$this->id);
}
diff --git a/interface/web/client/lib/lang/cz.lng b/interface/web/client/lib/lang/cz.lng
index 5639cce..cf86d1c 100644
--- a/interface/web/client/lib/lang/cz.lng
+++ b/interface/web/client/lib/lang/cz.lng
@@ -24,3 +24,4 @@
$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 a164dc1..681b7f4 100644
--- a/interface/web/client/lib/lang/cz_client.lng
+++ b/interface/web/client/lib/lang/cz_client.lng
@@ -118,7 +118,7 @@
$wb['limit_python_txt'] = 'Python - dostupná volba pro klienta';
$wb['force_suexec_txt'] = 'SuEXEC - povinné pro klienta';
$wb['limit_hterror_txt'] = 'Vlastní Error (chybové) dokumenty';
-$wb['limit_wildcard_txt'] = 'Wildcard subdomain available';
+$wb['limit_wildcard_txt'] = '(*.) automatická subdoména - dostupná volba pro klienta';
$wb['limit_ssl_txt'] = 'SSL - dostupná volba pro klienta';
$wb['bank_account_number_txt'] = 'Číslo účtu';
$wb['bank_code_txt'] = 'Kód banky';
@@ -156,3 +156,4 @@
$wb['parent_client_id_txt'] = 'Přiřazení klienta k distributorovi (prodejci)';
$wb['none_txt'] = 'Žádný';
?>
+
diff --git a/interface/web/client/lib/lang/cz_client_circle.lng b/interface/web/client/lib/lang/cz_client_circle.lng
index f26e2d6..c47f934 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['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 e827605..5895f82 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['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 5374ea6..255b542 100644
--- a/interface/web/client/lib/lang/cz_client_del.lng
+++ b/interface/web/client/lib/lang/cz_client_del.lng
@@ -5,3 +5,4 @@
$wb['btn_cancel_txt'] = 'Zrušit bez smazání klienta';
$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 3710cbd..72ee184 100644
--- a/interface/web/client/lib/lang/cz_client_message.lng
+++ b/interface/web/client/lib/lang/cz_client_message.lng
@@ -18,3 +18,4 @@
$wb['gender_m_txt'] = 'Pan';
$wb['gender_f_txt'] = 'Paní';
?>
+
diff --git a/interface/web/client/lib/lang/cz_client_message_template.lng b/interface/web/client/lib/lang/cz_client_message_template.lng
index b5e0b73..2892f4d 100644
--- a/interface/web/client/lib/lang/cz_client_message_template.lng
+++ b/interface/web/client/lib/lang/cz_client_message_template.lng
@@ -9,3 +9,4 @@
$wb['variables_description_txt'] = 'Proměnné uživatelské jméno a heslo jsou k dispozici (funkční) jako volba pouze v uvítacím e-mailu.';
$wb['duplicate_welcome_error'] = 'There can be only one default welcome email template. Please edit the existing template instead of adding a new one.';
?>
+
diff --git a/interface/web/client/lib/lang/cz_client_message_template_list.lng b/interface/web/client/lib/lang/cz_client_message_template_list.lng
index d4c2f63..f96a284 100644
--- a/interface/web/client/lib/lang/cz_client_message_template_list.lng
+++ b/interface/web/client/lib/lang/cz_client_message_template_list.lng
@@ -3,3 +3,4 @@
$wb['template_type_txt'] = 'Zpráva pro';
$wb['template_name_txt'] = 'Název šablony';
?>
+
diff --git a/interface/web/client/lib/lang/cz_client_template.lng b/interface/web/client/lib/lang/cz_client_template.lng
index 0695f20..db89d00 100644
--- a/interface/web/client/lib/lang/cz_client_template.lng
+++ b/interface/web/client/lib/lang/cz_client_template.lng
@@ -66,8 +66,8 @@
$wb['limit_openvz_vm_txt'] = 'Max. počet virtuálních serverů';
$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['ssh_chroot_txt'] = 'SSH-Chroot Možnosti';
+$wb['web_php_options_txt'] = 'PHP Možnosti';
$wb['template_type_txt'] = 'Typ šablony';
$wb['template_name_txt'] = 'Název šablony';
$wb['limit_cgi_txt'] = 'CGI - dostupná volba pro klienta';
@@ -77,7 +77,7 @@
$wb['limit_python_txt'] = 'Python - dostupná volba pro klienta';
$wb['force_suexec_txt'] = 'SuEXEC - povinné pro klienta';
$wb['limit_hterror_txt'] = 'Vlastní Error (chybové) dokumenty';
-$wb['limit_wildcard_txt'] = 'Wildcard subdomain available';
+$wb['limit_wildcard_txt'] = '(*.) automatická subdoména - dostupná volba pro klienta';
$wb['limit_ssl_txt'] = 'SSL - dostupná volba pro klienta';
$wb['web_limits_txt'] = 'Webové limity';
$wb['email_limits_txt'] = 'E-mailové limity';
@@ -91,3 +91,4 @@
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Klientské limity';
?>
+
diff --git a/interface/web/client/lib/lang/cz_client_template_list.lng b/interface/web/client/lib/lang/cz_client_template_list.lng
index 3abbd09..d560efb 100644
--- a/interface/web/client/lib/lang/cz_client_template_list.lng
+++ b/interface/web/client/lib/lang/cz_client_template_list.lng
@@ -4,3 +4,4 @@
$wb['template_name_txt'] = 'Název šablony';
$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 9657cb7..bceac34 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['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 08b113f..eabdb6d 100644
--- a/interface/web/client/lib/lang/cz_domain.lng
+++ b/interface/web/client/lib/lang/cz_domain.lng
@@ -4,3 +4,4 @@
$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 6cf7376..88df838 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['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 7de0c0b..c8807d8 100644
--- a/interface/web/client/lib/lang/cz_reseller.lng
+++ b/interface/web/client/lib/lang/cz_reseller.lng
@@ -118,7 +118,7 @@
$wb['limit_python_txt'] = 'Python - dostupná volba pro klienta';
$wb['force_suexec_txt'] = 'SuEXEC - povinné pro klienta';
$wb['limit_hterror_txt'] = 'Vlastní Error (chybové) dokumenty';
-$wb['limit_wildcard_txt'] = 'Wildcard subdomain available';
+$wb['limit_wildcard_txt'] = '(*.) automatická subdoména - dostupná volba pro klienta';
$wb['limit_ssl_txt'] = 'SSL - dostupná volba pro klienta';
$wb['web_limits_txt'] = 'Webové limity';
$wb['email_limits_txt'] = 'E-mailové limity';
@@ -161,3 +161,4 @@
$wb['client_limits_txt'] = 'Klientské limity';
$wb['err_msg_master_tpl_set'] = 'Nelze nastavit vlastní limity, pokud chtete nastavit vlatní limity musí být \\"hlavní šablona\\" nastavena na volbu \\"Custom\\".';
?>
+
diff --git a/interface/web/client/lib/lang/cz_resellers_list.lng b/interface/web/client/lib/lang/cz_resellers_list.lng
index 8e72797..859c97f 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['customer_no_txt'] = 'Zákaznické číslo';
$wb['username_txt'] = 'Uživatelské jméno';
?>
+
diff --git a/interface/web/client/lib/lang/el_reseller.lng b/interface/web/client/lib/lang/el_reseller.lng
index 578774b..6e2c6c9 100644
--- a/interface/web/client/lib/lang/el_reseller.lng
+++ b/interface/web/client/lib/lang/el_reseller.lng
@@ -159,5 +159,5 @@
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
diff --git a/interface/web/client/lib/lang/fr_client.lng b/interface/web/client/lib/lang/fr_client.lng
index 4366fa1..4f07d0e 100644
--- a/interface/web/client/lib/lang/fr_client.lng
+++ b/interface/web/client/lib/lang/fr_client.lng
@@ -141,7 +141,7 @@
$wb['customer_no_error_unique'] = 'Le numéro client doit être unique (ou vide).';
$wb['paypal_email_error_isemail'] = 'Saisissez un compte Paypal valide.';
$wb['paypal_email_txt'] = 'Compte Paypal';
-$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \"custom\" est sélectionné.';
+$wb['err_msg_master_tpl_set'] = 'Les paramètres de limites personnalisés seront ignorés si un modèle maître autre que \\"custom\\" est sélectionné.';
$wb['aps_limits_txt'] = 'Nombre max d\'Installeur APS';
$wb['limit_aps_txt'] = 'Nombre max d\'instances APS';
$wb['limit_aps_error_notint'] = 'La limite d\'instances APS doit être un nombre';
diff --git a/interface/web/client/lib/lang/fr_reseller.lng b/interface/web/client/lib/lang/fr_reseller.lng
index 0447db7..fb72e33 100644
--- a/interface/web/client/lib/lang/fr_reseller.lng
+++ b/interface/web/client/lib/lang/fr_reseller.lng
@@ -174,5 +174,5 @@
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \"custom\" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
diff --git a/interface/web/client/lib/lang/hr.lng b/interface/web/client/lib/lang/hr.lng
index 137f9bb..fed227e 100644
--- a/interface/web/client/lib/lang/hr.lng
+++ b/interface/web/client/lib/lang/hr.lng
@@ -1,26 +1,28 @@
<?php
-$wb['Client'] = 'Klijenti';
+$wb['Klijent'] = 'Klijenti';
$wb['Address'] = 'Adresa';
$wb['Limits'] = 'Limiti';
$wb['Add Client'] = 'Dodaj klijenta';
$wb['Edit Client'] = 'Editiraj klijenta';
$wb['Clients'] = 'Klijenti';
-$wb['Templates'] = 'Templates';
-$wb['Limit-Templates'] = 'Limit-Templates';
+$wb['Templates'] = 'Predlošci';
+$wb['Limit-Templates'] = 'Limiti-Predlošci';
$wb['Add Reseller'] = 'Dodaj preprodavača';
$wb['Edit Reseller'] = 'Editiraj preprodavača';
$wb['Resellers'] = 'Preprodavači';
$wb['error_has_clients'] = 'Ovaj preprodavač ima klijente. Prvo morate obrisati klijente preprodavača.';
$wb['add_additional_template_txt'] = 'Dodaj dodatni predložak';
$wb['delete_additional_template_txt'] = 'Obriši dodatni predložak';
-$wb['Messaging'] = 'Messaging';
-$wb['Send email'] = 'Send Email';
-$wb['Edit Client Circle'] = '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['Messaging'] = 'Slanje poruka';
+$wb['Send email'] = 'Pošalji email';
+$wb['Edit Client Circle'] = 'Promijeni krug klijenata';
+$wb['Domains'] = 'Domene';
+$wb['domain_txt'] = 'Domena';
+$wb['client_txt'] = 'Klijent';
+$wb['error_domain_in mailuse'] = 'Ova domena ne može biti obrisana jer se koristi kao mail domena';
+$wb['error_domain_in webuse'] = 'Ova domena ne može biti obrisana jer se koristi kao web domena';
+$wb['error_client_can_not_add_domain'] = 'Ne možete dodati novu domenu';
+$wb['error_client_group_id_empty'] = 'Morate izabrati klijenta<br>';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client.lng b/interface/web/client/lib/lang/hr_client.lng
index bcf3f20..4f7bb70 100644
--- a/interface/web/client/lib/lang/hr_client.lng
+++ b/interface/web/client/lib/lang/hr_client.lng
@@ -131,13 +131,13 @@
$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['generate_password_txt'] = 'Generirajšifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
$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['email_error_isemail'] = 'Unesi ispravnu email adresu.';
$wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
$wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
$wb['paypal_email_txt'] = 'PayPal Email';
@@ -156,3 +156,5 @@
$wb['parent_client_id_txt'] = 'Client of reseller';
$wb['none_txt'] = 'none';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_circle.lng b/interface/web/client/lib/lang/hr_client_circle.lng
index f98a144..bff3a9f 100644
--- a/interface/web/client/lib/lang/hr_client_circle.lng
+++ b/interface/web/client/lib/lang/hr_client_circle.lng
@@ -1,9 +1,11 @@
<?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'] = 'Krug klijenata';
+$wb['Circle'] = 'Krug';
+$wb['circle_txt'] = 'Krug';
+$wb['circle_name_txt'] = 'Naziv kruga';
+$wb['client_ids_txt'] = 'Klijenti/Preprodavači';
+$wb['description_txt'] = 'Opis';
+$wb['active_txt'] = 'Aktivno';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_circle_list.lng b/interface/web/client/lib/lang/hr_client_circle_list.lng
index 00fd0b3..c4648b1 100644
--- a/interface/web/client/lib/lang/hr_client_circle_list.lng
+++ b/interface/web/client/lib/lang/hr_client_circle_list.lng
@@ -1,10 +1,12 @@
<?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['list_head_txt'] = 'Krug klijenata';
+$wb['circle_id_txt'] = 'ID kruga';
+$wb['circle_name_txt'] = 'Naziv kruga';
+$wb['description_txt'] = 'Opis';
+$wb['add_new_record_txt'] = 'Dodaj novi krug';
$wb['filter_txt'] = 'Filter';
-$wb['delete_txt'] = 'Delete';
-$wb['active_txt'] = 'Active';
+$wb['delete_txt'] = 'Obriši';
+$wb['active_txt'] = 'Aktivno';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_del.lng b/interface/web/client/lib/lang/hr_client_del.lng
index 939cc59..1db0476 100644
--- a/interface/web/client/lib/lang/hr_client_del.lng
+++ b/interface/web/client/lib/lang/hr_client_del.lng
@@ -5,3 +5,5 @@
$wb['btn_cancel_txt'] = 'Prekini i ne briši klijenta';
$wb['confirm_client_delete_txt'] = 'Are you sure you want to delete this client?';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message.lng b/interface/web/client/lib/lang/hr_client_message.lng
index 6b2a872..9f273af 100644
--- a/interface/web/client/lib/lang/hr_client_message.lng
+++ b/interface/web/client/lib/lang/hr_client_message.lng
@@ -1,20 +1,22 @@
<?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['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
+$wb['btn_send_txt'] = 'Pošalji email';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['sender_txt'] = 'Adresa pošiljatelja';
+$wb['subject_txt'] = 'Naslov';
+$wb['message_txt'] = 'Poruka';
+$wb['form_legend_client_txt'] = 'Pošalji email svim klijentima.';
+$wb['form_legend_admin_txt'] = 'Pošalji email svim klijentima i preprodavačima.';
+$wb['sender_invalid_error'] = 'Neispravan email pošiljatelja.';
+$wb['subject_invalid_error'] = 'Naslov emaila je prazan.';
+$wb['message_invalid_error'] = 'Niste napisali poruku.';
+$wb['email_sent_to_txt'] = 'Email poslan:';
+$wb['page_head_txt'] = 'Pošalji klijentske informacije';
+$wb['recipient_txt'] = 'Primatelj';
+$wb['all_clients_resellers_txt'] = 'Svi klijenti i preprodavači';
+$wb['all_clients_txt'] = 'Svi klijenti';
+$wb['variables_txt'] = 'Varijable:';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message_template.lng b/interface/web/client/lib/lang/hr_client_message_template.lng
index 65e5fbf..14d308b 100644
--- a/interface/web/client/lib/lang/hr_client_message_template.lng
+++ b/interface/web/client/lib/lang/hr_client_message_template.lng
@@ -9,3 +9,5 @@
$wb['variables_description_txt'] = '(The username and password variables are only available in welcome emails.)';
$wb['duplicate_welcome_error'] = 'There can be only one default welcome email template. Please edit the existing template instead of adding a new one.';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_message_template_list.lng b/interface/web/client/lib/lang/hr_client_message_template_list.lng
index d9c307e..3c85865 100644
--- a/interface/web/client/lib/lang/hr_client_message_template_list.lng
+++ b/interface/web/client/lib/lang/hr_client_message_template_list.lng
@@ -1,5 +1,7 @@
<?php
-$wb['list_head_txt'] = 'Email templates';
-$wb['template_type_txt'] = 'Message for';
-$wb['template_name_txt'] = 'Template name';
+$wb['list_head_txt'] = 'Email predlošci';
+$wb['template_type_txt'] = 'Poruka za';
+$wb['template_name_txt'] = 'Naziv predloška';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_template.lng b/interface/web/client/lib/lang/hr_client_template.lng
index a9b22aa..b32dff0 100644
--- a/interface/web/client/lib/lang/hr_client_template.lng
+++ b/interface/web/client/lib/lang/hr_client_template.lng
@@ -91,3 +91,5 @@
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_client_template_list.lng b/interface/web/client/lib/lang/hr_client_template_list.lng
index cdc2f00..53bbd16 100644
--- a/interface/web/client/lib/lang/hr_client_template_list.lng
+++ b/interface/web/client/lib/lang/hr_client_template_list.lng
@@ -4,3 +4,5 @@
$wb['template_name_txt'] = 'Naziv predloška';
$wb['template_id_txt'] = 'Template ID';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_clients_list.lng b/interface/web/client/lib/lang/hr_clients_list.lng
index a733692..f4dd799 100644
--- a/interface/web/client/lib/lang/hr_clients_list.lng
+++ b/interface/web/client/lib/lang/hr_clients_list.lng
@@ -9,3 +9,5 @@
$wb['username_txt'] = 'Korisničko ime';
$wb['customer_no_txt'] = 'Customer No.';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_domain.lng b/interface/web/client/lib/lang/hr_domain.lng
index 30f3ca0..772b88a 100644
--- a/interface/web/client/lib/lang/hr_domain.lng
+++ b/interface/web/client/lib/lang/hr_domain.lng
@@ -2,5 +2,7 @@
$wb['domain_error_empty'] = 'Ime domene je prazno';
$wb['domain_error_unique'] = 'Domena već postoji';
$wb['domain_error_regex'] = 'Ovo ime domene ne možete upotrijebiti';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_domain_list.lng b/interface/web/client/lib/lang/hr_domain_list.lng
index d3bdd4b..daaf816 100644
--- a/interface/web/client/lib/lang/hr_domain_list.lng
+++ b/interface/web/client/lib/lang/hr_domain_list.lng
@@ -2,5 +2,7 @@
$wb['list_head_txt'] = 'Domene';
$wb['add_new_record_txt'] = 'Dodaj domenu';
$wb['domain_txt'] = 'Domena';
-$wb['user_txt'] = 'Client';
+$wb['user_txt'] = 'Klijent';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_reseller.lng b/interface/web/client/lib/lang/hr_reseller.lng
index b282b34..e160113 100644
--- a/interface/web/client/lib/lang/hr_reseller.lng
+++ b/interface/web/client/lib/lang/hr_reseller.lng
@@ -126,11 +126,11 @@
$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['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['email_error_isemail'] = 'Unesi ispravnu email adresu.';
$wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
$wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
$wb['paypal_email_txt'] = 'PayPal Email';
@@ -145,19 +145,21 @@
$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['locked_txt'] = 'Zaključano';
$wb['canceled_txt'] = 'Canceled';
-$wb['gender_m_txt'] = 'Mr.';
-$wb['gender_f_txt'] = 'Ms.';
-$wb['gender_txt'] = 'Title';
+$wb['gender_m_txt'] = 'g.';
+$wb['gender_f_txt'] = 'gđa.';
+$wb['gender_txt'] = 'Titula';
$wb['customer_no_template_txt'] = 'Customer No. template';
$wb['customer_no_template_error_regex_txt'] = 'The customer No. template contains invalid characters';
$wb['customer_no_start_txt'] = 'Customer No. start value';
$wb['customer_no_counter_txt'] = 'Customer No. counter';
-$wb['added_by_txt'] = 'Added by';
-$wb['added_date_txt'] = 'Added date';
+$wb['added_by_txt'] = 'Dodao';
+$wb['added_date_txt'] = 'Datum dodavanja';
$wb['limit_domainmodule_error_notint'] = 'Domainmodule limit must be a number.';
-$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
-$wb['client_limits_txt'] = 'Client Limits';
+$wb['limit_domainmodule_txt'] = 'Domain module Limit';
+$wb['client_limits_txt'] = 'Limiti klijenata';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
+
+
diff --git a/interface/web/client/lib/lang/hr_resellers_list.lng b/interface/web/client/lib/lang/hr_resellers_list.lng
index bd26b34..194d6ff 100644
--- a/interface/web/client/lib/lang/hr_resellers_list.lng
+++ b/interface/web/client/lib/lang/hr_resellers_list.lng
@@ -6,6 +6,8 @@
$wb['city_txt'] = 'Grad';
$wb['country_txt'] = 'Država';
$wb['add_new_record_txt'] = 'Dodaj novog preprodavača';
-$wb['customer_no_txt'] = 'Customer No.';
-$wb['username_txt'] = 'Username';
+$wb['customer_no_txt'] = 'Klijent br.';
+$wb['username_txt'] = 'Korisničko ime';
?>
+
+
diff --git a/interface/web/client/lib/lang/se.lng b/interface/web/client/lib/lang/se.lng
index 271f69d..3f396d6 100644
--- a/interface/web/client/lib/lang/se.lng
+++ b/interface/web/client/lib/lang/se.lng
@@ -24,4 +24,3 @@
$wb['error_client_can_not_add_domain'] = 'Du kan inte lägga till en ny domän';
$wb['error_client_group_id_empty'] = 'Du måste välja en kund<br>';
?>
-
diff --git a/interface/web/client/lib/lang/se_client.lng b/interface/web/client/lib/lang/se_client.lng
index 6f59c85..472b122 100644
--- a/interface/web/client/lib/lang/se_client.lng
+++ b/interface/web/client/lib/lang/se_client.lng
@@ -141,7 +141,7 @@
$wb['customer_no_error_unique'] = 'The customer no. must be unique (or empty).';
$wb['paypal_email_error_isemail'] = 'Please enter a valid PayPal email address.';
$wb['paypal_email_txt'] = 'PayPal epostadress';
-$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than "custom" is selected.';
+$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
@@ -156,4 +156,3 @@
$wb['parent_client_id_txt'] = 'Kund till återförsäljare';
$wb['none_txt'] = 'ingen';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_circle.lng b/interface/web/client/lib/lang/se_client_circle.lng
index f30732e..df3c995 100644
--- a/interface/web/client/lib/lang/se_client_circle.lng
+++ b/interface/web/client/lib/lang/se_client_circle.lng
@@ -7,4 +7,3 @@
$wb['description_txt'] = 'BEskrivning';
$wb['active_txt'] = 'Aktiv';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_circle_list.lng b/interface/web/client/lib/lang/se_client_circle_list.lng
index 21ae4d6..f98f551 100644
--- a/interface/web/client/lib/lang/se_client_circle_list.lng
+++ b/interface/web/client/lib/lang/se_client_circle_list.lng
@@ -8,4 +8,3 @@
$wb['delete_txt'] = 'Radera';
$wb['active_txt'] = 'Aktiv';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_del.lng b/interface/web/client/lib/lang/se_client_del.lng
index 9cf44fc..99aa9d8 100644
--- a/interface/web/client/lib/lang/se_client_del.lng
+++ b/interface/web/client/lib/lang/se_client_del.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Avbryt utan att radera kunden';
$wb['confirm_client_delete_txt'] = 'Är du säker på att du vill radera den här kunden?';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_message.lng b/interface/web/client/lib/lang/se_client_message.lng
index 625b0db..e6f9aba 100644
--- a/interface/web/client/lib/lang/se_client_message.lng
+++ b/interface/web/client/lib/lang/se_client_message.lng
@@ -18,4 +18,3 @@
$wb['gender_m_txt'] = 'Herr';
$wb['gender_f_txt'] = 'Fru';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_message_template.lng b/interface/web/client/lib/lang/se_client_message_template.lng
index 3ff9480..e406d37 100644
--- a/interface/web/client/lib/lang/se_client_message_template.lng
+++ b/interface/web/client/lib/lang/se_client_message_template.lng
@@ -9,4 +9,3 @@
$wb['variables_description_txt'] = '(Användarnamn- och lösenordsvariablerna är endast tillgängliga i välkomstmail.)';
$wb['duplicate_welcome_error'] = 'Det kan bara finnas en standardmall för välkomstmail. Vänligen redigera den existerande mallen istället för att lägga till en ny.';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_message_template_list.lng b/interface/web/client/lib/lang/se_client_message_template_list.lng
index f94a106..088d269 100644
--- a/interface/web/client/lib/lang/se_client_message_template_list.lng
+++ b/interface/web/client/lib/lang/se_client_message_template_list.lng
@@ -3,4 +3,3 @@
$wb['template_type_txt'] = 'Meddelande till';
$wb['template_name_txt'] = 'Mallnamn';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_template.lng b/interface/web/client/lib/lang/se_client_template.lng
index 66d560f..59d4d89 100644
--- a/interface/web/client/lib/lang/se_client_template.lng
+++ b/interface/web/client/lib/lang/se_client_template.lng
@@ -91,4 +91,3 @@
$wb['limit_domainmodule_txt'] = 'Domainmodule Limit';
$wb['client_limits_txt'] = 'Client Limits';
?>
-
diff --git a/interface/web/client/lib/lang/se_client_template_list.lng b/interface/web/client/lib/lang/se_client_template_list.lng
index cc9d5d5..b594337 100644
--- a/interface/web/client/lib/lang/se_client_template_list.lng
+++ b/interface/web/client/lib/lang/se_client_template_list.lng
@@ -4,4 +4,3 @@
$wb['template_name_txt'] = 'Mallnamn';
$wb['template_id_txt'] = 'Mall-ID';
?>
-
diff --git a/interface/web/client/lib/lang/se_clients_list.lng b/interface/web/client/lib/lang/se_clients_list.lng
index 89fe0ed..263912f 100644
--- a/interface/web/client/lib/lang/se_clients_list.lng
+++ b/interface/web/client/lib/lang/se_clients_list.lng
@@ -9,4 +9,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['customer_no_txt'] = 'Kundnummer';
?>
-
diff --git a/interface/web/client/lib/lang/se_domain.lng b/interface/web/client/lib/lang/se_domain.lng
index 7d648de..df60bbe 100644
--- a/interface/web/client/lib/lang/se_domain.lng
+++ b/interface/web/client/lib/lang/se_domain.lng
@@ -4,4 +4,3 @@
$wb['domain_error_regex'] = 'Denna domän är ogiltig';
$wb['Domain'] = 'Domän';
?>
-
diff --git a/interface/web/client/lib/lang/se_domain_list.lng b/interface/web/client/lib/lang/se_domain_list.lng
index da7504f..1262367 100644
--- a/interface/web/client/lib/lang/se_domain_list.lng
+++ b/interface/web/client/lib/lang/se_domain_list.lng
@@ -4,4 +4,3 @@
$wb['domain_txt'] = 'Domän';
$wb['user_txt'] = 'Kund';
?>
-
diff --git a/interface/web/client/lib/lang/se_reseller.lng b/interface/web/client/lib/lang/se_reseller.lng
index 7c48272..bfac98c 100644
--- a/interface/web/client/lib/lang/se_reseller.lng
+++ b/interface/web/client/lib/lang/se_reseller.lng
@@ -161,4 +161,3 @@
$wb['client_limits_txt'] = 'Client Limits';
$wb['err_msg_master_tpl_set'] = 'All custom limit settings are ignored if any master template other than \\"custom\\" is selected.';
?>
-
diff --git a/interface/web/client/lib/lang/se_resellers_list.lng b/interface/web/client/lib/lang/se_resellers_list.lng
index 3448e5c..5e03807 100644
--- a/interface/web/client/lib/lang/se_resellers_list.lng
+++ b/interface/web/client/lib/lang/se_resellers_list.lng
@@ -9,4 +9,3 @@
$wb['customer_no_txt'] = 'Kundnummer';
$wb['username_txt'] = 'Användarnamn';
?>
-
diff --git a/interface/web/client/templates/domain_list.htm b/interface/web/client/templates/domain_list.htm
index 3100660..6224cbc 100644
--- a/interface/web/client/templates/domain_list.htm
+++ b/interface/web/client/templates/domain_list.htm
@@ -34,9 +34,7 @@
<td class="tbl_col_domain"><a href="#" onclick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
<td class="tbl_col_domain"><a href="#" onclick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
<td class="tbl_col_buttons">
- <tmpl_if name="is_admin">
<a class="button icons16 icoDelete" href="javascript: del_record('client/domain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </tmpl_if>
</td>
</tr>
</tmpl_loop>
diff --git a/interface/web/dashboard/dashlets/limits.php b/interface/web/dashboard/dashlets/limits.php
index 13c0a4a..87898eb 100644
--- a/interface/web/dashboard/dashlets/limits.php
+++ b/interface/web/dashboard/dashlets/limits.php
@@ -105,7 +105,9 @@
'db_table' => 'client',
'db_where' => "");
-
+ $limits[] = array('field' => 'limit_domain',
+ 'db_table' => 'domain',
+ 'db_where' => "");
//* Loading Template
diff --git a/interface/web/dashboard/lib/lang/cz.lng b/interface/web/dashboard/lib/lang/cz.lng
index 9d2a321..15063c0 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 bedb98f..ac3266e 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_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 742721c..19dc161 100644
--- a/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/cz_dashlet_mailquota.lng
@@ -6,3 +6,4 @@
$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 66275f1..be21791 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 0c2074a..0e3db11 100644
--- a/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/cz_dashlet_quota.lng
@@ -6,3 +6,4 @@
$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_dashlet_limits.lng b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
index c045593..18d4b32 100644
--- a/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/de_dashlet_limits.lng
@@ -27,4 +27,5 @@
$wb['limit_client_txt'] = 'Anzahl der Kunden';
$wb['limit_database_txt'] = 'Anzahl der Datenbanken';
$wb['limit_mailmailinglist_txt'] = 'Anzahl der Mailinglisten';
+$wb['limit_domain_txt'] = 'Anzahl der Domains';
?>
diff --git a/interface/web/dashboard/lib/lang/en_dashlet_limits.lng b/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
index ac1bfc6..3f0ce2f 100644
--- a/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/en_dashlet_limits.lng
@@ -27,4 +27,5 @@
$wb["limit_webdav_user_txt"] = 'Number of Webdav users';
$wb["limit_client_txt"] = 'Number of Clients';
$wb["limit_database_txt"] = 'Number of Databases';
+$wb['limit_domain_txt'] = 'Number of Domains';
?>
diff --git a/interface/web/dashboard/lib/lang/hr.lng b/interface/web/dashboard/lib/lang/hr.lng
index 769b77a..4fd68c5 100644
--- a/interface/web/dashboard/lib/lang/hr.lng
+++ b/interface/web/dashboard/lib/lang/hr.lng
@@ -2,3 +2,5 @@
$wb['welcome_user_txt'] = 'Dobrodošao %s';
$wb['available_modules_txt'] = 'Dostupni moduli';
?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng b/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
index 095afc4..fb27cfe 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_limits.lng
@@ -28,3 +28,5 @@
$wb['limit_database_txt'] = 'Broj baza';
$wb['limit_mailmailinglist_txt'] = 'Broj mail lista';
?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
index 1ab1e66..8b3b20f 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_mailquota.lng
@@ -1,8 +1,10 @@
<?php
$wb['mailquota_txt'] = 'Mailbox Quota';
$wb['email_txt'] = 'Email Address';
-$wb['name_txt'] = 'Name';
+$wb['name_txt'] = 'Naziv';
$wb['used_txt'] = 'Used Space';
-$wb['quota_txt'] = 'Quota';
+$wb['quota_txt'] = 'Kvota';
$wb['no_email_accounts_txt'] = 'No email accounts found.';
?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng b/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
index 76f2a1f..2ff293a 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_modules.lng
@@ -1,3 +1,5 @@
<?php
$wb['available_modules_txt'] = 'Dostupni moduli';
?>
+
+
diff --git a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
index de7b5a8..46dd781 100644
--- a/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/hr_dashlet_quota.lng
@@ -6,3 +6,5 @@
$wb['soft_txt'] = 'Soft limit';
$wb['no_sites_txt'] = 'No web sites found.';
?>
+
+
diff --git a/interface/web/dashboard/lib/lang/se.lng b/interface/web/dashboard/lib/lang/se.lng
index 11700f0..307e9e1 100644
--- a/interface/web/dashboard/lib/lang/se.lng
+++ b/interface/web/dashboard/lib/lang/se.lng
@@ -2,4 +2,3 @@
$wb['welcome_user_txt'] = 'Välkommen %s';
$wb['available_modules_txt'] = 'Tillgängliga moduler';
?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
index 49473b7..9fbfe97 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_limits.lng
@@ -28,4 +28,3 @@
$wb['limit_database_txt'] = 'Antal databaser';
$wb['limit_mailmailinglist_txt'] = 'Antal mailinglistor';
?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
index 883b2a5..1ed6f3f 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_mailquota.lng
@@ -6,4 +6,3 @@
$wb['quota_txt'] = 'Kvot';
$wb['no_email_accounts_txt'] = 'Inga epostkonton hittades';
?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
index 4dff679..a6f9728 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_modules.lng
@@ -1,4 +1,3 @@
<?php
$wb['available_modules_txt'] = 'Tillgängliga moduler';
?>
-
diff --git a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
index 325b04d..7a9603b 100644
--- a/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
+++ b/interface/web/dashboard/lib/lang/se_dashlet_quota.lng
@@ -6,4 +6,3 @@
$wb['soft_txt'] = 'Mjuk gräns';
$wb['no_sites_txt'] = 'Ingen webbsida hittades.';
?>
-
diff --git a/interface/web/designer/form/empty.dir b/interface/web/designer/form/empty.dir
deleted file mode 100644
index 95ba9ef..0000000
--- a/interface/web/designer/form/empty.dir
+++ /dev/null
@@ -1 +0,0 @@
-This empty directory is needed by ISPConfig.
diff --git a/interface/web/designer/form_edit.php b/interface/web/designer/form_edit.php
deleted file mode 100644
index 2127fea..0000000
--- a/interface/web/designer/form_edit.php
+++ /dev/null
@@ -1,153 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/form_edit.htm');
-
-// Importing variables
-$module_name = $_REQUEST["module_name"];
-$form_name = $_REQUEST["form_name"];
-
-// Checking imported variables
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $form_name)) die("form_name contains invalid chars.");
-
-$id = $form_name;
-
-if(count($_POST) > 1) {
- // Bestimme aktion
- if($id != '') {
- $action = 'UPDATE';
- } else {
- $action = 'INSERT';
- }
-
-
- if($error == '') {
-
- $filename = "../".$module_name."/form/".$form_name.".tform.php";
- $form_new = $_POST["form"];
-
- if(@is_file($filename)) {
- include_once $filename;
- $tabs = $form["tabs"];
- unset($form["tabs"]);
- $form_new["tabs"] = $tabs;
- }
-
- $file_content = "<?php\r\n".'$form = '.var_export($form_new, true)."\r\n?>";
-
- die($file_content);
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
-
- if (!fwrite($handle, $file_content)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
- // zu Liste springen
- header("Location: form_list.php");
- exit;
-
- } else {
- $app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
- $app->tpl->setVar($_POST);
- }
-}
-
-if($id != '') {
- // Datensatz besteht bereits
- // bestehenden Datensatz anzeigen
- if($error == '') {
- // es liegt ein Fehler vor
- include_once "../".$module_name."/form/".$form_name.".tform.php";
- //$tabs = $form["tabs"];
- unset($form["tabs"]);
- $record = $form;
- $record["form_name"] = $form_name;
- $record["module_name"] = $module_name;
- $record["auth_preset_userid"] = $form["auth_preset"]["userid"];
- $record["auth_preset_groupid"] = $form["auth_preset"]["groupid"];
- $record["auth_preset_perm_user"] = $form["auth_preset"]["perm_user"];
- $record["auth_preset_perm_group"] = $form["auth_preset"]["perm_group"];
- $record["auth_preset_perm_other"] = $form["auth_preset"]["perm_other"];
- } else {
- // ein Fehler
- $record = $_POST;
- //$navi = $_POST["nav"];
- unset($_POST["tabs"]);
- }
- $record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
- // neuer datensatz
- if($error == '') {
- // es liegt kein Fehler vor
- // Pewsets
- $record["template"] = "module.tpl.htm";
- } else {
- // ein Fehler
- $record = $_POST;
- unset($_POST["tabs"]);
-
- }
- $record["readonly"] = '';
-}
-
-$record["id"] = $form_name;
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_form_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/form_list.php b/interface/web/designer/form_list.php
deleted file mode 100644
index 0093275..0000000
--- a/interface/web/designer/form_list.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/form_list.htm');
-
-function getinfo($file, $form_file, $bgcolor) {
- $module_name = $file;
- include ISPC_WEB_PATH."/$file/form/$form_file";
- return array( 'name' => $form['name'],
- 'title' => $form['title'],
- 'description' => $form['description'],
- 'module_name' => $module_name,
- 'bgcolor' => $bgcolor
- );
-}
-
-// lese Module aus
-$bgcolor = '#FFFFFF';
-$modules_list = array();
-$handle = @opendir(ISPC_WEB_PATH);
-while ($file = @readdir($handle)) {
- if ($file != '.' && $file != '..') {
- if(@is_dir(ISPC_WEB_PATH."/$file")) {
- if(is_file(ISPC_WEB_PATH.'/'.$file.'/lib/module.conf.php') and $file != 'login') {
- if(@is_dir(ISPC_WEB_PATH."/$file/form")) {
- $handle2 = opendir(ISPC_WEB_PATH."/$file/form");
- while ($form_file = @readdir($handle2)) {
- if (substr($form_file, 0, 1) != ".") {
- //echo ISPC_ROOT_PATH."/web/".$file."/form/$form_file<br>";
- //include_once(ISPC_ROOT_PATH."/web/".$file."/form/$form_file");
- // Farbwechsel
- $bgcolor = ($bgcolor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF';
- $modules_list[] = getinfo($file, $form_file, $bgcolor);
-
- }
- }
- }
- }
- }
- }
-}
-
-$app->tpl->setLoop('records', $modules_list);
-
-//* load language file
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_form_list.lng';
-include $lng_file;
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-?>
diff --git a/interface/web/designer/form_show.php b/interface/web/designer/form_show.php
deleted file mode 100644
index 74e609b..0000000
--- a/interface/web/designer/form_show.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/form_show.htm');
-
-
-// TODO: Check ID for malicius chars
-$module_name = $_REQUEST["module_name"];
-$form_name = $_REQUEST["form_name"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $form_name)) die("form_name contains invalid chars.");
-
-include_once "../".$module_name."/form/".$form_name.".tform.php";
-$tabs = $form["tabs"];
-unset($form["tabs"]);
-$record = $form;
-$record["form_name"] = $form_name;
-$record["module_name"] = $module_name;
-
-// loading language file
-$lng_file = "lib/lang/".$_SESSION["s"]["language"]."_form_show.lng";
-include $lng_file;
-$app->tpl->setVar($wb);
-
-// baue Tabs navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-if(is_array($tabs)) {
- foreach($tabs as $tab_id => $tab) {
- $content .= "<tr>
- <td colspan='2' class='frmText11'>
- <table width='100%'>
- <tr>
- <td class='tblHead'>$tab[title]</td>
- <td class='tblHead' width='220' align='right'>
- <input type=\"button\" name=\"bt1$n2\" value=\"$wb[edit_txt]\" onclick=\"location.href='form_tab_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id'\" class=\"button\" />
- <input type=\"button\" name=\"bt2$n2\" value=\"$wb[delete_txt]\" onclick=\"del_menu('form_tab_del.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id');\" class=\"button\" />
- <input type=\"button\" name=\"bt3$n2\" value=\"$wb[new_txt]\" onclick=\"location.href='form_tab_item_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id'\" class=\"button\" />
- <input type=\"button\" name=\"bt4$n2\" value=\"$wb[up_txt]\" onclick=\"location.href='form_tab_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&dir=up'\" class=\"button\" />
- <input type=\"button\" name=\"bt5$n2\" value=\"$wb[down_txt]\" onclick=\"location.href='form_tab_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&dir=down'\" class=\"button\" />
- </td>
- </tr>";
- //$content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
- foreach($tab["fields"] as $field_id => $field) {
- //$content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- //$content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
- //$content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- $content .= "<tr>
- <td class='frmText11'>$field_id</td>
- <td class='frmText11' width='220' align='right'>
- <input type=\"button\" name=\"bt6$n2\" value=\"$wb[edit_txt]\" onclick=\"location.href='form_field_edit.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id'\" class=\"button\" />
- <input type=\"button\" name=\"bt7$n2\" value=\"$wb[delete_txt]\" onclick=\"del_menuitem('form_field_del.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id');\" class=\"button\" />
- <input type=\"button\" name=\"bt8$n2\" value=\"$wb[up_txt]\" onclick=\"location.href='form_field_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id&dir=up'\" class=\"button\" />
- <input type=\"button\" name=\"bt9$n2\" value=\"$wb[down_txt]\" onclick=\"location.href='form_field_flip.php?module_name=$module_name&form_name=$form_name&tab_id=$tab_id&field_id=$field_id&dir=down'\" class=\"button\" />
- </td>
- </tr>";
- $n2++;
- }
- $content .= "<tr><td colspan='2' class='tblFooter'> </td></tr>
- </table>
- </td>
- </tr>";
- $n1++;
- }
-}
-
-$record["nav"] = $content;
-
-
-$app->tpl->setVar($record);
-
-
-$app->tpl->setLoop('records', $modules_list);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-
-?>
diff --git a/interface/web/designer/index.php b/interface/web/designer/index.php
deleted file mode 100644
index 8b13789..0000000
--- a/interface/web/designer/index.php
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/interface/web/designer/lib/admin.conf.php b/interface/web/designer/lib/admin.conf.php
deleted file mode 100644
index 6eff33c..0000000
--- a/interface/web/designer/lib/admin.conf.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-
-
-?>
diff --git a/interface/web/designer/lib/lang/ar.lng b/interface/web/designer/lib/lang/ar.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/ar.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_edit.lng b/interface/web/designer/lib/lang/ar_form_edit.lng
deleted file mode 100644
index 54fe173..0000000
--- a/interface/web/designer/lib/lang/ar_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_list.lng b/interface/web/designer/lib/lang/ar_form_list.lng
deleted file mode 100644
index 4743225..0000000
--- a/interface/web/designer/lib/lang/ar_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/ar_form_show.lng b/interface/web/designer/lib/lang/ar_form_show.lng
deleted file mode 100644
index 37017fa..0000000
--- a/interface/web/designer/lib/lang/ar_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$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/ar_module_edit.lng b/interface/web/designer/lib/lang/ar_module_edit.lng
deleted file mode 100644
index 592ccd7..0000000
--- a/interface/web/designer/lib/lang/ar_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_list.lng b/interface/web/designer/lib/lang/ar_module_list.lng
deleted file mode 100644
index bc9ebed..0000000
--- a/interface/web/designer/lib/lang/ar_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_nav_edit.lng b/interface/web/designer/lib/lang/ar_module_nav_edit.lng
deleted file mode 100644
index fa5f15a..0000000
--- a/interface/web/designer/lib/lang/ar_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d15..0000000
--- a/interface/web/designer/lib/lang/ar_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ar_module_show.lng b/interface/web/designer/lib/lang/ar_module_show.lng
deleted file mode 100644
index 2cf9b07..0000000
--- a/interface/web/designer/lib/lang/ar_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$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/bg.lng b/interface/web/designer/lib/lang/bg.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/bg.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/bg_form_edit.lng b/interface/web/designer/lib/lang/bg_form_edit.lng
deleted file mode 100644
index 3c13194..0000000
--- a/interface/web/designer/lib/lang/bg_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Име';
-$wb['title_txt'] = 'Заглавие';
-$wb['template_txt'] = 'Темплейт';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Начална страница';
-$wb['tab_width_txt'] = 'Широчина на таб-а';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-$wb['header_txt'] = 'Характеристики на формата';
-$wb['description_txt'] = 'Описание';
-$wb['action_txt'] = 'Действие (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Разрешения';
-$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/lib/lang/bg_form_list.lng b/interface/web/designer/lib/lang/bg_form_list.lng
deleted file mode 100644
index 4a053a3..0000000
--- a/interface/web/designer/lib/lang/bg_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Форми';
-$wb['form_txt'] = 'Форма';
-$wb['module_txt'] = 'Модул';
-$wb['title_txt'] = 'Име';
-$wb['description_txt'] = 'Описание';
-?>
diff --git a/interface/web/designer/lib/lang/bg_form_show.lng b/interface/web/designer/lib/lang/bg_form_show.lng
deleted file mode 100644
index 78cf0ed..0000000
--- a/interface/web/designer/lib/lang/bg_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор на форми';
-$wb['title_txt'] = 'Заглавие';
-$wb['name_txt'] = 'Име';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Характеристики';
-$wb['new_tab_txt'] = 'Нов таб';
-$wb['edit_txt'] = 'Редактиране';
-$wb['new_txt'] = 'Нов';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Модул';
-$wb['form_txt'] = 'Форма';
-$wb['description_txt'] = 'Описание';
-$wb['module_del_txt'] = 'Наистина ли желаете да изтриете модула и всички намиращи се в него файлове и поддиректории?';
-$wb['menu_del_txt'] = 'Наистина ли желаете да изтриете това меню и неговите елементи?';
-$wb['item_del_txt'] = 'Наистина ли желаете да изтриете този елемент?';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_edit.lng b/interface/web/designer/lib/lang/bg_module_edit.lng
deleted file mode 100644
index bbb53a3..0000000
--- a/interface/web/designer/lib/lang/bg_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Име на модула';
-$wb['title_txt'] = 'Заглавие на модула';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Страница по подразбиране';
-$wb['tab_width_txt'] = 'Широчина на таб-а';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-$wb['header_txt'] = 'Характеристики';
-$wb['description_txt'] = '<b>Описание</b> <br><br> <b>Имена модула:</b> Име на директорията за модули. разрешени са числа и букви малки.<br> <b>Име на модул:</b> Will be shown in the (upper) main navigation.<br> <b>Template file:</b> Template file of the module. Currently';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_list.lng b/interface/web/designer/lib/lang/bg_module_list.lng
deleted file mode 100644
index 31209a0..0000000
--- a/interface/web/designer/lib/lang/bg_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Модули';
-$wb['module_txt'] = 'Модул';
-$wb['title_txt'] = 'Име';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_nav_edit.lng b/interface/web/designer/lib/lang/bg_module_nav_edit.lng
deleted file mode 100644
index 13d9675..0000000
--- a/interface/web/designer/lib/lang/bg_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заглавие';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng b/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng
deleted file mode 100644
index 1b2f22f..0000000
--- a/interface/web/designer/lib/lang/bg_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заглвие';
-$wb['target_txt'] = 'Цел';
-$wb['link_txt'] = 'Линк';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Запис';
-$wb['cancel_txt'] = 'Отказ';
-?>
diff --git a/interface/web/designer/lib/lang/bg_module_show.lng b/interface/web/designer/lib/lang/bg_module_show.lng
deleted file mode 100644
index 3cbe963..0000000
--- a/interface/web/designer/lib/lang/bg_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор на менютата';
-$wb['title_txt'] = 'Име';
-$wb['name_txt'] = 'Модул';
-$wb['delete_txt'] = 'Изтриване';
-$wb['properties_txt'] = 'Характеристики';
-$wb['new_menu_txt'] = 'Ново меню';
-$wb['edit_txt'] = 'Редакция';
-$wb['new_txt'] = 'Ново';
-$wb['up_txt'] = 'Нагоре';
-$wb['down_txt'] = 'Надолу';
-$wb['module_txt'] = 'Модул';
-$wb['module_del_txt'] = 'Наистина ли желаете да изтриете модула и всички намиращи се в него файлове и поддиректории?';
-$wb['menu_del_txt'] = 'Наистина ли желаете да изтриете това меню и неговите елементи?';
-$wb['item_del_txt'] = 'Наистина ли желаете да изтриете този елемент?';
-?>
diff --git a/interface/web/designer/lib/lang/br.lng b/interface/web/designer/lib/lang/br.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/br.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/br_form_edit.lng b/interface/web/designer/lib/lang/br_form_edit.lng
deleted file mode 100644
index 7d7534a..0000000
--- a/interface/web/designer/lib/lang/br_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['template_txt'] = 'Gabarito';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Inicial';
-$wb['tab_width_txt'] = 'Tamanho da aba';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['action_txt'] = 'Ação (script)';
-$wb['db_table_txt'] = 'Tabela do DB';
-$wb['db_table_idx_txt'] = 'Indíce da tabela do DB';
-$wb['db_history_txt'] = 'Desfazer Log';
-$wb['tab_default_txt'] = 'Aba Padrão';
-$wb['list_default_txt'] = 'Exibir Padrão';
-$wb['auth_txt'] = 'Permissões';
-$wb['auth_preset_userid_txt'] = 'Usuário(ID)';
-$wb['auth_preset_groupid_txt'] = 'Grupo(ID)';
-$wb['auth_preset_perm_user_txt'] = 'Perm. Usuário';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Grupo';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Outros';
-?>
diff --git a/interface/web/designer/lib/lang/br_form_list.lng b/interface/web/designer/lib/lang/br_form_list.lng
deleted file mode 100644
index b16ce55..0000000
--- a/interface/web/designer/lib/lang/br_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulário de Backend';
-$wb['form_txt'] = 'Formulário';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descrição';
-?>
diff --git a/interface/web/designer/lib/lang/br_form_show.lng b/interface/web/designer/lib/lang/br_form_show.lng
deleted file mode 100644
index 5b68a31..0000000
--- a/interface/web/designer/lib/lang/br_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Formulários';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_tab_txt'] = 'Nova Aba';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['module_del_txt'] = 'Remover o módulo e todos seus sub-diretórios?';
-$wb['menu_del_txt'] = 'Remover o menu e todos os seus itens?';
-$wb['item_del_txt'] = 'Remover o item de menu?';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_edit.lng b/interface/web/designer/lib/lang/br_module_edit.lng
deleted file mode 100644
index 34471ac..0000000
--- a/interface/web/designer/lib/lang/br_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Módulo';
-$wb['title_txt'] = 'Título do Módulo';
-$wb['template_txt'] = 'Arquivo de Gabarito';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Padrão';
-$wb['tab_width_txt'] = 'Tamanho da Aba';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Módulo';
-$wb['description_txt'] = '
-<b>Descrição</b>
-<br><br>
-<b>Nome do Módulo:</b> Nome do diretório do módulo. Somente números, letras e underscores são permitidos.<br>
-<b>Título do Módulo:</b> Será exibido em caixa alta no menu de navegação.<br>
-<b>Arquivo de Gabarito:</b> Arquivo de Gabarito do Módulo Disponível: modulo.tpl.htm e modulo_tree.tpl.htm. O padrão é modulo.tpl.htm.<br>
-<b>Frame de Navegação:</b> Se modulo_tree.tpl.htm foi selecionado como arquivo de gabarito, insira aqui o caminho do script para o frame a esquerda.<br>
-<b>Página Padrão:</b> Esta página será exibida quando o módulo for aberto.<br>
-<b>Tamanho da Aba:</b> Tamanho das abas na navegação principal. Este campo fica em branco por padrão. Você pode informar valores absolutos em pixels (ex.: 20) ou valores relativos (ex.: 20%).<br>
-<b>Dica:</b> Todos os caminhos são relativos ao diretório web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_list.lng b/interface/web/designer/lib/lang/br_module_list.lng
deleted file mode 100644
index 822263a..0000000
--- a/interface/web/designer/lib/lang/br_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo do Backend';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_nav_edit.lng b/interface/web/designer/lib/lang/br_module_nav_edit.lng
deleted file mode 100644
index c5e3266..0000000
--- a/interface/web/designer/lib/lang/br_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_nav_item_edit.lng b/interface/web/designer/lib/lang/br_module_nav_item_edit.lng
deleted file mode 100644
index 5eafa77..0000000
--- a/interface/web/designer/lib/lang/br_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Salvar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/br_module_show.lng b/interface/web/designer/lib/lang/br_module_show.lng
deleted file mode 100644
index 1fb1800..0000000
--- a/interface/web/designer/lib/lang/br_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Menu';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_menu_txt'] = 'Novo Menu';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Subir';
-$wb['down_txt'] = 'Descer';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = 'Deseja eliminar este módulo e todos os arquivos contidos no diretório?';
-$wb['menu_del_txt'] = 'Deseja apagar este menu e todos seus elementos?';
-$wb['item_del_txt'] = 'Deseja apagar este elemento do menu?';
-?>
diff --git a/interface/web/designer/lib/lang/cz.lng b/interface/web/designer/lib/lang/cz.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/cz.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/cz_form_edit.lng b/interface/web/designer/lib/lang/cz_form_edit.lng
deleted file mode 100644
index 75bf5a5..0000000
--- a/interface/web/designer/lib/lang/cz_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Název formuláře';
-$wb['title_txt'] = 'Titulek formuláře';
-$wb['template_txt'] = 'Šablona';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozí stránka';
-$wb['tab_width_txt'] = 'Šířka záložky';
-$wb['save_txt'] = 'Uložit';
-$wb['cancel_txt'] = 'Zrušit';
-$wb['header_txt'] = 'Vlastnosti formuláře';
-$wb['description_txt'] = 'Popis';
-$wb['action_txt'] = 'Akce (skript)';
-$wb['db_table_txt'] = 'DB tabulka';
-$wb['db_table_idx_txt'] = 'DB index tabulky';
-$wb['db_history_txt'] = 'Undo log';
-$wb['tab_default_txt'] = 'Výchozí záložka';
-$wb['list_default_txt'] = 'Výchozí Liste';
-$wb['auth_txt'] = 'Oprávnění';
-$wb['auth_preset_userid_txt'] = 'Uživatelské ID';
-$wb['auth_preset_groupid_txt'] = 'Skupinové ID';
-$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
deleted file mode 100644
index 1e677f2..0000000
--- a/interface/web/designer/lib/lang/cz_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend form';
-$wb['form_txt'] = 'Form';
-$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
deleted file mode 100644
index 6c3abe4..0000000
--- a/interface/web/designer/lib/lang/cz_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Smazat';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Upravit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Popis';
-$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
deleted file mode 100644
index 972bc2c..0000000
--- a/interface/web/designer/lib/lang/cz_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Název modulu';
-$wb['title_txt'] = 'Titulek modulu';
-$wb['template_txt'] = 'Soubor se šablonou';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozí stránka';
-$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>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory \\"web\\".
-';
-?>
diff --git a/interface/web/designer/lib/lang/cz_module_list.lng b/interface/web/designer/lib/lang/cz_module_list.lng
deleted file mode 100644
index b568f69..0000000
--- a/interface/web/designer/lib/lang/cz_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$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
deleted file mode 100644
index 01f5df6..0000000
--- a/interface/web/designer/lib/lang/cz_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titulek';
-$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
deleted file mode 100644
index 0fdc8c4..0000000
--- a/interface/web/designer/lib/lang/cz_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Oslovení';
-$wb['target_txt'] = 'Cíl';
-$wb['link_txt'] = 'Link';
-$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
deleted file mode 100644
index ce5df41..0000000
--- a/interface/web/designer/lib/lang/cz_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Oslovení';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Smazat';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Upravit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$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
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/de.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/de_form_edit.lng b/interface/web/designer/lib/lang/de_form_edit.lng
deleted file mode 100644
index 74bf458..0000000
--- a/interface/web/designer/lib/lang/de_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formularname';
-$wb['title_txt'] = 'Formulartitel';
-$wb['template_txt'] = 'Vorlage';
-$wb['navframe_txt'] = 'Navigationsframe';
-$wb['startpage_txt'] = 'Startseite';
-$wb['tab_width_txt'] = 'Tab Breite';
-$wb['save_txt'] = 'Speichern';
-$wb['cancel_txt'] = 'Abbrechen';
-$wb['header_txt'] = 'Formular Eigenschaften';
-$wb['description_txt'] = 'Beschreibung';
-$wb['action_txt'] = 'Aktion (Skript)';
-$wb['db_table_txt'] = 'DB Tabelle';
-$wb['db_table_idx_txt'] = 'DB Tabellenindex';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Standard Tab';
-$wb['list_default_txt'] = 'Standard Liste';
-$wb['auth_txt'] = 'Berechtigungen';
-$wb['auth_preset_userid_txt'] = 'Benutzer ID';
-$wb['auth_preset_groupid_txt'] = 'Gruppen ID';
-$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
deleted file mode 100644
index 998a64f..0000000
--- a/interface/web/designer/lib/lang/de_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulare';
-$wb['form_txt'] = 'Formular';
-$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
deleted file mode 100644
index b19fd34..0000000
--- a/interface/web/designer/lib/lang/de_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulareditor';
-$wb['title_txt'] = 'Formulartitel';
-$wb['name_txt'] = 'Formularname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Eigenschaften';
-$wb['new_tab_txt'] = 'neuer Reiter';
-$wb['edit_txt'] = 'Bearbeiten';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formular';
-$wb['description_txt'] = 'Beschreibung';
-$wb['module_del_txt'] = 'Modul und alle Unterverzeichnisse löschen?';
-$wb['menu_del_txt'] = 'Menü samt Menüeinträgen löschen?';
-$wb['item_del_txt'] = 'Menüeintrag löschen?';
-?>
diff --git a/interface/web/designer/lib/lang/de_module_edit.lng b/interface/web/designer/lib/lang/de_module_edit.lng
deleted file mode 100644
index 6eacd64..0000000
--- a/interface/web/designer/lib/lang/de_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulname';
-$wb['title_txt'] = 'Modulbezeichnung';
-$wb['template_txt'] = 'Vorlage';
-$wb['navframe_txt'] = 'Navigationsframe';
-$wb['startpage_txt'] = 'Startseite';
-$wb['tab_width_txt'] = 'Reiterkartenbreite';
-$wb['save_txt'] = 'Speichern';
-$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
deleted file mode 100644
index 6040630..0000000
--- a/interface/web/designer/lib/lang/de_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$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
deleted file mode 100644
index d5142f0..0000000
--- a/interface/web/designer/lib/lang/de_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Überschrift';
-$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
deleted file mode 100644
index 8c0c33c..0000000
--- a/interface/web/designer/lib/lang/de_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Überschrift';
-$wb['target_txt'] = 'Ziel';
-$wb['link_txt'] = 'Link';
-$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
deleted file mode 100644
index f4b2ad1..0000000
--- a/interface/web/designer/lib/lang/de_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menüeditor';
-$wb['title_txt'] = 'Titel';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Löschen';
-$wb['properties_txt'] = 'Eigenschaften';
-$wb['new_menu_txt'] = 'Menü hinzufügen';
-$wb['edit_txt'] = 'Bearbeiten';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = 'nach oben';
-$wb['down_txt'] = 'nach unten';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$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.lng b/interface/web/designer/lib/lang/el.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/el.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/el_form_edit.lng b/interface/web/designer/lib/lang/el_form_edit.lng
deleted file mode 100644
index 04ebc02..0000000
--- a/interface/web/designer/lib/lang/el_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Όνομα Φόρμας';
-$wb['title_txt'] = 'Τίτλος Φόρμας';
-$wb['template_txt'] = 'Πρότυπο';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Αρχική Σελίδα';
-$wb['tab_width_txt'] = 'Πλάτος Καρτέλας';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Άκυρο';
-$wb['header_txt'] = 'Ιδιότητες Φόρμας';
-$wb['description_txt'] = 'Περιγραφή';
-$wb['action_txt'] = 'Ενέργεια (script)';
-$wb['db_table_txt'] = 'Πίνακας βάσης δεδομένων';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/el_form_list.lng b/interface/web/designer/lib/lang/el_form_list.lng
deleted file mode 100644
index 4cf043a..0000000
--- a/interface/web/designer/lib/lang/el_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Φόρμα Backend';
-$wb['form_txt'] = 'Φόρμα';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['title_txt'] = 'Τίτλος';
-$wb['description_txt'] = 'Περιγραφή';
-?>
diff --git a/interface/web/designer/lib/lang/el_form_show.lng b/interface/web/designer/lib/lang/el_form_show.lng
deleted file mode 100644
index cf51060..0000000
--- a/interface/web/designer/lib/lang/el_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Επεξεργαστής Φόρμας';
-$wb['title_txt'] = 'Τίτλος Φόρμας';
-$wb['name_txt'] = 'Όνομα Φόρμας';
-$wb['delete_txt'] = 'Διαγραφή';
-$wb['properties_txt'] = 'Ιδιότητες';
-$wb['new_tab_txt'] = 'Νέα Καρτέλα';
-$wb['edit_txt'] = 'Επεξεργασία';
-$wb['new_txt'] = 'Νέο';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['form_txt'] = 'Φόρμα';
-$wb['description_txt'] = 'Περιγραφή';
-$wb['module_del_txt'] = 'Διαγραφή αρθρώματος και όλων των υποφακέλων;';
-$wb['menu_del_txt'] = 'Διαγραφή μενού και όλων των στοιχείων;';
-$wb['item_del_txt'] = 'Διαγραφή του στοιχείου μενού';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_edit.lng b/interface/web/designer/lib/lang/el_module_edit.lng
deleted file mode 100644
index 733e2ae..0000000
--- a/interface/web/designer/lib/lang/el_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Όνομα αρθρώματος';
-$wb['title_txt'] = 'Τίτλος αρθρώματος';
-$wb['template_txt'] = 'Αρχείο προτύπου';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Προκαθορισμένη σελίδα';
-$wb['tab_width_txt'] = 'Πλάτος Tab';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Ακύρωση';
-$wb['header_txt'] = 'Ιδιότητες αρθρώματος';
-$wb['description_txt'] = '<b>Περιγραφή</b> <br><br> <b>Όνομα αρθρώματος:</b> Όνομα του φακέλου του αρθρώματος. Επιτρέπονται μόνο αριθμοί, χαρακτήρες και η κάτω παύλα.<br> <b>Τίτλος Αρθώματος:</b> Θα εμφανιστεί στο βασικό μενού (επάνω).<br> <b>Αρχείο προτύπου:</b> Το αρχείο προτύπου του αρθρώματος. Προς το παρών διαθέσιμα: module.tpl.htm και module_tree.tpl.htm. Το προεπιλεγμένο είναι το module.tpl.htm.<br> <b>NaviFrame:</b> Αν το module_tree.tpl.htm επιλέχθηκε ώα αρχείο προτύπου, εισάγετε εδώ την διαδρομή για το script που αφορά το αριστερό frame.<br> <b>Προεπιλεγμένη Σελίδα:</b> Αυτή σελίδα θα εμφανίζεται όταν ανοίξει το άρθρωμα.<br> <b>Πλάτος Καρτέλας:</b>Το πλάτος της καρτέλας στο βασικό μενού. Το πεδίο είναι άδειο εξ ορισμού. Μπορείτε να εισάγετε απόλυτες τιμές σε pixel (π.χ. 20) ή σχετικές (π.χ. 20%).<br> <b>Βοήθεια:</b> Όλες οι διαδρομές είναι σχετικές ως προς τον φάκελο ';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_list.lng b/interface/web/designer/lib/lang/el_module_list.lng
deleted file mode 100644
index 1edbed0..0000000
--- a/interface/web/designer/lib/lang/el_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Άρθρωμα';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['title_txt'] = 'Τίτλος';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_nav_edit.lng b/interface/web/designer/lib/lang/el_module_nav_edit.lng
deleted file mode 100644
index 02104ad..0000000
--- a/interface/web/designer/lib/lang/el_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Τίτλος';
-$wb['header_txt'] = 'Ιδιότητες Navi';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Άκυρο';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_nav_item_edit.lng b/interface/web/designer/lib/lang/el_module_nav_item_edit.lng
deleted file mode 100644
index 06d44b9..0000000
--- a/interface/web/designer/lib/lang/el_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Τίτλος';
-$wb['target_txt'] = 'Στόχος';
-$wb['link_txt'] = 'Σύνδεσμος';
-$wb['header_txt'] = 'Ιδιότητες Navi';
-$wb['save_txt'] = 'Αποθήκευση';
-$wb['cancel_txt'] = 'Ακύρωση';
-?>
diff --git a/interface/web/designer/lib/lang/el_module_show.lng b/interface/web/designer/lib/lang/el_module_show.lng
deleted file mode 100644
index 12895cc..0000000
--- a/interface/web/designer/lib/lang/el_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Επεξεργαστής Menu';
-$wb['title_txt'] = 'Τίτλος';
-$wb['name_txt'] = 'Άρθρωμα';
-$wb['delete_txt'] = 'Διαγραφή';
-$wb['properties_txt'] = 'Ιδιότητες';
-$wb['new_menu_txt'] = 'Νέο Μενού';
-$wb['edit_txt'] = 'Επεξεργασία';
-$wb['new_txt'] = 'Νέο';
-$wb['up_txt'] = 'Επάνω';
-$wb['down_txt'] = 'Κάτω';
-$wb['module_txt'] = 'Άρθρωμα';
-$wb['module_del_txt'] = 'Θέλετε να διαγράψετε το άρθωμα και όλους του επιμέρους φακέλους και τα αρχεία;';
-$wb['menu_del_txt'] = 'Θέλετε να διαγράψετε το μενού και όλα τα στοιχεία του;';
-$wb['item_del_txt'] = 'Θέλετε να διαγράψετε το στοιχείο;';
-?>
diff --git a/interface/web/designer/lib/lang/en.lng b/interface/web/designer/lib/lang/en.lng
deleted file mode 100644
index 15c5adc..0000000
--- a/interface/web/designer/lib/lang/en.lng
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_edit.lng b/interface/web/designer/lib/lang/en_form_edit.lng
deleted file mode 100644
index f55e0f4..0000000
--- a/interface/web/designer/lib/lang/en_form_edit.lng
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-$wb["name_txt"] = 'Formname';
-$wb["title_txt"] = 'Formutitle';
-$wb["template_txt"] = 'Template';
-$wb["navframe_txt"] = 'NaviFrame';
-$wb["startpage_txt"] = 'Startpage';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-$wb["header_txt"] = 'Form properties';
-$wb["description_txt"] = 'Description';
-$wb["action_txt"] = 'Action (script)';
-$wb["db_table_txt"] = 'DB Table';
-$wb["db_table_idx_txt"] = 'DB Table Index';
-$wb["db_history_txt"] = 'Undo Log';
-$wb["tab_default_txt"] = 'Default Tab';
-$wb["list_default_txt"] = 'Default Liste';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["auth_txt"] = 'Permissions';
-$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';
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_list.lng b/interface/web/designer/lib/lang/en_form_list.lng
deleted file mode 100644
index 21a7687..0000000
--- a/interface/web/designer/lib/lang/en_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Backend Form';
-$wb["form_txt"] = 'Form';
-$wb["module_txt"] = 'Module';
-$wb["title_txt"] = 'Title';
-$wb["description_txt"] = 'Description';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_form_show.lng b/interface/web/designer/lib/lang/en_form_show.lng
deleted file mode 100644
index d2be3c6..0000000
--- a/interface/web/designer/lib/lang/en_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb["header_txt"] = 'Formeditor';
-$wb["title_txt"] = 'Formtitle';
-$wb["name_txt"] = 'Formname';
-$wb["delete_txt"] = 'Delete';
-$wb["properties_txt"] = 'Properties';
-$wb["new_tab_txt"] = 'Tab new';
-$wb["edit_txt"] = 'Edit';
-$wb["new_txt"] = 'New';
-$wb["up_txt"] = '^';
-$wb["down_txt"] = 'v';
-$wb["module_txt"] = 'Module';
-$wb["form_txt"] = 'Form';
-$wb["description_txt"] = 'Description';
-$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?";
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_edit.lng b/interface/web/designer/lib/lang/en_module_edit.lng
deleted file mode 100644
index 285a363..0000000
--- a/interface/web/designer/lib/lang/en_module_edit.lng
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-$wb["name_txt"] = 'Modulename';
-$wb["title_txt"] = 'Moduletitle';
-$wb["template_txt"] = 'Template file';
-$wb["navframe_txt"] = 'NaviFrame';
-$wb["startpage_txt"] = 'Default page';
-$wb["tab_width_txt"] = 'Tab width';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-$wb["header_txt"] = 'Module properties';
-$wb["description_txt"] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory "web".
-';
-
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_list.lng b/interface/web/designer/lib/lang/en_module_list.lng
deleted file mode 100644
index 45260fd..0000000
--- a/interface/web/designer/lib/lang/en_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb["list_head_txt"] = 'Backend Module';
-$wb["module_txt"] = 'Module';
-$wb["title_txt"] = 'Title';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_nav_edit.lng b/interface/web/designer/lib/lang/en_module_nav_edit.lng
deleted file mode 100644
index 3600238..0000000
--- a/interface/web/designer/lib/lang/en_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb["title_txt"] = 'Title';
-$wb["header_txt"] = 'Navi properties';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_nav_item_edit.lng b/interface/web/designer/lib/lang/en_module_nav_item_edit.lng
deleted file mode 100644
index 56eee32..0000000
--- a/interface/web/designer/lib/lang/en_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb["title_txt"] = 'Title';
-$wb["target_txt"] = 'Target';
-$wb["link_txt"] = 'Link';
-$wb["header_txt"] = 'Navi properties';
-$wb["save_txt"] = 'Save';
-$wb["cancel_txt"] = 'Cancel';
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/en_module_show.lng b/interface/web/designer/lib/lang/en_module_show.lng
deleted file mode 100644
index 41c9893..0000000
--- a/interface/web/designer/lib/lang/en_module_show.lng
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-$wb["header_txt"] = 'Menu editor';
-$wb["title_txt"] = 'Title';
-$wb["name_txt"] = 'Module';
-$wb["delete_txt"] = 'Delete';
-$wb["properties_txt"] = 'Properties';
-$wb["new_menu_txt"] = 'Menu new';
-$wb["edit_txt"] = 'Edit';
-$wb["delete_txt"] = 'Delete';
-$wb["new_txt"] = 'New';
-$wb["up_txt"] = 'Up';
-$wb["down_txt"] = 'Down';
-$wb["module_txt"] = 'Module';
-$wb["module_del_txt"] = "Do you really want to delete the module and all its subdirectories?";
-$wb["menu_del_txt"] = "Do you really want to delete the menu with all sub entries?";
-$wb["item_del_txt"] = "Delete the menu entry?";
-?>
\ No newline at end of file
diff --git a/interface/web/designer/lib/lang/es.lng b/interface/web/designer/lib/lang/es.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/es.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/es_form_edit.lng b/interface/web/designer/lib/lang/es_form_edit.lng
deleted file mode 100644
index c531255..0000000
--- a/interface/web/designer/lib/lang/es_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nombre del formulario';
-$wb['title_txt'] = 'Título del formulario';
-$wb['template_txt'] = 'Plantilla';
-$wb['navframe_txt'] = 'Marco de navegación';
-$wb['startpage_txt'] = 'Página inicial';
-$wb['tab_width_txt'] = 'Ancho de pestaña';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propiedades del formulario';
-$wb['description_txt'] = 'Descripción';
-$wb['action_txt'] = 'Acción (script)';
-$wb['db_table_txt'] = 'Tabla de BD';
-$wb['db_table_idx_txt'] = 'Indice de tabla de BD';
-$wb['db_history_txt'] = 'Anular registro';
-$wb['tab_default_txt'] = 'Pestaña por defecto';
-$wb['list_default_txt'] = 'Lista por defecto';
-$wb['auth_txt'] = 'Permisos';
-$wb['auth_preset_userid_txt'] = 'ID usuario';
-$wb['auth_preset_groupid_txt'] = 'ID grupo';
-$wb['auth_preset_perm_user_txt'] = 'Permisos del usuario';
-$wb['auth_preset_perm_group_txt'] = 'Permisos del grupo';
-$wb['auth_preset_perm_other_txt'] = 'Permisos de otros';
-?>
diff --git a/interface/web/designer/lib/lang/es_form_list.lng b/interface/web/designer/lib/lang/es_form_list.lng
deleted file mode 100644
index 3334d0b..0000000
--- a/interface/web/designer/lib/lang/es_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulario de respaldo';
-$wb['form_txt'] = 'Formulario';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descripción';
-?>
diff --git a/interface/web/designer/lib/lang/es_form_show.lng b/interface/web/designer/lib/lang/es_form_show.lng
deleted file mode 100644
index 4cac145..0000000
--- a/interface/web/designer/lib/lang/es_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de formularios';
-$wb['title_txt'] = 'Título del formulario';
-$wb['name_txt'] = 'Nombre del formulario';
-$wb['delete_txt'] = 'Eliminar';
-$wb['properties_txt'] = 'Propiedades';
-$wb['new_tab_txt'] = 'Nueva pestaña';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Nuevo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulario';
-$wb['description_txt'] = 'Descripción';
-$wb['module_del_txt'] = '¿Eliminar el módulo y los subdirectorios?';
-$wb['menu_del_txt'] = '¿Eliminar el menú y todos sus elementos?';
-$wb['item_del_txt'] = '¿Eliminar el elemento del menú?';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_edit.lng b/interface/web/designer/lib/lang/es_module_edit.lng
deleted file mode 100644
index c126365..0000000
--- a/interface/web/designer/lib/lang/es_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nombre del módulo';
-$wb['title_txt'] = 'Título del módulo';
-$wb['template_txt'] = 'Fichero de plantilla';
-$wb['navframe_txt'] = 'Marco de navegación';
-$wb['startpage_txt'] = 'Página por defecto';
-$wb['tab_width_txt'] = 'Ancho de pestaña';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propiedades del modulo';
-$wb['description_txt'] = '<b>Descripción</b><br><br><b>Nombre del módulo:</b> Nombre del directorio del módulo. Sólo se permiten números, carácteres y subrayados.<br><b>Título del módulo:</b> Se mostrará en la barra de navegación principal.<br><b>Fichero de plantilla:</b> Fichero de la plantilla del módulo. Disponibles actualmente: module.tpl.htm y module_tree.tpl.htm. Por defecto: module.tpl.htm.<br><b>Marco de navegación:</b> Si el fichero de plantilla module_tree.tpl.htm está seleccionado, introduzca aquí la ruta al fichero del script del marco de la izquierda.<br><b>Página por defecto:</b> Esta página se mostrará cuando el módulo se abra.<br><b>Ancho de pestaña:</b> Ancho de las pestañas en la barra de navegación. El campo está vacío por defecto. Puede introducir valores absolutos en píxeles (p.ej. 20) o relativos (p.ej. 20%).<br><b>Pista:</b> Todas las rutas son relativas al directorio.';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_list.lng b/interface/web/designer/lib/lang/es_module_list.lng
deleted file mode 100644
index 2805a07..0000000
--- a/interface/web/designer/lib/lang/es_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo de respaldo';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_nav_edit.lng b/interface/web/designer/lib/lang/es_module_nav_edit.lng
deleted file mode 100644
index 22688b6..0000000
--- a/interface/web/designer/lib/lang/es_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propiedades de navegación';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_nav_item_edit.lng b/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
deleted file mode 100644
index ec39e5f..0000000
--- a/interface/web/designer/lib/lang/es_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Objetivo';
-$wb['link_txt'] = 'Enlace';
-$wb['header_txt'] = 'Propiedades de navegación';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/es_module_show.lng b/interface/web/designer/lib/lang/es_module_show.lng
deleted file mode 100644
index 1f1199d..0000000
--- a/interface/web/designer/lib/lang/es_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de menú';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Eliminar';
-$wb['properties_txt'] = 'Propiedades';
-$wb['new_menu_txt'] = 'Nuevo menú';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Nuevo';
-$wb['up_txt'] = 'Arriba';
-$wb['down_txt'] = 'Abajo';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = '¿Quiere eliminar el módulo y eliminar todos los ficheros creados dentro de él?';
-$wb['menu_del_txt'] = '¿Quiere eliminar el menú con todo sus elementos?';
-$wb['item_del_txt'] = '¿Quiere eliminar el elemento del menú?';
-?>
diff --git a/interface/web/designer/lib/lang/fi.lng b/interface/web/designer/lib/lang/fi.lng
deleted file mode 100755
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/fi.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_edit.lng b/interface/web/designer/lib/lang/fi_form_edit.lng
deleted file mode 100755
index c9a1303..0000000
--- a/interface/web/designer/lib/lang/fi_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Lomakkeen nimi';
-$wb['title_txt'] = 'Lomakkeen otsikko';
-$wb['template_txt'] = 'Mallilomake';
-$wb['navframe_txt'] = 'Valikon kehys';
-$wb['startpage_txt'] = 'Aloitussivu';
-$wb['tab_width_txt'] = 'Painikkeen leveys';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-$wb['header_txt'] = 'Lomakkeen ominaisuudet';
-$wb['description_txt'] = 'Kuvaus';
-$wb['action_txt'] = 'Toiminto (skripti)';
-$wb['db_table_txt'] = 'Tietokannan taulu';
-$wb['db_table_idx_txt'] = 'Tietokannan taulun indeksi';
-$wb['db_history_txt'] = 'Kumoamisloki';
-$wb['tab_default_txt'] = 'Oletuspainike';
-$wb['list_default_txt'] = 'Oletuslista';
-$wb['auth_txt'] = 'Oikeudet';
-$wb['auth_preset_userid_txt'] = 'Käyttäjätunnus';
-$wb['auth_preset_groupid_txt'] = 'Käyttäjäryhmä';
-$wb['auth_preset_perm_user_txt'] = 'Käyttäjän oikeudet';
-$wb['auth_preset_perm_group_txt'] = 'Ryhmän oikeudet';
-$wb['auth_preset_perm_other_txt'] = 'Muiden käyttäjien oikeudet';
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_list.lng b/interface/web/designer/lib/lang/fi_form_list.lng
deleted file mode 100755
index 9052c8f..0000000
--- a/interface/web/designer/lib/lang/fi_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Peruslomake';
-$wb['form_txt'] = 'Lomake';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['title_txt'] = 'Otsikko';
-$wb['description_txt'] = 'Kuvaus';
-?>
diff --git a/interface/web/designer/lib/lang/fi_form_show.lng b/interface/web/designer/lib/lang/fi_form_show.lng
deleted file mode 100755
index 247a95b..0000000
--- a/interface/web/designer/lib/lang/fi_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Lomakemuokkain';
-$wb['title_txt'] = 'Lomakkeen otsikko';
-$wb['name_txt'] = 'Lomakkeen nimi';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Ominaisuudet';
-$wb['new_tab_txt'] = 'Uusi painike';
-$wb['edit_txt'] = 'Muokkaa';
-$wb['new_txt'] = 'Uusi';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['form_txt'] = 'Lomake';
-$wb['description_txt'] = 'Kuvaus';
-$wb['module_del_txt'] = 'Poista ohjelmaosion kansio ja kaikki sen alikansiot?';
-$wb['menu_del_txt'] = 'Poista valikko ja kaikki sen osat?';
-$wb['item_del_txt'] = 'Poista valikon osa?';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_edit.lng b/interface/web/designer/lib/lang/fi_module_edit.lng
deleted file mode 100755
index 8bb4a5c..0000000
--- a/interface/web/designer/lib/lang/fi_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Ohjelmaosion nimi';
-$wb['title_txt'] = 'Ohjelmaosion otsikko';
-$wb['template_txt'] = 'Mallitiedosto';
-$wb['navframe_txt'] = 'Valikkokehys';
-$wb['startpage_txt'] = 'Oletussivu';
-$wb['tab_width_txt'] = 'Välilehden leveys';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-$wb['header_txt'] = 'Ohjelmaosion ominaisuudet';
-$wb['description_txt'] = '
-<b>Kuvaus</b>
-<br><br>
-<b>Modulename:</b> Ohjelmaosion kansion nimi. Vain numerot,kirjaimet ja alaviiva on sallittu.<br>
-<b>Moduletitle:</b> Tulee näkymään ylemmässä päävalikossa.<br>
-<b>Template file:</b> Ohjelmaosion mallitiedosto. Käytettävissä tällä hetkellä: module.tpl.htm ja module_tree.tpl.htm. Oletus on module.tpl.htm.<br>
-<b>NaviFrame:</b> Jos module_tree.tpl.htm valittiin mallitiedostoksi, kirjoita tähän vasemman kehyksen skriptitiedoston polku.<br>
-<b>Default page:</b> Tämä sivu näytetetään kun ohjelmaosio avataan.<br>
-<b>Tab width:</b> Päälikon painikkeiden leveys. Kenttä on oletuksenä tyhjä. Voit antaa arvon pikseleinää tai prosentteina. (esim. 20 tai 20%).<br>
-<b>Vihje:</b> Kaikki polut ovat suhteellisia web-kansioon, eivät absoluuttisia.
-';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_list.lng b/interface/web/designer/lib/lang/fi_module_list.lng
deleted file mode 100755
index f07c9a3..0000000
--- a/interface/web/designer/lib/lang/fi_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Perusohjelmaosio';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['title_txt'] = 'Otsikko';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_nav_edit.lng b/interface/web/designer/lib/lang/fi_module_nav_edit.lng
deleted file mode 100755
index b7c03ea..0000000
--- a/interface/web/designer/lib/lang/fi_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Otsikko';
-$wb['header_txt'] = 'Valikon ominaisuudet';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng b/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng
deleted file mode 100755
index 5f32d58..0000000
--- a/interface/web/designer/lib/lang/fi_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Otsikko';
-$wb['target_txt'] = 'Kohde';
-$wb['link_txt'] = 'Linkki';
-$wb['header_txt'] = 'Valikon ominaisuudet';
-$wb['save_txt'] = 'Tallenna';
-$wb['cancel_txt'] = 'Keskeytä';
-?>
diff --git a/interface/web/designer/lib/lang/fi_module_show.lng b/interface/web/designer/lib/lang/fi_module_show.lng
deleted file mode 100755
index 066d92f..0000000
--- a/interface/web/designer/lib/lang/fi_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Valikko-muokkain';
-$wb['title_txt'] = 'Otsikko';
-$wb['name_txt'] = 'Ohjelmaosio';
-$wb['delete_txt'] = 'Poista';
-$wb['properties_txt'] = 'Ominaisuudet';
-$wb['new_menu_txt'] = 'Uusi valikko';
-$wb['edit_txt'] = 'Muokkaa';
-$wb['new_txt'] = 'Uusi';
-$wb['up_txt'] = 'Ylös';
-$wb['down_txt'] = 'Alas';
-$wb['module_txt'] = 'Ohjelmaosio';
-$wb['module_del_txt'] = 'Haluatko poistaa tämän ohjelmaosion ja kaikki siihen kuuluvat valikot ja osat?';
-$wb['menu_del_txt'] = 'Haluatko poistaa tämän valikon?';
-$wb['item_del_txt'] = 'Haluatko poistaa tämän osan?';
-?>
diff --git a/interface/web/designer/lib/lang/fr.lng b/interface/web/designer/lib/lang/fr.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/fr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_edit.lng b/interface/web/designer/lib/lang/fr_form_edit.lng
deleted file mode 100644
index eb3f5a3..0000000
--- a/interface/web/designer/lib/lang/fr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nom du Formulaire';
-$wb['title_txt'] = 'Titre du formulaire';
-$wb['template_txt'] = 'Gabarit';
-$wb['navframe_txt'] = 'Cadre de navigation';
-$wb['startpage_txt'] = 'Page de démarrage';
-$wb['tab_width_txt'] = 'Largeur Tableau';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-$wb['header_txt'] = 'Propriétés du Formulaire';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'Table BDD';
-$wb['db_table_idx_txt'] = 'Index table BDD';
-$wb['db_history_txt'] = 'Effacer le Log';
-$wb['tab_default_txt'] = 'Onglet par défaut';
-$wb['list_default_txt'] = 'Liste par défaut';
-$wb['auth_txt'] = 'Permissions';
-$wb['auth_preset_userid_txt'] = 'ID Utilisateur';
-$wb['auth_preset_groupid_txt'] = 'ID Groupe';
-$wb['auth_preset_perm_user_txt'] = 'Permission Utilisateur';
-$wb['auth_preset_perm_group_txt'] = 'Permission Groupe';
-$wb['auth_preset_perm_other_txt'] = 'Permission Autre';
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_list.lng b/interface/web/designer/lib/lang/fr_form_list.lng
deleted file mode 100644
index 3162115..0000000
--- a/interface/web/designer/lib/lang/fr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulaire d\'administration';
-$wb['form_txt'] = 'Formulaire';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titre';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/fr_form_show.lng b/interface/web/designer/lib/lang/fr_form_show.lng
deleted file mode 100644
index c2cd94b..0000000
--- a/interface/web/designer/lib/lang/fr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editeur de Formulaire';
-$wb['title_txt'] = 'Titre du Formulaire';
-$wb['name_txt'] = 'Nom du Fromulaire';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Propriétés';
-$wb['new_tab_txt'] = 'Nouvel Onglet';
-$wb['edit_txt'] = 'Editer';
-$wb['new_txt'] = 'Nouveau';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formulaire';
-$wb['description_txt'] = 'Description';
-$wb['module_del_txt'] = 'Effacer le module et tous ses sous-répertoires';
-$wb['menu_del_txt'] = 'Effacer le menu et toutes ses entrées';
-$wb['item_del_txt'] = 'Effacer l\'entrée';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_edit.lng b/interface/web/designer/lib/lang/fr_module_edit.lng
deleted file mode 100644
index 282c73c..0000000
--- a/interface/web/designer/lib/lang/fr_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nom du module';
-$wb['title_txt'] = 'Titre du module';
-$wb['template_txt'] = 'Fichier gabarit';
-$wb['navframe_txt'] = 'Cadre de navigation';
-$wb['startpage_txt'] = 'Page par défaut';
-$wb['tab_width_txt'] = 'Largeur du tableau';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-$wb['header_txt'] = 'Propriétés du module';
-$wb['description_txt'] = ' <b>Description</b><br /><br /><b>Nom du Module:</b> Nom du répertoire du module. Seuls les nombres, lettres et underscores sont autorisés.<br/><b>Titre du module:</b> Sera affiché dans le menu de navigation (supérieur).<br/><b>Fichier gabarit:</b> Fichier';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_list.lng b/interface/web/designer/lib/lang/fr_module_list.lng
deleted file mode 100644
index d493fdc..0000000
--- a/interface/web/designer/lib/lang/fr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Module d\'administration';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titre';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_nav_edit.lng b/interface/web/designer/lib/lang/fr_module_nav_edit.lng
deleted file mode 100644
index 53c5e41..0000000
--- a/interface/web/designer/lib/lang/fr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titre';
-$wb['header_txt'] = 'Propriétés de navigation';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng
deleted file mode 100644
index 21852e2..0000000
--- a/interface/web/designer/lib/lang/fr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titre';
-$wb['target_txt'] = 'Cible';
-$wb['link_txt'] = 'Lien';
-$wb['header_txt'] = 'Propriétés de navigation';
-$wb['save_txt'] = 'Sauver';
-$wb['cancel_txt'] = 'Annuler';
-?>
diff --git a/interface/web/designer/lib/lang/fr_module_show.lng b/interface/web/designer/lib/lang/fr_module_show.lng
deleted file mode 100644
index 8c14adb..0000000
--- a/interface/web/designer/lib/lang/fr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editeur de menu';
-$wb['title_txt'] = 'Titre';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Effacer';
-$wb['properties_txt'] = 'Propriétés';
-$wb['new_menu_txt'] = 'Nouveau menu';
-$wb['edit_txt'] = 'Editer';
-$wb['new_txt'] = 'Nouveau';
-$wb['up_txt'] = 'Monter';
-$wb['down_txt'] = 'Descendre';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Voulez-vous supprimer le module et tous les fichiers et sous-dossier du module ?';
-$wb['menu_del_txt'] = 'Voulez-vous supprimer le menu avec tous ses sous-menus ?';
-$wb['item_del_txt'] = 'Voulez-vous supprimer l\'entrée de menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/hr.lng b/interface/web/designer/lib/lang/hr.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/hr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_edit.lng b/interface/web/designer/lib/lang/hr_form_edit.lng
deleted file mode 100644
index 6396ece..0000000
--- a/interface/web/designer/lib/lang/hr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Naziv forme';
-$wb['title_txt'] = 'Naslov forme';
-$wb['template_txt'] = 'Predložak';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Početna';
-$wb['tab_width_txt'] = 'Širina taba';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-$wb['header_txt'] = 'Postavke forme';
-$wb['description_txt'] = 'Opis';
-$wb['action_txt'] = 'Akcija (skripte)';
-$wb['db_table_txt'] = 'Tablica u bazi';
-$wb['db_table_idx_txt'] = 'Index tablice u bazi';
-$wb['db_history_txt'] = 'Vrati Log';
-$wb['tab_default_txt'] = 'Standardni tab';
-$wb['list_default_txt'] = 'Standardne liste';
-$wb['auth_txt'] = 'Dozvole';
-$wb['auth_preset_userid_txt'] = 'UserID';
-$wb['auth_preset_groupid_txt'] = 'GroupID';
-$wb['auth_preset_perm_user_txt'] = 'Dozvole klijenta';
-$wb['auth_preset_perm_group_txt'] = 'Dozvole grupe';
-$wb['auth_preset_perm_other_txt'] = 'Dozvole ostalo';
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_list.lng b/interface/web/designer/lib/lang/hr_form_list.lng
deleted file mode 100644
index 9efdf78..0000000
--- a/interface/web/designer/lib/lang/hr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Pozadinska forma';
-$wb['form_txt'] = 'Forma';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Naslov';
-$wb['description_txt'] = 'Opis';
-?>
diff --git a/interface/web/designer/lib/lang/hr_form_show.lng b/interface/web/designer/lib/lang/hr_form_show.lng
deleted file mode 100644
index e83272a..0000000
--- a/interface/web/designer/lib/lang/hr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor forme';
-$wb['title_txt'] = 'Naslov forme';
-$wb['name_txt'] = 'Naziv forme';
-$wb['delete_txt'] = 'Obriši';
-$wb['properties_txt'] = 'Postavke';
-$wb['new_tab_txt'] = 'Novi tab';
-$wb['edit_txt'] = 'Promijeni';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Forma';
-$wb['description_txt'] = 'Opis';
-$wb['module_del_txt'] = 'Obrisati modul i sve poddirektorije?';
-$wb['menu_del_txt'] = 'Obrisati meni i sve izbornike menia?';
-$wb['item_del_txt'] = 'Obrisati izbornik menia?';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_edit.lng b/interface/web/designer/lib/lang/hr_module_edit.lng
deleted file mode 100644
index b4aa48a..0000000
--- a/interface/web/designer/lib/lang/hr_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Naziv modula';
-$wb['title_txt'] = 'Naslov modula';
-$wb['template_txt'] = 'Predložak';
-$wb['navframe_txt'] = 'Navi frame';
-$wb['startpage_txt'] = 'Standardna stranica';
-$wb['tab_width_txt'] = 'Širina taba';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-$wb['header_txt'] = 'Postavke modula';
-$wb['description_txt'] = '<b>Opis</b><br><br><b>Naziv modula:</b> Naziv direktorija sa modulima. Dozvoljeni samo brojevi, znakovi i podcrta.<br><b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br><b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br><b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br><b>Default page:</b> These page will be shown when the module is opened.<br><b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br><b>Hint:</b> All paths are relative to the directory web.';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_list.lng b/interface/web/designer/lib/lang/hr_module_list.lng
deleted file mode 100644
index 3528a6d..0000000
--- a/interface/web/designer/lib/lang/hr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Pozadinski modul';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Naslov';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_nav_edit.lng b/interface/web/designer/lib/lang/hr_module_nav_edit.lng
deleted file mode 100644
index 42c8e14..0000000
--- a/interface/web/designer/lib/lang/hr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Naslov';
-$wb['header_txt'] = 'Navi postavke';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng
deleted file mode 100644
index ee9208f..0000000
--- a/interface/web/designer/lib/lang/hr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Naziv';
-$wb['target_txt'] = 'Destinacija';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi postavke';
-$wb['save_txt'] = 'Spremi';
-$wb['cancel_txt'] = 'Odustani';
-?>
diff --git a/interface/web/designer/lib/lang/hr_module_show.lng b/interface/web/designer/lib/lang/hr_module_show.lng
deleted file mode 100644
index 98c6144..0000000
--- a/interface/web/designer/lib/lang/hr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor menia';
-$wb['title_txt'] = 'Naziv';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Obriši';
-$wb['properties_txt'] = 'Postavke';
-$wb['new_menu_txt'] = 'Novi meni';
-$wb['edit_txt'] = 'Editiraj';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Gore';
-$wb['down_txt'] = 'Dolje';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Da li stvarno želite obrisati modul i sve poddirektorije?';
-$wb['menu_del_txt'] = 'Da li stvarno želite obrisati meni i sve podmenije?';
-$wb['item_del_txt'] = 'Obrisati meni?';
-?>
diff --git a/interface/web/designer/lib/lang/hu.lng b/interface/web/designer/lib/lang/hu.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/hu.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_edit.lng b/interface/web/designer/lib/lang/hu_form_edit.lng
deleted file mode 100644
index d7b419c..0000000
--- a/interface/web/designer/lib/lang/hu_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Napló';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_list.lng b/interface/web/designer/lib/lang/hu_form_list.lng
deleted file mode 100644
index 4743225..0000000
--- a/interface/web/designer/lib/lang/hu_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/hu_form_show.lng b/interface/web/designer/lib/lang/hu_form_show.lng
deleted file mode 100644
index 12be609..0000000
--- a/interface/web/designer/lib/lang/hu_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$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/hu_module_edit.lng b/interface/web/designer/lib/lang/hu_module_edit.lng
deleted file mode 100644
index 592ccd7..0000000
--- a/interface/web/designer/lib/lang/hu_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_list.lng b/interface/web/designer/lib/lang/hu_module_list.lng
deleted file mode 100644
index bc9ebed..0000000
--- a/interface/web/designer/lib/lang/hu_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_nav_edit.lng b/interface/web/designer/lib/lang/hu_module_nav_edit.lng
deleted file mode 100644
index fa5f15a..0000000
--- a/interface/web/designer/lib/lang/hu_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng b/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d15..0000000
--- a/interface/web/designer/lib/lang/hu_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/hu_module_show.lng b/interface/web/designer/lib/lang/hu_module_show.lng
deleted file mode 100644
index 357fca1..0000000
--- a/interface/web/designer/lib/lang/hu_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse l�schen?';
-$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/id.lng b/interface/web/designer/lib/lang/id.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/id.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/id_form_edit.lng b/interface/web/designer/lib/lang/id_form_edit.lng
deleted file mode 100644
index 957ccbc..0000000
--- a/interface/web/designer/lib/lang/id_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nama Form';
-$wb['title_txt'] = 'Judul Form';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'Frame Navigasi';
-$wb['startpage_txt'] = 'Halaman Awal';
-$wb['tab_width_txt'] = 'Lebar Tab';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-$wb['header_txt'] = 'Properti Form';
-$wb['description_txt'] = 'Keterangan';
-$wb['action_txt'] = 'Tindakan (skrip)';
-$wb['db_table_txt'] = 'Tabel DB';
-$wb['db_table_idx_txt'] = 'Indeks Tabel DB';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Tab Baku';
-$wb['list_default_txt'] = 'Daftar Baku';
-$wb['auth_txt'] = 'Hak Akses';
-$wb['auth_preset_userid_txt'] = 'ID Pengguna';
-$wb['auth_preset_groupid_txt'] = 'ID Grup';
-$wb['auth_preset_perm_user_txt'] = 'Hak Akses Pengguna';
-$wb['auth_preset_perm_group_txt'] = 'Hak Akses Grup';
-$wb['auth_preset_perm_other_txt'] = 'Hak Akses Lainnya';
-?>
diff --git a/interface/web/designer/lib/lang/id_form_list.lng b/interface/web/designer/lib/lang/id_form_list.lng
deleted file mode 100644
index ea20e63..0000000
--- a/interface/web/designer/lib/lang/id_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Form Backend';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Judul';
-$wb['description_txt'] = 'Keterangan';
-?>
diff --git a/interface/web/designer/lib/lang/id_form_show.lng b/interface/web/designer/lib/lang/id_form_show.lng
deleted file mode 100644
index 0e05e51..0000000
--- a/interface/web/designer/lib/lang/id_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Penyunting Form';
-$wb['title_txt'] = 'Judul Form';
-$wb['name_txt'] = 'Nama Form';
-$wb['delete_txt'] = 'Hapus';
-$wb['properties_txt'] = 'Properti';
-$wb['new_tab_txt'] = 'Tab Baru';
-$wb['edit_txt'] = 'Sunting';
-$wb['new_txt'] = 'Baru';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Keterangan';
-$wb['module_del_txt'] = 'Hapus modul dan seluruh sub direktori?';
-$wb['menu_del_txt'] = 'Hapus menu dengan seluruh menuitem?';
-$wb['item_del_txt'] = 'Hapus menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_edit.lng b/interface/web/designer/lib/lang/id_module_edit.lng
deleted file mode 100644
index 31b0692..0000000
--- a/interface/web/designer/lib/lang/id_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nama modul';
-$wb['title_txt'] = 'Judul modul';
-$wb['template_txt'] = 'Berkas Template';
-$wb['navframe_txt'] = 'Frame Navigasi';
-$wb['startpage_txt'] = 'Halaman Default';
-$wb['tab_width_txt'] = 'Lebar Tab';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-$wb['header_txt'] = 'Properti Modul';
-$wb['description_txt'] = '
-<b>Keterangan</b>
-<br><br>
-<b>Nama Modul:</b> Nama direktori modul. Hanya angka, karakter dan garis bawah yang diizinkan.<br>
-<b>Judul Modul:</b> Akan terlihat di navigasi utama (bagian atas).<br>
-<b>Berkas Template:</b> Berkas Template modul. Yang tersedia saat ini: module.tpl.htm dan module_tree.tpl.htm. Defaultnya adalah module.tpl.htm.<br>
-<b>Frame Navigasi:</b> Jika memilih module_tree.tpl.htm sebagai berkas template, masukkan path ke berkas skrip untuk frame sebelah kiri.<br>
-<b>Halaman Default:</b> Halaman ini akan muncul ketika modul dibuka.<br>
-<b>Lebar Tab:</b> Lebar tab di navigasi utama. Kolom ini defaultnya kosong. Anda dapat memasukkan nilai pixel absolut (mis. 20) atau relatif (mis. 20%).<br>
-<b>Petunjuk:</b> Semua path adalah relatif terhadap direktori web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_list.lng b/interface/web/designer/lib/lang/id_module_list.lng
deleted file mode 100644
index 40114b2..0000000
--- a/interface/web/designer/lib/lang/id_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modul Backend';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Judul';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_nav_edit.lng b/interface/web/designer/lib/lang/id_module_nav_edit.lng
deleted file mode 100644
index 524784a..0000000
--- a/interface/web/designer/lib/lang/id_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Judul';
-$wb['header_txt'] = 'Properti Navigasi';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_nav_item_edit.lng b/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
deleted file mode 100644
index bb3d780..0000000
--- a/interface/web/designer/lib/lang/id_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Judul';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Tautan';
-$wb['header_txt'] = 'Properti Navigasi';
-$wb['save_txt'] = 'Simpan';
-$wb['cancel_txt'] = 'Batal';
-?>
diff --git a/interface/web/designer/lib/lang/id_module_show.lng b/interface/web/designer/lib/lang/id_module_show.lng
deleted file mode 100644
index 38ef8a5..0000000
--- a/interface/web/designer/lib/lang/id_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Penyunting Menu';
-$wb['title_txt'] = 'Judul';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Hapus';
-$wb['properties_txt'] = 'Properti';
-$wb['new_menu_txt'] = 'Menu baru';
-$wb['edit_txt'] = 'Sunting';
-$wb['new_txt'] = 'Baru';
-$wb['up_txt'] = 'Naik';
-$wb['down_txt'] = 'Turun';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Apakah Anda ingin menghapus modul dan semua berkas dan subdirektori yang dibuat oleh modul?';
-$wb['menu_del_txt'] = 'Apakah Anda ingin menghapus menu dan semua sub-entrinya?';
-$wb['item_del_txt'] = 'Apakah Anda ingin menghapus item menu?';
-?>
diff --git a/interface/web/designer/lib/lang/it.lng b/interface/web/designer/lib/lang/it.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/it.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/it_form_edit.lng b/interface/web/designer/lib/lang/it_form_edit.lng
deleted file mode 100644
index 1fc63b8..0000000
--- a/interface/web/designer/lib/lang/it_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = 'Description';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permessi';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/it_form_list.lng b/interface/web/designer/lib/lang/it_form_list.lng
deleted file mode 100644
index 015cc53..0000000
--- a/interface/web/designer/lib/lang/it_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modulo';
-$wb['title_txt'] = 'Titolo';
-$wb['description_txt'] = 'Descrizione';
-?>
diff --git a/interface/web/designer/lib/lang/it_form_show.lng b/interface/web/designer/lib/lang/it_form_show.lng
deleted file mode 100644
index 12be609..0000000
--- a/interface/web/designer/lib/lang/it_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$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/it_module_edit.lng b/interface/web/designer/lib/lang/it_module_edit.lng
deleted file mode 100644
index a759d40..0000000
--- a/interface/web/designer/lib/lang/it_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Nome del modulo directory. Sono ammessi solo numeri, caratteri e underscore.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Suggerimento:</b> tutti i percorsi sono relativi alla directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_list.lng b/interface/web/designer/lib/lang/it_module_list.lng
deleted file mode 100644
index 8a256cb..0000000
--- a/interface/web/designer/lib/lang/it_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modulo backend';
-$wb['module_txt'] = 'Modulo';
-$wb['title_txt'] = 'Titolo';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_nav_edit.lng b/interface/web/designer/lib/lang/it_module_nav_edit.lng
deleted file mode 100644
index 26a426a..0000000
--- a/interface/web/designer/lib/lang/it_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titolo';
-$wb['header_txt'] = 'Proprietà Navi';
-$wb['save_txt'] = 'Salva';
-$wb['cancel_txt'] = 'Annulla';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_nav_item_edit.lng b/interface/web/designer/lib/lang/it_module_nav_item_edit.lng
deleted file mode 100644
index 47aac39..0000000
--- a/interface/web/designer/lib/lang/it_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titolo';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Proprietà Navi';
-$wb['save_txt'] = 'Salva';
-$wb['cancel_txt'] = 'Annulla';
-?>
diff --git a/interface/web/designer/lib/lang/it_module_show.lng b/interface/web/designer/lib/lang/it_module_show.lng
deleted file mode 100644
index 2cf9b07..0000000
--- a/interface/web/designer/lib/lang/it_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$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/ja.lng b/interface/web/designer/lib/lang/ja.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/ja.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_edit.lng b/interface/web/designer/lib/lang/ja_form_edit.lng
deleted file mode 100644
index 130ca07..0000000
--- a/interface/web/designer/lib/lang/ja_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpage';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = '保存する';
-$wb['cancel_txt'] = 'キャンセル';
-$wb['header_txt'] = 'Form properties';
-$wb['description_txt'] = '説明';
-$wb['action_txt'] = 'Action (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permissions';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_list.lng b/interface/web/designer/lib/lang/ja_form_list.lng
deleted file mode 100644
index 4743225..0000000
--- a/interface/web/designer/lib/lang/ja_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-$wb['description_txt'] = 'Description';
-?>
diff --git a/interface/web/designer/lib/lang/ja_form_show.lng b/interface/web/designer/lib/lang/ja_form_show.lng
deleted file mode 100644
index 37017fa..0000000
--- a/interface/web/designer/lib/lang/ja_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formeditor';
-$wb['title_txt'] = 'Formtitle';
-$wb['name_txt'] = 'Formname';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_tab_txt'] = 'Tab new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'Neu';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Description';
-$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/ja_module_edit.lng b/interface/web/designer/lib/lang/ja_module_edit.lng
deleted file mode 100644
index 592ccd7..0000000
--- a/interface/web/designer/lib/lang/ja_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module properties';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br>
-<b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br>
-<b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br>
-<b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br>
-<b>Default page:</b> These page will be shown when the module is opened.<br>
-<b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br>
-<b>Hint:</b> All paths are relative to the directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_list.lng b/interface/web/designer/lib/lang/ja_module_list.lng
deleted file mode 100644
index bc9ebed..0000000
--- a/interface/web/designer/lib/lang/ja_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Title';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_nav_edit.lng b/interface/web/designer/lib/lang/ja_module_nav_edit.lng
deleted file mode 100644
index fa5f15a..0000000
--- a/interface/web/designer/lib/lang/ja_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng
deleted file mode 100644
index 23f7d15..0000000
--- a/interface/web/designer/lib/lang/ja_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Title';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi properties';
-$wb['save_txt'] = 'Save';
-$wb['cancel_txt'] = 'Cancel';
-?>
diff --git a/interface/web/designer/lib/lang/ja_module_show.lng b/interface/web/designer/lib/lang/ja_module_show.lng
deleted file mode 100644
index 6fe8d45..0000000
--- a/interface/web/designer/lib/lang/ja_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = '言語エディタ';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Delete';
-$wb['properties_txt'] = 'Properties';
-$wb['new_menu_txt'] = 'Menu new';
-$wb['edit_txt'] = 'Edit';
-$wb['new_txt'] = 'New';
-$wb['up_txt'] = 'Up';
-$wb['down_txt'] = 'Down';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse loschen?';
-$wb['menu_del_txt'] = 'Wollen Sie das Menu mit allen Untereintragen loschen?';
-$wb['item_del_txt'] = 'Wollen Sie den Menueintrag loschen?';
-?>
diff --git a/interface/web/designer/lib/lang/nl.lng b/interface/web/designer/lib/lang/nl.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/nl.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_edit.lng b/interface/web/designer/lib/lang/nl_form_edit.lng
deleted file mode 100644
index 130fa5f..0000000
--- a/interface/web/designer/lib/lang/nl_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formuliernaam';
-$wb['title_txt'] = 'Formuliertitel';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpagina';
-$wb['tab_width_txt'] = 'Tab breedte';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleren';
-$wb['header_txt'] = 'Formulier eigenschappen';
-$wb['description_txt'] = 'Omschrijving';
-$wb['action_txt'] = 'Actie (script)';
-$wb['db_table_txt'] = 'DB Tabe;';
-$wb['db_table_idx_txt'] = 'DB Tabel index';
-$wb['db_history_txt'] = 'Ongedaan maken Log';
-$wb['tab_default_txt'] = 'Standaard tab';
-$wb['list_default_txt'] = 'Standaard Lijst';
-$wb['auth_txt'] = 'Permissies';
-$wb['auth_preset_userid_txt'] = 'GebruikerID';
-$wb['auth_preset_groupid_txt'] = 'GroepID';
-$wb['auth_preset_perm_user_txt'] = 'Perm. gebruiker';
-$wb['auth_preset_perm_group_txt'] = 'Perm. groep';
-$wb['auth_preset_perm_other_txt'] = 'Perm. overige';
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_list.lng b/interface/web/designer/lib/lang/nl_form_list.lng
deleted file mode 100644
index 2da9725..0000000
--- a/interface/web/designer/lib/lang/nl_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulier';
-$wb['form_txt'] = 'Formulier';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titel';
-$wb['description_txt'] = 'Omschrijving';
-?>
diff --git a/interface/web/designer/lib/lang/nl_form_show.lng b/interface/web/designer/lib/lang/nl_form_show.lng
deleted file mode 100644
index 90fc713..0000000
--- a/interface/web/designer/lib/lang/nl_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulier editor';
-$wb['title_txt'] = 'Formulier titel';
-$wb['name_txt'] = 'Formulier naam';
-$wb['delete_txt'] = 'Verwijderen';
-$wb['properties_txt'] = 'Eigenschappen';
-$wb['new_tab_txt'] = 'Tab nieuw';
-$wb['edit_txt'] = 'Wijzigen';
-$wb['new_txt'] = 'Nieuw';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formulier';
-$wb['description_txt'] = 'Omschrijving';
-$wb['module_del_txt'] = 'Verwijder de module en alle subdirectories?';
-$wb['menu_del_txt'] = 'Verwijder menu met alle menuitems?';
-$wb['item_del_txt'] = 'Verwijder menutitem?';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_edit.lng b/interface/web/designer/lib/lang/nl_module_edit.lng
deleted file mode 100644
index 289ac62..0000000
--- a/interface/web/designer/lib/lang/nl_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulenaam';
-$wb['title_txt'] = 'Moduletitel';
-$wb['template_txt'] = 'Template bestand';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Standaard pagina';
-$wb['tab_width_txt'] = 'Tab breedte';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Module eigenschappen';
-$wb['description_txt'] = '
-<b>Description</b>
-<br><br>
-<b>Modulename:</b> Naam van de module directory. Alleen numerieke waarden, karakters en underscore zijn toegestaan.<br>
-<b>Moduletitle:</b> Worden weergegeven in de (bovenste) hoofd navigatiebalk.<br>
-<b>Template file:</b> Template bestand van de module. Momenteel beschikbaar: module.tpl.htm and module_tree.tpl.htm. Standaard is module.tpl.htm.<br>
-<b>NaviFrame:</b> Als module_tree.tpl.htm is geselecteerd als template bestand, geef hier dan het pad op naar het script bestand voor het linker frame.<br>
-<b>Default page:</b> Deze pagina wordt weergegeven wanneer de module is geopened.<br>
-<b>Tab width:</b> Breedte van de tabs in de hoofdnavigatiebalk. Dit veld is standaard leeg. U kunt hier absulute pixel waarden invoeren (bijv. 20) of relatief (bijv. 20%).<br>
-<b>Hint:</b> Alle paden zijn relatief tot de directory web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_list.lng b/interface/web/designer/lib/lang/nl_module_list.lng
deleted file mode 100644
index b07dd11..0000000
--- a/interface/web/designer/lib/lang/nl_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titel';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_nav_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_edit.lng
deleted file mode 100644
index 504b7f7..0000000
--- a/interface/web/designer/lib/lang/nl_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['header_txt'] = 'Navi eigenschappen';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleren';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng b/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
deleted file mode 100644
index b711e49..0000000
--- a/interface/web/designer/lib/lang/nl_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['target_txt'] = 'Doel';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi eigenschappen';
-$wb['save_txt'] = 'Opslaan';
-$wb['cancel_txt'] = 'Annuleer';
-?>
diff --git a/interface/web/designer/lib/lang/nl_module_show.lng b/interface/web/designer/lib/lang/nl_module_show.lng
deleted file mode 100644
index fca91bc..0000000
--- a/interface/web/designer/lib/lang/nl_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Title';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Verwijderen';
-$wb['properties_txt'] = 'Eigenschappen';
-$wb['new_menu_txt'] = 'Menu nieuw';
-$wb['edit_txt'] = 'Wijzigen';
-$wb['new_txt'] = 'Nieuw';
-$wb['up_txt'] = 'Op';
-$wb['down_txt'] = 'Neer';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Wilt u de module en alle in de module aangelegde bestanden en subdirectories verwijderen?';
-$wb['menu_del_txt'] = 'Wilt u het menu met alle menu items verwijderen?';
-$wb['item_del_txt'] = 'Wilt u het menu item verwijderen?';
-?>
diff --git a/interface/web/designer/lib/lang/pl.lng b/interface/web/designer/lib/lang/pl.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/pl.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_edit.lng b/interface/web/designer/lib/lang/pl_form_edit.lng
deleted file mode 100644
index ee4f4c4..0000000
--- a/interface/web/designer/lib/lang/pl_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nazwa formularza';
-$wb['title_txt'] = 'Tytuł formularza';
-$wb['template_txt'] = 'Szablon';
-$wb['navframe_txt'] = 'Ramka nawigacyjna';
-$wb['startpage_txt'] = 'Strona startowa';
-$wb['tab_width_txt'] = 'Szerokość zakładki';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Anuluj';
-$wb['header_txt'] = 'Parametry formularza';
-$wb['description_txt'] = 'Opis';
-$wb['action_txt'] = 'Akcja (skrypt)';
-$wb['db_table_txt'] = 'DB Tabela';
-$wb['db_table_idx_txt'] = 'DB Indeks tabeli';
-$wb['db_history_txt'] = 'Cofnij Log';
-$wb['tab_default_txt'] = 'Domyślna zakładka';
-$wb['list_default_txt'] = 'Domyślna lista';
-$wb['auth_txt'] = 'Dostęp';
-$wb['auth_preset_userid_txt'] = 'ID Użytkownika';
-$wb['auth_preset_groupid_txt'] = 'ID Grupy';
-$wb['auth_preset_perm_user_txt'] = 'Stały użytkownik';
-$wb['auth_preset_perm_group_txt'] = 'Stała grupa';
-$wb['auth_preset_perm_other_txt'] = 'Stała inna';
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_list.lng b/interface/web/designer/lib/lang/pl_form_list.lng
deleted file mode 100644
index ac85722..0000000
--- a/interface/web/designer/lib/lang/pl_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Tylny formularz';
-$wb['form_txt'] = 'Formularz';
-$wb['module_txt'] = 'Moduł';
-$wb['title_txt'] = 'Tytuł';
-$wb['description_txt'] = 'Opis';
-?>
diff --git a/interface/web/designer/lib/lang/pl_form_show.lng b/interface/web/designer/lib/lang/pl_form_show.lng
deleted file mode 100644
index db62af1..0000000
--- a/interface/web/designer/lib/lang/pl_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Edytor formularza';
-$wb['title_txt'] = 'Tytuł formularza';
-$wb['name_txt'] = 'Nazwa formularza';
-$wb['delete_txt'] = 'Usuń';
-$wb['properties_txt'] = 'Preferencje';
-$wb['new_tab_txt'] = 'Nowa zakładka';
-$wb['edit_txt'] = 'Edytuj';
-$wb['new_txt'] = 'Nowy';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Moduł';
-$wb['form_txt'] = 'Formularz';
-$wb['description_txt'] = 'Opis';
-$wb['module_del_txt'] = 'Usunąć moduł i wszystkie podkatalogi?';
-$wb['menu_del_txt'] = 'Usunąć menu i wszystkie jego elementy?';
-$wb['item_del_txt'] = 'Usunąc element menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_edit.lng b/interface/web/designer/lib/lang/pl_module_edit.lng
deleted file mode 100644
index b87d04b..0000000
--- a/interface/web/designer/lib/lang/pl_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nazwa modułu';
-$wb['title_txt'] = 'Tytuł modułu';
-$wb['template_txt'] = 'Plik szablonu';
-$wb['navframe_txt'] = 'Ramka nawigacyjna';
-$wb['startpage_txt'] = 'Strona domyślna';
-$wb['tab_width_txt'] = 'Szerokość zakładki';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Anuluj';
-$wb['header_txt'] = 'Parametry modułu';
-$wb['description_txt'] = '
-<b>Opis</b>
-<br><br>
-<b>Nazwa modułu:</b> Nazwa katalogu z modułem. Tylko liczby, litery (bez polskich) i podkreślenie są dozwolone.<br>
-<b>Tytuł modułu:</b> Będzie wyświetlaby w głównym menu nawigacyjnym.<br>
-<b>Plik szablonu:</b> Plik szablonu modułu. Aktualnie dostępne: module.tpl.htm oraz module_tree.tpl.htm. Domyślnie jest module.tpl.htm.<br>
-<b>Ramka nawigacyjna:</b> Jeśli module_tree.tpl.htm wybrano jako plik szablonu, wpisz tutaj ścieżkę do pliku ze skryptem dla lewej ramki.<br>
-<b>Strona domyślna:</b> Ta strona będzie otwierana na początku podczas otwarcia modułu.<br>
-<b>Szerokość zakładki:</b> Szerokość zakładek w głownym menu nawigacyjnym. To pole jest domyślnie puste. Możesz podać wartość w pikselach (np.: 20) lub procentach (np.: 20%).<br>
-<b>Podpowiedź:</b> Wszystkie ścieżki są względne według strony www..
-';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_list.lng b/interface/web/designer/lib/lang/pl_module_list.lng
deleted file mode 100644
index 308d1c6..0000000
--- a/interface/web/designer/lib/lang/pl_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Nazwa modułu';
-$wb['module_txt'] = 'Moduł';
-$wb['title_txt'] = 'Tytuł';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_nav_edit.lng b/interface/web/designer/lib/lang/pl_module_nav_edit.lng
deleted file mode 100644
index fe8edab..0000000
--- a/interface/web/designer/lib/lang/pl_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Tytuł';
-$wb['header_txt'] = 'Parametry nawigacyjne';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Usuń';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng b/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng
deleted file mode 100644
index 779b3b4..0000000
--- a/interface/web/designer/lib/lang/pl_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Tytuł';
-$wb['target_txt'] = 'Cel';
-$wb['link_txt'] = 'Adres';
-$wb['header_txt'] = 'Parametry nawigacyjne';
-$wb['save_txt'] = 'Zapisz';
-$wb['cancel_txt'] = 'Usuń';
-?>
diff --git a/interface/web/designer/lib/lang/pl_module_show.lng b/interface/web/designer/lib/lang/pl_module_show.lng
deleted file mode 100644
index 9b98c49..0000000
--- a/interface/web/designer/lib/lang/pl_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Edytor menu';
-$wb['title_txt'] = 'Tytuł';
-$wb['name_txt'] = 'Moduł';
-$wb['delete_txt'] = 'Usuń';
-$wb['properties_txt'] = 'Parametry';
-$wb['new_menu_txt'] = 'Nowe menu';
-$wb['edit_txt'] = 'Edytuj';
-$wb['new_txt'] = 'Nowy';
-$wb['up_txt'] = 'W górę';
-$wb['down_txt'] = 'W dół';
-$wb['module_txt'] = 'Moduł';
-$wb['module_del_txt'] = 'Czy na pewno chcesz usunąć moduł wraz z wszystkimi plikami i wpisami w bazie danych?';
-$wb['menu_del_txt'] = 'Czy na pewno chcesz usunąć menu z wszystkimi wpisami?';
-$wb['item_del_txt'] = 'Czy na pewno chcesz usunąć wpis w menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pt.lng b/interface/web/designer/lib/lang/pt.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/pt.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_edit.lng b/interface/web/designer/lib/lang/pt_form_edit.lng
deleted file mode 100644
index 75059e5..0000000
--- a/interface/web/designer/lib/lang/pt_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Inicial';
-$wb['tab_width_txt'] = 'Tamanho da aba';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['action_txt'] = 'Acção (script)';
-$wb['db_table_txt'] = 'Tabela do DB';
-$wb['db_table_idx_txt'] = 'Indíce da tabela do DB';
-$wb['db_history_txt'] = 'Desfazer Log';
-$wb['tab_default_txt'] = 'Aba Padrão';
-$wb['list_default_txt'] = 'Exibir Padrão';
-$wb['auth_txt'] = 'Permissões';
-$wb['auth_preset_userid_txt'] = 'Utilizador (ID)';
-$wb['auth_preset_groupid_txt'] = 'Grupo(ID)';
-$wb['auth_preset_perm_user_txt'] = 'Perm. Utilizador ';
-$wb['auth_preset_perm_group_txt'] = 'Perm. Grupo';
-$wb['auth_preset_perm_other_txt'] = 'Perm. Outros';
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_list.lng b/interface/web/designer/lib/lang/pt_form_list.lng
deleted file mode 100644
index b16ce55..0000000
--- a/interface/web/designer/lib/lang/pt_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Formulário de Backend';
-$wb['form_txt'] = 'Formulário';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-$wb['description_txt'] = 'Descrição';
-?>
diff --git a/interface/web/designer/lib/lang/pt_form_show.lng b/interface/web/designer/lib/lang/pt_form_show.lng
deleted file mode 100644
index e9b385f..0000000
--- a/interface/web/designer/lib/lang/pt_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Formulários';
-$wb['title_txt'] = 'Título do Formulário';
-$wb['name_txt'] = 'Nome do Formulário';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_tab_txt'] = 'Nova Aba';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Módulo';
-$wb['form_txt'] = 'Formulário';
-$wb['description_txt'] = 'Descrição';
-$wb['module_del_txt'] = 'Remover o módulo e todas as suas sub-pastas?';
-$wb['menu_del_txt'] = 'Remover o menu e todos os seus itens?';
-$wb['item_del_txt'] = 'Remover o item de menu?';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_edit.lng b/interface/web/designer/lib/lang/pt_module_edit.lng
deleted file mode 100644
index e52cf38..0000000
--- a/interface/web/designer/lib/lang/pt_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Nome do Módulo';
-$wb['title_txt'] = 'Título do Módulo';
-$wb['template_txt'] = 'Ficheiro de Template';
-$wb['navframe_txt'] = 'Frame de Navegação';
-$wb['startpage_txt'] = 'Página Padrão';
-$wb['tab_width_txt'] = 'Tamanho da Aba';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-$wb['header_txt'] = 'Propriedades do Módulo';
-$wb['description_txt'] = '
-<b>Descrição</b>
-<br><br>
-<b>Nome do Módulo:</b> Nome da pasta do módulo. Apenas números, letras e underscores são permitidos.<br>
-<b>Título do Módulo:</b> Será exibido em caixa alta no menu de navegação.<br>
-<b>Ficheiro de Template:</b> Ficheiros de Template do Módulo Disponível: modulo.tpl.htm e modulo_tree.tpl.htm. O padrão é modulo.tpl.htm.<br>
-<b>Frame de Navegação:</b> Se modulo_tree.tpl.htm foi seleccionado como ficheiro de template, insira aqui a pasta do script para o frame a esquerda.<br>
-<b>Página Padrão:</b> Esta página será exibida quando o módulo for aberto.<br>
-<b>Tamanho da Aba:</b> Tamanho das abas na navegação principal. Este campo fica em branco por padrão. Pode fornecer valores absolutos em pixels (ex.: 20) ou valores relativos (ex.: 20%).<br>
-<b>Dica:</b> Todos as pastas são relativas à pasta web.
-';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_list.lng b/interface/web/designer/lib/lang/pt_module_list.lng
deleted file mode 100644
index 822263a..0000000
--- a/interface/web/designer/lib/lang/pt_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Módulo do Backend';
-$wb['module_txt'] = 'Módulo';
-$wb['title_txt'] = 'Título';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_nav_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_edit.lng
deleted file mode 100644
index 761fe0a..0000000
--- a/interface/web/designer/lib/lang/pt_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng b/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
deleted file mode 100644
index 745a123..0000000
--- a/interface/web/designer/lib/lang/pt_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Título';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Propriedades de Navegação';
-$wb['save_txt'] = 'Guardar';
-$wb['cancel_txt'] = 'Cancelar';
-?>
diff --git a/interface/web/designer/lib/lang/pt_module_show.lng b/interface/web/designer/lib/lang/pt_module_show.lng
deleted file mode 100644
index 222fb51..0000000
--- a/interface/web/designer/lib/lang/pt_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Editor de Menu';
-$wb['title_txt'] = 'Título';
-$wb['name_txt'] = 'Módulo';
-$wb['delete_txt'] = 'Remover';
-$wb['properties_txt'] = 'Propriedades';
-$wb['new_menu_txt'] = 'Novo Menu';
-$wb['edit_txt'] = 'Editar';
-$wb['new_txt'] = 'Novo';
-$wb['up_txt'] = 'Subir';
-$wb['down_txt'] = 'Descer';
-$wb['module_txt'] = 'Módulo';
-$wb['module_del_txt'] = 'Deseja eliminar este módulo e todos os ficheiros contidos na pasta?';
-$wb['menu_del_txt'] = 'Deseja apagar este menu e todos seus elementos?';
-$wb['item_del_txt'] = 'Deseja apagar este elemento do menu?';
-?>
diff --git a/interface/web/designer/lib/lang/ro.lng b/interface/web/designer/lib/lang/ro.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/ro.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_edit.lng b/interface/web/designer/lib/lang/ro_form_edit.lng
deleted file mode 100644
index a99b975..0000000
--- a/interface/web/designer/lib/lang/ro_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formname';
-$wb['title_txt'] = 'Formutitle';
-$wb['template_txt'] = 'Template';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Startpagina';
-$wb['tab_width_txt'] = 'Tab latime';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Cancel';
-$wb['header_txt'] = 'Form proprietati';
-$wb['description_txt'] = 'Descriere';
-$wb['action_txt'] = 'Actiune (script)';
-$wb['db_table_txt'] = 'DB Table';
-$wb['db_table_idx_txt'] = 'DB Table Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Default Tab';
-$wb['list_default_txt'] = 'Default Liste';
-$wb['auth_txt'] = 'Permisiuni';
-$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. Altele';
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_list.lng b/interface/web/designer/lib/lang/ro_form_list.lng
deleted file mode 100644
index 49b9d5e..0000000
--- a/interface/web/designer/lib/lang/ro_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Form';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titlu';
-$wb['description_txt'] = 'Descriere';
-?>
diff --git a/interface/web/designer/lib/lang/ro_form_show.lng b/interface/web/designer/lib/lang/ro_form_show.lng
deleted file mode 100644
index 9cc5e71..0000000
--- a/interface/web/designer/lib/lang/ro_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'editor de formular';
-$wb['title_txt'] = 'Titlu formular';
-$wb['name_txt'] = 'nume formular';
-$wb['delete_txt'] = 'sterge';
-$wb['properties_txt'] = 'Proprietati';
-$wb['new_tab_txt'] = 'Un nou Tab ';
-$wb['edit_txt'] = 'Editeaza';
-$wb['new_txt'] = 'Nou';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Module';
-$wb['form_txt'] = 'Formular';
-$wb['description_txt'] = 'Descriere';
-$wb['module_del_txt'] = 'Sterge module si toate subdirectoarele ?';
-$wb['menu_del_txt'] = 'Sterge menu si obiectele din menu ?';
-$wb['item_del_txt'] = 'sterge obiectele din menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_edit.lng b/interface/web/designer/lib/lang/ro_module_edit.lng
deleted file mode 100644
index 327550f..0000000
--- a/interface/web/designer/lib/lang/ro_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulename';
-$wb['title_txt'] = 'Moduletitle';
-$wb['template_txt'] = 'Template file';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Default page';
-$wb['tab_width_txt'] = 'Tab width';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-$wb['header_txt'] = 'Module proprietati';
-$wb['description_txt'] = '<b>Description</b> <br><br> <b>Modulename:</b> Name of the module directory. Only numbers, chars and underscore allowed.<br> <b>Moduletitle:</b> Will be shown in the (upper) main navigation.<br> <b>Template file:</b> Template file of the module. Currently available: module.tpl.htm and module_tree.tpl.htm. Default is module.tpl.htm.<br> <b>NaviFrame:</b> If module_tree.tpl.htm selected as template file, enter here the path to the script file for the left frame.<br> <b>Default page:</b> These page will be shown when the module is opened.<br> <b>Tab width:</b> Width of the Tabs in the main navigation. The field is empty by default. You can enter values absolute in pixel (e.g 20) or relative (e.g 20%).<br> <b>Hint:</b> All paths are relative to the directory ';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_list.lng b/interface/web/designer/lib/lang/ro_module_list.lng
deleted file mode 100644
index c53b556..0000000
--- a/interface/web/designer/lib/lang/ro_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Module';
-$wb['module_txt'] = 'Module';
-$wb['title_txt'] = 'Titlu';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_nav_edit.lng b/interface/web/designer/lib/lang/ro_module_nav_edit.lng
deleted file mode 100644
index ee6bf54..0000000
--- a/interface/web/designer/lib/lang/ro_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titlu';
-$wb['header_txt'] = 'Proprietati Navi ';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng
deleted file mode 100644
index 9b7d60d..0000000
--- a/interface/web/designer/lib/lang/ro_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titlu';
-$wb['target_txt'] = 'Target';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi Proprietati';
-$wb['save_txt'] = 'Salveaza';
-$wb['cancel_txt'] = 'Anuleaza';
-?>
diff --git a/interface/web/designer/lib/lang/ro_module_show.lng b/interface/web/designer/lib/lang/ro_module_show.lng
deleted file mode 100644
index 2fb748c..0000000
--- a/interface/web/designer/lib/lang/ro_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Titlu';
-$wb['name_txt'] = 'Module';
-$wb['delete_txt'] = 'Sterge';
-$wb['properties_txt'] = 'Proprietati';
-$wb['new_menu_txt'] = 'Menu nou';
-$wb['edit_txt'] = 'Editare';
-$wb['new_txt'] = 'Nou';
-$wb['up_txt'] = 'SUS';
-$wb['down_txt'] = 'JOS';
-$wb['module_txt'] = 'Module';
-$wb['module_del_txt'] = 'Doriti sa stergeti modul ?';
-$wb['menu_del_txt'] = 'Doriti sa stergeti menu cu toate item-urile ?';
-$wb['item_del_txt'] = 'Doriti sa stergeti item-ul din menu ?';
-?>
diff --git a/interface/web/designer/lib/lang/ru.lng b/interface/web/designer/lib/lang/ru.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/ru.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_edit.lng b/interface/web/designer/lib/lang/ru_form_edit.lng
deleted file mode 100644
index 36c0bf4..0000000
--- a/interface/web/designer/lib/lang/ru_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Название формы';
-$wb['title_txt'] = 'Заголовок формы';
-$wb['template_txt'] = 'Шаблон';
-$wb['navframe_txt'] = 'Навигация';
-$wb['startpage_txt'] = 'Стартовая страница';
-$wb['tab_width_txt'] = 'Ширина таба';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-$wb['header_txt'] = 'Свойства формы';
-$wb['description_txt'] = 'Описание';
-$wb['action_txt'] = 'Действие (скрипт)';
-$wb['db_table_txt'] = 'Таблица БД';
-$wb['db_table_idx_txt'] = 'Индекс таблицы БД';
-$wb['db_history_txt'] = 'Undo-лог';
-$wb['tab_default_txt'] = 'Таб по-умолчанию';
-$wb['list_default_txt'] = 'Список по-умолчанию';
-$wb['auth_txt'] = 'Права';
-$wb['auth_preset_userid_txt'] = 'ПользовательID';
-$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';
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_list.lng b/interface/web/designer/lib/lang/ru_form_list.lng
deleted file mode 100644
index 3db8db8..0000000
--- a/interface/web/designer/lib/lang/ru_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend форма';
-$wb['form_txt'] = 'Форма';
-$wb['module_txt'] = 'Модуль';
-$wb['title_txt'] = 'Заголовок';
-$wb['description_txt'] = 'Описание';
-?>
diff --git a/interface/web/designer/lib/lang/ru_form_show.lng b/interface/web/designer/lib/lang/ru_form_show.lng
deleted file mode 100644
index 8b0132b..0000000
--- a/interface/web/designer/lib/lang/ru_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор форм';
-$wb['title_txt'] = 'Заголовок форм';
-$wb['name_txt'] = 'Имя формы';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Свойства';
-$wb['new_tab_txt'] = 'Новый таб';
-$wb['edit_txt'] = 'Изменить';
-$wb['new_txt'] = 'Новый';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Модуль';
-$wb['form_txt'] = 'Форма';
-$wb['description_txt'] = 'Описание';
-$wb['module_del_txt'] = 'Удалить модули и подкаталоги?';
-$wb['menu_del_txt'] = 'Удалить меню и подменю?';
-$wb['item_del_txt'] = 'Удалить menuitem?';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_edit.lng b/interface/web/designer/lib/lang/ru_module_edit.lng
deleted file mode 100644
index b7c2aaf..0000000
--- a/interface/web/designer/lib/lang/ru_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Название модуля';
-$wb['title_txt'] = 'Заголовок модуля';
-$wb['template_txt'] = 'Файл шаблона';
-$wb['navframe_txt'] = 'Навигационный фрейм';
-$wb['startpage_txt'] = 'Страница по-умолчанию';
-$wb['tab_width_txt'] = 'Ширина таба';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-$wb['header_txt'] = 'Свойства модуля';
-$wb['description_txt'] = '
-<b>Описание</b>
-<br><br>
-<b>Имя модуля:</b> Имя директории модуля. Допустимо использовать латинские символы, числа и подчеркивание.<br>
-<b>Заголовок модуля:</b> Будет отображаться вверху радом с навигацией.<br>
-<b>Файл шаблона:</b> Файл шаблона для модуля. Сейчас доступны: module.tpl.htm и module_tree.tpl.htm. По-умолчанию стоит module.tpl.htm.<br>
-<b>Навигационный фрейм:</b> Если module_tree.tpl.htm выбран как шаблон, введите здесь путь до скрипта для левого фрейма.<br>
-<b>Страница по-умолчанию:</b> Эта страница будет показана, когда открывается модуль.<br>
-<b>Ширина таба:</b> Ширина таба в главной навигации. По-умолчанию поле пустое. Вы можете ввести значение в пикселях или в процентах.<br>
-<b>Подсказка:</b> Все пути в директории web относительные.
-';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_list.lng b/interface/web/designer/lib/lang/ru_module_list.lng
deleted file mode 100644
index 2401318..0000000
--- a/interface/web/designer/lib/lang/ru_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend модуль';
-$wb['module_txt'] = 'Модуль';
-$wb['title_txt'] = 'Заголовок';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_nav_edit.lng b/interface/web/designer/lib/lang/ru_module_nav_edit.lng
deleted file mode 100644
index 6fb4cc7..0000000
--- a/interface/web/designer/lib/lang/ru_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заголовок';
-$wb['header_txt'] = 'Свойства навигации';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Отмена';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng b/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng
deleted file mode 100644
index ab458ee..0000000
--- a/interface/web/designer/lib/lang/ru_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Заголовок';
-$wb['target_txt'] = 'Цель';
-$wb['link_txt'] = 'Линк';
-$wb['header_txt'] = 'Navi свойства';
-$wb['save_txt'] = 'Сохранить';
-$wb['cancel_txt'] = 'Закончить';
-?>
diff --git a/interface/web/designer/lib/lang/ru_module_show.lng b/interface/web/designer/lib/lang/ru_module_show.lng
deleted file mode 100644
index 25dc983..0000000
--- a/interface/web/designer/lib/lang/ru_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Редактор меню';
-$wb['title_txt'] = 'Заголовок';
-$wb['name_txt'] = 'Модуль';
-$wb['delete_txt'] = 'Удалить';
-$wb['properties_txt'] = 'Свойства';
-$wb['new_menu_txt'] = 'Новое меню';
-$wb['edit_txt'] = 'Изменить';
-$wb['new_txt'] = 'Новый';
-$wb['up_txt'] = 'Вверх';
-$wb['down_txt'] = 'Вниз';
-$wb['module_txt'] = 'Модуль';
-$wb['module_del_txt'] = 'Хотите удалить модуль и все, что относится к нему?';
-$wb['menu_del_txt'] = 'Хотите удалить меню вместе с пунктами?';
-$wb['item_del_txt'] = 'Хотите удалить пункт меню?';
-?>
diff --git a/interface/web/designer/lib/lang/se.lng b/interface/web/designer/lib/lang/se.lng
deleted file mode 100644
index 29f4a51..0000000
--- a/interface/web/designer/lib/lang/se.lng
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-?>
-
diff --git a/interface/web/designer/lib/lang/se_form_edit.lng b/interface/web/designer/lib/lang/se_form_edit.lng
deleted file mode 100644
index 72d80e5..0000000
--- a/interface/web/designer/lib/lang/se_form_edit.lng
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-$wb['name_txt'] = 'Formulärnamn';
-$wb['title_txt'] = 'Formulärtitel';
-$wb['template_txt'] = 'Mall';
-$wb['navframe_txt'] = 'Nav.ram';
-$wb['startpage_txt'] = 'Startsida';
-$wb['tab_width_txt'] = 'Flik bredd';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-$wb['header_txt'] = 'Form inställningar';
-$wb['description_txt'] = 'Beskrivning';
-$wb['action_txt'] = 'Action (skript)';
-$wb['db_table_txt'] = 'DB Tabell';
-$wb['db_table_idx_txt'] = 'DB Tabell Index';
-$wb['db_history_txt'] = 'Ångra Logg';
-$wb['tab_default_txt'] = 'Standard Flik';
-$wb['list_default_txt'] = 'Standard Lista';
-$wb['auth_txt'] = 'Behörighet';
-$wb['auth_preset_userid_txt'] = 'AnvändarID';
-$wb['auth_preset_groupid_txt'] = 'GruppID';
-$wb['auth_preset_perm_user_txt'] = 'Beh. Användare';
-$wb['auth_preset_perm_group_txt'] = 'Beh. Grupp';
-$wb['auth_preset_perm_other_txt'] = 'Beh. Andra';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_form_list.lng b/interface/web/designer/lib/lang/se_form_list.lng
deleted file mode 100644
index 7951bb7..0000000
--- a/interface/web/designer/lib/lang/se_form_list.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Huvudformulär';
-$wb['form_txt'] = 'Formulär';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titel';
-$wb['description_txt'] = 'Beskrivning';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_form_show.lng b/interface/web/designer/lib/lang/se_form_show.lng
deleted file mode 100644
index 1d5de49..0000000
--- a/interface/web/designer/lib/lang/se_form_show.lng
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulärredigerare';
-$wb['title_txt'] = 'Formulärtitel';
-$wb['name_txt'] = 'Formulärnamn';
-$wb['delete_txt'] = 'X';
-$wb['properties_txt'] = 'Inställningar';
-$wb['new_tab_txt'] = 'Ny flik';
-$wb['edit_txt'] = 'Redigera';
-$wb['new_txt'] = 'Ny';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formulär';
-$wb['description_txt'] = 'Beskrivning';
-$wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
-$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
-$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_module_edit.lng b/interface/web/designer/lib/lang/se_module_edit.lng
deleted file mode 100644
index 992a074..0000000
--- a/interface/web/designer/lib/lang/se_module_edit.lng
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modulnamn';
-$wb['title_txt'] = 'Modultitel';
-$wb['template_txt'] = 'Mallfil';
-$wb['navframe_txt'] = 'Nav.Ram';
-$wb['startpage_txt'] = 'Standardsida';
-$wb['tab_width_txt'] = 'Flikbredd';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-$wb['header_txt'] = 'Modulinställningar';
-$wb['description_txt'] = '<b>Description</b><br><br><b>Modulename:</b> Namn på modul mappen. Endast siffror, bokstäver och understreck är tillåtna.<br><b>Moduletitle:</b> Kommer att visas i (övre) huvud navigerigsramen.<br><b>Template file:</b> Mall fil för modulen. Just nu finns: module.tpl.htm och module_tree.tpl.htm. Standard är module.tpl.htm.<br><b>NaviFrame:</b> Om module module_tree.tpl.htm väljs som mall file, skriv här sökvägen till skriptfilen för den vänstra ramen.<br><b>Default page:</b> Dessa sidor kommer att visas när modulen öppnas.<br><b>Tab width:</b> Bredd på Flikarna i huvud navigerings ramen. Detta fält är tomt som standard. Du kan skriva in ett absolutvärde i pixlar (ex. 20) eller relativt värde (ex. 20%).<br><b>Hint:</b> Alla sökvägar är relativa till mappen web.';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_module_list.lng b/interface/web/designer/lib/lang/se_module_list.lng
deleted file mode 100644
index d8408e2..0000000
--- a/interface/web/designer/lib/lang/se_module_list.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Huvudmodul';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Titel';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_module_nav_edit.lng b/interface/web/designer/lib/lang/se_module_nav_edit.lng
deleted file mode 100644
index 28bf0ac..0000000
--- a/interface/web/designer/lib/lang/se_module_nav_edit.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['header_txt'] = 'Nav-egenskaper';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng b/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
deleted file mode 100644
index b9f8639..0000000
--- a/interface/web/designer/lib/lang/se_module_nav_item_edit.lng
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titel';
-$wb['target_txt'] = 'Mål';
-$wb['link_txt'] = 'Länk';
-$wb['header_txt'] = 'Nav. egenskaper';
-$wb['save_txt'] = 'Spara';
-$wb['cancel_txt'] = 'Avbryt';
-?>
-
diff --git a/interface/web/designer/lib/lang/se_module_show.lng b/interface/web/designer/lib/lang/se_module_show.lng
deleted file mode 100644
index 497a62d..0000000
--- a/interface/web/designer/lib/lang/se_module_show.lng
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menyredigerare';
-$wb['title_txt'] = 'Titel';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Ta bort';
-$wb['properties_txt'] = 'Egenskaper';
-$wb['new_menu_txt'] = 'Ny meny';
-$wb['edit_txt'] = 'Redigera';
-$wb['new_txt'] = 'Ny';
-$wb['up_txt'] = 'Upp';
-$wb['down_txt'] = 'Ner';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Ta bort modulen och alla undermappar?';
-$wb['menu_del_txt'] = 'Ta bort meny och allt menyinnehåll?';
-$wb['item_del_txt'] = 'Ta bort menyinnehåll?';
-?>
-
diff --git a/interface/web/designer/lib/lang/sk.lng b/interface/web/designer/lib/lang/sk.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/sk.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_edit.lng b/interface/web/designer/lib/lang/sk_form_edit.lng
deleted file mode 100644
index a659c14..0000000
--- a/interface/web/designer/lib/lang/sk_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Názov formulára';
-$wb['title_txt'] = 'Názov formulára';
-$wb['template_txt'] = 'Šablóny';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Úvodná stránka';
-$wb['tab_width_txt'] = 'Tab šírka';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-$wb['header_txt'] = 'Vlastnosti formulára';
-$wb['description_txt'] = 'Popis';
-$wb['action_txt'] = 'Akcie (skript)';
-$wb['db_table_txt'] = 'DB Tabulky';
-$wb['db_table_idx_txt'] = 'DB Tabulky Index';
-$wb['db_history_txt'] = 'Undo Log';
-$wb['tab_default_txt'] = 'Predvolený Tab';
-$wb['list_default_txt'] = 'Predvolený List';
-$wb['auth_txt'] = 'Práva';
-$wb['auth_preset_userid_txt'] = 'uživateľ ID';
-$wb['auth_preset_groupid_txt'] = 'skupina ID';
-$wb['auth_preset_perm_user_txt'] = 'Práva uživateľa';
-$wb['auth_preset_perm_group_txt'] = 'Práva skupina';
-$wb['auth_preset_perm_other_txt'] = 'Práva ostatný';
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_list.lng b/interface/web/designer/lib/lang/sk_form_list.lng
deleted file mode 100644
index 262de0b..0000000
--- a/interface/web/designer/lib/lang/sk_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Backend Formulár';
-$wb['form_txt'] = 'Formulár';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Nadpis';
-$wb['description_txt'] = 'Popis';
-?>
diff --git a/interface/web/designer/lib/lang/sk_form_show.lng b/interface/web/designer/lib/lang/sk_form_show.lng
deleted file mode 100644
index 4b86451..0000000
--- a/interface/web/designer/lib/lang/sk_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Formulár editor';
-$wb['title_txt'] = 'Formulár stránok';
-$wb['name_txt'] = 'Názov formulára';
-$wb['delete_txt'] = 'Odstrániť';
-$wb['properties_txt'] = 'Vlastnosti';
-$wb['new_tab_txt'] = 'Tab nové';
-$wb['edit_txt'] = 'Upraviť';
-$wb['new_txt'] = 'Nové';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modul';
-$wb['form_txt'] = 'Formulár';
-$wb['description_txt'] = 'Popis';
-$wb['module_del_txt'] = 'Odstrániť modul a vo všetky podadresáre?';
-$wb['menu_del_txt'] = 'Zmazať z ponuky položky menu?';
-$wb['item_del_txt'] = 'Zmazať položky z menu?';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_edit.lng b/interface/web/designer/lib/lang/sk_module_edit.lng
deleted file mode 100644
index 5daf4ff..0000000
--- a/interface/web/designer/lib/lang/sk_module_edit.lng
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-$wb['name_txt'] = 'Meno modulu';
-$wb['title_txt'] = 'Názov modulu';
-$wb['template_txt'] = 'Šablóna súbor';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Výchozia stránka';
-$wb['tab_width_txt'] = 'Tab šírka';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-$wb['header_txt'] = 'Modul vlastnosti';
-$wb['description_txt'] = '<b> Popis </ b> <br> <br> <b> Modulename: </ b> Názov modulu adresár. Len čísla, znaky a podtržítko povolené. <br> <b> Moduletitle: </ b> sa objaví v (hornej) navigáciu. <br> <b> Šablóna súboru: </ b> Šablóna súboru modulu. V súčasnej dobe sú k dispozícii';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_list.lng b/interface/web/designer/lib/lang/sk_module_list.lng
deleted file mode 100644
index 70eb44d..0000000
--- a/interface/web/designer/lib/lang/sk_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Modul backend';
-$wb['module_txt'] = 'Modul';
-$wb['title_txt'] = 'Názov';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_nav_edit.lng b/interface/web/designer/lib/lang/sk_module_nav_edit.lng
deleted file mode 100644
index 7bfa900..0000000
--- a/interface/web/designer/lib/lang/sk_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Názov';
-$wb['header_txt'] = 'Navi vlastnosti';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng b/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng
deleted file mode 100644
index 8fcfddd..0000000
--- a/interface/web/designer/lib/lang/sk_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Titulok';
-$wb['target_txt'] = 'Cieľ';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi vlastnosti';
-$wb['save_txt'] = 'Uložiť';
-$wb['cancel_txt'] = 'Zrušiť';
-?>
diff --git a/interface/web/designer/lib/lang/sk_module_show.lng b/interface/web/designer/lib/lang/sk_module_show.lng
deleted file mode 100644
index e3f1916..0000000
--- a/interface/web/designer/lib/lang/sk_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menu editor';
-$wb['title_txt'] = 'Názov';
-$wb['name_txt'] = 'Modul';
-$wb['delete_txt'] = 'Zmazať';
-$wb['properties_txt'] = 'Vlastnosti';
-$wb['new_menu_txt'] = 'Menu nové';
-$wb['edit_txt'] = 'Upraviť';
-$wb['new_txt'] = 'Nový';
-$wb['up_txt'] = 'Hore';
-$wb['down_txt'] = 'Dolu';
-$wb['module_txt'] = 'Modul';
-$wb['module_del_txt'] = 'Chcete zmazat modul?';
-$wb['menu_del_txt'] = 'Chcete zmazat menu?';
-$wb['item_del_txt'] = 'Chcete zmazat položku?';
-?>
diff --git a/interface/web/designer/lib/lang/tr.lng b/interface/web/designer/lib/lang/tr.lng
deleted file mode 100644
index acb6c35..0000000
--- a/interface/web/designer/lib/lang/tr.lng
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_edit.lng b/interface/web/designer/lib/lang/tr_form_edit.lng
deleted file mode 100644
index 8288ce8..0000000
--- a/interface/web/designer/lib/lang/tr_form_edit.lng
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-$wb['name_txt'] = 'Form adı';
-$wb['title_txt'] = 'Form başlığı';
-$wb['template_txt'] = 'Şablon';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'İlk sayfa';
-$wb['tab_width_txt'] = 'Sekme genişliği';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'İptal';
-$wb['header_txt'] = 'Form Özellikleri';
-$wb['description_txt'] = 'Açıklama';
-$wb['action_txt'] = 'İşlem (betik)';
-$wb['db_table_txt'] = 'DB Tablo';
-$wb['db_table_idx_txt'] = 'DB Tablo Indeks';
-$wb['db_history_txt'] = 'Logu Geri al';
-$wb['tab_default_txt'] = 'Varsayılan Sekme';
-$wb['list_default_txt'] = 'Varsayılan Liste';
-$wb['auth_txt'] = 'Yetkiler';
-$wb['auth_preset_userid_txt'] = 'KullanıcıID';
-$wb['auth_preset_groupid_txt'] = 'GrupID';
-$wb['auth_preset_perm_user_txt'] = 'Yetkili Kullanıcı';
-$wb['auth_preset_perm_group_txt'] = 'Yetkili Grup';
-$wb['auth_preset_perm_other_txt'] = 'Diğer Yetkililer';
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_list.lng b/interface/web/designer/lib/lang/tr_form_list.lng
deleted file mode 100644
index 54aa1f4..0000000
--- a/interface/web/designer/lib/lang/tr_form_list.lng
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Arkaplan Formu';
-$wb['form_txt'] = 'Form';
-$wb['module_txt'] = 'Modül';
-$wb['title_txt'] = 'Başlık';
-$wb['description_txt'] = 'Açıklama';
-?>
diff --git a/interface/web/designer/lib/lang/tr_form_show.lng b/interface/web/designer/lib/lang/tr_form_show.lng
deleted file mode 100644
index 8efa1df..0000000
--- a/interface/web/designer/lib/lang/tr_form_show.lng
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-$wb['header_txt'] = 'Form editörü';
-$wb['title_txt'] = 'Form başlığı';
-$wb['name_txt'] = 'Form ismi';
-$wb['delete_txt'] = 'Sil';
-$wb['properties_txt'] = 'Özellikler';
-$wb['new_tab_txt'] = 'Yeni sekme';
-$wb['edit_txt'] = 'Düzenle';
-$wb['new_txt'] = 'Yeni';
-$wb['up_txt'] = '^';
-$wb['down_txt'] = 'v';
-$wb['module_txt'] = 'Modül';
-$wb['form_txt'] = 'Form';
-$wb['description_txt'] = 'Açıklama';
-$wb['module_del_txt'] = 'Bu modülü ve tüm alt dizinlerini silmek istiyor musunuz?';
-$wb['menu_del_txt'] = 'Bu menüyü tüm alt menüleriyle birlikte silmek istiyor musunuz?';
-$wb['item_del_txt'] = 'Bu menü elemanını silmek istiyor musunuz?';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_edit.lng b/interface/web/designer/lib/lang/tr_module_edit.lng
deleted file mode 100644
index 92bf93d..0000000
--- a/interface/web/designer/lib/lang/tr_module_edit.lng
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-$wb['name_txt'] = 'Modül adı';
-$wb['title_txt'] = 'Modül başlığı';
-$wb['template_txt'] = 'Şablon dosyası';
-$wb['navframe_txt'] = 'NaviFrame';
-$wb['startpage_txt'] = 'Varsayılan sayfa';
-$wb['tab_width_txt'] = 'Sekme genişliği';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'İptal';
-$wb['header_txt'] = 'Modül özellikleri';
-$wb['description_txt'] = '
-<b>Açıklama</b>
-<br><br>
-<b>Modül adı:</b> Modül klasörünün adı. Sadece sayı, rakam ve alttan çizgi kullanabilirsiniz.<br>
-<b>Modül başlığı:</b> Üst ana menüde gösterilecek olan isim.<br>
-<b>Şablon dosyası:</b> Şablon dosyası veya modülü. Şu anda geçerli olan dosyalar: module.tpl.htm ve module_tree.tpl.htm. Varsayılan dosya: module.tpl.htm.<br>
-<b>NaviFrame:</b> Eğer module_tree.tpl.htm dosyası şablon dosyası olarak seçilirse, buraya sol frame için betik dosyası yolu girebilirsiniz.<br>
-<b>Varsayılan sayfa:</b> Modül açıldığı zaman görünecek sayfa.<br>
-<b>Sekme Genişliği:</b> Temel navigasyonun genişliği. Bu alan varsayılan olarak boştur. Siz bir piksel değeri(20 gibi) veya bir oran(20%) değeri girebilirsiniz.<br>
-<b>İşaret:</b> Tüm yollar web klasörüyle ilişkilidir..
-';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_list.lng b/interface/web/designer/lib/lang/tr_module_list.lng
deleted file mode 100644
index 08c5787..0000000
--- a/interface/web/designer/lib/lang/tr_module_list.lng
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-$wb['list_head_txt'] = 'Arkaplan Modülü';
-$wb['module_txt'] = 'Modül';
-$wb['title_txt'] = 'Başlık';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_nav_edit.lng b/interface/web/designer/lib/lang/tr_module_nav_edit.lng
deleted file mode 100644
index fd10993..0000000
--- a/interface/web/designer/lib/lang/tr_module_nav_edit.lng
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$wb['title_txt'] = 'Başlık';
-$wb['header_txt'] = 'Navi özellikleri';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'İptal';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng b/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng
deleted file mode 100644
index 06fe57e..0000000
--- a/interface/web/designer/lib/lang/tr_module_nav_item_edit.lng
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-$wb['title_txt'] = 'Başlık';
-$wb['target_txt'] = 'Hedef';
-$wb['link_txt'] = 'Link';
-$wb['header_txt'] = 'Navi özellikleri';
-$wb['save_txt'] = 'Kaydet';
-$wb['cancel_txt'] = 'İptal';
-?>
diff --git a/interface/web/designer/lib/lang/tr_module_show.lng b/interface/web/designer/lib/lang/tr_module_show.lng
deleted file mode 100644
index a40c074..0000000
--- a/interface/web/designer/lib/lang/tr_module_show.lng
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-$wb['header_txt'] = 'Menü editörü';
-$wb['title_txt'] = 'Başlık';
-$wb['name_txt'] = 'Modül';
-$wb['delete_txt'] = 'Sil';
-$wb['properties_txt'] = 'Özellikler';
-$wb['new_menu_txt'] = 'Yeni Menü';
-$wb['edit_txt'] = 'Düzenle';
-$wb['new_txt'] = 'Yeni';
-$wb['up_txt'] = 'Yukarı';
-$wb['down_txt'] = 'Aşağı';
-$wb['module_txt'] = 'Modül';
-$wb['module_del_txt'] = 'Wollen Sie das Modul und alle im Modul angelegten Dateien und Unterverzeichnisse löschen?';
-$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/module.conf.php b/interface/web/designer/lib/module.conf.php
deleted file mode 100644
index 6104f49..0000000
--- a/interface/web/designer/lib/module.conf.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-$module = array (
- 'name' => 'designer',
- 'title' => 'BE Designer',
- 'template' => 'module.tpl.htm',
- 'navframe_page' => '',
- 'startpage' => 'designer/module_list.php',
- 'tab_width' => '',
- 'nav' =>
- array (
- 0 =>
- array (
- 'title' => 'Modules',
- 'open' => '1',
- 'items' =>
- array (
- 0 =>
- array (
- 'title' => 'Add',
- 'target' => 'content',
- 'link' => 'designer/module_edit.php',
- ),
- 1 =>
- array (
- 'title' => 'Edit',
- 'target' => 'content',
- 'link' => 'designer/module_list.php',
- ),
- ),
- ),
- /*
- 1 =>
- array (
- 'title' => 'Formulare',
- 'open' => '1',
- 'items' =>
- array (
- 2 =>
- array (
- 'title' => 'Add',
- 'target' => 'content',
- 'link' => 'designer/form_edit.php',
- ),
- 3 =>
- array (
- 'title' => 'Edit',
- 'target' => 'content',
- 'link' => 'designer/form_list.php',
- ),
- ),
- ),
- 2 =>
- array (
- 'title' => 'Lists',
- 'open' => '1',
- 'items' =>
- array (
- 4 =>
- array (
- 'title' => 'Add',
- 'target' => 'content',
- 'link' => 'designer/list_edit.php',
- ),
- 5 =>
- array (
- 'title' => 'Edit',
- 'target' => 'content',
- 'link' => 'designer/list_list.php',
- ),
- ),
- ),
- 3 =>
- array (
- 'title' => 'Languages',
- 'open' => '1',
- 'items' =>
- array (
- 6 =>
- array (
- 'title' => 'Add',
- 'target' => 'content',
- 'link' => 'designer/lang_edit.php',
- ),
- 7 =>
- array (
- 'title' => 'Edit',
- 'target' => 'content',
- 'link' => 'designer/lang_list.php',
- ),
- ),
- ),
- */
- ),
-)
-?>
diff --git a/interface/web/designer/list/empty.dir b/interface/web/designer/list/empty.dir
deleted file mode 100644
index 95ba9ef..0000000
--- a/interface/web/designer/list/empty.dir
+++ /dev/null
@@ -1 +0,0 @@
-This empty directory is needed by ISPConfig.
diff --git a/interface/web/designer/module_edit.php b/interface/web/designer/module_edit.php
deleted file mode 100644
index af7dbb0..0000000
--- a/interface/web/designer/module_edit.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_edit.htm');
-
-// ID importieren
-$id = $_REQUEST["id"];
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $id)) die("id contains invalid chars.");
-
-if(count($_POST) > 1) {
- // Bestimme aktion
- if($id != '') {
- $action = 'UPDATE';
- } else {
- $action = 'INSERT';
- }
-
-
- if($error == '') {
-
- $id = $_POST["module"]["name"];
- if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $id)) die("id contains invalid chars.");
-
- $filename = "../".$id."/lib/module.conf.php";
- $module_new = $_POST["module"];
-
- if(@is_file($filename)) {
- include_once $filename;
- $navi = $module["nav"];
- unset($module);
- $module_new["nav"] = $navi;
- }
-
- $m = "<?php\r\n".'$module = '.var_export($module_new, true)."\r\n?>";
-
- // creating the module directories
- if(!@is_dir("../".$id)) mkdir("../".$id) or die("Cannot make directory: ../".$id);
- if(!@is_dir("../".$id."/lib")) mkdir("../".$id."/lib") or die("Cannot make directory: ../".$id."/lib");
- if(!@is_dir("../".$id."/lib/lang")) mkdir("../".$id."/lib/lang") or die("Cannot make directory: ../".$id."/lib/lang");
- if(!@is_dir("../".$id."/form")) mkdir("../".$id."/form") or die("Cannot make directory: ../".$id."/form");
- if(!@is_dir("../".$id."/list")) mkdir("../".$id."/list") or die("Cannot make directory: ../".$id."/list");
- if(!@is_dir("../".$id."/templates")) mkdir("../".$id."/templates") or die("Cannot make directory: ../".$id."/templates");
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
-
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
- // writing admin conf
- $admin_conf_filename = "../".$id."/lib/admin.conf.php";
- if(!is_file($admin_conf_filename)) {
- if (!$handle = fopen($admin_conf_filename, 'w')) {
- print "Cannot open file ($admin_conf_filename)";
- exit;
- }
-
- if (!fwrite($handle, "<?php\r\n?>")) {
- print "Cannot write to file ($admin_conf_filename)";
- exit;
- }
-
- fclose($handle);
- }
-
- // zu Liste springen
- header("Location: module_list.php");
- exit;
-
- } else {
- $app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
- $app->tpl->setVar($_POST);
- }
-}
-
-if($id != '') {
- // Datensatz besteht bereits
- // bestehenden Datensatz anzeigen
- if($error == '') {
- // es liegt ein Fehler vor
- include_once "../".$id."/lib/module.conf.php";
- //$navi = $module["nav"];
- unset($module["nav"]);
- $record = $module;
- } else {
- // ein Fehler
- $record = $_POST;
- //$navi = $_POST["nav"];
- unset($_POST["nav"]);
- }
- $record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
- // neuer datensatz
- if($error == '') {
- // es liegt ein Fehler vor
- $record["template"] = "module.tpl.htm";
- } else {
- // ein Fehler
- $record = $_POST;
- //$navi = $_POST["nav"];
- unset($_POST["nav"]);
-
- }
- $record["readonly"] = '';
-}
-
-$record["id"] = $id;
-
-/*
-// baue Modul navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-foreach($navi as $section) {
- $content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
- foreach($section["items"] as $item) {
- $content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- $content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
- $content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- $n2++;
- }
- $n1++;
-}
-
-$record["nav"] = $content;
-*/
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_module_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_list.php b/interface/web/designer/module_list.php
deleted file mode 100644
index b08707e..0000000
--- a/interface/web/designer/module_list.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/module_list.htm');
-
-//* Pick out modules
-$bgcolor = '#FFFFFF';
-$modules_list = array();
-$handle = @opendir(ISPC_WEB_PATH);
-while ($file = @readdir($handle)) {
- if ($file != '.' && $file != '..') {
- if(@is_dir(ISPC_WEB_PATH."/$file")) {
- if(is_file(ISPC_WEB_PATH."/$file/lib/module.conf.php") and $file != 'login') {
- include_once ISPC_WEB_PATH."/$file/lib/module.conf.php";
- $modules_list[] = array( 'module' => $module['name'],
- 'title' => $module['title'],
- 'bgcolor' => ($bgcolor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF'
- );
- }
- }
- }
-}
-
-$app->tpl->setLoop('records', $modules_list);
-
-//* loading language file
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_module_list.lng';
-include $lng_file;
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_del.php b/interface/web/designer/module_nav_del.php
deleted file mode 100644
index c5781d9..0000000
--- a/interface/web/designer/module_nav_del.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
- $filename = "../".$module_name."/lib/module.conf.php";
-
- if(!@is_file($filename)) die("File not found: $filename");
- include_once $filename;
-
- unset($module["nav"][$nav_id]);
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
-
- // zu Liste springen
- header("Location: module_show.php?id=$module_name");
- exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_edit.php b/interface/web/designer/module_nav_edit.php
deleted file mode 100644
index e7e63e1..0000000
--- a/interface/web/designer/module_nav_edit.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Security checkpoint
-if($_SESSION['s']['user']['typ'] != 'admin'){
- die('Admin permissions required.');
-}
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-//* Load template
-$app->uses('tpl');
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// TODO: Check module and nav_id for malicius chars, nav_id can be empty or any number, even 0
-$module_name = $_REQUEST['module_name'];
-$nav_id = $_REQUEST['nav_id'];
-
-//** Sanity checks of module
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)){
- die('module_name contains invalid chars.');
-}
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)){
- die('nav_id contains invalid chars.');
-}
-if(empty($module_name)){
- die('module is empty.');
-}
-
-if(count($_POST) > 0) {
- //* Determine Action
- $action = ($nav_id != '') ? 'UPDATE' : 'INSERT';
- $error = '';
-
- // TODO: Check variables
-
- if($error == '') {
-
- $filename = '../'.$module_name.'/lib/module.conf.php';
-
- if(!@is_file($filename)){
- die("File not found: $filename");
- }
- include_once $filename;
-
- $items = ($action == 'UPDATE') ? $module['nav'][$nav_id]['items'] : array();
-
- $tmp = array('title' => $_POST['nav']['title'],
- 'open' => 1,
- 'items' => $items);
-
- if($action == 'UPDATE') {
- $module['nav'][$nav_id] = $tmp;
- } else {
- $module['nav'][] = $tmp;
- }
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- //* writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- die("Cannot open file ($filename)");
- }
-
- if (!fwrite($handle, $m)) {
- die("Cannot write to file ($filename)");
- }
-
- fclose($handle);
-
-
- //* Jump to list
- header('Location: module_show.php?id='.urlencode($module_name));
- exit;
-
- } else {
- $app->tpl->setVar('error', '<b>Fehler:</b><br>'.$error);
- $app->tpl->setVar($_POST);
- }
-}
-
-if($nav_id != '') {
- //* Data record exists
- if($error == '') {
- include_once '../'.$module_name.'/lib/module.conf.php';
- $record = $module['nav'][$nav_id];
- } else {
- //* error
- $record = $_POST;
- }
- //$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
- //* New data record
- if($error == '') {
- //* es liegt kein Fehler vor
- } else {
- //* error
- $record = $_POST;
-
- }
- //$record["readonly"] = '';
-}
-
-$record['nav_id'] = $nav_id;
-$record['module_name'] = $module_name;
-
-$app->tpl->setVar($record);
-
-include_once 'lib/lang/'.$_SESSION['s']['language'].'_module_nav_edit.lng';
-$app->tpl->setVar($wb);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_flip.php b/interface/web/designer/module_nav_flip.php
deleted file mode 100644
index 09cdd17..0000000
--- a/interface/web/designer/module_nav_flip.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$dir = $_REQUEST["dir"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
- $filename = "../".$module_name."/lib/module.conf.php";
-
- if(!@is_file($filename)) die("File not found: $filename");
- include_once $filename;
-
- if($dir == 'up' and $nav_id > 0) {
- $tmp = $module["nav"][$nav_id - 1];
- $module["nav"][$nav_id - 1] = $module["nav"][$nav_id];
- $module["nav"][$nav_id] = $tmp;
- }
-
- if($dir == 'down' and $nav_id < count($module["nav"]) -1) {
- $tmp = $module["nav"][$nav_id + 1];
- $module["nav"][$nav_id + 1] = $module["nav"][$nav_id];
- $module["nav"][$nav_id] = $tmp;
- }
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
-
- // zu Liste springen
- echo "HEADER_REDIRECT:designer/module_show.php?id=$module_name";
- exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_item_del.php b/interface/web/designer/module_nav_item_del.php
deleted file mode 100644
index 66a17b5..0000000
--- a/interface/web/designer/module_nav_item_del.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
- $filename = "../".$module_name."/lib/module.conf.php";
-
- if(!@is_file($filename)) die("File not found: $filename");
- include_once $filename;
-
- unset($module["nav"][$nav_id]["items"][$item_id]);
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
-
- // zu Liste springen
- header("Location: module_show.php?id=$module_name");
- exit;
-}
-?>
diff --git a/interface/web/designer/module_nav_item_edit.php b/interface/web/designer/module_nav_item_edit.php
deleted file mode 100644
index 2faff74..0000000
--- a/interface/web/designer/module_nav_item_edit.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_item_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if(count($_POST) > 0) {
- // Bestimme aktion
- if($item_id != '') {
- $action = 'UPDATE';
- } else {
- $action = 'INSERT';
- }
-
- $error = '';
-
- // TODO: Check variables
-
-
- if($error == '') {
-
- $filename = "../".$module_name."/lib/module.conf.php";
-
- if(!@is_file($filename)) die("File not found: $filename");
- include_once $filename;
-
- $tmp = array('title' =>$_POST["title"],
- 'target' => $_POST["target"],
- 'link' => $_POST["link"]);
-
- if($action == 'UPDATE') {
- $module["nav"][$nav_id]["items"][$item_id] = $tmp;
- } else {
- $module["nav"][$nav_id]["items"][] = $tmp;
- }
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
-
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
-
- // zu Liste springen
- header("Location: module_show.php?id=$module_name");
- exit;
-
- } else {
- $app->tpl->setVar("error", "<b>Fehler:</b><br>".$error);
- $app->tpl->setVar($_POST);
- }
-}
-
-if($item_id != '') {
- // Datensatz besteht bereits
- // bestehenden Datensatz anzeigen
- if($error == '') {
- // es liegt ein Fehler vor
- include_once "../".$module_name."/lib/module.conf.php";
- $record = $module["nav"][$nav_id]["items"][$item_id];
- } else {
- // ein Fehler
- $record = $_POST;
- }
- //$record["readonly"] = 'style="background-color: #EEEEEE;" readonly';
-} else {
- // neuer datensatz
- if($error == '') {
- // es liegt kein Fehler vor
- $record["target"] = "content";
- } else {
- // ein Fehler
- $record = $_POST;
-
- }
- //$record["readonly"] = '';
-}
-
-$record["item_id"] = $item_id;
-$record["nav_id"] = $nav_id;
-$record["module_name"] = $module_name;
-
-$app->tpl->setVar($record);
-
-include_once "lib/lang/".$_SESSION["s"]["language"]."_module_nav_item_edit.lng";
-$app->tpl->setVar($wb);
-
-// Defaultwerte setzen
-$app->tpl_defaults();
-
-// Template parsen
-$app->tpl->pparse();
-
-?>
diff --git a/interface/web/designer/module_nav_item_flip.php b/interface/web/designer/module_nav_item_flip.php
deleted file mode 100644
index 94f210b..0000000
--- a/interface/web/designer/module_nav_item_flip.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-// Lade Template
-$app->uses('tpl');
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_nav_edit.htm');
-
-// ID importieren
-$module_name = $_REQUEST["module_name"];
-$nav_id = $_REQUEST["nav_id"];
-$item_id = $_REQUEST["item_id"];
-$dir = $_REQUEST["dir"];
-
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $module_name)) die("module_name contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{1,50}$/', $nav_id)) die("nav_id contains invalid chars.");
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $item_id)) die("item_id contains invalid chars.");
-
-if(empty($module_name)) die("module is empty.");
-
-if($nav_id != '') {
-
- $filename = "../".$module_name."/lib/module.conf.php";
-
- if(!@is_file($filename)) die("File not found: $filename");
- include_once $filename;
-
- if($dir == 'up' and $item_id > 0) {
- $tmp = $module["nav"][$nav_id]["items"][$item_id - 1];
- $module["nav"][$nav_id]["items"][$item_id -1] = $module["nav"][$nav_id]["items"][$item_id];
- $module["nav"][$nav_id]["items"][$item_id] = $tmp;
- }
-
- if($dir == 'down' and $item_id < count($module["nav"][$nav_id]["items"]) -1) {
- $tmp = $module["nav"][$nav_id]["items"][$item_id + 1];
- $module["nav"][$nav_id]["items"][$item_id + 1] = $module["nav"][$nav_id]["items"][$item_id];
- $module["nav"][$nav_id]["items"][$item_id] = $tmp;
- }
-
- $m = "<?php\r\n".'$module = '.var_export($module, true)."\r\n?>";
-
- // writing module.conf
- if (!$handle = fopen($filename, 'w')) {
- print "Cannot open file ($filename)";
- exit;
- }
- if (!fwrite($handle, $m)) {
- print "Cannot write to file ($filename)";
- exit;
- }
-
- fclose($handle);
-
-
- // zu Liste springen
- header("Location: module_show.php?id=$module_name");
- exit;
-}
-?>
diff --git a/interface/web/designer/module_show.php b/interface/web/designer/module_show.php
deleted file mode 100644
index f3e9812..0000000
--- a/interface/web/designer/module_show.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/*
-Copyright (c) 2005, 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.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('designer');
-
-if($_SESSION["s"]["user"]["typ"] != "admin") die("Admin permissions required.");
-
-$app->uses('tpl');
-
-$app->tpl->newTemplate("form.tpl.htm");
-$app->tpl->setInclude('content_tpl', 'templates/module_show.htm');
-
-
-$module_name = $_REQUEST["id"];
-if(!preg_match('/^[A-Za-z0-9_]{0,50}$/', $module_name)) die("id contains invalid chars.");
-
-include_once "../".$module_name."/lib/module.conf.php";
-$navi = $module["nav"];
-unset($module["nav"]);
-$record = $module;
-
-// loading language file
-$lng_file = "lib/lang/".$_SESSION["s"]["user"]["language"]."_module_show.lng";
-include $lng_file;
-$app->tpl->setVar($wb);
-
-// baue Modul navi
-$content = "";
-$n1 = 0;
-$n2 = 0;
-if(is_array($navi)) {
- foreach($navi as $nav_id => $section) {
- $content .= "<tr>
- <td colspan='2' class='frmText11'>
- <table width='100%'>
- <tr>
- <td class='tblHead'>$section[title]</td>
- <td class='tblHead' width='280' align='right'>
- <input type=\"button\" name=\"bt1$n2\" value=\"$wb[edit_txt]\" onclick=\"loadContent('designer/module_nav_edit.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt2$n2\" value=\"$wb[delete_txt]\" onclick=\"del_record('designer/module_nav_del.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt3$n2\" value=\"$wb[new_txt]\" onclick=\"loadContent('designer/module_nav_item_edit.php?module_name=$module_name&nav_id=$nav_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt4$n2\" value=\"$wb[up_txt]\" onclick=\"loadContent('designer/module_nav_flip.php?module_name=$module_name&nav_id=$nav_id&dir=up');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt5$n2\" value=\"$wb[down_txt]\" onclick=\"loadContent('designer/module_nav_flip.php?module_name=$module_name&nav_id=$nav_id&dir=down');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- </td>
- </tr>";
- //$content .= "<tr><td bgcolor='#EEEEEE' class='frmText11'>Bereich:</td><td class='frmText11' bgcolor='#EEEEEE'><input name=\"module[nav][$n1][title]\" type=\"text\" class=\"text\" value=\"$section[title]\" size=\"30\" maxlength=\"255\"><input name=\"module[nav][$n1][open]\" type=\"hidden\" value=\"$section[open]\"></td></tr>\r\n";
- foreach($section["items"] as $item_id => $item) {
- //$content .= "<tr><td class='frmText11'>Titel:</td><td class='frmText11'><input name=\"module[nav][$n1][items][$n2][title]\" type=\"text\" class=\"text\" value=\"$item[title]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- //$content .= "<tr><td class='frmText11'>Ziel:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][target]\" type=\"text\" class=\"text\" value=\"$item[target]\" size=\"10\" maxlength=\"255\"></td></tr>\r\n";
- //$content .= "<tr><td class='frmText11'>Link:</td><td class='frmText11'> <input name=\"module[nav][$n1][items][$n2][link]\" type=\"text\" class=\"text\" value=\"$item[link]\" size=\"30\" maxlength=\"255\"></td></tr>\r\n";
- $content .= "<tr>
- <td class='frmText11'>$item[title]</td>
- <td class='frmText11' width='280' align='right'>
- <input type=\"button\" name=\"bt6$n2\" value=\"$wb[edit_txt]\" onclick=\"loadContent('designer/module_nav_item_edit.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt7$n2\" value=\"$wb[delete_txt]\" onclick=\"del_record('designer/module_nav_item_del.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt8$n2\" value=\"$wb[up_txt]\" onclick=\"loadContent('designer/module_nav_item_flip.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id&dir=up');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- <input type=\"button\" name=\"bt9$n2\" value=\"$wb[down_txt]\" onclick=\"loadContent('designer/module_nav_item_flip.php?module_name=$module_name&nav_id=$nav_id&item_id=$item_id&dir=down');\" class=\"button\" /><div class=\"buttonEnding\"></div>
- </td>
- </tr>";
- $n2++;
- }
- $content .= "<tr><td colspan='2' class='tblFooter'> </td></tr>
- </table>
- </td>
- </tr>";
- $n1++;
- }
-}
-
-$record["nav"] = $content;
-
-
-$app->tpl->setVar($record);
-
-
-$app->tpl->setLoop('records', $modules_list);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-
-?>
diff --git a/interface/web/designer/templates/form_edit.htm b/interface/web/designer/templates/form_edit.htm
deleted file mode 100644
index 72cb0a4..0000000
--- a/interface/web/designer/templates/form_edit.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<form method="POST" action="form_edit.php">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11"><input name="form[name]" type="text" class="text" value="{tmpl_var name='name'}" size="20" maxlength="50" {tmpl_var name='readonly'}></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="form[title]" type="text" class="text" value="{tmpl_var name='title'}" size="20" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
- <td width="366" class="frmText11"><input name="form[description]" type="text" class="text" value="{tmpl_var name='description'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="action_txt">:</td>
- <td width="366" class="frmText11"><input name="form[action]" type="text" class="text" value="{tmpl_var name='action'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_table_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_table]" type="text" class="text" value="{tmpl_var name='db_table'}" size="10" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_table_idx_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_table_idx]" type="text" class="text" value="{tmpl_var name='db_table_idx'}" size="10" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_history_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_history]" type="text" class="text" value="{tmpl_var name='db_history'}" size="3" maxlength="3"> yes / no</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="tab_default_txt">:</td>
- <td width="366" class="frmText11"><input name="form[tab_default]" type="text" class="text" value="{tmpl_var name='tab_default'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="list_default_txt">:</td>
- <td width="366" class="frmText11"><input name="form[list_default]" type="text" class="text" value="{tmpl_var name='list_default'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth]" type="text" class="text" value="{tmpl_var name='auth'}" size="3" maxlength="3"> yes / no</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_userid_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][userid]" type="text" class="text" value="{tmpl_var name='auth_preset_userid'}" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_groupid_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][groupid]" type="text" class="text" value="{tmpl_var name='auth_preset_groupid'}" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_user_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_user]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_user'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_group_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_group]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_group'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_other_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_other]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_other'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="submit" class="button" value="{tmpl_var name='save_txt'}">
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="self.location.href='form_list.php';">
- </td>
- </tr>
-</table>
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
-<input type="hidden" name="form_name" value="{tmpl_var name='form_name'}">
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/form_list.htm b/interface/web/designer/templates/form_list.htm
deleted file mode 100644
index 9e4fc38..0000000
--- a/interface/web/designer/templates/form_list.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<form name="myform" action="form_list.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
- <tr>
- <td class="tblHead"><tmpl_var name="form_txt"></td>
- <td class="tblHead"><tmpl_var name="title_txt"></td>
- <td class="tblHead"><tmpl_var name="module_txt"></td>
- <td class="tblHead"><tmpl_var name="description_txt"></td>
- <td class="tblHead"> </td>
- </tr>
- <tmpl_loop name="records">
- <tr bgcolor="{tmpl_var name="bgcolor"}">
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="name"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="title"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="module_name"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="description"}</a></td>
- <td class="frmText11" align="right">[<a href="javascript: del_record('form_del.php?form_name={tmpl_var name='module'}&module_name={tmpl_var name='module_name'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</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="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- <tr>
- <td colspan="7" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
- </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/form_show.htm b/interface/web/designer/templates/form_show.htm
deleted file mode 100644
index e8db5ef..0000000
--- a/interface/web/designer/templates/form_show.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<script language="JavaScript">
-<!--
-function del_module(link) {
- if(window.confirm("{tmpl_var name='module_del_txt'}")) {
- location.href = link;
- }
-}
-function del_menu(link) {
- if(window.confirm("{tmpl_var name='menu_del_txt'}")) {
- location.href = link;
- }
-}
-function del_menuitem(link) {
- if(window.confirm("{tmpl_var name='item_del_txt'}")) {
- location.href = link;
- }
-}
-
-//-->
-</script>
-<form name="myform" action="module_show.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:320px;"><legend class="frmText11"><b>{tmpl_var name='form_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='title'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='form_name'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="module_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='module_name'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
- <td width="366" class="frmText11" valign="top">{tmpl_var name='description'}</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11">
- <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onclick="location.href='form_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" />
- <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onclick="del_module('form_del.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}');" class="button" />
- <input type="button" name="ed3" value="{tmpl_var name='new_tab_txt'}" onclick="location.href='form_tab_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" /></td>
- </tr>
-</table>
-</fieldset>
-<table width="350" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tmpl_var name="nav">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_edit.htm b/interface/web/designer/templates/module_edit.htm
deleted file mode 100644
index e6e5b11..0000000
--- a/interface/web/designer/templates/module_edit.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11"><input name="module[name]" type="text" class="text" value="{tmpl_var name='name'}" size="30" maxlength="50" {tmpl_var name='readonly'}></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="module[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="template_txt">:</td>
- <td width="366" class="frmText11"><input name="module[template]" type="text" class="text" value="{tmpl_var name='template'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="navframe_txt">:</td>
- <td width="366" class="frmText11"><input name="module[navframe_page]" type="text" class="text" value="{tmpl_var name='navframe_page'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="startpage_txt">:</td>
- <td width="366" class="frmText11"><input name="module[startpage]" type="text" class="text" value="{tmpl_var name='startpage'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="tab_width_txt">:</td>
- <td width="366" class="frmText11"><input name="module[tab_width]" type="text" class="text" value="{tmpl_var name='tab_width'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_list.htm b/interface/web/designer/templates/module_list.htm
deleted file mode 100644
index c82ebef..0000000
--- a/interface/web/designer/templates/module_list.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
- <tr>
- <td class="tblHead"><tmpl_var name="module_txt"></td>
- <td class="tblHead"><tmpl_var name="title_txt"></td>
- <td class="tblHead"> </td>
- </tr>
- <tmpl_loop name="records">
- <tr bgcolor="{tmpl_var name="bgcolor"}">
- <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="module"}</a></td>
- <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="title"}</a></td>
- <td class="frmText11" align="right">[<a href="javascript: del_record('module_del.php?id={tmpl_var name='module'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</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="3">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- <tr>
- <td colspan="5" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
- </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_nav_edit.htm b/interface/web/designer/templates/module_nav_edit.htm
deleted file mode 100644
index fe925dd..0000000
--- a/interface/web/designer/templates/module_nav_edit.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="nav[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_nav_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_nav_item_edit.htm b/interface/web/designer/templates/module_nav_item_edit.htm
deleted file mode 100644
index 3a52dae..0000000
--- a/interface/web/designer/templates/module_nav_item_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="title" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="target_txt">:</td>
- <td width="366" class="frmText11"><input name="target" type="text" class="text" value="{tmpl_var name='target'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="link_txt">:</td>
- <td width="366" class="frmText11"><input name="link" type="text" class="text" value="{tmpl_var name='link'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onclick="submitForm('pageForm','designer/module_nav_item_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onclick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="item_id" value="{tmpl_var name='item_id'}">
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/designer/templates/module_show.htm b/interface/web/designer/templates/module_show.htm
deleted file mode 100644
index 24694b4..0000000
--- a/interface/web/designer/templates/module_show.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:250px;"><legend class="frmText11"><b>{tmpl_var name='module_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='title'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='name'}</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11">
- <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onclick="loadContent('designer/module_edit.php?id={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div>
- <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onclick="del_record('designer/module_del.php?id={tmpl_var name='name'}');" class="button" /><div class="buttonEnding"></div>
- <input type="button" name="ed3" value="{tmpl_var name='new_menu_txt'}" onclick="loadContent('designer/module_nav_edit.php?module_name={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div></td>
- </tr>
-</table>
-</fieldset>
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tmpl_var name="nav">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/designer/templates/paging.tpl.htm b/interface/web/designer/templates/paging.tpl.htm
deleted file mode 100644
index dd38af8..0000000
--- a/interface/web/designer/templates/paging.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-[ <a href='{tmpl_var name="list_file"}?page=0'>|<< </a>]
-<tmpl_if name="show_page_back">
- [<< <a href='{tmpl_var name="list_file"}?page={tmpl_var name="last_page"}'>Zurück</a>]
-</tmpl_if>
- Seite {tmpl_var name="next_page"} von {tmpl_var name="max_pages"}
-<tmpl_if name="show_page_next">
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="next_page"}'>Weiter >></a>]
-</tmpl_if>
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="pages"}'> >>| </a>]
\ No newline at end of file
diff --git a/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/ar_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/ar_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/bg_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/bg_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/br_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/br_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/cz.lng b/interface/web/dns/lib/lang/cz.lng
index f143b0b..126fb7a 100644
--- a/interface/web/dns/lib/lang/cz.lng
+++ b/interface/web/dns/lib/lang/cz.lng
@@ -20,3 +20,4 @@
$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 e5d36e3..d059725 100644
--- a/interface/web/dns/lib/lang/cz_dns_a.lng
+++ b/interface/web/dns/lib/lang/cz_dns_a.lng
@@ -15,3 +15,4 @@
$wb['data_error_duplicate'] = 'Duplikace A záznamu';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
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 a61265a..2fde770 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_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 a4b0a30..bff6a41 100644
--- a/interface/web/dns/lib/lang/cz_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/cz_dns_aaaa.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'IP adresa má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_alias.lng b/interface/web/dns/lib/lang/cz_dns_alias.lng
index ce95c78..d9d0d83 100644
--- a/interface/web/dns/lib/lang/cz_dns_alias.lng
+++ b/interface/web/dns/lib/lang/cz_dns_alias.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Cílový Hostname má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_cname.lng b/interface/web/dns/lib/lang/cz_dns_cname.lng
index 27f493d..4580376 100644
--- a/interface/web/dns/lib/lang/cz_dns_cname.lng
+++ b/interface/web/dns/lib/lang/cz_dns_cname.lng
@@ -15,3 +15,4 @@
$wb['data_error_duplicate'] = 'Duplikace A záznamu nebo CNAME-záznamu';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_hinfo.lng b/interface/web/dns/lib/lang/cz_dns_hinfo.lng
index ddbe969..8d0b565 100644
--- a/interface/web/dns/lib/lang/cz_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/cz_dns_hinfo.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Informace o hostovi má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_import.lng b/interface/web/dns/lib/lang/cz_dns_import.lng
index 92754e5..7c6c887 100644
--- a/interface/web/dns/lib/lang/cz_dns_import.lng
+++ b/interface/web/dns/lib/lang/cz_dns_import.lng
@@ -12,3 +12,4 @@
$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 d13e2cc..cae3eb9 100644
--- a/interface/web/dns/lib/lang/cz_dns_mx.lng
+++ b/interface/web/dns/lib/lang/cz_dns_mx.lng
@@ -16,3 +16,4 @@
$wb['duplicate_mx_record_txt'] = 'Duplicitní MX záznam.';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_ns.lng b/interface/web/dns/lib/lang/cz_dns_ns.lng
index 0269ce7..55b35aa 100644
--- a/interface/web/dns/lib/lang/cz_dns_ns.lng
+++ b/interface/web/dns/lib/lang/cz_dns_ns.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Jmenný server má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_ptr.lng b/interface/web/dns/lib/lang/cz_dns_ptr.lng
index 315f3c3..c536559 100644
--- a/interface/web/dns/lib/lang/cz_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/cz_dns_ptr.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Kanonického hostname má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_rp.lng b/interface/web/dns/lib/lang/cz_dns_rp.lng
index 8f0f3ae..8cdb653 100644
--- a/interface/web/dns/lib/lang/cz_dns_rp.lng
+++ b/interface/web/dns/lib/lang/cz_dns_rp.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Odpovědná osoba má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_slave.lng b/interface/web/dns/lib/lang/cz_dns_slave.lng
index 16617f6..2870562 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['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_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
new file mode 100644
index 0000000..7f31ecd
--- /dev/null
+++ b/interface/web/dns/lib/lang/cz_dns_slave_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'Sekundární DNS-Zóny';
+$wb['active_txt'] = 'Aktivní';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zóna';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Přidat novou Sekundarní DNS-Zónu';
+$wb['eg_domain_tld'] = 'např. domena.cz';
+$wb['sys_groupid_txt'] = 'Klient';
+?>
+
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 1e0a3d0..3f801f9 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['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 c98cb6d..521ea3c 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['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_admin_list.lng b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
new file mode 100644
index 0000000..0abeef1
--- /dev/null
+++ b/interface/web/dns/lib/lang/cz_dns_soa_admin_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zóny';
+$wb['active_txt'] = 'Aktivní';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zóna';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'E-mail';
+$wb['add_new_record_wizard_txt'] = 'Přidat novou DNS zónu pomocí průvodce';
+$wb['add_new_record_txt'] = 'Přidat novou DNS zónu manuálně';
+$wb['sys_groupid_txt'] = 'Klient';
+?>
+
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 beba8a2..05834d4 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['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 808dd21..664e495 100644
--- a/interface/web/dns/lib/lang/cz_dns_srv.lng
+++ b/interface/web/dns/lib/lang/cz_dns_srv.lng
@@ -18,3 +18,4 @@
$wb['aux_txt'] = 'Priorita';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_template.lng b/interface/web/dns/lib/lang/cz_dns_template.lng
index be4ac0e..82e207a 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['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 bdd6e18..10c3fcf 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['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 6ea5a6b..faf3181 100644
--- a/interface/web/dns/lib/lang/cz_dns_txt.lng
+++ b/interface/web/dns/lib/lang/cz_dns_txt.lng
@@ -14,3 +14,4 @@
$wb['data_error_regex'] = 'Text má chybný formát';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
+
diff --git a/interface/web/dns/lib/lang/cz_dns_wizard.lng b/interface/web/dns/lib/lang/cz_dns_wizard.lng
index fbd74e2..599380e 100644
--- a/interface/web/dns/lib/lang/cz_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/cz_dns_wizard.lng
@@ -39,3 +39,4 @@
$wb['list_desc_txt'] = 'Vytvoření DNS zóny pomocí průvodce';
$wb['dkim_txt'] = 'DKIM enabled';
?>
+
diff --git a/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
new file mode 100644
index 0000000..974e214
--- /dev/null
+++ b/interface/web/dns/lib/lang/de_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Slave DNS-Zonen';
+$wb['active_txt'] = 'Aktiv';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Neue Slave DNS-Zone hinzufügen';
+$wb['eg_domain_tld'] = 'Format: domain.tld.';
+$wb['sys_groupid_txt'] = 'Kunde';
+?>
diff --git a/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
new file mode 100644
index 0000000..363369c
--- /dev/null
+++ b/interface/web/dns/lib/lang/de_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS Zonen';
+$wb['active_txt'] = 'Aktiv';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'E-Mail';
+$wb['add_new_record_txt'] = 'Neue DNS Zone (SOA) hinzufügen';
+$wb['add_new_record_wizard_txt'] = 'Neue DNS Zone per Assistent hinzufügen';
+$wb['sys_groupid_txt'] = 'Kunde';
+?>
diff --git a/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/el_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/el_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
new file mode 100644
index 0000000..43f6778
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb["list_head_txt"] = 'Secondary DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["add_new_record_txt"] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
new file mode 100644
index 0000000..44cec90
--- /dev/null
+++ b/interface/web/dns/lib/lang/en_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb["list_head_txt"] = 'DNS-Zones';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["origin_txt"] = 'Zone';
+$wb["ns_txt"] = 'NS';
+$wb["mbox_txt"] = 'Email';
+$wb["add_new_record_wizard_txt"] = 'Add new DNS Zone with Wizard';
+$wb["add_new_record_txt"] = 'Add new DNS Zone manually';
+$wb["sys_groupid_txt"] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/es_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/fi_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/fi_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/fr_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/fr_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hr.lng b/interface/web/dns/lib/lang/hr.lng
index 1495b3e..1fba79c 100644
--- a/interface/web/dns/lib/lang/hr.lng
+++ b/interface/web/dns/lib/lang/hr.lng
@@ -20,3 +20,5 @@
$wb['Secondary Zones'] = 'Sekundarne zone';
$wb['Import Zone File'] = 'Importiraj zonsku datoteku';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_a.lng b/interface/web/dns/lib/lang/hr_dns_a.lng
index 4113907..322010d 100644
--- a/interface/web/dns/lib/lang/hr_dns_a.lng
+++ b/interface/web/dns/lib/lang/hr_dns_a.lng
@@ -13,5 +13,7 @@
$wb['data_error_empty'] = 'Polje IP adresa je prazno';
$wb['data_error_regex'] = 'Neispravan format A zapisa';
$wb['data_error_duplicate'] = 'Već postoji ovaj A ili CNAME zapis';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_a_list.lng b/interface/web/dns/lib/lang/hr_dns_a_list.lng
index 8fff688..0a1099e 100644
--- a/interface/web/dns/lib/lang/hr_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_a_list.lng
@@ -13,3 +13,5 @@
$wb['page_of_txt'] = 'od';
$wb['delete_confirmation'] = 'Sigurno želite obrisati ovaj zapis?';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_aaaa.lng b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
index 1f35d51..ba02127 100644
--- a/interface/web/dns/lib/lang/hr_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/hr_dns_aaaa.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Polje IPv6 adresa je prazno';
$wb['data_error_regex'] = 'Neispravan format IPv6 adrese';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_alias.lng b/interface/web/dns/lib/lang/hr_dns_alias.lng
index 97f15b1..088ce4a 100644
--- a/interface/web/dns/lib/lang/hr_dns_alias.lng
+++ b/interface/web/dns/lib/lang/hr_dns_alias.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Polje odredišni host je prazno';
$wb['data_error_regex'] = 'Neispravan format odredišnog hosta';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_cname.lng b/interface/web/dns/lib/lang/hr_dns_cname.lng
index e3eddd6..6c281d6 100644
--- a/interface/web/dns/lib/lang/hr_dns_cname.lng
+++ b/interface/web/dns/lib/lang/hr_dns_cname.lng
@@ -13,5 +13,7 @@
$wb['data_error_empty'] = 'Polje odredišni host je prazno';
$wb['data_error_regex'] = 'Neispravan format odredišnog host zapisa';
$wb['data_error_duplicate'] = 'Duplicirani A zapis ili CNAME zapis';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_hinfo.lng b/interface/web/dns/lib/lang/hr_dns_hinfo.lng
index 9c8c057..6c212b1 100644
--- a/interface/web/dns/lib/lang/hr_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/hr_dns_hinfo.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Nedostaju informacije o hostu';
$wb['data_error_regex'] = 'Informacije o hostu su u neispravanom formatu';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_import.lng b/interface/web/dns/lib/lang/hr_dns_import.lng
index 2d1fe08..711132c 100644
--- a/interface/web/dns/lib/lang/hr_dns_import.lng
+++ b/interface/web/dns/lib/lang/hr_dns_import.lng
@@ -1,14 +1,16 @@
<?php
$wb['server_id_txt'] = 'Server';
-$wb['client_txt'] = 'Client';
-$wb['btn_save_txt'] = 'Import Zonefile';
-$wb['btn_cancel_txt'] = 'Cancel';
-$wb['domain_txt'] = 'Domain';
+$wb['client_txt'] = 'Klijent';
+$wb['btn_save_txt'] = 'Importiraj zonsku datoteku';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['domain_txt'] = 'Domena';
$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['zonefile_to_import_txt'] = 'Zonska datoteka';
$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['title'] = 'Importiraj zonske datoteka';
+$wb['no_file_uploaded_error'] = 'Nije prenešena zonska datoteka';
+$wb['zone_file_import_txt'] = 'Importiraj zonsku datoteku';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_mx.lng b/interface/web/dns/lib/lang/hr_dns_mx.lng
index 22baa5d..b2f800e 100644
--- a/interface/web/dns/lib/lang/hr_dns_mx.lng
+++ b/interface/web/dns/lib/lang/hr_dns_mx.lng
@@ -13,6 +13,8 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Naziv mail hosta polje je prazno';
$wb['data_error_regex'] = 'Neispravan format naziva mail host zapisa';
-$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['duplicate_mx_record_txt'] = 'Duplicirani MX zapis.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_ns.lng b/interface/web/dns/lib/lang/hr_dns_ns.lng
index 3f17645..c04d1a0 100644
--- a/interface/web/dns/lib/lang/hr_dns_ns.lng
+++ b/interface/web/dns/lib/lang/hr_dns_ns.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv zone je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Nameserver nije upisan';
$wb['data_error_regex'] = 'Nameserver je u pogrešnom formatu';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_ptr.lng b/interface/web/dns/lib/lang/hr_dns_ptr.lng
index ef78315..c6451e7 100644
--- a/interface/web/dns/lib/lang/hr_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/hr_dns_ptr.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Polje Canonical naziv hosta je prazno';
$wb['data_error_regex'] = 'Neispravan format Canonical host zapisa';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_rp.lng b/interface/web/dns/lib/lang/hr_dns_rp.lng
index 7da0639..54ab872 100644
--- a/interface/web/dns/lib/lang/hr_dns_rp.lng
+++ b/interface/web/dns/lib/lang/hr_dns_rp.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Polje za odgovornu osobu je prazno';
$wb['data_error_regex'] = 'Polje za odgovornu osobu je neispravno';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave.lng b/interface/web/dns/lib/lang/hr_dns_slave.lng
index 9014f51..471cbf1 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave.lng
@@ -1,11 +1,11 @@
<?php
$wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'DNS Zona';
+$wb['origin_txt'] = 'DNS zona';
$wb['ns_txt'] = 'NS';
$wb['active_txt'] = 'Aktivno';
$wb['limit_dns_slave_zone_txt'] = 'Iskorišten je maksimalan broj sekundarnih DNS zona za vaš račun.';
$wb['client_txt'] = 'Klijent';
-$wb['xfer_txt'] = 'Allow zone transfers to <br />these IPs (comma separated list)';
+$wb['xfer_txt'] = 'Dozvoli transfer zona<br />slijedećim IP-evima (odvojiti zarezom)';
$wb['server_id_error_empty'] = 'Nije izabran server.';
$wb['origin_error_empty'] = 'Zona je prazna.';
$wb['origin_error_unique'] = 'Već postoji zapis za ovu zonu.';
@@ -13,5 +13,7 @@
$wb['ns_error_regex'] = 'NS je u pogrešnom formatu.';
$wb['eg_domain_tld'] = 'npr. domena.tld.';
$wb['ipv4_form_txt'] = 'IPv4 forma - npr. 1.2.3.4';
-$wb['secondary_zone_txt'] = 'Secondary DNS Zone';
+$wb['secondary_zone_txt'] = 'Sekundarne DNS zone';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
new file mode 100644
index 0000000..219b9ed
--- /dev/null
+++ b/interface/web/dns/lib/lang/hr_dns_slave_admin_list.lng
@@ -0,0 +1,12 @@
+<?php
+$wb['list_head_txt'] = 'Sekundarne DNS zone';
+$wb['active_txt'] = 'Aktivno';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Dodaj sekundarnu DNS zonu';
+$wb['eg_domain_tld'] = 'npr. domena.tld.';
+$wb['sys_groupid_txt'] = 'Klijent';
+?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_slave_list.lng b/interface/web/dns/lib/lang/hr_dns_slave_list.lng
index 02fafc5..ced2635 100644
--- a/interface/web/dns/lib/lang/hr_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_slave_list.lng
@@ -7,3 +7,5 @@
$wb['add_new_record_txt'] = 'Dodaj sekundarnu DNS zonu';
$wb['eg_domain_tld'] = 'npr. domena.tld.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa.lng b/interface/web/dns/lib/lang/hr_dns_soa.lng
index ef72c7c..4d9afde 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa.lng
@@ -9,7 +9,7 @@
$wb['expire_txt'] = 'Expire';
$wb['minimum_txt'] = 'Minimalno';
$wb['ttl_txt'] = 'TTL';
-$wb['xfer_txt'] = 'Dozvoli transfer zona <br />ovim IP-ovima (odvojeni zarezom)';
+$wb['xfer_txt'] = 'Dozvoli transfer zona<br />slijedećim IP-evima (odvojiti zarezom)';
$wb['active_txt'] = 'Aktivno';
$wb['limit_dns_zone_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš račun.';
$wb['client_txt'] = 'Klijent';
@@ -29,10 +29,12 @@
$wb['eg_ns1_domain_tld'] = 'npr. ns1.domena.tld';
$wb['eg_webmaster_domain_tld'] = 'npr. webmaster@domena.tld';
$wb['The Domain can not be changed. Please ask your Administrator if you want to change the domain name.'] = 'Ova domena ne može biti promijenjena. Pošaljite zahtjev administratoru ako želite promijeniti naziv domene.';
-$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['refresh_range_error'] = 'Minimalno vrijeme osvježavanja je 60 sekundi.';
+$wb['retry_range_error'] = 'Minimalno Retry vrijeme je 60 sekundi.';
+$wb['expire_range_error'] = 'Minimalno vrijeme isteka je 60 sekundi.';
+$wb['minimum_range_error'] = 'Minimalno vrijeme minimuma je 60 sekundi.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
+$wb['xfer_error_regex'] = 'Također obavijesti: Koristite IP adresu.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
new file mode 100644
index 0000000..9b24caf
--- /dev/null
+++ b/interface/web/dns/lib/lang/hr_dns_soa_admin_list.lng
@@ -0,0 +1,13 @@
+<?php
+$wb['list_head_txt'] = 'DNS zone';
+$wb['active_txt'] = 'Aktivno';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zona';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Dodaj novu DNS zonu sa čarobnjakom';
+$wb['add_new_record_txt'] = 'Dodaj novu DNS zonu ručno';
+$wb['sys_groupid_txt'] = 'Klijent';
+?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_soa_list.lng b/interface/web/dns/lib/lang/hr_dns_soa_list.lng
index cb9cbe0..25539b8 100644
--- a/interface/web/dns/lib/lang/hr_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_soa_list.lng
@@ -1,10 +1,12 @@
<?php
-$wb['list_head_txt'] = 'DNS zone';
+$wb['list_head_txt'] = 'DNS zona';
$wb['active_txt'] = 'Aktivno';
$wb['server_id_txt'] = 'Server';
-$wb['origin_txt'] = 'Zone';
+$wb['origin_txt'] = 'Zona';
$wb['ns_txt'] = 'NS';
$wb['mbox_txt'] = 'Email';
$wb['add_new_record_wizard_txt'] = 'Dodaj novu DNS zonu sa čarobnjakom';
$wb['add_new_record_txt'] = 'Dodaj novu DNS zonu ručno';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_srv.lng b/interface/web/dns/lib/lang/hr_dns_srv.lng
index aea5768..b6213d7 100644
--- a/interface/web/dns/lib/lang/hr_dns_srv.lng
+++ b/interface/web/dns/lib/lang/hr_dns_srv.lng
@@ -9,12 +9,14 @@
$wb['ttl_txt'] = 'TTL';
$wb['active_txt'] = 'Aktivno';
$wb['aux_txt'] = 'Prioritet';
-$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš ra�un.';
+$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš račun.';
$wb['no_zone_perm'] = 'Nemate dozvolu za dodavanja zapisa ovoj domeni.';
$wb['name_error_empty'] = 'Naziv hosta nije upisan.';
-$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
+$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'Polje serverski zapis je prazno';
$wb['data_error_regex'] = 'Neispravan format serverskog zapisa';
-$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne rije�i odvojene razmakom.';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne riječi odvojene razmakom.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_template.lng b/interface/web/dns/lib/lang/hr_dns_template.lng
index 100c5c8..aa880f6 100644
--- a/interface/web/dns/lib/lang/hr_dns_template.lng
+++ b/interface/web/dns/lib/lang/hr_dns_template.lng
@@ -4,3 +4,5 @@
$wb['template_txt'] = 'Predložak';
$wb['visible_txt'] = 'Vidljivo';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_template_list.lng b/interface/web/dns/lib/lang/hr_dns_template_list.lng
index 22d83c6..2585238 100644
--- a/interface/web/dns/lib/lang/hr_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/hr_dns_template_list.lng
@@ -1,6 +1,8 @@
<?php
-$wb['list_head_txt'] = 'DNS čarobnjak predložaka';
+$wb['list_head_txt'] = 'Čarobnjak za DNS predloške';
$wb['visible_txt'] = 'Vidljivo';
$wb['name_txt'] = 'Naziv';
$wb['add_new_record_txt'] = 'Dodaj novi';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_txt.lng b/interface/web/dns/lib/lang/hr_dns_txt.lng
index 1339086..88bb5e1 100644
--- a/interface/web/dns/lib/lang/hr_dns_txt.lng
+++ b/interface/web/dns/lib/lang/hr_dns_txt.lng
@@ -12,5 +12,7 @@
$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
$wb['data_error_empty'] = 'TXT polje je prazno';
$wb['data_error_regex'] = 'Neispravan format TXT zapisa';
-$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
+$wb['ttl_range_error'] = 'Minimalno TTL vrijeme je 60 sekundi.';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hr_dns_wizard.lng b/interface/web/dns/lib/lang/hr_dns_wizard.lng
index 7650318..e4d5416 100644
--- a/interface/web/dns/lib/lang/hr_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/hr_dns_wizard.lng
@@ -28,14 +28,16 @@
$wb['error_ns1_regex'] = 'NS1 sadrži nedozvoljene znakove.';
$wb['error_ns2_regex'] = 'NS2 sadrži nedozvoljene znakove.';
$wb['error_email_regex'] = 'Email adresa nije ispravna.';
-$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['dkim_txt'] = 'DKIM enabled';
-$wb['list_head_txt'] = 'DNS Zone Wizard';
-$wb['list_desc_txt'] = 'Create a DNS Zone via a wizard';
+$wb['dns_zone_txt'] = 'DNS zona';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
+$wb['list_head_txt'] = 'DNS čarobnjak';
+$wb['list_desc_txt'] = 'Kreiraj DNS zonu sa čarobnjakom';
?>
+
+
diff --git a/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/hu_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/hu_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/id_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/it_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/it_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/ja_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/ja_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/nl_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/nl_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/pl_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/pl_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/pt_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/ro_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/ro_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/ru_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/ru_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se.lng b/interface/web/dns/lib/lang/se.lng
index 80c3918..4f443f0 100644
--- a/interface/web/dns/lib/lang/se.lng
+++ b/interface/web/dns/lib/lang/se.lng
@@ -20,4 +20,3 @@
$wb['Secondary Zones'] = 'Sekundära zoner';
$wb['Import Zone File'] = 'Importera zonfiler';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_a.lng b/interface/web/dns/lib/lang/se_dns_a.lng
index a69314d..7dcfc37 100644
--- a/interface/web/dns/lib/lang/se_dns_a.lng
+++ b/interface/web/dns/lib/lang/se_dns_a.lng
@@ -15,4 +15,3 @@
$wb['data_error_duplicate'] = 'Duplicate A-Record';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_a_list.lng b/interface/web/dns/lib/lang/se_dns_a_list.lng
index b92f4c0..3fa1e7f 100644
--- a/interface/web/dns/lib/lang/se_dns_a_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_a_list.lng
@@ -13,4 +13,3 @@
$wb['page_of_txt'] = 'of';
$wb['delete_confirmation'] = 'Do you really want to delete this record?';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_aaaa.lng b/interface/web/dns/lib/lang/se_dns_aaaa.lng
index a8cfbf1..b4c5b27 100644
--- a/interface/web/dns/lib/lang/se_dns_aaaa.lng
+++ b/interface/web/dns/lib/lang/se_dns_aaaa.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'IP-Address format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_alias.lng b/interface/web/dns/lib/lang/se_dns_alias.lng
index 05c3f62..bd4be9f 100644
--- a/interface/web/dns/lib/lang/se_dns_alias.lng
+++ b/interface/web/dns/lib/lang/se_dns_alias.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Target hostname format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_cname.lng b/interface/web/dns/lib/lang/se_dns_cname.lng
index b4e8ae1..b7ceb5d 100644
--- a/interface/web/dns/lib/lang/se_dns_cname.lng
+++ b/interface/web/dns/lib/lang/se_dns_cname.lng
@@ -15,4 +15,3 @@
$wb['data_error_duplicate'] = 'Duplicate A-Record or CNAME-Record';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_hinfo.lng b/interface/web/dns/lib/lang/se_dns_hinfo.lng
index df19a84..937bd9b 100644
--- a/interface/web/dns/lib/lang/se_dns_hinfo.lng
+++ b/interface/web/dns/lib/lang/se_dns_hinfo.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Host Information format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_import.lng b/interface/web/dns/lib/lang/se_dns_import.lng
index aea47ba..4d703fa 100644
--- a/interface/web/dns/lib/lang/se_dns_import.lng
+++ b/interface/web/dns/lib/lang/se_dns_import.lng
@@ -12,4 +12,3 @@
$wb['no_file_uploaded_error'] = 'Ingen zonfil uppladdad';
$wb['zone_file_import_txt'] = 'Zonfilsimport';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_mx.lng b/interface/web/dns/lib/lang/se_dns_mx.lng
index 0bfc234..58921d3 100644
--- a/interface/web/dns/lib/lang/se_dns_mx.lng
+++ b/interface/web/dns/lib/lang/se_dns_mx.lng
@@ -16,4 +16,3 @@
$wb['duplicate_mx_record_txt'] = 'Duplicate MX record.';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_ns.lng b/interface/web/dns/lib/lang/se_dns_ns.lng
index 2ce51da..d8d652c 100644
--- a/interface/web/dns/lib/lang/se_dns_ns.lng
+++ b/interface/web/dns/lib/lang/se_dns_ns.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Namnserverformatet är ogiltigt';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_ptr.lng b/interface/web/dns/lib/lang/se_dns_ptr.lng
index 6c42a8f..254b45c 100644
--- a/interface/web/dns/lib/lang/se_dns_ptr.lng
+++ b/interface/web/dns/lib/lang/se_dns_ptr.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Canonical hostname format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_rp.lng b/interface/web/dns/lib/lang/se_dns_rp.lng
index e37bc8f..91c4f07 100644
--- a/interface/web/dns/lib/lang/se_dns_rp.lng
+++ b/interface/web/dns/lib/lang/se_dns_rp.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Responsible person field format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_slave.lng b/interface/web/dns/lib/lang/se_dns_slave.lng
index 254f360..c426df7 100644
--- a/interface/web/dns/lib/lang/se_dns_slave.lng
+++ b/interface/web/dns/lib/lang/se_dns_slave.lng
@@ -15,4 +15,3 @@
$wb['ipv4_form_txt'] = 'IPv4 form - e.g. 1.2.3.4';
$wb['secondary_zone_txt'] = 'Secondary DNS Zone';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/se_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se_dns_slave_list.lng b/interface/web/dns/lib/lang/se_dns_slave_list.lng
index 6e7951d..4ced2dd 100644
--- a/interface/web/dns/lib/lang/se_dns_slave_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_slave_list.lng
@@ -7,4 +7,3 @@
$wb['add_new_record_txt'] = 'Add new secondary DNS Zone';
$wb['eg_domain_tld'] = 'e.g. domain.tld.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_soa.lng b/interface/web/dns/lib/lang/se_dns_soa.lng
index 4f2eefa..935211a 100644
--- a/interface/web/dns/lib/lang/se_dns_soa.lng
+++ b/interface/web/dns/lib/lang/se_dns_soa.lng
@@ -36,4 +36,3 @@
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
$wb['xfer_error_regex'] = 'Also notify: Please use an IP address.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/se_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/se_dns_soa_list.lng b/interface/web/dns/lib/lang/se_dns_soa_list.lng
index b534641..da7b8e2 100644
--- a/interface/web/dns/lib/lang/se_dns_soa_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_soa_list.lng
@@ -8,4 +8,3 @@
$wb['add_new_record_txt'] = 'Add new DNS Zone (SOA)';
$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_srv.lng b/interface/web/dns/lib/lang/se_dns_srv.lng
index fae1b70..866f44d 100644
--- a/interface/web/dns/lib/lang/se_dns_srv.lng
+++ b/interface/web/dns/lib/lang/se_dns_srv.lng
@@ -18,4 +18,3 @@
$wb['aux_txt'] = 'Priority';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_template.lng b/interface/web/dns/lib/lang/se_dns_template.lng
index 6fd5b5c..516d5c2 100644
--- a/interface/web/dns/lib/lang/se_dns_template.lng
+++ b/interface/web/dns/lib/lang/se_dns_template.lng
@@ -4,4 +4,3 @@
$wb['template_txt'] = 'Mall';
$wb['visible_txt'] = 'Synlig';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_template_list.lng b/interface/web/dns/lib/lang/se_dns_template_list.lng
index 120335f..8d9d730 100644
--- a/interface/web/dns/lib/lang/se_dns_template_list.lng
+++ b/interface/web/dns/lib/lang/se_dns_template_list.lng
@@ -4,4 +4,3 @@
$wb['name_txt'] = 'Name';
$wb['add_new_record_txt'] = 'Add new record';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_txt.lng b/interface/web/dns/lib/lang/se_dns_txt.lng
index 0fc9b25..31da6eb 100644
--- a/interface/web/dns/lib/lang/se_dns_txt.lng
+++ b/interface/web/dns/lib/lang/se_dns_txt.lng
@@ -14,4 +14,3 @@
$wb['data_error_regex'] = 'Text format invalid';
$wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.';
?>
-
diff --git a/interface/web/dns/lib/lang/se_dns_wizard.lng b/interface/web/dns/lib/lang/se_dns_wizard.lng
index 123733b..5e1df4a 100644
--- a/interface/web/dns/lib/lang/se_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/se_dns_wizard.lng
@@ -39,4 +39,3 @@
$wb['list_desc_txt'] = 'Create a DNS Zone via a wizard';
$wb['dkim_txt'] = 'DKIM enabled';
?>
-
diff --git a/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/sk_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/sk_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
new file mode 100644
index 0000000..59d8487
--- /dev/null
+++ b/interface/web/dns/lib/lang/tr_dns_slave_admin_list.lng
@@ -0,0 +1,10 @@
+<?php
+$wb['list_head_txt'] = 'Secondary DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['add_new_record_txt'] = 'Add new Secondary DNS-Zone';
+$wb['eg_domain_tld'] = 'e.g. domain.tld.';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
new file mode 100644
index 0000000..183d1a8
--- /dev/null
+++ b/interface/web/dns/lib/lang/tr_dns_soa_admin_list.lng
@@ -0,0 +1,11 @@
+<?php
+$wb['list_head_txt'] = 'DNS-Zones';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['origin_txt'] = 'Zone';
+$wb['ns_txt'] = 'NS';
+$wb['mbox_txt'] = 'Email';
+$wb['add_new_record_wizard_txt'] = 'Add new DNS Zone with Wizard';
+$wb['add_new_record_txt'] = 'Add new DNS Zone manually';
+$wb['sys_groupid_txt'] = 'Client';
+?>
diff --git a/interface/web/dns/list/dns_slave.list.php b/interface/web/dns/list/dns_slave.list.php
index 5a242de..5c0be05 100644
--- a/interface/web/dns/list/dns_slave.list.php
+++ b/interface/web/dns/list/dns_slave.list.php
@@ -13,7 +13,11 @@
// Name of the list
-$liste["name"] = "dns_slave";
+if($_SESSION['s']['user']['typ'] == 'admin') {
+ $liste["name"] = "dns_slave_admin";
+} else {
+ $liste["name"] = "dns_slave";
+}
// Database table
$liste["table"] = "dns_slave";
@@ -70,6 +74,22 @@
),
'width' => "",
'value' => "");
+
+if($_SESSION['s']['user']['typ'] == 'admin') {
+ $liste["item"][] = array( 'field' => "sys_groupid",
+ 'datatype' => "INTEGER",
+ 'formtype' => "SELECT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
+ 'keyfield'=> 'groupid',
+ 'valuefield'=> 'name'
+ ),
+ 'width' => "",
+ 'value' => "");
+}
$liste["item"][] = array( 'field' => "origin",
'datatype' => "VARCHAR",
diff --git a/interface/web/dns/list/dns_soa.list.php b/interface/web/dns/list/dns_soa.list.php
index e3b240a..d6f5641 100644
--- a/interface/web/dns/list/dns_soa.list.php
+++ b/interface/web/dns/list/dns_soa.list.php
@@ -13,7 +13,11 @@
// Name of the list
-$liste["name"] = "dns_soa";
+if($_SESSION['s']['user']['typ'] == 'admin') {
+ $liste["name"] = "dns_soa_admin";
+} else {
+ $liste["name"] = "dns_soa";
+}
// Database table
$liste["table"] = "dns_soa";
@@ -70,6 +74,22 @@
),
'width' => "",
'value' => "");
+
+if($_SESSION['s']['user']['typ'] == 'admin') {
+ $liste["item"][] = array( 'field' => "sys_groupid",
+ 'datatype' => "INTEGER",
+ 'formtype' => "SELECT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT groupid, name FROM sys_group WHERE groupid != 1 ORDER BY name',
+ 'keyfield'=> 'groupid',
+ 'valuefield'=> 'name'
+ ),
+ 'width' => "",
+ 'value' => "");
+}
$liste["item"][] = array( 'field' => "origin",
'datatype' => "VARCHAR",
diff --git a/interface/web/dns/templates/dns_slave_admin_list.htm b/interface/web/dns/templates/dns_slave_admin_list.htm
new file mode 100644
index 0000000..d4f13ce
--- /dev/null
+++ b/interface/web/dns/templates/dns_slave_admin_list.htm
@@ -0,0 +1,83 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_dns_slave">
+
+ <div class="pnl_toolsarea">
+ <tmpl_if name='datalog_changes_count' op='>' value='0'>
+ <div>
+ <div class="systemmonitor-state state-info">
+ <div class="status"></div>
+ <div class="statusMsg">
+ {tmpl_var name="datalog_changes_txt"}
+ <ul>
+ <tmpl_loop name="datalog_changes">
+ <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
+ </tmpl_loop>
+ </ul>
+ {tmpl_var name="datalog_changes_end_txt"}
+ </div>
+ </div><br />
+ </div>
+ </tmpl_if>
+ <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+ <div class="buttons">
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_slave_edit.php');">
+ <span>{tmpl_var name="add_new_record_txt"}</span>
+ </button>
+ </div>
+ </fieldset>
+ </div>
+
+ <div class="pnl_listarea">
+ <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+ <table class="list">
+ <thead>
+ <tr class="caption">
+ <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+ <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
+ <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+ <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
+ <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
+ <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+ </tr>
+ <tr class="filter">
+ <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+ <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
+ <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+ <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
+ <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
+ <td class="tbl_col_buttons">
+ <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_slave_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ <tmpl_loop name="records">
+ <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
+ <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
+ <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+ <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
+ <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
+ <td class="tbl_col_buttons">
+ <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_slave_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+ </td>
+ </tr>
+ </tmpl_loop>
+ <tmpl_unless name="records">
+ <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+ </tr>
+ </tmpl_unless>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
+ </tr>
+ </tfoot>
+ </table>
+ </fieldset>
+ </div>
+
+</div>
diff --git a/interface/web/dns/templates/dns_soa_admin_list.htm b/interface/web/dns/templates/dns_soa_admin_list.htm
new file mode 100644
index 0000000..b77f884
--- /dev/null
+++ b/interface/web/dns/templates/dns_soa_admin_list.htm
@@ -0,0 +1,86 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_dns_soa">
+
+ <div class="pnl_toolsarea">
+ <tmpl_if name='datalog_changes_count' op='>' value='0'>
+ <div>
+ <div class="systemmonitor-state state-info">
+ <div class="status"></div>
+ <div class="statusMsg">
+ {tmpl_var name="datalog_changes_txt"}
+ <ul>
+ <tmpl_loop name="datalog_changes">
+ <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
+ </tmpl_loop>
+ </ul>
+ {tmpl_var name="datalog_changes_end_txt"}
+ </div>
+ </div><br />
+ </div>
+ </tmpl_if>
+ <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+ <div class="buttons">
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name="add_new_record_wizard_txt"}</span></button>
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_soa_edit.php');"><span>{tmpl_var name="add_new_record_txt"}</span></button>
+ <button class="button iconstxt icoAdd" type="button" onclick="loadContent('dns/dns_import.php');"><span>Import Zone File</span></button>
+ </div>
+ </fieldset>
+ </div>
+
+ <div class="pnl_listarea">
+ <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+ <table class="list">
+ <thead>
+ <tr class="caption">
+ <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+ <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
+ <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+ <th class="tbl_col_origin" scope="col"><tmpl_var name="origin_txt"></th>
+ <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
+ <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
+ <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+ </tr>
+ <tr class="filter">
+ <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+ <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
+ <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+ <td class="tbl_col_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
+ <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
+ <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></td>
+ <td class="tbl_col_buttons">
+ <button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','dns/dns_soa_list.php');"><span>{tmpl_var name="filter_txt"}</span></button>
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ <tmpl_loop name="records">
+ <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <td class="tbl_col_active"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
+ <td class="tbl_col_sys_groupid"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
+ <td class="tbl_col_server_id"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+ <td class="tbl_col_origin"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
+ <td class="tbl_col_ns"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
+ <td class="tbl_col_mbox"><a href="#" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
+ <td class="tbl_col_buttons">
+ <a class="button icons16 icoDelete" href="javascript: del_record('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+ </td>
+ </tr>
+ </tmpl_loop>
+ <tmpl_unless name="records">
+ <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+ <td colspan="7">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+ </tr>
+ </tmpl_unless>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
+ </tr>
+ </tfoot>
+ </table>
+ </fieldset>
+ </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/help/lib/lang/cz.lng b/interface/web/help/lib/lang/cz.lng
index f1b8337..a4f7351 100644
--- a/interface/web/help/lib/lang/cz.lng
+++ b/interface/web/help/lib/lang/cz.lng
@@ -12,3 +12,4 @@
$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 73feee6..c71ddfa 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_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 a948844..7a4a2fd 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_faq_questions_txt'] = 'Často kladené dotazy';
$wb['faq_new_question_txt'] = 'Přidat nový dotaz';
?>
+
diff --git a/interface/web/help/lib/lang/cz_faq_sections_form.lng b/interface/web/help/lib/lang/cz_faq_sections_form.lng
index f9de704..70403c3 100644
--- a/interface/web/help/lib/lang/cz_faq_sections_form.lng
+++ b/interface/web/help/lib/lang/cz_faq_sections_form.lng
@@ -1,3 +1,4 @@
<?php
$wb['faq_section_name_txt'] = 'Název sekce';
?>
+
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 923d9b8..0dcf23b 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'] = '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 fbaf4ad..3ddc231 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_faq_sections_txt'] = 'Sekce FAQ - Často kladené dotazy';
$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 b935547..1d06da3 100644
--- a/interface/web/help/lib/lang/cz_support_message.lng
+++ b/interface/web/help/lib/lang/cz_support_message.lng
@@ -13,3 +13,4 @@
$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'] = '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 23f8058..f31449c 100644
--- a/interface/web/help/lib/lang/cz_support_message_list.lng
+++ b/interface/web/help/lib/lang/cz_support_message_list.lng
@@ -5,3 +5,4 @@
$wb['add_new_record_txt'] = 'Vytvořit zprávu pro podporu';
$wb['date_txt'] = 'Datum';
?>
+
diff --git a/interface/web/help/lib/lang/hr.lng b/interface/web/help/lib/lang/hr.lng
index fd9153f..71f5920 100644
--- a/interface/web/help/lib/lang/hr.lng
+++ b/interface/web/help/lib/lang/hr.lng
@@ -12,3 +12,5 @@
$wb['Add a Question & Answer Pair'] = 'Dodaj pitanje i odgovor';
$wb['Manage Questions'] = 'Upravljaj pitanjima';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_form.lng b/interface/web/help/lib/lang/hr_faq_form.lng
index ca798d7..156f327 100644
--- a/interface/web/help/lib/lang/hr_faq_form.lng
+++ b/interface/web/help/lib/lang/hr_faq_form.lng
@@ -4,3 +4,5 @@
$wb['faq_answer_txt'] = 'Odgovor';
$wb['faq_section_txt'] = 'Rubrika';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng b/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
index 54f46e2..8c03762 100644
--- a/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
+++ b/interface/web/help/lib/lang/hr_faq_manage_questions_list.lng
@@ -7,3 +7,5 @@
$wb['faq_faq_questions_txt'] = 'Često postavljana pitanja (FAQ)';
$wb['faq_new_question_txt'] = 'Dodaj novo pitanje i odgovor';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_faq_sections_form.lng b/interface/web/help/lib/lang/hr_faq_sections_form.lng
index 5eba900..1ada45e 100644
--- a/interface/web/help/lib/lang/hr_faq_sections_form.lng
+++ b/interface/web/help/lib/lang/hr_faq_sections_form.lng
@@ -1,3 +1,5 @@
<?php
$wb['faq_section_name_txt'] = 'Naziv rubrike';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_help_faq_list.lng b/interface/web/help/lib/lang/hr_help_faq_list.lng
index 9d910dc..83de65e 100644
--- a/interface/web/help/lib/lang/hr_help_faq_list.lng
+++ b/interface/web/help/lib/lang/hr_help_faq_list.lng
@@ -1,3 +1,5 @@
<?php
$wb['edit_txt'] = 'Izmjeni';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_help_faq_sections_list.lng b/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
index 91c78e4..21026b0 100644
--- a/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
+++ b/interface/web/help/lib/lang/hr_help_faq_sections_list.lng
@@ -6,3 +6,5 @@
$wb['faq_faq_sections_txt'] = 'FAQ rubrike';
$wb['faq_new_section_txt'] = 'Dodaj novu rubriku';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_support_message.lng b/interface/web/help/lib/lang/hr_support_message.lng
index fca139b..eeed993 100644
--- a/interface/web/help/lib/lang/hr_support_message.lng
+++ b/interface/web/help/lib/lang/hr_support_message.lng
@@ -13,3 +13,5 @@
$wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.';
$wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.';
?>
+
+
diff --git a/interface/web/help/lib/lang/hr_support_message_list.lng b/interface/web/help/lib/lang/hr_support_message_list.lng
index e7aea1a..eb37bac 100644
--- a/interface/web/help/lib/lang/hr_support_message_list.lng
+++ b/interface/web/help/lib/lang/hr_support_message_list.lng
@@ -5,3 +5,5 @@
$wb['add_new_record_txt'] = 'Pošalji novu poruku';
$wb['date_txt'] = 'Date';
?>
+
+
diff --git a/interface/web/help/lib/lang/se.lng b/interface/web/help/lib/lang/se.lng
index e096257..58fe6a0 100644
--- a/interface/web/help/lib/lang/se.lng
+++ b/interface/web/help/lib/lang/se.lng
@@ -12,4 +12,3 @@
$wb['Add a Question & Answer Pair'] = 'Lägg till fråga och svar';
$wb['Manage Questions'] = 'Hantera frågor';
?>
-
diff --git a/interface/web/help/lib/lang/se_faq_form.lng b/interface/web/help/lib/lang/se_faq_form.lng
index 743e02d..5a7f384 100644
--- a/interface/web/help/lib/lang/se_faq_form.lng
+++ b/interface/web/help/lib/lang/se_faq_form.lng
@@ -4,4 +4,3 @@
$wb['faq_answer_txt'] = 'Svar';
$wb['faq_section_txt'] = 'Kategori';
?>
-
diff --git a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
index c802176..d615cda 100644
--- a/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
+++ b/interface/web/help/lib/lang/se_faq_manage_questions_list.lng
@@ -7,4 +7,3 @@
$wb['faq_faq_questions_txt'] = 'Vanliga frågor';
$wb['faq_new_question_txt'] = 'Lägg till ny fråga och svar';
?>
-
diff --git a/interface/web/help/lib/lang/se_faq_sections_form.lng b/interface/web/help/lib/lang/se_faq_sections_form.lng
index 9367eeb..5cc812f 100644
--- a/interface/web/help/lib/lang/se_faq_sections_form.lng
+++ b/interface/web/help/lib/lang/se_faq_sections_form.lng
@@ -1,4 +1,3 @@
<?php
$wb['faq_section_name_txt'] = 'Kategorinamn';
?>
-
diff --git a/interface/web/help/lib/lang/se_help_faq_list.lng b/interface/web/help/lib/lang/se_help_faq_list.lng
index c8aebaf..bc1d421 100644
--- a/interface/web/help/lib/lang/se_help_faq_list.lng
+++ b/interface/web/help/lib/lang/se_help_faq_list.lng
@@ -1,4 +1,3 @@
<?php
$wb['edit_txt'] = 'Redigera';
?>
-
diff --git a/interface/web/help/lib/lang/se_help_faq_sections_list.lng b/interface/web/help/lib/lang/se_help_faq_sections_list.lng
index 021feb3..5ea1a71 100644
--- a/interface/web/help/lib/lang/se_help_faq_sections_list.lng
+++ b/interface/web/help/lib/lang/se_help_faq_sections_list.lng
@@ -6,4 +6,3 @@
$wb['faq_faq_sections_txt'] = 'FAQ-kategorier';
$wb['faq_new_section_txt'] = 'Lägg till ny kategori';
?>
-
diff --git a/interface/web/help/lib/lang/se_support_message.lng b/interface/web/help/lib/lang/se_support_message.lng
index 0de8420..b3cefaa 100644
--- a/interface/web/help/lib/lang/se_support_message.lng
+++ b/interface/web/help/lib/lang/se_support_message.lng
@@ -13,4 +13,3 @@
$wb['support_request_sent_txt'] = 'Your support request has been sent. Please don\'t reply to this email.';
$wb['recipient_or_sender_email_address_not_valid_txt'] = 'The message could not be sent because the recipient and/or the sender email address is not valid.';
?>
-
diff --git a/interface/web/help/lib/lang/se_support_message_list.lng b/interface/web/help/lib/lang/se_support_message_list.lng
index f68bb58..af9663f 100644
--- a/interface/web/help/lib/lang/se_support_message_list.lng
+++ b/interface/web/help/lib/lang/se_support_message_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Skapa nyttt supportmeddelande';
$wb['date_txt'] = 'Datum';
?>
-
diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index d0585ad..51e50f9 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -1,5 +1,4 @@
<?php
-session_start();
include '../../lib/config.inc.php';
header('Content-Type: text/javascript; charset=utf-8'); // the config file sets the content type header so we have to override it here!
require_once '../../lib/app.inc.php';
@@ -447,6 +446,8 @@
}
function changeTab(tab,target,force) {
+ if(requestsRunning > 0) return false;
+
//document.forms[0].next_tab.value = tab;
document.pageForm.next_tab.value = tab;
@@ -818,7 +819,7 @@
oldPWField.remove();
var pword = password(<?php echo $min_password_length; ?>, false, 1);
jQuery('#'+repeatPasswordFieldID).val(pword);
- newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup');
+ newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup').select();
}
var funcDisableClick = function(e) { e.preventDefault(); return false; };
diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 951dbaf..80c4d17 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -160,7 +160,7 @@
} else {
if(stristr($username, '@')) {
//* mailuser login
- $sql = "SELECT * FROM mail_user WHERE login = '$username'";
+ $sql = "SELECT * FROM mail_user WHERE login = '$username' or email = '$username'";
$mailuser = $app->db->queryOneRecord($sql);
$user = false;
if($mailuser) {
@@ -196,6 +196,13 @@
if(substr($saved_password, 0, 3) == '$1$') {
//* The password is crypt-md5 encrypted
$salt = '$1$'.substr($saved_password, 3, 8).'$';
+
+ if(crypt(stripslashes($passwort), $salt) != $saved_password) {
+ $user = false;
+ }
+ } elseif(substr($saved_password, 0, 3) == '$5$') {
+ //* The password is crypt-sha256 encrypted
+ $salt = '$5$'.substr($saved_password, 3, 16).'$';
if(crypt(stripslashes($passwort), $salt) != $saved_password) {
$user = false;
@@ -318,6 +325,15 @@
$error = '<div class="box box_error"><h1>Error</h1>'.$error.'</div>';
}
+ $app->load('getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['password_reset_allowed'] == 'yes') {
+ $app->tpl->setVar('pw_lost_show', 1);
+ } else {
+ $app->tpl->setVar('pw_lost_show', 0);
+ }
+
$app->tpl->setVar('error', $error);
$app->tpl->setVar('pw_lost_txt', $app->lng('pw_lost_txt'));
$app->tpl->setVar('username_txt', $app->lng('username_txt'));
diff --git a/interface/web/login/lib/lang/cz.lng b/interface/web/login/lib/lang/cz.lng
index 39b2f8d..2d19673 100644
--- a/interface/web/login/lib/lang/cz.lng
+++ b/interface/web/login/lib/lang/cz.lng
@@ -25,3 +25,4 @@
$wb['email_error'] = 'E-mail obsahuje nepovolené znaky nebo má neplatný formát.';
$wb['stay_logged_in_txt'] = 'Zapamatovat si přihlášení';
?>
+
diff --git a/interface/web/login/lib/lang/hr.lng b/interface/web/login/lib/lang/hr.lng
index 670affe..6550f5b 100644
--- a/interface/web/login/lib/lang/hr.lng
+++ b/interface/web/login/lib/lang/hr.lng
@@ -14,14 +14,16 @@
$wb['username_txt'] = 'Korisničko ime';
$wb['password_txt'] = 'Šifra';
$wb['login_button_txt'] = 'Prijava';
-$wb['pw_lost_txt'] = 'Password lost';
+$wb['pw_lost_txt'] = 'Izgubljena šifra';
$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['login_txt'] = 'Prijava';
+$wb['pw_reset_txt'] = 'Resetiraj šifru';
+$wb['pw_button_txt'] = 'Pošalji šifru';
$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['back_txt'] = 'Natrag';
$wb['email_error'] = 'Email contains unallowed characters or has a invalid format.';
$wb['stay_logged_in_txt'] = 'Keep me logged in';
?>
+
+
diff --git a/interface/web/login/lib/lang/hr_login_as.lng b/interface/web/login/lib/lang/hr_login_as.lng
index c660ff1..bbb66c6 100644
--- a/interface/web/login/lib/lang/hr_login_as.lng
+++ b/interface/web/login/lib/lang/hr_login_as.lng
@@ -3,9 +3,11 @@
$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['udp_port_help_txt'] = 'Odvojeno zarezom';
+$wb['active_txt'] = 'Aktivno';
$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 \\",\\".';
?>
+
+
diff --git a/interface/web/login/lib/lang/se.lng b/interface/web/login/lib/lang/se.lng
index e3301e0..aeb58b1 100644
--- a/interface/web/login/lib/lang/se.lng
+++ b/interface/web/login/lib/lang/se.lng
@@ -25,4 +25,3 @@
$wb['email_error'] = 'Epostadressen innehåller otillåtna tecken eller är felformatterad.';
$wb['stay_logged_in_txt'] = 'Håll mig inloggad';
?>
-
diff --git a/interface/web/login/lib/lang/se_login_as.lng b/interface/web/login/lib/lang/se_login_as.lng
index e831784..2fdd7f0 100644
--- a/interface/web/login/lib/lang/se_login_as.lng
+++ b/interface/web/login/lib/lang/se_login_as.lng
@@ -1,12 +1,11 @@
<?php
$wb['login_1_txt'] = 'Vill du loggga in som användare';
-$wb['login_2_txt'] = 'If you do so, you can "go back" by clicking at logout.';
+$wb['login_2_txt'] = 'If you do so, you can \\"go back\\" by clicking at logout.';
$wb['btn_yes_txt'] = 'Ja, logga in som kund';
$wb['btn_back_txt'] = 'Nej, tillbaka till listan';
$wb['udp_port_help_txt'] = 'Avdelade med kommatecken';
$wb['active_txt'] = 'Aktiv';
$wb['firewall_error_unique'] = 'There is already a firewall record for this server.';
-$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, ":" and ",".';
-$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, ":" and ",".';
+$wb['tcp_ports_error_regex'] = 'Character not allowed in tcp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
+$wb['udp_ports_error_regex'] = 'Character not allowed in udp port definition. Allowed characters are numbers, \\":\\" and \\",\\".';
?>
-
diff --git a/interface/web/login/password_reset.php b/interface/web/login/password_reset.php
index e29b163..c466ac8 100644
--- a/interface/web/login/password_reset.php
+++ b/interface/web/login/password_reset.php
@@ -31,6 +31,11 @@
require_once '../../lib/config.inc.php';
require_once '../../lib/app.inc.php';
+$app->load('getconf');
+
+$security_config = $app->getconf->get_security_config('permissions');
+if($security_config['password_reset_allowed'] != 'yes') die('Password reset function has been disabled.');
+
// Loading the template
$app->uses('tpl');
$app->tpl->newTemplate("form.tpl.htm");
diff --git a/interface/web/login/templates/index.htm b/interface/web/login/templates/index.htm
index 3fbd278..bcdd8bd 100644
--- a/interface/web/login/templates/index.htm
+++ b/interface/web/login/templates/index.htm
@@ -35,7 +35,7 @@
<div class="buttonHolder buttons">
<button class="positive iconstxt icoKey" type="button" value="{tmpl_var name='add_new_record_txt'}" onclick="submitLoginForm('pageForm');"><span>{tmpl_var name='login_button_txt'}</span></button>
- <button class="negative iconstxt icoKey" type="button" value="{tmpl_var name='pw_lost_txt'}" onclick="loadContent('login/password_reset.php');"><span>{tmpl_var name='pw_lost_txt'}</span></button>
+ <tmpl_if name="pw_lost_show"><button class="negative iconstxt icoKey" type="button" value="{tmpl_var name='pw_lost_txt'}" onclick="loadContent('login/password_reset.php');"><span>{tmpl_var name='pw_lost_txt'}</span></button></tmpl_if>
</div>
</div>
diff --git a/interface/web/mail/form/mail_aliasdomain.tform.php b/interface/web/mail/form/mail_aliasdomain.tform.php
index fb93500..64c5992 100644
--- a/interface/web/mail/form/mail_aliasdomain.tform.php
+++ b/interface/web/mail/form/mail_aliasdomain.tform.php
@@ -86,7 +86,7 @@
1 => array ( 'type' => 'UNIQUE',
'errmsg'=> 'source_error_unique'),
2 => array ( 'type' => 'REGEX',
- 'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,10}$/',
+ 'regex' => '/^\@[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,20}$/',
'errmsg'=> 'source_error_regex'),
),
'default' => '',
diff --git a/interface/web/mail/form/mail_user_filter.tform.php b/interface/web/mail/form/mail_user_filter.tform.php
index e001f68..d5f6a0a 100644
--- a/interface/web/mail/form/mail_user_filter.tform.php
+++ b/interface/web/mail/form/mail_user_filter.tform.php
@@ -112,7 +112,7 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'REGEX',
- 'regex' => '/^[\p{Latin}0-9\.\-\_\ ]{0,100}$/u',
+ 'regex' => '/^[\p{Latin}0-9\.\-\_\ \&]{0,100}$/u',
'errmsg'=> 'target_error_regex'),
),
'default' => '',
diff --git a/interface/web/mail/form/mail_whitelist.tform.php b/interface/web/mail/form/mail_whitelist.tform.php
index f984234..ce8f954 100644
--- a/interface/web/mail/form/mail_whitelist.tform.php
+++ b/interface/web/mail/form/mail_whitelist.tform.php
@@ -51,7 +51,7 @@
$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
$form["tabs"]['whitelist'] = array (
- 'title' => "Witelist",
+ 'title' => "Whitelist",
'width' => 100,
'template' => "templates/mail_whitelist_edit.htm",
'fields' => array (
diff --git a/interface/web/mail/lib/lang/cz.lng b/interface/web/mail/lib/lang/cz.lng
index 16dd266..f246e93 100644
--- a/interface/web/mail/lib/lang/cz.lng
+++ b/interface/web/mail/lib/lang/cz.lng
@@ -1,6 +1,6 @@
<?php
$wb['Email Alias'] = 'E-mailové aliasy';
-$wb['Email Blacklist'] = 'Email černá listina';
+$wb['Email Blacklist'] = 'E-mailová černá listina';
$wb['Blacklist'] = 'Černá listina';
$wb['Mail Content Filter'] = 'Obsahový filtr';
$wb['Filter'] = 'Filtr';
@@ -17,7 +17,7 @@
$wb['Mail Filter'] = 'E-mailové filtry';
$wb['Custom Rules'] = 'Vlastní pravidla';
$wb['Email filter'] = 'E-mailový filtr';
-$wb['Email Whitelist'] = 'E-mail bílá listina';
+$wb['Email Whitelist'] = 'E-mailová bílá listina';
$wb['Whitelist'] = 'Bílá listina';
$wb['Spamfilter blacklist'] = 'Spamový filtr černá listina';
$wb['Spamfilter Config'] = 'Konfigurace spamfiltru';
@@ -46,3 +46,4 @@
$wb['Statistics'] = 'Statistiky';
$wb['Mailbox quota'] = 'Kvóty pro 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 605e06b..119b849 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['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 5eba688..cb1c039 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['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 74611c2..7c74fb6 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_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 29d3355..ec973d1 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['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 e1e6dab..93978c7 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['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 62d6a35..612bf28 100644
--- a/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/cz_mail_blacklist_list.lng
@@ -8,3 +8,4 @@
$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 459ca22..240de67 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['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 da9709e..68acaf7 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['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 b4fe047..a55bb10 100644
--- a/interface/web/mail/lib/lang/cz_mail_domain.lng
+++ b/interface/web/mail/lib/lang/cz_mail_domain.lng
@@ -20,3 +20,4 @@
$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 76d17e1..26fc430 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['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 488d0d5..635091c 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['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 4f1a205..28b5613 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['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 2abb05c..141e9e8 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['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 6a0df08..054650a 100644
--- a/interface/web/mail/lib/lang/cz_mail_forward.lng
+++ b/interface/web/mail/lib/lang/cz_mail_forward.lng
@@ -7,3 +7,4 @@
$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 e5381fe..6cf1f88 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['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 c0914da..1c50d1c 100644
--- a/interface/web/mail/lib/lang/cz_mail_get.lng
+++ b/interface/web/mail/lib/lang/cz_mail_get.lng
@@ -17,3 +17,4 @@
$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \\"Delete emails after retrieval\\" = no together with \\"Retrieve all emails\\" = yes';
$wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
?>
+
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 9ca8b86..55df9d2 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['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 e1f7dfb..7723f1f 100644
--- a/interface/web/mail/lib/lang/cz_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/cz_mail_mailinglist.lng
@@ -20,3 +20,4 @@
$wb['email_error_isemail'] = 'E-mailová adresa je neplatná.';
$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 db31273..abd9737 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['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 1928c31..fbbdc48 100644
--- a/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/cz_mail_relay_recipient.lng
@@ -7,3 +7,4 @@
$wb['type_txt'] = 'Typ';
$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 1af9599..19f4682 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['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 4b6cc2b..b538ad0 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['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 7560b57..fa5924f 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['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 508ca76..6a195f3 100644
--- a/interface/web/mail/lib/lang/cz_mail_transport.lng
+++ b/interface/web/mail/lib/lang/cz_mail_transport.lng
@@ -9,3 +9,4 @@
$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 4261abc..3442e88 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['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 0a6b019..555d5d2 100644
--- a/interface/web/mail/lib/lang/cz_mail_user.lng
+++ b/interface/web/mail/lib/lang/cz_mail_user.lng
@@ -55,5 +55,6 @@
$wb['monthly_backup_txt'] = 'Monthly';
$wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.';
$wb['cc_note_txt'] = '(Při přeposílání na více e-mailových adres, oddělte čárkami.)';
-$wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
+$wb['disablesmtp_txt'] = 'Zakázat SMTP (pouze odesílání)';
?>
+
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 6cd8ed7..0fdd4ba 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['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 60229ce..f5de2b2 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_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 e6dfd00..b4adbdb 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['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 50cbc31..9c7602d 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['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 db55c18..31dfd75 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['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 7fae368..a1c5be4 100644
--- a/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/cz_mail_whitelist_list.lng
@@ -1,5 +1,5 @@
<?php
-$wb['list_head_txt'] = 'Email bílá listina';
+$wb['list_head_txt'] = 'E-mailová bílá listina';
$wb['active_txt'] = 'Aktivní';
$wb['server_id_txt'] = 'Server';
$wb['source_txt'] = 'Adresy na bílé listině';
@@ -8,3 +8,4 @@
$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 4d47c28..db13c09 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_blacklist.lng
@@ -10,3 +10,4 @@
$wb['5 - medium'] = '5 - střední';
$wb['1 - lowest'] = '1 - nejnižší';
?>
+
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 854eb92..71685de 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_blacklist_list.lng
@@ -7,3 +7,4 @@
$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 0f878cc..7eae43e 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['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 fe2ee8d..348fe9b 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['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 3304a84..2740272 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_policy.lng
@@ -36,3 +36,4 @@
$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 9a0c361..0ff38e1 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['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 3473064..d6f1b19 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_users.lng
@@ -11,3 +11,4 @@
$wb['5 - medium'] = '5 - střední';
$wb['1 - lowest'] = '1 - nejnižší';
?>
+
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 36bf340..f4dd015 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['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 4d47c28..db13c09 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_whitelist.lng
@@ -10,3 +10,4 @@
$wb['5 - medium'] = '5 - střední';
$wb['1 - lowest'] = '1 - nejnižší';
?>
+
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 ad13897..e0e94d4 100644
--- a/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/cz_spamfilter_whitelist_list.lng
@@ -4,6 +4,7 @@
$wb['server_id_txt'] = 'Server';
$wb['priority_txt'] = 'Priorita';
$wb['rid_txt'] = 'Uživatel';
-$wb['email_txt'] = 'Emaily na bílé listině';
+$wb['email_txt'] = 'E-maily 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 b55af94..2c99357 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
@@ -6,3 +6,4 @@
$wb['used_txt'] = 'Využité místo';
$wb['percentage_txt'] = 'Využité místo v %';
?>
+
diff --git a/interface/web/mail/lib/lang/fr_mail_get.lng b/interface/web/mail/lib/lang/fr_mail_get.lng
index 6779ce3..934af5e 100644
--- a/interface/web/mail/lib/lang/fr_mail_get.lng
+++ b/interface/web/mail/lib/lang/fr_mail_get.lng
@@ -14,6 +14,6 @@
$wb['destination_error_isemail'] = 'Pas de destination sélectionnée.';
$wb['source_server_error_regex'] = 'Le serveur POP3 / IMAP n\'est pas un nom de domaine valide.';
$wb['source_read_all_txt'] = 'Récupérer tous les emails (incl. les emails lus)';
-$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \"Supprimer les emails après récupération\" = non avec \"Récupérer tous les emails\" = oui';
+$wb['error_delete_read_all_combination'] = 'Combinaison d\'options non autorisée. Vous ne pouvez pas utiliser \\"Supprimer les emails après récupération\\" = non avec \\"Récupérer tous les emails\\" = oui';
$wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
?>
diff --git a/interface/web/mail/lib/lang/hr.lng b/interface/web/mail/lib/lang/hr.lng
index 313a90c..96cb6e4 100644
--- a/interface/web/mail/lib/lang/hr.lng
+++ b/interface/web/mail/lib/lang/hr.lng
@@ -5,7 +5,7 @@
$wb['Mail Content Filter'] = 'Sadržaj mail filtera';
$wb['Filter'] = 'Filter';
$wb['Mail Domain'] = 'Mail domena';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
$wb['Email Catchall'] = 'Email catchall';
$wb['Email Forward'] = 'Email proslijeđivanje';
$wb['Get Email'] = 'Primi poštu';
@@ -46,3 +46,5 @@
$wb['Relay Recipients'] = 'Relay primatelji';
$wb['Mailbox quota'] = 'Mailbox quota';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_alias.lng b/interface/web/mail/lib/lang/hr_mail_alias.lng
index afd6633..85cfcbd 100644
--- a/interface/web/mail/lib/lang/hr_mail_alias.lng
+++ b/interface/web/mail/lib/lang/hr_mail_alias.lng
@@ -12,3 +12,5 @@
$wb['duplicate_email_alias_txt'] = 'This email alias does already exist.';
$wb['source_txt'] = 'Alias';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_alias_list.lng b/interface/web/mail/lib/lang/hr_mail_alias_list.lng
index 2790cb3..ba1bd7b 100644
--- a/interface/web/mail/lib/lang/hr_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_alias_list.lng
@@ -6,3 +6,5 @@
$wb['email_txt'] = 'Email';
$wb['add_new_record_txt'] = 'Dodaj email alias';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng b/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
index fc77f6c..9797edb 100644
--- a/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/hr_mail_aliasdomain.lng
@@ -9,3 +9,5 @@
$wb['source_error_unique'] = 'Duplicirana izvorna domena.';
$wb['source_error_regex'] = 'Neispravan naziv izvorne domene.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
index 3aa5514..b9551d2 100644
--- a/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_aliasdomain_list.lng
@@ -5,3 +5,5 @@
$wb['destination_txt'] = 'Destinacija';
$wb['add_new_record_txt'] = 'Add new Domain alias';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_blacklist.lng b/interface/web/mail/lib/lang/hr_mail_blacklist.lng
index dbce8de..722f56b 100644
--- a/interface/web/mail/lib/lang/hr_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_blacklist.lng
@@ -7,3 +7,5 @@
$wb['type_txt'] = 'Vrsta';
$wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng b/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
index 8cbb63a..f600904 100644
--- a/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_blacklist_list.lng
@@ -8,3 +8,5 @@
$wb['add_new_record_txt'] = 'Dodaj novi zapis na blacklistu';
$wb['access_txt'] = 'pristup';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_content_filter.lng b/interface/web/mail/lib/lang/hr_mail_content_filter.lng
index f012957..75e0e1f 100644
--- a/interface/web/mail/lib/lang/hr_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_content_filter.lng
@@ -7,3 +7,5 @@
$wb['active_txt'] = 'Aktivno';
$wb['pattern_error_empty'] = 'Postupak je prazan.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng b/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
index 2657227..d712e75 100644
--- a/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_content_filter_list.lng
@@ -6,3 +6,5 @@
$wb['action_txt'] = 'Akcija';
$wb['add_new_record_txt'] = 'Add new Content Filter';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain.lng b/interface/web/mail/lib/lang/hr_mail_domain.lng
index 59bba44..4958936 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain.lng
@@ -20,3 +20,5 @@
$wb['dkim_selector_error'] = 'Invalid DKIM-Selector. Use only lower-case alphanumeric characters (a-z or 0-9) up to 63 chars';
$wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
index 4d13ef3..c8dc1bf 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_admin_list.lng
@@ -6,3 +6,5 @@
$wb['active_txt'] = 'Aktivno';
$wb['sys_groupid_txt'] = 'Klijent';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng b/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
index 2c8d23e..cf6624c 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_catchall.lng
@@ -9,3 +9,5 @@
$wb['source_txt'] = 'Source';
$wb['destination_error_isemail'] = 'Destination is no valid email address.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
index 81108fa..a11e2a3 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_catchall_list.lng
@@ -7,3 +7,5 @@
$wb['domain_txt'] = 'Domena';
$wb['add_new_record_txt'] = 'Dodaj catchall';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_domain_list.lng b/interface/web/mail/lib/lang/hr_mail_domain_list.lng
index e078c28..8102d1a 100644
--- a/interface/web/mail/lib/lang/hr_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_domain_list.lng
@@ -5,3 +5,5 @@
$wb['add_new_record_txt'] = 'Dodaj domenu';
$wb['active_txt'] = 'Aktivno';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_forward.lng b/interface/web/mail/lib/lang/hr_mail_forward.lng
index 3cad2bf..b43a307 100644
--- a/interface/web/mail/lib/lang/hr_mail_forward.lng
+++ b/interface/web/mail/lib/lang/hr_mail_forward.lng
@@ -5,5 +5,7 @@
$wb['limit_mailforward_txt'] = 'Iskorišten je maksimalan broj email forwardera.';
$wb['duplicate_mailbox_txt'] = 'Već postoji mailbox sa tom email adresom';
$wb['domain_txt'] = 'Domena';
-$wb['source_txt'] = 'Source Email';
+$wb['source_txt'] = 'Izvorni email';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_forward_list.lng b/interface/web/mail/lib/lang/hr_mail_forward_list.lng
index 895fafb..ad29df2 100644
--- a/interface/web/mail/lib/lang/hr_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_forward_list.lng
@@ -6,3 +6,5 @@
$wb['email_txt'] = 'Email';
$wb['add_new_record_txt'] = 'Add new Email forward';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_get.lng b/interface/web/mail/lib/lang/hr_mail_get.lng
index 18c53a4..4d5cb02 100644
--- a/interface/web/mail/lib/lang/hr_mail_get.lng
+++ b/interface/web/mail/lib/lang/hr_mail_get.lng
@@ -17,3 +17,5 @@
$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \\"Delete emails after retrieval\\" = no together with \\"Retrieve all emails\\" = yes';
$wb['source_delete_note_txt'] = 'Please check first if email retrieval works, before you activate this option.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_get_list.lng b/interface/web/mail/lib/lang/hr_mail_get_list.lng
index 9cd92dd..bdd21ab 100644
--- a/interface/web/mail/lib/lang/hr_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_get_list.lng
@@ -7,3 +7,5 @@
$wb['destination_txt'] = 'Destinacija';
$wb['add_new_record_txt'] = 'Dodaj novi račun';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_mailinglist.lng b/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
index 361af68..f800382 100644
--- a/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_mailinglist.lng
@@ -12,11 +12,13 @@
$wb['client_txt'] = 'Klijent';
$wb['email_txt'] = 'Email';
$wb['password_txt'] = 'Šifra';
-$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'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
$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['email_error_isemail'] = 'Email adresa je neispravna.';
+$wb['mailinglist_txt'] = 'Email lista';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
index 48b8c8b..8550ded 100644
--- a/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_mailinglist_list.lng
@@ -3,3 +3,5 @@
$wb['domain_txt'] = 'Domena';
$wb['listname_txt'] = 'Naziv liste';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng b/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
index 3555ed2..73f4d78 100644
--- a/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/hr_mail_relay_recipient.lng
@@ -7,3 +7,5 @@
$wb['type_txt'] = 'Vrsta';
$wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
index ad15e00..f6ed8e0 100644
--- a/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_relay_recipient_list.lng
@@ -7,3 +7,5 @@
$wb['add_new_record_txt'] = 'Add new relay recipient';
$wb['access_txt'] = 'pristup';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_spamfilter.lng b/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
index 90321d0..8024069 100644
--- a/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_spamfilter.lng
@@ -15,3 +15,5 @@
$wb['spam_redirect_maildir_purge_txt'] = 'Purge Maildir after';
$wb['days_txt'] = 'Days.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
index 654bc33..988fbf4 100644
--- a/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_spamfilter_list.lng
@@ -6,3 +6,5 @@
$wb['email_txt'] = 'Email';
$wb['add_new_record_txt'] = 'Add new Spamfilter record';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_transport.lng b/interface/web/mail/lib/lang/hr_mail_transport.lng
index c27687f..93c2f01 100644
--- a/interface/web/mail/lib/lang/hr_mail_transport.lng
+++ b/interface/web/mail/lib/lang/hr_mail_transport.lng
@@ -9,3 +9,5 @@
$wb['limit_mailrouting_txt'] = 'Iskorišten je maksimalan broj ruta.';
$wb['transport_txt'] = 'Transport';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_transport_list.lng b/interface/web/mail/lib/lang/hr_mail_transport_list.lng
index d86d9e5..0127864 100644
--- a/interface/web/mail/lib/lang/hr_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_transport_list.lng
@@ -7,3 +7,5 @@
$wb['sort_order_txt'] = 'Sort by';
$wb['add_new_record_txt'] = 'Add new transport';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user.lng b/interface/web/mail/lib/lang/hr_mail_user.lng
index f51db3f..8b3f3d7 100644
--- a/interface/web/mail/lib/lang/hr_mail_user.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user.lng
@@ -43,10 +43,6 @@
$wb['autoresponder_start_date_ispast'] = 'Start date cannot be in the past.';
$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["backup_interval_txt"] = 'Backup interval';
$wb["backup_copies_txt"] = 'Number of backup copies';
$wb['no_backup_txt'] = 'No backup';
@@ -57,3 +53,5 @@
$wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
$wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter.lng b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
index dc90099..acc99b2 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_filter.lng
@@ -1,20 +1,22 @@
<?php
-$wb['rulename_txt'] = 'Name';
+$wb['rulename_txt'] = 'Naziv';
$wb['action_txt'] = 'Akcija';
$wb['target_txt'] = 'Folder';
$wb['active_txt'] = 'Aktivno';
-$wb['rulename_error_empty'] = 'Name is empty.';
-$wb['searchterm_is_empty'] = 'Search term is empty.';
+$wb['rulename_error_empty'] = 'Naziv je prazan.';
+$wb['searchterm_is_empty'] = 'Traženi pojam je prazan.';
$wb['source_txt'] = 'Izvor';
-$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['target_error_regex'] = 'Folder može sadržavati samo ove znakove: a-z, 0-9, -, ., _, i {space}';
+$wb['limit_mailfilter_txt'] = 'Iskorišten je maksimalni broj mail filtera.';
$wb['subject_txt'] = 'Naslov';
$wb['from_txt'] = 'Pošiljatelj';
$wb['to_txt'] = 'Primatelj';
$wb['contains_txt'] = 'Sadrži';
$wb['is_txt'] = 'Is';
-$wb['begins_with_txt'] = 'Begins with';
-$wb['ends_with_txt'] = 'Ends with';
-$wb['move_to_txt'] = 'Move to';
+$wb['begins_with_txt'] = 'Počinje sa';
+$wb['ends_with_txt'] = 'Završava sa';
+$wb['move_to_txt'] = 'Prebaci u';
$wb['delete_txt'] = 'Obriši';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng b/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
index d101a72..1cad487 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_filter_list.lng
@@ -1,7 +1,9 @@
<?php
-$wb['rulename_txt'] = 'Name';
-$wb['add_new_record_txt'] = 'Add new Filter';
+$wb['rulename_txt'] = 'Naziv';
+$wb['add_new_record_txt'] = 'Dodaj novi filter';
$wb['page_txt'] = 'Stranica';
$wb['page_of_txt'] = 'od';
-$wb['delete_confirmation'] = 'Do you really want to Delete the mailfilter?';
+$wb['delete_confirmation'] = 'Da li stvarno želite obrisati email filter?';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_list.lng b/interface/web/mail/lib/lang/hr_mail_user_list.lng
index 762aea1..b56aa47 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_list.lng
@@ -1,8 +1,10 @@
<?php
-$wb['list_head_txt'] = 'Mailbox';
+$wb['list_head_txt'] = 'Email sandučić';
$wb['email_txt'] = 'Email';
$wb['autoresponder_txt'] = 'Automatski odgovor';
-$wb['add_new_record_txt'] = 'Dodaj mailbox';
+$wb['add_new_record_txt'] = 'Dodaj email sandučić';
$wb['name_txt'] = 'Ime';
$wb['login_txt'] = 'Prijava';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng b/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
index edde65b..df269d6 100644
--- a/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user_stats_list.lng
@@ -6,3 +6,5 @@
$wb['this_year_txt'] = 'This year';
$wb['last_year_txt'] = 'Last year';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_mail_whitelist.lng b/interface/web/mail/lib/lang/hr_mail_whitelist.lng
index a43e8ee..bd01a3c 100644
--- a/interface/web/mail/lib/lang/hr_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/hr_mail_whitelist.lng
@@ -7,3 +7,5 @@
$wb['type_txt'] = 'Vrsta';
$wb['limit_mailfilter_txt'] = 'The max. number of email filters for your account is reached.';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
index d1562e6..94f7c92 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_blacklist.lng
@@ -10,3 +10,5 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lowest';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
index 8a21dd6..c704b2a 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_blacklist_list.lng
@@ -7,3 +7,5 @@
$wb['email_txt'] = 'Blacklisted Email';
$wb['add_new_record_txt'] = 'Add Blacklist record';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_config.lng b/interface/web/mail/lib/lang/hr_spamfilter_config.lng
index 2843133..d531cc1 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_config.lng
@@ -18,3 +18,5 @@
$wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit';
$wb['message_size_limit_txt'] = 'Message Size Limit';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
index ac925e4..f189512 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_config_list.lng
@@ -3,3 +3,5 @@
$wb['server_name_txt'] = 'Server';
$wb['server_id_txt'] = 'server_id';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_policy.lng b/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
index e876330..877c431 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_policy.lng
@@ -36,3 +36,5 @@
$wb['message_size_limit_txt'] = 'Message size limit';
$wb['banned_rulenames_txt'] = 'Banned rulenames';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
index 84381b2..c984e41 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_policy_list.lng
@@ -7,3 +7,5 @@
$wb['bad_header_lover_txt'] = 'Neispravan header';
$wb['add_new_record_txt'] = 'Dodaj pravilo';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_users.lng b/interface/web/mail/lib/lang/hr_spamfilter_users.lng
index 9969ef4..24d7c78 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_users.lng
@@ -11,3 +11,5 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lowest';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
index 99e4636..d56e1c6 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_users_list.lng
@@ -8,3 +8,5 @@
$wb['email_txt'] = 'Email';
$wb['add_new_record_txt'] = 'Add Spamfilter User';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
index d1562e6..94f7c92 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_whitelist.lng
@@ -10,3 +10,5 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lowest';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
index 7dd21f1..9c8dd1a 100644
--- a/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/hr_spamfilter_whitelist_list.lng
@@ -7,3 +7,5 @@
$wb['email_txt'] = 'Whitelistani email';
$wb['add_new_record_txt'] = 'Dodaj whitelistu';
?>
+
+
diff --git a/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng b/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
index a41b1a9..4513960 100644
--- a/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
+++ b/interface/web/mail/lib/lang/hr_user_quota_stats_list.lng
@@ -1,8 +1,10 @@
<?php
-$wb['list_head_txt'] = 'Mailbox quota';
-$wb['quota_txt'] = 'Kvota';
-$wb['name_txt'] = 'Name';
-$wb['email_txt'] = 'Email Address';
-$wb['used_txt'] = 'Used space';
-$wb['percentage_txt'] = 'Used %';
+$wb['list_head_txt'] = 'Limiti sandučića';
+$wb['quota_txt'] = 'Limit';
+$wb['name_txt'] = 'Ime';
+$wb['email_txt'] = 'Email adresa';
+$wb['used_txt'] = 'Prostor';
+$wb['percentage_txt'] = 'Koristi %';
?>
+
+
diff --git a/interface/web/mail/lib/lang/se.lng b/interface/web/mail/lib/lang/se.lng
index 6542378..3edc203 100644
--- a/interface/web/mail/lib/lang/se.lng
+++ b/interface/web/mail/lib/lang/se.lng
@@ -46,4 +46,3 @@
$wb['Relay Recipients'] = 'Relay Recipients';
$wb['Mailbox quota'] = 'Mailbox quota';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_alias.lng b/interface/web/mail/lib/lang/se_mail_alias.lng
index 4dc4e25..e0f6135 100644
--- a/interface/web/mail/lib/lang/se_mail_alias.lng
+++ b/interface/web/mail/lib/lang/se_mail_alias.lng
@@ -12,4 +12,3 @@
$wb['duplicate_email_alias_txt'] = 'Detta epostalias finns redan';
$wb['source_txt'] = 'Alias';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_alias_list.lng b/interface/web/mail/lib/lang/se_mail_alias_list.lng
index e72d91b..3b63170 100644
--- a/interface/web/mail/lib/lang/se_mail_alias_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_alias_list.lng
@@ -6,4 +6,3 @@
$wb['source_txt'] = 'Källa';
$wb['add_new_record_txt'] = 'Lägg till nytt epostalias';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
index 9a2c5c3..e2105fb 100644
--- a/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
+++ b/interface/web/mail/lib/lang/se_mail_aliasdomain.lng
@@ -9,4 +9,3 @@
$wb['source_error_unique'] = 'Källdomänen finns redan.';
$wb['source_error_regex'] = 'Ogiltig källdomän..';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
index d04d8cd..e874039 100644
--- a/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_aliasdomain_list.lng
@@ -5,4 +5,3 @@
$wb['destination_txt'] = 'Destination';
$wb['add_new_record_txt'] = 'Lägg till nytt domänalias';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_blacklist.lng b/interface/web/mail/lib/lang/se_mail_blacklist.lng
index 70b1be5..34b1f76 100644
--- a/interface/web/mail/lib/lang/se_mail_blacklist.lng
+++ b/interface/web/mail/lib/lang/se_mail_blacklist.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
index d3da0de..158b989 100644
--- a/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_blacklist_list.lng
@@ -8,4 +8,3 @@
$wb['recipient_txt'] = 'Mottagare';
$wb['access_txt'] = 'åtkomst';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_content_filter.lng b/interface/web/mail/lib/lang/se_mail_content_filter.lng
index c7fb595..2f82e76 100644
--- a/interface/web/mail/lib/lang/se_mail_content_filter.lng
+++ b/interface/web/mail/lib/lang/se_mail_content_filter.lng
@@ -7,4 +7,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['pattern_error_empty'] = 'Matchningsfältet är tomt.';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
index c612f9b..6eac193 100644
--- a/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_content_filter_list.lng
@@ -6,4 +6,3 @@
$wb['action_txt'] = 'Händelse';
$wb['add_new_record_txt'] = 'Lägg till nytt innehållsfilter';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain.lng b/interface/web/mail/lib/lang/se_mail_domain.lng
index e3715f6..7e3853e 100644
--- a/interface/web/mail/lib/lang/se_mail_domain.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain.lng
@@ -20,4 +20,3 @@
$wb["dkim_settings_txt"] = 'DomainKeys Identified Mail (DKIM)';
$wb['no_policy'] = '- ej aktiverat -';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
index bf8cd12..a4a203d 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_admin_list.lng
@@ -6,4 +6,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['sys_groupid_txt'] = 'Kund';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
index 9e03e69..7ef1116 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_catchall.lng
@@ -9,4 +9,3 @@
$wb['source_txt'] = 'Källa';
$wb['destination_error_isemail'] = 'Destinationen när inte en giltig epostadress.';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
index 0e6958e..51789ee 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_catchall_list.lng
@@ -7,4 +7,3 @@
$wb['active_txt'] = 'Aktiv';
$wb['source_txt'] = 'källa';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_domain_list.lng b/interface/web/mail/lib/lang/se_mail_domain_list.lng
index 96120f5..4f3b548 100644
--- a/interface/web/mail/lib/lang/se_mail_domain_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_domain_list.lng
@@ -5,4 +5,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny domän';
$wb['active_txt'] = 'Aktiv';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_forward.lng b/interface/web/mail/lib/lang/se_mail_forward.lng
index 511e0b6..af583f0 100644
--- a/interface/web/mail/lib/lang/se_mail_forward.lng
+++ b/interface/web/mail/lib/lang/se_mail_forward.lng
@@ -7,4 +7,3 @@
$wb['domain_txt'] = 'Domän';
$wb['source_txt'] = 'Källadress';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_forward_list.lng b/interface/web/mail/lib/lang/se_mail_forward_list.lng
index f271306..e1d7464 100644
--- a/interface/web/mail/lib/lang/se_mail_forward_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_forward_list.lng
@@ -6,4 +6,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny vidarebefordran';
$wb['source_txt'] = 'källa';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_get.lng b/interface/web/mail/lib/lang/se_mail_get.lng
index f15208c..9ed9710 100644
--- a/interface/web/mail/lib/lang/se_mail_get.lng
+++ b/interface/web/mail/lib/lang/se_mail_get.lng
@@ -14,7 +14,6 @@
$wb['destination_error_isemail'] = 'Ingen destination vald.';
$wb['source_server_error_regex'] = 'POP3-/Imapserver är inte ett giltigt domännamn.';
$wb['source_read_all_txt'] = 'Hämta all epost (även läst epost)';
-$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use "Delete emails after retrieval" = no together with "Retrieve all emails" = yes';
+$wb['error_delete_read_all_combination'] = 'Illegal combination of options. You can not use \\"Delete emails after retrieval\\" = no together with \\"Retrieve all emails\\" = yes';
$wb['source_delete_note_txt'] = 'Vänligen kontrollera först om eposthämtning fungerar innan du aktiverar detta val..';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_get_list.lng b/interface/web/mail/lib/lang/se_mail_get_list.lng
index 0d06cad..9369095 100644
--- a/interface/web/mail/lib/lang/se_mail_get_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_get_list.lng
@@ -7,4 +7,3 @@
$wb['destination_txt'] = 'Destination';
$wb['add_new_record_txt'] = 'Lägg till nytt konto';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist.lng b/interface/web/mail/lib/lang/se_mail_mailinglist.lng
index 68a7130..e7f927b 100644
--- a/interface/web/mail/lib/lang/se_mail_mailinglist.lng
+++ b/interface/web/mail/lib/lang/se_mail_mailinglist.lng
@@ -20,4 +20,3 @@
$wb['email_error_isemail'] = 'Epostadressen är ogiltig';
$wb['mailinglist_txt'] = 'Epostlista';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
index 11a82be..2e9f364 100644
--- a/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_mailinglist_list.lng
@@ -3,4 +3,3 @@
$wb['domain_txt'] = 'Domän';
$wb['listname_txt'] = 'Listnamn';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
index ffb64ad..7506198 100644
--- a/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
+++ b/interface/web/mail/lib/lang/se_mail_relay_recipient.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Det maximala antalet epostfilter för ditt konto är uppnått.';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
index 4c34ebf..c9176c7 100644
--- a/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_relay_recipient_list.lng
@@ -7,4 +7,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny relämottagare';
$wb['access_txt'] = 'åtkomst';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter.lng b/interface/web/mail/lib/lang/se_mail_spamfilter.lng
index 3080425..c83f09c 100644
--- a/interface/web/mail/lib/lang/se_mail_spamfilter.lng
+++ b/interface/web/mail/lib/lang/se_mail_spamfilter.lng
@@ -15,4 +15,3 @@
$wb['spam_redirect_maildir_purge_txt'] = 'Töm mappen efter';
$wb['days_txt'] = 'Dagar';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
index 407d516..2c361e1 100644
--- a/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_spamfilter_list.lng
@@ -6,4 +6,3 @@
$wb['email_txt'] = 'Epost';
$wb['add_new_record_txt'] = 'Lägg till nytt spamfilter';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_transport.lng b/interface/web/mail/lib/lang/se_mail_transport.lng
index 198f807..70e26b7 100644
--- a/interface/web/mail/lib/lang/se_mail_transport.lng
+++ b/interface/web/mail/lib/lang/se_mail_transport.lng
@@ -9,4 +9,3 @@
$wb['limit_mailrouting_txt'] = 'Det maximala antalet epostrutter för ditt konto är uppnått.';
$wb['transport_txt'] = 'Transport';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_transport_list.lng b/interface/web/mail/lib/lang/se_mail_transport_list.lng
index 63474a8..2ce6dd8 100644
--- a/interface/web/mail/lib/lang/se_mail_transport_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_transport_list.lng
@@ -7,4 +7,3 @@
$wb['sort_order_txt'] = 'Sortera på';
$wb['add_new_record_txt'] = 'Lägg till ny transport';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user.lng b/interface/web/mail/lib/lang/se_mail_user.lng
index 9d98f33..d7d86b7 100644
--- a/interface/web/mail/lib/lang/se_mail_user.lng
+++ b/interface/web/mail/lib/lang/se_mail_user.lng
@@ -57,4 +57,3 @@
$wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
$wb['disablesmtp_txt'] = 'Disable SMTP (sending)';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_filter.lng b/interface/web/mail/lib/lang/se_mail_user_filter.lng
index ed9574f..e6e62de 100644
--- a/interface/web/mail/lib/lang/se_mail_user_filter.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@
$wb['move_to_txt'] = 'Flytta till';
$wb['delete_txt'] = 'Radera';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
index 7825393..7d6e0c5 100644
--- a/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_filter_list.lng
@@ -5,4 +5,3 @@
$wb['page_of_txt'] = 'av';
$wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_list.lng b/interface/web/mail/lib/lang/se_mail_user_list.lng
index f18bc71..af96af8 100644
--- a/interface/web/mail/lib/lang/se_mail_user_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_list.lng
@@ -6,4 +6,3 @@
$wb['name_txt'] = 'Riktigt namn';
$wb['login_txt'] = 'Logga in';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
index 1bec4d4..de6afd7 100644
--- a/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_user_stats_list.lng
@@ -6,4 +6,3 @@
$wb['this_year_txt'] = 'I år';
$wb['last_year_txt'] = 'Föregående år';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_whitelist.lng b/interface/web/mail/lib/lang/se_mail_whitelist.lng
index 40eaf86..7ce682f 100644
--- a/interface/web/mail/lib/lang/se_mail_whitelist.lng
+++ b/interface/web/mail/lib/lang/se_mail_whitelist.lng
@@ -7,4 +7,3 @@
$wb['type_txt'] = 'Typ';
$wb['limit_mailfilter_txt'] = 'Maximala antalet epostfilter för ditt konto är uppnått.';
?>
-
diff --git a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
index a9f52a8..f72e8e2 100644
--- a/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/se_mail_whitelist_list.lng
@@ -8,4 +8,3 @@
$wb['recipient_txt'] = 'Mottagare';
$wb['access_txt'] = 'åtkomst';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
index 2839c6c..873e43d 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist.lng
@@ -10,4 +10,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
index edf0842..d5cac76 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_blacklist_list.lng
@@ -7,4 +7,3 @@
$wb['email_txt'] = 'Vitlistad epostadress';
$wb['add_new_record_txt'] = 'Lägg till svartlistning';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_config.lng b/interface/web/mail/lib/lang/se_spamfilter_config.lng
index ebfedb3..a67fb5b 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_config.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_config.lng
@@ -18,4 +18,3 @@
$wb['mailbox_size_limit_txt'] = 'Mailbox Size Limit';
$wb['message_size_limit_txt'] = 'Message Size Limit';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
index 52b398b..9d2ec14 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_config_list.lng
@@ -3,4 +3,3 @@
$wb['server_name_txt'] = 'Server';
$wb['server_id_txt'] = 'server_id';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy.lng b/interface/web/mail/lib/lang/se_spamfilter_policy.lng
index d5a429b..e876330 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_policy.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_policy.lng
@@ -36,4 +36,3 @@
$wb['message_size_limit_txt'] = 'Message size limit';
$wb['banned_rulenames_txt'] = 'Banned rulenames';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
index da678a4..04491ae 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_policy_list.lng
@@ -7,4 +7,3 @@
$wb['bad_header_lover_txt'] = 'Bad Header lover';
$wb['add_new_record_txt'] = 'Add Policy record';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_users.lng b/interface/web/mail/lib/lang/se_spamfilter_users.lng
index babb304..ba3b60e 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_users.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_users.lng
@@ -11,4 +11,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
index 830ac39..4ff8784 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_users_list.lng
@@ -8,4 +8,3 @@
$wb['email_txt'] = 'Epost';
$wb['add_new_record_txt'] = 'Lägg till spamfilteranvändare';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
index 2839c6c..873e43d 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist.lng
@@ -10,4 +10,3 @@
$wb['5 - medium'] = '5 - medium';
$wb['1 - lowest'] = '1 - lägsta';
?>
-
diff --git a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
index 00185a0..080ec27 100644
--- a/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
+++ b/interface/web/mail/lib/lang/se_spamfilter_whitelist_list.lng
@@ -7,4 +7,3 @@
$wb['email_txt'] = 'Vitlistad epostadress';
$wb['add_new_record_txt'] = 'Lägg till vitlistning';
?>
-
diff --git a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
index 380cf5b..dc57c61 100755
--- a/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
+++ b/interface/web/mail/lib/lang/se_user_quota_stats_list.lng
@@ -6,4 +6,3 @@
$wb['used_txt'] = 'Använt utrymme';
$wb['percentage_txt'] = 'Använt %';
?>
-
diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index f405376..6b73c7c 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -428,6 +428,57 @@
$app->db->datalogDelete('spamfilter_users', 'id', $tmp_user["id"]);
}
} // endif spamfilter policy
+ //** If the domain name or owner has been changed, change the domain and owner in all mailbox records
+ if($this->oldDataRecord['domain'] != $this->dataRecord['domain'] || (isset($this->dataRecord['client_group_id']) && $this->oldDataRecord['sys_groupid'] != $this->dataRecord['client_group_id'])) {
+ $app->uses('getconf');
+ $mail_config = $app->getconf->get_server_config($this->dataRecord["server_id"], 'mail');
+
+ //* Update the mailboxes
+ $mailusers = $app->db->queryAllRecords("SELECT * FROM mail_user WHERE email like '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
+ $sys_groupid = $app->functions->intval((isset($this->dataRecord['client_group_id']))?$this->dataRecord['client_group_id']:$this->oldDataRecord['sys_groupid']);
+ $tmp = $app->db->queryOneRecord("SELECT userid FROM sys_user WHERE default_group = $client_group_id");
+ $client_user_id = $app->functions->intval(($tmp['userid'] > 0)?$tmp['userid']:1);
+ if(is_array($mailusers)) {
+ foreach($mailusers as $rec) {
+ // setting Maildir, Homedir, UID and GID
+ $mail_parts = explode("@", $rec['email']);
+ $maildir = str_replace("[domain]", $this->dataRecord['domain'], $mail_config["maildir_path"]);
+ $maildir = str_replace("[localpart]", $mail_parts[0], $maildir);
+ $maildir = $app->db->quote($maildir);
+ $email = $app->db->quote($mail_parts[0].'@'.$this->dataRecord['domain']);
+ $app->db->datalogUpdate('mail_user', "maildir = '$maildir', email = '$email', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'mailuser_id', $rec['mailuser_id']);
+ }
+ }
+
+ //* Update the aliases
+ $forwardings = $app->db->queryAllRecords("SELECT * FROM mail_forwarding WHERE source like '%@".$app->db->quote($this->oldDataRecord['domain'])."' OR destination like '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
+ if(is_array($forwardings)) {
+ foreach($forwardings as $rec) {
+ $destination = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['destination']));
+ $source = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['source']));
+ $app->db->datalogUpdate('mail_forwarding', "source = '$source', destination = '$destination', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'forwarding_id', $rec['forwarding_id']);
+ }
+ }
+
+ //* Update the mailinglist
+ $app->db->query("UPDATE mail_mailinglist SET sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE domain = '".$app->db->quote($this->oldDataRecord['domain'])."'");
+
+ //* Update fetchmail accounts
+ $fetchmail = $app->db->queryAllRecords("SELECT * FROM mail_get WHERE destination like '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
+ if(is_array($fetchmail)) {
+ foreach($fetchmail as $rec) {
+ $destination = $app->db->quote(str_replace($this->oldDataRecord['domain'], $this->dataRecord['domain'], $rec['destination']));
+ $app->db->datalogUpdate('mail_get', "destination = '$destination', sys_userid = $client_user_id, sys_groupid = '$sys_groupid'", 'mailget_id', $rec['mailget_id']);
+ }
+ }
+
+ //* Delete the old spamfilter record
+ $tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'");
+ $app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]);
+ unset($tmp);
+
+ } // end if domain name changed
+
}
}
diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php
index 02a27fb..ddc0ceb 100644
--- a/interface/web/mail/mail_user_edit.php
+++ b/interface/web/mail/mail_user_edit.php
@@ -166,7 +166,7 @@
}
// Check the quota and adjust
- if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && $app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) {
+ if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0 && (($app->functions->intval($this->dataRecord["quota"]) * 1024 * 1024 != $this->oldDataRecord['quota']) || ($_POST["quota"] <= 0))) {
$tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
$mailquota = $tmp["mailquota"] / 1024 / 1024;
$new_mailbox_quota = $app->functions->intval($this->dataRecord["quota"]);
diff --git a/interface/web/mailuser/lib/lang/cz.lng b/interface/web/mailuser/lib/lang/cz.lng
index 8b4b58b..4c947bd 100644
--- a/interface/web/mailuser/lib/lang/cz.lng
+++ b/interface/web/mailuser/lib/lang/cz.lng
@@ -7,3 +7,4 @@
$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 45af56e..cb39d65 100644
--- a/interface/web/mailuser/lib/lang/cz_index.lng
+++ b/interface/web/mailuser/lib/lang/cz_index.lng
@@ -10,3 +10,4 @@
$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 ef3aeb4..5ed9a1f 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['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 0d9a7f5..adc49f1 100644
--- a/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/cz_mail_user_cc.lng
@@ -7,3 +7,4 @@
$wb['name_optional_txt'] = '(Volitelné)';
$wb['cc_note_txt'] = '(Při přeposílání na více e-mailových adres, oddělte čárkami.)';
?>
+
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 3df9d38..60bd664 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['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 3c2593d..c7198af 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_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 4f914cd..2d09b75 100644
--- a/interface/web/mailuser/lib/lang/cz_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/cz_mail_user_password.lng
@@ -8,3 +8,4 @@
$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 2a53036..00720f8 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['no_policy'] = '- nepovoleno -';
$wb['policy_txt'] = 'Politika';
?>
+
diff --git a/interface/web/mailuser/lib/lang/hr.lng b/interface/web/mailuser/lib/lang/hr.lng
index 114dec9..2113122 100644
--- a/interface/web/mailuser/lib/lang/hr.lng
+++ b/interface/web/mailuser/lib/lang/hr.lng
@@ -1,9 +1,11 @@
<?php
-$wb['Email Account'] = 'Email Account';
-$wb['Overview'] = 'Overview';
-$wb['Password'] = 'Password';
+$wb['Email Account'] = 'Email račun';
+$wb['Overview'] = 'Pregled';
+$wb['Password'] = 'Šifra';
$wb['Autoresponder'] = 'Autoresponder';
-$wb['Send copy'] = 'Send copy';
+$wb['Send copy'] = 'Pošalji kopiju';
$wb['Spamfilter'] = 'Spamfilter';
-$wb['Email Filters'] = 'Email Filters';
+$wb['Email Filters'] = 'Email filteri';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_index.lng b/interface/web/mailuser/lib/lang/hr_index.lng
index 29fe9ea..5daeff1 100644
--- a/interface/web/mailuser/lib/lang/hr_index.lng
+++ b/interface/web/mailuser/lib/lang/hr_index.lng
@@ -1,12 +1,14 @@
<?php
-$wb['page_head_txt'] = 'Mailbox settings';
+$wb['page_head_txt'] = 'Postavke sandučića';
$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['email_txt'] = 'Email adresa';
+$wb['login_txt'] = 'Prijava';
+$wb['server_address_txt'] = 'Adresa mail servera';
+$wb['cc_txt'] = 'Pošalji kopiju na (CC)';
+$wb['quota_txt'] = 'Veličina sandučića';
+$wb['unlimited_txt'] = 'Neograničeno';
$wb['mb_txt'] = 'MB';
-$wb['none_txt'] = 'None';
+$wb['none_txt'] = 'Ništa';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
index 79f386a..6cf4766 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_autoresponder.lng
@@ -1,13 +1,15 @@
<?php
$wb['mailbox_autoresponder_txt'] = 'Autoresponder';
$wb['autoresponder_subject'] = 'Out of office reply';
-$wb['autoresponder_text_txt'] = 'Text';
+$wb['autoresponder_text_txt'] = 'Tekst';
$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['now_txt'] = 'Sada';
$wb['autoresponder_subject_txt'] = 'Betreff';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng b/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
index 8187788..4c54745 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_cc.lng
@@ -7,3 +7,5 @@
$wb['name_optional_txt'] = '(Optional)';
$wb['cc_note_txt'] = '(Separate multiple email addresses with commas)';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng b/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
index 2e74ffd..3367931 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_filter.lng
@@ -1,20 +1,22 @@
<?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'] = 'Naziv';
+$wb['action_txt'] = 'Akcija';
+$wb['target_txt'] = 'Direktorij';
+$wb['active_txt'] = 'Aktivno';
+$wb['rulename_error_empty'] = 'Naziv je prazan.';
+$wb['searchterm_is_empty'] = 'Traženi pojam je prazan.';
+$wb['source_txt'] = 'Izvor';
+$wb['target_error_regex'] = 'Odredište može sadržavati samo ove znakove: a-z, 0-9, -, ., _, i {space}';
+$wb['limit_mailfilter_txt'] = 'Iskoristili ste maksimalan broj mail filtera.';
+$wb['subject_txt'] = 'Naslov';
+$wb['from_txt'] = 'Od';
+$wb['to_txt'] = 'Za';
+$wb['contains_txt'] = 'Sadrži';
+$wb['is_txt'] = 'je';
+$wb['begins_with_txt'] = 'Počinje sa';
+$wb['ends_with_txt'] = 'Završava sa';
+$wb['move_to_txt'] = 'Prebaci u ';
+$wb['delete_txt'] = 'Obriši';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
index fb6b9df..6403659 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_filter_list.lng
@@ -1,8 +1,10 @@
<?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'] = 'Prvila za email filtere';
+$wb['rulename_txt'] = 'Naziv';
+$wb['add_new_record_txt'] = 'Dodaj novi filter';
+$wb['page_txt'] = 'Stranica';
+$wb['page_of_txt'] = 'od';
+$wb['delete_confirmation'] = 'Da li stvarno želite obrisati ovaj mail filter?';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_password.lng b/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
index cdf9674..73d6c7d 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_password.lng
@@ -1,10 +1,12 @@
<?php
-$wb['mailbox_password_txt'] = 'Mailbox password';
-$wb['password_txt'] = 'Password';
-$wb['password_strength_txt'] = 'Password strength';
+$wb['mailbox_password_txt'] = 'Mailbox šifra';
+$wb['password_txt'] = 'Šifra';
+$wb['password_strength_txt'] = 'Jačina šifre';
$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'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
index be4bad9..0f82f0a 100644
--- a/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
+++ b/interface/web/mailuser/lib/lang/hr_mail_user_spamfilter.lng
@@ -1,7 +1,9 @@
<?php
-$wb['mailbox_spamfilter_txt'] = 'Spamfilter';
-$wb['spamfilter_txt'] = 'Spamfilter';
+$wb['mailbox_spamfilter_txt'] = 'Spam filter';
+$wb['spamfilter_txt'] = 'Spam filter';
$wb['email_txt'] = 'Email';
-$wb['no_policy'] = '- not enabled -';
-$wb['policy_txt'] = 'Policy';
+$wb['no_policy'] = '- isključeno -';
+$wb['policy_txt'] = 'Pravila';
?>
+
+
diff --git a/interface/web/mailuser/lib/lang/se.lng b/interface/web/mailuser/lib/lang/se.lng
index f9e6f5b..b0d55d4 100644
--- a/interface/web/mailuser/lib/lang/se.lng
+++ b/interface/web/mailuser/lib/lang/se.lng
@@ -7,4 +7,3 @@
$wb['Spamfilter'] = 'Spamfilter';
$wb['Email Filters'] = 'Epostfilter';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_index.lng b/interface/web/mailuser/lib/lang/se_index.lng
index a23c6a6..785507b 100644
--- a/interface/web/mailuser/lib/lang/se_index.lng
+++ b/interface/web/mailuser/lib/lang/se_index.lng
@@ -10,4 +10,3 @@
$wb['mb_txt'] = 'MB';
$wb['none_txt'] = 'Inget';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
index 9429978..4a9215c 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_autoresponder.lng
@@ -11,4 +11,3 @@
$wb['now_txt'] = 'Nu';
$wb['autoresponder_subject_txt'] = 'Ämnesrad';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
index 203a928..b01ae1b 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_cc.lng
@@ -7,4 +7,3 @@
$wb['name_optional_txt'] = '(Frivilligt)';
$wb['cc_note_txt'] = '(Separera flera epostadresser med kommatecken)';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
index 17da57a..8cf96ce 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_filter.lng
@@ -18,4 +18,3 @@
$wb['move_to_txt'] = 'Flytta till';
$wb['delete_txt'] = 'Radera';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
index f4f757d..c21eef0 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_filter_list.lng
@@ -6,4 +6,3 @@
$wb['page_of_txt'] = 'av';
$wb['delete_confirmation'] = 'Vill du verkligen radera epostfiltret?';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_password.lng b/interface/web/mailuser/lib/lang/se_mail_user_password.lng
index 27ebb37..c784301 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_password.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_password.lng
@@ -8,4 +8,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
-
diff --git a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
index e457b5a..7ec5f2a 100644
--- a/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
+++ b/interface/web/mailuser/lib/lang/se_mail_user_spamfilter.lng
@@ -5,4 +5,3 @@
$wb['no_policy'] = '- ej aktiverat -';
$wb['policy_txt'] = 'Policy';
?>
-
diff --git a/interface/web/mailuser/mail_user_password_edit.php b/interface/web/mailuser/mail_user_password_edit.php
index f6d6d78..07a1925 100644
--- a/interface/web/mailuser/mail_user_password_edit.php
+++ b/interface/web/mailuser/mail_user_password_edit.php
@@ -51,7 +51,8 @@
class page_action extends tform_actions {
function onSubmit() {
-
+ global $app, $conf;
+
$this->id = $app->functions->intval($_SESSION['s']['user']['mailuser_id']);
parent::onSubmit();
diff --git a/interface/web/monitor/lib/lang/cz.lng b/interface/web/monitor/lib/lang/cz.lng
index 3b6f593..a4aadd9 100644
--- a/interface/web/monitor/lib/lang/cz.lng
+++ b/interface/web/monitor/lib/lang/cz.lng
@@ -158,3 +158,4 @@
$wb['monitor_database_client_txt'] = 'Client';
$wb['monitor_database_domain_txt'] = 'Domain';
?>
+
diff --git a/interface/web/monitor/lib/lang/cz_datalog_list.lng b/interface/web/monitor/lib/lang/cz_datalog_list.lng
index c9e9a86..29d8cbb 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['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 9906625..864232e 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['loglevel_txt'] = 'Logovací úroveň';
$wb['message_txt'] = 'Zpráva';
?>
+
diff --git a/interface/web/monitor/lib/lang/hr.lng b/interface/web/monitor/lib/lang/hr.lng
index da1a09d..7924392 100644
--- a/interface/web/monitor/lib/lang/hr.lng
+++ b/interface/web/monitor/lib/lang/hr.lng
@@ -73,7 +73,7 @@
$wb['monitor_serverstate_error_txt'] = 'grešaka/i';
$wb['monitor_serverstate_moreinfo_txt'] = 'Više informacija...';
$wb['monitor_serverstate_more_txt'] = 'Više...';
-$wb['monitor_serverstate_fclamok_txt'] = 'Antivirusna zaštita je ok';
+$wb['monitor_serverstate_fclamok_txt'] = 'Antivirusna zaštita je OK';
$wb['monitor_serverstate_fclamoutdated_txt'] = 'Vaša antivirusna zaštita je stara!';
$wb['monitor_serverstate_fclamunknown_txt'] = 'Freshclam: ???!';
$wb['monitor_serverstate_hdok_txt'] = 'Stanje vašeg tvrdog diska je ok';
@@ -88,19 +88,19 @@
$wb['monitor_serverstate_listcritical_txt'] = 'kritično';
$wb['monitor_serverstate_listerror_txt'] = 'greška';
$wb['monitor_serverstate_listunknown_txt'] = 'nepoznato';
-$wb['monitor_serverstate_loadok_txt'] = 'Opterećenje servera je ok';
+$wb['monitor_serverstate_loadok_txt'] = 'Opterećenje servera je OK';
$wb['monitor_serverstate_loadheavy_txt'] = 'Server je pod opterećenjem';
$wb['monitor_serverstate_loadhigh_txt'] = 'Server je pod velikim opterećenjem';
$wb['monitor_serverstate_loaghigher_txt'] = 'Server je pod vrlo velikim opterećenjem';
$wb['monitor_serverstate_loadhighest_txt'] = 'Server je maksimalno opterećen';
$wb['monitor_serverstate_loadunknown_txt'] = 'Opterećenje servera: ???';
-$wb['monitor_serverstate_mailqok_txt'] = 'Mail redoslijed opterećenje je ok';
+$wb['monitor_serverstate_mailqok_txt'] = 'Mail redoslijed opterećenje je OK';
$wb['monitor_serverstate_mailqheavy_txt'] = 'Mail redoslijed je pod opterećenjem';
$wb['monitor_serverstate_mailqhigh_txt'] = 'Mail redoslijed je pod velikim opterećenjem';
$wb['monitor_serverstate_mailqhigher_txt'] = 'Mail redoslijed je pod vrlo velikim opterećenjem';
$wb['monitor_serverstate_mailqhighest_txt'] = 'Mail redoslijed je maksimalno opterećen';
$wb['monitor_serverstate_mailqunknown_txt'] = 'Mail redoslijed: ???';
-$wb['monitor_serverstate_raidok_txt'] = 'RAID je ok';
+$wb['monitor_serverstate_raidok_txt'] = 'RAID je OK';
$wb['monitor_serverstate_raidresync_txt'] = 'RAID je u RESYNC modu';
$wb['monitor_serverstate_raidfault_txt'] = 'Jedan RAID disk je neispravan. Zamjenite disk što prije';
$wb['monitor_serverstate_raiderror_txt'] = 'RAID više ne radi';
@@ -115,7 +115,7 @@
$wb['monitor_serverstate_updatesok_txt'] = 'Nema nadogradnji za sistem.';
$wb['monitor_serverstate_updatesneeded_txt'] = 'Postoji nadogradnja za jednu ili više komponenti ';
$wb['monitor_serverstate_updatesunknown_txt'] = 'Nadogradnja sistema: ???';
-$wb['monitor_serverstate_beancounterok_txt'] = 'Beancounter je ok';
+$wb['monitor_serverstate_beancounterok_txt'] = 'Beancounter je OK';
$wb['monitor_serverstate_beancounterinfo_txt'] = 'Postoje greške u beancounter-u';
$wb['monitor_serverstate_beancounterwarning_txt'] = 'Postoji par greški u beancounter-u';
$wb['monitor_serverstate_beancountercritical_txt'] = 'Postoji puno grešaka u beancounter-u';
@@ -146,10 +146,12 @@
$wb['Show fail2ban-Log'] = 'Prikaži Fail2Ban log';
$wb['Show IPTables'] = 'Prikaži IPTables';
$wb['Show OpenVz VE BeanCounter'] = 'Prikaži OpenVz VE BeanCounter';
-$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['Show Monit'] = 'Prikaži Monit';
+$wb['no_monit_url_defined_txt'] = 'Monit URL nije definiran.';
+$wb['no_permissions_to_view_monit_txt'] = 'Nemate dozvolu za pristup Monit-u.';
+$wb['Show Munin'] = 'Prikaži 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['no_permissions_to_view_munin_txt'] = 'Nemate dozvolu za pristup Munin-u.';
?>
+
+
diff --git a/interface/web/monitor/lib/lang/hr_datalog_list.lng b/interface/web/monitor/lib/lang/hr_datalog_list.lng
index e6e8f86..46b0c64 100644
--- a/interface/web/monitor/lib/lang/hr_datalog_list.lng
+++ b/interface/web/monitor/lib/lang/hr_datalog_list.lng
@@ -6,3 +6,5 @@
$wb['action_txt'] = 'Akcija';
$wb['status_txt'] = 'Status';
?>
+
+
diff --git a/interface/web/monitor/lib/lang/hr_syslog_list.lng b/interface/web/monitor/lib/lang/hr_syslog_list.lng
index 83c5fcd..2193d38 100644
--- a/interface/web/monitor/lib/lang/hr_syslog_list.lng
+++ b/interface/web/monitor/lib/lang/hr_syslog_list.lng
@@ -5,3 +5,5 @@
$wb['loglevel_txt'] = 'Logovi';
$wb['message_txt'] = 'Poruka';
?>
+
+
diff --git a/interface/web/monitor/lib/lang/se.lng b/interface/web/monitor/lib/lang/se.lng
index 2d6b519..cbc57c1 100644
--- a/interface/web/monitor/lib/lang/se.lng
+++ b/interface/web/monitor/lib/lang/se.lng
@@ -158,4 +158,3 @@
$wb['no_munin_url_defined_txt'] = 'Ingen Munin-URL definierad.';
$wb['no_permissions_to_view_munin_txt'] = 'Du har inte behörighet att visa Munin.';
?>
-
diff --git a/interface/web/monitor/lib/lang/se_datalog_list.lng b/interface/web/monitor/lib/lang/se_datalog_list.lng
index 527b149..e3e76ea 100644
--- a/interface/web/monitor/lib/lang/se_datalog_list.lng
+++ b/interface/web/monitor/lib/lang/se_datalog_list.lng
@@ -6,4 +6,3 @@
$wb['action_txt'] = 'Händelse';
$wb['status_txt'] = 'Status';
?>
-
diff --git a/interface/web/monitor/lib/lang/se_syslog_list.lng b/interface/web/monitor/lib/lang/se_syslog_list.lng
index f3194b6..6c7268c 100644
--- a/interface/web/monitor/lib/lang/se_syslog_list.lng
+++ b/interface/web/monitor/lib/lang/se_syslog_list.lng
@@ -5,4 +5,3 @@
$wb['loglevel_txt'] = 'Loggnivå';
$wb['message_txt'] = 'Meddelande';
?>
-
diff --git a/interface/web/remote/index.php b/interface/web/remote/index.php
index 369cb2a..3e11139 100644
--- a/interface/web/remote/index.php
+++ b/interface/web/remote/index.php
@@ -6,7 +6,10 @@
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
-$app->load('soap_handler');
+$app->load('soap_handler,getconf');
+
+$security_config = $app->getconf->get_security_config('permissions');
+if($security_config['remote_api_allowed'] != 'yes') die('Remote API is disabled in security settings.');
$server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
$server->setObject(new ISPConfigSoapHandler());
diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 22b631a..9494cd3 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -349,15 +349,7 @@
// we need remote access rights for this server, so get it's ip address
$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
if($server_config['ip_address']!='') {
- /*
- if($this->dataRecord['remote_access'] != 'y') $this->dataRecord['remote_ips'] = '';
- $this->dataRecord['remote_access'] = 'y';
- if(preg_match('/(^|,)' . preg_quote($server_config['ip_address'], '/') . '(,|$)/', $this->dataRecord['remote_ips']) == false) {
- $this->dataRecord['remote_ips'] .= ($this->dataRecord['remote_ips'] != '' ? ',' : '') . $server_config['ip_address'];
- }
- */
-
- if(isset($this->dataRecord['remote_access']) && $this->dataRecord['remote_access'] != 'y'){
+ if($this->dataRecord['remote_access'] != 'y'){
$this->dataRecord['remote_ips'] = $server_config['ip_address'];
$this->dataRecord['remote_access'] = 'y';
} else {
@@ -436,15 +428,7 @@
// we need remote access rights for this server, so get it's ip address
$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
if($server_config['ip_address']!='') {
- /*
- if($this->dataRecord['remote_access'] != 'y') $this->dataRecord['remote_ips'] = '';
- $this->dataRecord['remote_access'] = 'y';
- if(preg_match('/(^|,)' . preg_quote($server_config['ip_address'], '/') . '(,|$)/', $this->dataRecord['remote_ips']) == false) {
- $this->dataRecord['remote_ips'] .= ($this->dataRecord['remote_ips'] != '' ? ',' : '') . $server_config['ip_address'];
- }
- */
-
- if(isset($this->dataRecord['remote_access']) && $this->dataRecord['remote_access'] != 'y'){
+ if($this->dataRecord['remote_access'] != 'y'){
$this->dataRecord['remote_ips'] = $server_config['ip_address'];
$this->dataRecord['remote_access'] = 'y';
} else {
@@ -488,10 +472,6 @@
function onInsertSave($sql) {
global $app, $conf;
- $app->uses('sites_database_plugin');
-
- //$app->sites_database_plugin->processDatabaseInsert($this);
-
$app->db->query($sql);
if($app->db->errorMessage != '') die($app->db->errorMessage);
$new_id = $app->db->insertID();
@@ -503,9 +483,6 @@
global $app;
if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab(), $this->id)) {
- $app->uses('sites_database_plugin');
- //$app->sites_database_plugin->processDatabaseUpdate($this);
-
$app->db->query($sql);
if($app->db->errorMessage != '') die($app->db->errorMessage);
}
@@ -514,34 +491,15 @@
function onAfterInsert() {
global $app, $conf;
- if($this->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["parent_domain_id"]));
-
- //* The Database user shall be owned by the same group then the website
- $sys_groupid = $app->functions->intval($web['sys_groupid']);
- $backup_interval = $app->db->quote($web['backup_interval']);
- $backup_copies = $app->functions->intval($web['backup_copies']);
-
- $sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$this->id;
- $app->db->query($sql);
- }
+ $app->uses('sites_database_plugin');
+ $app->sites_database_plugin->processDatabaseInsert($this);
}
function onAfterUpdate() {
global $app, $conf;
- if($this->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["parent_domain_id"]));
-
- //* The Database user shall be owned by the same group then the website
- $sys_groupid = $app->functions->intval($web['sys_groupid']);
- $backup_interval = $app->db->quote($web['backup_interval']);
- $backup_copies = $app->functions->intval($web['backup_copies']);
-
- $sql = "UPDATE web_database SET sys_groupid = '$sys_groupid', backup_interval = '$backup_interval', backup_copies = '$backup_copies' WHERE database_id = ".$this->id;
- $app->db->query($sql);
- }
-
+ $app->uses('sites_database_plugin');
+ $app->sites_database_plugin->processDatabaseUpdate($this);
}
}
diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php
index 995e020..da3bf9c 100644
--- a/interface/web/sites/form/database.tform.php
+++ b/interface/web/sites/form/database.tform.php
@@ -88,7 +88,7 @@
'type' => array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
- 'default' => 'y',
+ 'default' => 'mysql',
'value' => array(
'mongo' => 'MongoDB',
'mysql' => 'MySQL'
@@ -156,7 +156,7 @@
'database_charset' => array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
- 'default' => 'y',
+ 'default' => '',
'value' => array('' => 'DB-Default', 'latin1' => 'Latin 1', 'utf8' => 'UTF-8')
),
'remote_access' => array (
diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php
index 1c54722..239bfdb 100644
--- a/interface/web/sites/form/ftp_user.tform.php
+++ b/interface/web/sites/form/ftp_user.tform.php
@@ -91,7 +91,7 @@
'validators' => array ( 0 => array ( 'type' => 'UNIQUE',
'errmsg'=> 'username_error_unique'),
1 => array ( 'type' => 'REGEX',
- 'regex' => '/^[\w\.\-]{0,64}$/',
+ 'regex' => '/^[\w\.\-@\+]{0,64}$/',
'errmsg'=> 'username_error_regex'),
),
'default' => '',
@@ -166,6 +166,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'uid_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '0',
'value' => '',
@@ -177,6 +184,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'gid_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysgroup',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '0',
'value' => '',
@@ -187,7 +201,14 @@
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'directory_error_empty'),
+ 'errmsg'=> 'directory_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
+ 'errmsg'=> 'directory_error_regex'),
+ 2 => array ( 'type' => 'CUSTOM',
+ 'class' => 'validate_ftpuser',
+ 'function' => 'ftp_dir',
+ 'errmsg' => 'directory_error_notinweb'),
),
'default' => '',
'value' => '',
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index ab7cef1..4268fc0 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -93,6 +93,13 @@
1 => array ( 'type' => 'REGEX',
'regex' => '/^[\w\.\-]{0,32}$/',
'errmsg'=> 'username_error_regex'),
+ 2 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => false,
+ 'errmsg' => 'invalid_username_txt'
+ ),
),
'default' => '',
'value' => '',
@@ -177,6 +184,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'uid_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '0',
'value' => '',
@@ -188,6 +202,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'uid_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysgroup',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '0',
'value' => '',
@@ -197,6 +218,12 @@
'shell' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'shell_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\/]{5,20}$/',
+ 'errmsg'=> 'shell_error_regex'),
+ ),
'default' => '/bin/bash',
'value' => '',
'width' => '30',
@@ -205,8 +232,15 @@
'dir' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
- 'errmsg'=> 'directory_error_empty'),
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'directory_error_empty'),
+ 1 => array ( 'type' => 'REGEX',
+ 'regex' => '/^\/[a-zA-Z0-9\ \.\-\_\/]{10,128}$/',
+ 'errmsg'=> 'directory_error_regex'),
+ 2 => array ( 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'shelluser_dir',
+ 'errmsg' => 'directory_error_notinweb'),
),
'default' => '',
'value' => '',
diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php
index 1ae1188..7d50b97 100644
--- a/interface/web/sites/form/web_vhost_domain.tform.php
+++ b/interface/web/sites/form/web_vhost_domain.tform.php
@@ -555,7 +555,7 @@
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => 'webalizer',
- 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
+ 'value' => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats', '' => 'None')
),
//#################################
// ENDE Datatable fields
@@ -641,6 +641,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'sysuser_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysuser',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '',
'value' => '',
@@ -652,6 +659,13 @@
'formtype' => 'TEXT',
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
'errmsg'=> 'sysgroup_error_empty'),
+ 1 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_systemuser',
+ 'function' => 'check_sysgroup',
+ 'check_names' => true,
+ 'errmsg' => 'invalid_system_user_or_group_txt'
+ ),
),
'default' => '',
'value' => '',
@@ -775,6 +789,13 @@
'apache_directives' => array (
'datatype' => 'TEXT',
'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array(
+ 'type' => 'CUSTOM',
+ 'class' => 'validate_domain',
+ 'function' => 'web_apache_directives',
+ 'errmsg' => 'apache_directive_blockd_error'
+ ),
+ ),
'default' => '',
'value' => '',
'width' => '30',
diff --git a/interface/web/sites/ftp_user_edit.php b/interface/web/sites/ftp_user_edit.php
index e4dec4a..bdbf3c2 100644
--- a/interface/web/sites/ftp_user_edit.php
+++ b/interface/web/sites/ftp_user_edit.php
@@ -142,6 +142,11 @@
$dir = $app->db->quote($web["document_root"]);
$uid = $app->db->quote($web["system_user"]);
$gid = $app->db->quote($web["system_group"]);
+
+ // Check system user and group
+ if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
+ $app->error('Invalid system user or group');
+ }
// The FTP user shall be owned by the same group then the website
$sys_groupid = $app->functions->intval($web['sys_groupid']);
@@ -152,7 +157,7 @@
function onBeforeUpdate() {
global $app, $conf, $interfaceConf;
-
+
/*
* If the names should be restricted -> do it!
*/
diff --git a/interface/web/sites/lib/lang/ar_ftp_user.lng b/interface/web/sites/lib/lang/ar_ftp_user.lng
index 0492731..42b8c4d 100644
--- a/interface/web/sites/lib/lang/ar_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ar_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/ar_shell_user.lng b/interface/web/sites/lib/lang/ar_shell_user.lng
index 8460d4e..0b274d3 100644
--- a/interface/web/sites/lib/lang/ar_shell_user.lng
+++ b/interface/web/sites/lib/lang/ar_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/ar_web_childdomain_list.lng b/interface/web/sites/lib/lang/ar_web_childdomain_list.lng
index 95a3b5f..9853f4a 100644
--- a/interface/web/sites/lib/lang/ar_web_childdomain_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_childdomain_list.lng
@@ -11,5 +11,4 @@
$wb['no_redirect_txt'] = 'No redirect';
$wb['no_flag_txt'] = 'No flag';
$wb['none_txt'] = 'None';
-
?>
diff --git a/interface/web/sites/lib/lang/ar_web_folder_list.lng b/interface/web/sites/lib/lang/ar_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/ar_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_domain.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
index 314ce83..f9e4b0e 100644
--- a/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ar_web_vhost_domain.lng
@@ -132,4 +132,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
index b8f85d3..5d27a57 100644
--- a/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
+++ b/interface/web/sites/lib/lang/ar_web_vhost_domain_list.lng
@@ -6,5 +6,4 @@
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
$wb['parent_domain_id_txt'] = 'Website';
-
?>
diff --git a/interface/web/sites/lib/lang/bg_ftp_user.lng b/interface/web/sites/lib/lang/bg_ftp_user.lng
index fc15872..4d5cef7 100644
--- a/interface/web/sites/lib/lang/bg_ftp_user.lng
+++ b/interface/web/sites/lib/lang/bg_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/bg_shell_user.lng b/interface/web/sites/lib/lang/bg_shell_user.lng
index 82a44af..1cf3c0d 100644
--- a/interface/web/sites/lib/lang/bg_shell_user.lng
+++ b/interface/web/sites/lib/lang/bg_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/bg_web_folder_list.lng b/interface/web/sites/lib/lang/bg_web_folder_list.lng
index 36c9cbc..4e0f4b8 100644
--- a/interface/web/sites/lib/lang/bg_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/bg_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Сървър';
$wb['parent_domain_id_txt'] = 'Уебсайт';
$wb['path_txt'] = 'Път';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
index ff89ba0..2824380 100644
--- a/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/bg_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Потребителско име';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_domain.lng b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
index 122987a..a35a575 100644
--- a/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/bg_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/br_ftp_user.lng b/interface/web/sites/lib/lang/br_ftp_user.lng
index 4873bfd..f46b94f 100644
--- a/interface/web/sites/lib/lang/br_ftp_user.lng
+++ b/interface/web/sites/lib/lang/br_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/br_shell_user.lng b/interface/web/sites/lib/lang/br_shell_user.lng
index 8a098cb..da57fb9 100644
--- a/interface/web/sites/lib/lang/br_shell_user.lng
+++ b/interface/web/sites/lib/lang/br_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/br_web_folder_list.lng b/interface/web/sites/lib/lang/br_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/br_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/br_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/br_web_folder_user_list.lng b/interface/web/sites/lib/lang/br_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/br_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/br_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_domain.lng b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
index b9d0d5a..4628490 100644
--- a/interface/web/sites/lib/lang/br_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/br_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/cz.lng b/interface/web/sites/lib/lang/cz.lng
index 5bd3d51..21112cd 100644
--- a/interface/web/sites/lib/lang/cz.lng
+++ b/interface/web/sites/lib/lang/cz.lng
@@ -33,3 +33,4 @@
$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 e661639..69887b5 100644
--- a/interface/web/sites/lib/lang/cz_aps.lng
+++ b/interface/web/sites/lib/lang/cz_aps.lng
@@ -56,3 +56,4 @@
$wb['btn_cancel_txt'] = 'Zrušit';
$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 7b7b6dd..16e863e 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['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 52ef6eb..cf0d2b6 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['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 8f4124b..edf9c2a 100644
--- a/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/cz_aps_update_packagelist.lng
@@ -5,3 +5,4 @@
$wb['btn_cancel_txt'] = 'Zrušit';
$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 fd4ec4d..8a78608 100644
--- a/interface/web/sites/lib/lang/cz_cron.lng
+++ b/interface/web/sites/lib/lang/cz_cron.lng
@@ -22,3 +22,4 @@
$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
$wb['command_error_empty'] = 'Command is empty.';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_cron_list.lng b/interface/web/sites/lib/lang/cz_cron_list.lng
index f50dee2..dfabfa4 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['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 6dd434e..a13b779 100644
--- a/interface/web/sites/lib/lang/cz_database.lng
+++ b/interface/web/sites/lib/lang/cz_database.lng
@@ -44,3 +44,4 @@
$wb['database_client_differs_txt'] = 'Klient mateřského webu a databáze se neshodují.';
$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 1a15459..e6c04f3 100644
--- a/interface/web/sites/lib/lang/cz_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/cz_database_admin_list.lng
@@ -9,3 +9,4 @@
$wb['sys_groupid_txt'] = 'Klient';
$wb['parent_domain_id_txt'] = 'Webové stránky';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_database_list.lng b/interface/web/sites/lib/lang/cz_database_list.lng
index 3cd425b..62bfe77 100644
--- a/interface/web/sites/lib/lang/cz_database_list.lng
+++ b/interface/web/sites/lib/lang/cz_database_list.lng
@@ -8,3 +8,4 @@
$wb['add_new_record_txt'] = 'Přidat databázi';
$wb['parent_domain_id_txt'] = 'Webové stránky';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_database_user.lng b/interface/web/sites/lib/lang/cz_database_user.lng
index 13b8782..127d1a3 100644
--- a/interface/web/sites/lib/lang/cz_database_user.lng
+++ b/interface/web/sites/lib/lang/cz_database_user.lng
@@ -21,3 +21,4 @@
$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 df7bf45..4027225 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['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 42cf36d..5fc1fc3 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['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 2ef0f29..319022b 100644
--- a/interface/web/sites/lib/lang/cz_ftp_user.lng
+++ b/interface/web/sites/lib/lang/cz_ftp_user.lng
@@ -24,11 +24,14 @@
$wb['directory_error_empty'] = 'Adresář je prázdný.';
$wb['directory_error_notinweb'] = 'Adresář není uvnitř webového kořenového adresáře.';
$wb['parent_domain_id_error_empty'] = 'Nevybrána žádná webová stránka.';
-$wb['quota_size_error_regex'] = 'Quota: enter a -1 for unlimited or a number > 0';
+$wb['quota_size_error_regex'] = 'Kvóta: zadejte -1 je bez omezení nebo číslo > 0 ';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['generate_password_txt'] = 'Generovat heslo';
$wb['repeat_password_txt'] = 'Opakujte heslo';
$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
$wb['password_match_txt'] = 'Hesla se shodují.';
+$wb['invalid_system_user_or_group_txt'] = 'Neplatný systémový uživatel nebo skupina';
+$wb['directory_error_regex'] = 'Neplatný adresář';
?>
+
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 79ec083..b23e8d0 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['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 9bc6bdd..76814af 100644
--- a/interface/web/sites/lib/lang/cz_shell_user.lng
+++ b/interface/web/sites/lib/lang/cz_shell_user.lng
@@ -28,4 +28,10 @@
$wb['password_match_txt'] = 'Hesla se shodují.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Neplatný systémový uživatel nebo skupina';
+$wb['directory_error_regex'] = 'Neplatný adresář';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
+
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 8a4ea40..5f2b5f5 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['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 8e3a8cc..f7c3b1f 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
@@ -7,3 +7,4 @@
$wb['soft_txt'] = 'Kvóta pro upozornění';
$wb['files_txt'] = 'Jednotlivé soubory';
?>
+
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 aab4a8f..fab2665 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['backup_type_mysql'] = 'MySQL Databáze';
$wb['backup_type_web'] = 'Soubory webových stránek';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_web_childdomain.lng b/interface/web/sites/lib/lang/cz_web_childdomain.lng
index 9ba73cc..1e58a96 100644
--- a/interface/web/sites/lib/lang/cz_web_childdomain.lng
+++ b/interface/web/sites/lib/lang/cz_web_childdomain.lng
@@ -67,7 +67,7 @@
$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['client_group_id_txt'] = 'Klient';
$wb['stats_password_txt'] = 'Set Webstatistics password';
$wb['allow_override_txt'] = 'Apache AllowOverride';
$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
@@ -127,3 +127,4 @@
$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
$wb['Domain'] = 'Alias domény pro webové stránky';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_web_childdomain_list.lng b/interface/web/sites/lib/lang/cz_web_childdomain_list.lng
index 820ed05..e271333 100644
--- a/interface/web/sites/lib/lang/cz_web_childdomain_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_childdomain_list.lng
@@ -13,3 +13,4 @@
$wb['none_txt'] = 'Žádná';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_web_domain.lng b/interface/web/sites/lib/lang/cz_web_domain.lng
index ddcac2e..1139253 100644
--- a/interface/web/sites/lib/lang/cz_web_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_domain.lng
@@ -127,4 +127,6 @@
$wb['backup_excludes_note_txt'] = '(Oddělte více adresářů čárkami. Vzor: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'Vyloučené adresáře obsahují neplatné znaky.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Neplatné nastavení php.ini';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
?>
+
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 e52a794..4a20c10 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['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 cbf025e..7829679 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['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 69310b5..7d520e0 100644
--- a/interface/web/sites/lib/lang/cz_web_folder.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder.lng
@@ -6,3 +6,4 @@
$wb['path_error_regex'] = 'Neplatná cesta ke složce.';
$wb['error_folder_already_protected_txt'] = 'Záznam pro tuto složku již existuje';
?>
+
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 b75c0e8..b51989f 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_list.lng
@@ -4,4 +4,6 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webové stránky';
$wb['path_txt'] = 'Cesta';
+$wb['add_new_record_txt'] = 'Přidat novou složku';
?>
+
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 ca4cf5d..1c8a018 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_user.lng
@@ -12,3 +12,4 @@
$wb['no_folder_perm'] = 'Nemáte oprávnění pro tuto složku.';
$wb['error_user_exists_already_txt'] = 'There is already a record for this user.';
?>
+
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 99fe620..91c571b 100644
--- a/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/cz_web_folder_user_list.lng
@@ -3,4 +3,6 @@
$wb['active_txt'] = 'Aktivní';
$wb['web_folder_id_txt'] = 'Složka';
$wb['username_txt'] = 'Uživatelské jméno';
+$wb['add_new_record_txt'] = 'Přidat nového uživatele složky';
?>
+
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 ed93596..a70ccfb 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['last_year_txt'] = 'Minulý rok';
$wb['sum_txt'] = 'Součet';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_domain.lng b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
index 327d8e3..e05bfed 100644
--- a/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/cz_web_vhost_domain.lng
@@ -1,4 +1,10 @@
<?php
+$wb['parent_domain_id_txt'] = 'Rodičovské webové stránky';
+$wb['web_folder_txt'] = 'Webová složka';
+$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'] = 'Interval zálohování';
+$wb['backup_copies_txt'] = 'Počet záložních kopií';
$wb['ssl_state_txt'] = 'Stát';
$wb['ssl_locality_txt'] = 'Lokalita';
$wb['ssl_organisation_txt'] = 'Organizace';
@@ -133,3 +139,4 @@
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
?>
+
diff --git a/interface/web/sites/lib/lang/cz_webdav_user.lng b/interface/web/sites/lib/lang/cz_webdav_user.lng
index 3e89a1e..8870c36 100644
--- a/interface/web/sites/lib/lang/cz_webdav_user.lng
+++ b/interface/web/sites/lib/lang/cz_webdav_user.lng
@@ -1,17 +1,17 @@
<?php
-$wb['dir_txt'] = 'Directory';
+$wb['dir_txt'] = 'Webdav adresář';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webové stránky';
$wb['username_txt'] = 'Uživatelské jméno';
$wb['password_txt'] = 'Heslo';
$wb['password_strength_txt'] = 'Síla hesla';
$wb['active_txt'] = 'Aktivní';
-$wb['limit_webdav_user_txt'] = 'The max. number of webdav users for your account is reached.';
-$wb['username_error_empty'] = 'Username is empty.';
-$wb['username_error_unique'] = 'The username must be unique.';
-$wb['username_error_regex'] = 'The username contains characters that are not allowed.';
-$wb['directory_error_empty'] = 'Directory empty.';
-$wb['parent_domain_id_error_empty'] = 'No website selected.';
+$wb['limit_webdav_user_txt'] = 'Byl dosažen max. počet WebDAV uživatelů pro váš účet.';
+$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['username_error_regex'] = 'Uživatelské jméno obsahuje znaky, které nejsou povoleny.';
+$wb['directory_error_empty'] = 'Webdav adresář je prázdný.';
+$wb['parent_domain_id_error_empty'] = 'Není vybrán žádný web.';
$wb['dir_dot_error'] = 'No .. in path allowed.';
$wb['dir_slashdot_error'] = 'No ./ in path allowed.';
$wb['generate_password_txt'] = 'Generovat heslo';
@@ -19,3 +19,4 @@
$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 7bb8017..422ec85 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['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_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng
index 6c6cdda..2f1417f 100644
--- a/interface/web/sites/lib/lang/de_ftp_user.lng
+++ b/interface/web/sites/lib/lang/de_ftp_user.lng
@@ -32,4 +32,6 @@
$wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
$wb['expires_txt'] = 'Zugang läuft ab';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng
index 33d71a5..4ae442c 100644
--- a/interface/web/sites/lib/lang/de_shell_user.lng
+++ b/interface/web/sites/lib/lang/de_shell_user.lng
@@ -28,4 +28,9 @@
$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'] = 'Dieser Benutzername ist nicht erlaubt.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
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 5491202..34e8f86 100644
--- a/interface/web/sites/lib/lang/de_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webseite';
$wb['path_txt'] = 'Pfad';
+$wb['add_new_record_txt'] = 'Ordner hinzufügen';
?>
diff --git a/interface/web/sites/lib/lang/de_web_folder_user_list.lng b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
index 5357760..c9bcb9c 100644
--- a/interface/web/sites/lib/lang/de_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/de_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktiv';
$wb['web_folder_id_txt'] = 'Ordner';
$wb['username_txt'] = 'Benutzername';
+$wb['add_new_record_txt'] = 'Ordner Benutzer hinzufügen';
?>
diff --git a/interface/web/sites/lib/lang/de_web_vhost_domain.lng b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
index c4e9eb0..197d5ce 100644
--- a/interface/web/sites/lib/lang/de_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/de_web_vhost_domain.lng
@@ -132,4 +132,6 @@
$wb['host_txt'] = 'Host';
$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Unzulässige php.ini-Einstellungen';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Die Apache Direktive wurde durch die Sicherheitsrichtline blockiert:';
?>
diff --git a/interface/web/sites/lib/lang/el_ftp_user.lng b/interface/web/sites/lib/lang/el_ftp_user.lng
index 2f89d27..a77581d 100644
--- a/interface/web/sites/lib/lang/el_ftp_user.lng
+++ b/interface/web/sites/lib/lang/el_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/el_shell_user.lng b/interface/web/sites/lib/lang/el_shell_user.lng
index 3c3ea31..a2868ef 100644
--- a/interface/web/sites/lib/lang/el_shell_user.lng
+++ b/interface/web/sites/lib/lang/el_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/el_web_folder_list.lng b/interface/web/sites/lib/lang/el_web_folder_list.lng
index 86dc18c..f1e9e33 100644
--- a/interface/web/sites/lib/lang/el_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/el_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Διαδρομή';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/el_web_folder_user_list.lng b/interface/web/sites/lib/lang/el_web_folder_user_list.lng
index 2103bcb..bcbd08c 100644
--- a/interface/web/sites/lib/lang/el_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/el_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Ενεργός';
$wb['web_folder_id_txt'] = 'Φάκελος';
$wb['username_txt'] = 'Όνομα Χρήστη';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_domain.lng b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
index 660bc0c..1259343 100644
--- a/interface/web/sites/lib/lang/el_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/el_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index c15d1b5..66d3367 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/en_web_childdomain.lng b/interface/web/sites/lib/lang/en_web_childdomain.lng
index 43c8929..cd033ae 100644
--- a/interface/web/sites/lib/lang/en_web_childdomain.lng
+++ b/interface/web/sites/lib/lang/en_web_childdomain.lng
@@ -115,5 +115,4 @@
$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
$wb['Domain'] = 'Aliasdomain';
-
?>
diff --git a/interface/web/sites/lib/lang/en_web_folder_list.lng b/interface/web/sites/lib/lang/en_web_folder_list.lng
index 32780ab..5966c03 100644
--- a/interface/web/sites/lib/lang/en_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/en_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb["server_id_txt"] = 'Server';
$wb["parent_domain_id_txt"] = 'Website';
$wb["path_txt"] = 'Path';
+$wb["add_new_record_txt"] = 'Add new Folder';
?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_folder_user_list.lng b/interface/web/sites/lib/lang/en_web_folder_user_list.lng
index d0d9e05..d0350c9 100644
--- a/interface/web/sites/lib/lang/en_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/en_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb["active_txt"] = 'Active';
$wb["web_folder_id_txt"] = 'Folder';
$wb["username_txt"] = 'Username';
+$wb["add_new_record_txt"] = 'Add new Folder User';
?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/es_ftp_user.lng b/interface/web/sites/lib/lang/es_ftp_user.lng
index 9d60bfd..b0322ec 100644
--- a/interface/web/sites/lib/lang/es_ftp_user.lng
+++ b/interface/web/sites/lib/lang/es_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repetir contraseña';
$wb['password_mismatch_txt'] = 'Las contraseñas no coinciden.';
$wb['password_match_txt'] = 'Las contraseñas coinciden.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/es_shell_user.lng b/interface/web/sites/lib/lang/es_shell_user.lng
index c5ce609..508b07c 100644
--- a/interface/web/sites/lib/lang/es_shell_user.lng
+++ b/interface/web/sites/lib/lang/es_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'Las contraseñas coinciden.';
$wb['username_must_not_exceed_32_chars_txt'] = 'El nombre de usuario no debe ser más largo de 32 caracteres.';
$wb['username_not_allowed_txt'] = 'El nombre de usuario no está permitido.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/es_web_folder_list.lng b/interface/web/sites/lib/lang/es_web_folder_list.lng
index f545b94..c851cd4 100644
--- a/interface/web/sites/lib/lang/es_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/es_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Servidor';
$wb['parent_domain_id_txt'] = 'Sitio web';
$wb['path_txt'] = 'Ruta';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/es_web_folder_user_list.lng b/interface/web/sites/lib/lang/es_web_folder_user_list.lng
index 4f1617a..332897b 100644
--- a/interface/web/sites/lib/lang/es_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/es_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Activo';
$wb['web_folder_id_txt'] = 'Carpeta';
$wb['username_txt'] = 'Nombre de usuario';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/fi_ftp_user.lng b/interface/web/sites/lib/lang/fi_ftp_user.lng
index ca39439..4cf718c 100755
--- a/interface/web/sites/lib/lang/fi_ftp_user.lng
+++ b/interface/web/sites/lib/lang/fi_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/fi_shell_user.lng b/interface/web/sites/lib/lang/fi_shell_user.lng
index 06fe1bd..83c8e89 100755
--- a/interface/web/sites/lib/lang/fi_shell_user.lng
+++ b/interface/web/sites/lib/lang/fi_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/fi_web_folder_list.lng b/interface/web/sites/lib/lang/fi_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/fi_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/fi_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/fi_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_domain.lng b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
index 8589789..7a7e2e2 100755
--- a/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/fi_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/fr.lng b/interface/web/sites/lib/lang/fr.lng
index c914ef0..9acee9d 100644
--- a/interface/web/sites/lib/lang/fr.lng
+++ b/interface/web/sites/lib/lang/fr.lng
@@ -31,5 +31,5 @@
$wb['Installed packages'] = 'Packages installés';
$wb['Update Packagelist'] = 'Mise à jour de la liste des packages';
$wb['Subdomain (Vhost)'] = 'Sous-domaine (Vhost)';
-$wb['error_proxy_requires_url'] = 'Type de redirection \"proxy\" nécessite une URL comme chemin de redirection.';
+$wb['error_proxy_requires_url'] = 'Type de redirection \\"proxy\\" nécessite une URL comme chemin de redirection.';
?>
diff --git a/interface/web/sites/lib/lang/fr_aps.lng b/interface/web/sites/lib/lang/fr_aps.lng
index eb268b0..5d43e80 100644
--- a/interface/web/sites/lib/lang/fr_aps.lng
+++ b/interface/web/sites/lib/lang/fr_aps.lng
@@ -38,14 +38,14 @@
$wb['error_license_agreement'] = 'Avant de continuer, vous devez accepter les conditions d\'utilisation (licence).';
$wb['error_no_database_pw'] = 'Vous n\'avez pas renseigné de mot de passe BDD valide.';
$wb['error_short_database_pw'] = 'Veuillez saisir un mot de passe BDD plus long.';
-$wb['error_no_value_for'] = 'Le champ \"%s\" ne peut pas être vide.';
-$wb['error_short_value_for'] = 'Le champ \"%s\" nécessite une valeur plus longue.';
-$wb['error_long_value_for'] = 'Le champ \"%s\" nécessite une valeur plus courte.';
-$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \"%s\".';
-$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \"%s\" est invalide.';
-$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \"%s\" est invalide.';
-$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \"%s\" est invalide.';
-$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \"%s\" est invalide.';
+$wb['error_no_value_for'] = 'Le champ \\"%s\\" ne peut pas être vide.';
+$wb['error_short_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus longue.';
+$wb['error_long_value_for'] = 'Le champ \\"%s\\" nécessite une valeur plus courte.';
+$wb['error_inv_value_for'] = 'Vous avez saisi une valeur invalide pour le champ \\"%s\\".';
+$wb['error_inv_email_for'] = 'L\'adresse email saisie pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_domain_for'] = 'Le domaine saisi pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_integer_for'] = 'Le nombre saisi pour le champ \\"%s\\" est invalide.';
+$wb['error_inv_float_for'] = 'La décimale saisie pour le champ \\"%s\\" est invalide.';
$wb['error_used_location'] = 'Le chemin de destination contient déjà un package d\'installation.';
$wb['installation_task_txt'] = 'Installation prévue';
$wb['installation_error_txt'] = 'Erreur d\'installation';
diff --git a/interface/web/sites/lib/lang/fr_ftp_user.lng b/interface/web/sites/lib/lang/fr_ftp_user.lng
index 5d00f4b..f73a81b 100644
--- a/interface/web/sites/lib/lang/fr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/fr_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Vérification du mot de passe';
$wb['password_mismatch_txt'] = 'Les mots de passe ne correspondent pas.';
$wb['password_match_txt'] = 'Les mots de passe correspondent.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/fr_shell_user.lng b/interface/web/sites/lib/lang/fr_shell_user.lng
index 3f967f8..940a780 100644
--- a/interface/web/sites/lib/lang/fr_shell_user.lng
+++ b/interface/web/sites/lib/lang/fr_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'Les mots de passe correspondent.';
$wb['username_must_not_exceed_32_chars_txt'] = 'Le nom d\'utilisateur ne doit pas dépasser 32 caractères.';
$wb['username_not_allowed_txt'] = 'Le nom d\'utilisateur est interdit.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/fr_web_folder_list.lng b/interface/web/sites/lib/lang/fr_web_folder_list.lng
index f358f8c..0eed4fd 100644
--- a/interface/web/sites/lib/lang/fr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/fr_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Serveur';
$wb['parent_domain_id_txt'] = 'Site web';
$wb['path_txt'] = 'Chemin';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
index e1824e2..663c6d2 100644
--- a/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/fr_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Actif';
$wb['web_folder_id_txt'] = 'Dossier';
$wb['username_txt'] = 'Nom de l\'utilisateur';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_domain.lng b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
index af02be4..e12bc76 100644
--- a/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/fr_web_vhost_domain.lng
@@ -134,4 +134,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/hr.lng b/interface/web/sites/lib/lang/hr.lng
index 8a18c47..4105a59 100644
--- a/interface/web/sites/lib/lang/hr.lng
+++ b/interface/web/sites/lib/lang/hr.lng
@@ -1,15 +1,15 @@
<?php
$wb['Websites'] = 'Web stranice';
$wb['Website'] = 'Web stranice';
-$wb['Subdomain'] = 'Poddomena';
+$wb['Subdomain'] = 'Poddomene';
$wb['Aliasdomain'] = 'Alias za web stranicu';
$wb['Database'] = 'Baza';
-$wb['Web Access'] = 'Web Access';
-$wb['FTP-User'] = 'FTP korisnik';
+$wb['Web Access'] = 'Web pristup';
+$wb['FTP-User'] = 'FTP korisnici';
$wb['Webdav-User'] = 'Webdav korisnik';
-$wb['Folder'] = 'Protected Folders';
-$wb['Folder users'] = 'Protected Folder Users';
-$wb['Command Line'] = 'Command Line';
+$wb['Folder'] = 'Zaštićeni direktoriji';
+$wb['Folder users'] = 'Korisnici zaštićenih direktorija';
+$wb['Command Line'] = 'Komandna linija';
$wb['Shell-User'] = 'Shell korisnik';
$wb['Cron Jobs'] = 'Cron zadaci';
$wb['Statistics'] = 'Statistike';
@@ -21,15 +21,17 @@
$wb['Webdav'] = 'WebDAV';
$wb['FTP'] = 'FTP';
$wb['Options'] = 'Opcije';
-$wb['Domain'] = 'Domena';
+$wb['Domena'] = 'Domena';
$wb['Redirect'] = 'Preusmjeravanje';
$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['Subdomain (Vhost)'] = 'Subdomain (Vhost)';
-$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
+$wb['Sites'] = 'Stranice';
+$wb['Database User'] = 'Korisnici baze';
+$wb['APS Installer'] = 'APS instalacija';
+$wb['Available packages'] = 'Dostupni paketi';
+$wb['Installed packages'] = 'Instalirani paketi';
+$wb['Update Packagelist'] = 'Osvježi listu paketa';
+$wb['Subdomain (Vhost)'] = 'Poddomena (Vhost)';
+$wb['error_proxy_requires_url'] = '\\"proxy\\" redirekcija zahtijeva URL za redirekcijsku putanju.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps.lng b/interface/web/sites/lib/lang/hr_aps.lng
index 29fb7b6..799e337 100644
--- a/interface/web/sites/lib/lang/hr_aps.lng
+++ b/interface/web/sites/lib/lang/hr_aps.lng
@@ -1,37 +1,37 @@
<?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['overview_txt'] = 'Pregled';
+$wb['administration_txt'] = 'Administracija';
+$wb['available_packages_txt'] = 'Dostupni paketi';
+$wb['installed_packages_txt'] = 'Instalirani paketi';
+$wb['yes_txt'] = 'Da';
+$wb['no_txt'] = 'Ne';
+$wb['invalid_id_txt'] = 'ID nije ispravan.';
+$wb['details_txt'] = 'Detalji';
+$wb['version_txt'] = 'Verzija';
+$wb['category_txt'] = 'Kategorija';
+$wb['homepage_txt'] = 'Web stranica';
$wb['supported_languages_txt'] = 'Supported languages';
-$wb['description_txt'] = 'Description';
+$wb['description_txt'] = 'Opis';
$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['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['license_txt'] = 'Licenca';
+$wb['screenshots_txt'] = 'Slike';
+$wb['changelog_txt'] = 'Izmjene';
+$wb['server_requirements_txt'] = 'Server zahtjevi';
+$wb['php_extensions_txt'] = 'PHP ekstenzije';
+$wb['php_settings_txt'] = 'PHP postavke';
+$wb['supported_php_versions_txt'] = 'Podržane PHP verzije';
+$wb['database_txt'] = 'Baza';
+$wb['settings_txt'] = 'Postavke';
+$wb['install_package_txt'] = 'Instaliraj ovaj paket';
+$wb['installation_txt'] = 'Instalacija';
+$wb['install_location_txt'] = 'Lokacija instalacije';
+$wb['acceptance_txt'] = 'Potvrda';
+$wb['acceptance_text_txt'] = 'Da, pročitao sam licencu i prihvaćam.';
+$wb['install_language_txt'] = 'Jezik sučelja';
+$wb['new_database_password_txt'] = 'Nova šifra za bazu';
+$wb['basic_settings_txt'] = 'Standardne postavke';
+$wb['package_settings_txt'] = 'Opcije paketa';
$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.';
@@ -47,12 +47,14 @@
$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['installation_task_txt'] = 'Instalacija u postupku';
+$wb['installation_error_txt'] = 'Instalacijska greška';
+$wb['installation_success_txt'] = 'Instalirano';
+$wb['installation_remove_txt'] = 'Brisanje u postupku';
+$wb['packagelist_update_finished_txt'] = 'Nadogradnja APS liste paketa je završena.';
+$wb['btn_install_txt'] = 'Instaliraj';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['limit_aps_txt'] = 'Iskoristili ste maksimalan broj APS instanci za vaš račun.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_instances_list.lng b/interface/web/sites/lib/lang/hr_aps_instances_list.lng
index 052d834..2d737a6 100644
--- a/interface/web/sites/lib/lang/hr_aps_instances_list.lng
+++ b/interface/web/sites/lib/lang/hr_aps_instances_list.lng
@@ -1,13 +1,15 @@
<?php
-$wb['list_head_txt'] = 'Installed packages';
-$wb['name_txt'] = 'Name';
-$wb['version_txt'] = 'Version';
-$wb['customer_txt'] = 'Client';
+$wb['list_head_txt'] = 'Instalirani paketi';
+$wb['name_txt'] = 'Naziv';
+$wb['version_txt'] = 'Verzija';
+$wb['customer_txt'] = 'Klijent';
$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['install_location_txt'] = 'Lokacija instalacije';
+$wb['pkg_delete_confirmation'] = 'Da li stvarno želite obrisati ovu instalaciju?';
+$wb['pkg_reinstall_confirmation'] = 'Da li stvarno želite reinstalirati ovaj paket sa istim postavkama?';
+$wb['filter_txt'] = 'Traži';
+$wb['delete_txt'] = 'Obriši';
+$wb['reinstall_txt'] = 'Reinstaliraj';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_packages_list.lng b/interface/web/sites/lib/lang/hr_aps_packages_list.lng
index 68c3780..7e7b6b3 100644
--- a/interface/web/sites/lib/lang/hr_aps_packages_list.lng
+++ b/interface/web/sites/lib/lang/hr_aps_packages_list.lng
@@ -6,3 +6,5 @@
$wb['status_txt'] = 'Unlocked';
$wb['filter_txt'] = 'Search';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng b/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
index ce9fcf6..591c49c 100644
--- a/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/hr_aps_update_packagelist.lng
@@ -1,7 +1,9 @@
<?php
-$wb['head_txt'] = 'Update Packagelist';
+$wb['head_txt'] = 'Osvježi listu paketa';
$wb['list_desc_txt'] = '';
-$wb['btn_start_txt'] = 'Update Packagelist';
-$wb['btn_cancel_txt'] = 'Cancel';
+$wb['btn_start_txt'] = 'Osvježi listu paketa';
+$wb['btn_cancel_txt'] = 'Odustani';
$wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_cron.lng b/interface/web/sites/lib/lang/hr_cron.lng
index de37668..2bc8fb7 100644
--- a/interface/web/sites/lib/lang/hr_cron.lng
+++ b/interface/web/sites/lib/lang/hr_cron.lng
@@ -18,7 +18,9 @@
$wb['run_wday_error_format'] = 'Pogrešan format za dane u tjednu.';
$wb['command_error_format'] = 'Pogrešan format komande. U slučaju pozivanja URL-a koristite samo http/https.';
$wb['unknown_fieldtype_error'] = 'Koristi se nepoznata vrsta polja.';
-$wb['server_id_error_empty'] = 'The server ID is empty.';
-$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
-$wb['command_error_empty'] = 'Command is empty.';
+$wb['server_id_error_empty'] = 'ID servera je preazan.';
+$wb['limit_cron_url_txt'] = 'Samo za URL cron. Unesite URL koji počinje sa http:// kao cron naredba.';
+$wb['command_error_empty'] = 'Naredba je prazna.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_cron_list.lng b/interface/web/sites/lib/lang/hr_cron_list.lng
index c0107df..bf448ec 100644
--- a/interface/web/sites/lib/lang/hr_cron_list.lng
+++ b/interface/web/sites/lib/lang/hr_cron_list.lng
@@ -11,3 +11,5 @@
$wb['add_new_cron_txt'] = 'Dodaj novi cron zadatak';
$wb['parent_domain_id_txt'] = 'Web stranica';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database.lng b/interface/web/sites/lib/lang/hr_database.lng
index 381e77a..06e0d91 100644
--- a/interface/web/sites/lib/lang/hr_database.lng
+++ b/interface/web/sites/lib/lang/hr_database.lng
@@ -26,11 +26,11 @@
$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['btn_cancel_txt'] = 'Odustani';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
$wb['globalsearch_resultslimit_of_txt'] = 'of';
$wb['globalsearch_resultslimit_results_txt'] = 'results';
$wb['globalsearch_noresults_text_txt'] = 'No results.';
@@ -44,3 +44,5 @@
$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.';
?>
+
+
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 19c9956..e0bbab5 100644
--- a/interface/web/sites/lib/lang/hr_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_admin_list.lng
@@ -7,5 +7,7 @@
$wb['database_name_txt'] = 'Naziv baze';
$wb['add_new_record_txt'] = 'Dodaj bazu';
$wb['sys_groupid_txt'] = 'Klijent';
-$wb['parent_domain_id_txt'] = 'Website';
+$wb['parent_domain_id_txt'] = 'Web stranica';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_list.lng b/interface/web/sites/lib/lang/hr_database_list.lng
index baec9d4..b98d44c 100644
--- a/interface/web/sites/lib/lang/hr_database_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_list.lng
@@ -6,5 +6,7 @@
$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';
+$wb['parent_domain_id_txt'] = 'Web stranica';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user.lng b/interface/web/sites/lib/lang/hr_database_user.lng
index 66a0718..5499c13 100644
--- a/interface/web/sites/lib/lang/hr_database_user.lng
+++ b/interface/web/sites/lib/lang/hr_database_user.lng
@@ -1,23 +1,25 @@
<?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_txt'] = 'Korisnik baze';
+$wb['database_password_txt'] = 'Šifra za bazu';
+$wb['password_strength_txt'] = 'Jačina šifre';
+$wb['client_txt'] = 'Klijent';
+$wb['active_txt'] = 'Aktivno';
$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_unique'] = 'There is already a database user with this name on the server. To get a unique name, npr. 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['btn_save_txt'] = 'Spremi';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['globalsearch_resultslimit_of_txt'] = 'od';
+$wb['globalsearch_resultslimit_results_txt'] = 'rezultata';
+$wb['globalsearch_noresults_text_txt'] = 'Nema rezultata.';
+$wb['globalsearch_noresults_limit_txt'] = '0 rezultata';
+$wb['globalsearch_searchfield_watermark_txt'] = 'Traži';
+$wb['globalsearch_suggestions_text_txt'] = 'Sugestija';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user_admin_list.lng b/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
index d7f88c4..d9c9b72 100644
--- a/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_user_admin_list.lng
@@ -1,6 +1,8 @@
<?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'] = 'Korisnik baze';
+$wb['database_user_txt'] = 'Korisnik';
+$wb['add_new_record_txt'] = 'Dodaj';
+$wb['sys_groupid_txt'] = 'Klijent';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_database_user_list.lng b/interface/web/sites/lib/lang/hr_database_user_list.lng
index 8c22649..04af3c5 100644
--- a/interface/web/sites/lib/lang/hr_database_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_user_list.lng
@@ -1,5 +1,7 @@
<?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'] = 'Korisnik baze';
+$wb['database_user_txt'] = 'Korisnik baze';
+$wb['add_new_record_txt'] = 'Dodaj novog korisnika';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_ftp_user.lng b/interface/web/sites/lib/lang/hr_ftp_user.lng
index 6290c0e..dcd910e 100644
--- a/interface/web/sites/lib/lang/hr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/hr_ftp_user.lng
@@ -25,10 +25,14 @@
$wb['directory_error_notinweb'] = 'Direktorij nije unutar početne web stranice.';
$wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
$wb['quota_size_error_regex'] = 'Kvota: unesi -1 za neograničeno ili broj > 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'] = '.. nije dozvoljen u putanji.';
+$wb['dir_slashdot_error'] = './ nije dozvoljen u putanji.';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['invalid_system_user_or_group_txt'] = 'Nepostojeći sistemski korisnik ili grupa';
+$wb['directory_error_regex'] = 'Neispravan direktorij';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_ftp_user_list.lng b/interface/web/sites/lib/lang/hr_ftp_user_list.lng
index 9ed8e64..6cd88ad 100644
--- a/interface/web/sites/lib/lang/hr_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_ftp_user_list.lng
@@ -6,3 +6,5 @@
$wb['username_txt'] = 'Korisničko ime';
$wb['add_new_record_txt'] = 'Dodaj FTP račun';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_shell_user.lng b/interface/web/sites/lib/lang/hr_shell_user.lng
index 4173787..e40c224 100644
--- a/interface/web/sites/lib/lang/hr_shell_user.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user.lng
@@ -20,12 +20,19 @@
$wb['limit_shell_user_txt'] = 'Iskorišten je maksimalan broj shell korisnika.';
$wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
$wb['ssh_rsa_txt'] = 'SSH-RSA javni ključ (za logiranje ključevima)';
-$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['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
-$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['dir_dot_error'] = 'Nije dozvoljeno koristiti .. u putanji.';
+$wb['dir_slashdot_error'] = 'Nije dozvoljeno koristiti ./ u putanji.';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['username_must_not_exceed_32_chars_txt'] = 'Korisničko ime ne može biti duže od 32 znaka.';
+$wb['username_not_allowed_txt'] = 'Izabrano korisničko ime nije dozvoljeno.';
+$wb['invalid_system_user_or_group_txt'] = 'Neispravan sistemski korisnik ili grupa';
+$wb['directory_error_regex'] = 'Neispravan direktorij';
+$wb['shell_error_regex'] = 'Neispravan shell';
+$wb['invalid_username_txt'] = 'Neispravno korisničko ime';
+$wb['directory_error_notinweb'] = 'Direktorij treba biti unutar web početne putanje (root).';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_shell_user_list.lng b/interface/web/sites/lib/lang/hr_shell_user_list.lng
index 16fc32c..0116b4e 100644
--- a/interface/web/sites/lib/lang/hr_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_shell_user_list.lng
@@ -1,8 +1,10 @@
<?php
-$wb['list_head_txt'] = 'Shell korisnik';
+$wb['list_head_txt'] = 'Shell korisnici';
$wb['active_txt'] = 'Aktivno';
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Web stranica';
$wb['username_txt'] = 'Korisničko ime';
$wb['add_new_record_txt'] = 'Dodaj novog Shell korisnika';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng b/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
index 087ccab..2da19bb 100644
--- a/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/hr_user_quota_stats_list.lng
@@ -5,5 +5,7 @@
$wb['used_txt'] = 'Prostor';
$wb['hard_txt'] = 'Hard limit';
$wb['soft_txt'] = 'Soft limit';
-$wb['files_txt'] = 'Single files';
+$wb['files_txt'] = 'Broj datoteka';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_backup_list.lng b/interface/web/sites/lib/lang/hr_web_backup_list.lng
index 9a10ca6..a57b467 100644
--- a/interface/web/sites/lib/lang/hr_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_backup_list.lng
@@ -13,3 +13,5 @@
$wb['backup_type_mysql'] = 'MySQL Database';
$wb['backup_type_web'] = 'Website files';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_childdomain_list.lng b/interface/web/sites/lib/lang/hr_web_childdomain_list.lng
index c8a344b..44671cd 100644
--- a/interface/web/sites/lib/lang/hr_web_childdomain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_childdomain_list.lng
@@ -13,3 +13,5 @@
$wb['none_txt'] = 'Ništa';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder.lng b/interface/web/sites/lib/lang/hr_web_folder.lng
index f1c9b28..e21fe05 100644
--- a/interface/web/sites/lib/lang/hr_web_folder.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder.lng
@@ -4,5 +4,7 @@
$wb['path_txt'] = 'Putanja';
$wb['active_txt'] = 'Aktivno';
$wb['path_error_regex'] = 'Neispravna putanja direktorija.';
-$wb['error_folder_already_protected_txt'] = 'There is already a record for this folder.';
+$wb['error_folder_already_protected_txt'] = 'Već postoji zapis za ovaj direktorij.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_list.lng b/interface/web/sites/lib/lang/hr_web_folder_list.lng
index 5696589..a777e83 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_list.lng
@@ -4,4 +4,7 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Web stranica';
$wb['path_txt'] = 'Putanja';
+$wb['add_new_record_txt'] = 'Dodaj novi direktorij';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_user.lng b/interface/web/sites/lib/lang/hr_web_folder_user.lng
index d4f7ca2..c678765 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_user.lng
@@ -4,11 +4,13 @@
$wb['password_txt'] = 'Šifra';
$wb['active_txt'] = 'Aktivno';
$wb['folder_error_empty'] = 'Nije izabran web direktorij.';
-$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['no_folder_perm'] = 'You have no permission for this folder.';
-$wb['error_user_exists_already_txt'] = 'There is already a record for this user.';
+$wb['password_strength_txt'] = 'Jačina šifre';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
+$wb['no_folder_perm'] = 'Nemate potrebne dozvole za ovaj direktorij.';
+$wb['error_user_exists_already_txt'] = 'Već postoji zapis za ovog korisnika.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
index af7792f..5153b9f 100644
--- a/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_folder_user_list.lng
@@ -3,4 +3,7 @@
$wb['active_txt'] = 'Aktivno';
$wb['web_folder_id_txt'] = 'Web direkotrij';
$wb['username_txt'] = 'Korisničko ime';
+$wb['add_new_record_txt'] = 'Dodaj novog korisnika web direktorija';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng b/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
index 5cec1bb..3d374a0 100644
--- a/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_sites_stats_list.lng
@@ -5,5 +5,7 @@
$wb['last_month_txt'] = 'Prošli mjesec';
$wb['this_year_txt'] = 'Ovu godinu';
$wb['last_year_txt'] = 'Prošlu godinu';
-$wb['sum_txt'] = 'Sum';
+$wb['sum_txt'] = 'Ukupno';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_domain.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
index 9a6cfab..409355f 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain.lng
@@ -1,10 +1,10 @@
<?php
$wb['backup_interval_txt'] = 'Interval backupa';
$wb['backup_copies_txt'] = 'Broj backup kopija';
-$wb['ssl_state_txt'] = 'Stanje';
-$wb['ssl_locality_txt'] = 'Lokacija';
+$wb['ssl_state_txt'] = 'Županija';
+$wb['ssl_locality_txt'] = 'Grad';
$wb['ssl_organisation_txt'] = 'Organizacija';
-$wb['ssl_organisation_unit_txt'] = 'Organizacijski dio';
+$wb['ssl_organisation_unit_txt'] = 'Organizacijski sektor';
$wb['ssl_country_txt'] = 'Država';
$wb['ssl_request_txt'] = 'SSL zahtjev';
$wb['ssl_cert_txt'] = 'SSL certifikat';
@@ -42,21 +42,21 @@
$wb['domain_error_regex'] = 'Naziv domene nije ispravan.';
$wb['hd_quota_error_empty'] = 'Limit kvote (prostor) je 0 ili je prazno.';
$wb['traffic_quota_error_empty'] = 'Limit prometa je prazan.';
-$wb['error_ssl_state_empty'] = 'SSL županija je prazno.';
-$wb['error_ssl_locality_empty'] = 'SSL lokacija je prazna.';
-$wb['error_ssl_organisation_empty'] = 'SSL organizacija je prazna.';
-$wb['error_ssl_organisation_unit_empty'] = 'SSL organizacijski dio je prazan.';
-$wb['error_ssl_country_empty'] = 'SSL država je prazna.';
+$wb['error_ssl_state_empty'] = 'Niste unijeli županiju.';
+$wb['error_ssl_locality_empty'] = 'Niste unijeli grad.';
+$wb['error_ssl_organisation_empty'] = 'Niste unijeli organizaciju.';
+$wb['error_ssl_organisation_unit_empty'] = 'Niste unijeli organizacjski sektor.';
+$wb['error_ssl_country_empty'] = 'Niste unijeli državu.';
$wb['error_ssl_cert_empty'] = 'Polje SSL certifikata je prazno';
$wb['client_group_id_txt'] = 'Klijent';
$wb['stats_password_txt'] = 'Šifra za statistiku';
$wb['allow_override_txt'] = 'Apache AllowOverride';
$wb['limit_web_quota_free_txt'] = 'Maksimalan limit kvote (prostor)';
-$wb['ssl_state_error_regex'] = 'Neispravan unos SSL županije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_locality_error_regex'] = 'Neispravan unos SSL lokacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_organisation_error_regex'] = 'Neispravan unos SSL organizacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_organistaion_unit_error_regex'] = 'Neispravan unos SSL organizacijskog dijela. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
-$wb['ssl_country_error_regex'] = 'Neispravan unos SSL države. Dozvoljeni znakovi: A-Z';
+$wb['ssl_state_error_regex'] = 'Neispravan unos županije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_locality_error_regex'] = 'Neispravan unos grada. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_organisation_error_regex'] = 'Neispravan unos organizacije. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Neispravan unos organizacijskog sektora. Dozvoljeni znakovi: a-z, 0-9 i .,-_';
+$wb['ssl_country_error_regex'] = 'Neispravan unos države. Dozvoljeni znakovi: A-Z';
$wb['limit_traffic_quota_free_txt'] = 'Maksimalan limit prometa web stranice';
$wb['redirect_error_regex'] = 'Neispravna putanja redirekcije. Ispravne redirekcije su npr.: /test/ ili http://www.domena.tld/test/';
$wb['php_open_basedir_txt'] = 'PHP open_basedir';
@@ -100,37 +100,39 @@
$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['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
$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['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['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';
+$wb['domain_error_autosub'] = 'Već postoji poddomena sa ovim postavkama.';
+$wb['available_php_directive_snippets_txt'] = 'Dostupne PHP direktive:';
+$wb['available_apache_directive_snippets_txt'] = 'Dostupne Apache direktive:';
+$wb['available_nginx_directive_snippets_txt'] = 'Dostupne nginx direktive:';
+$wb['proxy_directives_txt'] = 'Proxy direktive';
+$wb['available_proxy_directive_snippets_txt'] = 'Dostupne Proxy direktive:';
+$wb['no_server_error'] = 'Nije izabran server.';
+$wb['no_backup_txt'] = 'Bez backup-a';
+$wb['daily_backup_txt'] = 'Dnevni backup';
+$wb['weekly_backup_txt'] = 'Tjedni backup';
+$wb['monthly_backup_txt'] = 'Mjesečni backup';
+$wb['rewrite_rules_txt'] = 'Rewrite pravila';
+$wb['invalid_rewrite_rules_txt'] = 'Neispravna Rewrite pravila';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Dozvoljene direktive:';
+$wb['configuration_error_txt'] = 'KONFIGURACIJSKA GREŠKA';
+$wb['variables_txt'] = 'Varijable';
+$wb['added_by_txt'] = 'Dodao';
+$wb['added_date_txt'] = 'Dodano';
+$wb['backup_excludes_txt'] = 'Izbačeni direktoriji';
$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['host_txt'] = 'Hostname';
$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
-
-$wb['variables_txt'] = 'Variables';
-$wb['added_by_txt'] = 'Added by';
-$wb['added_date_txt'] = 'Added date';
-$wb['backup_excludes_txt'] = 'Excluded Directories';
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
-$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
-$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['backup_excludes_error_regex'] = 'Izbačeni direktorij sadrži nedozvoljene znakove.';
+$wb['invalid_custom_php_ini_settings_txt'] = 'Neispravne php.ini postavke';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng
index b5e5d2b..9e1880e 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain_admin_list.lng
@@ -7,3 +7,5 @@
$wb['domain_txt'] = 'Domena';
$wb['add_new_record_txt'] = 'Dodaj novu web stranicu';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
index cbb82a6..55d6e4a 100644
--- a/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
+++ b/interface/web/sites/lib/lang/hr_web_vhost_domain_list.lng
@@ -8,3 +8,5 @@
$wb['parent_domain_id_txt'] = 'Website';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_webdav_user.lng b/interface/web/sites/lib/lang/hr_webdav_user.lng
index 3b34075..2bf9f47 100644
--- a/interface/web/sites/lib/lang/hr_webdav_user.lng
+++ b/interface/web/sites/lib/lang/hr_webdav_user.lng
@@ -12,10 +12,12 @@
$wb['username_error_regex'] = 'Korisničko ime sadrži znakove koji nisu dopušteni.';
$wb['directory_error_empty'] = 'Direktorij je prazan.';
$wb['parent_domain_id_error_empty'] = 'Nije izabrana web stranica.';
-$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'] = '.. nije dozvoljenu u putanji.';
+$wb['dir_slashdot_error'] = './ nije dozvoljeno u putanji.';
+$wb['generate_password_txt'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hr_webdav_user_list.lng b/interface/web/sites/lib/lang/hr_webdav_user_list.lng
index f19b8da..a3d3c35 100644
--- a/interface/web/sites/lib/lang/hr_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/hr_webdav_user_list.lng
@@ -6,3 +6,5 @@
$wb['username_txt'] = 'Korisničko ime';
$wb['add_new_record_txt'] = 'Dodaj Webdav korisnika';
?>
+
+
diff --git a/interface/web/sites/lib/lang/hu_ftp_user.lng b/interface/web/sites/lib/lang/hu_ftp_user.lng
index 132bc49..bbf61d4 100644
--- a/interface/web/sites/lib/lang/hu_ftp_user.lng
+++ b/interface/web/sites/lib/lang/hu_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/hu_shell_user.lng b/interface/web/sites/lib/lang/hu_shell_user.lng
index 849f380..a0617d4 100644
--- a/interface/web/sites/lib/lang/hu_shell_user.lng
+++ b/interface/web/sites/lib/lang/hu_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/hu_web_folder_list.lng b/interface/web/sites/lib/lang/hu_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/hu_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/hu_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/hu_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_domain.lng b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
index 5b5faa6..e2c6a84 100644
--- a/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/hu_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/id_ftp_user.lng b/interface/web/sites/lib/lang/id_ftp_user.lng
index 5e1dab2..4898de2 100644
--- a/interface/web/sites/lib/lang/id_ftp_user.lng
+++ b/interface/web/sites/lib/lang/id_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/id_shell_user.lng b/interface/web/sites/lib/lang/id_shell_user.lng
index 0ec09cc..4be2d11 100644
--- a/interface/web/sites/lib/lang/id_shell_user.lng
+++ b/interface/web/sites/lib/lang/id_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/id_web_folder_list.lng b/interface/web/sites/lib/lang/id_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/id_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/id_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/id_web_folder_user_list.lng b/interface/web/sites/lib/lang/id_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/id_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/id_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_domain.lng b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
index 246427f..920710f 100644
--- a/interface/web/sites/lib/lang/id_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/id_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/it_ftp_user.lng b/interface/web/sites/lib/lang/it_ftp_user.lng
index 1964a9f..bdd7818 100644
--- a/interface/web/sites/lib/lang/it_ftp_user.lng
+++ b/interface/web/sites/lib/lang/it_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/it_shell_user.lng b/interface/web/sites/lib/lang/it_shell_user.lng
index 8460d4e..0b274d3 100644
--- a/interface/web/sites/lib/lang/it_shell_user.lng
+++ b/interface/web/sites/lib/lang/it_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/it_web_folder_list.lng b/interface/web/sites/lib/lang/it_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/it_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/it_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/it_web_folder_user_list.lng b/interface/web/sites/lib/lang/it_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/it_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/it_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_domain.lng b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
index 943df25..81b6778 100644
--- a/interface/web/sites/lib/lang/it_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/it_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/ja_ftp_user.lng b/interface/web/sites/lib/lang/ja_ftp_user.lng
index fb80ca3..8e92b1b 100644
--- a/interface/web/sites/lib/lang/ja_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ja_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/ja_shell_user.lng b/interface/web/sites/lib/lang/ja_shell_user.lng
index 19f09a5..79a8e5c 100644
--- a/interface/web/sites/lib/lang/ja_shell_user.lng
+++ b/interface/web/sites/lib/lang/ja_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/ja_web_folder_list.lng b/interface/web/sites/lib/lang/ja_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/ja_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ja_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ja_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_domain.lng b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
index e5da39a..f7c26c0 100644
--- a/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ja_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/nl_ftp_user.lng b/interface/web/sites/lib/lang/nl_ftp_user.lng
index 7f797de..16e4ae8 100644
--- a/interface/web/sites/lib/lang/nl_ftp_user.lng
+++ b/interface/web/sites/lib/lang/nl_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/nl_shell_user.lng b/interface/web/sites/lib/lang/nl_shell_user.lng
index 53fed20..ce3458d 100644
--- a/interface/web/sites/lib/lang/nl_shell_user.lng
+++ b/interface/web/sites/lib/lang/nl_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/nl_web_folder_list.lng b/interface/web/sites/lib/lang/nl_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/nl_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/nl_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_domain.lng b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
index 49fd810..3a3657c 100644
--- a/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/nl_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/pl_ftp_user.lng b/interface/web/sites/lib/lang/pl_ftp_user.lng
index 5c91401..37dd36b 100644
--- a/interface/web/sites/lib/lang/pl_ftp_user.lng
+++ b/interface/web/sites/lib/lang/pl_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Powtórz hasło';
$wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
$wb['password_match_txt'] = 'Hasła pasują';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/pl_shell_user.lng b/interface/web/sites/lib/lang/pl_shell_user.lng
index e51ef64..aad0cf2 100644
--- a/interface/web/sites/lib/lang/pl_shell_user.lng
+++ b/interface/web/sites/lib/lang/pl_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'Hasła pasują';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/pl_web_folder_list.lng b/interface/web/sites/lib/lang/pl_web_folder_list.lng
index 87a7690..75a403b 100644
--- a/interface/web/sites/lib/lang/pl_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/pl_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Serwer';
$wb['parent_domain_id_txt'] = 'Witryna';
$wb['path_txt'] = 'Ścieżka';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
index 81769bd..728c1f7 100644
--- a/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/pl_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Aktywny';
$wb['web_folder_id_txt'] = 'Katalog';
$wb['username_txt'] = 'Login';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_domain.lng b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
index 96ee532..523a4f9 100644
--- a/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/pl_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/pt_ftp_user.lng b/interface/web/sites/lib/lang/pt_ftp_user.lng
index 1770872..9f5ed04 100644
--- a/interface/web/sites/lib/lang/pt_ftp_user.lng
+++ b/interface/web/sites/lib/lang/pt_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/pt_shell_user.lng b/interface/web/sites/lib/lang/pt_shell_user.lng
index 5e34648..a3ee41e 100644
--- a/interface/web/sites/lib/lang/pt_shell_user.lng
+++ b/interface/web/sites/lib/lang/pt_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/pt_web_folder_list.lng b/interface/web/sites/lib/lang/pt_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/pt_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/pt_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/pt_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_domain.lng b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
index 5471831..c2ead6a 100644
--- a/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/pt_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/ro_ftp_user.lng b/interface/web/sites/lib/lang/ro_ftp_user.lng
index d7415ec..e28b35e 100644
--- a/interface/web/sites/lib/lang/ro_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ro_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/ro_shell_user.lng b/interface/web/sites/lib/lang/ro_shell_user.lng
index d4620af..8757337 100644
--- a/interface/web/sites/lib/lang/ro_shell_user.lng
+++ b/interface/web/sites/lib/lang/ro_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/ro_web_folder_list.lng b/interface/web/sites/lib/lang/ro_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/ro_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ro_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ro_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_domain.lng b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
index 5ae226c..6ae4526 100644
--- a/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ro_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/ru_ftp_user.lng b/interface/web/sites/lib/lang/ru_ftp_user.lng
index 58a2277..f9609ce 100644
--- a/interface/web/sites/lib/lang/ru_ftp_user.lng
+++ b/interface/web/sites/lib/lang/ru_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/ru_shell_user.lng b/interface/web/sites/lib/lang/ru_shell_user.lng
index d87f544..0a6282b 100644
--- a/interface/web/sites/lib/lang/ru_shell_user.lng
+++ b/interface/web/sites/lib/lang/ru_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/ru_web_folder_list.lng b/interface/web/sites/lib/lang/ru_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/ru_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/ru_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/ru_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_domain.lng b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
index 81395b8..a304e2d 100644
--- a/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/ru_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/se.lng b/interface/web/sites/lib/lang/se.lng
index 780195f..6b44cdc 100644
--- a/interface/web/sites/lib/lang/se.lng
+++ b/interface/web/sites/lib/lang/se.lng
@@ -31,6 +31,5 @@
$wb['Installed packages'] = 'Installerade paket';
$wb['Update Packagelist'] = 'Uppdatera paketlista';
$wb['Subdomain (Vhost)'] = 'Underdomän (Vhost)';
-$wb['error_proxy_requires_url'] = 'Redirect Type "proxy" requires a URL as the redirect path.';
+$wb['error_proxy_requires_url'] = 'Redirect Type \\"proxy\\" requires a URL as the redirect path.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_aps.lng b/interface/web/sites/lib/lang/se_aps.lng
index 315b03c..1a21cd0 100644
--- a/interface/web/sites/lib/lang/se_aps.lng
+++ b/interface/web/sites/lib/lang/se_aps.lng
@@ -38,14 +38,14 @@
$wb['error_license_agreement'] = 'In order to continue you have to accept the license agreement.';
$wb['error_no_database_pw'] = 'You have provided no valid database password.';
$wb['error_short_database_pw'] = 'Please choose a longer database password.';
-$wb['error_no_value_for'] = 'The field "%s" must not be empty.';
-$wb['error_short_value_for'] = 'The field "%s" requires a longer input value.';
-$wb['error_long_value_for'] = 'The field "%s" requires a shorter input value.';
-$wb['error_inv_value_for'] = 'You have entered an invalid value for the field "%s".';
-$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field "%s".';
-$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field "%s".';
-$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field "%s".';
-$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field "%s".';
+$wb['error_no_value_for'] = 'The field \\"%s\\" must not be empty.';
+$wb['error_short_value_for'] = 'The field \\"%s\\" requires a longer input value.';
+$wb['error_long_value_for'] = 'The field \\"%s\\" requires a shorter input value.';
+$wb['error_inv_value_for'] = 'You have entered an invalid value for the field \\"%s\\".';
+$wb['error_inv_email_for'] = 'You have entered an invalid mail address for the field \\"%s\\".';
+$wb['error_inv_domain_for'] = 'You have entered an invalid domain for the field \\"%s\\".';
+$wb['error_inv_integer_for'] = 'You have entered an invalid number for the field \\"%s\\".';
+$wb['error_inv_float_for'] = 'You have entered an invalid floating point number for the field \\"%s\\".';
$wb['error_used_location'] = 'The installation path already contains a package installation.';
$wb['installation_task_txt'] = 'Installation planerad';
$wb['installation_error_txt'] = 'Installationsfel';
@@ -56,4 +56,3 @@
$wb['btn_cancel_txt'] = 'Avbryt';
$wb['limit_aps_txt'] = 'The max. number of APS instances for your account is reached.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_instances_list.lng b/interface/web/sites/lib/lang/se_aps_instances_list.lng
index 81cda2a..a9428aa 100644
--- a/interface/web/sites/lib/lang/se_aps_instances_list.lng
+++ b/interface/web/sites/lib/lang/se_aps_instances_list.lng
@@ -11,4 +11,3 @@
$wb['delete_txt'] = 'Radera';
$wb['reinstall_txt'] = 'Ominstallera';
?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_packages_list.lng b/interface/web/sites/lib/lang/se_aps_packages_list.lng
index 1746bfd..8555961 100644
--- a/interface/web/sites/lib/lang/se_aps_packages_list.lng
+++ b/interface/web/sites/lib/lang/se_aps_packages_list.lng
@@ -6,4 +6,3 @@
$wb['status_txt'] = 'Olåst';
$wb['filter_txt'] = 'Sök';
?>
-
diff --git a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
index 8d84c05..891a951 100644
--- a/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
+++ b/interface/web/sites/lib/lang/se_aps_update_packagelist.lng
@@ -5,4 +5,3 @@
$wb['btn_cancel_txt'] = 'Avbryt';
$wb['legend_txt'] = 'Here you can update the list of available packages. Please note that this can take up to five minutes. You can leave this page if you like; the process will continue in the background.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_cron.lng b/interface/web/sites/lib/lang/se_cron.lng
index bc89db2..83b7d3b 100644
--- a/interface/web/sites/lib/lang/se_cron.lng
+++ b/interface/web/sites/lib/lang/se_cron.lng
@@ -22,4 +22,3 @@
$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with http:// as cron command.';
$wb['command_error_empty'] = 'Kommandofältet är tomt.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_cron_list.lng b/interface/web/sites/lib/lang/se_cron_list.lng
index b17951c..0459144 100644
--- a/interface/web/sites/lib/lang/se_cron_list.lng
+++ b/interface/web/sites/lib/lang/se_cron_list.lng
@@ -11,4 +11,3 @@
$wb['add_new_cron_txt'] = 'Lägg till nytt cron-jobb';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
-
diff --git a/interface/web/sites/lib/lang/se_database.lng b/interface/web/sites/lib/lang/se_database.lng
index 03eac08..c06c3f0 100644
--- a/interface/web/sites/lib/lang/se_database.lng
+++ b/interface/web/sites/lib/lang/se_database.lng
@@ -44,4 +44,3 @@
$wb['database_client_differs_txt'] = 'The client of the parent web and the database do not match.';
$wb['database_user_missing_txt'] = 'Vänligen välj en databasanvändare för den här databasen.';
?>
-
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 fe415d3..640c07c 100644
--- a/interface/web/sites/lib/lang/se_database_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_database_admin_list.lng
@@ -9,4 +9,3 @@
$wb['sys_groupid_txt'] = 'Kund';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
-
diff --git a/interface/web/sites/lib/lang/se_database_list.lng b/interface/web/sites/lib/lang/se_database_list.lng
index 3909b37..bfcdaf3 100644
--- a/interface/web/sites/lib/lang/se_database_list.lng
+++ b/interface/web/sites/lib/lang/se_database_list.lng
@@ -8,4 +8,3 @@
$wb['database_user_txt'] = 'Databasanvändare';
$wb['parent_domain_id_txt'] = 'Webbsida';
?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user.lng b/interface/web/sites/lib/lang/se_database_user.lng
index c707175..2cf9a1a 100644
--- a/interface/web/sites/lib/lang/se_database_user.lng
+++ b/interface/web/sites/lib/lang/se_database_user.lng
@@ -21,4 +21,3 @@
$wb['globalsearch_searchfield_watermark_txt'] = 'Sök';
$wb['globalsearch_suggestions_text_txt'] = 'Förslag';
?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user_admin_list.lng b/interface/web/sites/lib/lang/se_database_user_admin_list.lng
index 6eca0b7..a9bb594 100644
--- a/interface/web/sites/lib/lang/se_database_user_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_database_user_admin_list.lng
@@ -4,4 +4,3 @@
$wb['add_new_record_txt'] = 'Lägg till ny användare';
$wb['sys_groupid_txt'] = 'Kund';
?>
-
diff --git a/interface/web/sites/lib/lang/se_database_user_list.lng b/interface/web/sites/lib/lang/se_database_user_list.lng
index cb62444..c0eef9d 100644
--- a/interface/web/sites/lib/lang/se_database_user_list.lng
+++ b/interface/web/sites/lib/lang/se_database_user_list.lng
@@ -3,4 +3,3 @@
$wb['database_user_txt'] = 'Databasanvändare';
$wb['add_new_record_txt'] = 'Lägg till ny användare';
?>
-
diff --git a/interface/web/sites/lib/lang/se_ftp_user.lng b/interface/web/sites/lib/lang/se_ftp_user.lng
index 50d9031..3ba08a2 100644
--- a/interface/web/sites/lib/lang/se_ftp_user.lng
+++ b/interface/web/sites/lib/lang/se_ftp_user.lng
@@ -31,5 +31,6 @@
$wb['repeat_password_txt'] = 'Upprepa lösenord';
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
-
diff --git a/interface/web/sites/lib/lang/se_ftp_user_list.lng b/interface/web/sites/lib/lang/se_ftp_user_list.lng
index c833d1a..f0ac760 100644
--- a/interface/web/sites/lib/lang/se_ftp_user_list.lng
+++ b/interface/web/sites/lib/lang/se_ftp_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['add_new_record_txt'] = 'Lägg till ny FTP-användare';
?>
-
diff --git a/interface/web/sites/lib/lang/se_shell_user.lng b/interface/web/sites/lib/lang/se_shell_user.lng
index b2d0083..0b274d3 100644
--- a/interface/web/sites/lib/lang/se_shell_user.lng
+++ b/interface/web/sites/lib/lang/se_shell_user.lng
@@ -28,5 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_shell_user_list.lng b/interface/web/sites/lib/lang/se_shell_user_list.lng
index 3389173..4a9d7cb 100644
--- a/interface/web/sites/lib/lang/se_shell_user_list.lng
+++ b/interface/web/sites/lib/lang/se_shell_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Username';
$wb['add_new_record_txt'] = 'Add new Shell-User';
?>
-
diff --git a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
index 2084a49..7fe4791 100644
--- a/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/se_user_quota_stats_list.lng
@@ -7,4 +7,3 @@
$wb['soft_txt'] = 'Soft limit';
$wb['files_txt'] = 'Single files';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_backup_list.lng b/interface/web/sites/lib/lang/se_web_backup_list.lng
index 261304d..e743953 100644
--- a/interface/web/sites/lib/lang/se_web_backup_list.lng
+++ b/interface/web/sites/lib/lang/se_web_backup_list.lng
@@ -13,4 +13,3 @@
$wb['backup_type_mysql'] = 'MySQL-databaser';
$wb['backup_type_web'] = 'Webbsidefiler';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder.lng b/interface/web/sites/lib/lang/se_web_folder.lng
index 96553c5..6dbc158 100644
--- a/interface/web/sites/lib/lang/se_web_folder.lng
+++ b/interface/web/sites/lib/lang/se_web_folder.lng
@@ -6,4 +6,3 @@
$wb['path_error_regex'] = 'Ogiltig katalogsökväg';
$wb['error_folder_already_protected_txt'] = 'Det finns redan ett inlägg för den här mappen.';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_list.lng b/interface/web/sites/lib/lang/se_web_folder_list.lng
index 194e744..f3ce8b1 100644
--- a/interface/web/sites/lib/lang/se_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_list.lng
@@ -4,5 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Webbsida';
$wb['path_txt'] = 'Sökväg';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_user.lng b/interface/web/sites/lib/lang/se_web_folder_user.lng
index 0c52cfa..6db2415 100644
--- a/interface/web/sites/lib/lang/se_web_folder_user.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_user.lng
@@ -12,4 +12,3 @@
$wb['no_folder_perm'] = 'Du har inga rättigheter för denna katalog';
$wb['error_user_exists_already_txt'] = 'Det finns redan ett inlägg för denna användare';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_folder_user_list.lng b/interface/web/sites/lib/lang/se_web_folder_user_list.lng
index 3af6f70..67612f5 100644
--- a/interface/web/sites/lib/lang/se_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/se_web_folder_user_list.lng
@@ -3,5 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
index 66137dc..95a8256 100644
--- a/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/se_web_sites_stats_list.lng
@@ -7,4 +7,3 @@
$wb['last_year_txt'] = 'Förra året';
$wb['sum_txt'] = 'Total';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_vhost_domain.lng b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
index 3bf594f..f6ad635 100644
--- a/interface/web/sites/lib/lang/se_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_domain.lng
@@ -133,5 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Ogiltiga php.ini-inställningar';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
-
diff --git a/interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng b/interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng
index 0737245..b460e27 100644
--- a/interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng
+++ b/interface/web/sites/lib/lang/se_web_vhost_domain_admin_list.lng
@@ -7,4 +7,3 @@
$wb['domain_txt'] = 'Domain';
$wb['add_new_record_txt'] = 'Add new website';
?>
-
diff --git a/interface/web/sites/lib/lang/se_webdav_user.lng b/interface/web/sites/lib/lang/se_webdav_user.lng
index 4c3fe5e..07dc281 100644
--- a/interface/web/sites/lib/lang/se_webdav_user.lng
+++ b/interface/web/sites/lib/lang/se_webdav_user.lng
@@ -19,4 +19,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
-
diff --git a/interface/web/sites/lib/lang/se_webdav_user_list.lng b/interface/web/sites/lib/lang/se_webdav_user_list.lng
index 96bd318..a6031a1 100644
--- a/interface/web/sites/lib/lang/se_webdav_user_list.lng
+++ b/interface/web/sites/lib/lang/se_webdav_user_list.lng
@@ -6,4 +6,3 @@
$wb['username_txt'] = 'Användarnamn';
$wb['add_new_record_txt'] = 'Lägg till ny WebDAV-användare';
?>
-
diff --git a/interface/web/sites/lib/lang/sk_ftp_user.lng b/interface/web/sites/lib/lang/sk_ftp_user.lng
index 1526d40..c57cbfd 100644
--- a/interface/web/sites/lib/lang/sk_ftp_user.lng
+++ b/interface/web/sites/lib/lang/sk_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/sk_shell_user.lng b/interface/web/sites/lib/lang/sk_shell_user.lng
index 79f9eac..4307afa 100644
--- a/interface/web/sites/lib/lang/sk_shell_user.lng
+++ b/interface/web/sites/lib/lang/sk_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/sk_web_folder_list.lng b/interface/web/sites/lib/lang/sk_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/sk_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/sk_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/sk_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_domain.lng b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
index af8b4de..43a33e1 100644
--- a/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/sk_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/lib/lang/tr_ftp_user.lng b/interface/web/sites/lib/lang/tr_ftp_user.lng
index 4cc2f4d..62401de 100644
--- a/interface/web/sites/lib/lang/tr_ftp_user.lng
+++ b/interface/web/sites/lib/lang/tr_ftp_user.lng
@@ -31,4 +31,6 @@
$wb['repeat_password_txt'] = 'Repeat Password';
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
?>
diff --git a/interface/web/sites/lib/lang/tr_shell_user.lng b/interface/web/sites/lib/lang/tr_shell_user.lng
index ac45063..20abb0b 100644
--- a/interface/web/sites/lib/lang/tr_shell_user.lng
+++ b/interface/web/sites/lib/lang/tr_shell_user.lng
@@ -28,4 +28,9 @@
$wb['password_match_txt'] = 'The passwords do match.';
$wb['username_must_not_exceed_32_chars_txt'] = 'The username must not exceed 32 characters.';
$wb['username_not_allowed_txt'] = 'The username is not allowed.';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['directory_error_regex'] = 'Invalid directory';
+$wb['shell_error_regex'] = 'Invalid shell';
+$wb['invalid_username_txt'] = 'Invalid Username';
+$wb['directory_error_notinweb'] = 'The directory has to be inside the web root.';
?>
diff --git a/interface/web/sites/lib/lang/tr_web_folder_list.lng b/interface/web/sites/lib/lang/tr_web_folder_list.lng
index 76d9702..89f8b65 100644
--- a/interface/web/sites/lib/lang/tr_web_folder_list.lng
+++ b/interface/web/sites/lib/lang/tr_web_folder_list.lng
@@ -4,4 +4,5 @@
$wb['server_id_txt'] = 'Server';
$wb['parent_domain_id_txt'] = 'Website';
$wb['path_txt'] = 'Path';
+$wb['add_new_record_txt'] = 'Add new Folder';
?>
diff --git a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
index 9a7286a..67612f5 100644
--- a/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
+++ b/interface/web/sites/lib/lang/tr_web_folder_user_list.lng
@@ -3,4 +3,5 @@
$wb['active_txt'] = 'Active';
$wb['web_folder_id_txt'] = 'Folder';
$wb['username_txt'] = 'Username';
+$wb['add_new_record_txt'] = 'Add new Folder User';
?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_domain.lng b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
index 18ff868..db2887b 100644
--- a/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
+++ b/interface/web/sites/lib/lang/tr_web_vhost_domain.lng
@@ -133,4 +133,6 @@
$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
$wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings';
+$wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group';
+$wb['apache_directive_blocked_error'] = 'Apache directive blocked by security settings:';
?>
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index f0c8c36..8de6be7 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -139,6 +139,8 @@
}
}
unset($blacklist);
+
+ if($app->functions->is_allowed_user(trim(strtolower($this->dataRecord['username']))) == false) $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt');
/*
* If the names should be restricted -> do it!
@@ -167,6 +169,11 @@
$dir = $app->db->quote($web["document_root"]);
$uid = $app->db->quote($web["system_user"]);
$gid = $app->db->quote($web["system_group"]);
+
+ // Check system user and group
+ if($app->functions->is_allowed_user($uid) == false || $app->functions->is_allowed_group($gid) == false) {
+ $app->error($app->tform->lng('invalid_system_user_or_group_txt'));
+ }
// The FTP user shall be owned by the same group then the website
$sys_groupid = $app->functions->intval($web['sys_groupid']);
diff --git a/interface/web/sites/web_childdomain_edit.php b/interface/web/sites/web_childdomain_edit.php
index 8cdda48..a2a20ca 100644
--- a/interface/web/sites/web_childdomain_edit.php
+++ b/interface/web/sites/web_childdomain_edit.php
@@ -165,6 +165,13 @@
function onSubmit() {
global $app, $conf;
+
+ // Get the record of the parent domain
+ if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
+ $tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
+ unset($tmp);
+ }
// Get the record of the parent domain
$parent_domain = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
@@ -207,7 +214,7 @@
//* make sure that the domain is lowercase
if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
-
+
parent::onSubmit();
}
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
index 20544a0..057d263 100644
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -609,8 +609,15 @@
}
$ssl_domain_select = '';
- $tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
- $ssl_domains = array($tmp["domain"], 'www.'.$tmp["domain"], '*.'.$tmp["domain"]);
+ $ssl_domains = array();
+ $tmpd = $app->db->queryAllRecords("SELECT domain, type FROM web_domain WHERE domain_id = ".$this->id." OR parent_domain_id = ".$this->id);
+ foreach($tmpd as $tmp) {
+ if($tmp['type'] == 'subdomain' || $tmp['type'] == 'vhostsubdomain') {
+ $ssl_domains[] = $tmp["domain"];
+ } else {
+ $ssl_domains = array_merge($ssl_domains, array($tmp["domain"],'www.'.$tmp["domain"],'*.'.$tmp["domain"]));
+ }
+ }
if(is_array($ssl_domains)) {
foreach( $ssl_domains as $ssl_domain) {
$selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
@@ -889,9 +896,11 @@
// When the record is updated
if($this->id > 0) {
// restore the server ID if the user is not admin and record is edited
- $tmp = $app->db->queryOneRecord("SELECT server_id, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+ $tmp = $app->db->queryOneRecord("SELECT server_id, `system_user`, `system_group`, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
$this->dataRecord["server_id"] = $tmp["server_id"];
$this->dataRecord['web_folder'] = $tmp['web_folder']; // cannot be changed!
+ $this->dataRecord['system_user'] = $tmp['system_user'];
+ $this->dataRecord['system_group'] = $tmp['system_group'];
// set the settings to current if not provided (or cleared due to limits)
if($this->dataRecord['cgi'] == 'n') $this->dataRecord['cgi'] = $tmp['cgi'];
diff --git a/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/cz_strengthmeter.lng
index cff29d5..136f5e2 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_4_txt'] = 'Silné';
$wb['password_strength_5_txt'] = 'Velmi silné';
?>
+
diff --git a/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
index 6218988..4960d55 100644
--- a/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/hr_strengthmeter.lng
@@ -6,3 +6,5 @@
$wb['password_strength_4_txt'] = 'Jaka';
$wb['password_strength_5_txt'] = 'Vrlo jaka';
?>
+
+
diff --git a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
index 16dcfff..7fb81bf 100644
--- a/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
+++ b/interface/web/strengthmeter/lib/lang/se_strengthmeter.lng
@@ -6,4 +6,3 @@
$wb['password_strength_4_txt'] = 'Starkt';
$wb['password_strength_5_txt'] = 'Mycket starkt';
?>
-
diff --git a/interface/web/themes/blue/templates/main.tpl.htm b/interface/web/themes/blue/templates/main.tpl.htm
index 70c4f26..0007256 100644
--- a/interface/web/themes/blue/templates/main.tpl.htm
+++ b/interface/web/themes/blue/templates/main.tpl.htm
@@ -161,6 +161,7 @@
<!-- begin: #content -->
<section id="content">
<form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <input type="text" style="display:none" /><input type="password" style="display:none"/>
<div id="pageContent"><!-- AJAX CONTENT --></div>
</form>
<div id="ie_clearing"> </div>
diff --git a/interface/web/themes/default-304/css/central.css b/interface/web/themes/default-304/css/central.css
deleted file mode 100644
index 91c793c..0000000
--- a/interface/web/themes/default-304/css/central.css
+++ /dev/null
@@ -1,33 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) central stylesheet - ISPConfig 3: default theme
- * (de) Zentrales Stylesheet - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import core styles | Basis-Stylesheets einbinden */
-@import url(../yaml/core/base.css);
-
-/* import screen layout | Screen-Layout einbinden */
-@import url(navigation/nav_top.css);
-@import url(navigation/nav_side.css);
-@import url(screen/basemod.css);
-@import url(screen/basemod_2col_left_seo.css);
-@import url(screen/content.css);
-@import url(screen/uni-form-generic.css);
-@import url(screen/uni-form.css);
-@import url(screen/tipsy.css);
-@import url(screen/content_ispc.css);
-
-/* import print layout | Druck-Layout einbinden */
-@import url(print/print_100.css);
diff --git a/interface/web/themes/default-304/css/navigation/nav_side.css b/interface/web/themes/default-304/css/navigation/nav_side.css
deleted file mode 100644
index ea947a5..0000000
--- a/interface/web/themes/default-304/css/navigation/nav_side.css
+++ /dev/null
@@ -1,125 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Vertical list navigation "vlist" - ISPConfig 3: default theme
- * (de) Vertikale Navigationsliste "vlist" - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
- #submenu {
- width: 100%;
- overflow: hidden;
- margin: 0px;
- list-style-type: none;
- border-bottom: 2px #ddd solid;
- }
-
- #submenu ul { list-style-type: none; margin:0; padding: 0; }
- #submenu li { float:left; width: 100%; margin:0; padding: 0; font-size:0.9em; }
-
- #submenu a,
- #submenu strong {
- display:block;
- width: 90%;
- padding: 2px 0px 2px 10%;
- text-decoration: none;
- background-color:#fff;
- color: #444;
- border-bottom: 1px #eee solid;
- }
-
- /* Menu Title */
- #submenu li.title {
- width: 100%;
- padding: 0px;
- font-weight: bold;
- color: #444;
- background-color: #fff;
- border-top: 2px #888 solid;
- font-size: 1.1em;
- }
-
- #submenu li.title a {
- background-color: #f0f8ff;
- color: #444;
- }
- #submenu li.title a:hover {
- color: white;
-}
-
- #submenu li span {
- display:block;
- width: 90%;
- padding: 3px 0px 3px 10%;
- font-weight: bold;
- border-bottom: 1px #ddd solid;
- }
-
- /* Level 1 */
- #submenu li.active,
- #submenu li strong {
- width: 90%;
- padding: 3px 0px 3px 10%;
- font-weight: bold;
- color: #fff;
- background-color:#aab;
- border-bottom: 1px #eee solid;
- }
-
- #submenu li a { width: 90%; padding-left: 10%; background-color:#fff; color: #444; }
- #submenu li a:focus,
- #submenu li a:hover,
- #submenu li a:active { background-color:#f63; color: #fff; }
-
- /* Level 2 */
- #submenu li ul li a,
- #submenu li ul li#active,
- #submenu li ul li strong,
- #submenu li ul li span { width: 80%; padding-left: 20%; }
-
- #submenu li ul li a { background-color:#f8f8f8; color: #666; }
- #submenu li ul li a:focus,
- #submenu li ul li a:hover,
- #submenu li ul li a:active { background-color:#f63; color: #fff; }
-
- /* Level 3 */
- #submenu li ul li ul li a,
- #submenu li ul li ul li#active,
- #submenu li ul li ul li strong,
- #submenu li ul li ul li span { width: 70%; padding-left: 30%; }
-
- #submenu li ul li ul li a { background-color:#fcfcfc; color: #888; }
- #submenu li ul li ul li a:focus,
- #submenu li ul li ul li a:hover,
- #submenu li ul li ul li a:active { background-color:#f63; color: #fff; }
-
- /* Level 4 */
- #submenu li ul li ul li ul li a,
- #submenu li ul li ul li ul li#active,
- #submenu li ul li ul li ul li strong,
- #submenu li ul li ul li ul li span { width: 60%; padding-left: 40%; }
-
- #submenu li ul li ul li ul li a { background-color:#ffffff; color: #aaa; }
- #submenu li ul li ul li ul li a:focus,
- #submenu li ul li ul li ul li a:hover,
- #submenu li ul li ul li ul li a:active { background-color:#f63; color: #fff; }
-
- /* Form-Elements in the Menu*/
- #submenu * select#server_id {
- margin: 3px 10%;
- padding: 1px;
- width: 80%;
- }
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/navigation/nav_top.css b/interface/web/themes/default-304/css/navigation/nav_top.css
deleted file mode 100644
index 573ebc6..0000000
--- a/interface/web/themes/default-304/css/navigation/nav_top.css
+++ /dev/null
@@ -1,116 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Horizontal list navigation - ISPConfig 3: default theme
- * (de) Horizontale Navigationsliste - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
- #topNav ul {
- list-style: none;
- padding: 0;
- margin: 0;
- }
-
- #topNav ul li {
- display: inline;
- margin: 0 2px 0 0;
- }
-
- #topNav a {
- background-color: #D3D3D3;
- background-position: center 5px;
- background-repeat: no-repeat;
- color:black;
- display:inline-block;
- height:20px;
- padding-top:37px;
- text-align:center;
- text-decoration:none;
- min-width:78px;
- }
-
- #topNav a:hover {
- background-color: #eeeeee;
- color: #000000;
- }
- #topNav a span {
- padding: 0 3px;
- }
- #topNav #topNav_current {
- }
-
- #topNav #topNav_current a {
- font-weight: bold;
- color: black;
- background-color: #ffffff;
- }
-
- .topnav-admin {
- background-image: url('../../icons/x32/system.png') !important;
- }
-
- .topnav-client {
- background-image: url('../../icons/x32/client.png') !important;
- }
-
- .topnav-mail {
- background-image: url('../../icons/x32/email.png') !important;
- }
-
- .topnav-mailuser {
- background-image: url('../../icons/x32/email.png') !important;
- }
-
- .topnav-monitor {
- background-image: url('../../icons/x32/monitor.png') !important;
- }
-
- .topnav-sites {
- background-image: url('../../icons/x32/sites.png') !important;
- }
-
- .topnav-dns {
- background-image: url('../../icons/x32/dns.png') !important;
- }
-
- .topnav-tools {
- background-image: url('../../icons/x32/tools.png') !important;
- }
-
- .topnav-help {
- background-image: url('../../icons/x32/help.png') !important;
- }
-
- .topnav- {
- background-image: url('../../icons/x32/login.png') !important;
- }
-
- .topnav-domain {
- background-image: url('../../icons/x32/domain.png') !important;
- }
-
- .topnav-dashboard {
- background-image: url('../../icons/x32/dashboard.png') !important;
- }
-
- .topnav-vm{
- background-image: url('../../icons/x32/drawer.png') !important;
- }
-
- .topnav-billing{
- background-image: url('../../icons/x32/calculator.png') !important;
- }
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/patches/central.css b/interface/web/themes/default-304/css/patches/central.css
deleted file mode 100644
index 27dd462..0000000
--- a/interface/web/themes/default-304/css/patches/central.css
+++ /dev/null
@@ -1,37 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) IE-Patch stylesheet - ISPConfig 3: default theme
- * (de) IE-Korrektur-Stylesheet - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
-@import url(../yaml/core/iehacks.css);
-
-/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
-@media screen, projection
-{
- /**
- * min-width/max-width workaround for IE5.x & IE6
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid no
- */
-
- * html #page_margins {
- /* Fallback if JavaScript is disabled */
- width: 80%;
- }
-}
diff --git a/interface/web/themes/default-304/css/print/print_100.css b/interface/web/themes/default-304/css/print/print_100.css
deleted file mode 100644
index 95e63e8..0000000
--- a/interface/web/themes/default-304/css/print/print_100.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet - ISPConfig 3: default theme
- * (de) Druck-Stylesheet - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../../yaml/core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - 0
-*/
-@media print
-{
- #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-
- #col2 { display:none; }
- #col3 { display:none; }
-}
diff --git a/interface/web/themes/default-304/css/screen/basemod.css b/interface/web/themes/default-304/css/screen/basemod.css
deleted file mode 100644
index 31e7bd1..0000000
--- a/interface/web/themes/default-304/css/screen/basemod.css
+++ /dev/null
@@ -1,124 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Screen layout for YAML - ISPConfig 3: default theme
- * (de) Bildschirmlayout fr YAML - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Formatting YAML's basic layout elements
- * (de) Gestaltung des YAML Basis-Layouts
- */
-
- /* (en) Marginal areas & page background */
- /* (de) Randbereiche & Seitenhintergrund */
- body { background: #EEEEEE url("../../images/screen_bg.png") repeat-x top left fixed; padding: 10px 0; }
-
- /* (en) Centering layout in old IE-versions */
- /* (de) Zentrierung des Layouts in alten IE-versionen */
- body { text-align: center; }
- #page_margins { text-align:left; margin: 0 auto; }
-
- /* (en) Layout: width, background, borders */
- /* (de) Layout: Breite, Hintergrund, Rahmen */
- /*#page_margins { min-width: 980px; max-width: 80%; background: #fff;}*/
- /* #page_margins { min-width: 980px; max-width: 80%; background: #fff; display: inline-block;}*/
-
- /*WARNING: ADded a overrode for this setting in main.tpl with javascript to target non chrome browsers,
- This has to be changed too in case that page_margins get changed. Reason: Chrome does not support the
- display: table; attribute correctly*/
- #page_margins { min-width: 980px; max-width: 80%; background: #fff;}
- /*#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}*/
-
- #page{ padding: 10px; }
-
- /* (en) Designing main layout elements */
- /* (de) Gestaltung der Hauptelemente des Layouts */
- #header {
- color: #faf0e6;
- padding: 15px 2em 5px 20px;
- background: #9a9a9a url("../../images/header_bg.png") repeat-x top left;
- }
-
- /* (en) Text Alignment for #topnav content */
- /* (de) Textausrichtung für #topnav Inhalte */
- #topnav { text-align: left; }
-
- /* (en) Absolute positioning only within #header */
- /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
- #header #topnav {
- position: absolute;
- top: 0px;
- left: 0px;
- }
-
- /* (en) Text Alignment for #topnav content */
- /* (de) Textausrichtung für #topnav Inhalte */
- #topsubnav { text-align: right; }
-
- /* (en) Absolute positioning only within #header */
- /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
- #header #topsubnav {
- position:absolute;
- top: 10px;
- right: 10px;
- }
-
- /* (en) adjustment of main navigation */
- /* (de) Anpassung der Hauptnavigation */
- #nav ul { margin-left: 20px; }
- #nav_main { background: #9a9a9a repeat-x top left; }
-
- #main { background: #fff;padding:10px 0; }
-
- #footer {
- color:#666;
- background: #f9f9f9;
- padding: 10px 20px;
- border-top: 5px #efefef solid;
- font-size: 0.8em;
- text-align: center;
- }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Formatting content container
- * (de) Formatierung der Inhalts-Container
- *
- * |-------------------------------|
- * | #header |
- * |-------------------------------|
- * | #col1 | #col3 | #col2 |
- * | 25% | flexible | 25% |
- * |-------------------------------|
- * | #footer |
- * |-------------------------------|
- */
-
-
- #col1 { width: 25%; }
- #col1_content { padding: 10px 10px 10px 20px; }
-
- #col2 { width: 25%; }
- #col2_content { padding: 10px 20px 10px 10px; }
-
- #col3 { margin: 0 25%; }
- #col3_content { padding: 10px; }
-
- /*------------------------------------------------------------------------------------------------------*/
-}
diff --git a/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css b/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css
deleted file mode 100644
index 3914fc3..0000000
--- a/interface/web/themes/default-304/css/screen/basemod_2col_left_seo.css
+++ /dev/null
@@ -1,48 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Variation of screen layout (basemod.css) - ISPConfig 3: default theme
- * (de) Variation des Screenlayouts (basemod.css) - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
- /**
- * (en) Repositioning content container
- * (de) Neupositionierung der Content Container
- *
- * |-------------------------------|
- * | #header |
- * |-------------------------------|
- * | #col1 | #col3 |
- * | 200px | flexible |
- * |-------------------------------|
- * | #footer |
- * |-------------------------------|
- */
-
- /* #col1 becomes the fixed navigation column | #col1 wird zur Navigationsspalte mit fester Breite */
- #col1 { width: 200px; float:left}
- #col1_content { padding: 0 10px 0 0; }
-
- /* #col2 is turned off | #col2 abschalten */
- #col2 { display:none; }
-
- /* #col3 becomes the main column | #col3 wird zur Hauptspalte */
- #col3 { margin-left: 200px; margin-right: 0; }
- #col3_content { padding: 0px 10px 10px 20px; }
-
- /* Graphic-free column dividers between #col1 and #col3 | Grafikfreier Spaltentrenner zw. #col1 und #col3*/
- #col3 {border-left: 1px #ddd solid;}
- #main {padding: 1em 0}
-}
diff --git a/interface/web/themes/default-304/css/screen/content.css b/interface/web/themes/default-304/css/screen/content.css
deleted file mode 100644
index 4f65858..0000000
--- a/interface/web/themes/default-304/css/screen/content.css
+++ /dev/null
@@ -1,203 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of standard content elements - ISPConfig 3: default theme
- * (de) Einheitliche Standardformatierungen f�r die wichtigten Inhalts-Elemente - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
- /**
- * Fonts
- * (en) font-family and font-size selection for headings and standard text elements
- * (de) Zeichensatz und Schriftgrößen für Überschriften und übliche Text-Elemente
- *
- * @section content-fonts
- */
-
- /* (en) reset font size for all elements to standard (16 Pixel) */
- /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
- html * { font-size: 100.01% }
-
- /* (en) reset monospaced elements to font size 16px in Gecko browsers */
- /* (de) Schriftgröße von monospaced Elemente auf 16 Pixel setzen */
- textarea, pre, tt, code {
- font-family: Consolas,"Lucida Console","Courier New",monospace;
- font-size: 0.9em;
- }
-
- /* (en) base layout gets standard font size 12px */
- /* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
- body {
- font-family: 'Trebuchet MS', sans-serif;
- font-size: 75.00%;
- color: #444;
- }
-
- h1,h2,h3,h4,h5,h6 {
- font-family: 'Trebuchet MS', sans-serif;
- font-weight:bold;
- color:#666;
- margin: 0 0 0.25em 0;
- }
-
- h1 { font-size: 200% } /* 24px */
- h2 { font-size: 200% } /* 24px */
- h3 { font-size: 150% } /* 18px */
- h4 { font-size: 133.33% } /* 16px */
- h5 { font-size: 116.67% } /* 14px */
- h6 { font-size: 116.67%; font-style:italic } /* 14px */
-
- #header h1 {
- font-size:2.5em;
- letter-spacing:-2px;
- line-height:65%;
- color: silver;
- }
-
- #header span {
- color:#333333;
- }
-
- p { line-height: 1.5em; margin: 0 0 1em 0; }
-
- /* ### Lists | Listen #### */
-
- ul, ol, dl { line-height: 1.5em; margin: 0 0 1em 1em }
- li { margin-left: 1.5em; line-height: 1.5em }
-
- dt { font-weight: bold }
- dd { margin: 0 0 1em 2em }
-
- /* ### text formatting | Textauszeichnung ### */
-
- cite, blockquote { font-style:italic }
- blockquote { margin: 0 0 1em 1.5em }
-
- strong,b { font-weight: bold }
- em,i { font-style:italic }
-
- pre, code { font-family: monospace; font-size: 1.1em; }
-
- acronym, abbr {
- letter-spacing: .07em;
- border-bottom: .1em dashed #c00;
- cursor: help;
- }
-
- /* Set a background-color, no system backgorund used anymore */
- select, input, textarea {
- background: #FFFFFF;
- border: 1px solid #DFDFDF;
- padding: 1px;
- outline:none;
- }
-
-
- /**
- * Generic Content Classes
- * (en) standard classes for positioning and highlighting
- * (de) Standardklassen zur Positionierung und Hervorhebung
- *
- * @section content-generic-classes
- */
-
- .note {background: #dfd; padding: 1em; border-top: 1px #bdb dotted; border-bottom: 1px #bdb dotted;}
- .important {background: #ffd; padding: 1em; border-top: 1px #ddb dotted; border-bottom: 1px #ddb dotted;}
- .warning {background: #fdd; padding: 1em; border-top: 1px #dbb dotted; border-bottom: 1px #dbb dotted;}
-
- .float_left { float: left; display:inline; margin-right: 1em; margin-bottom: 0.15em; }
- .float_right { float: right; display:inline; margin-left: 1em; margin-bottom: 0.15em; }
- .center { text-align:center; margin: 0.5em auto }
-
- /**
- * External Links
- *
- * (en) Formatting of hyperlinks
- * (de) Gestaltung von Hyperlinks
- *
- */
-
- a {color: #4D87C7; text-decoration:none;}
- a:focus,
- a:hover,
- a:active {color:#182E7A; text-decoration:underline;}
-
- #topsubnav a { color: #f0f8ff; font-weight: normal; background:transparent; text-decoration:none; }
- #topsubnav a:focus,
- #topsubnav a:hover,
- #topsubnav a:active { text-decoration:underline; background-color: transparent;}
-
- #footer a { color: #999; background:transparent; font-weight: bold;}
- #footer a:focus,
- #footer a:hover,
- #footer a:active {color: #4D87C7; background-color: transparent; text-decoration:underline;}
-
- /**
- * (en) Emphasizing external Hyperlinks via CSS
- * (de) Hervorhebung externer Hyperlinks mit CSS
- *
- * @section content-external-links
- * @app-yaml-default disabled
- */
-
- /*
- #main a[href^="http://www.my-domain.com"],
- #main a[href^="https://www.my-domain.com"]
- {
- padding-left: 12px;
- background-image: url('your_image.gif');
- background-repeat: no-repeat;
- background-position: 0 0.45em;
- }
- */
-
- /**
- * Tables | Tabellen
- * (en) Generic classes for table-width and design definition
- * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
- *
- * @section content-tables
- */
-
- table { width: auto; border-collapse:collapse; margin-bottom: 0.5em; }
- table.full { width: 100%; }
- table.fixed { table-layout:fixed }
-
- table.list td{max-width:350px;min-width: 32px;white-space: nowrap;overflow:hidden;text-overflow: ellipsis; -o-text-overflow: ellipsis; -icab-text-overflow: ellipsis; -khtml-text-overflow: ellipsis; -moz-text-overflow: ellipsis; -webkit-text-overflow: ellipsis;}
- th,td { padding: 0.5em;text-align:left;}
- thead th { background: #444 url(../../images/lists_thead_bg.png) repeat-x; color: #fff }
- tbody th { background: #ccc; color: #333 }
- tbody th.sub { background: #ddd; color: #333 }
-
- /**
- * Miscellaneous | Sonstiges
- *
- * @section content-misc
- */
-
- hr {
- color: #fff;
- background:transparent;
- margin: 0 0 0.5em 0;
- padding: 0 0 0.5em 0;
- border:0;
- border-bottom: 1px #eee solid;
- }
-
- /* Sorting cusror and backgorund */
- .pnl_listarea th[class^="tbl_col"]{cursor:pointer}
- .pnl_listarea th[class^="tbl_col"]:hover{background-position:0 -15px!important}
-
-}
diff --git a/interface/web/themes/default-304/css/screen/content_ispc.css b/interface/web/themes/default-304/css/screen/content_ispc.css
deleted file mode 100644
index 64e2df3..0000000
--- a/interface/web/themes/default-304/css/screen/content_ispc.css
+++ /dev/null
@@ -1,1045 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of ISPConfig elements - ISPConfig 3: default theme
- * (de) Einheitliche Standardformatierungen f�r ISPConfig-Elemente - ISPConfig 3: default theme
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
- .pageForm_description {
- font-size: 12px;
- }
-
- /* Tab-Box */
- .tabbox_tabs {
- border-bottom: 1px solid #d3d3d3;
- }
- .tabbox_tabs ul {
- list-style: none;
- padding: 0;
- margin: 0;
- }
- .tabbox_tabs li {
- display: inline;
- margin: 0 2px 0 0;
- }
- .tabbox_tabs a {
- padding: 0 1em;
- text-decoration: none;
- color: black;
- background: #d3d3d3;
- border: 1px solid #d3d3d3;
- }
- .tabbox_tabs a:hover {
- background: #fc0;
- color: #540;
- }
- .tabbox_tabs .active a {
- font-weight: bold;
- color: #ff6600;
- background: #ffffff;
- }
-
- .pnl_toolsarea fieldset, .pnl_listarea fieldset, .pnl_formsarea fieldset {
- border-top: 1px solid #949494;
- margin: 20px 0;
- }
- .pnl_toolsarea fieldset legend , .pnl_listarea fieldset legend {
- font-weight: bold;
- color: #6299c5;
- }
- .pnl_formarea fieldset {
- font-weight: bold;
- }
-
- /* hide line and legend when inside tabbed content */
- #tabbox_content * .pnl_toolsarea fieldset, #tabbox_content * .pnl_listarea fieldset, #tabbox_content * .pnl_formsarea fieldset { border: none !important; }
- #tabbox_content * .pnl_toolsarea fieldset legend, #tabbox_content * .pnl_listarea fieldset legend, #tabbox_content * .pnl_formsarea fieldset legend { display: none !important; }
-
- .codeview {
- margin:20px 0;
- padding:2px;
- border: 1px solid #ffcc00;
- background: #fffaea;
- font-family: Consolas, "Lucida Console", "Courier New", monospace;
- font-size: 0.9em;
- }
-
- /* Lists */
- table.list {
- width: 100%;
- border: 1px solid #d3d3d3 !important;
- }
- table.list thead th { font-size: 10px; }
- table.list tbody { border: 1px solid #d3d3d3 !important; }
- table.list tfoot td { text-align: center; background: #f8f8f8 url("../../images/lists_tfoot_bg.png") repeat-x bottom left; padding: 24px 8px 8px 8px; }
- table.list .tbl_row_even { background: #fcfcfc; }
- table.list .tbl_row_uneven { background: #f0f8ff; }
- table.list tr:hover { background: #fffacd; }
- table.list td { word-wrap:break-word;white-space:pre-wrap; }
- table.list td.tbl_col_buttons { word-wrap:normal;white-space:normal; }
-
- /* Password Strength */
- #passBar {
- width: 101px; height: 10px;
- background: url("../../images/meter_bg.gif") repeat-x bottom left;
- margin: 2px 0;
- float: left;
- }
- #passText {
- padding: 0;
- float: left;
- }
-
- /* Systemmonitor */
- .systemmonitor-server,
- .systemmonitor-ve,
- .systemmonitor-state {
- margin: 10px 5px;
- font-family: Consolas, "Lucida Console", "Courier New", monospace;
- font-size: 0.9em;
- float: left;
- width: 100%;
- }
- .systemmonitor-server:hover,
- .systemmonitor-vm:hover { background-color: #FFFACD; }
- .state-no_state,
- .state-no_state-ve {
- border-top: 4px solid #95A19F;
- background-color: #f8f8ff;
- }
- .state-unknown,
- .state-unknown-ve {
- border-top: 4px solid #30302e;
- background-color: #cecfc5;
- }
- .state-ok,
- .state-ok-ve {
- border-top: 4px solid #23fb00;
- background-color: #adffa2;
- }
- .state-info,
- .state-info-ve {
- border-top: 4px solid #183e99;
- background-color: #d4e2ff;
- }
- .state-warning,
- .state-warning-ve {
- border-top: 4px solid #ffa800;
- background-color: #ffda93;
- }
- .state-critical,
- .state-critical-ve {
- border-top: 4px solid #ff0000;
- background-color: #ffb9b9;
- }
- .state-error,
- .state-error-ve {
- border-top: 4px solid #ff0000;
- background-color: #ff7f7f;
- }
- div.icoDevice {
- float: left;
- width: 64px;
- height: 64px;
- margin: 5px;
- background: url("../../icons/device_sprite.png") no-repeat transparent;
- }
- .systemmonitor-server div.icoDevice { background-position: 0 0; }
- .systemmonitor-ve div.icoDevice { background-position: -64px 0; }
- .systemmonitor-network div.icoDevice { background-position: -128px -0; }
- div.statusDevice, div.statusMsg { float: left; }
-
- div.statusMsg p {
- float: left;
- padding: 5px;
- }
- .systemmonitor-state .status {
- margin: 5px;
- }
- .status {
- float: right;
- width: 32px;
- height: 32px;
- background: url("../../icons/x32_sprite.png") no-repeat transparent;
- }
- div.status {
- float: left !important;
- }
- .state-no_state .status,
- .state-no_state-ve .status,
- .state-unknown .status,
- .state-unknown-ve .status { background-position: 0 -207px; }
-
- .state-ok .status,
- .state-ok-ve .status { background-position: 0 -270px; }
-
- .state-info .status,
- .state-info-ve .status { background-position: 0 -336px; }
-
- .state-warning .status,
- .state-warning-ve .status { background-position: 0 -143px; }
-
- .state-critical .status,
- .state-critical-ve .status { background-position: 0 -463px; }
-
- .state-error .status,
- .state-error-ve .status { background-position: 0 -400px; }
-
- /* Usage unknown
- .systemmonitor-content table {
- border: none;
- margin-top: 10px;
- }
-
- .systemmonitor-content * .online {
- border: 1px solid #ffffff;
- background-color: #E3FFB8;
- color: #000000;
- padding:0px 5px;
- }
- .systemmonitor-content * .offline {
- border: 1px solid #ffffff;
- background-color: #d12f19;
- color:#ffffff;
- padding:0px 5px;
- }*/
-
- /* Dashboard */
- .dashboard-modules {
- float:left;
- width:60px;
- height: 60px;
- border:1px dotted #888888;
- background-color: #cccccc;
- margin:10px;
- background-position: center 5px;
- background-repeat: no-repeat;
- text-align: center;
- }
-
- .dashboard-modules a, .dashboard-modules a:hover{
- color:Black;
- display:block;
- font-weight:bold;
- height:30px;
- padding-top:42px;
- width:60px;
- text-decoration: none;
- }
-
- .dashboard-modules.admin { background-image: url("../../icons/x32/system.png") !important; }
- .dashboard-modules.vm { background-image: url("../../icons/x32/drawer.png") !important; }
- .dashboard-modules.client { background-image: url("../../icons/x32/client.png") !important; }
- .dashboard-modules.mail { background-image: url("../../icons/x32/email.png") !important; }
- .dashboard-modules.monitor { background-image: url("../../icons/x32/monitor.png") !important; }
- .dashboard-modules.dns { background-image: url("../../icons/x32/dns.png") !important; }
- .dashboard-modules.tools { background-image: url("../../icons/x32/tools.png") !important; }
- .dashboard-modules.help { background-image: url("../../icons/x32/help.png") !important; }
- .dashboard-modules.domain { background-image: url("../../icons/x32/domain.png") !important; }
- .dashboard-modules.sites { background-image: url("../../icons/x32/sites.png") !important; }
- .dashboard-modules.billing { background-image: url("../../icons/x32/calculator.png") !important; }
-
- .panel_dashboard h2 {
- font-size:20px;
- }
-
- /* Image-Replacement */
- .swap { background-repeat:no-repeat; }
- .swap span { display:none; height:16px; }
- #ir-HeaderLogo { background-image:url("../../images/header_logo.png"); height:32px;margin:0 0 0.2em; }
- #ir-Yes { background-image:url("../../icons/x16/tick_circle.png"); height:16px; }
- #ir-No { background-image:url("../../icons/x16/cross_circle.png"); height:16px; }
-
- /* BUTTONS */
- .buttons a, .buttons button{
- display:block;
- float:left;
- margin:0 7px 0 0;
- background-color:#f5f5f5;
- border:1px solid #777777;
- border-top: 1px solid #c8c8c8;
- border-left:1px solid #c8c8c8;
-
- font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
- font-size:90%;
- line-height:130%;
- text-decoration:none;
- font-weight:bold;
- color:#565656;
- cursor:pointer;
- padding:5px 10px 6px 7px; /* Links */
- }
- .buttons button{
- width:auto;
- overflow:visible;
- padding:4px 10px 3px 7px; /* IE6 */
- }
- .buttons button[type]{
- padding:5px 10px 5px 7px; /* Firefox */
- line-height:17px; /* Safari */
- }
- *:first-child+html button[type]{
- padding:4px 10px 3px 7px; /* IE7 */
- }
- .buttons button img, .buttons a img{
- margin:0 3px -3px 0 !important;
- padding:0;
- border:none;
- width:16px;
- height:16px;
- }
-
- /* BUTTONS STANDARD */
- button:hover, .buttons a:hover{
- background-color:#dff4ff;
- border:1px solid #c2e1ef;
- color:#336699;
- }
- .buttons a:active{
- background-color:#6299c5;
- border:1px solid #6299c5;
- color:#fff;
- }
-
- /* BUTTONS POSITIVE */
- button.positive, .buttons a.positive{
- color:#529214;
- }
- .buttons a.positive:hover, button.positive:hover{
- background-color:#E6EFC2;
- border:1px solid #C6D880;
- color:#529214;
- }
- .buttons a.positive:active{
- background-color:#529214;
- border:1px solid #529214;
- color:#fff;
- }
-
- /* BUTTONS NEGATIVE */
- .buttons a.negative, button.negative{
- color:#d12f19;
- }
- .buttons a.negative:hover, button.negative:hover{
- background-color:#fbe3e4;
- border:1px solid #fbc2c4;
- color:#d12f19;
- }
- .buttons a.negative:active{
- background-color:#d12f19;
- border:1px solid #d12f19;
- color:#fff;
- }
-
- /* Button with icon and text */
- .iconstxt {
- background-repeat: no-repeat;
- background-position: 4px center;
- }
- .iconstxt span { padding-left: 20px; }
- .iconstxt.icoPositive { background-image: url("../../icons/x16/tick_circle_frame.png"); }
- .iconstxt.icoNegative { background-image: url("../../icons/x16/cross_circle_frame.png"); }
- .iconstxt.icoAdd { background-image: url("../../icons/x16/plus_circle_frame.png"); }
- .iconstxt.icoKey { background-image: url("../../icons/x16/key.png"); }
- .iconstxt.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
- .iconstxt.icoDownload { background-image: url("../../icons/x16/arrow_270.png"); }
- .iconstxt.icoRestore { background-image: url("../../icons/x16/arrow_circle_225.png"); }
-
- /* Button with icon and without text */
- .icons16 span { display: none; }
- a.icons16 { height: 18px; width: 18px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
- button.icons16 { height: 20px; width: 20px; padding: 0; background-repeat: no-repeat; background-position: 1px 1px;}
-
- .icons16.icoDelete { background-image: url("../../icons/x16/minus_circle_frame.png"); }
- .icons16.icoFilter { background-image: url("../../icons/x16/funnel.png"); }
- .icons16.icoEdit { background-image: url("../../icons/x16/wrench.png"); }
- .icons16.icoDbAdmin { background-image: url("../../icons/x16/database.png"); }
- .icons16.icoLoginAs { background-image: url("../../icons/x16/user_go.png"); }
- .icons16.icoWebmailer { background-image: url("../../icons/x16/mails_arrow.png"); }
- .icons16.icoPDF { background-image: url("../../icons/x16/pdf.png"); }
- .icons16.icoAction { background-image: url("../../icons/x16/arrow.png"); }
-
- #ajaxloader {
- text-align:center;
- margin-top: 180px;
- }
-
- .blockLabel.email_at {
- width: 20px !important;
- margin: 1.6em 0.3em 0 0 !important
- }
- .textDisplay { display: block; }
-
- /* Form Length Classes */
- .textInput.formLengthBool { width: 25px !important; }
- .selectInput.formLengthBool { width: 60px !important; }
- .textInput.formLengthLimit { width: 50px !important; }
- .selectInput.formLengthLimit { width: 85px !important; }
- .formLengthDate { width: 75px !important; }
- .formLengthIPv4 { width: 125px !important; }
- .formLengthIPv6 { width: 100% !important; }
- .formLengthEmailUser { width: 30% !important; }
- .formLengthEmailDomain { width: 30% !important; }
- .formLengthHalf { width: 15% !important; }
- .formLengthDouble { width: 50% !important; }
-
- /* Individual Form Lengths */
- .textInput#username, .textInput#password, .textInput#passwort, .textInput#source_password { width: 100px; }
- .selectInput#language { width: 75px; }
- .selectInput#client_group_id, .selectInput#default_group { width: 125px; }
- input#refresh, input#retry, input#expire, input#minimum, input#ttl { width: 50px !important; }
-
- /* --- */
-
- a[href $='#logout'] { padding-right: 18px; background: transparent url("../../icons/x16/logout.png") no-repeat right top !important; }
-
- /* Select Menu with Images */
- select.withicons option {
- background-repeat:no-repeat;
- background-position: 1px;
- padding-left:24px;
- }
- select.flags option {
- background-image: url("../../icons/flags_sprite.png");
- background-repeat: no-repeat;
- padding: 1px 0 1px 30px;
- }
-
- select.flags option[value=EL] {background-position:0 -1475px}
- select.flags option[value=AD], select.flags option[value=ad] {background-position:0 -1px}
- select.flags option[value=AE], select.flags option[value=ae] {background-position:0 -23px}
- select.flags option[value=AF], select.flags option[value=af] {background-position:0 -45px}
- select.flags option[value=AG], select.flags option[value=ag] {background-position:0 -67px}
- select.flags option[value=AI], select.flags option[value=ai] {background-position:0 -89px}
- select.flags option[value=AL], select.flags option[value=al] {background-position:0 -111px}
- select.flags option[value=AM], select.flags option[value=am] {background-position:0 -133px}
- select.flags option[value=AN], select.flags option[value=an] {background-position:0 -155px}
- select.flags option[value=AO], select.flags option[value=ao] {background-position:0 -177px}
- select.flags option[value=AQ], select.flags option[value=aq] {background-position:0 -199px}
- select.flags option[value=AR], select.flags option[value=ar] {background-position:0 -221px}
- select.flags option[value=AS], select.flags option[value=as] {background-position:0 -243px}
- select.flags option[value=AT], select.flags option[value=at] {background-position:0 -265px}
- select.flags option[value=AU], select.flags option[value=au] {background-position:0 -287px}
- select.flags option[value=AW], select.flags option[value=aw] {background-position:0 -309px}
- select.flags option[value=AX], select.flags option[value=ax] {background-position:0 -331px}
- select.flags option[value=AZ], select.flags option[value=az] {background-position:0 -353px}
- select.flags option[value=BA], select.flags option[value=ba] {background-position:0 -375px}
- select.flags option[value=BB], select.flags option[value=bb] {background-position:0 -397px}
- select.flags option[value=BD], select.flags option[value=bd] {background-position:0 -419px}
- select.flags option[value=BE], select.flags option[value=be] {background-position:0 -441px}
- select.flags option[value=BF], select.flags option[value=bf] {background-position:0 -463px}
- select.flags option[value=BG], select.flags option[value=bg] {background-position:0 -485px}
- select.flags option[value=BH], select.flags option[value=bh] {background-position:0 -507px}
- select.flags option[value=BI], select.flags option[value=bi] {background-position:0 -529px}
- select.flags option[value=BJ], select.flags option[value=bj] {background-position:0 -551px}
- select.flags option[value=BM], select.flags option[value=bm] {background-position:0 -573px}
- select.flags option[value=BN], select.flags option[value=bn] {background-position:0 -595px}
- select.flags option[value=BO], select.flags option[value=bo] {background-position:0 -617px}
- select.flags option[value=BR], select.flags option[value=br] {background-position:0 -639px}
- select.flags option[value=BS], select.flags option[value=bs] {background-position:0 -661px}
- select.flags option[value=BT], select.flags option[value=bt] {background-position:0 -683px}
- select.flags option[value=BV], select.flags option[value=bv] {background-position:0 -705px}
- select.flags option[value=BW], select.flags option[value=bw] {background-position:0 -727px}
- select.flags option[value=BY], select.flags option[value=by] {background-position:0 -749px}
- select.flags option[value=BZ], select.flags option[value=bz] {background-position:0 -771px}
- select.flags option[value=CA], select.flags option[value=ca] {background-position:0 -793px}
- select.flags option[value=CC], select.flags option[value=cc] {background-position:0 -837px}
- select.flags option[value=CD], select.flags option[value=cd] {background-position:0 -859px}
- select.flags option[value=CF], select.flags option[value=cf] {background-position:0 -881px}
- select.flags option[value=CG], select.flags option[value=cg] {background-position:0 -903px}
- select.flags option[value=CH], select.flags option[value=ch] {background-position:0 -925px}
- select.flags option[value=CI], select.flags option[value=ci] {background-position:0 -947px}
- select.flags option[value=CK], select.flags option[value=ck] {background-position:0 -969px}
- select.flags option[value=CL], select.flags option[value=cl] {background-position:0 -991px}
- select.flags option[value=CM], select.flags option[value=cm] {background-position:0 -1013px}
- select.flags option[value=CN], select.flags option[value=cn] {background-position:0 -1035px}
- select.flags option[value=CO], select.flags option[value=co] {background-position:0 -1057px}
- select.flags option[value=CR], select.flags option[value=cr] {background-position:0 -1079px}
- select.flags option[value=CS], select.flags option[value=cs] {background-position:0 -1101px}
- select.flags option[value=CU], select.flags option[value=cu] {background-position:0 -1123px}
- select.flags option[value=CV], select.flags option[value=cv] {background-position:0 -1145px}
- select.flags option[value=CX], select.flags option[value=cx] {background-position:0 -1167px}
- select.flags option[value=CY], select.flags option[value=cy] {background-position:0 -1189px}
- select.flags option[value=CZ], select.flags option[value=cz] {background-position:0 -1211px}
- select.flags option[value=DE], select.flags option[value=de] {background-position:0 -1233px}
- select.flags option[value=DJ], select.flags option[value=dj] {background-position:0 -1255px}
- select.flags option[value=DK], select.flags option[value=dk] {background-position:0 -1277px}
- select.flags option[value=DM], select.flags option[value=dm] {background-position:0 -1299px}
- select.flags option[value=DO], select.flags option[value=do] {background-position:0 -1321px}
- select.flags option[value=DZ], select.flags option[value=dz] {background-position:0 -1343px}
- select.flags option[value=EC], select.flags option[value=ec] {background-position:0 -1365px}
- select.flags option[value=EE], select.flags option[value=ee] {background-position:0 -1387px}
- select.flags option[value=EG], select.flags option[value=eg] {background-position:0 -1409px}
- select.flags option[value=EH], select.flags option[value=eh] {background-position:0 -1431px}
- select.flags option[value=ER], select.flags option[value=er] {background-position:0 -1497px}
- select.flags option[value=ES], select.flags option[value=ET], select.flags option[value=es], select.flags option[value=et] {background-position:0 -1519px}
- select.flags option[value=FI], select.flags option[value=fi] {background-position:0 -1585px}
- select.flags option[value=FJ], select.flags option[value=fj] {background-position:0 -1607px}
- select.flags option[value=FK], select.flags option[value=fk] {background-position:0 -1629px}
- select.flags option[value=FM], select.flags option[value=fm] {background-position:0 -1651px}
- select.flags option[value=FO], select.flags option[value=fo] {background-position:0 -1673px}
- select.flags option[value=FR], select.flags option[value=fr] {background-position:0 -1695px}
- select.flags option[value=GA], select.flags option[value=ga] {background-position:0 -1717px}
- select.flags option[value=GB], select.flags option[value=en], select.flags option[value=gb] {background-position:0 -1739px}
- select.flags option[value=GD], select.flags option[value=gd] {background-position:0 -1761px}
- select.flags option[value=GE], select.flags option[value=ge] {background-position:0 -1783px}
- select.flags option[value=GF], select.flags option[value=gf] {background-position:0 -1805px}
- select.flags option[value=GH], select.flags option[value=gh] {background-position:0 -1827px}
- select.flags option[value=GI], select.flags option[value=gi] {background-position:0 -1849px}
- select.flags option[value=GL], select.flags option[value=gl] {background-position:0 -1871px}
- select.flags option[value=GM], select.flags option[value=gm] {background-position:0 -1893px}
- select.flags option[value=GN], select.flags option[value=gn] {background-position:0 -1915px}
- select.flags option[value=GP], select.flags option[value=gp] {background-position:0 -1937px}
- select.flags option[value=GQ], select.flags option[value=gq] {background-position:0 -1959px}
- select.flags option[value=GR], select.flags option[value=el], select.flags option[value=gr] {background-position:0 -1981px}
- select.flags option[value=GS], select.flags option[value=gs] {background-position:0 -2003px}
- select.flags option[value=GT], select.flags option[value=gt] {background-position:0 -2025px}
- select.flags option[value=GU], select.flags option[value=gu] {background-position:0 -2047px}
- select.flags option[value=GW], select.flags option[value=gw] {background-position:0 -2069px}
- select.flags option[value=GY], select.flags option[value=gy] {background-position:0 -2091px}
- select.flags option[value=HK], select.flags option[value=hk] {background-position:0 -2113px}
- select.flags option[value=HM], select.flags option[value=hm] {background-position:0 -2135px}
- select.flags option[value=HN], select.flags option[value=hn] {background-position:0 -2157px}
- select.flags option[value=HR], select.flags option[value=hr] {background-position:0 -2179px}
- select.flags option[value=HT], select.flags option[value=ht] {background-position:0 -2201px}
- select.flags option[value=HU], select.flags option[value=hu] {background-position:0 -2223px}
- select.flags option[value=ID], select.flags option[value=id] {background-position:0 -2245px}
- select.flags option[value=IE], select.flags option[value=ie] {background-position:0 -2267px}
- select.flags option[value=IL], select.flags option[value=il] {background-position:0 -2289px}
- select.flags option[value=IN], select.flags option[value=in] {background-position:0 -2311px}
- select.flags option[value=IO], select.flags option[value=io] {background-position:0 -2333px}
- select.flags option[value=IQ], select.flags option[value=iq] {background-position:0 -2355px}
- select.flags option[value=IR], select.flags option[value=ir] {background-position:0 -2377px}
- select.flags option[value=IS], select.flags option[value=is] {background-position:0 -2399px}
- select.flags option[value=IT], select.flags option[value=it] {background-position:0 -2421px}
- select.flags option[value=JM], select.flags option[value=jm] {background-position:0 -2443px}
- select.flags option[value=JO], select.flags option[value=jo] {background-position:0 -2465px}
- select.flags option[value=JP], select.flags option[value=ja], select.flags option[value=jp] {background-position:0 -2487px}
- select.flags option[value=KE], select.flags option[value=ke] {background-position:0 -2509px}
- select.flags option[value=KG], select.flags option[value=kg] {background-position:0 -2531px}
- select.flags option[value=KH], select.flags option[value=kh] {background-position:0 -2553px}
- select.flags option[value=KI], select.flags option[value=ki] {background-position:0 -2575px}
- select.flags option[value=KM], select.flags option[value=km] {background-position:0 -2597px}
- select.flags option[value=KN], select.flags option[value=kn] {background-position:0 -2619px}
- select.flags option[value=KP], select.flags option[value=kp] {background-position:0 -2641px}
- select.flags option[value=KR], select.flags option[value=kr] {background-position:0 -2663px}
- select.flags option[value=KW], select.flags option[value=kw] {background-position:0 -2685px}
- select.flags option[value=KY], select.flags option[value=ky] {background-position:0 -2707px}
- select.flags option[value=KZ], select.flags option[value=kz] {background-position:0 -2729px}
- select.flags option[value=LA], select.flags option[value=la] {background-position:0 -2751px}
- select.flags option[value=LB], select.flags option[value=lb] {background-position:0 -2773px}
- select.flags option[value=LC], select.flags option[value=lc] {background-position:0 -2795px}
- select.flags option[value=LI], select.flags option[value=li] {background-position:0 -2817px}
- select.flags option[value=LK], select.flags option[value=lk] {background-position:0 -2839px}
- select.flags option[value=LR], select.flags option[value=lr] {background-position:0 -2861px}
- select.flags option[value=LS], select.flags option[value=ls] {background-position:0 -2883px}
- select.flags option[value=LT], select.flags option[value=lt] {background-position:0 -2905px}
- select.flags option[value=LU], select.flags option[value=lu] {background-position:0 -2927px}
- select.flags option[value=LV], select.flags option[value=lv] {background-position:0 -2949px}
- select.flags option[value=LY], select.flags option[value=ly] {background-position:0 -2971px}
- select.flags option[value=MA], select.flags option[value=ma] {background-position:0 -2993px}
- select.flags option[value=MC], select.flags option[value=mc] {background-position:0 -3015px}
- select.flags option[value=MD], select.flags option[value=md] {background-position:0 -3037px}
- select.flags option[value=ME], select.flags option[value=me] {background-position:0 -3059px}
- select.flags option[value=MG], select.flags option[value=mg] {background-position:0 -3081px}
- select.flags option[value=MH], select.flags option[value=mh] {background-position:0 -3103px}
- select.flags option[value=MK], select.flags option[value=mk] {background-position:0 -3125px}
- select.flags option[value=ML], select.flags option[value=ml] {background-position:0 -3147px}
- select.flags option[value=MM], select.flags option[value=mm] {background-position:0 -3169px}
- select.flags option[value=MN], select.flags option[value=mn] {background-position:0 -3191px}
- select.flags option[value=MO], select.flags option[value=mo] {background-position:0 -3213px}
- select.flags option[value=MP], select.flags option[value=mp] {background-position:0 -3235px}
- select.flags option[value=MQ], select.flags option[value=mq] {background-position:0 -3257px}
- select.flags option[value=MR], select.flags option[value=mr] {background-position:0 -3279px}
- select.flags option[value=MS], select.flags option[value=ms] {background-position:0 -3301px}
- select.flags option[value=MT], select.flags option[value=mt] {background-position:0 -3323px}
- select.flags option[value=MU], select.flags option[value=mu] {background-position:0 -3345px}
- select.flags option[value=MV], select.flags option[value=mv] {background-position:0 -3367px}
- select.flags option[value=MW], select.flags option[value=mw] {background-position:0 -3389px}
- select.flags option[value=MX], select.flags option[value=mx] {background-position:0 -3411px}
- select.flags option[value=MY], select.flags option[value=my] {background-position:0 -3433px}
- select.flags option[value=MZ], select.flags option[value=mz] {background-position:0 -3455px}
- select.flags option[value=NA], select.flags option[value=na] {background-position:0 -3477px}
- select.flags option[value=NC], select.flags option[value=nc] {background-position:0 -3499px}
- select.flags option[value=NE], select.flags option[value=ne] {background-position:0 -3521px}
- select.flags option[value=NF], select.flags option[value=nf] {background-position:0 -3543px}
- select.flags option[value=NG], select.flags option[value=ng] {background-position:0 -3565px}
- select.flags option[value=NI], select.flags option[value=ni] {background-position:0 -3587px}
- select.flags option[value=NL], select.flags option[value=nl] {background-position:0 -3609px}
- select.flags option[value=NO], select.flags option[value=no] {background-position:0 -3631px}
- select.flags option[value=NP], select.flags option[value=np] {background-position:0 -3653px}
- select.flags option[value=NR], select.flags option[value=nr] {background-position:0 -3675px}
- select.flags option[value=NU], select.flags option[value=nu] {background-position:0 -3697px}
- select.flags option[value=NZ], select.flags option[value=nz] {background-position:0 -3719px}
- select.flags option[value=OM], select.flags option[value=om] {background-position:0 -3741px}
- select.flags option[value=PA], select.flags option[value=pa] {background-position:0 -3763px}
- select.flags option[value=PE], select.flags option[value=pe] {background-position:0 -3785px}
- select.flags option[value=PF], select.flags option[value=pf] {background-position:0 -3807px}
- select.flags option[value=PG], select.flags option[value=pg] {background-position:0 -3829px}
- select.flags option[value=PH], select.flags option[value=ph] {background-position:0 -3851px}
- select.flags option[value=PK], select.flags option[value=pk] {background-position:0 -3873px}
- select.flags option[value=PL], select.flags option[value=pl] {background-position:0 -3895px}
- select.flags option[value=PM], select.flags option[value=pm] {background-position:0 -3917px}
- select.flags option[value=PN], select.flags option[value=pn] {background-position:0 -3939px}
- select.flags option[value=PR], select.flags option[value=pr] {background-position:0 -3961px}
- select.flags option[value=PS], select.flags option[value=ps] {background-position:0 -3983px}
- select.flags option[value=PT], select.flags option[value=pt] {background-position:0 -4005px}
- select.flags option[value=PW], select.flags option[value=pw] {background-position:0 -4027px}
- select.flags option[value=PY], select.flags option[value=py] {background-position:0 -4049px}
- select.flags option[value=QA], select.flags option[value=qa] {background-position:0 -4071px}
- select.flags option[value=RE], select.flags option[value=re] {background-position:0 -4093px}
- select.flags option[value=RO], select.flags option[value=ro] {background-position:0 -4115px}
- select.flags option[value=RS], select.flags option[value=rs] {background-position:0 -4137px}
- select.flags option[value=RU], select.flags option[value=ru] {background-position:0 -4159px}
- select.flags option[value=RW], select.flags option[value=rw] {background-position:0 -4181px}
- select.flags option[value=SA], select.flags option[value=sa] {background-position:0 -4203px}
- select.flags option[value=SB], select.flags option[value=sb] {background-position:0 -4225px}
- select.flags option[value=SC], select.flags option[value=sc] {background-position:0 -4247px}
- select.flags option[value=SD], select.flags option[value=sd] {background-position:0 -4291px}
- select.flags option[value=SE], select.flags option[value=se] {background-position:0 -4313px}
- select.flags option[value=SG], select.flags option[value=sg] {background-position:0 -4335px}
- select.flags option[value=SH], select.flags option[value=sh] {background-position:0 -4357px}
- select.flags option[value=SI], select.flags option[value=si] {background-position:0 -4379px}
- select.flags option[value=SJ], select.flags option[value=sj] {background-position:0 -4401px}
- select.flags option[value=SK], select.flags option[value=sk] {background-position:0 -4423px}
- select.flags option[value=SL], select.flags option[value=sl] {background-position:0 -4445px}
- select.flags option[value=SM], select.flags option[value=sm] {background-position:0 -4467px}
- select.flags option[value=SN], select.flags option[value=sn] {background-position:0 -4489px}
- select.flags option[value=SO], select.flags option[value=so] {background-position:0 -4511px}
- select.flags option[value=SR], select.flags option[value=sr] {background-position:0 -4533px}
- select.flags option[value=ST], select.flags option[value=st] {background-position:0 -4555px}
- select.flags option[value=SV], select.flags option[value=sv] {background-position:0 -4577px}
- select.flags option[value=SY], select.flags option[value=sy] {background-position:0 -4599px}
- select.flags option[value=SZ], select.flags option[value=sz] {background-position:0 -4621px}
- select.flags option[value=TC], select.flags option[value=tc] {background-position:0 -4643px}
- select.flags option[value=TD], select.flags option[value=td] {background-position:0 -4665px}
- select.flags option[value=TF], select.flags option[value=tf] {background-position:0 -4687px}
- select.flags option[value=TG], select.flags option[value=tg] {background-position:0 -4709px}
- select.flags option[value=TH], select.flags option[value=th] {background-position:0 -4731px}
- select.flags option[value=TJ], select.flags option[value=tj] {background-position:0 -4753px}
- select.flags option[value=TK], select.flags option[value=tk] {background-position:0 -4775px}
- select.flags option[value=TL], select.flags option[value=tl] {background-position:0 -4797px}
- select.flags option[value=TM], select.flags option[value=tm] {background-position:0 -4819px}
- select.flags option[value=TN], select.flags option[value=tn] {background-position:0 -4841px}
- select.flags option[value=TO], select.flags option[value=to] {background-position:0 -4863px}
- select.flags option[value=TR], select.flags option[value=tr] {background-position:0 -4885px}
- select.flags option[value=TT], select.flags option[value=tt] {background-position:0 -4907px}
- select.flags option[value=TV], select.flags option[value=tv] {background-position:0 -4929px}
- select.flags option[value=TW], select.flags option[value=tw] {background-position:0 -4951px}
- select.flags option[value=TZ], select.flags option[value=tz] {background-position:0 -4973px}
- select.flags option[value=UA], select.flags option[value=ua] {background-position:0 -4995px}
- select.flags option[value=UG], select.flags option[value=ug] {background-position:0 -5017px}
- select.flags option[value=UM], select.flags option[value=um] {background-position:0 -5039px}
- select.flags option[value=US], select.flags option[value=us] {background-position:0 -5061px}
- select.flags option[value=UY], select.flags option[value=uy] {background-position:0 -5083px}
- select.flags option[value=UZ], select.flags option[value=uz] {background-position:0 -5105px}
- select.flags option[value=VA], select.flags option[value=va] {background-position:0 -5127px}
- select.flags option[value=VC], select.flags option[value=vc] {background-position:0 -5149px}
- select.flags option[value=VE], select.flags option[value=ve] {background-position:0 -5171px}
- select.flags option[value=VG], select.flags option[value=vg] {background-position:0 -5193px}
- select.flags option[value=VI], select.flags option[value=vi] {background-position:0 -5215px}
- select.flags option[value=VN], select.flags option[value=vn] {background-position:0 -5237px}
- select.flags option[value=VU], select.flags option[value=vu] {background-position:0 -5259px}
- select.flags option[value=WF], select.flags option[value=wf] {background-position:0 -5303px}
- select.flags option[value=WS], select.flags option[value=ws] {background-position:0 -5325px}
- select.flags option[value=YE], select.flags option[value=ye] {background-position:0 -5347px}
- select.flags option[value=YT], select.flags option[value=yt] {background-position:0 -5369px}
- select.flags option[value=ZA], select.flags option[value=za] {background-position:0 -5391px}
- select.flags option[value=ZM], select.flags option[value=zm] {background-position:0 -5413px}
- select.flags option[value=ZW], select.flags option[value=zw] {background-position:0 -5435px}
-
- .panel_login {
- max-width: 80%;
- min-width: 680px;
- }
-
- div.subsectiontoggle {
- border:1px solid #ccc;
- font-weight:bold;
- font-size:14px;
- padding-top:10px;
- padding-bottom:0;
- margin-top:5px;
- text-indent:15px;
- cursor:pointer;
- margin-bottom:10px;
- background-color:#f4f4f4;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- -khtml-border-radius:5px;
- -o-border-radius:5px;
- -ms-border-radius:5px;
- border-radius:5px;
- }
- div.subsectiontoggle span{
- display:inline-block;
- margin-bottom:-3px;
- margin-right:10px;
- width:16px;
- height:16px;
- background:url("../../icons/x16/plus_circle_frame.png") top left no-repeat;
- }
- div.subsectiontoggle span.showing{
- background:url("../../icons/x16/minus_circle_frame.png") top left no-repeat;
- }
- div.subsectiontoggle em{
- display:block;
- position:relative;
- left:425px;
- top:-13px;
- margin-bottom:-3px;
- width:13px;
- height:13px;
- background:url("../../images/chevron.png") top left no-repeat;
- -webkit-transform:none;
- -moz-transform:none;
- -khtml-transform:none;
- -o-transform:none;
- -ms-transform:none;
- transform:none;
- -webkit-transition-duration: .2s;
- -moz-transition-duration: .2s;
- -khtml-transition-duration: .2s;
- -o-transition-duration: .2s;
- -ms-transition-duration: .2s;
- transition-duration: .2s;
- -webkit-transition-property: -webkit-transform;
- -moz-transition-property: -moz-transform;
- -khtml-transition-property: -khtml-transform;
- -o-transition-property: -o-transform;
- -ms-transition-property: -ms-transform;
- transition-property: transform;
- }
- div.subsectiontoggle em.showing{
- display:block;
- position:relative;
- left:425px;
- top:-13px;
- background:url("../../images/chevron.png") top left no-repeat;
- width:13px;
- height:13px;
- -webkit-transform:rotate(90deg);
- -moz-transform:rotate(90deg);
- -khtml-transform:rotate(90deg);
- -o-transform:rotate(90deg);
- -ms-transform:rotate(90deg);
- transform:rotate(90deg);
- }
- div.subsectiontoggle:hover em{
- -webkit-transform:rotate(90deg);
- -moz-transform:rotate(90deg);
- -khtml-transform:rotate(90deg);
- -o-transform:rotate(90deg);
- -ms-transform:rotate(90deg);
- transform:rotate(90deg);
- }
-
- div.gs-container{
- margin-top:10px;
- }
- div.gs-container *{
- margin: 0;
- padding: 0;
- background-position: 0 0;
- text-decoration: none;
- font-size: 1em;
- }
- div.gs-container input{
- background: url("../../icons/x16/magnifier_left.png") no-repeat 4px 3px #FFFFFF;
- height:20px;
- border:1px solid #444;
- padding:0 22px 2px;
- color:#444;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- -khtml-border-radius:5px;
- -o-border-radius:5px;
- -ms-border-radius:5px;
- border-radius:5px;
- }
- input.gs-loading{
- background-image: url("../../icons/x16/loading.gif");
- background-repeat: no-repeat;
- background-position: center right;
- }
- ul.gs-resultbox{
- margin: 0 !important;
- padding: 0 !important;
- width: 300px;
- z-index: 999999;
- border: 1px solid #777;
- font-size: 11px;
- background: #fff;
- -moz-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -webkit-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -khtml-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -o-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -ms-box-shadow: 2px 2px 5px 0 #c5c5c5;
- box-shadow: 2px 2px 5px 0 #c5c5c5;
- list-style: none;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- -khtml-border-radius:5px;
- -o-border-radius:5px;
- -ms-border-radius:5px;
- border-radius:5px;
- max-height:500px;
- overflow:auto;
- }
- ul.gs-resultbox li{
- float: left;
- width: 100%;
- clear: both;
- cursor: pointer;
- }
- ul.gs-resultbox li.gs-cheader{
- height: 13px;
- overflow: hidden;
- padding: 5px 0;
- color: #fff;
- background: #6ea6d1;
- cursor:default;
- padding-bottom:10px;
- }
- ul.gs-resultbox li.gs-cheader p.gs-cheader-title{
- margin: 0 !important;
- padding: 0 0 0 10px !important;
- float: left;
- font-size: 12px;
- font-weight: bold;
- }
- ul.gs-resultbox li.gs-cheader p.gs-cheader-limit{
- margin: 0 !important;
- padding: 0 10px 0 0 !important;
- float: right;
- font-size: 11px;
- font-weight: normal;
- }
- ul.gs-resultbox li.gs-cdata{
- margin: 0 !important;
- padding: 0 !important;
- border-bottom: 1px solid #c5c5c5;
- }
- ul.gs-resultbox li.gs-cdata:last-child{
- border-bottom: none;
- }
- ul.gs-resultbox li.gs-cdata:hover{
- background: #eaf4fd;
- }
- ul.gs-resultbox li.gs-cdata a{
- display: block;
- padding: 5px 10px;
- text-decoration: none !important;
- background: #fff;
- }
- ul.gs-resultbox li.gs-cdata a:hover{
- background: #cde0ff;
- }
- ul.gs-resultbox li.gs-cdata img{
- margin-right: 12px;
- }
- ul.gs-resultbox li.gs-cdata p{
- margin: 0 !important;
- padding: 0 !important;
- color: #444;
- font-size: 10px;
- min-height:30px;
- }
- ul.gs-resultbox li.gs-cdata p span.gs-cdata-title{
- display: inline !important;
- margin: 0 !important;
- padding: 0 !important;
- font-size: 11px;
- font-weight: bold;
- color: #000;
- }
- ul.gs-resultbox li:first-child{
- -moz-border-radius:5px 5px 0 0;
- -webkit-border-radius:5px 5px 0 0;
- -khtml-border-radius:5px 5px 0 0;
- -o-border-radius:5px 5px 0 0;
- -ms-border-radius:5px 5px 0 0;
- border-radius:5px 5px 0 0;
- }
- ul.gs-resultbox li:last-child{
- -moz-border-radius:0 0 5px 5px;
- -webkit-border-radius:0 0 5px 5px;
- -khtml-border-radius:0 0 5px 5px;
- -o-border-radius:0 0 5px 5px;
- -ms-border-radius:0 0 5px 5px;
- border-radius:0 0 5px 5px;
- }
-
- div.df-container{
- }
- div.df-container *{
- margin: 0;
- padding: 0;
- background-position: 0 0;
- text-decoration: none;
- font-size: 1em;
- }
- div.df-container input{
- }
- input.df-loading{
- background-image: url("../../icons/x16/loading.gif");
- background-repeat: no-repeat;
- background-position: center right;
- }
- ul.df-resultbox{
- margin: 0 !important;
- padding: 0 !important;
- min-width: 250px;
- max-width: 500px;
- z-index: 999999;
- border: 1px solid #777;
- font-size: 11px;
- background: #fff;
- -moz-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -webkit-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -khtml-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -o-box-shadow: 2px 2px 5px 0 #c5c5c5;
- -ms-box-shadow: 2px 2px 5px 0 #c5c5c5;
- box-shadow: 2px 2px 5px 0 #c5c5c5;
- list-style: none;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- -khtml-border-radius:5px;
- -o-border-radius:5px;
- -ms-border-radius:5px;
- border-radius:5px;
- }
- ul.df-resultbox li{
- float: left;
- width: 100%;
- clear: both;
- cursor: pointer;
- }
- ul.df-resultbox li.df-cheader{
- height: 13px;
- overflow: hidden;
- padding: 5px 0;
- color: #fff;
- background: #6ea6d1;
- cursor:default;
- padding-bottom:10px;
- }
- ul.df-resultbox li.df-cheader p.df-cheader-title{
- margin: 0 !important;
- padding: 0 0 0 10px !important;
- float: left;
- font-size: 12px;
- font-weight: bold;
- }
- ul.df-resultbox li.df-cheader p.df-cheader-limit{
- margin: 0 !important;
- padding: 0 10px 0 0 !important;
- float: right;
- font-size: 11px;
- font-weight: normal;
- }
- ul.df-resultbox li.df-cdata{
- margin: 0 !important;
- padding: 0 !important;
- border-bottom: 1px solid #c5c5c5;
- }
- ul.df-resultbox li.df-cdata:last-child{
- border-bottom: none;
- }
- ul.df-resultbox li.df-cdata:hover{
- background: #eaf4fd;
- }
- ul.df-resultbox li.df-cdata a{
- display: block;
- padding: 5px 10px;
- text-decoration: none !important;
- background: #fff;
- }
- ul.df-resultbox li.df-cdata a:hover{
- background: #cde0ff;
- }
- ul.df-resultbox li.df-cdata img{
- margin-right: 12px;
- }
- ul.df-resultbox li.df-cdata p{
- margin: 0 !important;
- padding: 0 !important;
- color: #444;
- font-size: 10px;
- min-height:30px;
- }
- ul.df-resultbox li.df-cdata p span.df-cdata-title{
- display: inline !important;
- margin: 0 !important;
- padding: 0 !important;
- font-size: 11px;
- font-weight: bold;
- color: #000;
- }
- ul.df-resultbox li:first-child{
- -moz-border-radius:5px 5px 0 0;
- -webkit-border-radius:5px 5px 0 0;
- -khtml-border-radius:5px 5px 0 0;
- -o-border-radius:5px 5px 0 0;
- -ms-border-radius:5px 5px 0 0;
- border-radius:5px 5px 0 0;
- }
- ul.df-resultbox li:last-child{
- -moz-border-radius:0 0 5px 5px;
- -webkit-border-radius:0 0 5px 5px;
- -khtml-border-radius:0 0 5px 5px;
- -o-border-radius:0 0 5px 5px;
- -ms-border-radius:0 0 5px 5px;
- border-radius:0 0 5px 5px;
- }
-
- span.icons16-empty{
- float:left;
- display:block;
- height:20px;
- width:20px;
- margin:0 7px 0 0;
- }
-
- .ttip{
- width:16px;
- height:16px;
- cursor:pointer;
- background: url("../../icons/x16/question_frame.png") no-repeat center center;
- float:right;
- display:inline;
- position:relative;
- right:-2px;
- top:-2px;
- }
-
- p.prefix {
- float: left;
- margin: 0;
- text-align: right;
- }
- p.label {
- float: left;
- margin: 5px 15px 0 0;
- }
- p.value {
- float:left;
- margin: 0 0 0 2px;
- }
- select.search_limit {
- width: 50px;
- }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/jquery-ui-custom.css b/interface/web/themes/default-304/css/screen/jquery-ui-custom.css
deleted file mode 100644
index a90d8b9..0000000
--- a/interface/web/themes/default-304/css/screen/jquery-ui-custom.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.ui-datepicker-calendar thead tr th {
- background-image:none;
- background-color:#FFFFFF;
- color:#000000;
-}
-.ui-widget { font-family: 'Trebuchet MS', Arial, sans-serif; font-size: 100%; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: 'Trebuchet MS', Arial, sans-serif; font-size: 100%; }
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100644
index 5b5dab2..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png
deleted file mode 100644
index 47acaad..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_flat_55_fbec88_40x100.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
deleted file mode 100644
index 9fb564f..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
deleted file mode 100644
index 0149515..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
deleted file mode 100644
index 4443fdc..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
deleted file mode 100644
index 81ecc36..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
deleted file mode 100644
index 4f3faf8..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
deleted file mode 100644
index 38c3833..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png
deleted file mode 100644
index 6f4bd87..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_217bc0_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png
deleted file mode 100644
index 09d1cdc..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_2e83ff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png
deleted file mode 100644
index bd2cf07..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_469bdd_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png
deleted file mode 100644
index 9f3eafa..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_6da8d5_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100644
index 2ab019b..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_cd0a0a_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png
deleted file mode 100644
index ad2dc6f..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_d8e7f3_256x240.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png b/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png
deleted file mode 100644
index c7c53cb..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/images/ui-icons_f9bd01_256x240.png
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index e3e05d1..0000000
--- a/interface/web/themes/default-304/css/screen/redmond/jquery-ui-1.8.16.custom.css
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * 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
deleted file mode 100644
index ea735c7..0000000
--- a/interface/web/themes/default-304/css/screen/tipsy.css
+++ /dev/null
@@ -1,25 +0,0 @@
-.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/css/screen/uni-form-generic.css b/interface/web/themes/default-304/css/screen/uni-form-generic.css
deleted file mode 100644
index 8daf439..0000000
--- a/interface/web/themes/default-304/css/screen/uni-form-generic.css
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Uni-Form by Dragan Babic [Superawesome Industries] - http: //sprawsm.com/uni-form/ */
-/* Some rights reserved - http: //creativecommons.org/licenses/by-sa/2.5/ */
-/* Do not edit this file directly, make your changes to uni-form.css in the same folder */
-
-/* ------------------------------------------------------------------------------ */
-
-.uniForm{ margin: 0; padding: 0; position: relative; z-index: 1; } /* reset stuff */
-
- /* Some generals and more resets */
- .uniForm fieldset{ border: none; margin: 0; padding: 0; }
- .uniForm fieldset legend{ margin: 0; padding: 0; }
-
- /* This is the main unit that contains our form elements */
- .uniForm .ctrlHolder,
- .uniForm .buttonHolder{ margin: 0; padding: 0; clear: both; }
-
- /* Clear all floats */
- .uniForm:after,
- .uniForm .buttonHolder:after,
- .uniForm .ctrlHolder:after,
- .uniForm .ctrlHolder .multiField:after,
- .uniForm .inlineLabel:after{ content: "."; display: block; height: 0; line-height: 0; font-size: 0; clear: both; min-height: 0; visibility: hidden; }
-
- /* A class to be used on a label that contains a checkbox or a radio button */
- .uniForm .inlineLabel,
- .uniForm .inlineLabels .inlineLabel,
- .uniForm .blockLabels .inlineLabel{ width: auto; float: none; margin: 0; display: block; }
- /* IE shows borders & padding on checkboxes and radio buttons if they are declared on an input element, remove them */
- /* Legacy/Inheritance fix */
- .uniForm .inlineLabel input,
- .uniForm .inlineLabels .inlineLabel input,
- .uniForm .blockLabels .inlineLabel input{ border: none; padding: 0; margin: 0; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* Styles for form controls where labels are above the input elements */
- /* Set the class of the parent (preferably to a fieldset) to .blockLabels */
-
- .uniForm label,
- .uniForm .label,
- .uniForm .blockLabels label,
- .uniForm .blockLabels .label{ display: block; float: none; padding: 0; line-height: 100%; width: auto; }
-
- /* Float the input elements */
- .uniForm .textInput,
- .uniForm .blockLabels .textInput,
- .uniForm .blockLabels .fileUpload,
- .uniForm .selectInput,
- .uniForm .blockLabels .selectInput,
- .uniForm .blockLabels select,
- .uniForm textarea,
- .uniForm .blockLabels textarea{ float: left; }
-
- /* Postition the hints */
- .uniForm .formHint,
- .uniForm .blockLabels .formHint{ float: right; margin: 0; clear: none; }
-
- /* Position the elements inside combo boxes (multiple selects/checkboxes/radio buttons per unit) */
- .uniForm .multiField,
- .uniForm .blockLabels .multiField{ width: auto; float: left; }
- .uniForm .multiField .inlineLabel,
- .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
- .uniForm .multiField .blockLabel,
- .uniForm .blockLabels .multiField .blockLabel{ float: left; width: auto; margin: 0; }
- .uniForm .multiField .blockLabel .textInput,
- .uniForm .multiField .blockLabel .selectInput,
- .uniForm .multiField .blockLabel select,
- .uniForm .blockLabels .multiField .blockLabel .textInput,
- .uniForm .blockLabels .multiField .blockLabel .selectInput,
- .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: 0; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* Styles for form controls where labels are in line with the input elements */
- /* Set the class of the parent (preferably to a fieldset) to .inlineLabels */
- .uniForm .inlineLabels label,
- .uniForm .inlineLabels .label{ float: left; margin: 0; padding: 0; line-height: 100%; position: relative; }
-
- /* Float the input elements */
- .uniForm .inlineLabels .textInput,
- .uniForm .inlineLabels .fileUpload,
- .uniForm .inlineLabels .selectInput,
- .uniForm .inlineLabels select,
- .uniForm .inlineLabels textarea{ float: left; }
-
- /* Postition the hints */
- .uniForm .inlineLabels .formHint{ clear: both; float: none; }
- .uniForm .inlineLabels .multiField{ float: left; }
- .uniForm .inlineLabels .multiField .inlineLabel{}
- .uniForm .inlineLabels .multiField .blockLabel{}
- .uniForm .inlineLabels .multiField .blockLabel .textInput,
- .uniForm .inlineLabels .multiField .blockLabel .selectInput,
- .uniForm .inlineLabels .multiField .blockLabel select{ display: block; width: 100%; float: none; }
- .uniForm .inlineLabels .multiField select{ float: left; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* Required fields asterisk styling for .blockLabels */
- .uniForm label em,
- .uniForm .label em,
- .uniForm .blockLabels label em,
- .uniForm .blockLabels .label em{ position: absolute; left: -7px; }
-
- /* Required fields asterisk styling for .inlineLabels */
- .uniForm .inlineLabels label em,
- .uniForm .inlineLabels .label em{ display: block; position: absolute; left: auto; right: 0; font-style: normal; font-weight: bold; }
- .uniForm .inlineLabel em{ position: absolute; left: 7px; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* Messages */
- .uniForm #errorMsg,
- .uniForm .error{
- }
- .uniForm #errorMsg dt,
- .uniForm #errorMsg h3{
- }
- .uniForm #errorMsg dd{
- }
- .uniForm #errorMsg ol{
- }
- .uniForm #errorMsg ol li{
- }
- .uniForm .errorField{
- }
-
- .uniForm #OKMsg{
- }
-
-/* ------------------------------------------------------------------------------ */
-
- /* Columns */
-
- .uniForm .col{ float: left; }
- .uniForm .col.first{}
- .uniForm .col.last{}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/css/screen/uni-form.css b/interface/web/themes/default-304/css/screen/uni-form.css
deleted file mode 100644
index 6b6f746..0000000
--- a/interface/web/themes/default-304/css/screen/uni-form.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/* Keep in mind that wherever you see 'Required property' it means that the property must exist */
-
-/* ------------------------------------------------------------------------------ */
-
- /* Generals */
- .uniForm fieldset{}
- .uniForm fieldset legend{ color: #333; font-weight: bold; font-size: 100%; margin: 0; padding: 1.5em 1.5em 1.5em 0; }
-
- /* This is the main unit that contains our form elements */
- .uniForm .ctrlHolder{ padding: 3px; border-bottom: 1px dotted #dfdfdf; }
-
- .uniForm .buttonHolder{
- text-align: left;
- background: #CEDEEF url("../../images/buttonHolder_bg.gif") no-repeat right;
- margin: 3em 0 1em;
- padding: 8px;
- }
- .uniForm .resetButton{ float: left; }
- .uniForm .primaryAction{ font-weight: bold; }
-
- /* This class gets added to div.ctrlHolder to highlight the row */
- .uniForm .focused{ background: #fffcdf; }
-
- /* .inlineLabel is used for inputs within labels - checkboxes and radio buttons */
- .uniForm .inlineLabel input,
- .uniForm .inlineLabels .inlineLabel input,
- .uniForm .blockLabels .inlineLabel input{ float: left; margin: 0 .4em 0 0; }
- .uniForm .inlineLabel span{ float: left; width: 90%; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* .blockLabels (default style, will be applied even if you don't class the parent element) */
- .uniForm .blockLabels .ctrlHolder{}
-
- .uniForm label,
- .uniForm .blockLabels label,
- .uniForm .blockLabels .label{ margin: 0 0 .5em 0; }
-
- .uniForm .textInput,
- .uniForm .blockLabels .textInput,
- .uniForm .blockLabels .fileUpload{ width: 43%; /* <- Required property */ }
-
- .uniForm .selectInput,
- .uniForm select,
- .uniForm .blockLabels .selectInput,
- .uniForm .blockLabels select{ width: 43.5%; /* <- Required property */ }
- .uniForm textarea,
- .uniForm .blockLabels textarea{ width: 43%; /* <- Required property */ height: 12em; }
-
- .uniForm .formHint,
- .uniForm .blockLabels .formHint{ width: 55%; /* <- Required property */ font-size: .9em; color: #777; position: relative; top: -.5em; }
-
- .uniForm .multiField,
- .uniForm .blockLabels .multiField{ width: 43%; }
- .uniForm .multiField .inlineLabel,
- .uniForm .blockLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
- .uniForm .multiField .blockLabel,
- .uniForm .blockLabels .multiField .blockLabel{ width: 30%; margin: 0 10px 0 0; }
- .uniForm .multiField .blockLabel .textInput,
- .uniForm .multiField .blockLabel .selectInput,
- .uniForm .multiField .blockLabel select,
- .uniForm .blockLabels .multiField .blockLabel .textInput,
- .uniForm .blockLabels .multiField .blockLabel .selectInput,
- .uniForm .blockLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
-
-/* ------------------------------------------------------------------------------ */
-
- /* .inlineLabels */
- .uniForm .inlineLabels .ctrlHolder{}
-
- .uniForm .inlineLabels label,
- .uniForm .inlineLabels .label{ width: 20%; /* <- Required property */ margin: .3em 2% 0 0; /* <- Required property */ }
-
- .uniForm .inlineLabels .textInput,
- .uniForm .inlineLabels .fileUpload{ width: 35%; /* <- Required property */ }
-
- .uniForm .inlineLabels .selectInput,
- .uniForm .inlineLabels select{ width: 35%; /* <- Required property */ }
-
- .uniForm .inlineLabels textarea{ width: 35%; /* <- Required property */ height: 12em; }
-
- .uniForm .inlineLabels .formHint{ margin-top: 0; margin-left: 22%; font-size: .9em; color: #777; position: static; }
-
- .uniForm .inlineLabels .multiField{ width: 60%; /* <- Required property */ margin: 0 0 .3em 0; }
- .uniForm .inlineLabels .multiField .inlineLabel{ display: block; margin: 0 0 .5em 0; }
- .uniForm .inlineLabels .multiField .blockLabel{ float: left; width: 26%; margin: 0 3% 0 0; }
- .uniForm .inlineLabels .multiField .blockLabel .textInput,
- .uniForm .inlineLabels .multiField .blockLabel .selectInput,
- .uniForm .inlineLabels .multiField .blockLabel select{ width: 100%; margin: .3em 0 0 0; }
-
-/* Focus pseudoclasses */
-.uniForm .ctrlHolder .textInput:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
-.uniForm .ctrlHolder textarea:focus{ outline: none; /* Get rid of the 'glow' effect in WebKit, optional */ }
-.uniForm div.focused .formHint{ color: #333; }
-
-/* Columns (they are floated left by default) */
-.uniForm .col{ width: 37.9%; /* <- Required property */ margin: 0 2% 20px 0; }
-/* Use .first and .last classes to control the layout/spacing of your columns */
-.uniForm .col.first{ width: 39%; /* <- Required property */ float: left; clear: none; }
-.uniForm .col.last{ width: 39%; /* <- Required property */ float: right; clear: none; margin-right: 0; }
-
-/* Messages */
-.uniForm #errorMsg, .confirmpassworderror{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px; }
-.uniForm .error{ background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; }
-
-.uniForm #errorMsg dt, .uniForm #errorMsg h3{ margin: 0 0 .5em 0; font-size: 100%; line-height: 100%; font-weight: bold; }
-.uniForm #errorMsg dd{ margin: 0; padding: 0; }
-.uniForm #errorMsg ol{ margin: 0; padding: 0; list-style:none;}
-.uniForm #errorMsg ol li{ margin: 0; padding: 2px; list-style-position: inside; border-bottom: 1px dotted #df7d7d; position: relative; }
-.uniForm .errorField{ color: #af4c4c; margin: 0 0 6px 0; padding: 4px; background: #ffbfbf; }
-
-.uniForm #OKMsg, .confirmpasswordok{ background: #C8FFBF; border: 1px solid #A2EF95; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px; }
-.uniForm #OKMsg p{ margin: 0; }
-
-/*
-IT IS STRONGLY ADVISED TO MAKE YOUR CHANGES AFTER THIS COMMENT BY REPEATING (COPYING) THE SELECTOR FROM ABOVE,
-AND MODIFYING IT WITH YOUR OWN PROPERTIES/VALUES. THIS IS RECOMMENDED BECAUSE IF YOU HAPPEN TO RUN INTO TROUBLE,
-YOU CAN VERY EASILY REVERT TO A GENERIC STYLE OF UNI-FORM. BEST OF LUCK...
-*/
-
-/* ------------------------------------------------------------------------------ */
-
-/* This is the main unit that contains our form elements */
-
-.uniForm .textInput, .uniForm .selectInput, .uniForm textarea {
- background:#FFFFFF none repeat scroll 0 0;
- color: #000000;
- border: 1px solid #DFDFDF;
- padding: 1px;
-}
-
diff --git a/interface/web/themes/default-304/icons/device_sprite.png b/interface/web/themes/default-304/icons/device_sprite.png
deleted file mode 100644
index af531d7..0000000
--- a/interface/web/themes/default-304/icons/device_sprite.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/flags_sprite.png b/interface/web/themes/default-304/icons/flags_sprite.png
deleted file mode 100644
index 036a8aa..0000000
--- a/interface/web/themes/default-304/icons/flags_sprite.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/accept.png b/interface/web/themes/default-304/icons/x12/accept.png
deleted file mode 100644
index 6a9f2e2..0000000
--- a/interface/web/themes/default-304/icons/x12/accept.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/accept_blue.png b/interface/web/themes/default-304/icons/x12/accept_blue.png
deleted file mode 100644
index 47ab08a..0000000
--- a/interface/web/themes/default-304/icons/x12/accept_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/accept_green.png b/interface/web/themes/default-304/icons/x12/accept_green.png
deleted file mode 100644
index d5d5709..0000000
--- a/interface/web/themes/default-304/icons/x12/accept_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/arrow_2_left_round.png b/interface/web/themes/default-304/icons/x12/arrow_2_left_round.png
deleted file mode 100644
index f52da18..0000000
--- a/interface/web/themes/default-304/icons/x12/arrow_2_left_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/arrow_2_right_round.png b/interface/web/themes/default-304/icons/x12/arrow_2_right_round.png
deleted file mode 100644
index 35fecf5..0000000
--- a/interface/web/themes/default-304/icons/x12/arrow_2_right_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png b/interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png
deleted file mode 100644
index aac963c..0000000
--- a/interface/web/themes/default-304/icons/x12/arrow_left_blue_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png b/interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png
deleted file mode 100644
index 71f5dd9..0000000
--- a/interface/web/themes/default-304/icons/x12/arrow_right_blue_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/article.png b/interface/web/themes/default-304/icons/x12/article.png
deleted file mode 100644
index 276094e..0000000
--- a/interface/web/themes/default-304/icons/x12/article.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/article_text.png b/interface/web/themes/default-304/icons/x12/article_text.png
deleted file mode 100644
index dbc47e5..0000000
--- a/interface/web/themes/default-304/icons/x12/article_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/bar_graph.png b/interface/web/themes/default-304/icons/x12/bar_graph.png
deleted file mode 100644
index 7df4a34..0000000
--- a/interface/web/themes/default-304/icons/x12/bar_graph.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/burst.png b/interface/web/themes/default-304/icons/x12/burst.png
deleted file mode 100644
index 2dfc873..0000000
--- a/interface/web/themes/default-304/icons/x12/burst.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/calendar.png b/interface/web/themes/default-304/icons/x12/calendar.png
deleted file mode 100644
index 56ea24c..0000000
--- a/interface/web/themes/default-304/icons/x12/calendar.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/calendar2.png b/interface/web/themes/default-304/icons/x12/calendar2.png
deleted file mode 100644
index e82b316..0000000
--- a/interface/web/themes/default-304/icons/x12/calendar2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/cancel.png b/interface/web/themes/default-304/icons/x12/cancel.png
deleted file mode 100644
index bff763a..0000000
--- a/interface/web/themes/default-304/icons/x12/cancel.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/cancel_round.png b/interface/web/themes/default-304/icons/x12/cancel_round.png
deleted file mode 100644
index 803532c..0000000
--- a/interface/web/themes/default-304/icons/x12/cancel_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/clock.png b/interface/web/themes/default-304/icons/x12/clock.png
deleted file mode 100644
index 589bd94..0000000
--- a/interface/web/themes/default-304/icons/x12/clock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/code.png b/interface/web/themes/default-304/icons/x12/code.png
deleted file mode 100644
index fc2b05f..0000000
--- a/interface/web/themes/default-304/icons/x12/code.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/comment_blue.png b/interface/web/themes/default-304/icons/x12/comment_blue.png
deleted file mode 100644
index 248ddb6..0000000
--- a/interface/web/themes/default-304/icons/x12/comment_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/dollar.png b/interface/web/themes/default-304/icons/x12/dollar.png
deleted file mode 100644
index 223f3bd..0000000
--- a/interface/web/themes/default-304/icons/x12/dollar.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/double_comment.png b/interface/web/themes/default-304/icons/x12/double_comment.png
deleted file mode 100644
index 21262ec..0000000
--- a/interface/web/themes/default-304/icons/x12/double_comment.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/download.png b/interface/web/themes/default-304/icons/x12/download.png
deleted file mode 100644
index 3866bb2..0000000
--- a/interface/web/themes/default-304/icons/x12/download.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/envelope.png b/interface/web/themes/default-304/icons/x12/envelope.png
deleted file mode 100644
index 5b48a00..0000000
--- a/interface/web/themes/default-304/icons/x12/envelope.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_black.png b/interface/web/themes/default-304/icons/x12/flag_black.png
deleted file mode 100644
index 66464de..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_blue.png b/interface/web/themes/default-304/icons/x12/flag_blue.png
deleted file mode 100644
index 4ced1c2..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_green.png b/interface/web/themes/default-304/icons/x12/flag_green.png
deleted file mode 100644
index d9fe8e4..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_orange.png b/interface/web/themes/default-304/icons/x12/flag_orange.png
deleted file mode 100644
index a2b1090..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_orange.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_red.png b/interface/web/themes/default-304/icons/x12/flag_red.png
deleted file mode 100644
index a6b6839..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/flag_yellow.png b/interface/web/themes/default-304/icons/x12/flag_yellow.png
deleted file mode 100644
index e197045..0000000
--- a/interface/web/themes/default-304/icons/x12/flag_yellow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/folder.png b/interface/web/themes/default-304/icons/x12/folder.png
deleted file mode 100644
index 92c08ca..0000000
--- a/interface/web/themes/default-304/icons/x12/folder.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/info.png b/interface/web/themes/default-304/icons/x12/info.png
deleted file mode 100644
index 150c5cb..0000000
--- a/interface/web/themes/default-304/icons/x12/info.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/link.png b/interface/web/themes/default-304/icons/x12/link.png
deleted file mode 100644
index 1e7eb87..0000000
--- a/interface/web/themes/default-304/icons/x12/link.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/lock.png b/interface/web/themes/default-304/icons/x12/lock.png
deleted file mode 100644
index 33a24b6..0000000
--- a/interface/web/themes/default-304/icons/x12/lock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/magnify.png b/interface/web/themes/default-304/icons/x12/magnify.png
deleted file mode 100644
index 730675e..0000000
--- a/interface/web/themes/default-304/icons/x12/magnify.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/minus.png b/interface/web/themes/default-304/icons/x12/minus.png
deleted file mode 100644
index a76b0e2..0000000
--- a/interface/web/themes/default-304/icons/x12/minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/minus_round.png b/interface/web/themes/default-304/icons/x12/minus_round.png
deleted file mode 100644
index 3d84805..0000000
--- a/interface/web/themes/default-304/icons/x12/minus_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/money.png b/interface/web/themes/default-304/icons/x12/money.png
deleted file mode 100644
index 6deb575..0000000
--- a/interface/web/themes/default-304/icons/x12/money.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/new.png b/interface/web/themes/default-304/icons/x12/new.png
deleted file mode 100644
index 49bf82c..0000000
--- a/interface/web/themes/default-304/icons/x12/new.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/pencil.png b/interface/web/themes/default-304/icons/x12/pencil.png
deleted file mode 100644
index 6bfdad4..0000000
--- a/interface/web/themes/default-304/icons/x12/pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/pictures.png b/interface/web/themes/default-304/icons/x12/pictures.png
deleted file mode 100644
index 0478e95..0000000
--- a/interface/web/themes/default-304/icons/x12/pictures.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/plus.png b/interface/web/themes/default-304/icons/x12/plus.png
deleted file mode 100644
index e3afb66..0000000
--- a/interface/web/themes/default-304/icons/x12/plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/printer.png b/interface/web/themes/default-304/icons/x12/printer.png
deleted file mode 100644
index b3fc25f..0000000
--- a/interface/web/themes/default-304/icons/x12/printer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/question_blue.png b/interface/web/themes/default-304/icons/x12/question_blue.png
deleted file mode 100644
index 97c006b..0000000
--- a/interface/web/themes/default-304/icons/x12/question_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/refresh.png b/interface/web/themes/default-304/icons/x12/refresh.png
deleted file mode 100644
index 5c76d9b..0000000
--- a/interface/web/themes/default-304/icons/x12/refresh.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/rss.png b/interface/web/themes/default-304/icons/x12/rss.png
deleted file mode 100644
index e918050..0000000
--- a/interface/web/themes/default-304/icons/x12/rss.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/rss_round.png b/interface/web/themes/default-304/icons/x12/rss_round.png
deleted file mode 100644
index c436887..0000000
--- a/interface/web/themes/default-304/icons/x12/rss_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/security_green.png b/interface/web/themes/default-304/icons/x12/security_green.png
deleted file mode 100644
index f681815..0000000
--- a/interface/web/themes/default-304/icons/x12/security_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/security_orange.png b/interface/web/themes/default-304/icons/x12/security_orange.png
deleted file mode 100644
index d1ba672..0000000
--- a/interface/web/themes/default-304/icons/x12/security_orange.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/security_red.png b/interface/web/themes/default-304/icons/x12/security_red.png
deleted file mode 100644
index d2f1bae..0000000
--- a/interface/web/themes/default-304/icons/x12/security_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/star.png b/interface/web/themes/default-304/icons/x12/star.png
deleted file mode 100644
index 77cbacd..0000000
--- a/interface/web/themes/default-304/icons/x12/star.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/star_blue.png b/interface/web/themes/default-304/icons/x12/star_blue.png
deleted file mode 100644
index 5bb59df..0000000
--- a/interface/web/themes/default-304/icons/x12/star_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/stop.png b/interface/web/themes/default-304/icons/x12/stop.png
deleted file mode 100644
index 86a01e0..0000000
--- a/interface/web/themes/default-304/icons/x12/stop.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/stop_round.png b/interface/web/themes/default-304/icons/x12/stop_round.png
deleted file mode 100644
index 5c9963e..0000000
--- a/interface/web/themes/default-304/icons/x12/stop_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/upload.png b/interface/web/themes/default-304/icons/x12/upload.png
deleted file mode 100644
index b1810b3..0000000
--- a/interface/web/themes/default-304/icons/x12/upload.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/world.png b/interface/web/themes/default-304/icons/x12/world.png
deleted file mode 100644
index b7f9a8e..0000000
--- a/interface/web/themes/default-304/icons/x12/world.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x12/world2.png b/interface/web/themes/default-304/icons/x12/world2.png
deleted file mode 100644
index 2855f3b..0000000
--- a/interface/web/themes/default-304/icons/x12/world2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/accept.png b/interface/web/themes/default-304/icons/x16-list/accept.png
deleted file mode 100644
index b0f5604..0000000
--- a/interface/web/themes/default-304/icons/x16-list/accept.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/accept_blue.png b/interface/web/themes/default-304/icons/x16-list/accept_blue.png
deleted file mode 100644
index 1286148..0000000
--- a/interface/web/themes/default-304/icons/x16-list/accept_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/accept_green.png b/interface/web/themes/default-304/icons/x16-list/accept_green.png
deleted file mode 100644
index 043e5c6..0000000
--- a/interface/web/themes/default-304/icons/x16-list/accept_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png
deleted file mode 100644
index 517ee8e..0000000
--- a/interface/web/themes/default-304/icons/x16-list/arrow_2_left_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png
deleted file mode 100644
index 14de6fe..0000000
--- a/interface/web/themes/default-304/icons/x16-list/arrow_2_right_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png
deleted file mode 100644
index 44f7ea8..0000000
--- a/interface/web/themes/default-304/icons/x16-list/arrow_left_blue_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png b/interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png
deleted file mode 100644
index e321918..0000000
--- a/interface/web/themes/default-304/icons/x16-list/arrow_right_blue_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/article.png b/interface/web/themes/default-304/icons/x16-list/article.png
deleted file mode 100644
index 6beaafc..0000000
--- a/interface/web/themes/default-304/icons/x16-list/article.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/article_text.png b/interface/web/themes/default-304/icons/x16-list/article_text.png
deleted file mode 100644
index 6e0b9de..0000000
--- a/interface/web/themes/default-304/icons/x16-list/article_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/bar_graph.png b/interface/web/themes/default-304/icons/x16-list/bar_graph.png
deleted file mode 100644
index 31920e0..0000000
--- a/interface/web/themes/default-304/icons/x16-list/bar_graph.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/burst.png b/interface/web/themes/default-304/icons/x16-list/burst.png
deleted file mode 100644
index dd9ddd6..0000000
--- a/interface/web/themes/default-304/icons/x16-list/burst.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/calendar.png b/interface/web/themes/default-304/icons/x16-list/calendar.png
deleted file mode 100644
index f278eb3..0000000
--- a/interface/web/themes/default-304/icons/x16-list/calendar.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/calendar2.png b/interface/web/themes/default-304/icons/x16-list/calendar2.png
deleted file mode 100644
index b121c78..0000000
--- a/interface/web/themes/default-304/icons/x16-list/calendar2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/cancel.png b/interface/web/themes/default-304/icons/x16-list/cancel.png
deleted file mode 100644
index 0d40cc6..0000000
--- a/interface/web/themes/default-304/icons/x16-list/cancel.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/cancel_round.png b/interface/web/themes/default-304/icons/x16-list/cancel_round.png
deleted file mode 100644
index a987e30..0000000
--- a/interface/web/themes/default-304/icons/x16-list/cancel_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/clock.png b/interface/web/themes/default-304/icons/x16-list/clock.png
deleted file mode 100644
index f770a9c..0000000
--- a/interface/web/themes/default-304/icons/x16-list/clock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/code.png b/interface/web/themes/default-304/icons/x16-list/code.png
deleted file mode 100644
index 3791cb5..0000000
--- a/interface/web/themes/default-304/icons/x16-list/code.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/comment_blue.png b/interface/web/themes/default-304/icons/x16-list/comment_blue.png
deleted file mode 100644
index 8bc780f..0000000
--- a/interface/web/themes/default-304/icons/x16-list/comment_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/dollar.png b/interface/web/themes/default-304/icons/x16-list/dollar.png
deleted file mode 100644
index a8a2b53..0000000
--- a/interface/web/themes/default-304/icons/x16-list/dollar.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/double_comment.png b/interface/web/themes/default-304/icons/x16-list/double_comment.png
deleted file mode 100644
index 574729c..0000000
--- a/interface/web/themes/default-304/icons/x16-list/double_comment.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/download.png b/interface/web/themes/default-304/icons/x16-list/download.png
deleted file mode 100644
index 2a4ec44..0000000
--- a/interface/web/themes/default-304/icons/x16-list/download.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/envelope.png b/interface/web/themes/default-304/icons/x16-list/envelope.png
deleted file mode 100644
index a98b125..0000000
--- a/interface/web/themes/default-304/icons/x16-list/envelope.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_black.png b/interface/web/themes/default-304/icons/x16-list/flag_black.png
deleted file mode 100644
index 0b453a5..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_blue.png b/interface/web/themes/default-304/icons/x16-list/flag_blue.png
deleted file mode 100644
index 3e36092..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_green.png b/interface/web/themes/default-304/icons/x16-list/flag_green.png
deleted file mode 100644
index ac6bfb8..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_orange.png b/interface/web/themes/default-304/icons/x16-list/flag_orange.png
deleted file mode 100644
index 639cdfc..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_orange.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_red.png b/interface/web/themes/default-304/icons/x16-list/flag_red.png
deleted file mode 100644
index 08a5ea5..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/flag_yellow.png b/interface/web/themes/default-304/icons/x16-list/flag_yellow.png
deleted file mode 100644
index bf13782..0000000
--- a/interface/web/themes/default-304/icons/x16-list/flag_yellow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/folder.png b/interface/web/themes/default-304/icons/x16-list/folder.png
deleted file mode 100644
index 1327b54..0000000
--- a/interface/web/themes/default-304/icons/x16-list/folder.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/info.png b/interface/web/themes/default-304/icons/x16-list/info.png
deleted file mode 100644
index da02eae..0000000
--- a/interface/web/themes/default-304/icons/x16-list/info.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/link.png b/interface/web/themes/default-304/icons/x16-list/link.png
deleted file mode 100644
index 10df4ae..0000000
--- a/interface/web/themes/default-304/icons/x16-list/link.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/lock.png b/interface/web/themes/default-304/icons/x16-list/lock.png
deleted file mode 100644
index 5c53ec5..0000000
--- a/interface/web/themes/default-304/icons/x16-list/lock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/magnify.png b/interface/web/themes/default-304/icons/x16-list/magnify.png
deleted file mode 100644
index 4c47b23..0000000
--- a/interface/web/themes/default-304/icons/x16-list/magnify.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/minus.png b/interface/web/themes/default-304/icons/x16-list/minus.png
deleted file mode 100644
index be99e5b..0000000
--- a/interface/web/themes/default-304/icons/x16-list/minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/minus_round.png b/interface/web/themes/default-304/icons/x16-list/minus_round.png
deleted file mode 100644
index e246f11..0000000
--- a/interface/web/themes/default-304/icons/x16-list/minus_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/money.png b/interface/web/themes/default-304/icons/x16-list/money.png
deleted file mode 100644
index 915c983..0000000
--- a/interface/web/themes/default-304/icons/x16-list/money.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/new.png b/interface/web/themes/default-304/icons/x16-list/new.png
deleted file mode 100644
index 89d4487..0000000
--- a/interface/web/themes/default-304/icons/x16-list/new.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/pencil.png b/interface/web/themes/default-304/icons/x16-list/pencil.png
deleted file mode 100644
index f134056..0000000
--- a/interface/web/themes/default-304/icons/x16-list/pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/pictures.png b/interface/web/themes/default-304/icons/x16-list/pictures.png
deleted file mode 100644
index 948ad9e..0000000
--- a/interface/web/themes/default-304/icons/x16-list/pictures.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/plus.png b/interface/web/themes/default-304/icons/x16-list/plus.png
deleted file mode 100644
index 0c34353..0000000
--- a/interface/web/themes/default-304/icons/x16-list/plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/printer.png b/interface/web/themes/default-304/icons/x16-list/printer.png
deleted file mode 100644
index fe36260..0000000
--- a/interface/web/themes/default-304/icons/x16-list/printer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/question_blue.png b/interface/web/themes/default-304/icons/x16-list/question_blue.png
deleted file mode 100644
index 1f5b360..0000000
--- a/interface/web/themes/default-304/icons/x16-list/question_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/refresh.png b/interface/web/themes/default-304/icons/x16-list/refresh.png
deleted file mode 100644
index a63077d..0000000
--- a/interface/web/themes/default-304/icons/x16-list/refresh.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/rss.png b/interface/web/themes/default-304/icons/x16-list/rss.png
deleted file mode 100644
index b35840d..0000000
--- a/interface/web/themes/default-304/icons/x16-list/rss.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/rss_round.png b/interface/web/themes/default-304/icons/x16-list/rss_round.png
deleted file mode 100644
index 27ce67d..0000000
--- a/interface/web/themes/default-304/icons/x16-list/rss_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/security_green.png b/interface/web/themes/default-304/icons/x16-list/security_green.png
deleted file mode 100644
index 38afbbb..0000000
--- a/interface/web/themes/default-304/icons/x16-list/security_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/security_orange.png b/interface/web/themes/default-304/icons/x16-list/security_orange.png
deleted file mode 100644
index 4c5bad7..0000000
--- a/interface/web/themes/default-304/icons/x16-list/security_orange.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/security_red.png b/interface/web/themes/default-304/icons/x16-list/security_red.png
deleted file mode 100644
index c469be0..0000000
--- a/interface/web/themes/default-304/icons/x16-list/security_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/star.png b/interface/web/themes/default-304/icons/x16-list/star.png
deleted file mode 100644
index 70a227c..0000000
--- a/interface/web/themes/default-304/icons/x16-list/star.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/star_blue.png b/interface/web/themes/default-304/icons/x16-list/star_blue.png
deleted file mode 100644
index c49e74b..0000000
--- a/interface/web/themes/default-304/icons/x16-list/star_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/stop.png b/interface/web/themes/default-304/icons/x16-list/stop.png
deleted file mode 100644
index 65fa261..0000000
--- a/interface/web/themes/default-304/icons/x16-list/stop.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/stop_round.png b/interface/web/themes/default-304/icons/x16-list/stop_round.png
deleted file mode 100644
index 4cc2852..0000000
--- a/interface/web/themes/default-304/icons/x16-list/stop_round.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/upload.png b/interface/web/themes/default-304/icons/x16-list/upload.png
deleted file mode 100644
index e45598e..0000000
--- a/interface/web/themes/default-304/icons/x16-list/upload.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/world.png b/interface/web/themes/default-304/icons/x16-list/world.png
deleted file mode 100644
index a94d9a6..0000000
--- a/interface/web/themes/default-304/icons/x16-list/world.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16-list/world2.png b/interface/web/themes/default-304/icons/x16-list/world2.png
deleted file mode 100644
index 58e7e6e..0000000
--- a/interface/web/themes/default-304/icons/x16-list/world2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book.png b/interface/web/themes/default-304/icons/x16/address_book.png
deleted file mode 100644
index 923e0bc..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book__arrow.png b/interface/web/themes/default-304/icons/x16/address_book__arrow.png
deleted file mode 100644
index 0af9c50..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book__exclamation.png b/interface/web/themes/default-304/icons/x16/address_book__exclamation.png
deleted file mode 100644
index abd5fa9..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book__minus.png b/interface/web/themes/default-304/icons/x16/address_book__minus.png
deleted file mode 100644
index 1fb9982..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book__pencil.png b/interface/web/themes/default-304/icons/x16/address_book__pencil.png
deleted file mode 100644
index d56768d..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book__plus.png b/interface/web/themes/default-304/icons/x16/address_book__plus.png
deleted file mode 100644
index af396b4..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/address_book_blue.png b/interface/web/themes/default-304/icons/x16/address_book_blue.png
deleted file mode 100644
index 6f855e7..0000000
--- a/interface/web/themes/default-304/icons/x16/address_book_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow.png b/interface/web/themes/default-304/icons/x16/arrow.png
deleted file mode 100644
index 82cfae3..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_000_small.png b/interface/web/themes/default-304/icons/x16/arrow_000_small.png
deleted file mode 100644
index 02867c8..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_000_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_045.png b/interface/web/themes/default-304/icons/x16/arrow_045.png
deleted file mode 100644
index 6dbd516..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_045.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_045_small.png b/interface/web/themes/default-304/icons/x16/arrow_045_small.png
deleted file mode 100644
index 2d85069..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_045_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_090.png b/interface/web/themes/default-304/icons/x16/arrow_090.png
deleted file mode 100644
index 7e670dd..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_090.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_090_small.png b/interface/web/themes/default-304/icons/x16/arrow_090_small.png
deleted file mode 100644
index cd82139..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_090_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_135.png b/interface/web/themes/default-304/icons/x16/arrow_135.png
deleted file mode 100644
index a0882c2..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_135.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_135_small.png b/interface/web/themes/default-304/icons/x16/arrow_135_small.png
deleted file mode 100644
index b51c5c6..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_135_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_180.png b/interface/web/themes/default-304/icons/x16/arrow_180.png
deleted file mode 100644
index a1e5e6b..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_180.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_180_small.png b/interface/web/themes/default-304/icons/x16/arrow_180_small.png
deleted file mode 100644
index 431b838..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_180_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_225.png b/interface/web/themes/default-304/icons/x16/arrow_225.png
deleted file mode 100644
index 1d5c216..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_225.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_225_small.png b/interface/web/themes/default-304/icons/x16/arrow_225_small.png
deleted file mode 100644
index f082991..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_225_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_270.png b/interface/web/themes/default-304/icons/x16/arrow_270.png
deleted file mode 100644
index bc00395..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_270.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_270_small.png b/interface/web/themes/default-304/icons/x16/arrow_270_small.png
deleted file mode 100644
index 4971995..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_270_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_315.png b/interface/web/themes/default-304/icons/x16/arrow_315.png
deleted file mode 100644
index fab81cd..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_315.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_315_small.png b/interface/web/themes/default-304/icons/x16/arrow_315_small.png
deleted file mode 100644
index 868724a..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_315_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle.png b/interface/web/themes/default-304/icons/x16/arrow_circle.png
deleted file mode 100644
index 8087eea..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_135.png b/interface/web/themes/default-304/icons/x16/arrow_circle_135.png
deleted file mode 100644
index 5ddb81b..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle_135.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_225.png b/interface/web/themes/default-304/icons/x16/arrow_circle_225.png
deleted file mode 100644
index 3bec0d1..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle_225.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_315.png b/interface/web/themes/default-304/icons/x16/arrow_circle_315.png
deleted file mode 100644
index 7a4f23e..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle_315.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_double.png b/interface/web/themes/default-304/icons/x16/arrow_circle_double.png
deleted file mode 100644
index 47eafce..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle_double.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png b/interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png
deleted file mode 100644
index 289419c..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_circle_double_135.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip.png b/interface/web/themes/default-304/icons/x16/arrow_skip.png
deleted file mode 100644
index 860332d..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_skip.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_090.png b/interface/web/themes/default-304/icons/x16/arrow_skip_090.png
deleted file mode 100644
index 2138dfd..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_skip_090.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_180.png b/interface/web/themes/default-304/icons/x16/arrow_skip_180.png
deleted file mode 100644
index 1d06129..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_skip_180.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_skip_270.png b/interface/web/themes/default-304/icons/x16/arrow_skip_270.png
deleted file mode 100644
index 3c37e6e..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_skip_270.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop.png b/interface/web/themes/default-304/icons/x16/arrow_stop.png
deleted file mode 100644
index 702b9b7..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_stop.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_090.png b/interface/web/themes/default-304/icons/x16/arrow_stop_090.png
deleted file mode 100644
index 3f65f5c..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_stop_090.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_180.png b/interface/web/themes/default-304/icons/x16/arrow_stop_180.png
deleted file mode 100644
index 573ff48..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_stop_180.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/arrow_stop_270.png b/interface/web/themes/default-304/icons/x16/arrow_stop_270.png
deleted file mode 100644
index ebb649f..0000000
--- a/interface/web/themes/default-304/icons/x16/arrow_stop_270.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer.png b/interface/web/themes/default-304/icons/x16/auction_hammer.png
deleted file mode 100644
index be94131..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png b/interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png
deleted file mode 100644
index 199bc64..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png b/interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png
deleted file mode 100644
index 0f44985..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__minus.png b/interface/web/themes/default-304/icons/x16/auction_hammer__minus.png
deleted file mode 100644
index 70ddbec..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png b/interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png
deleted file mode 100644
index ac7a9c9..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer__plus.png b/interface/web/themes/default-304/icons/x16/auction_hammer__plus.png
deleted file mode 100644
index 587f556..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png b/interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png
deleted file mode 100644
index ee46a7e..0000000
--- a/interface/web/themes/default-304/icons/x16/auction_hammer_gavel.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon.png b/interface/web/themes/default-304/icons/x16/balloon.png
deleted file mode 100644
index c3f88a0..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon__arrow.png b/interface/web/themes/default-304/icons/x16/balloon__arrow.png
deleted file mode 100644
index a3e2a7f..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon__exclamation.png b/interface/web/themes/default-304/icons/x16/balloon__exclamation.png
deleted file mode 100644
index 102e2cc..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon__minus.png b/interface/web/themes/default-304/icons/x16/balloon__minus.png
deleted file mode 100644
index 2aa4cd9..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon__pencil.png b/interface/web/themes/default-304/icons/x16/balloon__pencil.png
deleted file mode 100644
index d835dc0..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon__plus.png b/interface/web/themes/default-304/icons/x16/balloon__plus.png
deleted file mode 100644
index d171b9b..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon_left.png b/interface/web/themes/default-304/icons/x16/balloon_left.png
deleted file mode 100644
index da8c32b..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon_left.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon_small.png b/interface/web/themes/default-304/icons/x16/balloon_small.png
deleted file mode 100644
index f92545e..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloon_small_left.png b/interface/web/themes/default-304/icons/x16/balloon_small_left.png
deleted file mode 100644
index 34a1c02..0000000
--- a/interface/web/themes/default-304/icons/x16/balloon_small_left.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons.png b/interface/web/themes/default-304/icons/x16/balloons.png
deleted file mode 100644
index 4508686..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons_arrow.png b/interface/web/themes/default-304/icons/x16/balloons_arrow.png
deleted file mode 100644
index 15a3210..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons_exclamation.png b/interface/web/themes/default-304/icons/x16/balloons_exclamation.png
deleted file mode 100644
index 3dbec2e..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons_minus.png b/interface/web/themes/default-304/icons/x16/balloons_minus.png
deleted file mode 100644
index 2af8dd3..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons_pencil.png b/interface/web/themes/default-304/icons/x16/balloons_pencil.png
deleted file mode 100644
index 8f6db51..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/balloons_plus.png b/interface/web/themes/default-304/icons/x16/balloons_plus.png
deleted file mode 100644
index e14e8c2..0000000
--- a/interface/web/themes/default-304/icons/x16/balloons_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid.png b/interface/web/themes/default-304/icons/x16/bandaid.png
deleted file mode 100644
index 05e02f6..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_arrow.png b/interface/web/themes/default-304/icons/x16/bandaid_arrow.png
deleted file mode 100644
index 1fab589..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_exclamation.png b/interface/web/themes/default-304/icons/x16/bandaid_exclamation.png
deleted file mode 100644
index 5fc2d8b..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_minus.png b/interface/web/themes/default-304/icons/x16/bandaid_minus.png
deleted file mode 100644
index 1a78423..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_pencil.png b/interface/web/themes/default-304/icons/x16/bandaid_pencil.png
deleted file mode 100644
index 9d7f08c..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_plus.png b/interface/web/themes/default-304/icons/x16/bandaid_plus.png
deleted file mode 100644
index 3da2d46..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bandaid_small.png b/interface/web/themes/default-304/icons/x16/bandaid_small.png
deleted file mode 100644
index 30ad6ae..0000000
--- a/interface/web/themes/default-304/icons/x16/bandaid_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank.png b/interface/web/themes/default-304/icons/x16/bank.png
deleted file mode 100644
index 7f7d646..0000000
--- a/interface/web/themes/default-304/icons/x16/bank.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank_arrow.png b/interface/web/themes/default-304/icons/x16/bank_arrow.png
deleted file mode 100644
index ad30c35..0000000
--- a/interface/web/themes/default-304/icons/x16/bank_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank_exclamation.png b/interface/web/themes/default-304/icons/x16/bank_exclamation.png
deleted file mode 100644
index 10bf86c..0000000
--- a/interface/web/themes/default-304/icons/x16/bank_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank_minus.png b/interface/web/themes/default-304/icons/x16/bank_minus.png
deleted file mode 100644
index 0edcebc..0000000
--- a/interface/web/themes/default-304/icons/x16/bank_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank_pencil.png b/interface/web/themes/default-304/icons/x16/bank_pencil.png
deleted file mode 100644
index 1e98dfc..0000000
--- a/interface/web/themes/default-304/icons/x16/bank_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bank_plus.png b/interface/web/themes/default-304/icons/x16/bank_plus.png
deleted file mode 100644
index 17a55d1..0000000
--- a/interface/web/themes/default-304/icons/x16/bank_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell.png b/interface/web/themes/default-304/icons/x16/bell.png
deleted file mode 100644
index 3be57e0..0000000
--- a/interface/web/themes/default-304/icons/x16/bell.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell__arrow.png b/interface/web/themes/default-304/icons/x16/bell__arrow.png
deleted file mode 100644
index 82ff8a9..0000000
--- a/interface/web/themes/default-304/icons/x16/bell__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell__exclamation.png b/interface/web/themes/default-304/icons/x16/bell__exclamation.png
deleted file mode 100644
index 2eddd3d..0000000
--- a/interface/web/themes/default-304/icons/x16/bell__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell__minus.png b/interface/web/themes/default-304/icons/x16/bell__minus.png
deleted file mode 100644
index 7b50d72..0000000
--- a/interface/web/themes/default-304/icons/x16/bell__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell__pencil.png b/interface/web/themes/default-304/icons/x16/bell__pencil.png
deleted file mode 100644
index 71e06cf..0000000
--- a/interface/web/themes/default-304/icons/x16/bell__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell__plus.png b/interface/web/themes/default-304/icons/x16/bell__plus.png
deleted file mode 100644
index 655a29e..0000000
--- a/interface/web/themes/default-304/icons/x16/bell__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bell_disable.png b/interface/web/themes/default-304/icons/x16/bell_disable.png
deleted file mode 100644
index acff16b..0000000
--- a/interface/web/themes/default-304/icons/x16/bell_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin.png b/interface/web/themes/default-304/icons/x16/bin.png
deleted file mode 100644
index 7fe9880..0000000
--- a/interface/web/themes/default-304/icons/x16/bin.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin__arrow.png b/interface/web/themes/default-304/icons/x16/bin__arrow.png
deleted file mode 100644
index 1191c51..0000000
--- a/interface/web/themes/default-304/icons/x16/bin__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin__exclamation.png b/interface/web/themes/default-304/icons/x16/bin__exclamation.png
deleted file mode 100644
index d87347e..0000000
--- a/interface/web/themes/default-304/icons/x16/bin__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin__minus.png b/interface/web/themes/default-304/icons/x16/bin__minus.png
deleted file mode 100644
index 8c70f25..0000000
--- a/interface/web/themes/default-304/icons/x16/bin__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin__pencil.png b/interface/web/themes/default-304/icons/x16/bin__pencil.png
deleted file mode 100644
index 0f7a531..0000000
--- a/interface/web/themes/default-304/icons/x16/bin__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin__plus.png b/interface/web/themes/default-304/icons/x16/bin__plus.png
deleted file mode 100644
index 1b1a05c..0000000
--- a/interface/web/themes/default-304/icons/x16/bin__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bin_full.png b/interface/web/themes/default-304/icons/x16/bin_full.png
deleted file mode 100644
index 463c7d6..0000000
--- a/interface/web/themes/default-304/icons/x16/bin_full.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular.png b/interface/web/themes/default-304/icons/x16/binocular.png
deleted file mode 100644
index 8279f45..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular_arrow.png b/interface/web/themes/default-304/icons/x16/binocular_arrow.png
deleted file mode 100644
index dead761..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular_exclamation.png b/interface/web/themes/default-304/icons/x16/binocular_exclamation.png
deleted file mode 100644
index 1c7550c..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular_minus.png b/interface/web/themes/default-304/icons/x16/binocular_minus.png
deleted file mode 100644
index 63cd024..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular_pencil.png b/interface/web/themes/default-304/icons/x16/binocular_pencil.png
deleted file mode 100644
index a9c8ac1..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/binocular_plus.png b/interface/web/themes/default-304/icons/x16/binocular_plus.png
deleted file mode 100644
index ac0184d..0000000
--- a/interface/web/themes/default-304/icons/x16/binocular_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog.png b/interface/web/themes/default-304/icons/x16/blog.png
deleted file mode 100644
index 09267a2..0000000
--- a/interface/web/themes/default-304/icons/x16/blog.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog__arrow.png b/interface/web/themes/default-304/icons/x16/blog__arrow.png
deleted file mode 100644
index 500ec14..0000000
--- a/interface/web/themes/default-304/icons/x16/blog__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog__exclamation.png b/interface/web/themes/default-304/icons/x16/blog__exclamation.png
deleted file mode 100644
index b7a4007..0000000
--- a/interface/web/themes/default-304/icons/x16/blog__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog__minus.png b/interface/web/themes/default-304/icons/x16/blog__minus.png
deleted file mode 100644
index e02d945..0000000
--- a/interface/web/themes/default-304/icons/x16/blog__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog__pencil.png b/interface/web/themes/default-304/icons/x16/blog__pencil.png
deleted file mode 100644
index ec5a3b2..0000000
--- a/interface/web/themes/default-304/icons/x16/blog__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog__plus.png b/interface/web/themes/default-304/icons/x16/blog__plus.png
deleted file mode 100644
index 4efa66d..0000000
--- a/interface/web/themes/default-304/icons/x16/blog__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blog_blue.png b/interface/web/themes/default-304/icons/x16/blog_blue.png
deleted file mode 100644
index 3a7b216..0000000
--- a/interface/web/themes/default-304/icons/x16/blog_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs.png b/interface/web/themes/default-304/icons/x16/blogs.png
deleted file mode 100644
index 6539158..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_arrow.png b/interface/web/themes/default-304/icons/x16/blogs_arrow.png
deleted file mode 100644
index 6d7b0ff..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_exclamation.png b/interface/web/themes/default-304/icons/x16/blogs_exclamation.png
deleted file mode 100644
index 7983deb..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_minus.png b/interface/web/themes/default-304/icons/x16/blogs_minus.png
deleted file mode 100644
index 3493ff6..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_pencil.png b/interface/web/themes/default-304/icons/x16/blogs_pencil.png
deleted file mode 100644
index d06dd1c..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_plus.png b/interface/web/themes/default-304/icons/x16/blogs_plus.png
deleted file mode 100644
index c482665..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/blogs_stack.png b/interface/web/themes/default-304/icons/x16/blogs_stack.png
deleted file mode 100644
index e568c07..0000000
--- a/interface/web/themes/default-304/icons/x16/blogs_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book.png b/interface/web/themes/default-304/icons/x16/book.png
deleted file mode 100644
index 6d4bf18..0000000
--- a/interface/web/themes/default-304/icons/x16/book.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book__arrow.png b/interface/web/themes/default-304/icons/x16/book__arrow.png
deleted file mode 100644
index 6a66b4e..0000000
--- a/interface/web/themes/default-304/icons/x16/book__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book__exclamation.png b/interface/web/themes/default-304/icons/x16/book__exclamation.png
deleted file mode 100644
index 3bd34df..0000000
--- a/interface/web/themes/default-304/icons/x16/book__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book__minus.png b/interface/web/themes/default-304/icons/x16/book__minus.png
deleted file mode 100644
index 305ca0c..0000000
--- a/interface/web/themes/default-304/icons/x16/book__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book__pencil.png b/interface/web/themes/default-304/icons/x16/book__pencil.png
deleted file mode 100644
index c045fc8..0000000
--- a/interface/web/themes/default-304/icons/x16/book__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book__plus.png b/interface/web/themes/default-304/icons/x16/book__plus.png
deleted file mode 100644
index 23260e5..0000000
--- a/interface/web/themes/default-304/icons/x16/book__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book_brown.png b/interface/web/themes/default-304/icons/x16/book_brown.png
deleted file mode 100644
index b7ba58f..0000000
--- a/interface/web/themes/default-304/icons/x16/book_brown.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book_small.png b/interface/web/themes/default-304/icons/x16/book_small.png
deleted file mode 100644
index 298d6b3..0000000
--- a/interface/web/themes/default-304/icons/x16/book_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/book_small_brown.png b/interface/web/themes/default-304/icons/x16/book_small_brown.png
deleted file mode 100644
index 9d5acf2..0000000
--- a/interface/web/themes/default-304/icons/x16/book_small_brown.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark.png b/interface/web/themes/default-304/icons/x16/bookmark.png
deleted file mode 100644
index 6bb98fd..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__arrow.png b/interface/web/themes/default-304/icons/x16/bookmark__arrow.png
deleted file mode 100644
index 5cc6e5b..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark__exclamation.png
deleted file mode 100644
index 288af86..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__minus.png b/interface/web/themes/default-304/icons/x16/bookmark__minus.png
deleted file mode 100644
index e368703..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__pencil.png b/interface/web/themes/default-304/icons/x16/bookmark__pencil.png
deleted file mode 100644
index 55b4281..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__plus.png b/interface/web/themes/default-304/icons/x16/bookmark__plus.png
deleted file mode 100644
index 51978f1..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark__small.png b/interface/web/themes/default-304/icons/x16/bookmark__small.png
deleted file mode 100644
index f3a92cb..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark__small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book.png b/interface/web/themes/default-304/icons/x16/bookmark_book.png
deleted file mode 100644
index cf55d20..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png
deleted file mode 100644
index 7d0f980..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png
deleted file mode 100644
index 656a504..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_book_minus.png
deleted file mode 100644
index 2f73608..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png
deleted file mode 100644
index 2049797..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_book_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_book_plus.png
deleted file mode 100644
index d1eae35..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_book_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document.png b/interface/web/themes/default-304/icons/x16/bookmark_document.png
deleted file mode 100644
index fa8cc9b..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png
deleted file mode 100644
index 0822258..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png
deleted file mode 100644
index 9d34e49..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_document_minus.png
deleted file mode 100644
index 548690a..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png
deleted file mode 100644
index 63c0709..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_document_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_document_plus.png
deleted file mode 100644
index 479c744..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_document_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder.png b/interface/web/themes/default-304/icons/x16/bookmark_folder.png
deleted file mode 100644
index bd24879..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png
deleted file mode 100644
index ca8fcc7..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png
deleted file mode 100644
index 4c87cd3..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png
deleted file mode 100644
index 2ec8edb..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png
deleted file mode 100644
index d45d29c..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png b/interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png
deleted file mode 100644
index 45dc2e8..0000000
--- a/interface/web/themes/default-304/icons/x16/bookmark_folder_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books.png b/interface/web/themes/default-304/icons/x16/books.png
deleted file mode 100644
index d7d6eac..0000000
--- a/interface/web/themes/default-304/icons/x16/books.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books__arrow.png b/interface/web/themes/default-304/icons/x16/books__arrow.png
deleted file mode 100644
index 219ae0b..0000000
--- a/interface/web/themes/default-304/icons/x16/books__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books__exclamation.png b/interface/web/themes/default-304/icons/x16/books__exclamation.png
deleted file mode 100644
index f78c16e..0000000
--- a/interface/web/themes/default-304/icons/x16/books__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books__minus.png b/interface/web/themes/default-304/icons/x16/books__minus.png
deleted file mode 100644
index 6da011f..0000000
--- a/interface/web/themes/default-304/icons/x16/books__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books__pencil.png b/interface/web/themes/default-304/icons/x16/books__pencil.png
deleted file mode 100644
index f1a57ed..0000000
--- a/interface/web/themes/default-304/icons/x16/books__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books__plus.png b/interface/web/themes/default-304/icons/x16/books__plus.png
deleted file mode 100644
index 82e1063..0000000
--- a/interface/web/themes/default-304/icons/x16/books__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books_brown.png b/interface/web/themes/default-304/icons/x16/books_brown.png
deleted file mode 100644
index 4fb21ae..0000000
--- a/interface/web/themes/default-304/icons/x16/books_brown.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/books_stack.png b/interface/web/themes/default-304/icons/x16/books_stack.png
deleted file mode 100644
index fb525bd..0000000
--- a/interface/web/themes/default-304/icons/x16/books_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box.png b/interface/web/themes/default-304/icons/x16/box.png
deleted file mode 100644
index b1adc11..0000000
--- a/interface/web/themes/default-304/icons/x16/box.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box__arrow.png b/interface/web/themes/default-304/icons/x16/box__arrow.png
deleted file mode 100644
index fda5bd7..0000000
--- a/interface/web/themes/default-304/icons/x16/box__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box__exclamation.png b/interface/web/themes/default-304/icons/x16/box__exclamation.png
deleted file mode 100644
index 80aea43..0000000
--- a/interface/web/themes/default-304/icons/x16/box__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box__minus.png b/interface/web/themes/default-304/icons/x16/box__minus.png
deleted file mode 100644
index a8fae85..0000000
--- a/interface/web/themes/default-304/icons/x16/box__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box__pencil.png b/interface/web/themes/default-304/icons/x16/box__pencil.png
deleted file mode 100644
index 9652a2c..0000000
--- a/interface/web/themes/default-304/icons/x16/box__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box__plus.png b/interface/web/themes/default-304/icons/x16/box__plus.png
deleted file mode 100644
index f8c4f9a..0000000
--- a/interface/web/themes/default-304/icons/x16/box__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/box_label.png b/interface/web/themes/default-304/icons/x16/box_label.png
deleted file mode 100644
index c6da8f8..0000000
--- a/interface/web/themes/default-304/icons/x16/box_label.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase.png b/interface/web/themes/default-304/icons/x16/briefcase.png
deleted file mode 100644
index 7d3ffca..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase_arrow.png b/interface/web/themes/default-304/icons/x16/briefcase_arrow.png
deleted file mode 100644
index 0b4927f..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase_exclamation.png b/interface/web/themes/default-304/icons/x16/briefcase_exclamation.png
deleted file mode 100644
index 19e31d7..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase_minus.png b/interface/web/themes/default-304/icons/x16/briefcase_minus.png
deleted file mode 100644
index f84335b..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase_pencil.png b/interface/web/themes/default-304/icons/x16/briefcase_pencil.png
deleted file mode 100644
index 67e66ca..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/briefcase_plus.png b/interface/web/themes/default-304/icons/x16/briefcase_plus.png
deleted file mode 100644
index 24e67f9..0000000
--- a/interface/web/themes/default-304/icons/x16/briefcase_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom.png b/interface/web/themes/default-304/icons/x16/broom.png
deleted file mode 100644
index 97daf85..0000000
--- a/interface/web/themes/default-304/icons/x16/broom.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom_arrow.png b/interface/web/themes/default-304/icons/x16/broom_arrow.png
deleted file mode 100644
index 574f7b1..0000000
--- a/interface/web/themes/default-304/icons/x16/broom_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom_exclamation.png b/interface/web/themes/default-304/icons/x16/broom_exclamation.png
deleted file mode 100644
index 0c355f8..0000000
--- a/interface/web/themes/default-304/icons/x16/broom_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom_minus.png b/interface/web/themes/default-304/icons/x16/broom_minus.png
deleted file mode 100644
index 430cf64..0000000
--- a/interface/web/themes/default-304/icons/x16/broom_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom_pencil.png b/interface/web/themes/default-304/icons/x16/broom_pencil.png
deleted file mode 100644
index 97c90cf..0000000
--- a/interface/web/themes/default-304/icons/x16/broom_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/broom_plus.png b/interface/web/themes/default-304/icons/x16/broom_plus.png
deleted file mode 100644
index 402e0e8..0000000
--- a/interface/web/themes/default-304/icons/x16/broom_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator.png b/interface/web/themes/default-304/icons/x16/calculator.png
deleted file mode 100644
index d1782c9..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator_arrow.png b/interface/web/themes/default-304/icons/x16/calculator_arrow.png
deleted file mode 100644
index 184f016..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator_exclamation.png b/interface/web/themes/default-304/icons/x16/calculator_exclamation.png
deleted file mode 100644
index 2468be5..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator_minus.png b/interface/web/themes/default-304/icons/x16/calculator_minus.png
deleted file mode 100644
index e3c8b40..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator_pencil.png b/interface/web/themes/default-304/icons/x16/calculator_pencil.png
deleted file mode 100644
index b3665e9..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calculator_plus.png b/interface/web/themes/default-304/icons/x16/calculator_plus.png
deleted file mode 100644
index c833693..0000000
--- a/interface/web/themes/default-304/icons/x16/calculator_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar.png b/interface/web/themes/default-304/icons/x16/calendar.png
deleted file mode 100644
index 7f38cfe..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar__arrow.png b/interface/web/themes/default-304/icons/x16/calendar__arrow.png
deleted file mode 100644
index f98abd5..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar__exclamation.png b/interface/web/themes/default-304/icons/x16/calendar__exclamation.png
deleted file mode 100644
index 103e9cd..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar__minus.png b/interface/web/themes/default-304/icons/x16/calendar__minus.png
deleted file mode 100644
index c9a9885..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar__pencil.png b/interface/web/themes/default-304/icons/x16/calendar__pencil.png
deleted file mode 100644
index 946554d..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar__plus.png b/interface/web/themes/default-304/icons/x16/calendar__plus.png
deleted file mode 100644
index 84dddb8..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar_day.png b/interface/web/themes/default-304/icons/x16/calendar_day.png
deleted file mode 100644
index ea7f247..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar_day.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/calendar_month.png b/interface/web/themes/default-304/icons/x16/calendar_month.png
deleted file mode 100644
index 1f3d944..0000000
--- a/interface/web/themes/default-304/icons/x16/calendar_month.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera.png b/interface/web/themes/default-304/icons/x16/camera.png
deleted file mode 100644
index a828599..0000000
--- a/interface/web/themes/default-304/icons/x16/camera.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera__arrow.png b/interface/web/themes/default-304/icons/x16/camera__arrow.png
deleted file mode 100644
index 61c488d..0000000
--- a/interface/web/themes/default-304/icons/x16/camera__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera__exclamation.png b/interface/web/themes/default-304/icons/x16/camera__exclamation.png
deleted file mode 100644
index 1ba77c5..0000000
--- a/interface/web/themes/default-304/icons/x16/camera__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera__minus.png b/interface/web/themes/default-304/icons/x16/camera__minus.png
deleted file mode 100644
index ed506c6..0000000
--- a/interface/web/themes/default-304/icons/x16/camera__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera__pencil.png b/interface/web/themes/default-304/icons/x16/camera__pencil.png
deleted file mode 100644
index 0611e47..0000000
--- a/interface/web/themes/default-304/icons/x16/camera__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera__plus.png b/interface/web/themes/default-304/icons/x16/camera__plus.png
deleted file mode 100644
index f3ba46a..0000000
--- a/interface/web/themes/default-304/icons/x16/camera__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera_black.png b/interface/web/themes/default-304/icons/x16/camera_black.png
deleted file mode 100644
index 4d7c826..0000000
--- a/interface/web/themes/default-304/icons/x16/camera_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera_small.png b/interface/web/themes/default-304/icons/x16/camera_small.png
deleted file mode 100644
index af9fb75..0000000
--- a/interface/web/themes/default-304/icons/x16/camera_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/camera_small_black.png b/interface/web/themes/default-304/icons/x16/camera_small_black.png
deleted file mode 100644
index a8ba67e..0000000
--- a/interface/web/themes/default-304/icons/x16/camera_small_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card.png b/interface/web/themes/default-304/icons/x16/card.png
deleted file mode 100644
index 243caab..0000000
--- a/interface/web/themes/default-304/icons/x16/card.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card__arrow.png b/interface/web/themes/default-304/icons/x16/card__arrow.png
deleted file mode 100644
index f97d856..0000000
--- a/interface/web/themes/default-304/icons/x16/card__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card__exclamation.png b/interface/web/themes/default-304/icons/x16/card__exclamation.png
deleted file mode 100644
index 7d51346..0000000
--- a/interface/web/themes/default-304/icons/x16/card__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card__minus.png b/interface/web/themes/default-304/icons/x16/card__minus.png
deleted file mode 100644
index 6711e6f..0000000
--- a/interface/web/themes/default-304/icons/x16/card__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card__pencil.png b/interface/web/themes/default-304/icons/x16/card__pencil.png
deleted file mode 100644
index 8a2ab20..0000000
--- a/interface/web/themes/default-304/icons/x16/card__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card__plus.png b/interface/web/themes/default-304/icons/x16/card__plus.png
deleted file mode 100644
index 817995b..0000000
--- a/interface/web/themes/default-304/icons/x16/card__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card_address.png b/interface/web/themes/default-304/icons/x16/card_address.png
deleted file mode 100644
index 0ab99a1..0000000
--- a/interface/web/themes/default-304/icons/x16/card_address.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/card_small.png b/interface/web/themes/default-304/icons/x16/card_small.png
deleted file mode 100644
index a122163..0000000
--- a/interface/web/themes/default-304/icons/x16/card_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards.png b/interface/web/themes/default-304/icons/x16/cards.png
deleted file mode 100644
index eb20f4a..0000000
--- a/interface/web/themes/default-304/icons/x16/cards.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards__arrow.png b/interface/web/themes/default-304/icons/x16/cards__arrow.png
deleted file mode 100644
index 10015f2..0000000
--- a/interface/web/themes/default-304/icons/x16/cards__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards__exclamation.png b/interface/web/themes/default-304/icons/x16/cards__exclamation.png
deleted file mode 100644
index add6f0d..0000000
--- a/interface/web/themes/default-304/icons/x16/cards__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards__minus.png b/interface/web/themes/default-304/icons/x16/cards__minus.png
deleted file mode 100644
index f9188b2..0000000
--- a/interface/web/themes/default-304/icons/x16/cards__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards__pencil.png b/interface/web/themes/default-304/icons/x16/cards__pencil.png
deleted file mode 100644
index b160038..0000000
--- a/interface/web/themes/default-304/icons/x16/cards__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards__plus.png b/interface/web/themes/default-304/icons/x16/cards__plus.png
deleted file mode 100644
index d078c6b..0000000
--- a/interface/web/themes/default-304/icons/x16/cards__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards_address.png b/interface/web/themes/default-304/icons/x16/cards_address.png
deleted file mode 100644
index f76d171..0000000
--- a/interface/web/themes/default-304/icons/x16/cards_address.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cards_stack.png b/interface/web/themes/default-304/icons/x16/cards_stack.png
deleted file mode 100644
index 51972d8..0000000
--- a/interface/web/themes/default-304/icons/x16/cards_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette.png b/interface/web/themes/default-304/icons/x16/cassette.png
deleted file mode 100644
index 54cdfe3..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_arrow.png b/interface/web/themes/default-304/icons/x16/cassette_arrow.png
deleted file mode 100644
index 48c7cda..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_exclamation.png b/interface/web/themes/default-304/icons/x16/cassette_exclamation.png
deleted file mode 100644
index f2befbf..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_minus.png b/interface/web/themes/default-304/icons/x16/cassette_minus.png
deleted file mode 100644
index 60ab78a..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_pencil.png b/interface/web/themes/default-304/icons/x16/cassette_pencil.png
deleted file mode 100644
index b226e3c..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_plus.png b/interface/web/themes/default-304/icons/x16/cassette_plus.png
deleted file mode 100644
index 9669097..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cassette_small.png b/interface/web/themes/default-304/icons/x16/cassette_small.png
deleted file mode 100644
index 8ac8072..0000000
--- a/interface/web/themes/default-304/icons/x16/cassette_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain.png b/interface/web/themes/default-304/icons/x16/chain.png
deleted file mode 100644
index 4c93b29..0000000
--- a/interface/web/themes/default-304/icons/x16/chain.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_arrow.png b/interface/web/themes/default-304/icons/x16/chain_arrow.png
deleted file mode 100644
index c0d7642..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_exclamation.png b/interface/web/themes/default-304/icons/x16/chain_exclamation.png
deleted file mode 100644
index 74f3277..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_minus.png b/interface/web/themes/default-304/icons/x16/chain_minus.png
deleted file mode 100644
index 67483b8..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_pencil.png b/interface/web/themes/default-304/icons/x16/chain_pencil.png
deleted file mode 100644
index e68278d..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_plus.png b/interface/web/themes/default-304/icons/x16/chain_plus.png
deleted file mode 100644
index 99a48ac..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_small.png b/interface/web/themes/default-304/icons/x16/chain_small.png
deleted file mode 100644
index b4f1b11..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/chain_unchain.png b/interface/web/themes/default-304/icons/x16/chain_unchain.png
deleted file mode 100644
index 8decfb0..0000000
--- a/interface/web/themes/default-304/icons/x16/chain_unchain.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard.png b/interface/web/themes/default-304/icons/x16/clipboard.png
deleted file mode 100644
index 24c1528..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard__arrow.png b/interface/web/themes/default-304/icons/x16/clipboard__arrow.png
deleted file mode 100644
index 2380ab6..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard__exclamation.png b/interface/web/themes/default-304/icons/x16/clipboard__exclamation.png
deleted file mode 100644
index cd8b682..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard__minus.png b/interface/web/themes/default-304/icons/x16/clipboard__minus.png
deleted file mode 100644
index d1536eb..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard__pencil.png b/interface/web/themes/default-304/icons/x16/clipboard__pencil.png
deleted file mode 100644
index efce1c4..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard__plus.png b/interface/web/themes/default-304/icons/x16/clipboard__plus.png
deleted file mode 100644
index 05fc5ea..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard_empty.png b/interface/web/themes/default-304/icons/x16/clipboard_empty.png
deleted file mode 100644
index c1d8414..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clipboard_text.png b/interface/web/themes/default-304/icons/x16/clipboard_text.png
deleted file mode 100644
index 31bece5..0000000
--- a/interface/web/themes/default-304/icons/x16/clipboard_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock.png b/interface/web/themes/default-304/icons/x16/clock.png
deleted file mode 100644
index 8b6c96e..0000000
--- a/interface/web/themes/default-304/icons/x16/clock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock__arrow.png b/interface/web/themes/default-304/icons/x16/clock__arrow.png
deleted file mode 100644
index d6b7e07..0000000
--- a/interface/web/themes/default-304/icons/x16/clock__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock__exclamation.png b/interface/web/themes/default-304/icons/x16/clock__exclamation.png
deleted file mode 100644
index 4ab75f4..0000000
--- a/interface/web/themes/default-304/icons/x16/clock__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock__minus.png b/interface/web/themes/default-304/icons/x16/clock__minus.png
deleted file mode 100644
index 28af166..0000000
--- a/interface/web/themes/default-304/icons/x16/clock__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock__pencil.png b/interface/web/themes/default-304/icons/x16/clock__pencil.png
deleted file mode 100644
index 4d04f2e..0000000
--- a/interface/web/themes/default-304/icons/x16/clock__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock__plus.png b/interface/web/themes/default-304/icons/x16/clock__plus.png
deleted file mode 100644
index 1a6934e..0000000
--- a/interface/web/themes/default-304/icons/x16/clock__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock_fill.png b/interface/web/themes/default-304/icons/x16/clock_fill.png
deleted file mode 100644
index e8bbfc2..0000000
--- a/interface/web/themes/default-304/icons/x16/clock_fill.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock_frame.png b/interface/web/themes/default-304/icons/x16/clock_frame.png
deleted file mode 100644
index f7c00ea..0000000
--- a/interface/web/themes/default-304/icons/x16/clock_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/clock_small.png b/interface/web/themes/default-304/icons/x16/clock_small.png
deleted file mode 100644
index b17fe52..0000000
--- a/interface/web/themes/default-304/icons/x16/clock_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color.png b/interface/web/themes/default-304/icons/x16/color.png
deleted file mode 100644
index 49b31c2..0000000
--- a/interface/web/themes/default-304/icons/x16/color.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_arrow.png b/interface/web/themes/default-304/icons/x16/color_arrow.png
deleted file mode 100644
index bec3b4b..0000000
--- a/interface/web/themes/default-304/icons/x16/color_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_exclamation.png b/interface/web/themes/default-304/icons/x16/color_exclamation.png
deleted file mode 100644
index 56f2715..0000000
--- a/interface/web/themes/default-304/icons/x16/color_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_minus.png b/interface/web/themes/default-304/icons/x16/color_minus.png
deleted file mode 100644
index b0299cd..0000000
--- a/interface/web/themes/default-304/icons/x16/color_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_pencil.png b/interface/web/themes/default-304/icons/x16/color_pencil.png
deleted file mode 100644
index 56f00c9..0000000
--- a/interface/web/themes/default-304/icons/x16/color_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_plus.png b/interface/web/themes/default-304/icons/x16/color_plus.png
deleted file mode 100644
index 23b3e9c..0000000
--- a/interface/web/themes/default-304/icons/x16/color_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/color_small.png b/interface/web/themes/default-304/icons/x16/color_small.png
deleted file mode 100644
index 085a9d9..0000000
--- a/interface/web/themes/default-304/icons/x16/color_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast.png b/interface/web/themes/default-304/icons/x16/contrast.png
deleted file mode 100644
index 4367274..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast__arrow.png b/interface/web/themes/default-304/icons/x16/contrast__arrow.png
deleted file mode 100644
index ad1107b..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast__exclamation.png b/interface/web/themes/default-304/icons/x16/contrast__exclamation.png
deleted file mode 100644
index 2efc34c..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast__minus.png b/interface/web/themes/default-304/icons/x16/contrast__minus.png
deleted file mode 100644
index 5c5a17e..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast__pencil.png b/interface/web/themes/default-304/icons/x16/contrast__pencil.png
deleted file mode 100644
index 69e09f7..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast__plus.png b/interface/web/themes/default-304/icons/x16/contrast__plus.png
deleted file mode 100644
index 5ce1789..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast_low.png b/interface/web/themes/default-304/icons/x16/contrast_low.png
deleted file mode 100644
index 5b4c2d7..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast_low.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast_small.png b/interface/web/themes/default-304/icons/x16/contrast_small.png
deleted file mode 100644
index 606c490..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/contrast_small_low.png b/interface/web/themes/default-304/icons/x16/contrast_small_low.png
deleted file mode 100644
index fd31a18..0000000
--- a/interface/web/themes/default-304/icons/x16/contrast_small_low.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross.png b/interface/web/themes/default-304/icons/x16/cross.png
deleted file mode 100644
index 45d6e0d..0000000
--- a/interface/web/themes/default-304/icons/x16/cross.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross_circle.png b/interface/web/themes/default-304/icons/x16/cross_circle.png
deleted file mode 100644
index e0886b8..0000000
--- a/interface/web/themes/default-304/icons/x16/cross_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross_circle_frame.png b/interface/web/themes/default-304/icons/x16/cross_circle_frame.png
deleted file mode 100644
index b67b8c9..0000000
--- a/interface/web/themes/default-304/icons/x16/cross_circle_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross_shield.png b/interface/web/themes/default-304/icons/x16/cross_shield.png
deleted file mode 100644
index ea75a6f..0000000
--- a/interface/web/themes/default-304/icons/x16/cross_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross_small.png b/interface/web/themes/default-304/icons/x16/cross_small.png
deleted file mode 100644
index f55e3cf..0000000
--- a/interface/web/themes/default-304/icons/x16/cross_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/cross_small_circle.png b/interface/web/themes/default-304/icons/x16/cross_small_circle.png
deleted file mode 100644
index 948ccc3..0000000
--- a/interface/web/themes/default-304/icons/x16/cross_small_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown.png b/interface/web/themes/default-304/icons/x16/crown.png
deleted file mode 100644
index d48dd5d..0000000
--- a/interface/web/themes/default-304/icons/x16/crown.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown__arrow.png b/interface/web/themes/default-304/icons/x16/crown__arrow.png
deleted file mode 100644
index 4185b7c..0000000
--- a/interface/web/themes/default-304/icons/x16/crown__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown__exclamation.png b/interface/web/themes/default-304/icons/x16/crown__exclamation.png
deleted file mode 100644
index 845be0f..0000000
--- a/interface/web/themes/default-304/icons/x16/crown__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown__minus.png b/interface/web/themes/default-304/icons/x16/crown__minus.png
deleted file mode 100644
index ddeadb3..0000000
--- a/interface/web/themes/default-304/icons/x16/crown__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown__pencil.png b/interface/web/themes/default-304/icons/x16/crown__pencil.png
deleted file mode 100644
index 4ae445f..0000000
--- a/interface/web/themes/default-304/icons/x16/crown__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown__plus.png b/interface/web/themes/default-304/icons/x16/crown__plus.png
deleted file mode 100644
index 66a13f8..0000000
--- a/interface/web/themes/default-304/icons/x16/crown__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown_bronze.png b/interface/web/themes/default-304/icons/x16/crown_bronze.png
deleted file mode 100644
index 9d0e752..0000000
--- a/interface/web/themes/default-304/icons/x16/crown_bronze.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/crown_silver.png b/interface/web/themes/default-304/icons/x16/crown_silver.png
deleted file mode 100644
index 917987f..0000000
--- a/interface/web/themes/default-304/icons/x16/crown_silver.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database.png b/interface/web/themes/default-304/icons/x16/database.png
deleted file mode 100644
index a81cfec..0000000
--- a/interface/web/themes/default-304/icons/x16/database.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_arrow.png b/interface/web/themes/default-304/icons/x16/database_arrow.png
deleted file mode 100644
index ab07ed0..0000000
--- a/interface/web/themes/default-304/icons/x16/database_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_exclamation.png b/interface/web/themes/default-304/icons/x16/database_exclamation.png
deleted file mode 100644
index a10c084..0000000
--- a/interface/web/themes/default-304/icons/x16/database_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_minus.png b/interface/web/themes/default-304/icons/x16/database_minus.png
deleted file mode 100644
index 662af8f..0000000
--- a/interface/web/themes/default-304/icons/x16/database_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_pencil.png b/interface/web/themes/default-304/icons/x16/database_pencil.png
deleted file mode 100644
index 21eba86..0000000
--- a/interface/web/themes/default-304/icons/x16/database_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_plus.png b/interface/web/themes/default-304/icons/x16/database_plus.png
deleted file mode 100644
index cc67cc4..0000000
--- a/interface/web/themes/default-304/icons/x16/database_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/database_small.png b/interface/web/themes/default-304/icons/x16/database_small.png
deleted file mode 100644
index 1919c74..0000000
--- a/interface/web/themes/default-304/icons/x16/database_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases.png b/interface/web/themes/default-304/icons/x16/databases.png
deleted file mode 100644
index 5cb5e5f..0000000
--- a/interface/web/themes/default-304/icons/x16/databases.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases_arrow.png b/interface/web/themes/default-304/icons/x16/databases_arrow.png
deleted file mode 100644
index 2375638..0000000
--- a/interface/web/themes/default-304/icons/x16/databases_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases_exclamation.png b/interface/web/themes/default-304/icons/x16/databases_exclamation.png
deleted file mode 100644
index 4f4ddf2..0000000
--- a/interface/web/themes/default-304/icons/x16/databases_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases_minus.png b/interface/web/themes/default-304/icons/x16/databases_minus.png
deleted file mode 100644
index dfea00a..0000000
--- a/interface/web/themes/default-304/icons/x16/databases_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases_pencil.png b/interface/web/themes/default-304/icons/x16/databases_pencil.png
deleted file mode 100644
index 2820b8b..0000000
--- a/interface/web/themes/default-304/icons/x16/databases_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/databases_plus.png b/interface/web/themes/default-304/icons/x16/databases_plus.png
deleted file mode 100644
index 203dd44..0000000
--- a/interface/web/themes/default-304/icons/x16/databases_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc.png b/interface/web/themes/default-304/icons/x16/disc.png
deleted file mode 100644
index 46397ad..0000000
--- a/interface/web/themes/default-304/icons/x16/disc.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_arrow.png b/interface/web/themes/default-304/icons/x16/disc_arrow.png
deleted file mode 100644
index 806d24f..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_exclamation.png b/interface/web/themes/default-304/icons/x16/disc_exclamation.png
deleted file mode 100644
index bd45b6d..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_minus.png b/interface/web/themes/default-304/icons/x16/disc_minus.png
deleted file mode 100644
index ee62517..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_pencil.png b/interface/web/themes/default-304/icons/x16/disc_pencil.png
deleted file mode 100644
index 181ac9f..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_plus.png b/interface/web/themes/default-304/icons/x16/disc_plus.png
deleted file mode 100644
index 7c3a1e0..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disc_small.png b/interface/web/themes/default-304/icons/x16/disc_small.png
deleted file mode 100644
index 315d294..0000000
--- a/interface/web/themes/default-304/icons/x16/disc_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs.png b/interface/web/themes/default-304/icons/x16/discs.png
deleted file mode 100644
index 4998c22..0000000
--- a/interface/web/themes/default-304/icons/x16/discs.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs_arrow.png b/interface/web/themes/default-304/icons/x16/discs_arrow.png
deleted file mode 100644
index d354855..0000000
--- a/interface/web/themes/default-304/icons/x16/discs_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs_exclamation.png b/interface/web/themes/default-304/icons/x16/discs_exclamation.png
deleted file mode 100644
index 4f63b48..0000000
--- a/interface/web/themes/default-304/icons/x16/discs_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs_minus.png b/interface/web/themes/default-304/icons/x16/discs_minus.png
deleted file mode 100644
index 196b18c..0000000
--- a/interface/web/themes/default-304/icons/x16/discs_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs_pencil.png b/interface/web/themes/default-304/icons/x16/discs_pencil.png
deleted file mode 100644
index 9c965e4..0000000
--- a/interface/web/themes/default-304/icons/x16/discs_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/discs_plus.png b/interface/web/themes/default-304/icons/x16/discs_plus.png
deleted file mode 100644
index 281acb0..0000000
--- a/interface/web/themes/default-304/icons/x16/discs_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk.png b/interface/web/themes/default-304/icons/x16/disk.png
deleted file mode 100644
index e382776..0000000
--- a/interface/web/themes/default-304/icons/x16/disk.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk__arrow.png b/interface/web/themes/default-304/icons/x16/disk__arrow.png
deleted file mode 100644
index c364501..0000000
--- a/interface/web/themes/default-304/icons/x16/disk__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk__exclamation.png b/interface/web/themes/default-304/icons/x16/disk__exclamation.png
deleted file mode 100644
index 3c6d4c9..0000000
--- a/interface/web/themes/default-304/icons/x16/disk__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk__minus.png b/interface/web/themes/default-304/icons/x16/disk__minus.png
deleted file mode 100644
index 41993a4..0000000
--- a/interface/web/themes/default-304/icons/x16/disk__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk__pencil.png b/interface/web/themes/default-304/icons/x16/disk__pencil.png
deleted file mode 100644
index 39b929b..0000000
--- a/interface/web/themes/default-304/icons/x16/disk__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk__plus.png b/interface/web/themes/default-304/icons/x16/disk__plus.png
deleted file mode 100644
index de62ee1..0000000
--- a/interface/web/themes/default-304/icons/x16/disk__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk_black.png b/interface/web/themes/default-304/icons/x16/disk_black.png
deleted file mode 100644
index a08f6f1..0000000
--- a/interface/web/themes/default-304/icons/x16/disk_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk_small.png b/interface/web/themes/default-304/icons/x16/disk_small.png
deleted file mode 100644
index 3444cbf..0000000
--- a/interface/web/themes/default-304/icons/x16/disk_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disk_small_black.png b/interface/web/themes/default-304/icons/x16/disk_small_black.png
deleted file mode 100644
index 3d992ad..0000000
--- a/interface/web/themes/default-304/icons/x16/disk_small_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks.png b/interface/web/themes/default-304/icons/x16/disks.png
deleted file mode 100644
index 6f2a980..0000000
--- a/interface/web/themes/default-304/icons/x16/disks.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks__arrow.png b/interface/web/themes/default-304/icons/x16/disks__arrow.png
deleted file mode 100644
index 9bd0a71..0000000
--- a/interface/web/themes/default-304/icons/x16/disks__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks__exclamation.png b/interface/web/themes/default-304/icons/x16/disks__exclamation.png
deleted file mode 100644
index 4606873..0000000
--- a/interface/web/themes/default-304/icons/x16/disks__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks__minus.png b/interface/web/themes/default-304/icons/x16/disks__minus.png
deleted file mode 100644
index 764000c..0000000
--- a/interface/web/themes/default-304/icons/x16/disks__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks__pencil.png b/interface/web/themes/default-304/icons/x16/disks__pencil.png
deleted file mode 100644
index a627c31..0000000
--- a/interface/web/themes/default-304/icons/x16/disks__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks__plus.png b/interface/web/themes/default-304/icons/x16/disks__plus.png
deleted file mode 100644
index 80ec32d..0000000
--- a/interface/web/themes/default-304/icons/x16/disks__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/disks_black.png b/interface/web/themes/default-304/icons/x16/disks_black.png
deleted file mode 100644
index 646bb4e..0000000
--- a/interface/web/themes/default-304/icons/x16/disks_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document.png b/interface/web/themes/default-304/icons/x16/document.png
deleted file mode 100644
index b84a5cd..0000000
--- a/interface/web/themes/default-304/icons/x16/document.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document__arrow.png b/interface/web/themes/default-304/icons/x16/document__arrow.png
deleted file mode 100644
index 501197f..0000000
--- a/interface/web/themes/default-304/icons/x16/document__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document__exclamation.png b/interface/web/themes/default-304/icons/x16/document__exclamation.png
deleted file mode 100644
index bc9187a..0000000
--- a/interface/web/themes/default-304/icons/x16/document__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document__minus.png b/interface/web/themes/default-304/icons/x16/document__minus.png
deleted file mode 100644
index 6f900ea..0000000
--- a/interface/web/themes/default-304/icons/x16/document__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document__pencil.png b/interface/web/themes/default-304/icons/x16/document__pencil.png
deleted file mode 100644
index eddc6ce..0000000
--- a/interface/web/themes/default-304/icons/x16/document__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document__plus.png b/interface/web/themes/default-304/icons/x16/document__plus.png
deleted file mode 100644
index b61978a..0000000
--- a/interface/web/themes/default-304/icons/x16/document__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_horizontal.png b/interface/web/themes/default-304/icons/x16/document_horizontal.png
deleted file mode 100644
index 7c133e8..0000000
--- a/interface/web/themes/default-304/icons/x16/document_horizontal.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_horizontal_text.png b/interface/web/themes/default-304/icons/x16/document_horizontal_text.png
deleted file mode 100644
index 6ee38d8..0000000
--- a/interface/web/themes/default-304/icons/x16/document_horizontal_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_music.png b/interface/web/themes/default-304/icons/x16/document_music.png
deleted file mode 100644
index 2b76eef..0000000
--- a/interface/web/themes/default-304/icons/x16/document_music.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_music_playlist.png b/interface/web/themes/default-304/icons/x16/document_music_playlist.png
deleted file mode 100644
index 2708c7f..0000000
--- a/interface/web/themes/default-304/icons/x16/document_music_playlist.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_shred.png b/interface/web/themes/default-304/icons/x16/document_shred.png
deleted file mode 100644
index 2c0d00c..0000000
--- a/interface/web/themes/default-304/icons/x16/document_shred.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_small.png b/interface/web/themes/default-304/icons/x16/document_small.png
deleted file mode 100644
index 4e7ce8c..0000000
--- a/interface/web/themes/default-304/icons/x16/document_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_text.png b/interface/web/themes/default-304/icons/x16/document_text.png
deleted file mode 100644
index 48cdf75..0000000
--- a/interface/web/themes/default-304/icons/x16/document_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_text_image.png b/interface/web/themes/default-304/icons/x16/document_text_image.png
deleted file mode 100644
index 0c697bb..0000000
--- a/interface/web/themes/default-304/icons/x16/document_text_image.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/document_zipper.png b/interface/web/themes/default-304/icons/x16/document_zipper.png
deleted file mode 100644
index add627c..0000000
--- a/interface/web/themes/default-304/icons/x16/document_zipper.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents.png b/interface/web/themes/default-304/icons/x16/documents.png
deleted file mode 100644
index 0aa7484..0000000
--- a/interface/web/themes/default-304/icons/x16/documents.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_arrow.png b/interface/web/themes/default-304/icons/x16/documents_arrow.png
deleted file mode 100644
index 3e7a46a..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_exclamation.png b/interface/web/themes/default-304/icons/x16/documents_exclamation.png
deleted file mode 100644
index 20b9169..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_minus.png b/interface/web/themes/default-304/icons/x16/documents_minus.png
deleted file mode 100644
index 5c8042d..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_pencil.png b/interface/web/themes/default-304/icons/x16/documents_pencil.png
deleted file mode 100644
index ddc0b7d..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_plus.png b/interface/web/themes/default-304/icons/x16/documents_plus.png
deleted file mode 100644
index d095453..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_stack.png b/interface/web/themes/default-304/icons/x16/documents_stack.png
deleted file mode 100644
index 21e3f4d..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/documents_text.png b/interface/web/themes/default-304/icons/x16/documents_text.png
deleted file mode 100644
index f6f5833..0000000
--- a/interface/web/themes/default-304/icons/x16/documents_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door.png b/interface/web/themes/default-304/icons/x16/door.png
deleted file mode 100644
index 0b7c1bc..0000000
--- a/interface/web/themes/default-304/icons/x16/door.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door_arrow.png b/interface/web/themes/default-304/icons/x16/door_arrow.png
deleted file mode 100644
index efabfc9..0000000
--- a/interface/web/themes/default-304/icons/x16/door_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door_exclamation.png b/interface/web/themes/default-304/icons/x16/door_exclamation.png
deleted file mode 100644
index 3fb609c..0000000
--- a/interface/web/themes/default-304/icons/x16/door_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door_minus.png b/interface/web/themes/default-304/icons/x16/door_minus.png
deleted file mode 100644
index 7356d39..0000000
--- a/interface/web/themes/default-304/icons/x16/door_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door_pencil.png b/interface/web/themes/default-304/icons/x16/door_pencil.png
deleted file mode 100644
index 2e245e0..0000000
--- a/interface/web/themes/default-304/icons/x16/door_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/door_plus.png b/interface/web/themes/default-304/icons/x16/door_plus.png
deleted file mode 100644
index 302a1f9..0000000
--- a/interface/web/themes/default-304/icons/x16/door_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer.png b/interface/web/themes/default-304/icons/x16/drawer.png
deleted file mode 100644
index 50c5737..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer_arrow.png b/interface/web/themes/default-304/icons/x16/drawer_arrow.png
deleted file mode 100644
index f4a7075..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer_exclamation.png b/interface/web/themes/default-304/icons/x16/drawer_exclamation.png
deleted file mode 100644
index 03f0c1e..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer_minus.png b/interface/web/themes/default-304/icons/x16/drawer_minus.png
deleted file mode 100644
index 4e2ff66..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer_pencil.png b/interface/web/themes/default-304/icons/x16/drawer_pencil.png
deleted file mode 100644
index ef7ed0e..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drawer_plus.png b/interface/web/themes/default-304/icons/x16/drawer_plus.png
deleted file mode 100644
index a63fb3b..0000000
--- a/interface/web/themes/default-304/icons/x16/drawer_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill.png b/interface/web/themes/default-304/icons/x16/drill.png
deleted file mode 100644
index c05a305..0000000
--- a/interface/web/themes/default-304/icons/x16/drill.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill_arrow.png b/interface/web/themes/default-304/icons/x16/drill_arrow.png
deleted file mode 100644
index fdb0737..0000000
--- a/interface/web/themes/default-304/icons/x16/drill_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill_exclamation.png b/interface/web/themes/default-304/icons/x16/drill_exclamation.png
deleted file mode 100644
index c9b4a4a..0000000
--- a/interface/web/themes/default-304/icons/x16/drill_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill_minus.png b/interface/web/themes/default-304/icons/x16/drill_minus.png
deleted file mode 100644
index dd63de2..0000000
--- a/interface/web/themes/default-304/icons/x16/drill_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill_pencil.png b/interface/web/themes/default-304/icons/x16/drill_pencil.png
deleted file mode 100644
index cc0448b..0000000
--- a/interface/web/themes/default-304/icons/x16/drill_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/drill_plus.png b/interface/web/themes/default-304/icons/x16/drill_plus.png
deleted file mode 100644
index c9e751c..0000000
--- a/interface/web/themes/default-304/icons/x16/drill_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope.png b/interface/web/themes/default-304/icons/x16/envelope.png
deleted file mode 100644
index b13127e..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope_arrow.png b/interface/web/themes/default-304/icons/x16/envelope_arrow.png
deleted file mode 100644
index 8024339..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope_exclamation.png b/interface/web/themes/default-304/icons/x16/envelope_exclamation.png
deleted file mode 100644
index 36a43a4..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope_minus.png b/interface/web/themes/default-304/icons/x16/envelope_minus.png
deleted file mode 100644
index 34003fb..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope_pencil.png b/interface/web/themes/default-304/icons/x16/envelope_pencil.png
deleted file mode 100644
index 8057d8d..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/envelope_plus.png b/interface/web/themes/default-304/icons/x16/envelope_plus.png
deleted file mode 100644
index 1062723..0000000
--- a/interface/web/themes/default-304/icons/x16/envelope_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer.png b/interface/web/themes/default-304/icons/x16/equalizer.png
deleted file mode 100644
index bc17e83..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer_arrow.png b/interface/web/themes/default-304/icons/x16/equalizer_arrow.png
deleted file mode 100644
index 2919dfd..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer_exclamation.png b/interface/web/themes/default-304/icons/x16/equalizer_exclamation.png
deleted file mode 100644
index 46b11ab..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer_minus.png b/interface/web/themes/default-304/icons/x16/equalizer_minus.png
deleted file mode 100644
index 9e862af..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer_pencil.png b/interface/web/themes/default-304/icons/x16/equalizer_pencil.png
deleted file mode 100644
index 88d6a99..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/equalizer_plus.png b/interface/web/themes/default-304/icons/x16/equalizer_plus.png
deleted file mode 100644
index 5138e71..0000000
--- a/interface/web/themes/default-304/icons/x16/equalizer_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser.png b/interface/web/themes/default-304/icons/x16/eraser.png
deleted file mode 100644
index 9ffba3d..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser_arrow.png b/interface/web/themes/default-304/icons/x16/eraser_arrow.png
deleted file mode 100644
index 7479dc3..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser_exclamation.png b/interface/web/themes/default-304/icons/x16/eraser_exclamation.png
deleted file mode 100644
index 51bafd9..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser_minus.png b/interface/web/themes/default-304/icons/x16/eraser_minus.png
deleted file mode 100644
index b4fbf24..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser_pencil.png b/interface/web/themes/default-304/icons/x16/eraser_pencil.png
deleted file mode 100644
index 0c18f9d..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/eraser_plus.png b/interface/web/themes/default-304/icons/x16/eraser_plus.png
deleted file mode 100644
index e7b3f1c..0000000
--- a/interface/web/themes/default-304/icons/x16/eraser_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/exclamation.png b/interface/web/themes/default-304/icons/x16/exclamation.png
deleted file mode 100644
index f37eb95..0000000
--- a/interface/web/themes/default-304/icons/x16/exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/exclamation_frame.png b/interface/web/themes/default-304/icons/x16/exclamation_frame.png
deleted file mode 100644
index db1b763..0000000
--- a/interface/web/themes/default-304/icons/x16/exclamation_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/exclamation_shield.png b/interface/web/themes/default-304/icons/x16/exclamation_shield.png
deleted file mode 100644
index f5fb107..0000000
--- a/interface/web/themes/default-304/icons/x16/exclamation_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/exclamation_small.png b/interface/web/themes/default-304/icons/x16/exclamation_small.png
deleted file mode 100644
index c8a0568..0000000
--- a/interface/web/themes/default-304/icons/x16/exclamation_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed.png b/interface/web/themes/default-304/icons/x16/feed.png
deleted file mode 100644
index 9e5327b..0000000
--- a/interface/web/themes/default-304/icons/x16/feed.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed__arrow.png b/interface/web/themes/default-304/icons/x16/feed__arrow.png
deleted file mode 100644
index 24fdb91..0000000
--- a/interface/web/themes/default-304/icons/x16/feed__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed__exclamation.png b/interface/web/themes/default-304/icons/x16/feed__exclamation.png
deleted file mode 100644
index 5a5a1a4..0000000
--- a/interface/web/themes/default-304/icons/x16/feed__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed__minus.png b/interface/web/themes/default-304/icons/x16/feed__minus.png
deleted file mode 100644
index dfa82aa..0000000
--- a/interface/web/themes/default-304/icons/x16/feed__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed__pencil.png b/interface/web/themes/default-304/icons/x16/feed__pencil.png
deleted file mode 100644
index 48587c8..0000000
--- a/interface/web/themes/default-304/icons/x16/feed__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed__plus.png b/interface/web/themes/default-304/icons/x16/feed__plus.png
deleted file mode 100644
index bb6db9b..0000000
--- a/interface/web/themes/default-304/icons/x16/feed__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed_balloon.png b/interface/web/themes/default-304/icons/x16/feed_balloon.png
deleted file mode 100644
index b9c9475..0000000
--- a/interface/web/themes/default-304/icons/x16/feed_balloon.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/feed_small.png b/interface/web/themes/default-304/icons/x16/feed_small.png
deleted file mode 100644
index 184a29e..0000000
--- a/interface/web/themes/default-304/icons/x16/feed_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film.png b/interface/web/themes/default-304/icons/x16/film.png
deleted file mode 100644
index b8b4b5c..0000000
--- a/interface/web/themes/default-304/icons/x16/film.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_arrow.png b/interface/web/themes/default-304/icons/x16/film_arrow.png
deleted file mode 100644
index 1b256a8..0000000
--- a/interface/web/themes/default-304/icons/x16/film_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_exclamation.png b/interface/web/themes/default-304/icons/x16/film_exclamation.png
deleted file mode 100644
index 371e74b..0000000
--- a/interface/web/themes/default-304/icons/x16/film_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_minus.png b/interface/web/themes/default-304/icons/x16/film_minus.png
deleted file mode 100644
index f0c58e1..0000000
--- a/interface/web/themes/default-304/icons/x16/film_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_pencil.png b/interface/web/themes/default-304/icons/x16/film_pencil.png
deleted file mode 100644
index a45ab17..0000000
--- a/interface/web/themes/default-304/icons/x16/film_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_plus.png b/interface/web/themes/default-304/icons/x16/film_plus.png
deleted file mode 100644
index 2e41b83..0000000
--- a/interface/web/themes/default-304/icons/x16/film_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/film_small.png b/interface/web/themes/default-304/icons/x16/film_small.png
deleted file mode 100644
index 311335d..0000000
--- a/interface/web/themes/default-304/icons/x16/film_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films.png b/interface/web/themes/default-304/icons/x16/films.png
deleted file mode 100644
index 3ca3268..0000000
--- a/interface/web/themes/default-304/icons/x16/films.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films_arrow.png b/interface/web/themes/default-304/icons/x16/films_arrow.png
deleted file mode 100644
index bd136bb..0000000
--- a/interface/web/themes/default-304/icons/x16/films_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films_exclamation.png b/interface/web/themes/default-304/icons/x16/films_exclamation.png
deleted file mode 100644
index 6aef39e..0000000
--- a/interface/web/themes/default-304/icons/x16/films_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films_minus.png b/interface/web/themes/default-304/icons/x16/films_minus.png
deleted file mode 100644
index b570dce..0000000
--- a/interface/web/themes/default-304/icons/x16/films_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films_pencil.png b/interface/web/themes/default-304/icons/x16/films_pencil.png
deleted file mode 100644
index 03ab1bd..0000000
--- a/interface/web/themes/default-304/icons/x16/films_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/films_plus.png b/interface/web/themes/default-304/icons/x16/films_plus.png
deleted file mode 100644
index 2bf3757..0000000
--- a/interface/web/themes/default-304/icons/x16/films_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag.png b/interface/web/themes/default-304/icons/x16/flag.png
deleted file mode 100644
index 7d0a6ae..0000000
--- a/interface/web/themes/default-304/icons/x16/flag.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag_arrow.png b/interface/web/themes/default-304/icons/x16/flag_arrow.png
deleted file mode 100644
index 06e94a8..0000000
--- a/interface/web/themes/default-304/icons/x16/flag_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag_exclamation.png b/interface/web/themes/default-304/icons/x16/flag_exclamation.png
deleted file mode 100644
index 18a242f..0000000
--- a/interface/web/themes/default-304/icons/x16/flag_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag_minus.png b/interface/web/themes/default-304/icons/x16/flag_minus.png
deleted file mode 100644
index e00958a..0000000
--- a/interface/web/themes/default-304/icons/x16/flag_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag_pencil.png b/interface/web/themes/default-304/icons/x16/flag_pencil.png
deleted file mode 100644
index 2d2c67a..0000000
--- a/interface/web/themes/default-304/icons/x16/flag_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/flag_plus.png b/interface/web/themes/default-304/icons/x16/flag_plus.png
deleted file mode 100644
index 560a995..0000000
--- a/interface/web/themes/default-304/icons/x16/flag_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder.png b/interface/web/themes/default-304/icons/x16/folder.png
deleted file mode 100644
index 08dbc87..0000000
--- a/interface/web/themes/default-304/icons/x16/folder.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder__arrow.png b/interface/web/themes/default-304/icons/x16/folder__arrow.png
deleted file mode 100644
index ada7b23..0000000
--- a/interface/web/themes/default-304/icons/x16/folder__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder__exclamation.png b/interface/web/themes/default-304/icons/x16/folder__exclamation.png
deleted file mode 100644
index ce288bc..0000000
--- a/interface/web/themes/default-304/icons/x16/folder__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder__minus.png b/interface/web/themes/default-304/icons/x16/folder__minus.png
deleted file mode 100644
index 0f7b0fd..0000000
--- a/interface/web/themes/default-304/icons/x16/folder__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder__pencil.png b/interface/web/themes/default-304/icons/x16/folder__pencil.png
deleted file mode 100644
index 6f974e1..0000000
--- a/interface/web/themes/default-304/icons/x16/folder__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder__plus.png b/interface/web/themes/default-304/icons/x16/folder__plus.png
deleted file mode 100644
index 152eecb..0000000
--- a/interface/web/themes/default-304/icons/x16/folder__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open.png b/interface/web/themes/default-304/icons/x16/folder_open.png
deleted file mode 100644
index 06452a8..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document.png b/interface/web/themes/default-304/icons/x16/folder_open_document.png
deleted file mode 100644
index f3224d3..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_document.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_music.png b/interface/web/themes/default-304/icons/x16/folder_open_document_music.png
deleted file mode 100644
index 855299c..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_document_music.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png b/interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png
deleted file mode 100644
index e2f17c3..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_document_music_playlist.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_document_text.png b/interface/web/themes/default-304/icons/x16/folder_open_document_text.png
deleted file mode 100644
index 5599a35..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_document_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_film.png b/interface/web/themes/default-304/icons/x16/folder_open_film.png
deleted file mode 100644
index d5b9900..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_film.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_open_image.png b/interface/web/themes/default-304/icons/x16/folder_open_image.png
deleted file mode 100644
index 4eb3967..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_open_image.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_shred.png b/interface/web/themes/default-304/icons/x16/folder_shred.png
deleted file mode 100644
index 2208550..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_shred.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_small.png b/interface/web/themes/default-304/icons/x16/folder_small.png
deleted file mode 100644
index 0f47987..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folder_zipper.png b/interface/web/themes/default-304/icons/x16/folder_zipper.png
deleted file mode 100644
index 874d076..0000000
--- a/interface/web/themes/default-304/icons/x16/folder_zipper.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders.png b/interface/web/themes/default-304/icons/x16/folders.png
deleted file mode 100644
index f236e50..0000000
--- a/interface/web/themes/default-304/icons/x16/folders.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_arrow.png b/interface/web/themes/default-304/icons/x16/folders_arrow.png
deleted file mode 100644
index 720b84d..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_exclamation.png b/interface/web/themes/default-304/icons/x16/folders_exclamation.png
deleted file mode 100644
index c41051f..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_minus.png b/interface/web/themes/default-304/icons/x16/folders_minus.png
deleted file mode 100644
index 435b57b..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_pencil.png b/interface/web/themes/default-304/icons/x16/folders_pencil.png
deleted file mode 100644
index 34007f8..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_plus.png b/interface/web/themes/default-304/icons/x16/folders_plus.png
deleted file mode 100644
index df1ff71..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/folders_stack.png b/interface/web/themes/default-304/icons/x16/folders_stack.png
deleted file mode 100644
index 146a8fb..0000000
--- a/interface/web/themes/default-304/icons/x16/folders_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel.png b/interface/web/themes/default-304/icons/x16/funnel.png
deleted file mode 100644
index ebd8b55..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_arrow.png b/interface/web/themes/default-304/icons/x16/funnel_arrow.png
deleted file mode 100644
index 4858978..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_exclamation.png b/interface/web/themes/default-304/icons/x16/funnel_exclamation.png
deleted file mode 100644
index 0549c60..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_minus.png b/interface/web/themes/default-304/icons/x16/funnel_minus.png
deleted file mode 100644
index 2f446d7..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_pencil.png b/interface/web/themes/default-304/icons/x16/funnel_pencil.png
deleted file mode 100644
index 7c2d9b5..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_plus.png b/interface/web/themes/default-304/icons/x16/funnel_plus.png
deleted file mode 100644
index c2b7722..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/funnel_small.png b/interface/web/themes/default-304/icons/x16/funnel_small.png
deleted file mode 100644
index f914af5..0000000
--- a/interface/web/themes/default-304/icons/x16/funnel_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear.png b/interface/web/themes/default-304/icons/x16/gear.png
deleted file mode 100644
index 2ae36d0..0000000
--- a/interface/web/themes/default-304/icons/x16/gear.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear__arrow.png b/interface/web/themes/default-304/icons/x16/gear__arrow.png
deleted file mode 100644
index 97bcdde..0000000
--- a/interface/web/themes/default-304/icons/x16/gear__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear__exclamation.png b/interface/web/themes/default-304/icons/x16/gear__exclamation.png
deleted file mode 100644
index 0fc7db0..0000000
--- a/interface/web/themes/default-304/icons/x16/gear__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear__minus.png b/interface/web/themes/default-304/icons/x16/gear__minus.png
deleted file mode 100644
index 0f5d271..0000000
--- a/interface/web/themes/default-304/icons/x16/gear__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear__pencil.png b/interface/web/themes/default-304/icons/x16/gear__pencil.png
deleted file mode 100644
index a2906ec..0000000
--- a/interface/web/themes/default-304/icons/x16/gear__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear__plus.png b/interface/web/themes/default-304/icons/x16/gear__plus.png
deleted file mode 100644
index a94a618..0000000
--- a/interface/web/themes/default-304/icons/x16/gear__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear_disable.png b/interface/web/themes/default-304/icons/x16/gear_disable.png
deleted file mode 100644
index 877a66d..0000000
--- a/interface/web/themes/default-304/icons/x16/gear_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/gear_small.png b/interface/web/themes/default-304/icons/x16/gear_small.png
deleted file mode 100644
index b0e9690..0000000
--- a/interface/web/themes/default-304/icons/x16/gear_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer.png b/interface/web/themes/default-304/icons/x16/hammer.png
deleted file mode 100644
index 59558fd..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer__arrow.png b/interface/web/themes/default-304/icons/x16/hammer__arrow.png
deleted file mode 100644
index 23ee5cf..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer__exclamation.png b/interface/web/themes/default-304/icons/x16/hammer__exclamation.png
deleted file mode 100644
index 7ad1cf5..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer__minus.png b/interface/web/themes/default-304/icons/x16/hammer__minus.png
deleted file mode 100644
index 549d90c..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer__pencil.png b/interface/web/themes/default-304/icons/x16/hammer__pencil.png
deleted file mode 100644
index 3e7821f..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer__plus.png b/interface/web/themes/default-304/icons/x16/hammer__plus.png
deleted file mode 100644
index 331a83b..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer_left.png b/interface/web/themes/default-304/icons/x16/hammer_left.png
deleted file mode 100644
index f448615..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer_left.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/hammer_screwdriver.png b/interface/web/themes/default-304/icons/x16/hammer_screwdriver.png
deleted file mode 100644
index 27877af..0000000
--- a/interface/web/themes/default-304/icons/x16/hammer_screwdriver.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart.png b/interface/web/themes/default-304/icons/x16/heart.png
deleted file mode 100644
index 7e0f0f7..0000000
--- a/interface/web/themes/default-304/icons/x16/heart.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart__arrow.png b/interface/web/themes/default-304/icons/x16/heart__arrow.png
deleted file mode 100644
index 014c378..0000000
--- a/interface/web/themes/default-304/icons/x16/heart__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart__exclamation.png b/interface/web/themes/default-304/icons/x16/heart__exclamation.png
deleted file mode 100644
index 46ad89f..0000000
--- a/interface/web/themes/default-304/icons/x16/heart__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart__minus.png b/interface/web/themes/default-304/icons/x16/heart__minus.png
deleted file mode 100644
index 0c305c3..0000000
--- a/interface/web/themes/default-304/icons/x16/heart__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart__pencil.png b/interface/web/themes/default-304/icons/x16/heart__pencil.png
deleted file mode 100644
index 2d37cee..0000000
--- a/interface/web/themes/default-304/icons/x16/heart__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart__plus.png b/interface/web/themes/default-304/icons/x16/heart__plus.png
deleted file mode 100644
index 4ecc1a3..0000000
--- a/interface/web/themes/default-304/icons/x16/heart__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_break.png b/interface/web/themes/default-304/icons/x16/heart_break.png
deleted file mode 100644
index a19bd59..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_break.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_empty.png b/interface/web/themes/default-304/icons/x16/heart_empty.png
deleted file mode 100644
index fb513dc..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_half.png b/interface/web/themes/default-304/icons/x16/heart_half.png
deleted file mode 100644
index 1a996b4..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_half.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_small.png b/interface/web/themes/default-304/icons/x16/heart_small.png
deleted file mode 100644
index f2ae66f..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_small_empty.png b/interface/web/themes/default-304/icons/x16/heart_small_empty.png
deleted file mode 100644
index 6e0c58b..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_small_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/heart_small_half.png b/interface/web/themes/default-304/icons/x16/heart_small_half.png
deleted file mode 100644
index 234580f..0000000
--- a/interface/web/themes/default-304/icons/x16/heart_small_half.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home.png b/interface/web/themes/default-304/icons/x16/home.png
deleted file mode 100644
index 242e250..0000000
--- a/interface/web/themes/default-304/icons/x16/home.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_arrow.png b/interface/web/themes/default-304/icons/x16/home_arrow.png
deleted file mode 100644
index 5ea4ae6..0000000
--- a/interface/web/themes/default-304/icons/x16/home_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_exclamation.png b/interface/web/themes/default-304/icons/x16/home_exclamation.png
deleted file mode 100644
index a40d4dc..0000000
--- a/interface/web/themes/default-304/icons/x16/home_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_minus.png b/interface/web/themes/default-304/icons/x16/home_minus.png
deleted file mode 100644
index 138c898..0000000
--- a/interface/web/themes/default-304/icons/x16/home_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_pencil.png b/interface/web/themes/default-304/icons/x16/home_pencil.png
deleted file mode 100644
index f5602a4..0000000
--- a/interface/web/themes/default-304/icons/x16/home_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_plus.png b/interface/web/themes/default-304/icons/x16/home_plus.png
deleted file mode 100644
index e9341e8..0000000
--- a/interface/web/themes/default-304/icons/x16/home_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/home_small.png b/interface/web/themes/default-304/icons/x16/home_small.png
deleted file mode 100644
index 07b9993..0000000
--- a/interface/web/themes/default-304/icons/x16/home_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image.png b/interface/web/themes/default-304/icons/x16/image.png
deleted file mode 100644
index 8de2231..0000000
--- a/interface/web/themes/default-304/icons/x16/image.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_arrow.png b/interface/web/themes/default-304/icons/x16/image_arrow.png
deleted file mode 100644
index 2d4d3c8..0000000
--- a/interface/web/themes/default-304/icons/x16/image_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_exclamation.png b/interface/web/themes/default-304/icons/x16/image_exclamation.png
deleted file mode 100644
index 5ca7614..0000000
--- a/interface/web/themes/default-304/icons/x16/image_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_minus.png b/interface/web/themes/default-304/icons/x16/image_minus.png
deleted file mode 100644
index b5e76b4..0000000
--- a/interface/web/themes/default-304/icons/x16/image_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_pencil.png b/interface/web/themes/default-304/icons/x16/image_pencil.png
deleted file mode 100644
index 2f276d7..0000000
--- a/interface/web/themes/default-304/icons/x16/image_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_plus.png b/interface/web/themes/default-304/icons/x16/image_plus.png
deleted file mode 100644
index 522539d..0000000
--- a/interface/web/themes/default-304/icons/x16/image_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_resize.png b/interface/web/themes/default-304/icons/x16/image_resize.png
deleted file mode 100644
index ed9d5ee..0000000
--- a/interface/web/themes/default-304/icons/x16/image_resize.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_resize_actual.png b/interface/web/themes/default-304/icons/x16/image_resize_actual.png
deleted file mode 100644
index 3c57831..0000000
--- a/interface/web/themes/default-304/icons/x16/image_resize_actual.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_small.png b/interface/web/themes/default-304/icons/x16/image_small.png
deleted file mode 100644
index a3c531a..0000000
--- a/interface/web/themes/default-304/icons/x16/image_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_small_sunset.png b/interface/web/themes/default-304/icons/x16/image_small_sunset.png
deleted file mode 100644
index 3c09828..0000000
--- a/interface/web/themes/default-304/icons/x16/image_small_sunset.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/image_sunset.png b/interface/web/themes/default-304/icons/x16/image_sunset.png
deleted file mode 100644
index 3d54135..0000000
--- a/interface/web/themes/default-304/icons/x16/image_sunset.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images.png b/interface/web/themes/default-304/icons/x16/images.png
deleted file mode 100644
index a36d528..0000000
--- a/interface/web/themes/default-304/icons/x16/images.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_arrow.png b/interface/web/themes/default-304/icons/x16/images_arrow.png
deleted file mode 100644
index 1b8a940..0000000
--- a/interface/web/themes/default-304/icons/x16/images_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_exclamation.png b/interface/web/themes/default-304/icons/x16/images_exclamation.png
deleted file mode 100644
index 4e6f454..0000000
--- a/interface/web/themes/default-304/icons/x16/images_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_minus.png b/interface/web/themes/default-304/icons/x16/images_minus.png
deleted file mode 100644
index 21da574..0000000
--- a/interface/web/themes/default-304/icons/x16/images_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_pencil.png b/interface/web/themes/default-304/icons/x16/images_pencil.png
deleted file mode 100644
index 3250b89..0000000
--- a/interface/web/themes/default-304/icons/x16/images_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_plus.png b/interface/web/themes/default-304/icons/x16/images_plus.png
deleted file mode 100644
index 2fe20dc..0000000
--- a/interface/web/themes/default-304/icons/x16/images_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/images_stack.png b/interface/web/themes/default-304/icons/x16/images_stack.png
deleted file mode 100644
index fe33dcc..0000000
--- a/interface/web/themes/default-304/icons/x16/images_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox.png b/interface/web/themes/default-304/icons/x16/inbox.png
deleted file mode 100644
index e93b4ba..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox_arrow.png b/interface/web/themes/default-304/icons/x16/inbox_arrow.png
deleted file mode 100644
index 9cf3d51..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox_exclamation.png b/interface/web/themes/default-304/icons/x16/inbox_exclamation.png
deleted file mode 100644
index b0e69ff..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox_minus.png b/interface/web/themes/default-304/icons/x16/inbox_minus.png
deleted file mode 100644
index 1c5e023..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox_pencil.png b/interface/web/themes/default-304/icons/x16/inbox_pencil.png
deleted file mode 100644
index eb6f919..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/inbox_plus.png b/interface/web/themes/default-304/icons/x16/inbox_plus.png
deleted file mode 100644
index 5ac3745..0000000
--- a/interface/web/themes/default-304/icons/x16/inbox_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/information.png b/interface/web/themes/default-304/icons/x16/information.png
deleted file mode 100644
index 17ed83f..0000000
--- a/interface/web/themes/default-304/icons/x16/information.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/information_frame.png b/interface/web/themes/default-304/icons/x16/information_frame.png
deleted file mode 100644
index 33da5b5..0000000
--- a/interface/web/themes/default-304/icons/x16/information_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/information_shield.png b/interface/web/themes/default-304/icons/x16/information_shield.png
deleted file mode 100644
index ad5f109..0000000
--- a/interface/web/themes/default-304/icons/x16/information_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/information_small.png b/interface/web/themes/default-304/icons/x16/information_small.png
deleted file mode 100644
index c5b7e49..0000000
--- a/interface/web/themes/default-304/icons/x16/information_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key.png b/interface/web/themes/default-304/icons/x16/key.png
deleted file mode 100644
index dd3ed88..0000000
--- a/interface/web/themes/default-304/icons/x16/key.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key__arrow.png b/interface/web/themes/default-304/icons/x16/key__arrow.png
deleted file mode 100644
index e9712f1..0000000
--- a/interface/web/themes/default-304/icons/x16/key__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key__exclamation.png b/interface/web/themes/default-304/icons/x16/key__exclamation.png
deleted file mode 100644
index 6c9a674..0000000
--- a/interface/web/themes/default-304/icons/x16/key__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key__minus.png b/interface/web/themes/default-304/icons/x16/key__minus.png
deleted file mode 100644
index f381899..0000000
--- a/interface/web/themes/default-304/icons/x16/key__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key__pencil.png b/interface/web/themes/default-304/icons/x16/key__pencil.png
deleted file mode 100644
index 13774d4..0000000
--- a/interface/web/themes/default-304/icons/x16/key__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key__plus.png b/interface/web/themes/default-304/icons/x16/key__plus.png
deleted file mode 100644
index 9e3fe41..0000000
--- a/interface/web/themes/default-304/icons/x16/key__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/key_disable.png b/interface/web/themes/default-304/icons/x16/key_disable.png
deleted file mode 100644
index 72bc9f4..0000000
--- a/interface/web/themes/default-304/icons/x16/key_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout.png b/interface/web/themes/default-304/icons/x16/layout.png
deleted file mode 100644
index 001a60a..0000000
--- a/interface/web/themes/default-304/icons/x16/layout.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_2.png b/interface/web/themes/default-304/icons/x16/layout_2.png
deleted file mode 100644
index 41266b2..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_2_equal.png
deleted file mode 100644
index 695916f..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_2_equal.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_3.png b/interface/web/themes/default-304/icons/x16/layout_3.png
deleted file mode 100644
index 5e8ab93..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_3.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_3_mix.png
deleted file mode 100644
index 89fb017..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_3_mix.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header.png b/interface/web/themes/default-304/icons/x16/layout_header.png
deleted file mode 100644
index efb95a3..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_2.png b/interface/web/themes/default-304/icons/x16/layout_header_2.png
deleted file mode 100644
index 09f6832..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_header_2_equal.png
deleted file mode 100644
index a0dfd6c..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_2_equal.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_3.png b/interface/web/themes/default-304/icons/x16/layout_header_3.png
deleted file mode 100644
index 64a48ca..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_3.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_header_3_mix.png
deleted file mode 100644
index 22e67bd..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_3_mix.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer.png b/interface/web/themes/default-304/icons/x16/layout_header_footer.png
deleted file mode 100644
index 4a739f8..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_footer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_2.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_2.png
deleted file mode 100644
index 22b7d59..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_footer_2.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png
deleted file mode 100644
index 9a6ab31..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_footer_2_equal.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_3.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_3.png
deleted file mode 100644
index d97d175..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_footer_3.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png b/interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png
deleted file mode 100644
index 4aefc40..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_header_footer_3_mix.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_join.png b/interface/web/themes/default-304/icons/x16/layout_join.png
deleted file mode 100644
index be491fc..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_join.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/layout_split.png b/interface/web/themes/default-304/icons/x16/layout_split.png
deleted file mode 100644
index 986005e..0000000
--- a/interface/web/themes/default-304/icons/x16/layout_split.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy.png b/interface/web/themes/default-304/icons/x16/lifebuoy.png
deleted file mode 100644
index 2bcb23d..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png b/interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png
deleted file mode 100644
index ab33a2d..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png b/interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png
deleted file mode 100644
index 020a1ee..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_minus.png b/interface/web/themes/default-304/icons/x16/lifebuoy_minus.png
deleted file mode 100644
index 7af0807..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png b/interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png
deleted file mode 100644
index bf22786..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lifebuoy_plus.png b/interface/web/themes/default-304/icons/x16/lifebuoy_plus.png
deleted file mode 100644
index d41f5b4..0000000
--- a/interface/web/themes/default-304/icons/x16/lifebuoy_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb.png b/interface/web/themes/default-304/icons/x16/light_bulb.png
deleted file mode 100644
index ff6feaf..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__arrow.png b/interface/web/themes/default-304/icons/x16/light_bulb__arrow.png
deleted file mode 100644
index 563310a..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png b/interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png
deleted file mode 100644
index c82a99c..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__minus.png b/interface/web/themes/default-304/icons/x16/light_bulb__minus.png
deleted file mode 100644
index 4cae1dc..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__pencil.png b/interface/web/themes/default-304/icons/x16/light_bulb__pencil.png
deleted file mode 100644
index 5864514..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb__plus.png b/interface/web/themes/default-304/icons/x16/light_bulb__plus.png
deleted file mode 100644
index 7496b6d..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_off.png b/interface/web/themes/default-304/icons/x16/light_bulb_off.png
deleted file mode 100644
index 496925d..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb_off.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_small.png b/interface/web/themes/default-304/icons/x16/light_bulb_small.png
deleted file mode 100644
index df440bc..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/light_bulb_small_off.png b/interface/web/themes/default-304/icons/x16/light_bulb_small_off.png
deleted file mode 100644
index d28c98e..0000000
--- a/interface/web/themes/default-304/icons/x16/light_bulb_small_off.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning.png b/interface/web/themes/default-304/icons/x16/lightning.png
deleted file mode 100644
index be7e052..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning__arrow.png b/interface/web/themes/default-304/icons/x16/lightning__arrow.png
deleted file mode 100644
index 58d7464..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning__exclamation.png b/interface/web/themes/default-304/icons/x16/lightning__exclamation.png
deleted file mode 100644
index 52b49c7..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning__minus.png b/interface/web/themes/default-304/icons/x16/lightning__minus.png
deleted file mode 100644
index f5d04ca..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning__pencil.png b/interface/web/themes/default-304/icons/x16/lightning__pencil.png
deleted file mode 100644
index e9eb9c9..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning__plus.png b/interface/web/themes/default-304/icons/x16/lightning__plus.png
deleted file mode 100644
index 00980e1..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning_disable.png b/interface/web/themes/default-304/icons/x16/lightning_disable.png
deleted file mode 100644
index 94e24a0..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lightning_small.png b/interface/web/themes/default-304/icons/x16/lightning_small.png
deleted file mode 100644
index df0a425..0000000
--- a/interface/web/themes/default-304/icons/x16/lightning_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/loading.gif b/interface/web/themes/default-304/icons/x16/loading.gif
deleted file mode 100644
index 19afda1..0000000
--- a/interface/web/themes/default-304/icons/x16/loading.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock.png b/interface/web/themes/default-304/icons/x16/lock.png
deleted file mode 100644
index 755dd0b..0000000
--- a/interface/web/themes/default-304/icons/x16/lock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock__arrow.png b/interface/web/themes/default-304/icons/x16/lock__arrow.png
deleted file mode 100644
index 51b923d..0000000
--- a/interface/web/themes/default-304/icons/x16/lock__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock__exclamation.png b/interface/web/themes/default-304/icons/x16/lock__exclamation.png
deleted file mode 100644
index 6574515..0000000
--- a/interface/web/themes/default-304/icons/x16/lock__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock__minus.png b/interface/web/themes/default-304/icons/x16/lock__minus.png
deleted file mode 100644
index 1326f4c..0000000
--- a/interface/web/themes/default-304/icons/x16/lock__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock__pencil.png b/interface/web/themes/default-304/icons/x16/lock__pencil.png
deleted file mode 100644
index 1e6581d..0000000
--- a/interface/web/themes/default-304/icons/x16/lock__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock__plus.png b/interface/web/themes/default-304/icons/x16/lock__plus.png
deleted file mode 100644
index 351141a..0000000
--- a/interface/web/themes/default-304/icons/x16/lock__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock_disable.png b/interface/web/themes/default-304/icons/x16/lock_disable.png
deleted file mode 100644
index 7d78815..0000000
--- a/interface/web/themes/default-304/icons/x16/lock_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock_small.png b/interface/web/themes/default-304/icons/x16/lock_small.png
deleted file mode 100644
index c2378e9..0000000
--- a/interface/web/themes/default-304/icons/x16/lock_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/lock_unlock.png b/interface/web/themes/default-304/icons/x16/lock_unlock.png
deleted file mode 100644
index 3cd7b7b..0000000
--- a/interface/web/themes/default-304/icons/x16/lock_unlock.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/logout.png b/interface/web/themes/default-304/icons/x16/logout.png
deleted file mode 100644
index 3fa077e..0000000
--- a/interface/web/themes/default-304/icons/x16/logout.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet.png b/interface/web/themes/default-304/icons/x16/magnet.png
deleted file mode 100644
index f83b48c..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet__arrow.png b/interface/web/themes/default-304/icons/x16/magnet__arrow.png
deleted file mode 100644
index f366db3..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet__exclamation.png b/interface/web/themes/default-304/icons/x16/magnet__exclamation.png
deleted file mode 100644
index 723c3b8..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet__minus.png b/interface/web/themes/default-304/icons/x16/magnet__minus.png
deleted file mode 100644
index 066f256..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet__pencil.png b/interface/web/themes/default-304/icons/x16/magnet__pencil.png
deleted file mode 100644
index 83894af..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet__plus.png b/interface/web/themes/default-304/icons/x16/magnet__plus.png
deleted file mode 100644
index f0d7ee5..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet_disable.png b/interface/web/themes/default-304/icons/x16/magnet_disable.png
deleted file mode 100644
index 8ab9c3d..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnet_small.png b/interface/web/themes/default-304/icons/x16/magnet_small.png
deleted file mode 100644
index 061e36a..0000000
--- a/interface/web/themes/default-304/icons/x16/magnet_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier.png b/interface/web/themes/default-304/icons/x16/magnifier.png
deleted file mode 100644
index 02e7e67..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier__arrow.png b/interface/web/themes/default-304/icons/x16/magnifier__arrow.png
deleted file mode 100644
index 65cd5c5..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier__exclamation.png b/interface/web/themes/default-304/icons/x16/magnifier__exclamation.png
deleted file mode 100644
index 037be02..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier__minus.png b/interface/web/themes/default-304/icons/x16/magnifier__minus.png
deleted file mode 100644
index a6bccdd..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier__pencil.png b/interface/web/themes/default-304/icons/x16/magnifier__pencil.png
deleted file mode 100644
index 10a668d..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier__plus.png b/interface/web/themes/default-304/icons/x16/magnifier__plus.png
deleted file mode 100644
index 7516398..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_left.png b/interface/web/themes/default-304/icons/x16/magnifier_left.png
deleted file mode 100644
index 7a8557f..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_left.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_medium.png b/interface/web/themes/default-304/icons/x16/magnifier_medium.png
deleted file mode 100644
index 7dae0e1..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_medium.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_medium_left.png b/interface/web/themes/default-304/icons/x16/magnifier_medium_left.png
deleted file mode 100644
index 81c4089..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_medium_left.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_small.png b/interface/web/themes/default-304/icons/x16/magnifier_small.png
deleted file mode 100644
index 08fdd8c..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom.png
deleted file mode 100644
index d901303..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_zoom.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png
deleted file mode 100644
index b01ae0b..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_zoom_actual.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png
deleted file mode 100644
index 278c77d..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_zoom_fit.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png b/interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png
deleted file mode 100644
index 8cd8354..0000000
--- a/interface/web/themes/default-304/icons/x16/magnifier_zoom_out.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail.png b/interface/web/themes/default-304/icons/x16/mail.png
deleted file mode 100644
index 7f7a6ca..0000000
--- a/interface/web/themes/default-304/icons/x16/mail.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail__arrow.png b/interface/web/themes/default-304/icons/x16/mail__arrow.png
deleted file mode 100644
index 4345174..0000000
--- a/interface/web/themes/default-304/icons/x16/mail__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail__exclamation.png b/interface/web/themes/default-304/icons/x16/mail__exclamation.png
deleted file mode 100644
index bf0344e..0000000
--- a/interface/web/themes/default-304/icons/x16/mail__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail__minus.png b/interface/web/themes/default-304/icons/x16/mail__minus.png
deleted file mode 100644
index 2747136..0000000
--- a/interface/web/themes/default-304/icons/x16/mail__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail__pencil.png b/interface/web/themes/default-304/icons/x16/mail__pencil.png
deleted file mode 100644
index 47e552d..0000000
--- a/interface/web/themes/default-304/icons/x16/mail__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail__plus.png b/interface/web/themes/default-304/icons/x16/mail__plus.png
deleted file mode 100644
index 9e7e259..0000000
--- a/interface/web/themes/default-304/icons/x16/mail__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail_open.png b/interface/web/themes/default-304/icons/x16/mail_open.png
deleted file mode 100644
index 634b83f..0000000
--- a/interface/web/themes/default-304/icons/x16/mail_open.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail_open_document.png b/interface/web/themes/default-304/icons/x16/mail_open_document.png
deleted file mode 100644
index c9277d4..0000000
--- a/interface/web/themes/default-304/icons/x16/mail_open_document.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail_open_film.png b/interface/web/themes/default-304/icons/x16/mail_open_film.png
deleted file mode 100644
index 3174aab..0000000
--- a/interface/web/themes/default-304/icons/x16/mail_open_film.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail_open_image.png b/interface/web/themes/default-304/icons/x16/mail_open_image.png
deleted file mode 100644
index 2ac1a42..0000000
--- a/interface/web/themes/default-304/icons/x16/mail_open_image.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mail_small.png b/interface/web/themes/default-304/icons/x16/mail_small.png
deleted file mode 100644
index 318490b..0000000
--- a/interface/web/themes/default-304/icons/x16/mail_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails.png b/interface/web/themes/default-304/icons/x16/mails.png
deleted file mode 100644
index 5e7b08d..0000000
--- a/interface/web/themes/default-304/icons/x16/mails.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_arrow.png b/interface/web/themes/default-304/icons/x16/mails_arrow.png
deleted file mode 100644
index 49988fa..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_exclamation.png b/interface/web/themes/default-304/icons/x16/mails_exclamation.png
deleted file mode 100644
index 5528829..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_minus.png b/interface/web/themes/default-304/icons/x16/mails_minus.png
deleted file mode 100644
index cb3ec83..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_pencil.png b/interface/web/themes/default-304/icons/x16/mails_pencil.png
deleted file mode 100644
index 63a8507..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_plus.png b/interface/web/themes/default-304/icons/x16/mails_plus.png
deleted file mode 100644
index a3f2802..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/mails_stack.png b/interface/web/themes/default-304/icons/x16/mails_stack.png
deleted file mode 100644
index d81d95d..0000000
--- a/interface/web/themes/default-304/icons/x16/mails_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player.png b/interface/web/themes/default-304/icons/x16/media_player.png
deleted file mode 100644
index b35317b..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player__arrow.png b/interface/web/themes/default-304/icons/x16/media_player__arrow.png
deleted file mode 100644
index cf012c8..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player__exclamation.png b/interface/web/themes/default-304/icons/x16/media_player__exclamation.png
deleted file mode 100644
index 08e2647..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player__minus.png b/interface/web/themes/default-304/icons/x16/media_player__minus.png
deleted file mode 100644
index 8fc1828..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player__pencil.png b/interface/web/themes/default-304/icons/x16/media_player__pencil.png
deleted file mode 100644
index 73441b4..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player__plus.png b/interface/web/themes/default-304/icons/x16/media_player__plus.png
deleted file mode 100644
index ba11ab7..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_black.png b/interface/web/themes/default-304/icons/x16/media_player_black.png
deleted file mode 100644
index 4e7d718..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium.png b/interface/web/themes/default-304/icons/x16/media_player_medium.png
deleted file mode 100644
index ddabbf5..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_black.png b/interface/web/themes/default-304/icons/x16/media_player_medium_black.png
deleted file mode 100644
index 7fbe8d6..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium_black.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_blue.png b/interface/web/themes/default-304/icons/x16/media_player_medium_blue.png
deleted file mode 100644
index 1edce97..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_green.png b/interface/web/themes/default-304/icons/x16/media_player_medium_green.png
deleted file mode 100644
index 38d6be4..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_pink.png b/interface/web/themes/default-304/icons/x16/media_player_medium_pink.png
deleted file mode 100644
index ceee74a..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium_pink.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_medium_red.png b/interface/web/themes/default-304/icons/x16/media_player_medium_red.png
deleted file mode 100644
index ebc1483..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_medium_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_small.png b/interface/web/themes/default-304/icons/x16/media_player_small.png
deleted file mode 100644
index f976ff5..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_blue.png b/interface/web/themes/default-304/icons/x16/media_player_small_blue.png
deleted file mode 100644
index fe169fb..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_small_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_green.png b/interface/web/themes/default-304/icons/x16/media_player_small_green.png
deleted file mode 100644
index 496cf0c..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_small_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_purple.png b/interface/web/themes/default-304/icons/x16/media_player_small_purple.png
deleted file mode 100644
index cd2ceb6..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_small_purple.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_player_small_red.png b/interface/web/themes/default-304/icons/x16/media_player_small_red.png
deleted file mode 100644
index 9b31593..0000000
--- a/interface/web/themes/default-304/icons/x16/media_player_small_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players.png b/interface/web/themes/default-304/icons/x16/media_players.png
deleted file mode 100644
index b7d7f6c..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players_arrow.png b/interface/web/themes/default-304/icons/x16/media_players_arrow.png
deleted file mode 100644
index 33b6854..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players_exclamation.png b/interface/web/themes/default-304/icons/x16/media_players_exclamation.png
deleted file mode 100644
index 7ae760b..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players_minus.png b/interface/web/themes/default-304/icons/x16/media_players_minus.png
deleted file mode 100644
index 1b266f2..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players_pencil.png b/interface/web/themes/default-304/icons/x16/media_players_pencil.png
deleted file mode 100644
index bad68cd..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/media_players_plus.png b/interface/web/themes/default-304/icons/x16/media_players_plus.png
deleted file mode 100644
index e29e49d..0000000
--- a/interface/web/themes/default-304/icons/x16/media_players_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone.png b/interface/web/themes/default-304/icons/x16/microphone.png
deleted file mode 100644
index 5817a1c..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone_arrow.png b/interface/web/themes/default-304/icons/x16/microphone_arrow.png
deleted file mode 100644
index 3a7c897..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone_exclamation.png b/interface/web/themes/default-304/icons/x16/microphone_exclamation.png
deleted file mode 100644
index 3e41bd4..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone_minus.png b/interface/web/themes/default-304/icons/x16/microphone_minus.png
deleted file mode 100644
index 17f3639..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone_pencil.png b/interface/web/themes/default-304/icons/x16/microphone_pencil.png
deleted file mode 100644
index aa41af6..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/microphone_plus.png b/interface/web/themes/default-304/icons/x16/microphone_plus.png
deleted file mode 100644
index b5776f4..0000000
--- a/interface/web/themes/default-304/icons/x16/microphone_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus.png b/interface/web/themes/default-304/icons/x16/minus.png
deleted file mode 100644
index d59994c..0000000
--- a/interface/web/themes/default-304/icons/x16/minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus_circle.png b/interface/web/themes/default-304/icons/x16/minus_circle.png
deleted file mode 100644
index e0d3938..0000000
--- a/interface/web/themes/default-304/icons/x16/minus_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus_circle_frame.png b/interface/web/themes/default-304/icons/x16/minus_circle_frame.png
deleted file mode 100644
index 8b1654a..0000000
--- a/interface/web/themes/default-304/icons/x16/minus_circle_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus_shield.png b/interface/web/themes/default-304/icons/x16/minus_shield.png
deleted file mode 100644
index f5da92a..0000000
--- a/interface/web/themes/default-304/icons/x16/minus_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus_small.png b/interface/web/themes/default-304/icons/x16/minus_small.png
deleted file mode 100644
index 6ec9487..0000000
--- a/interface/web/themes/default-304/icons/x16/minus_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/minus_small_circle.png b/interface/web/themes/default-304/icons/x16/minus_small_circle.png
deleted file mode 100644
index 30b6e27..0000000
--- a/interface/web/themes/default-304/icons/x16/minus_small_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music.png b/interface/web/themes/default-304/icons/x16/music.png
deleted file mode 100644
index a78df8c..0000000
--- a/interface/web/themes/default-304/icons/x16/music.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_arrow.png b/interface/web/themes/default-304/icons/x16/music_arrow.png
deleted file mode 100644
index 1215fd2..0000000
--- a/interface/web/themes/default-304/icons/x16/music_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_exclamation.png b/interface/web/themes/default-304/icons/x16/music_exclamation.png
deleted file mode 100644
index 6804884..0000000
--- a/interface/web/themes/default-304/icons/x16/music_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_minus.png b/interface/web/themes/default-304/icons/x16/music_minus.png
deleted file mode 100644
index 284b165..0000000
--- a/interface/web/themes/default-304/icons/x16/music_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_pencil.png b/interface/web/themes/default-304/icons/x16/music_pencil.png
deleted file mode 100644
index a6b6030..0000000
--- a/interface/web/themes/default-304/icons/x16/music_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_plus.png b/interface/web/themes/default-304/icons/x16/music_plus.png
deleted file mode 100644
index 69ca7cb..0000000
--- a/interface/web/themes/default-304/icons/x16/music_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/music_small.png b/interface/web/themes/default-304/icons/x16/music_small.png
deleted file mode 100644
index 54c1417..0000000
--- a/interface/web/themes/default-304/icons/x16/music_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper.png b/interface/web/themes/default-304/icons/x16/newspaper.png
deleted file mode 100644
index a6e3bf8..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper_arrow.png b/interface/web/themes/default-304/icons/x16/newspaper_arrow.png
deleted file mode 100644
index eac7fce..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper_exclamation.png b/interface/web/themes/default-304/icons/x16/newspaper_exclamation.png
deleted file mode 100644
index 04a39d4..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper_minus.png b/interface/web/themes/default-304/icons/x16/newspaper_minus.png
deleted file mode 100644
index 6606c01..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper_pencil.png b/interface/web/themes/default-304/icons/x16/newspaper_pencil.png
deleted file mode 100644
index 3d1813a..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspaper_plus.png b/interface/web/themes/default-304/icons/x16/newspaper_plus.png
deleted file mode 100644
index 5a53ada..0000000
--- a/interface/web/themes/default-304/icons/x16/newspaper_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers.png b/interface/web/themes/default-304/icons/x16/newspapers.png
deleted file mode 100644
index ffa56e5..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers_arrow.png b/interface/web/themes/default-304/icons/x16/newspapers_arrow.png
deleted file mode 100644
index 132635e..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers_exclamation.png b/interface/web/themes/default-304/icons/x16/newspapers_exclamation.png
deleted file mode 100644
index 9a09215..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers_minus.png b/interface/web/themes/default-304/icons/x16/newspapers_minus.png
deleted file mode 100644
index 983a415..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers_pencil.png b/interface/web/themes/default-304/icons/x16/newspapers_pencil.png
deleted file mode 100644
index c950ade..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/newspapers_plus.png b/interface/web/themes/default-304/icons/x16/newspapers_plus.png
deleted file mode 100644
index 5f5747b..0000000
--- a/interface/web/themes/default-304/icons/x16/newspapers_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook.png b/interface/web/themes/default-304/icons/x16/notebook.png
deleted file mode 100644
index 1d5e4e1..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook_arrow.png b/interface/web/themes/default-304/icons/x16/notebook_arrow.png
deleted file mode 100644
index 45174b9..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook_exclamation.png b/interface/web/themes/default-304/icons/x16/notebook_exclamation.png
deleted file mode 100644
index 4ddb745..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook_minus.png b/interface/web/themes/default-304/icons/x16/notebook_minus.png
deleted file mode 100644
index 208b707..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook_pencil.png b/interface/web/themes/default-304/icons/x16/notebook_pencil.png
deleted file mode 100644
index 207c1f0..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebook_plus.png b/interface/web/themes/default-304/icons/x16/notebook_plus.png
deleted file mode 100644
index 1fed83b..0000000
--- a/interface/web/themes/default-304/icons/x16/notebook_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks.png b/interface/web/themes/default-304/icons/x16/notebooks.png
deleted file mode 100644
index 0d37967..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks_arrow.png b/interface/web/themes/default-304/icons/x16/notebooks_arrow.png
deleted file mode 100644
index 92f9804..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks_exclamation.png b/interface/web/themes/default-304/icons/x16/notebooks_exclamation.png
deleted file mode 100644
index 3cafa5e..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks_minus.png b/interface/web/themes/default-304/icons/x16/notebooks_minus.png
deleted file mode 100644
index ec879ca..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks_pencil.png b/interface/web/themes/default-304/icons/x16/notebooks_pencil.png
deleted file mode 100644
index 69cedaf..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/notebooks_plus.png b/interface/web/themes/default-304/icons/x16/notebooks_plus.png
deleted file mode 100644
index 70cb2f4..0000000
--- a/interface/web/themes/default-304/icons/x16/notebooks_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can.png b/interface/web/themes/default-304/icons/x16/paint_can.png
deleted file mode 100644
index ac2c4a3..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can_arrow.png b/interface/web/themes/default-304/icons/x16/paint_can_arrow.png
deleted file mode 100644
index e2dc31c..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can_exclamation.png b/interface/web/themes/default-304/icons/x16/paint_can_exclamation.png
deleted file mode 100644
index 51516bf..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can_minus.png b/interface/web/themes/default-304/icons/x16/paint_can_minus.png
deleted file mode 100644
index 90edf3f..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can_pencil.png b/interface/web/themes/default-304/icons/x16/paint_can_pencil.png
deleted file mode 100644
index 536f926..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paint_can_plus.png b/interface/web/themes/default-304/icons/x16/paint_can_plus.png
deleted file mode 100644
index e526648..0000000
--- a/interface/web/themes/default-304/icons/x16/paint_can_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette.png b/interface/web/themes/default-304/icons/x16/palette.png
deleted file mode 100644
index c9d7964..0000000
--- a/interface/web/themes/default-304/icons/x16/palette.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette_arrow.png b/interface/web/themes/default-304/icons/x16/palette_arrow.png
deleted file mode 100644
index 4a96f6c..0000000
--- a/interface/web/themes/default-304/icons/x16/palette_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette_exclamation.png b/interface/web/themes/default-304/icons/x16/palette_exclamation.png
deleted file mode 100644
index 8cc0d6a..0000000
--- a/interface/web/themes/default-304/icons/x16/palette_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette_minus.png b/interface/web/themes/default-304/icons/x16/palette_minus.png
deleted file mode 100644
index 2d6efca..0000000
--- a/interface/web/themes/default-304/icons/x16/palette_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette_pencil.png b/interface/web/themes/default-304/icons/x16/palette_pencil.png
deleted file mode 100644
index ee11bf4..0000000
--- a/interface/web/themes/default-304/icons/x16/palette_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/palette_plus.png b/interface/web/themes/default-304/icons/x16/palette_plus.png
deleted file mode 100644
index d0032fc..0000000
--- a/interface/web/themes/default-304/icons/x16/palette_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag.png b/interface/web/themes/default-304/icons/x16/paper_bag.png
deleted file mode 100644
index 2d6de20..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_arrow.png b/interface/web/themes/default-304/icons/x16/paper_bag_arrow.png
deleted file mode 100644
index 5f51358..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png b/interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png
deleted file mode 100644
index fc1836d..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_minus.png b/interface/web/themes/default-304/icons/x16/paper_bag_minus.png
deleted file mode 100644
index fa334ae..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_pencil.png b/interface/web/themes/default-304/icons/x16/paper_bag_pencil.png
deleted file mode 100644
index 9a9648b..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/paper_bag_plus.png b/interface/web/themes/default-304/icons/x16/paper_bag_plus.png
deleted file mode 100644
index 176033e..0000000
--- a/interface/web/themes/default-304/icons/x16/paper_bag_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pdf.png b/interface/web/themes/default-304/icons/x16/pdf.png
deleted file mode 100644
index 691c393..0000000
--- a/interface/web/themes/default-304/icons/x16/pdf.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil.png b/interface/web/themes/default-304/icons/x16/pencil.png
deleted file mode 100644
index 6981027..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil_arrow.png b/interface/web/themes/default-304/icons/x16/pencil_arrow.png
deleted file mode 100644
index 91efbde..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil_exclamation.png b/interface/web/themes/default-304/icons/x16/pencil_exclamation.png
deleted file mode 100644
index 64c53af..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil_minus.png b/interface/web/themes/default-304/icons/x16/pencil_minus.png
deleted file mode 100644
index 0a827a2..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil_plus.png b/interface/web/themes/default-304/icons/x16/pencil_plus.png
deleted file mode 100644
index 9cc6e2d..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pencil_small.png b/interface/web/themes/default-304/icons/x16/pencil_small.png
deleted file mode 100644
index 921f23b..0000000
--- a/interface/web/themes/default-304/icons/x16/pencil_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album.png b/interface/web/themes/default-304/icons/x16/photo_album.png
deleted file mode 100644
index 27747ad..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album__arrow.png b/interface/web/themes/default-304/icons/x16/photo_album__arrow.png
deleted file mode 100644
index a2572e8..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album__exclamation.png b/interface/web/themes/default-304/icons/x16/photo_album__exclamation.png
deleted file mode 100644
index b5e6356..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album__minus.png b/interface/web/themes/default-304/icons/x16/photo_album__minus.png
deleted file mode 100644
index f2af67d..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album__pencil.png b/interface/web/themes/default-304/icons/x16/photo_album__pencil.png
deleted file mode 100644
index 6be3f7b..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album__plus.png b/interface/web/themes/default-304/icons/x16/photo_album__plus.png
deleted file mode 100644
index 09d29a3..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/photo_album_blue.png b/interface/web/themes/default-304/icons/x16/photo_album_blue.png
deleted file mode 100644
index 5684ecb..0000000
--- a/interface/web/themes/default-304/icons/x16/photo_album_blue.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano.png b/interface/web/themes/default-304/icons/x16/piano.png
deleted file mode 100644
index 0615786..0000000
--- a/interface/web/themes/default-304/icons/x16/piano.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano_arrow.png b/interface/web/themes/default-304/icons/x16/piano_arrow.png
deleted file mode 100644
index 337f72b..0000000
--- a/interface/web/themes/default-304/icons/x16/piano_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano_exclamation.png b/interface/web/themes/default-304/icons/x16/piano_exclamation.png
deleted file mode 100644
index 108cef2..0000000
--- a/interface/web/themes/default-304/icons/x16/piano_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano_minus.png b/interface/web/themes/default-304/icons/x16/piano_minus.png
deleted file mode 100644
index 091520c..0000000
--- a/interface/web/themes/default-304/icons/x16/piano_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano_pencil.png b/interface/web/themes/default-304/icons/x16/piano_pencil.png
deleted file mode 100644
index 0f1de2b..0000000
--- a/interface/web/themes/default-304/icons/x16/piano_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/piano_plus.png b/interface/web/themes/default-304/icons/x16/piano_plus.png
deleted file mode 100644
index 26a5144..0000000
--- a/interface/web/themes/default-304/icons/x16/piano_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture.png b/interface/web/themes/default-304/icons/x16/picture.png
deleted file mode 100644
index d1ddcc6..0000000
--- a/interface/web/themes/default-304/icons/x16/picture.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_arrow.png b/interface/web/themes/default-304/icons/x16/picture_arrow.png
deleted file mode 100644
index d50d357..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_exclamation.png b/interface/web/themes/default-304/icons/x16/picture_exclamation.png
deleted file mode 100644
index e4e5ff1..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_minus.png b/interface/web/themes/default-304/icons/x16/picture_minus.png
deleted file mode 100644
index b937caf..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_pencil.png b/interface/web/themes/default-304/icons/x16/picture_pencil.png
deleted file mode 100644
index 25fb9f7..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_plus.png b/interface/web/themes/default-304/icons/x16/picture_plus.png
deleted file mode 100644
index 1b10f92..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_small.png b/interface/web/themes/default-304/icons/x16/picture_small.png
deleted file mode 100644
index c25fa6f..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_small_sunset.png b/interface/web/themes/default-304/icons/x16/picture_small_sunset.png
deleted file mode 100644
index 5a35685..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_small_sunset.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/picture_sunset.png b/interface/web/themes/default-304/icons/x16/picture_sunset.png
deleted file mode 100644
index 0d59a8d..0000000
--- a/interface/web/themes/default-304/icons/x16/picture_sunset.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures.png b/interface/web/themes/default-304/icons/x16/pictures.png
deleted file mode 100644
index d2401b5..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures_arrow.png b/interface/web/themes/default-304/icons/x16/pictures_arrow.png
deleted file mode 100644
index eb64124..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures_exclamation.png b/interface/web/themes/default-304/icons/x16/pictures_exclamation.png
deleted file mode 100644
index 1a06f01..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures_minus.png b/interface/web/themes/default-304/icons/x16/pictures_minus.png
deleted file mode 100644
index 6f1e1ce..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures_pencil.png b/interface/web/themes/default-304/icons/x16/pictures_pencil.png
deleted file mode 100644
index 86ef9e0..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pictures_plus.png b/interface/web/themes/default-304/icons/x16/pictures_plus.png
deleted file mode 100644
index 636f3e5..0000000
--- a/interface/web/themes/default-304/icons/x16/pictures_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill.png b/interface/web/themes/default-304/icons/x16/pill.png
deleted file mode 100644
index 442e4ed..0000000
--- a/interface/web/themes/default-304/icons/x16/pill.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_arrow.png b/interface/web/themes/default-304/icons/x16/pill_arrow.png
deleted file mode 100644
index a5990fa..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_exclamation.png b/interface/web/themes/default-304/icons/x16/pill_exclamation.png
deleted file mode 100644
index 07a2af5..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_minus.png b/interface/web/themes/default-304/icons/x16/pill_minus.png
deleted file mode 100644
index 8d31ac2..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_pencil.png b/interface/web/themes/default-304/icons/x16/pill_pencil.png
deleted file mode 100644
index 90d40a8..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_plus.png b/interface/web/themes/default-304/icons/x16/pill_plus.png
deleted file mode 100644
index b206fb5..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pill_small.png b/interface/web/themes/default-304/icons/x16/pill_small.png
deleted file mode 100644
index 0b355ce..0000000
--- a/interface/web/themes/default-304/icons/x16/pill_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin.png b/interface/web/themes/default-304/icons/x16/pin.png
deleted file mode 100644
index d8762f4..0000000
--- a/interface/web/themes/default-304/icons/x16/pin.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin_arrow.png b/interface/web/themes/default-304/icons/x16/pin_arrow.png
deleted file mode 100644
index 02034d6..0000000
--- a/interface/web/themes/default-304/icons/x16/pin_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin_exclamation.png b/interface/web/themes/default-304/icons/x16/pin_exclamation.png
deleted file mode 100644
index e342d01..0000000
--- a/interface/web/themes/default-304/icons/x16/pin_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin_minus.png b/interface/web/themes/default-304/icons/x16/pin_minus.png
deleted file mode 100644
index 19a7dc0..0000000
--- a/interface/web/themes/default-304/icons/x16/pin_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin_pencil.png b/interface/web/themes/default-304/icons/x16/pin_pencil.png
deleted file mode 100644
index d546420..0000000
--- a/interface/web/themes/default-304/icons/x16/pin_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pin_plus.png b/interface/web/themes/default-304/icons/x16/pin_plus.png
deleted file mode 100644
index db50e1c..0000000
--- a/interface/web/themes/default-304/icons/x16/pin_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette.png b/interface/web/themes/default-304/icons/x16/pipette.png
deleted file mode 100644
index 4e52abe..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette_arrow.png b/interface/web/themes/default-304/icons/x16/pipette_arrow.png
deleted file mode 100644
index 615188b..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette_exclamation.png b/interface/web/themes/default-304/icons/x16/pipette_exclamation.png
deleted file mode 100644
index 63443d3..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette_minus.png b/interface/web/themes/default-304/icons/x16/pipette_minus.png
deleted file mode 100644
index 4e239e4..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette_pencil.png b/interface/web/themes/default-304/icons/x16/pipette_pencil.png
deleted file mode 100644
index 066d012..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/pipette_plus.png b/interface/web/themes/default-304/icons/x16/pipette_plus.png
deleted file mode 100644
index 058e6d9..0000000
--- a/interface/web/themes/default-304/icons/x16/pipette_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card.png b/interface/web/themes/default-304/icons/x16/playing_card.png
deleted file mode 100644
index 15094fa..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card_arrow.png b/interface/web/themes/default-304/icons/x16/playing_card_arrow.png
deleted file mode 100644
index 95884de..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card_exclamation.png b/interface/web/themes/default-304/icons/x16/playing_card_exclamation.png
deleted file mode 100644
index a5c648f..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card_minus.png b/interface/web/themes/default-304/icons/x16/playing_card_minus.png
deleted file mode 100644
index 5c1e50e..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card_pencil.png b/interface/web/themes/default-304/icons/x16/playing_card_pencil.png
deleted file mode 100644
index 6c0364d..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/playing_card_plus.png b/interface/web/themes/default-304/icons/x16/playing_card_plus.png
deleted file mode 100644
index 800aa72..0000000
--- a/interface/web/themes/default-304/icons/x16/playing_card_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug.png b/interface/web/themes/default-304/icons/x16/plug.png
deleted file mode 100644
index cbc85ac..0000000
--- a/interface/web/themes/default-304/icons/x16/plug.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug_arrow.png b/interface/web/themes/default-304/icons/x16/plug_arrow.png
deleted file mode 100644
index 347bfc6..0000000
--- a/interface/web/themes/default-304/icons/x16/plug_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug_exclamation.png b/interface/web/themes/default-304/icons/x16/plug_exclamation.png
deleted file mode 100644
index ee67f1d..0000000
--- a/interface/web/themes/default-304/icons/x16/plug_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug_minus.png b/interface/web/themes/default-304/icons/x16/plug_minus.png
deleted file mode 100644
index b386945..0000000
--- a/interface/web/themes/default-304/icons/x16/plug_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug_pencil.png b/interface/web/themes/default-304/icons/x16/plug_pencil.png
deleted file mode 100644
index 378e201..0000000
--- a/interface/web/themes/default-304/icons/x16/plug_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plug_plus.png b/interface/web/themes/default-304/icons/x16/plug_plus.png
deleted file mode 100644
index d541cb6..0000000
--- a/interface/web/themes/default-304/icons/x16/plug_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus.png b/interface/web/themes/default-304/icons/x16/plus.png
deleted file mode 100644
index 2fe36a1..0000000
--- a/interface/web/themes/default-304/icons/x16/plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus_circle.png b/interface/web/themes/default-304/icons/x16/plus_circle.png
deleted file mode 100644
index 21d5f83..0000000
--- a/interface/web/themes/default-304/icons/x16/plus_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus_circle_frame.png b/interface/web/themes/default-304/icons/x16/plus_circle_frame.png
deleted file mode 100644
index 288625a..0000000
--- a/interface/web/themes/default-304/icons/x16/plus_circle_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus_shield.png b/interface/web/themes/default-304/icons/x16/plus_shield.png
deleted file mode 100644
index f703e92..0000000
--- a/interface/web/themes/default-304/icons/x16/plus_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus_small.png b/interface/web/themes/default-304/icons/x16/plus_small.png
deleted file mode 100644
index da116dc..0000000
--- a/interface/web/themes/default-304/icons/x16/plus_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/plus_small_circle.png b/interface/web/themes/default-304/icons/x16/plus_small_circle.png
deleted file mode 100644
index bcf7272..0000000
--- a/interface/web/themes/default-304/icons/x16/plus_small_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer.png b/interface/web/themes/default-304/icons/x16/printer.png
deleted file mode 100644
index da4d0ec..0000000
--- a/interface/web/themes/default-304/icons/x16/printer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer__arrow.png b/interface/web/themes/default-304/icons/x16/printer__arrow.png
deleted file mode 100644
index 7c9e8ea..0000000
--- a/interface/web/themes/default-304/icons/x16/printer__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer__exclamation.png b/interface/web/themes/default-304/icons/x16/printer__exclamation.png
deleted file mode 100644
index 8b5cc29..0000000
--- a/interface/web/themes/default-304/icons/x16/printer__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer__minus.png b/interface/web/themes/default-304/icons/x16/printer__minus.png
deleted file mode 100644
index af5d449..0000000
--- a/interface/web/themes/default-304/icons/x16/printer__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer__pencil.png b/interface/web/themes/default-304/icons/x16/printer__pencil.png
deleted file mode 100644
index b1a382a..0000000
--- a/interface/web/themes/default-304/icons/x16/printer__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer__plus.png b/interface/web/themes/default-304/icons/x16/printer__plus.png
deleted file mode 100644
index 4608a84..0000000
--- a/interface/web/themes/default-304/icons/x16/printer__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer_empty.png b/interface/web/themes/default-304/icons/x16/printer_empty.png
deleted file mode 100644
index f1a0095..0000000
--- a/interface/web/themes/default-304/icons/x16/printer_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/printer_small.png b/interface/web/themes/default-304/icons/x16/printer_small.png
deleted file mode 100644
index 3f0a1a2..0000000
--- a/interface/web/themes/default-304/icons/x16/printer_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle.png b/interface/web/themes/default-304/icons/x16/puzzle.png
deleted file mode 100644
index 8c23fe1..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle__arrow.png b/interface/web/themes/default-304/icons/x16/puzzle__arrow.png
deleted file mode 100644
index 2e6fe76..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle__exclamation.png b/interface/web/themes/default-304/icons/x16/puzzle__exclamation.png
deleted file mode 100644
index f6de645..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle__minus.png b/interface/web/themes/default-304/icons/x16/puzzle__minus.png
deleted file mode 100644
index 07d7752..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle__pencil.png b/interface/web/themes/default-304/icons/x16/puzzle__pencil.png
deleted file mode 100644
index 19aa952..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle__plus.png b/interface/web/themes/default-304/icons/x16/puzzle__plus.png
deleted file mode 100644
index 8bf14ae..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/puzzle_disable.png b/interface/web/themes/default-304/icons/x16/puzzle_disable.png
deleted file mode 100644
index d39db2e..0000000
--- a/interface/web/themes/default-304/icons/x16/puzzle_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/question.png b/interface/web/themes/default-304/icons/x16/question.png
deleted file mode 100644
index 2a55b01..0000000
--- a/interface/web/themes/default-304/icons/x16/question.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/question_frame.png b/interface/web/themes/default-304/icons/x16/question_frame.png
deleted file mode 100644
index d15b7ec..0000000
--- a/interface/web/themes/default-304/icons/x16/question_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/question_shield.png b/interface/web/themes/default-304/icons/x16/question_shield.png
deleted file mode 100644
index 71f274c..0000000
--- a/interface/web/themes/default-304/icons/x16/question_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/question_small.png b/interface/web/themes/default-304/icons/x16/question_small.png
deleted file mode 100644
index dbb8aa5..0000000
--- a/interface/web/themes/default-304/icons/x16/question_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt.png b/interface/web/themes/default-304/icons/x16/receipt.png
deleted file mode 100644
index 5c628d7..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_arrow.png b/interface/web/themes/default-304/icons/x16/receipt_arrow.png
deleted file mode 100644
index d165747..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_exclamation.png b/interface/web/themes/default-304/icons/x16/receipt_exclamation.png
deleted file mode 100644
index c96861c..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_minus.png b/interface/web/themes/default-304/icons/x16/receipt_minus.png
deleted file mode 100644
index 7d8f20f..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_pencil.png b/interface/web/themes/default-304/icons/x16/receipt_pencil.png
deleted file mode 100644
index af6dde0..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_plus.png b/interface/web/themes/default-304/icons/x16/receipt_plus.png
deleted file mode 100644
index a3a0912..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_shred.png b/interface/web/themes/default-304/icons/x16/receipt_shred.png
deleted file mode 100644
index 2e3c8f1..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_shred.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipt_text.png b/interface/web/themes/default-304/icons/x16/receipt_text.png
deleted file mode 100644
index 0d33918..0000000
--- a/interface/web/themes/default-304/icons/x16/receipt_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts.png b/interface/web/themes/default-304/icons/x16/receipts.png
deleted file mode 100644
index 5c72af5..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_arrow.png b/interface/web/themes/default-304/icons/x16/receipts_arrow.png
deleted file mode 100644
index f253443..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_exclamation.png b/interface/web/themes/default-304/icons/x16/receipts_exclamation.png
deleted file mode 100644
index 10da4a9..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_minus.png b/interface/web/themes/default-304/icons/x16/receipts_minus.png
deleted file mode 100644
index d343b4a..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_pencil.png b/interface/web/themes/default-304/icons/x16/receipts_pencil.png
deleted file mode 100644
index c4bb367..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_plus.png b/interface/web/themes/default-304/icons/x16/receipts_plus.png
deleted file mode 100644
index 662ae04..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/receipts_text.png b/interface/web/themes/default-304/icons/x16/receipts_text.png
deleted file mode 100644
index 6e395e3..0000000
--- a/interface/web/themes/default-304/icons/x16/receipts_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report.png b/interface/web/themes/default-304/icons/x16/report.png
deleted file mode 100644
index d618d9f..0000000
--- a/interface/web/themes/default-304/icons/x16/report.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report_arrow.png b/interface/web/themes/default-304/icons/x16/report_arrow.png
deleted file mode 100644
index 340dbb4..0000000
--- a/interface/web/themes/default-304/icons/x16/report_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report_exclamation.png b/interface/web/themes/default-304/icons/x16/report_exclamation.png
deleted file mode 100644
index 9835938..0000000
--- a/interface/web/themes/default-304/icons/x16/report_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report_minus.png b/interface/web/themes/default-304/icons/x16/report_minus.png
deleted file mode 100644
index 3e168b3..0000000
--- a/interface/web/themes/default-304/icons/x16/report_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report_pencil.png b/interface/web/themes/default-304/icons/x16/report_pencil.png
deleted file mode 100644
index 8473dbe..0000000
--- a/interface/web/themes/default-304/icons/x16/report_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/report_plus.png b/interface/web/themes/default-304/icons/x16/report_plus.png
deleted file mode 100644
index 49b9995..0000000
--- a/interface/web/themes/default-304/icons/x16/report_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler.png b/interface/web/themes/default-304/icons/x16/ruler.png
deleted file mode 100644
index 806c3d0..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler__arrow.png b/interface/web/themes/default-304/icons/x16/ruler__arrow.png
deleted file mode 100644
index 4460461..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler__exclamation.png b/interface/web/themes/default-304/icons/x16/ruler__exclamation.png
deleted file mode 100644
index df09b53..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler__minus.png b/interface/web/themes/default-304/icons/x16/ruler__minus.png
deleted file mode 100644
index f9d6ce8..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler__pencil.png b/interface/web/themes/default-304/icons/x16/ruler__pencil.png
deleted file mode 100644
index 0cec26b..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler__plus.png b/interface/web/themes/default-304/icons/x16/ruler__plus.png
deleted file mode 100644
index 0dabd9c..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ruler_crop.png b/interface/web/themes/default-304/icons/x16/ruler_crop.png
deleted file mode 100644
index 931fec6..0000000
--- a/interface/web/themes/default-304/icons/x16/ruler_crop.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe.png b/interface/web/themes/default-304/icons/x16/safe.png
deleted file mode 100644
index fa15852..0000000
--- a/interface/web/themes/default-304/icons/x16/safe.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe_arrow.png b/interface/web/themes/default-304/icons/x16/safe_arrow.png
deleted file mode 100644
index b9dd1b5..0000000
--- a/interface/web/themes/default-304/icons/x16/safe_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe_exclamation.png b/interface/web/themes/default-304/icons/x16/safe_exclamation.png
deleted file mode 100644
index dda4b8a..0000000
--- a/interface/web/themes/default-304/icons/x16/safe_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe_minus.png b/interface/web/themes/default-304/icons/x16/safe_minus.png
deleted file mode 100644
index 5d3f4b7..0000000
--- a/interface/web/themes/default-304/icons/x16/safe_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe_pencil.png b/interface/web/themes/default-304/icons/x16/safe_pencil.png
deleted file mode 100644
index 45eeb42..0000000
--- a/interface/web/themes/default-304/icons/x16/safe_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/safe_plus.png b/interface/web/themes/default-304/icons/x16/safe_plus.png
deleted file mode 100644
index 6721431..0000000
--- a/interface/web/themes/default-304/icons/x16/safe_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver.png b/interface/web/themes/default-304/icons/x16/screwdriver.png
deleted file mode 100644
index ad69f58..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_arrow.png b/interface/web/themes/default-304/icons/x16/screwdriver_arrow.png
deleted file mode 100644
index 6c53748..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png b/interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png
deleted file mode 100644
index d35224a..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_minus.png b/interface/web/themes/default-304/icons/x16/screwdriver_minus.png
deleted file mode 100644
index e9b780d..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_pencil.png b/interface/web/themes/default-304/icons/x16/screwdriver_pencil.png
deleted file mode 100644
index c745d7c..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/screwdriver_plus.png b/interface/web/themes/default-304/icons/x16/screwdriver_plus.png
deleted file mode 100644
index d8fbbae..0000000
--- a/interface/web/themes/default-304/icons/x16/screwdriver_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script.png b/interface/web/themes/default-304/icons/x16/script.png
deleted file mode 100644
index 672c3c9..0000000
--- a/interface/web/themes/default-304/icons/x16/script.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script__arrow.png b/interface/web/themes/default-304/icons/x16/script__arrow.png
deleted file mode 100644
index 462eeec..0000000
--- a/interface/web/themes/default-304/icons/x16/script__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script__exclamation.png b/interface/web/themes/default-304/icons/x16/script__exclamation.png
deleted file mode 100644
index 5296a60..0000000
--- a/interface/web/themes/default-304/icons/x16/script__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script__minus.png b/interface/web/themes/default-304/icons/x16/script__minus.png
deleted file mode 100644
index 126ecff..0000000
--- a/interface/web/themes/default-304/icons/x16/script__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script__pencil.png b/interface/web/themes/default-304/icons/x16/script__pencil.png
deleted file mode 100644
index dfc36a7..0000000
--- a/interface/web/themes/default-304/icons/x16/script__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script__plus.png b/interface/web/themes/default-304/icons/x16/script__plus.png
deleted file mode 100644
index e6a4934..0000000
--- a/interface/web/themes/default-304/icons/x16/script__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/script_code.png b/interface/web/themes/default-304/icons/x16/script_code.png
deleted file mode 100644
index 04cb701..0000000
--- a/interface/web/themes/default-304/icons/x16/script_code.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts.png b/interface/web/themes/default-304/icons/x16/scripts.png
deleted file mode 100644
index c36414f..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts__arrow.png b/interface/web/themes/default-304/icons/x16/scripts__arrow.png
deleted file mode 100644
index 9adba7a..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts__exclamation.png b/interface/web/themes/default-304/icons/x16/scripts__exclamation.png
deleted file mode 100644
index dec43e2..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts__minus.png b/interface/web/themes/default-304/icons/x16/scripts__minus.png
deleted file mode 100644
index 7cc3666..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts__pencil.png b/interface/web/themes/default-304/icons/x16/scripts__pencil.png
deleted file mode 100644
index 616d555..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts__plus.png b/interface/web/themes/default-304/icons/x16/scripts__plus.png
deleted file mode 100644
index 00bde07..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/scripts_code.png b/interface/web/themes/default-304/icons/x16/scripts_code.png
deleted file mode 100644
index 15123f5..0000000
--- a/interface/web/themes/default-304/icons/x16/scripts_code.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield.png b/interface/web/themes/default-304/icons/x16/shield.png
deleted file mode 100644
index 085880b..0000000
--- a/interface/web/themes/default-304/icons/x16/shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield__arrow.png b/interface/web/themes/default-304/icons/x16/shield__arrow.png
deleted file mode 100644
index 9b6457e..0000000
--- a/interface/web/themes/default-304/icons/x16/shield__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield__exclamation.png b/interface/web/themes/default-304/icons/x16/shield__exclamation.png
deleted file mode 100644
index 704f4ae..0000000
--- a/interface/web/themes/default-304/icons/x16/shield__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield__minus.png b/interface/web/themes/default-304/icons/x16/shield__minus.png
deleted file mode 100644
index 3c0d04a..0000000
--- a/interface/web/themes/default-304/icons/x16/shield__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield__pencil.png b/interface/web/themes/default-304/icons/x16/shield__pencil.png
deleted file mode 100644
index c717e4d..0000000
--- a/interface/web/themes/default-304/icons/x16/shield__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield__plus.png b/interface/web/themes/default-304/icons/x16/shield__plus.png
deleted file mode 100644
index 5ea1cb9..0000000
--- a/interface/web/themes/default-304/icons/x16/shield__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/shield_disable.png b/interface/web/themes/default-304/icons/x16/shield_disable.png
deleted file mode 100644
index d2dc3c5..0000000
--- a/interface/web/themes/default-304/icons/x16/shield_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/slash.png b/interface/web/themes/default-304/icons/x16/slash.png
deleted file mode 100644
index f941cff..0000000
--- a/interface/web/themes/default-304/icons/x16/slash.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/slash_small.png b/interface/web/themes/default-304/icons/x16/slash_small.png
deleted file mode 100644
index c1259eb..0000000
--- a/interface/web/themes/default-304/icons/x16/slash_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket.png b/interface/web/themes/default-304/icons/x16/socket.png
deleted file mode 100644
index 640f225..0000000
--- a/interface/web/themes/default-304/icons/x16/socket.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket_arrow.png b/interface/web/themes/default-304/icons/x16/socket_arrow.png
deleted file mode 100644
index 671342c..0000000
--- a/interface/web/themes/default-304/icons/x16/socket_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket_exclamation.png b/interface/web/themes/default-304/icons/x16/socket_exclamation.png
deleted file mode 100644
index 8f01300..0000000
--- a/interface/web/themes/default-304/icons/x16/socket_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket_minus.png b/interface/web/themes/default-304/icons/x16/socket_minus.png
deleted file mode 100644
index 4dfeaaf..0000000
--- a/interface/web/themes/default-304/icons/x16/socket_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket_pencil.png b/interface/web/themes/default-304/icons/x16/socket_pencil.png
deleted file mode 100644
index e38a0d1..0000000
--- a/interface/web/themes/default-304/icons/x16/socket_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/socket_plus.png b/interface/web/themes/default-304/icons/x16/socket_plus.png
deleted file mode 100644
index 9854d70..0000000
--- a/interface/web/themes/default-304/icons/x16/socket_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort.png b/interface/web/themes/default-304/icons/x16/sort.png
deleted file mode 100644
index a3d410e..0000000
--- a/interface/web/themes/default-304/icons/x16/sort.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort__arrow.png b/interface/web/themes/default-304/icons/x16/sort__arrow.png
deleted file mode 100644
index 9aa43cb..0000000
--- a/interface/web/themes/default-304/icons/x16/sort__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort__exclamation.png b/interface/web/themes/default-304/icons/x16/sort__exclamation.png
deleted file mode 100644
index 9f7aa31..0000000
--- a/interface/web/themes/default-304/icons/x16/sort__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort__minus.png b/interface/web/themes/default-304/icons/x16/sort__minus.png
deleted file mode 100644
index 5cec832..0000000
--- a/interface/web/themes/default-304/icons/x16/sort__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort__pencil.png b/interface/web/themes/default-304/icons/x16/sort__pencil.png
deleted file mode 100644
index 1bc1fae..0000000
--- a/interface/web/themes/default-304/icons/x16/sort__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort__plus.png b/interface/web/themes/default-304/icons/x16/sort__plus.png
deleted file mode 100644
index d4e7fca..0000000
--- a/interface/web/themes/default-304/icons/x16/sort__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_alphabet.png b/interface/web/themes/default-304/icons/x16/sort_alphabet.png
deleted file mode 100644
index 92c4a9c..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_alphabet.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png b/interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png
deleted file mode 100644
index 8dca34c..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_alphabet_descending.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_date.png b/interface/web/themes/default-304/icons/x16/sort_date.png
deleted file mode 100644
index 21e367c..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_date.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_date_descending.png b/interface/web/themes/default-304/icons/x16/sort_date_descending.png
deleted file mode 100644
index 69217fa..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_date_descending.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_number.png b/interface/web/themes/default-304/icons/x16/sort_number.png
deleted file mode 100644
index dce9aad..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_number.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_number_descending.png b/interface/web/themes/default-304/icons/x16/sort_number_descending.png
deleted file mode 100644
index eadec7c..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_number_descending.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_quantity.png b/interface/web/themes/default-304/icons/x16/sort_quantity.png
deleted file mode 100644
index fb2c1e3..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_quantity.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_quantity_descending.png b/interface/web/themes/default-304/icons/x16/sort_quantity_descending.png
deleted file mode 100644
index abacec9..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_quantity_descending.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sort_small.png b/interface/web/themes/default-304/icons/x16/sort_small.png
deleted file mode 100644
index a5cf900..0000000
--- a/interface/web/themes/default-304/icons/x16/sort_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp.png b/interface/web/themes/default-304/icons/x16/stamp.png
deleted file mode 100644
index ca9475d..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp_arrow.png b/interface/web/themes/default-304/icons/x16/stamp_arrow.png
deleted file mode 100644
index 28e4940..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp_exclamation.png b/interface/web/themes/default-304/icons/x16/stamp_exclamation.png
deleted file mode 100644
index 6e6cf30..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp_minus.png b/interface/web/themes/default-304/icons/x16/stamp_minus.png
deleted file mode 100644
index 55582ff..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp_pencil.png b/interface/web/themes/default-304/icons/x16/stamp_pencil.png
deleted file mode 100644
index 2cd7319..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/stamp_plus.png b/interface/web/themes/default-304/icons/x16/stamp_plus.png
deleted file mode 100644
index c3de459..0000000
--- a/interface/web/themes/default-304/icons/x16/stamp_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star.png b/interface/web/themes/default-304/icons/x16/star.png
deleted file mode 100644
index a23dbdf..0000000
--- a/interface/web/themes/default-304/icons/x16/star.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star__arrow.png b/interface/web/themes/default-304/icons/x16/star__arrow.png
deleted file mode 100644
index b011f0e..0000000
--- a/interface/web/themes/default-304/icons/x16/star__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star__exclamation.png b/interface/web/themes/default-304/icons/x16/star__exclamation.png
deleted file mode 100644
index 46a204d..0000000
--- a/interface/web/themes/default-304/icons/x16/star__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star__minus.png b/interface/web/themes/default-304/icons/x16/star__minus.png
deleted file mode 100644
index d150e00..0000000
--- a/interface/web/themes/default-304/icons/x16/star__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star__pencil.png b/interface/web/themes/default-304/icons/x16/star__pencil.png
deleted file mode 100644
index cf0d77b..0000000
--- a/interface/web/themes/default-304/icons/x16/star__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star__plus.png b/interface/web/themes/default-304/icons/x16/star__plus.png
deleted file mode 100644
index 9f32f79..0000000
--- a/interface/web/themes/default-304/icons/x16/star__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star_empty.png b/interface/web/themes/default-304/icons/x16/star_empty.png
deleted file mode 100644
index 019e358..0000000
--- a/interface/web/themes/default-304/icons/x16/star_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star_half.png b/interface/web/themes/default-304/icons/x16/star_half.png
deleted file mode 100644
index 7fdbd37..0000000
--- a/interface/web/themes/default-304/icons/x16/star_half.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star_small.png b/interface/web/themes/default-304/icons/x16/star_small.png
deleted file mode 100644
index c1378cf..0000000
--- a/interface/web/themes/default-304/icons/x16/star_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star_small_empty.png b/interface/web/themes/default-304/icons/x16/star_small_empty.png
deleted file mode 100644
index bcadeaa..0000000
--- a/interface/web/themes/default-304/icons/x16/star_small_empty.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/star_small_half.png b/interface/web/themes/default-304/icons/x16/star_small_half.png
deleted file mode 100644
index 6b1cb6d..0000000
--- a/interface/web/themes/default-304/icons/x16/star_small_half.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note.png b/interface/web/themes/default-304/icons/x16/sticky_note.png
deleted file mode 100644
index ff9d467..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__arrow.png b/interface/web/themes/default-304/icons/x16/sticky_note__arrow.png
deleted file mode 100644
index 2488b94..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png b/interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png
deleted file mode 100644
index e201d16..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__minus.png b/interface/web/themes/default-304/icons/x16/sticky_note__minus.png
deleted file mode 100644
index 56833a1..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__pencil.png b/interface/web/themes/default-304/icons/x16/sticky_note__pencil.png
deleted file mode 100644
index 83cebec..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note__plus.png b/interface/web/themes/default-304/icons/x16/sticky_note__plus.png
deleted file mode 100644
index 6dcb51a..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_pin.png b/interface/web/themes/default-304/icons/x16/sticky_note_pin.png
deleted file mode 100644
index 6e64b83..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note_pin.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_shred.png b/interface/web/themes/default-304/icons/x16/sticky_note_shred.png
deleted file mode 100644
index 934c3d8..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note_shred.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_small.png b/interface/web/themes/default-304/icons/x16/sticky_note_small.png
deleted file mode 100644
index 8ce8178..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png b/interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png
deleted file mode 100644
index 67357e8..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note_small_pin.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_note_text.png b/interface/web/themes/default-304/icons/x16/sticky_note_text.png
deleted file mode 100644
index 94d2e94..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_note_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes.png b/interface/web/themes/default-304/icons/x16/sticky_notes.png
deleted file mode 100644
index 9940a55..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png b/interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png
deleted file mode 100644
index 6451cfe..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png b/interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png
deleted file mode 100644
index 72aa718..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__minus.png b/interface/web/themes/default-304/icons/x16/sticky_notes__minus.png
deleted file mode 100644
index 0197d57..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png b/interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png
deleted file mode 100644
index afecdee..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes__plus.png b/interface/web/themes/default-304/icons/x16/sticky_notes__plus.png
deleted file mode 100644
index 6152db1..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_pin.png b/interface/web/themes/default-304/icons/x16/sticky_notes_pin.png
deleted file mode 100644
index abe78e2..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes_pin.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_stack.png b/interface/web/themes/default-304/icons/x16/sticky_notes_stack.png
deleted file mode 100644
index ce4ae9b..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes_stack.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/sticky_notes_text.png b/interface/web/themes/default-304/icons/x16/sticky_notes_text.png
deleted file mode 100644
index 2274943..0000000
--- a/interface/web/themes/default-304/icons/x16/sticky_notes_text.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch.png b/interface/web/themes/default-304/icons/x16/switch.png
deleted file mode 100644
index d91ec21..0000000
--- a/interface/web/themes/default-304/icons/x16/switch.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch_arrow.png b/interface/web/themes/default-304/icons/x16/switch_arrow.png
deleted file mode 100644
index 4c83fff..0000000
--- a/interface/web/themes/default-304/icons/x16/switch_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch_exclamation.png b/interface/web/themes/default-304/icons/x16/switch_exclamation.png
deleted file mode 100644
index b2e8e36..0000000
--- a/interface/web/themes/default-304/icons/x16/switch_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch_minus.png b/interface/web/themes/default-304/icons/x16/switch_minus.png
deleted file mode 100644
index 8d2e7d3..0000000
--- a/interface/web/themes/default-304/icons/x16/switch_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch_pencil.png b/interface/web/themes/default-304/icons/x16/switch_pencil.png
deleted file mode 100644
index 1fd85c5..0000000
--- a/interface/web/themes/default-304/icons/x16/switch_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/switch_plus.png b/interface/web/themes/default-304/icons/x16/switch_plus.png
deleted file mode 100644
index a81d6c3..0000000
--- a/interface/web/themes/default-304/icons/x16/switch_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table.png b/interface/web/themes/default-304/icons/x16/table.png
deleted file mode 100644
index 9deb778..0000000
--- a/interface/web/themes/default-304/icons/x16/table.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table__arrow.png b/interface/web/themes/default-304/icons/x16/table__arrow.png
deleted file mode 100644
index 3112251..0000000
--- a/interface/web/themes/default-304/icons/x16/table__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table__exclamation.png b/interface/web/themes/default-304/icons/x16/table__exclamation.png
deleted file mode 100644
index 7a5d0c8..0000000
--- a/interface/web/themes/default-304/icons/x16/table__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table__minus.png b/interface/web/themes/default-304/icons/x16/table__minus.png
deleted file mode 100644
index ff29544..0000000
--- a/interface/web/themes/default-304/icons/x16/table__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table__pencil.png b/interface/web/themes/default-304/icons/x16/table__pencil.png
deleted file mode 100644
index e17739c..0000000
--- a/interface/web/themes/default-304/icons/x16/table__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table__plus.png b/interface/web/themes/default-304/icons/x16/table__plus.png
deleted file mode 100644
index c1a918d..0000000
--- a/interface/web/themes/default-304/icons/x16/table__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table_delete.png b/interface/web/themes/default-304/icons/x16/table_delete.png
deleted file mode 100644
index f67ac0d..0000000
--- a/interface/web/themes/default-304/icons/x16/table_delete.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table_delete_column.png b/interface/web/themes/default-304/icons/x16/table_delete_column.png
deleted file mode 100644
index a8721c3..0000000
--- a/interface/web/themes/default-304/icons/x16/table_delete_column.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table_insert.png b/interface/web/themes/default-304/icons/x16/table_insert.png
deleted file mode 100644
index 5be705b..0000000
--- a/interface/web/themes/default-304/icons/x16/table_insert.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/table_insert_column.png b/interface/web/themes/default-304/icons/x16/table_insert_column.png
deleted file mode 100644
index 4348fb6..0000000
--- a/interface/web/themes/default-304/icons/x16/table_insert_column.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables.png b/interface/web/themes/default-304/icons/x16/tables.png
deleted file mode 100644
index f0eb51f..0000000
--- a/interface/web/themes/default-304/icons/x16/tables.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_arrow.png b/interface/web/themes/default-304/icons/x16/tables_arrow.png
deleted file mode 100644
index c364e69..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_exclamation.png b/interface/web/themes/default-304/icons/x16/tables_exclamation.png
deleted file mode 100644
index faad227..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_minus.png b/interface/web/themes/default-304/icons/x16/tables_minus.png
deleted file mode 100644
index d166635..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_pencil.png b/interface/web/themes/default-304/icons/x16/tables_pencil.png
deleted file mode 100644
index f2c107c..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_plus.png b/interface/web/themes/default-304/icons/x16/tables_plus.png
deleted file mode 100644
index 56d6bd5..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tables_stacks.png b/interface/web/themes/default-304/icons/x16/tables_stacks.png
deleted file mode 100644
index a7e9e87..0000000
--- a/interface/web/themes/default-304/icons/x16/tables_stacks.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag.png b/interface/web/themes/default-304/icons/x16/tag.png
deleted file mode 100644
index dcc2945..0000000
--- a/interface/web/themes/default-304/icons/x16/tag.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag__arrow.png b/interface/web/themes/default-304/icons/x16/tag__arrow.png
deleted file mode 100644
index 9d88dda..0000000
--- a/interface/web/themes/default-304/icons/x16/tag__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag__exclamation.png b/interface/web/themes/default-304/icons/x16/tag__exclamation.png
deleted file mode 100644
index 4b0b38a..0000000
--- a/interface/web/themes/default-304/icons/x16/tag__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag__minus.png b/interface/web/themes/default-304/icons/x16/tag__minus.png
deleted file mode 100644
index 5df09a8..0000000
--- a/interface/web/themes/default-304/icons/x16/tag__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag__pencil.png b/interface/web/themes/default-304/icons/x16/tag__pencil.png
deleted file mode 100644
index 94921f6..0000000
--- a/interface/web/themes/default-304/icons/x16/tag__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag__plus.png b/interface/web/themes/default-304/icons/x16/tag__plus.png
deleted file mode 100644
index 8014448..0000000
--- a/interface/web/themes/default-304/icons/x16/tag__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag_label.png b/interface/web/themes/default-304/icons/x16/tag_label.png
deleted file mode 100644
index c2dc2e0..0000000
--- a/interface/web/themes/default-304/icons/x16/tag_label.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tag_small.png b/interface/web/themes/default-304/icons/x16/tag_small.png
deleted file mode 100644
index 69e0116..0000000
--- a/interface/web/themes/default-304/icons/x16/tag_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags.png b/interface/web/themes/default-304/icons/x16/tags.png
deleted file mode 100644
index d06ba8b..0000000
--- a/interface/web/themes/default-304/icons/x16/tags.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags__arrow.png b/interface/web/themes/default-304/icons/x16/tags__arrow.png
deleted file mode 100644
index 8647dbf..0000000
--- a/interface/web/themes/default-304/icons/x16/tags__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags__exclamation.png b/interface/web/themes/default-304/icons/x16/tags__exclamation.png
deleted file mode 100644
index 3d0e27f..0000000
--- a/interface/web/themes/default-304/icons/x16/tags__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags__minus.png b/interface/web/themes/default-304/icons/x16/tags__minus.png
deleted file mode 100644
index c969262..0000000
--- a/interface/web/themes/default-304/icons/x16/tags__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags__pencil.png b/interface/web/themes/default-304/icons/x16/tags__pencil.png
deleted file mode 100644
index 20c2bc5..0000000
--- a/interface/web/themes/default-304/icons/x16/tags__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags__plus.png b/interface/web/themes/default-304/icons/x16/tags__plus.png
deleted file mode 100644
index fa7b685..0000000
--- a/interface/web/themes/default-304/icons/x16/tags__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tags_label.png b/interface/web/themes/default-304/icons/x16/tags_label.png
deleted file mode 100644
index f9a0244..0000000
--- a/interface/web/themes/default-304/icons/x16/tags_label.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick.png b/interface/web/themes/default-304/icons/x16/tick.png
deleted file mode 100644
index 3d89b35..0000000
--- a/interface/web/themes/default-304/icons/x16/tick.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick_circle.png b/interface/web/themes/default-304/icons/x16/tick_circle.png
deleted file mode 100644
index 26b2d5a..0000000
--- a/interface/web/themes/default-304/icons/x16/tick_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick_circle_frame.png b/interface/web/themes/default-304/icons/x16/tick_circle_frame.png
deleted file mode 100644
index 92282dc..0000000
--- a/interface/web/themes/default-304/icons/x16/tick_circle_frame.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick_shield.png b/interface/web/themes/default-304/icons/x16/tick_shield.png
deleted file mode 100644
index bfdaf4e..0000000
--- a/interface/web/themes/default-304/icons/x16/tick_shield.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick_small.png b/interface/web/themes/default-304/icons/x16/tick_small.png
deleted file mode 100644
index cc72367..0000000
--- a/interface/web/themes/default-304/icons/x16/tick_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tick_small_circle.png b/interface/web/themes/default-304/icons/x16/tick_small_circle.png
deleted file mode 100644
index 37ef5cd..0000000
--- a/interface/web/themes/default-304/icons/x16/tick_small_circle.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket.png b/interface/web/themes/default-304/icons/x16/ticket.png
deleted file mode 100644
index 543ee24..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_arrow.png b/interface/web/themes/default-304/icons/x16/ticket_arrow.png
deleted file mode 100644
index fe6e698..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_exclamation.png b/interface/web/themes/default-304/icons/x16/ticket_exclamation.png
deleted file mode 100644
index b9b2d1c..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_minus.png b/interface/web/themes/default-304/icons/x16/ticket_minus.png
deleted file mode 100644
index f82a363..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_pencil.png b/interface/web/themes/default-304/icons/x16/ticket_pencil.png
deleted file mode 100644
index b795e5f..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_plus.png b/interface/web/themes/default-304/icons/x16/ticket_plus.png
deleted file mode 100644
index 6343930..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/ticket_small.png b/interface/web/themes/default-304/icons/x16/ticket_small.png
deleted file mode 100644
index 01dd7bf..0000000
--- a/interface/web/themes/default-304/icons/x16/ticket_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy.png b/interface/web/themes/default-304/icons/x16/trophy.png
deleted file mode 100644
index 747b6b1..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy_arrow.png b/interface/web/themes/default-304/icons/x16/trophy_arrow.png
deleted file mode 100644
index 61777f7..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy_exclamation.png b/interface/web/themes/default-304/icons/x16/trophy_exclamation.png
deleted file mode 100644
index 4b12dbe..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy_minus.png b/interface/web/themes/default-304/icons/x16/trophy_minus.png
deleted file mode 100644
index 2914743..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy_pencil.png b/interface/web/themes/default-304/icons/x16/trophy_pencil.png
deleted file mode 100644
index 3990eee..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/trophy_plus.png b/interface/web/themes/default-304/icons/x16/trophy_plus.png
deleted file mode 100644
index 7b35130..0000000
--- a/interface/web/themes/default-304/icons/x16/trophy_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/tux.png b/interface/web/themes/default-304/icons/x16/tux.png
deleted file mode 100644
index 2e6d9d8..0000000
--- a/interface/web/themes/default-304/icons/x16/tux.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user.png b/interface/web/themes/default-304/icons/x16/user.png
deleted file mode 100644
index 6e051f3..0000000
--- a/interface/web/themes/default-304/icons/x16/user.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_add.png b/interface/web/themes/default-304/icons/x16/user_add.png
deleted file mode 100644
index 6d84550..0000000
--- a/interface/web/themes/default-304/icons/x16/user_add.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_comment.png b/interface/web/themes/default-304/icons/x16/user_comment.png
deleted file mode 100644
index 3440569..0000000
--- a/interface/web/themes/default-304/icons/x16/user_comment.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_delete.png b/interface/web/themes/default-304/icons/x16/user_delete.png
deleted file mode 100644
index 95792e2..0000000
--- a/interface/web/themes/default-304/icons/x16/user_delete.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_edit.png b/interface/web/themes/default-304/icons/x16/user_edit.png
deleted file mode 100644
index b26a1ca..0000000
--- a/interface/web/themes/default-304/icons/x16/user_edit.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_female.png b/interface/web/themes/default-304/icons/x16/user_female.png
deleted file mode 100644
index 0c7293e..0000000
--- a/interface/web/themes/default-304/icons/x16/user_female.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_go.png b/interface/web/themes/default-304/icons/x16/user_go.png
deleted file mode 100644
index 868ed28..0000000
--- a/interface/web/themes/default-304/icons/x16/user_go.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_gray.png b/interface/web/themes/default-304/icons/x16/user_gray.png
deleted file mode 100644
index 7b4a507..0000000
--- a/interface/web/themes/default-304/icons/x16/user_gray.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_green.png b/interface/web/themes/default-304/icons/x16/user_green.png
deleted file mode 100644
index 264381e..0000000
--- a/interface/web/themes/default-304/icons/x16/user_green.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_orange.png b/interface/web/themes/default-304/icons/x16/user_orange.png
deleted file mode 100644
index d4fee60..0000000
--- a/interface/web/themes/default-304/icons/x16/user_orange.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_red.png b/interface/web/themes/default-304/icons/x16/user_red.png
deleted file mode 100644
index 165bc9c..0000000
--- a/interface/web/themes/default-304/icons/x16/user_red.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/user_suit.png b/interface/web/themes/default-304/icons/x16/user_suit.png
deleted file mode 100644
index 44d0db7..0000000
--- a/interface/web/themes/default-304/icons/x16/user_suit.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/vcard.png b/interface/web/themes/default-304/icons/x16/vcard.png
deleted file mode 100644
index 767f498..0000000
--- a/interface/web/themes/default-304/icons/x16/vcard.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/vcard_add.png b/interface/web/themes/default-304/icons/x16/vcard_add.png
deleted file mode 100644
index dd9d414..0000000
--- a/interface/web/themes/default-304/icons/x16/vcard_add.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/vcard_delete.png b/interface/web/themes/default-304/icons/x16/vcard_delete.png
deleted file mode 100644
index 2c944dd..0000000
--- a/interface/web/themes/default-304/icons/x16/vcard_delete.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/vcard_edit.png b/interface/web/themes/default-304/icons/x16/vcard_edit.png
deleted file mode 100644
index d7026e7..0000000
--- a/interface/web/themes/default-304/icons/x16/vcard_edit.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall.png b/interface/web/themes/default-304/icons/x16/wall.png
deleted file mode 100644
index 8a1ea16..0000000
--- a/interface/web/themes/default-304/icons/x16/wall.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall__arrow.png b/interface/web/themes/default-304/icons/x16/wall__arrow.png
deleted file mode 100644
index b0ebdff..0000000
--- a/interface/web/themes/default-304/icons/x16/wall__arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall__exclamation.png b/interface/web/themes/default-304/icons/x16/wall__exclamation.png
deleted file mode 100644
index 96e59b3..0000000
--- a/interface/web/themes/default-304/icons/x16/wall__exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall__minus.png b/interface/web/themes/default-304/icons/x16/wall__minus.png
deleted file mode 100644
index 4f4dd35..0000000
--- a/interface/web/themes/default-304/icons/x16/wall__minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall__pencil.png b/interface/web/themes/default-304/icons/x16/wall__pencil.png
deleted file mode 100644
index 4ba4414..0000000
--- a/interface/web/themes/default-304/icons/x16/wall__pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall__plus.png b/interface/web/themes/default-304/icons/x16/wall__plus.png
deleted file mode 100644
index 4cc0ace..0000000
--- a/interface/web/themes/default-304/icons/x16/wall__plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall_brick.png b/interface/web/themes/default-304/icons/x16/wall_brick.png
deleted file mode 100644
index 4b7d70a..0000000
--- a/interface/web/themes/default-304/icons/x16/wall_brick.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall_disable.png b/interface/web/themes/default-304/icons/x16/wall_disable.png
deleted file mode 100644
index 12b9dca..0000000
--- a/interface/web/themes/default-304/icons/x16/wall_disable.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall_small.png b/interface/web/themes/default-304/icons/x16/wall_small.png
deleted file mode 100644
index 9d41e1e..0000000
--- a/interface/web/themes/default-304/icons/x16/wall_small.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wall_small_brick.png b/interface/web/themes/default-304/icons/x16/wall_small_brick.png
deleted file mode 100644
index 7293179..0000000
--- a/interface/web/themes/default-304/icons/x16/wall_small_brick.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet.png b/interface/web/themes/default-304/icons/x16/wallet.png
deleted file mode 100644
index 2632217..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet_arrow.png b/interface/web/themes/default-304/icons/x16/wallet_arrow.png
deleted file mode 100644
index e0ebf3b..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet_exclamation.png b/interface/web/themes/default-304/icons/x16/wallet_exclamation.png
deleted file mode 100644
index c6e0ff7..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet_minus.png b/interface/web/themes/default-304/icons/x16/wallet_minus.png
deleted file mode 100644
index 4945538..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet_pencil.png b/interface/web/themes/default-304/icons/x16/wallet_pencil.png
deleted file mode 100644
index 0094fe5..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wallet_plus.png b/interface/web/themes/default-304/icons/x16/wallet_plus.png
deleted file mode 100644
index ee68702..0000000
--- a/interface/web/themes/default-304/icons/x16/wallet_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand.png b/interface/web/themes/default-304/icons/x16/wand.png
deleted file mode 100644
index c07acca..0000000
--- a/interface/web/themes/default-304/icons/x16/wand.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand_arrow.png b/interface/web/themes/default-304/icons/x16/wand_arrow.png
deleted file mode 100644
index 5a9c841..0000000
--- a/interface/web/themes/default-304/icons/x16/wand_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand_exclamation.png b/interface/web/themes/default-304/icons/x16/wand_exclamation.png
deleted file mode 100644
index ea33f5e..0000000
--- a/interface/web/themes/default-304/icons/x16/wand_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand_minus.png b/interface/web/themes/default-304/icons/x16/wand_minus.png
deleted file mode 100644
index 1217278..0000000
--- a/interface/web/themes/default-304/icons/x16/wand_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand_pencil.png b/interface/web/themes/default-304/icons/x16/wand_pencil.png
deleted file mode 100644
index 1dfa945..0000000
--- a/interface/web/themes/default-304/icons/x16/wand_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wand_plus.png b/interface/web/themes/default-304/icons/x16/wand_plus.png
deleted file mode 100644
index e9ac4f0..0000000
--- a/interface/web/themes/default-304/icons/x16/wand_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench.png b/interface/web/themes/default-304/icons/x16/wrench.png
deleted file mode 100644
index 8c01122..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_arrow.png b/interface/web/themes/default-304/icons/x16/wrench_arrow.png
deleted file mode 100644
index 77f2f3e..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_arrow.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_exclamation.png b/interface/web/themes/default-304/icons/x16/wrench_exclamation.png
deleted file mode 100644
index 597b522..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_exclamation.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_minus.png b/interface/web/themes/default-304/icons/x16/wrench_minus.png
deleted file mode 100644
index e0ac40e..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_minus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_pencil.png b/interface/web/themes/default-304/icons/x16/wrench_pencil.png
deleted file mode 100644
index 937788a..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_pencil.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_plus.png b/interface/web/themes/default-304/icons/x16/wrench_plus.png
deleted file mode 100644
index c187f25..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_plus.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16/wrench_screwdriver.png b/interface/web/themes/default-304/icons/x16/wrench_screwdriver.png
deleted file mode 100644
index 123eec5..0000000
--- a/interface/web/themes/default-304/icons/x16/wrench_screwdriver.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x16_sprite.png b/interface/web/themes/default-304/icons/x16_sprite.png
deleted file mode 100644
index f64f7ce..0000000
--- a/interface/web/themes/default-304/icons/x16_sprite.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/calculator.png b/interface/web/themes/default-304/icons/x32/calculator.png
deleted file mode 100644
index 703031e..0000000
--- a/interface/web/themes/default-304/icons/x32/calculator.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/client.png b/interface/web/themes/default-304/icons/x32/client.png
deleted file mode 100644
index 1c9b5dc..0000000
--- a/interface/web/themes/default-304/icons/x32/client.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/dashboard.png b/interface/web/themes/default-304/icons/x32/dashboard.png
deleted file mode 100644
index 240d3a2..0000000
--- a/interface/web/themes/default-304/icons/x32/dashboard.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/dns.png b/interface/web/themes/default-304/icons/x32/dns.png
deleted file mode 100644
index 03e63b0..0000000
--- a/interface/web/themes/default-304/icons/x32/dns.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/domain.png b/interface/web/themes/default-304/icons/x32/domain.png
deleted file mode 100644
index f829d2c..0000000
--- a/interface/web/themes/default-304/icons/x32/domain.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/drawer.png b/interface/web/themes/default-304/icons/x32/drawer.png
deleted file mode 100644
index f94f6b6..0000000
--- a/interface/web/themes/default-304/icons/x32/drawer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/email.png b/interface/web/themes/default-304/icons/x32/email.png
deleted file mode 100644
index 2770614..0000000
--- a/interface/web/themes/default-304/icons/x32/email.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/help.png b/interface/web/themes/default-304/icons/x32/help.png
deleted file mode 100644
index b6a7afa..0000000
--- a/interface/web/themes/default-304/icons/x32/help.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/login.png b/interface/web/themes/default-304/icons/x32/login.png
deleted file mode 100644
index 7e81f55..0000000
--- a/interface/web/themes/default-304/icons/x32/login.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/monitor.png b/interface/web/themes/default-304/icons/x32/monitor.png
deleted file mode 100644
index ee73376..0000000
--- a/interface/web/themes/default-304/icons/x32/monitor.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/network.png b/interface/web/themes/default-304/icons/x32/network.png
deleted file mode 100644
index cfafc04..0000000
--- a/interface/web/themes/default-304/icons/x32/network.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/server.png b/interface/web/themes/default-304/icons/x32/server.png
deleted file mode 100644
index 3471b9d..0000000
--- a/interface/web/themes/default-304/icons/x32/server.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/sites.png b/interface/web/themes/default-304/icons/x32/sites.png
deleted file mode 100644
index 64ea1b6..0000000
--- a/interface/web/themes/default-304/icons/x32/sites.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_critical.png b/interface/web/themes/default-304/icons/x32/state_critical.png
deleted file mode 100644
index caeed33..0000000
--- a/interface/web/themes/default-304/icons/x32/state_critical.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_error.png b/interface/web/themes/default-304/icons/x32/state_error.png
deleted file mode 100644
index 112a264..0000000
--- a/interface/web/themes/default-304/icons/x32/state_error.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_info.png b/interface/web/themes/default-304/icons/x32/state_info.png
deleted file mode 100644
index 91bd218..0000000
--- a/interface/web/themes/default-304/icons/x32/state_info.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_ok.png b/interface/web/themes/default-304/icons/x32/state_ok.png
deleted file mode 100644
index a4a8964..0000000
--- a/interface/web/themes/default-304/icons/x32/state_ok.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_unknown.png b/interface/web/themes/default-304/icons/x32/state_unknown.png
deleted file mode 100644
index 22c034b..0000000
--- a/interface/web/themes/default-304/icons/x32/state_unknown.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/state_warning.png b/interface/web/themes/default-304/icons/x32/state_warning.png
deleted file mode 100644
index e3e7c1f..0000000
--- a/interface/web/themes/default-304/icons/x32/state_warning.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/system.png b/interface/web/themes/default-304/icons/x32/system.png
deleted file mode 100644
index 136083c..0000000
--- a/interface/web/themes/default-304/icons/x32/system.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32/tools.png b/interface/web/themes/default-304/icons/x32/tools.png
deleted file mode 100644
index fe1e27c..0000000
--- a/interface/web/themes/default-304/icons/x32/tools.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x32_sprite.png b/interface/web/themes/default-304/icons/x32_sprite.png
deleted file mode 100644
index 5c9f04f..0000000
--- a/interface/web/themes/default-304/icons/x32_sprite.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/client.png b/interface/web/themes/default-304/icons/x64/client.png
deleted file mode 100644
index 96e74e7..0000000
--- a/interface/web/themes/default-304/icons/x64/client.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/dashboard.png b/interface/web/themes/default-304/icons/x64/dashboard.png
deleted file mode 100644
index dfad21a..0000000
--- a/interface/web/themes/default-304/icons/x64/dashboard.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/dns.png b/interface/web/themes/default-304/icons/x64/dns.png
deleted file mode 100644
index b40b537..0000000
--- a/interface/web/themes/default-304/icons/x64/dns.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/domain.png b/interface/web/themes/default-304/icons/x64/domain.png
deleted file mode 100644
index 6e2884e..0000000
--- a/interface/web/themes/default-304/icons/x64/domain.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/drawer.png b/interface/web/themes/default-304/icons/x64/drawer.png
deleted file mode 100644
index 8fe3c1b..0000000
--- a/interface/web/themes/default-304/icons/x64/drawer.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/email.png b/interface/web/themes/default-304/icons/x64/email.png
deleted file mode 100644
index c6c1c51..0000000
--- a/interface/web/themes/default-304/icons/x64/email.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/help.png b/interface/web/themes/default-304/icons/x64/help.png
deleted file mode 100644
index 4909e62..0000000
--- a/interface/web/themes/default-304/icons/x64/help.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/login.png b/interface/web/themes/default-304/icons/x64/login.png
deleted file mode 100644
index 27adf0b..0000000
--- a/interface/web/themes/default-304/icons/x64/login.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/monitor.png b/interface/web/themes/default-304/icons/x64/monitor.png
deleted file mode 100644
index f6fc937..0000000
--- a/interface/web/themes/default-304/icons/x64/monitor.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/network.png b/interface/web/themes/default-304/icons/x64/network.png
deleted file mode 100644
index e9aa4a2..0000000
--- a/interface/web/themes/default-304/icons/x64/network.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/server.png b/interface/web/themes/default-304/icons/x64/server.png
deleted file mode 100644
index bcde9dc..0000000
--- a/interface/web/themes/default-304/icons/x64/server.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/sites.png b/interface/web/themes/default-304/icons/x64/sites.png
deleted file mode 100644
index c6e6ca2..0000000
--- a/interface/web/themes/default-304/icons/x64/sites.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/system.png b/interface/web/themes/default-304/icons/x64/system.png
deleted file mode 100644
index efb2008..0000000
--- a/interface/web/themes/default-304/icons/x64/system.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/icons/x64/tools.png b/interface/web/themes/default-304/icons/x64/tools.png
deleted file mode 100644
index 8ce4e23..0000000
--- a/interface/web/themes/default-304/icons/x64/tools.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/Thumbs.db b/interface/web/themes/default-304/images/Thumbs.db
deleted file mode 100644
index 8679961..0000000
--- a/interface/web/themes/default-304/images/Thumbs.db
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/ajax-loader.gif b/interface/web/themes/default-304/images/ajax-loader.gif
deleted file mode 100644
index 7c4804e..0000000
--- a/interface/web/themes/default-304/images/ajax-loader.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/buttonHolder_bg.gif b/interface/web/themes/default-304/images/buttonHolder_bg.gif
deleted file mode 100644
index 45dc0da..0000000
--- a/interface/web/themes/default-304/images/buttonHolder_bg.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/chevron.png b/interface/web/themes/default-304/images/chevron.png
deleted file mode 100644
index 7ca0587..0000000
--- a/interface/web/themes/default-304/images/chevron.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/favicon.ico b/interface/web/themes/default-304/images/favicon.ico
deleted file mode 100644
index da6257c..0000000
--- a/interface/web/themes/default-304/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/header_bg.png b/interface/web/themes/default-304/images/header_bg.png
deleted file mode 100644
index f53a8b4..0000000
--- a/interface/web/themes/default-304/images/header_bg.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/header_logo.png b/interface/web/themes/default-304/images/header_logo.png
deleted file mode 100644
index d85333a..0000000
--- a/interface/web/themes/default-304/images/header_logo.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/lists_tfoot_bg.png b/interface/web/themes/default-304/images/lists_tfoot_bg.png
deleted file mode 100644
index fe3acff..0000000
--- a/interface/web/themes/default-304/images/lists_tfoot_bg.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/lists_thead_bg.png b/interface/web/themes/default-304/images/lists_thead_bg.png
deleted file mode 100644
index c75d17f..0000000
--- a/interface/web/themes/default-304/images/lists_thead_bg.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/meter_bg.gif b/interface/web/themes/default-304/images/meter_bg.gif
deleted file mode 100644
index 6b38c6e..0000000
--- a/interface/web/themes/default-304/images/meter_bg.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/images/screen_bg.png b/interface/web/themes/default-304/images/screen_bg.png
deleted file mode 100644
index 5cfb149..0000000
--- a/interface/web/themes/default-304/images/screen_bg.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/ispconfig_version b/interface/web/themes/default-304/ispconfig_version
deleted file mode 100644
index bb19ac3..0000000
--- a/interface/web/themes/default-304/ispconfig_version
+++ /dev/null
@@ -1 +0,0 @@
-3.0.4.6
\ No newline at end of file
diff --git a/interface/web/themes/default-304/licences.txt b/interface/web/themes/default-304/licences.txt
deleted file mode 100644
index 9b81005..0000000
--- a/interface/web/themes/default-304/licences.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Theme created by Martin Henne (red-ray.de)
-
-based on:
-
-Templates: http://www.yaml.de
-Web-Forms: http://www.sprawsm.com/uni-form/
-Icons: http://www.pinvoke.com and http://www.randomjabber.com/static/sizcons
-Know-How: http://particletree.com/features/rediscovering-the-button-element
diff --git a/interface/web/themes/default-304/templates/admin/firewall_edit.htm b/interface/web/themes/default-304/templates/admin/firewall_edit.htm
deleted file mode 100644
index 827c1c8..0000000
--- a/interface/web/themes/default-304/templates/admin/firewall_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_firewall">
-
- <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="tcp_port">{tmpl_var name='tcp_port_txt'}</label>
- <input name="tcp_port" id="tcp_port" value="{tmpl_var name='tcp_port'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="udp_port">{tmpl_var name='udp_port_txt'}</label>
- <input name="udp_port" id="udp_port" value="{tmpl_var name='udp_port'}" size="30" maxlength="255" 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'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/firewall_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/firewall_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/themes/default-304/templates/admin/firewall_list.htm b/interface/web/themes/default-304/templates/admin/firewall_list.htm
deleted file mode 100644
index d209a45..0000000
--- a/interface/web/themes/default-304/templates/admin/firewall_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_firewall">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/firewall_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_tcp_port" scope="col"><tmpl_var name="tcp_port_txt"></th>
- <th class="tbl_col_udp_port" scope="col"><tmpl_var name="udp_port_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_tcp_port"><input type="text" name="search_tcp_port" value="{tmpl_var name='search_tcp_port'}" /></td>
- <td class="tbl_col_udp_port"><input type="text" name="search_udp_port" value="{tmpl_var name='search_udp_port'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/firewall_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_tcp_port"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="tcp_port"}</a></td>
- <td class="tbl_col_udp_port"><a href="#" onClick="loadContent('admin/firewall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="udp_port"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/firewall_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>
- </div>
- </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-304/templates/admin/groups_edit.htm b/interface/web/themes/default-304/templates/admin/groups_edit.htm
deleted file mode 100644
index b5fe764..0000000
--- a/interface/web/themes/default-304/templates/admin/groups_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_groups">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="description">{tmpl_var name='description_txt'}</label>
- <textarea name="description" id="description" rows='5' cols='30'>{tmpl_var name='description'}</textarea>
- </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/groups_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/groups_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/themes/default-304/templates/admin/groups_list.htm b/interface/web/themes/default-304/templates/admin/groups_list.htm
deleted file mode 100644
index 3fc1918..0000000
--- a/interface/web/themes/default-304/templates/admin/groups_list.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_groups">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/groups_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- <p><tmpl_var name="warning_txt"></p>
- </div>
- </fieldset>
- </div>
-
- <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_description" scope="col"><tmpl_var name="description_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_description"><input type="text" name="search_description" value="{tmpl_var name='search_description'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/groups_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('admin/groups_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_description"><a href="#" onClick="loadContent('admin/groups_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="description"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/groups_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/admin/iptables_edit.htm b/interface/web/themes/default-304/templates/admin/iptables_edit.htm
deleted file mode 100644
index 33574c9..0000000
--- a/interface/web/themes/default-304/templates/admin/iptables_edit.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<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/themes/default-304/templates/admin/iptables_list.htm b/interface/web/themes/default-304/templates/admin/iptables_list.htm
deleted file mode 100644
index 6c65094..0000000
--- a/interface/web/themes/default-304/templates/admin/iptables_list.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<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="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>
- <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>
- <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">
- <div class="buttons">
- <button type="button" class="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>
- </div>
- </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">
- <div class="buttons icons16">
- <a class="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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </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/themes/default-304/templates/admin/language_add.htm b/interface/web/themes/default-304/templates/admin/language_add.htm
deleted file mode 100644
index 540fc97..0000000
--- a/interface/web/themes/default-304/templates/admin/language_add.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_add">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Language Add</legend>
- <div class="ctrlHolder">
- <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
- <select name="lng_select" id="language" class="selectInput flags">
- {tmpl_var name='language_option'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="lng_new">{tmpl_var name='language_new_txt'}</label>
- <input name="lng_new" id="lng_new" value="" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- <p class="formHint">{tmpl_var name='language_new_hint_txt'}</p>
- </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/language_add.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/language_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/themes/default-304/templates/admin/language_complete.htm b/interface/web/themes/default-304/templates/admin/language_complete.htm
deleted file mode 100644
index 7416a70..0000000
--- a/interface/web/themes/default-304/templates/admin/language_complete.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_complete">
-
- <tmpl_if name="msg">
- <div id="OKMsg"><tmpl_var name="msg"></div>
- </tmpl_if>
- <tmpl_if name="error">
- <div id="errorMsg"><tmpl_var name="error"></div>
- </tmpl_if>
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Language Complete</legend>
- <div class="ctrlHolder">
- <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
- <select name="lng_select" id="language" class="selectInput flags">
- {tmpl_var name='language_option'}
- </select>
- </div>
- </fieldset>
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_complete.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/language_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/themes/default-304/templates/admin/language_edit.htm b/interface/web/themes/default-304/templates/admin/language_edit.htm
deleted file mode 100644
index 3767a17..0000000
--- a/interface/web/themes/default-304/templates/admin/language_edit.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_edit">
-
- <div class="pnl_formsarea">
- <fieldset id="wf_area_language_edit"><legend>Language File Edit: {tmpl_var name="file_path"}</legend>
- <span class="wf_oneField">
- <tmpl_loop name="records">
- <span class="wf_oneField">
- <label for="records[{tmpl_var name="key"}]" class="wf_preField">{tmpl_var name="key"}</label>
- <input type="text" id="records[{tmpl_var name="key"}]" name="records[{tmpl_var name="key"}]" value="{tmpl_var name='val'}" size="50" >
- </span>
- </tmpl_loop>
- </span>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input type="hidden" name="lang" value="{tmpl_var name='lang'}">
- <input type="hidden" name="lang_file" value="{tmpl_var name='lang_file'}">
- <input type="hidden" name="module" value="{tmpl_var name='module'}">
-
- <div class="wf_actions buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/language_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/language_list.php?lng_select={tmpl_var name='lang'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_export.htm b/interface/web/themes/default-304/templates/admin/language_export.htm
deleted file mode 100644
index 4085622..0000000
--- a/interface/web/themes/default-304/templates/admin/language_export.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_export">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Language Export</legend>
- <div class="ctrlHolder">
- <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
- <select name="lng_select" id="lng_select" class="selectInput flags">
- {tmpl_var name='language_option'}
- </select>
- </div>
-
-
- <tmpl_if name="msg">
- <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
- </tmpl_if>
-
- <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/language_export.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/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
-
- </fieldset>
-
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/admin/language_import.htm b/interface/web/themes/default-304/templates/admin/language_import.htm
deleted file mode 100644
index 3028944..0000000
--- a/interface/web/themes/default-304/templates/admin/language_import.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_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>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" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='language_overwrite_txt'}</p>
- <div class="multiField">
- <input id="overwrite" type="checkbox" value="1" name="overwrite"/>
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ignore_version_txt'}</p>
- <div class="multiField">
- <input id="ignore_version" type="checkbox" value="1" name="ignore_version"/>
- </div>
- </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="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="submitUploadForm('pageForm','admin/language_import.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/language_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
-
- </fieldset>
-
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/language_list.htm b/interface/web/themes/default-304/templates/admin/language_list.htm
deleted file mode 100644
index d268953..0000000
--- a/interface/web/themes/default-304/templates/admin/language_list.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_groups">
-
- <div class="pnl_toolsarea">
- <fieldset class="inlineLabels"><legend>Tools</legend>
- <div class="buttons">
- <div class="ctrlHolder">
- <label for="lng_select">{tmpl_var name='language_select_txt'}</label>
- <select name="lng_select" id="language" class="selectInput flags" onChange="submitForm('pageForm','admin/language_list.php');">
- {tmpl_var name='language_option'}
- </select>
- </div>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_module" scope="col"><tmpl_var name="module_txt"></th>
- <th class="tbl_col_lang_file" scope="col"><tmpl_var name="lang_file_txt"></th>
- <th class="tbl_col_limit" scope="col"><tmpl_var name="lang_file_date_txt"></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_module"><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="module"}</a></td>
- <td class="tbl_col_lang_file"><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="lang_file"}</a></td>
- <td><a href="#" onClick="loadContent('admin/language_edit.php?lang_file={tmpl_var name="lang_file"}&module={tmpl_var name="module"}&lang={tmpl_var name="lang"}');">{tmpl_var name="lang_file_date"}</a></td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/admin/remote_action_ispcupdate.htm b/interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm
deleted file mode 100644
index 6c903ba..0000000
--- a/interface/web/themes/default-304/templates/admin/remote_action_ispcupdate.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-<h2><tmpl_var name="do_ispcupdate_caption"></h2>
-<p><tmpl_var name="do_ispcupdate_desc"></p>
--->
-
-<h2><tmpl_var name="ispconfig_update_title"></h2>
-<p style="margin-top:50px; font-size:14px;"><tmpl_var name="ispconfig_update_text"></p>
-
-<div class="panel panel_language_add">
-
- <div class="pnl_formsarea">
- <!--
- <fieldset class="inlineLabels"><legend>{tmpl_var name='do_ispcupdate_caption'}</legend>
- <div class="ctrlHolder">
- <label for="server_select">{tmpl_var name='select_server_txt'}</label>
- <select name="server_select" id="server" class="selectInput" onchange="document.getElementById('OKMsg').style.visibility = 'hidden'; ">
- {tmpl_var name='server_option'}
- </select>
- </div>
- </fieldset>
-
- <tmpl_if name="msg">
- <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
- </tmpl_if>
-
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_ispcupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
- </div>
- -->
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm b/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm
deleted file mode 100644
index 0349473..0000000
--- a/interface/web/themes/default-304/templates/admin/remote_action_osupdate.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="do_osupdate_caption"></h2>
-<p><tmpl_var name="do_osupdate_desc"></p>
-
-<div class="panel panel_language_add">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='do_osupdate_caption'}</legend>
- <div class="ctrlHolder">
- <label for="server_select">{tmpl_var name='select_server_txt'}</label>
- <select name="server_select" id="server" class="selectInput" onchange="document.getElementById('OKMsg').style.visibility = 'hidden'; ">
- {tmpl_var name='server_option'}
- </select>
- </div>
- </fieldset>
-
- <tmpl_if name="msg">
- <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
- </tmpl_if>
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_do_txt'}" onClick="submitForm('pageForm','admin/remote_action_osupdate.php');"><span>{tmpl_var name='btn_do_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/remote_user_edit.htm b/interface/web/themes/default-304/templates/admin/remote_user_edit.htm
deleted file mode 100644
index 1b7d22a..0000000
--- a/interface/web/themes/default-304/templates/admin/remote_user_edit.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="remote_username">{tmpl_var name='username_txt'}</label>
- <p class="prefix">{tmpl_var name='username_prefix'}</p>
- <input name="remote_username" id="username" value="{tmpl_var name='remote_username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
-
- <div class="ctrlHolder">
- <label for="remote_password">{tmpl_var name='password_txt'}</label>
- <input name="remote_password" id="password" value="{tmpl_var name='remote_password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='function_txt'}</p>
- <div class="multiField">
- {tmpl_var name='remote_functions'}
- </div>
- </div>
-
- </fieldset>
-
- <input type="hidden" name="remote_userid" value="{tmpl_var name='id'}">
- <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/remote_user_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/remote_user_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/themes/default-304/templates/admin/remote_user_list.htm b/interface/web/themes/default-304/templates/admin/remote_user_list.htm
deleted file mode 100644
index a4549c0..0000000
--- a/interface/web/themes/default-304/templates/admin/remote_user_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-<div class="panel panel_list_users">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/remote_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_remote_userid" scope="col"><tmpl_var name="parent_remote_userid_txt"></th>
- <th class="tbl_col_remote_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_remote_userid"> </td>
- <td class="tbl_col_remote_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/remote_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_remote_userid"><a href="#" onClick="loadContent('admin/remote_user_edit.php?id={tmpl_var name='remote_userid'}');">{tmpl_var name="remote_userid"}</a></td>
- <td class="tbl_col_remote_username"><a href="#" onClick="loadContent('admin/remote_user_edit.php?id={tmpl_var name='remote_userid'}');">{tmpl_var name="remote_username"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/remote_user_del.php?id={tmpl_var name='remote_userid'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </div>
- </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-304/templates/admin/server_config_cron_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm
deleted file mode 100644
index 17c811b..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_cron_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="init_script">{tmpl_var name='init_script_txt'}</label>
- <input name="init_script" id="init_script" value="{tmpl_var name='init_script'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="crontab_dir">{tmpl_var name='crontab_dir_txt'}</label>
- <input name="crontab_dir" id="crontab_dir" value="{tmpl_var name='crontab_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="wget">{tmpl_var name='wget_txt'}</label>
- <input name="wget" id="wget" value="{tmpl_var name='wget'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_dns_edit.htm
deleted file mode 100644
index c308ec4..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_dns_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_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="bind_user">{tmpl_var name='bind_user_txt'}</label>
- <input name="bind_user" id="bind_user" value="{tmpl_var name='bind_user'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bind_group">{tmpl_var name='bind_group_txt'}</label>
- <input name="bind_group" id="bind_group" value="{tmpl_var name='bind_group'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bind_zonefiles_dir">{tmpl_var name='bind_zonefiles_dir_txt'}</label>
- <input name="bind_zonefiles_dir" id="bind_zonefiles_dir" value="{tmpl_var name='bind_zonefiles_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="named_conf_path">{tmpl_var name='named_conf_path_txt'}</label>
- <input name="named_conf_path" id="named_conf_path" value="{tmpl_var name='named_conf_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="named_conf_local_path">{tmpl_var name='named_conf_local_path_txt'}</label>
- <input name="named_conf_local_path" id="named_conf_local_path" value="{tmpl_var name='named_conf_local_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm
deleted file mode 100644
index ad94440..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_fastcgi_edit.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="fastcgi_starter_path">{tmpl_var name='fastcgi_starter_path_txt'}</label>
- <input name="fastcgi_starter_path" id="fastcgi_starter_path" value="{tmpl_var name='fastcgi_starter_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_starter_script">{tmpl_var name='fastcgi_starter_script_txt'}</label>
- <input name="fastcgi_starter_script" id="fastcgi_starter_script" value="{tmpl_var name='fastcgi_starter_script'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_alias">{tmpl_var name='fastcgi_alias_txt'}</label>
- <input name="fastcgi_alias" id="fastcgi_alias" value="{tmpl_var name='fastcgi_alias'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_phpini_path">{tmpl_var name='fastcgi_phpini_path_txt'}</label>
- <input name="fastcgi_phpini_path" id="fastcgi_phpini_path" value="{tmpl_var name='fastcgi_phpini_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_children">{tmpl_var name='fastcgi_children_txt'}</label>
- <input name="fastcgi_children" id="fastcgi_children" value="{tmpl_var name='fastcgi_children'}" size="40" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_max_requests">{tmpl_var name='fastcgi_max_requests_txt'}</label>
- <input name="fastcgi_max_requests" id="fastcgi_max_requests" value="{tmpl_var name='fastcgi_max_requests'}" size="40" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_bin">{tmpl_var name='fastcgi_bin_txt'}</label>
- <input name="fastcgi_bin" id="fastcgi_bin" value="{tmpl_var name='fastcgi_bin'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fastcgi_config_syntax">{tmpl_var name='fastcgi_config_syntax_txt'}</label>
- <select name="fastcgi_config_syntax" id="fastcgi_config_syntax" class="selectInput">
- {tmpl_var name='fastcgi_config_syntax'}
- </select>
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm
deleted file mode 100644
index 21492e4..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_getmail_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="getmail_config_dir">{tmpl_var name='getmail_config_dir_txt'}</label>
- <input name="getmail_config_dir" id="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm
deleted file mode 100644
index 19e0416..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_jailkit_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="jailkit_chroot_home">{tmpl_var name='jailkit_chroot_home_txt'}</label>
- <input name="jailkit_chroot_home" id="jailkit_chroot_home" value="{tmpl_var name='jailkit_chroot_home'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="jailkit_chroot_app_sections">{tmpl_var name='jailkit_chroot_app_sections_txt'}</label>
- <input name="jailkit_chroot_app_sections" id="jailkit_chroot_app_sections" value="{tmpl_var name='jailkit_chroot_app_sections'}" size="40" maxlength="1000" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="jailkit_chroot_app_programs">{tmpl_var name='jailkit_chroot_app_programs_txt'}</label>
- <input name="jailkit_chroot_app_programs" id="jailkit_chroot_app_programs" value="{tmpl_var name='jailkit_chroot_app_programs'}" size="40" maxlength="1000" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="jailkit_chroot_cron_programs">{tmpl_var name='jailkit_chroot_cron_programs_txt'}</label>
- <input name="jailkit_chroot_cron_programs" id="jailkit_chroot_cron_programs" value="{tmpl_var name='jailkit_chroot_cron_programs'}" size="40" maxlength="1000" type="text" class="textInput" />
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_list.htm b/interface/web/themes/default-304/templates/admin/server_config_list.htm
deleted file mode 100644
index 1f5356b..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_list.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_server_config">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_config_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_name"><a href="#" onClick="loadContent('admin/server_config_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/server_config_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="2"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm
deleted file mode 100644
index 7293b2c..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_mail_edit.htm
+++ /dev/null
@@ -1,100 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="module">{tmpl_var name='module_txt'}</label>
- <select name="module" id="module" class="selectInput formLengthHalf">
- {tmpl_var name='module'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="maildir_path">{tmpl_var name='maildir_path_txt'}</label>
- <input name="maildir_path" id="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <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">
- <p class="label">{tmpl_var name='pop3_imap_daemon_txt'}</p>
- <div class="multiField">
- <select name="pop3_imap_daemon" id="pop3_imap_daemon" class="selectInput">
- {tmpl_var name='pop3_imap_daemon'}
- </select>
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mail_filter_syntax_txt'}</p>
- <div class="multiField">
- <select name="mail_filter_syntax" id="mail_filter_syntax" class="selectInput">
- {tmpl_var name='mail_filter_syntax'}
- </select>
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="mailuser_uid">{tmpl_var name='mailuser_uid_txt'}</label>
- <input name="mailuser_uid" id="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="mailuser_gid">{tmpl_var name='mailuser_gid_txt'}</label>
- <input name="mailuser_gid" id="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="mailuser_name">{tmpl_var name='mailuser_name_txt'}</label>
- <input name="mailuser_name" id="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="mailuser_group">{tmpl_var name='mailuser_group_txt'}</label>
- <input name="mailuser_group" id="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mailbox_virtual_uidgid_maps_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mailbox_virtual_uidgid_maps'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="relayhost">{tmpl_var name='relayhost_txt'}</label>
- <input name="relayhost" id="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="relayhost_user">{tmpl_var name='relayhost_user_txt'}</label>
- <input name="relayhost_user" id="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="relayhost_password">{tmpl_var name='relayhost_password_txt'}</label>
- <input name="relayhost_password" id="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255" type="password" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="mailbox_size_limit">{tmpl_var name='mailbox_size_limit_txt'}</label>
- <input name="mailbox_size_limit" id="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
- <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mailbox_quota_stats_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mailbox_quota_stats'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="realtime_blackhole_list">{tmpl_var name='realtime_blackhole_list_txt'}</label>
- <input name="realtime_blackhole_list" id="realtime_blackhole_list" value="{tmpl_var name='realtime_blackhole_list'}" size="40" maxlength="255" type="text" class="textInput" /> {tmpl_var name='realtime_blackhole_list_note_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','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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm
deleted file mode 100644
index 0310344..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_rescue_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Rescue</legend>
- <div class="ctrlHolder">
- <p class="label" style="width:300px">{tmpl_var name='try_rescue_txt'}</p>
- <div class="multiField" style="width:100px">
- {tmpl_var name='try_rescue'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_httpd_txt'}</p>
- <div class="multiField" style="width:100px">
- {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_mysql_txt'}</p>
- <div class="multiField" style="width:100px">
- {tmpl_var name='do_not_try_rescue_mysql'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label" style="width:300px">{tmpl_var name='do_not_try_rescue_mail_txt'}</p>
- <div class="multiField" style="width:100px">
- {tmpl_var name='do_not_try_rescue_mail'}
- </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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm
deleted file mode 100644
index 3cb6848..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_server_edit.htm
+++ /dev/null
@@ -1,67 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='auto_network_configuration_txt'}</p>
- <div class="multiField">
- {tmpl_var name='auto_network_configuration'} {tmpl_var name='network_config_warning_txt'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
- <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="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>
- <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="nameservers">{tmpl_var name='nameservers_txt'}</label>
- <input name="nameservers" id="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='nameservers_hint_txt'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="firewall">{tmpl_var name='firewall_txt'}</label>
- <select name="firewall" id="firewall" class="selectInput">
- {tmpl_var name='firewall'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="loglevel">{tmpl_var name='loglevel_txt'}</label>
- <select name="loglevel" id="loglevel" class="selectInput">
- {tmpl_var name='loglevel'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_dir">{tmpl_var name='backup_dir_txt'}</label>
- <input name="backup_dir" id="backup_dir" value="{tmpl_var name='backup_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="backup_mode">{tmpl_var name='backup_mode_txt'}</label>
- <select name="backup_mode" id="backup_mode" class="selectInput">
- {tmpl_var name='backup_mode'}
- </select>
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm
deleted file mode 100644
index e0a1ded..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_ufw_edit.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>UFW Firewall</legend>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ufw_enable_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ufw_enable'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ufw_manage_builtins_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ufw_manage_builtins'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ufw_ipv6_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ufw_ipv6'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="ufw_default_input_policy">{tmpl_var name='ufw_default_input_policy_txt'}</label>
- <select name="ufw_default_input_policy" id="ufw_default_input_policy" class="selectInput">
- {tmpl_var name='ufw_default_input_policy'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ufw_default_output_policy">{tmpl_var name='ufw_default_output_policy_txt'}</label>
- <select name="ufw_default_output_policy" id="ufw_default_output_policy" class="selectInput">
- {tmpl_var name='ufw_default_output_policy'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ufw_default_forward_policy">{tmpl_var name='ufw_default_forward_policy_txt'}</label>
- <select name="ufw_default_forward_policy" id="ufw_default_forward_policy" class="selectInput">
- {tmpl_var name='ufw_default_forward_policy'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ufw_default_application_policy">{tmpl_var name='ufw_default_application_policy_txt'}</label>
- <select name="ufw_default_application_policy" id="ufw_default_application_policy" class="selectInput">
- {tmpl_var name='ufw_default_application_policy'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ufw_log_level">{tmpl_var name='ufw_log_level_txt'}</label>
- <select name="ufw_log_level" id="ufw_log_level" class="selectInput">
- {tmpl_var name='ufw_log_level'}
- </select>
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm
deleted file mode 100644
index c960fb1..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_vlogger_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="config_dir">{tmpl_var name='config_dir_txt'}</label>
- <input name="config_dir" id="config_dir" value="{tmpl_var name='config_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm b/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm
deleted file mode 100644
index a41efef..0000000
--- a/interface/web/themes/default-304/templates/admin/server_config_web_edit.htm
+++ /dev/null
@@ -1,256 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='server_type_txt'}</p>
- <div class="multiField">
- <select name="server_type" id="server_type" class="selectInput">
- {tmpl_var name='server_type'}
- </select>
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="website_basedir">{tmpl_var name='website_basedir_txt'}</label>
- <input name="website_basedir" id="website_basedir" value="{tmpl_var name='website_basedir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="website_path">{tmpl_var name='website_path_txt'}</label>
- <input name="website_path" id="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="website_symlinks">{tmpl_var name='website_symlinks_txt'}</label>
- <input name="website_symlinks" id="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="website_symlinks_rel">{tmpl_var name='website_symlinks_rel_txt'}</label>
- <div class="multiField">
- {tmpl_var name='website_symlinks_rel'}
- </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'}
- </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>
- <div class="ctrlHolder apache">
- <label for="vhost_conf_enabled_dir">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
- <input name="vhost_conf_enabled_dir" id="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_vhost_conf_dir">{tmpl_var name='nginx_vhost_conf_dir_txt'}</label>
- <input name="nginx_vhost_conf_dir" id="nginx_vhost_conf_dir" value="{tmpl_var name='nginx_vhost_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_vhost_conf_enabled_dir">{tmpl_var name='nginx_vhost_conf_enabled_dir_txt'}</label>
- <input name="nginx_vhost_conf_enabled_dir" id="nginx_vhost_conf_enabled_dir" value="{tmpl_var name='nginx_vhost_conf_enabled_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='security_level_txt'}</p>
- <div class="multiField">
- <select name="security_level" id="security_level" class="selectInput">
- {tmpl_var name='security_level'}
- </select>
- </div>
- </div>
- <div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='check_apache_config_txt'}</p>
- <div class="multiField">
- {tmpl_var name='check_apache_config'}
- </div>
- </div>
- <div class="ctrlHolder apache">
- <label for="user">{tmpl_var name='web_user_txt'}</label>
- <input name="user" id="user" value="{tmpl_var name='user'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder apache">
- <label for="group">{tmpl_var name='web_group_txt'}</label>
- <input name="group" id="group" value="{tmpl_var name='group'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_user">{tmpl_var name='nginx_user_txt'}</label>
- <input name="nginx_user" id="nginx_user" value="{tmpl_var name='nginx_user'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_group">{tmpl_var name='nginx_group_txt'}</label>
- <input name="nginx_group" id="nginx_group" value="{tmpl_var name='nginx_group'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_cgi_socket">{tmpl_var name='nginx_cgi_socket_txt'}</label>
- <input name="nginx_cgi_socket" id="nginx_cgi_socket" value="{tmpl_var name='nginx_cgi_socket'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder apache">
- <label for="htaccess_allow_override">{tmpl_var name='htaccess_allow_override_txt'}</label>
- <input name="htaccess_allow_override" id="htaccess_allow_override" value="{tmpl_var name='htaccess_allow_override'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='enable_ip_wildcard_txt'}</p>
- <div class="multiField">
- {tmpl_var name='enable_ip_wildcard'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='overtraffic_notify_admin_txt'}</p>
- <div class="multiField">
- {tmpl_var name='overtraffic_notify_admin'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='overtraffic_notify_client_txt'}</p>
- <div class="multiField">
- {tmpl_var name='overtraffic_notify_client'}
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='ssl_settings_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='enable_sni_txt'}</p>
- <div class="multiField">
- {tmpl_var name='enable_sni'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="CA_path">{tmpl_var name='CA_path_txt'}</label>
- <input name="CA_path" id="CA_path" value="{tmpl_var name='CA_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="CA_pass">{tmpl_var name='CA_pass_txt'}</label>
- <input name="CA_pass" id="CA_pass" value="{tmpl_var name='CA_pass'}" size="40" maxlength="255" type="password" class="textInput" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='permissions_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='set_folder_permissions_on_update_txt'}</p>
- <div class="multiField">
- {tmpl_var name='set_folder_permissions_on_update'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='web_folder_protection_txt'}</p>
- <div class="multiField">
- {tmpl_var name='web_folder_protection'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='add_web_users_to_sshusers_group_txt'}</p>
- <div class="multiField">
- {tmpl_var name='add_web_users_to_sshusers_group'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='connect_userid_to_webid_txt'}</p>
- <div class="multiField">
- {tmpl_var name='connect_userid_to_webid'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="connect_userid_to_webid_start">{tmpl_var name='connect_userid_to_webid_start_txt'}</label>
- <input name="connect_userid_to_webid_start" id="connect_userid_to_webid_start" value="{tmpl_var name='connect_userid_to_webid_start'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='php_settings_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder apache">
- <label for="php_ini_path_apache">{tmpl_var name='php_ini_path_apache_txt'}</label>
- <input name="php_ini_path_apache" id="php_ini_path_apache" value="{tmpl_var name='php_ini_path_apache'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder apache">
- <label for="php_ini_path_cgi">{tmpl_var name='php_ini_path_cgi_txt'}</label>
- <input name="php_ini_path_cgi" id="php_ini_path_cgi" value="{tmpl_var name='php_ini_path_cgi'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_init_script">{tmpl_var name='php_fpm_init_script_txt'}</label>
- <input name="php_fpm_init_script" id="php_fpm_init_script" value="{tmpl_var name='php_fpm_init_script'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_ini_path">{tmpl_var name='php_fpm_ini_path_txt'}</label>
- <input name="php_fpm_ini_path" id="php_fpm_ini_path" value="{tmpl_var name='php_fpm_ini_path'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_pool_dir">{tmpl_var name='php_fpm_pool_dir_txt'}</label>
- <input name="php_fpm_pool_dir" id="php_fpm_pool_dir" value="{tmpl_var name='php_fpm_pool_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_start_port">{tmpl_var name='php_fpm_start_port_txt'}</label>
- <input name="php_fpm_start_port" id="php_fpm_start_port" value="{tmpl_var name='php_fpm_start_port'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_socket_dir">{tmpl_var name='php_fpm_socket_dir_txt'}</label>
- <input name="php_fpm_socket_dir" id="php_fpm_socket_dir" value="{tmpl_var name='php_fpm_socket_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <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>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='apps_vhost_settings_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="apps_vhost_port">{tmpl_var name='apps_vhost_port_txt'}</label>
- <input name="apps_vhost_port" id="apps_vhost_port" value="{tmpl_var name='apps_vhost_port'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="apps_vhost_ip">{tmpl_var name='apps_vhost_ip_txt'}</label>
- <input name="apps_vhost_ip" id="apps_vhost_ip" value="{tmpl_var name='apps_vhost_ip'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="apps_vhost_servername">{tmpl_var name='apps_vhost_servername_txt'}</label>
- <input name="apps_vhost_servername" id="apps_vhost_servername" value="{tmpl_var name='apps_vhost_servername'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='awstats_settings_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="awstats_conf_dir">{tmpl_var name='awstats_conf_dir_txt'}</label>
- <input name="awstats_conf_dir" id="awstats_conf_dir" value="{tmpl_var name='awstats_conf_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="awstats_data_dir">{tmpl_var name='awstats_data_dir_txt'}</label>
- <input name="awstats_data_dir" id="awstats_data_dir" value="{tmpl_var name='awstats_data_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="awstats_pl">{tmpl_var name='awstats_pl_txt'}</label>
- <input name="awstats_pl" id="awstats_pl" value="{tmpl_var name='awstats_pl'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="awstats_buildstaticpages_pl">{tmpl_var name='awstats_buildstaticpages_pl_txt'}</label>
- <input name="awstats_buildstaticpages_pl" id="awstats_buildstaticpages_pl" value="{tmpl_var name='awstats_buildstaticpages_pl'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/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>
-<script language="JavaScript" type="text/javascript">
- var serverType = jQuery('#server_type').val();
- jQuery('#server_type').replaceWith('<label for="server_Type">'+serverType+'</label><input type="hidden" name="server_type" value="'+serverType+'">');
- adjustForm();
- jQuery('#server_type').change(function(){
- serverType = $(this).val();
- adjustForm();
- });
-
- function adjustForm(){
- if(serverType == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- }
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/server_edit_config.htm b/interface/web/themes/default-304/templates/admin/server_edit_config.htm
deleted file mode 100644
index e5e2392..0000000
--- a/interface/web/themes/default-304/templates/admin/server_edit_config.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="config">{tmpl_var name='config_txt'}</label>
- <textarea name="config" id="config" rows='20' cols='40'>{tmpl_var name='config'}</textarea>
- </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/server_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/themes/default-304/templates/admin/server_edit_services.htm b/interface/web/themes/default-304/templates/admin/server_edit_services.htm
deleted file mode 100644
index f6e4732..0000000
--- a/interface/web/themes/default-304/templates/admin/server_edit_services.htm
+++ /dev/null
@@ -1,70 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="server_name">{tmpl_var name='server_name_txt'}</label>
- <input name="server_name" id="server_name" value="{tmpl_var name='server_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mail_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mail_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='web_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='web_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='dns_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='dns_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='file_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='file_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='db_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='db_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='vserver_server_txt'}</p>
- <div class="multiField">
- {tmpl_var name='vserver_server'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="mirror_server_id">{tmpl_var name='mirror_server_id_txt'}</label>
- <select name="mirror_server_id" id="server_id" class="selectInput">
- {tmpl_var name='mirror_server_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="active">{tmpl_var name='active_txt'}</label>
- <select name="active" id="active" class="selectInput formLengthBool">
- {tmpl_var name='active'}
- </select>
- </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/server_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/themes/default-304/templates/admin/server_ip_edit.htm b/interface/web/themes/default-304/templates/admin/server_ip_edit.htm
deleted file mode 100644
index 35718ce..0000000
--- a/interface/web/themes/default-304/templates/admin/server_ip_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_ip">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>IP Address</legend>
- <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="client_id">{tmpl_var name='client_id_txt'}</label>
- <select name="client_id" id="client_id" class="selectInput">
- {tmpl_var name='client_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ip_type">{tmpl_var name='ip_type_txt'}</label>
- <select name="ip_type" id="ip_type" class="selectInput">
- {tmpl_var name='ip_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
- <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='virtualhost_txt'}</p>
- <div class="multiField">
- {tmpl_var name='virtualhost'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="virtualhost_port">{tmpl_var name='virtualhost_port_txt'}</label>
- <input name="virtualhost_port" id="virtualhost_port" value="{tmpl_var name='virtualhost_port'}" size="15" maxlength="15" type="text" class="textInput" />
- </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/server_ip_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_ip_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/themes/default-304/templates/admin/server_ip_list.htm b/interface/web/themes/default-304/templates/admin/server_ip_list.htm
deleted file mode 100644
index 4234e00..0000000
--- a/interface/web/themes/default-304/templates/admin/server_ip_list.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_server_ip">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/server_ip_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
- <th class="tbl_col_ip_type" scope="col"><tmpl_var name="ip_type_txt"></th>
- <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
- <th class="tbl_col_virtualhost" scope="col"><tmpl_var name="virtualhost_txt"></th>
- <th class="tbl_col_virtualhost_port" scope="col"><tmpl_var name="virtualhost_port_txt"></th>
- <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_client_id"><select name="search_client_id">{tmpl_var name='search_client_id'}</select></td>
- <td class="tbl_col_ip_type"><select name="search_ip_type">{tmpl_var name='search_ip_type'}</select></td>
- <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" value="{tmpl_var name='search_ip_address'}" /></td>
- <td class="tbl_col_virtualhost"><select name="search_virtualhost">{tmpl_var name='search_virtualhost'}</select></td>
- <td class="tbl_col_virtualhost_port"><input type="text" name="search_virtualhost_port" value="{tmpl_var name='search_virtualhost_port'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_ip_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_id"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_client_id"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
- <td class="tbl_col_ip_type"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_type"}</a></td>
- <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
- <td class="tbl_col_virtualhost"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virtualhost"}</a></td>
- <td class="tbl_col_virtualhost_port"><a href="#" onClick="loadContent('admin/server_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virtualhost_port"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/server_ip_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><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/admin/server_list.htm b/interface/web/themes/default-304/templates/admin/server_list.htm
deleted file mode 100644
index 078d262..0000000
--- a/interface/web/themes/default-304/templates/admin/server_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_server">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
- <th class="tbl_col_mail_server" scope="col"><tmpl_var name="mail_server_txt"></th>
- <th class="tbl_col_web_server" scope="col"><tmpl_var name="web_server_txt"></th>
- <th class="tbl_col_dns_server" scope="col"><tmpl_var name="dns_server_txt"></th>
- <th class="tbl_col_file_server" scope="col"><tmpl_var name="file_server_txt"></th>
- <th class="tbl_col_db_server" scope="col"><tmpl_var name="db_server_txt"></th>
- <th class="tbl_col_vserver_server" scope="col"><tmpl_var name="vserver_server_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
- <td class="tbl_col_mail_server"><select name="search_active">{tmpl_var name='search_mail_server'}</select></td>
- <td class="tbl_col_web_server"><select name="search_active">{tmpl_var name='search_web_server'}</select></td>
- <td class="tbl_col_dns_server"><select name="search_active">{tmpl_var name='search_dns_server'}</select></td>
- <td class="tbl_col_file_server"><select name="search_active">{tmpl_var name='search_file_server'}</select></td>
- <td class="tbl_col_db_server"><select name="search_active">{tmpl_var name='search_db_server'}</select></td>
- <td class="tbl_col_vserver_server"><select name="search_active">{tmpl_var name='search_vserver_server'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_name"><a href="#" onClick="loadContent('admin/server_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
- <td class="tbl_col_mail_server">{tmpl_var name="mail_server"}</td>
- <td class="tbl_col_web_server">{tmpl_var name="web_server"}</td>
- <td class="tbl_col_dns_server">{tmpl_var name="dns_server"}</td>
- <td class="tbl_col_file_server">{tmpl_var name="file_server"}</td>
- <td class="tbl_col_db_server">{tmpl_var name="db_server"}</td>
- <td class="tbl_col_vserver_server">{tmpl_var name="vserver_server"}</td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/server_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="8"><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/admin/server_php_fastcgi_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm
deleted file mode 100644
index 21eba02..0000000
--- a/interface/web/themes/default-304/templates/admin/server_php_fastcgi_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="php_fastcgi_binary">{tmpl_var name='php_fastcgi_binary_txt'}</label>
- <input name="php_fastcgi_binary" id="php_fastcgi_binary" value="{tmpl_var name='php_fastcgi_binary'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fastcgi_ini_dir">{tmpl_var name='php_fastcgi_ini_dir_txt'}</label>
- <input name="php_fastcgi_ini_dir" id="php_fastcgi_ini_dir" value="{tmpl_var name='php_fastcgi_ini_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/server_php_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_php_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/themes/default-304/templates/admin/server_php_fpm_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm
deleted file mode 100644
index 92cd4a8..0000000
--- a/interface/web/themes/default-304/templates/admin/server_php_fpm_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="php_fpm_init_script">{tmpl_var name='php_fpm_init_script_txt'}</label>
- <input name="php_fpm_init_script" id="php_fpm_init_script" value="{tmpl_var name='php_fpm_init_script'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_ini_dir">{tmpl_var name='php_fpm_ini_dir_txt'}</label>
- <input name="php_fpm_ini_dir" id="php_fpm_ini_dir" value="{tmpl_var name='php_fpm_ini_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="php_fpm_pool_dir">{tmpl_var name='php_fpm_pool_dir_txt'}</label>
- <input name="php_fpm_pool_dir" id="php_fpm_pool_dir" value="{tmpl_var name='php_fpm_pool_dir'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/server_php_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_php_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/themes/default-304/templates/admin/server_php_list.htm b/interface/web/themes/default-304/templates/admin/server_php_list.htm
deleted file mode 100644
index 44e6a1f..0000000
--- a/interface/web/themes/default-304/templates/admin/server_php_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_server_php">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/server_php_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
- <th class="tbl_col_ip_address" scope="col"><tmpl_var name="name_txt"></th>
- <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_client_id"><select name="search_client_id">{tmpl_var name='search_client_id'}</select></td>
- <td class="tbl_col_ip_address"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/server_php_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_id"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_client_id"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
- <td class="tbl_col_name"><a href="#" onClick="loadContent('admin/server_php_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/server_php_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/admin/server_php_name_edit.htm b/interface/web/themes/default-304/templates/admin/server_php_name_edit.htm
deleted file mode 100644
index d9e88ff..0000000
--- a/interface/web/themes/default-304/templates/admin/server_php_name_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_server_php">
-
- <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="client_id">{tmpl_var name='client_id_txt'}</label>
- <select name="client_id" id="client_id" class="selectInput">
- {tmpl_var name='client_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="40" maxlength="255" type="text" class="textInput" />
- </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/server_php_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_php_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/themes/default-304/templates/admin/software_package_install.htm b/interface/web/themes/default-304/templates/admin/software_package_install.htm
deleted file mode 100644
index 1d2d4de..0000000
--- a/interface/web/themes/default-304/templates/admin/software_package_install.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="head_txt"></h2>
-<p><tmpl_var name="desc_txt"></p>
-
-<div class="panel panel_software_repo">
- <tmpl_if name="message_err">
- <div id="errorMsg"><tmpl_var name="message_err"></div>
- </tmpl_if>
- <tmpl_if name="message_ok">
- <div id="OKMsg"><tmpl_var name="message_ok"></div>
- </tmpl_if>
- <tmpl_if name="insert_key">
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <p> </p>
- <div class="ctrlHolder">
- <label for="install_key">{tmpl_var name='install_key_txt'}</label>
- <input name="install_key" id="install_key" value="{tmpl_var name='install_key'}" size="40" maxlength="40" type="text" class="textInput" />
- </div>
-
- <input type="hidden" name="package" value="{tmpl_var name='package_name'}">
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id'}">
- <p> </p>
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/software_package_install.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/software_package_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </fieldset>
- </div>
- </tmpl_if>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_package_list.htm b/interface/web/themes/default-304/templates/admin/software_package_list.htm
deleted file mode 100644
index 0cb6f47..0000000
--- a/interface/web/themes/default-304/templates/admin/software_package_list.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_package">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/software_package_list.php?action=repoupdate');">
- <span>{tmpl_var name="repoupdate_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_installed" scope="col"><tmpl_var name="installed_txt"></th>
- <th class="tbl_col_package_title" scope="col"><tmpl_var name="package_title_txt"></th>
- <th class="tbl_col_package_description" scope="col"><tmpl_var name="package_description_txt"></th>
- <th class="tbl_col_package_description" scope="col"><tmpl_var name="package_id_txt"></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_installed">{tmpl_var name="installed"}</td>
- <td class="tbl_col_package_title">{tmpl_var name="package_title"}</td>
- <td class="tbl_col_package_description">{tmpl_var name="package_description"}</td>
- <td class="tbl_col_package_description">ispapp{tmpl_var name="package_id"}</td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/software_repo_edit.htm b/interface/web/themes/default-304/templates/admin/software_repo_edit.htm
deleted file mode 100644
index bd8b230..0000000
--- a/interface/web/themes/default-304/templates/admin/software_repo_edit.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_software_repo">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="repo_name">{tmpl_var name='repo_name_txt'}</label>
- <input name="repo_name" id="repo_name" value="{tmpl_var name='repo_name'}" size="40" maxlength="40" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="repo_url">{tmpl_var name='repo_url_txt'}</label>
- <input name="repo_url" id="repo_url" value="{tmpl_var name='repo_url'}" size="40" maxlength="40" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="repo_username">{tmpl_var name='repo_username_txt'}</label>
- <input name="repo_username" id="repo_username" value="{tmpl_var name='repo_username'}" size="30" maxlength="30" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="repo_password">{tmpl_var name='repo_password_txt'}</label>
- <input name="repo_password" id="repo_password" value="{tmpl_var name='repo_password'}" size="30" maxlength="30" type="password" class="textInput formLengthHalf" />
- </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/software_repo_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/software_repo_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/themes/default-304/templates/admin/software_repo_list.htm b/interface/web/themes/default-304/templates/admin/software_repo_list.htm
deleted file mode 100644
index 16a1749..0000000
--- a/interface/web/themes/default-304/templates/admin/software_repo_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_software_repo">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/software_repo_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_repo_name" scope="col"><tmpl_var name="repo_name_txt"></th>
- <th class="tbl_col_repo_url" scope="col"><tmpl_var name="repo_url_txt"></th>
- <th class="tbl_col_buttons" scope="col"> </th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_repo_name"><input type="text" name="search_repo_name" value="{tmpl_var name='search_repo_name'}" /></td>
- <td class="tbl_col_repo_url"><input type="text" name="search_repo_url" value="{tmpl_var name='search_repo_url'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/software_repo_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_repo_name"><a href="#" onClick="loadContent('admin/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="repo_name"}</a></td>
- <td class="tbl_col_repo_url"><a href="#" onClick="loadContent('admin/software_repo_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="repo_url"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('admin/software_repo_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/admin/software_update_list.htm b/interface/web/themes/default-304/templates/admin/software_update_list.htm
deleted file mode 100644
index 8a3760e..0000000
--- a/interface/web/themes/default-304/templates/admin/software_update_list.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_software_update">
-
- <div class="pnl_toolsarea">
- <fieldset class="inlineLabels"><legend>Tools</legend>
- <div class="buttons">
- <div class="ctrlHolder">
- <label for="server_id">{tmpl_var name='server_select_txt'}</label>
- <select name="server_id" id="server_id" class="selectInput" onChange="submitForm('pageForm','admin/software_update_list.php');">
- <tmpl_loop name="servers">
- <option value="{tmpl_var name='server_id'}" {tmpl_var name='selected'}>{tmpl_var name='server_name'}</option>
- </tmpl_loop>
- </select>
- </div>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_installed" scope="col"><tmpl_var name="installed_txt"></th>
- <th class="tbl_col_update_title" scope="col"><tmpl_var name="update_title_txt"></th>
- <th class="tbl_col_version" scope="col"><tmpl_var name="version_txt"></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_installed">{tmpl_var name="installed"}</td>
- <td class="tbl_col_update_title">{tmpl_var name="update_title"}</td>
- <td class="tbl_col_version">{tmpl_var name="version"}</td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm
deleted file mode 100644
index 6055879..0000000
--- a/interface/web/themes/default-304/templates/admin/system_config_domains_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <div style="float:left;width:100%">
- <p class="label" style="width:270px">{tmpl_var name='use_domain_module_txt'}</p>
- <div class="multiField">
- {tmpl_var name='use_domain_module'}
- </div>
- </div>
- <div style="float:left;width:500px;margin-top:20px">{tmpl_var name='use_domain_module_hint'}</div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='new_domain_txt'}</p>
- <div class="multiField">
- <textarea name="new_domain_html" id="new_domain_html" style="width: 500px; height: 250px">{tmpl_var name='new_domain_html'}</textarea>
- </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/users_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/themes/default-304/templates/admin/system_config_mail_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm
deleted file mode 100644
index 013c39a..0000000
--- a/interface/web/themes/default-304/templates/admin/system_config_mail_edit.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='enable_custom_login_txt'}</p>
- <div class="multiField">
- {tmpl_var name='enable_custom_login'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mailboxlist_webmail_link_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mailboxlist_webmail_link'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="webmail_url">{tmpl_var name='webmail_url_txt'}</label>
- <input name="webmail_url" id="webmail_url" value="{tmpl_var name='webmail_url'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mailmailinglist_link_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mailmailinglist_link'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="mailmailinglist_url">{tmpl_var name='mailmailinglist_url_txt'}</label>
- <input name="mailmailinglist_url" id="mailmailinglist_url" value="{tmpl_var name='mailmailinglist_url'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="admin_mail">{tmpl_var name='admin_mail_txt'}</label>
- <input name="admin_mail" id="admin_mail" value="{tmpl_var name='admin_mail'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="admin_name">{tmpl_var name='admin_name_txt'}</label>
- <input name="admin_name" id="admin_name" value="{tmpl_var name='admin_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='smtp_enabled_txt'}</p>
- <div class="multiField">
- {tmpl_var name='smtp_enabled'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="smtp_host">{tmpl_var name='smtp_host_txt'}</label>
- <input name="smtp_host" id="smtp_host" value="{tmpl_var name='smtp_host'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="smtp_port">{tmpl_var name='smtp_port_txt'}</label>
- <input name="smtp_port" id="smtp_port" value="{tmpl_var name='smtp_port'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="smtp_user">{tmpl_var name='smtp_user_txt'}</label>
- <input name="smtp_user" id="smtp_user" value="{tmpl_var name='smtp_user'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="smtp_pass">{tmpl_var name='smtp_pass_txt'}</label>
- <input name="smtp_pass" id="smtp_pass" value="" size="30" maxlength="255" type="password" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='smtp_crypt_txt'}</p>
- <div class="multiField">
- {tmpl_var name='smtp_crypt'}
- </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/users_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/themes/default-304/templates/admin/system_config_misc_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_misc_edit.htm
deleted file mode 100644
index 31350cd..0000000
--- a/interface/web/themes/default-304/templates/admin/system_config_misc_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_system_config">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Misc</legend>
- <div class="ctrlHolder">
- <label for="dashboard_atom_url_admin">{tmpl_var name='dashboard_atom_url_admin_txt'}</label>
- <input name="dashboard_atom_url_admin" id="dashboard_atom_url_admin" value="{tmpl_var name='dashboard_atom_url_admin'}" size="" maxlength="" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="dashboard_atom_url_reseller">{tmpl_var name='dashboard_atom_url_reseller_txt'}</label>
- <input name="dashboard_atom_url_reseller" id="dashboard_atom_url_reseller" value="{tmpl_var name='dashboard_atom_url_reseller'}" size="" maxlength="" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="dashboard_atom_url_client">{tmpl_var name='dashboard_atom_url_client_txt'}</label>
- <input name="dashboard_atom_url_client" id="dashboard_atom_url_client" value="{tmpl_var name='dashboard_atom_url_client'}" size="" maxlength="" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="monitor_key">{tmpl_var name='monitor_key_txt'}</label>
- <input name="monitor_key" id="monitor_key" value="{tmpl_var name='monitor_key'}" size="" maxlength="" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='maintenance_mode_txt'}</p>
- <div class="multiField">
- {tmpl_var name='maintenance_mode'}
- </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/themes/default-304/templates/admin/system_config_sites_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
deleted file mode 100644
index c3fc9bf..0000000
--- a/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="dbname_prefix">{tmpl_var name='dbname_prefix_txt'}</label>
- <input name="dbname_prefix" id="dbname_prefix" value="{tmpl_var name='dbname_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="dbuser_prefix">{tmpl_var name='dbuser_prefix_txt'}</label>
- <input name="dbuser_prefix" id="dbuser_prefix" value="{tmpl_var name='dbuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="ftpuser_prefix">{tmpl_var name='ftpuser_prefix_txt'}</label>
- <input name="ftpuser_prefix" id="ftpuser_prefix" value="{tmpl_var name='ftpuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="shelluser_prefix">{tmpl_var name='shelluser_prefix_txt'}</label>
- <input name="shelluser_prefix" id="shelluser_prefix" value="{tmpl_var name='shelluser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="webdavuser_prefix">{tmpl_var name='webdavuser_prefix_txt'}</label>
- <input name="webdavuser_prefix" id="webdavuser_prefix" value="{tmpl_var name='webdavuser_prefix'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='dblist_phpmyadmin_link_txt'}</p>
- <div class="multiField">
- {tmpl_var name='dblist_phpmyadmin_link'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="phpmyadmin_url">{tmpl_var name='phpmyadmin_url_txt'}</label>
- <input name="phpmyadmin_url" id="phpmyadmin_url" value="{tmpl_var name='phpmyadmin_url'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="webftp_url">{tmpl_var name='webftp_url_txt'}</label>
- <input name="webftp_url" id="webftp_url" value="{tmpl_var name='webftp_url'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='vhost_subdomains_txt'}</p>
- <div class="multiField">
- {tmpl_var name='vhost_subdomains'} {tmpl_var name='vhost_subdomains_note_txt'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='vhost_aliasdomains_txt'}</p>
- <div class="multiField">
- {tmpl_var name='vhost_aliasdomains'} {tmpl_var name='vhost_aliasdomains_note_txt'}
- </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/users_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/themes/default-304/templates/admin/tpl_default_basic.htm b/interface/web/themes/default-304/templates/admin/tpl_default_basic.htm
deleted file mode 100644
index f6a6371..0000000
--- a/interface/web/themes/default-304/templates/admin/tpl_default_basic.htm
+++ /dev/null
@@ -1,23 +0,0 @@
-<h2><tmpl_var name="tpl_default_head_txt"></h2>
-<p><tmpl_var name="tpl_default_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="logo_url">{tmpl_var name='logo_url_txt'}Logo URL</label>
- <input name="logo_url" id="logo_url" value="{tmpl_var name='logo_url'}" size="" maxlength="" type="text" class="textInput" /> 152x46px
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input type="hidden" name="username" value="global">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/tpl_default.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/themes/default-304/templates/admin/users_groups_edit.htm b/interface/web/themes/default-304/templates/admin/users_groups_edit.htm
deleted file mode 100644
index cb52ae3..0000000
--- a/interface/web/themes/default-304/templates/admin/users_groups_edit.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_users">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="default_group">{tmpl_var name='default_group_txt'}</label>
- <select name="default_group" id="default_group" class="selectInput">
- {tmpl_var name='default_group'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='groups_txt'}</p>
- <div class="multiField">
- {tmpl_var name='groups'}
- </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/users_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/users_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/themes/default-304/templates/admin/users_list.htm b/interface/web/themes/default-304/templates/admin/users_list.htm
deleted file mode 100644
index 3eeee31..0000000
--- a/interface/web/themes/default-304/templates/admin/users_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_users">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('admin/users_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- <p><tmpl_var name="warning_txt"></p>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_groups" scope="col"><tmpl_var name="groups_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" /></td>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_groups"><select name="search_groups">{tmpl_var name='search_groups'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','admin/users_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_client_id"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('admin/users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_groups">{tmpl_var name="groups"}</td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="username" op="!=" value="admin">
- <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
- <a class="icons16 icoDelete" href="javascript: del_record('admin/users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </tmpl_if>
- </div>
- </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="5">{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/themes/default-304/templates/admin/users_user_edit.htm b/interface/web/themes/default-304/templates/admin/users_user_edit.htm
deleted file mode 100644
index 4abe793..0000000
--- a/interface/web/themes/default-304/templates/admin/users_user_edit.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_users">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="15" maxlength="30" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="passwort">{tmpl_var name='passwort_txt'}</label>
- <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('passwort','repeat_password');"/> <a href="javascript:void(0);" onClick="generatePassword('passwort','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('passwort','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='modules_txt'}</p>
- <div class="multiField">
- {tmpl_var name='modules'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
- <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
- {tmpl_var name='startmodule'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='app_theme_txt'}</p>
- <div class="multiField">
- {tmpl_var name='app_theme'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='typ_txt'}</p>
- <div class="multiField">
- {tmpl_var name='typ'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="language">{tmpl_var name='language_txt'}</label>
- <select name="language" id="language" class="selectInput flags">
- {tmpl_var name='language'}
- </select>
- </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/users_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/users_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/themes/default-304/templates/client/client_circle_edit.htm b/interface/web/themes/default-304/templates/client/client_circle_edit.htm
deleted file mode 100644
index 1616dd4..0000000
--- a/interface/web/themes/default-304/templates/client/client_circle_edit.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='circle_txt'}</legend>
- <div class="ctrlHolder">
- <label for="circle_name">{tmpl_var name='circle_name_txt'}*</label>
- <input name="circle_name" id="circle_name" value="{tmpl_var name='circle_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='client_ids_txt'}</p>
- <div class="multiField">
- {tmpl_var name='client_ids'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="description">{tmpl_var name='description_txt'}</label>
- <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- {tmpl_var name='required_fields_txt'}
- </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','client/client_circle_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('client/client_circle_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/themes/default-304/templates/client/client_circle_list.htm b/interface/web/themes/default-304/templates/client/client_circle_list.htm
deleted file mode 100644
index 4c5a889..0000000
--- a/interface/web/themes/default-304/templates/client/client_circle_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_circle_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_circle_id" scope="col"><tmpl_var name="circle_id_txt"></th>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_circle_name" scope="col"><tmpl_var name="circle_name_txt"></th>
- <th class="tbl_col_description" scope="col"><tmpl_var name="description_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_circle_id"><input type="text" name="search_circle_id" value="{tmpl_var name='search_circle_id'}" style="width:30px;" /></td>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_circle_name"><input type="text" name="search_circle_name" value="{tmpl_var name='search_circle_name'}" style="width:120px;" /></td>
- <td class="tbl_col_description"><input type="text" name="search_description" value="{tmpl_var name='search_description'}" style="width:120px;" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_circle_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_circle_id"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="circle_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_circle_name"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="circle_name"}</a></td>
- <td class="tbl_col_description"><a href="#" onClick="loadContent('client/client_circle_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="description"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16" style="width:60px;">
- <a class="icons16 icoDelete" href="javascript: del_record('client/client_circle_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>
- </div>
- </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-304/templates/client/client_del.htm b/interface/web/themes/default-304/templates/client/client_del.htm
deleted file mode 100644
index aeb206f..0000000
--- a/interface/web/themes/default-304/templates/client/client_del.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_del">
-
- <div class="pnl_formsarea">
-
- <div id="OKMsg">
- <tmpl_var name="delete_explanation">:<br /><br />
- <tmpl_loop name="records">
- <tmpl_var name="table">,
- </tmpl_loop>
- </div>
-
- <input type="checkbox" name="confirm" value="yes" /> <b><tmpl_var name="confirm_action_txt"></b>
-
- <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','client/client_del.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('client/client_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/themes/default-304/templates/client/client_edit_address.htm b/interface/web/themes/default-304/templates/client/client_edit_address.htm
deleted file mode 100644
index 076f4b0..0000000
--- a/interface/web/themes/default-304/templates/client/client_edit_address.htm
+++ /dev/null
@@ -1,140 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Address</legend>
- <div class="ctrlHolder">
- <label for="company_name">{tmpl_var name='company_name_txt'}</label>
- <input name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="contact_name">{tmpl_var name='contact_name_txt'}*</label>
- <input name="contact_name" id="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="customer_no">{tmpl_var name='customer_no_txt'}</label>
- <input name="customer_no" id="customer_no" value="{tmpl_var name='customer_no'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}*</label>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="language">{tmpl_var name='language_txt'}</label>
- <select name="language" id="language" class="selectInput flags">
- {tmpl_var name='language'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="usertheme">{tmpl_var name='usertheme_txt'}</label>
- <select name="usertheme" id="usertheme" class="selectInput">
- {tmpl_var name='usertheme'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="street">{tmpl_var name='street_txt'}</label>
- <input name="street" id="street" value="{tmpl_var name='street'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="zip">{tmpl_var name='zip_txt'}</label>
- <input name="zip" id="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="city">{tmpl_var name='city_txt'}</label>
- <input name="city" id="city" value="{tmpl_var name='city'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="state">{tmpl_var name='state_txt'}</label>
- <input name="state" id="state" value="{tmpl_var name='state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="country">{tmpl_var name='country_txt'}</label>
- <select name="country" id="country" class="selectInput flags">
- {tmpl_var name='country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="telephone">{tmpl_var name='telephone_txt'}</label>
- <input name="telephone" id="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="mobile">{tmpl_var name='mobile_txt'}</label>
- <input name="mobile" id="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fax">{tmpl_var name='fax_txt'}</label>
- <input name="fax" id="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="internet">{tmpl_var name='internet_txt'}</label>
- <input name="internet" id="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="icq">{tmpl_var name='icq_txt'}</label>
- <input name="icq" id="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="vat_id">{tmpl_var name='vat_id_txt'}</label>
- <input name="vat_id" id="vat_id" value="{tmpl_var name='vat_id'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="company_id">{tmpl_var name='company_id_txt'}</label>
- <input name="company_id" id="company_id" value="{tmpl_var name='company_id'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bank_account_number">{tmpl_var name='bank_account_number_txt'}</label>
- <input name="bank_account_number" id="bank_account_number" value="{tmpl_var name='bank_account_number'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bank_code">{tmpl_var name='bank_code_txt'}</label>
- <input name="bank_code" id="bank_code" value="{tmpl_var name='bank_code'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bank_name">{tmpl_var name='bank_name_txt'}</label>
- <input name="bank_name" id="bank_name" value="{tmpl_var name='bank_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bank_account_iban">{tmpl_var name='bank_account_iban_txt'}</label>
- <input name="bank_account_iban" id="bank_account_iban" value="{tmpl_var name='bank_account_iban'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bank_account_swift">{tmpl_var name='bank_account_swift_txt'}</label>
- <input name="bank_account_swift" id="bank_account_swift" value="{tmpl_var name='bank_account_swift'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="notes">{tmpl_var name='notes_txt'}</label>
- <textarea name="notes" id="notes" rows='10' cols='30'>{tmpl_var name='notes'}</textarea>
- </div>
- {tmpl_var name='required_fields_txt'}
- </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','client/client_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('client/client_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/themes/default-304/templates/client/client_edit_limits.htm b/interface/web/themes/default-304/templates/client/client_edit_limits.htm
deleted file mode 100644
index 8ce7f80..0000000
--- a/interface/web/themes/default-304/templates/client/client_edit_limits.htm
+++ /dev/null
@@ -1,284 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <tmpl_if name="is_admin">
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="positive iconstxt icoAdd" type="button" value="{tmpl_var name='add_additional_template_txt'}" onClick="addAdditionalTemplate();"><span>{tmpl_var name='add_additional_template_txt'}</span></button>
- <button class="negative iconstxt icoDelete" type="button" value="{tmpl_var name='delete_additional_template_txt'}" onClick="delAdditionalTemplate();"><span>{tmpl_var name='delete_additional_template_txt'}</span></button>
- </div>
- </fieldset>
- </div>
- </tmpl_if>
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Limits</legend>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="template_master">{tmpl_var name='template_master_txt'}</label>
- <select name="template_master" id="template_master" class="selectInput">
- {tmpl_var name='template_master'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="template_additional">{tmpl_var name='template_additional_txt'}</label>
- <select name="tpl_add_select" id="tpl_add_select" class="selectInput">
- {tmpl_var name='tpl_add_select'}
- </select>
- <div id="template_additional_list"><br /><br />{tmpl_var name='template_additional_list'}</div>
- <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}">
- </div>
- <div class="ctrlHolder">
-
- </div>
- </tmpl_if>
- <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
- <div>
- <div class="ctrlHolder">
- <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
- <select name="default_webserver" id="default_webserver" class="selectInput">
- {tmpl_var name='default_webserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
- <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
- <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
- <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='web_php_options_txt'}</p>
- <div class="multiField">
- {tmpl_var name='web_php_options'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_cgi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_perl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ruby'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_python'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='force_suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='force_suexec'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_hterror'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_wildcard'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
- <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
- <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
- <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
- <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssh_chroot'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
- <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
- <select name="default_mailserver" id="default_mailserver" class="selectInput">
- {tmpl_var name='default_mailserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
- <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
- <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
- <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
- <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
- <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
- <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
- <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
- <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
- <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
- <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
- <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
- <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
- <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
- <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
- <select name="default_dbserver" id="default_dbserver" class="selectInput">
- {tmpl_var name='default_dbserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
- <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
- <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
- <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
- {tmpl_var name='limit_cron_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
- <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label>
- <select name="default_dnsserver" id="default_dnsserver" class="selectInput">
- {tmpl_var name='default_dnsserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
- <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
- <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
- <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
- <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
- <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
- {tmpl_var name='limit_openvz_vm_template_id'}
- </select>
- </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','client/client_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('client/client_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/themes/default-304/templates/client/client_message.htm b/interface/web/themes/default-304/templates/client/client_message.htm
deleted file mode 100644
index 20afdb1..0000000
--- a/interface/web/themes/default-304/templates/client/client_message.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="form_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='form_legend_txt'}</legend>
- <tmpl_if name="okmsg">
- <div id="OKMsg"><p><tmpl_var name="okmsg"></p></div>
- </tmpl_if>
- <tmpl_if name="error">
- <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="sender">{tmpl_var name='sender_txt'}</label>
- <input name="sender" id="sender" value="{tmpl_var name='sender'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="recipient">{tmpl_var name='recipient_txt'}</label>
- <select name="recipient" id="recipient" class="selectInput">
- {tmpl_var name='recipient'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="subject">{tmpl_var name='subject_txt'}</label>
- <input name="subject" id="subject" value="{tmpl_var name='subject'}" style="width:500px" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="message">{tmpl_var name='message_txt'}</label>
- <textarea name="message" id="message" rows='' cols='' style="width:500px">{tmpl_var name='message'}</textarea> {tmpl_var name="variables_txt"} {tmpl_var name="message_variables"}
- </div>
- </fieldset>
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_send_txt'}" onClick="submitForm('pageForm','client/client_message.php');"><span>{tmpl_var name='btn_send_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_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/themes/default-304/templates/client/client_template_edit_limits.htm b/interface/web/themes/default-304/templates/client/client_template_edit_limits.htm
deleted file mode 100644
index 91f9bd5..0000000
--- a/interface/web/themes/default-304/templates/client/client_template_edit_limits.htm
+++ /dev/null
@@ -1,230 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_template">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Limits</legend>
- <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
- <div>
- <div class="ctrlHolder">
- <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
- <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
- <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
- <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='web_php_options_txt'}</p>
- <div class="multiField">
- {tmpl_var name='web_php_options'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_cgi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_perl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ruby'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_python'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='force_suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='force_suexec'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_hterror'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_wildcard'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
- <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
- <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
- <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
- <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssh_chroot'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
- <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
- <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
- <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
- <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
- <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
- <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
- <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
- <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
- <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
- <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
- <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
- <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
- <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
- <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
- <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
- <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
- <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
- <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
- {tmpl_var name='limit_cron_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
- <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
- <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
- <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
- <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
- <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
- <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
- {tmpl_var name='limit_openvz_vm_template_id'}
- </select>
- </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','client/client_template_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('client/client_template_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/themes/default-304/templates/client/client_template_edit_template.htm b/interface/web/themes/default-304/templates/client/client_template_edit_template.htm
deleted file mode 100644
index 232fa55..0000000
--- a/interface/web/themes/default-304/templates/client/client_template_edit_template.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client_template">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Template</legend>
- <div class="ctrlHolder">
- <label for="template_type">{tmpl_var name='template_type_txt'}</label>
- <select name="template_type" id="template_type" class="selectInput">
- {tmpl_var name='template_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="template_name">{tmpl_var name='template_name_txt'}</label>
- <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','client/client_template_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('client/client_template_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/client/client_template_list.htm b/interface/web/themes/default-304/templates/client/client_template_list.htm
deleted file mode 100644
index 5249fce..0000000
--- a/interface/web/themes/default-304/templates/client/client_template_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_limit_template">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_template_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_template_id" scope="col"><tmpl_var name="template_id_txt"></th>
- <th class="tbl_col_template_type" scope="col"><tmpl_var name="template_type_txt"></th>
- <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_template_id"><input type="text" name="search_template_id" value="{tmpl_var name='search_template_id'}" style="width:30px;" /></td>
- <td class="tbl_col_template_type"><select name="search_template_type">{tmpl_var name='search_template_type'}</select></td>
- <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_template_id"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_id"}</a></td>
- <td class="tbl_col_template_type"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_type"}</a></td>
- <td class="tbl_col_template_name"><a href="#" onClick="loadContent('client/client_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('client/client_template_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><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/client/clients_list.htm b/interface/web/themes/default-304/templates/client/clients_list.htm
deleted file mode 100644
index 1833247..0000000
--- a/interface/web/themes/default-304/templates/client/clients_list.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/client_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
- <th class="tbl_col_company_name" scope="col"><tmpl_var name="company_name_txt"></th>
- <th class="tbl_col_contact_name" scope="col"><tmpl_var name="contact_name_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_city" scope="col"><tmpl_var name="city_txt"></th>
- <th class="tbl_col_country" scope="col"><tmpl_var name="country_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" style="width:30px;" /></td>
- <td class="tbl_col_company_name"><input type="text" name="search_company_name" value="{tmpl_var name='search_company_name'}" style="width:120px;" /></td>
- <td class="tbl_col_contact_name"><input type="text" name="search_contact_name" value="{tmpl_var name='search_contact_name'}" style="width:120px;" /></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" style="width:120px;" /></td>
- <td class="tbl_col_city"><input type="text" name="search_city" value="{tmpl_var name='search_city'}" style="width:120px;" /></td>
- <td class="tbl_col_country"><select name="search_country" class="selectInput flags" style="width:120px;">{tmpl_var name='search_country'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/client_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_client_id"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
- <td class="tbl_col_company_name"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="company_name"}</a></td>
- <td class="tbl_col_contact_name"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="contact_name"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_city"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="city"}</a></td>
- <td class="tbl_col_country"><a href="#" onClick="loadContent('client/client_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="country"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16" style="width:60px;">
- <tmpl_if name="is_admin">
- <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?cid={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
- </tmpl_if>
- <a class="icons16 icoDelete" href="javascript: del_record('client/client_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- <tmpl_unless name="records">
- <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td colspan="7">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/client/domain_edit.htm b/interface/web/themes/default-304/templates/client/domain_edit.htm
deleted file mode 100644
index 5a6bef3..0000000
--- a/interface/web/themes/default-304/templates/client/domain_edit.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <tmpl_if name="edit_disabled">
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
- <tmpl_else>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </tmpl_if>
- </div>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <tmpl_if name="edit_disabled">
- <select name="client_group_id" id="client_group_id" class="selectInput" disabled="disabled">
- {tmpl_var name='client_group_id'}
- </select>
- <tmpl_else>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </tmpl_if>
- </div>
- </tmpl_if>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input type="hidden" name="type" value="local">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/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('client/domain_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/themes/default-304/templates/client/domain_list.htm b/interface/web/themes/default-304/templates/client/domain_list.htm
deleted file mode 100644
index 3c6b1ce..0000000
--- a/interface/web/themes/default-304/templates/client/domain_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_domain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <tmpl_if name="is_admin">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- <tmpl_else>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/domain_new_client.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </tmpl_if>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="user_txt">A</th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_user"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name='filter_txt'}" onClick="submitForm('pageForm','client/domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_domain"><a href="#" onClick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('client/domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
- <td class="tbl_col_buttons">
- <tmpl_if name="is_admin">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('client/domain_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>
- </div>
- </tmpl_if>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
-
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/client/reseller_edit_address.htm b/interface/web/themes/default-304/templates/client/reseller_edit_address.htm
deleted file mode 100644
index d58ee93..0000000
--- a/interface/web/themes/default-304/templates/client/reseller_edit_address.htm
+++ /dev/null
@@ -1,116 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Address</legend>
- <div class="ctrlHolder">
- <label for="company_name">{tmpl_var name='company_name_txt'}</label>
- <input name="company_name" id="company_name" value="{tmpl_var name='company_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="contact_name">{tmpl_var name='contact_name_txt'}*</label>
- <input name="contact_name" id="contact_name" value="{tmpl_var name='contact_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="customer_no">{tmpl_var name='customer_no_txt'}</label>
- <input name="customer_no" id="customer_no" value="{tmpl_var name='customer_no'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}*</label>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="language">{tmpl_var name='language_txt'}</label>
- <select name="language" id="language" class="selectInput flags">
- {tmpl_var name='language'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="usertheme">{tmpl_var name='usertheme_txt'}</label>
- <select name="usertheme" id="usertheme" class="selectInput">
- {tmpl_var name='usertheme'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="street">{tmpl_var name='street_txt'}</label>
- <input name="street" id="street" value="{tmpl_var name='street'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="zip">{tmpl_var name='zip_txt'}</label>
- <input name="zip" id="zip" value="{tmpl_var name='zip'}" size="10" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="city">{tmpl_var name='city_txt'}</label>
- <input name="city" id="city" value="{tmpl_var name='city'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="state">{tmpl_var name='state_txt'}</label>
- <input name="state" id="state" value="{tmpl_var name='state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="country">{tmpl_var name='country_txt'}</label>
- <select name="country" id="country" class="selectInput flags">
- {tmpl_var name='country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="telephone">{tmpl_var name='telephone_txt'}</label>
- <input name="telephone" id="telephone" value="{tmpl_var name='telephone'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="mobile">{tmpl_var name='mobile_txt'}</label>
- <input name="mobile" id="mobile" value="{tmpl_var name='mobile'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="fax">{tmpl_var name='fax_txt'}</label>
- <input name="fax" id="fax" value="{tmpl_var name='fax'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="internet">{tmpl_var name='internet_txt'}</label>
- <input name="internet" id="internet" value="{tmpl_var name='internet'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="icq">{tmpl_var name='icq_txt'}</label>
- <input name="icq" id="icq" value="{tmpl_var name='icq'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="vat_id">{tmpl_var name='vat_id_txt'}</label>
- <input name="vat_id" id="vat_id" value="{tmpl_var name='vat_id'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="notes">{tmpl_var name='notes_txt'}</label>
- <textarea name="notes" id="notes" rows='10' cols='30'>{tmpl_var name='notes'}</textarea>
- </div>
- {tmpl_var name='required_fields_txt'}
- </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','client/reseller_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('client/reseller_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/themes/default-304/templates/client/reseller_edit_limits.htm b/interface/web/themes/default-304/templates/client/reseller_edit_limits.htm
deleted file mode 100644
index 621dfa2..0000000
--- a/interface/web/themes/default-304/templates/client/reseller_edit_limits.htm
+++ /dev/null
@@ -1,279 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_client">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Limits</legend>
- <!--
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="template_master">{tmpl_var name='template_master_txt'}</label>
- <select name="template_master" id="template_master" class="selectInput">
- {tmpl_var name='template_master'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="template_additional">{tmpl_var name='template_additional_txt'}</label>
- <select name="tpl_add_select" id="tpl_add_select" class="selectInput">
- {tmpl_var name='tpl_add_select'}
- </select>
- <span id="template_additional_list">{tmpl_var name='template_additional_list'}</span>
- <input type="hidden" id="template_additional" name="template_additional" value="{tmpl_var name='template_additional'}">
- </div>
- <div class="ctrlHolder">
-
- </div>
- </tmpl_if>
- -->
- <div class="ctrlHolder">
- <label for="limit_client">{tmpl_var name='limit_client_txt'}</label>
- <input name="limit_client" id="limit_client" value="{tmpl_var name='limit_client'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="subsectiontoggle"><span class="showing"></span>{tmpl_var name='web_limits_txt'}<em class="showing"></em></div>
- <div>
- <div class="ctrlHolder">
- <label for="default_webserver">{tmpl_var name='default_webserver_txt'}</label>
- <select name="default_webserver" id="default_webserver" class="selectInput">
- {tmpl_var name='default_webserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_domain">{tmpl_var name='limit_web_domain_txt'}</label>
- <input name="limit_web_domain" id="limit_web_domain" value="{tmpl_var name='limit_web_domain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_quota">{tmpl_var name='limit_web_quota_txt'}</label>
- <input name="limit_web_quota" id="limit_web_quota" value="{tmpl_var name='limit_web_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="limit_traffic_quota">{tmpl_var name='limit_traffic_quota_txt'}</label>
- <input name="limit_traffic_quota" id="limit_traffic_quota" value="{tmpl_var name='limit_traffic_quota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='web_php_options_txt'}</p>
- <div class="multiField">
- {tmpl_var name='web_php_options'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_cgi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssi'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_perl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ruby'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_python'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='force_suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='force_suexec'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_hterror_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_hterror'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_wildcard_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_wildcard'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='limit_ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='limit_ssl'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_aliasdomain">{tmpl_var name='limit_web_aliasdomain_txt'}</label>
- <input name="limit_web_aliasdomain" id="limit_web_aliasdomain" value="{tmpl_var name='limit_web_aliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_web_subdomain">{tmpl_var name='limit_web_subdomain_txt'}</label>
- <input name="limit_web_subdomain" id="limit_web_subdomain" value="{tmpl_var name='limit_web_subdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_ftp_user">{tmpl_var name='limit_ftp_user_txt'}</label>
- <input name="limit_ftp_user" id="limit_ftp_user" value="{tmpl_var name='limit_ftp_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_shell_user">{tmpl_var name='limit_shell_user_txt'}</label>
- <input name="limit_shell_user" id="limit_shell_user" value="{tmpl_var name='limit_shell_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssh_chroot_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssh_chroot'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="limit_webdav_user">{tmpl_var name='limit_webdav_user_txt'}</label>
- <input name="limit_webdav_user" id="limit_webdav_user" value="{tmpl_var name='limit_webdav_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='email_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_mailserver">{tmpl_var name='default_mailserver_txt'}</label>
- <select name="default_mailserver" id="default_mailserver" class="selectInput">
- {tmpl_var name='default_mailserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_maildomain">{tmpl_var name='limit_maildomain_txt'}</label>
- <input name="limit_maildomain" id="limit_maildomain" value="{tmpl_var name='limit_maildomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailmailinglist">{tmpl_var name='limit_mailmailinglist_txt'}</label>
- <input name="limit_mailmailinglist" id="limit_mailmailinglist" value="{tmpl_var name='limit_mailmailinglist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailbox">{tmpl_var name='limit_mailbox_txt'}</label>
- <input name="limit_mailbox" id="limit_mailbox" value="{tmpl_var name='limit_mailbox'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailalias">{tmpl_var name='limit_mailalias_txt'}</label>
- <input name="limit_mailalias" id="limit_mailalias" value="{tmpl_var name='limit_mailalias'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailaliasdomain">{tmpl_var name='limit_mailaliasdomain_txt'}</label>
- <input name="limit_mailaliasdomain" id="limit_mailaliasdomain" value="{tmpl_var name='limit_mailaliasdomain'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailforward">{tmpl_var name='limit_mailforward_txt'}</label>
- <input name="limit_mailforward" id="limit_mailforward" value="{tmpl_var name='limit_mailforward'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailcatchall">{tmpl_var name='limit_mailcatchall_txt'}</label>
- <input name="limit_mailcatchall" id="limit_mailcatchall" value="{tmpl_var name='limit_mailcatchall'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailrouting">{tmpl_var name='limit_mailrouting_txt'}</label>
- <input name="limit_mailrouting" id="limit_mailrouting" value="{tmpl_var name='limit_mailrouting'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailfilter">{tmpl_var name='limit_mailfilter_txt'}</label>
- <input name="limit_mailfilter" id="limit_mailfilter" value="{tmpl_var name='limit_mailfilter'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_fetchmail">{tmpl_var name='limit_fetchmail_txt'}</label>
- <input name="limit_fetchmail" id="limit_fetchmail" value="{tmpl_var name='limit_fetchmail'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_mailquota">{tmpl_var name='limit_mailquota_txt'}</label>
- <input name="limit_mailquota" id="limit_mailquota" value="{tmpl_var name='limit_mailquota'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_wblist">{tmpl_var name='limit_spamfilter_wblist_txt'}</label>
- <input name="limit_spamfilter_wblist" id="limit_spamfilter_wblist" value="{tmpl_var name='limit_spamfilter_wblist'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_user">{tmpl_var name='limit_spamfilter_user_txt'}</label>
- <input name="limit_spamfilter_user" id="limit_spamfilter_user" value="{tmpl_var name='limit_spamfilter_user'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_spamfilter_policy">{tmpl_var name='limit_spamfilter_policy_txt'}</label>
- <input name="limit_spamfilter_policy" id="limit_spamfilter_policy" value="{tmpl_var name='limit_spamfilter_policy'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='database_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_dbserver">{tmpl_var name='default_dbserver_txt'}</label>
- <select name="default_dbserver" id="default_dbserver" class="selectInput">
- {tmpl_var name='default_dbserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_database">{tmpl_var name='limit_database_txt'}</label>
- <input name="limit_database" id="limit_database" value="{tmpl_var name='limit_database'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='cron_job_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_cron">{tmpl_var name='limit_cron_txt'}</label>
- <input name="limit_cron" id="limit_cron" value="{tmpl_var name='limit_cron'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_type">{tmpl_var name='limit_cron_type_txt'}</label>
- <select name="limit_cron_type" id="limit_cron_type" class="selectInput formLengthHalf">
- {tmpl_var name='limit_cron_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_cron_frequency">{tmpl_var name='limit_cron_frequency_txt'}</label>
- <input name="limit_cron_frequency" id="limit_cron_frequency" value="{tmpl_var name='limit_cron_frequency'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='dns_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="default_dnsserver">{tmpl_var name='default_dnsserver_txt'}</label>
- <select name="default_dnsserver" id="default_dnsserver" class="selectInput">
- {tmpl_var name='default_dnsserver'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
- <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
- <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_dns_record">{tmpl_var name='limit_dns_record_txt'}</label>
- <input name="limit_dns_record" id="limit_dns_record" value="{tmpl_var name='limit_dns_record'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="subsectiontoggle"><span></span>{tmpl_var name='virtualization_limits_txt'}<em></em></div>
- <div style="display:none;">
- <div class="ctrlHolder">
- <label for="limit_openvz_vm">{tmpl_var name='limit_openvz_vm_txt'}</label>
- <input name="limit_openvz_vm" id="limit_openvz_vm" value="{tmpl_var name='limit_openvz_vm'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="limit_openvz_vm_template_id">{tmpl_var name='limit_openvz_vm_template_id_txt'}</label>
- <select name="limit_openvz_vm_template_id" id="limit_openvz_vm_template_id" class="selectInput">
- {tmpl_var name='limit_openvz_vm_template_id'}
- </select>
- </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','client/reseller_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('client/reseller_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/themes/default-304/templates/client/resellers_list.htm b/interface/web/themes/default-304/templates/client/resellers_list.htm
deleted file mode 100644
index f85850f..0000000
--- a/interface/web/themes/default-304/templates/client/resellers_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_clients">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('client/reseller_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_client_id" scope="col"><tmpl_var name="client_id_txt"></th>
- <th class="tbl_col_company_name" scope="col"><tmpl_var name="company_name_txt"></th>
- <th class="tbl_col_contact_name" scope="col"><tmpl_var name="contact_name_txt"></th>
- <th class="tbl_col_city" scope="col"><tmpl_var name="city_txt"></th>
- <th class="tbl_col_country" scope="col"><tmpl_var name="country_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_client_id"><input type="text" name="search_client_id" value="{tmpl_var name='search_client_id'}" style="width:30px;" /></td>
- <td class="tbl_col_company_name"><input type="text" name="search_company_name" value="{tmpl_var name='search_company_name'}" style="width:120px;" /></td>
- <td class="tbl_col_contact_name"><input type="text" name="search_contact_name" value="{tmpl_var name='search_contact_name'}" style="width:120px;" /></td>
- <td class="tbl_col_city"><input type="text" name="search_city" value="{tmpl_var name='search_city'}" style="width:120px;" /></td>
- <td class="tbl_col_country"><select name="search_country" class="selectInput flags" style="width:120px;">{tmpl_var name='search_country'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','client/reseller_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_client_id"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="client_id"}</a></td>
- <td class="tbl_col_company_name"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="company_name"}</a></td>
- <td class="tbl_col_contact_name"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="contact_name"}</a></td>
- <td class="tbl_col_city"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="city"}</a></td>
- <td class="tbl_col_country"><a href="#" onClick="loadContent('client/reseller_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="country"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16" style="width:60px;">
- <a class="icons16 icoLoginAs" href="javascript: loadContent('admin/login_as.php?cid={tmpl_var name='id'}');"><span>{tmpl_var name='login_as_txt'}</span></a>
- <a class="icons16 icoDelete" href="javascript: del_record('client/reseller_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- <tmpl_unless name="records">
- <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td colspan="6">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
- </tr>
- </tmpl_unless>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="6"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/custom_menu.htm b/interface/web/themes/default-304/templates/dashboard/custom_menu.htm
deleted file mode 100644
index 4b06779..0000000
--- a/interface/web/themes/default-304/templates/dashboard/custom_menu.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<ul id="submenu">
- <li class="title"><a>{tmpl_var name='latest_news_txt'}</a></li>
- <tmpl_loop name="news">
- <li>
- <a href="{tmpl_var name="link"}" target="_blank" style="margin-top:8px;padding-bottom:5px;"><b>{tmpl_var name="date"}</b><br />
- {tmpl_var name="title"}</a>
- </li>
- </tmpl_loop>
-</ul>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashboard.htm b/interface/web/themes/default-304/templates/dashboard/dashboard.htm
deleted file mode 100644
index 09aa158..0000000
--- a/interface/web/themes/default-304/templates/dashboard/dashboard.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<h1><tmpl_var name="welcome_user"></h1>
-<hr />
-<div class="panel panel_dashboard">
- <div>
- <tmpl_if name='error'>
- <div class="systemmonitor-state state-error">
- <div class="status"></div>
- <div class="statusMsg">
- <tmpl_loop name="error">
- {tmpl_var name='error_msg'}
- </tmpl_loop>
- </div>
- </div>
- </tmpl_if>
- <tmpl_if name='warning'>
- <div class="systemmonitor-state state-warning">
- <div class="status"></div>
- <div class="statusMsg">
- <tmpl_loop name="warning">
- {tmpl_var name='warning_msg'}
- </tmpl_loop>
- </div>
- </div>
- </tmpl_if>
- <tmpl_if name='info'>
- <div class="systemmonitor-state state-info">
- <div class="status"></div>
- <div class="statusMsg">
- <tmpl_loop name="info">
- {tmpl_var name='info_msg'}
- </tmpl_loop>
- </div>
- </div>
- </tmpl_if>
- </div>
- <div style="float:left; width:350px;">
- <tmpl_loop name='leftcol'>
- {tmpl_var name='content'}
- <p> </p>
- </tmpl_loop>
- </div>
- <div style="float:left; width:350px;">
- <tmpl_loop name='rightcol'>
- {tmpl_var name='content'}
- <p> </p>
- </tmpl_loop>
- </div>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm b/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm
deleted file mode 100644
index 11fe0bb..0000000
--- a/interface/web/themes/default-304/templates/dashboard/dashlets/limits.htm
+++ /dev/null
@@ -1,11 +0,0 @@
- <h2>{tmpl_var name='limits_txt'}</h2>
- <div style="width:350px;">
- <table class="list">
- <tmpl_loop name='rows'>
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td>{tmpl_var name='field_txt'}</td>
- <td style="white-space: nowrap">{tmpl_var name='usage'} {tmpl_var name='of_txt'} {tmpl_var name='value'}</td>
- </tr>
- </tmpl_loop>
- </table>
- </div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm b/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm
deleted file mode 100644
index 03fb8cb..0000000
--- a/interface/web/themes/default-304/templates/dashboard/dashlets/modules.htm
+++ /dev/null
@@ -1,10 +0,0 @@
- <h2>{tmpl_var name='available_modules_txt'}</h2>
- <div style="width:350px;">
- <tmpl_loop name='modules'>
- <div class="dashboard-modules {tmpl_var name='modules_name'}">
- <a href="#" onclick="capp('{tmpl_var name='modules_name'}')">
- {tmpl_var name='modules_title'}
- </a>
- </div>
- </tmpl_loop>
- </div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_edit.htm b/interface/web/themes/default-304/templates/designer/form_edit.htm
deleted file mode 100644
index 38a28c4..0000000
--- a/interface/web/themes/default-304/templates/designer/form_edit.htm
+++ /dev/null
@@ -1,79 +0,0 @@
-<form method="POST" action="form_edit.php">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11"><input name="form[name]" type="text" class="text" value="{tmpl_var name='name'}" size="20" maxlength="50" {tmpl_var name='readonly'}></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="form[title]" type="text" class="text" value="{tmpl_var name='title'}" size="20" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
- <td width="366" class="frmText11"><input name="form[description]" type="text" class="text" value="{tmpl_var name='description'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="action_txt">:</td>
- <td width="366" class="frmText11"><input name="form[action]" type="text" class="text" value="{tmpl_var name='action'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_table_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_table]" type="text" class="text" value="{tmpl_var name='db_table'}" size="10" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_table_idx_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_table_idx]" type="text" class="text" value="{tmpl_var name='db_table_idx'}" size="10" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="db_history_txt">:</td>
- <td width="366" class="frmText11"><input name="form[db_history]" type="text" class="text" value="{tmpl_var name='db_history'}" size="3" maxlength="3"> yes / no</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="tab_default_txt">:</td>
- <td width="366" class="frmText11"><input name="form[tab_default]" type="text" class="text" value="{tmpl_var name='tab_default'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="list_default_txt">:</td>
- <td width="366" class="frmText11"><input name="form[list_default]" type="text" class="text" value="{tmpl_var name='list_default'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth]" type="text" class="text" value="{tmpl_var name='auth'}" size="3" maxlength="3"> yes / no</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_userid_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][userid]" type="text" class="text" value="{tmpl_var name='auth_preset_userid'}" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_groupid_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][groupid]" type="text" class="text" value="{tmpl_var name='auth_preset_groupid'}" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_user_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_user]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_user'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_group_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_group]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_group'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="auth_preset_perm_other_txt">:</td>
- <td width="366" class="frmText11"><input name="form[auth_preset][perm_other]" type="text" class="text" value="{tmpl_var name='auth_preset_perm_other'}" size="4" maxlength="4"> r = read, i = insert, u = update, d = delete</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="submit" class="button" value="{tmpl_var name='save_txt'}">
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="self.location.href='form_list.php';">
- </td>
- </tr>
-</table>
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
-<input type="hidden" name="form_name" value="{tmpl_var name='form_name'}">
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_list.htm b/interface/web/themes/default-304/templates/designer/form_list.htm
deleted file mode 100644
index 39eb7b9..0000000
--- a/interface/web/themes/default-304/templates/designer/form_list.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<form name="myform" action="form_list.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
- <tr>
- <td class="tblHead"><tmpl_var name="form_txt"></td>
- <td class="tblHead"><tmpl_var name="title_txt"></td>
- <td class="tblHead"><tmpl_var name="module_txt"></td>
- <td class="tblHead"><tmpl_var name="description_txt"></td>
- <td class="tblHead"> </td>
- </tr>
- <tmpl_loop name="records">
- <tr bgcolor="{tmpl_var name="bgcolor"}">
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="name"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="title"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="module_name"}</a></td>
- <td class="frmText11"><a href="form_show.php?form_name={tmpl_var name='name'}&module_name={tmpl_var name='module_name'}" class="frmText11">{tmpl_var name="description"}</a></td>
- <td class="frmText11" align="right">[<a href="javascript: del_record('form_del.php?form_name={tmpl_var name='module'}&module_name={tmpl_var name='module_name'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
- </tr>
- </tmpl_loop>
- <tr>
- <td colspan="7" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
- </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/form_show.htm b/interface/web/themes/default-304/templates/designer/form_show.htm
deleted file mode 100644
index 2a3eff4..0000000
--- a/interface/web/themes/default-304/templates/designer/form_show.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<script language="JavaScript">
-<!--
-function del_module(link) {
- if(window.confirm("{tmpl_var name='module_del_txt'}")) {
- location.href = link;
- }
-}
-function del_menu(link) {
- if(window.confirm("{tmpl_var name='menu_del_txt'}")) {
- location.href = link;
- }
-}
-function del_menuitem(link) {
- if(window.confirm("{tmpl_var name='item_del_txt'}")) {
- location.href = link;
- }
-}
-
-//-->
-</script>
-<form name="myform" action="module_show.php" method="POST">
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:320px;"><legend class="frmText11"><b>{tmpl_var name='form_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='title'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='form_name'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="module_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='module_name'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="description_txt">:</td>
- <td width="366" class="frmText11" valign="top">{tmpl_var name='description'}</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11">
- <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onClick="location.href='form_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" />
- <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onClick="del_module('form_del.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}');" class="button" />
- <input type="button" name="ed3" value="{tmpl_var name='new_tab_txt'}" onClick="location.href='form_tab_edit.php?form_name={tmpl_var name='form_name'}&module_name={tmpl_var name='module_name'}'" class="button" /></td>
- </tr>
-</table>
-</fieldset>
-<table width="350" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tmpl_var name="nav">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-</form>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_edit.htm b/interface/web/themes/default-304/templates/designer/module_edit.htm
deleted file mode 100644
index 2cd48a9..0000000
--- a/interface/web/themes/default-304/templates/designer/module_edit.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11"><input name="module[name]" type="text" class="text" value="{tmpl_var name='name'}" size="30" maxlength="50" {tmpl_var name='readonly'}></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="module[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="template_txt">:</td>
- <td width="366" class="frmText11"><input name="module[template]" type="text" class="text" value="{tmpl_var name='template'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="navframe_txt">:</td>
- <td width="366" class="frmText11"><input name="module[navframe_page]" type="text" class="text" value="{tmpl_var name='navframe_page'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="startpage_txt">:</td>
- <td width="366" class="frmText11"><input name="module[startpage]" type="text" class="text" value="{tmpl_var name='startpage'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="tab_width_txt">:</td>
- <td width="366" class="frmText11"><input name="module[tab_width]" type="text" class="text" value="{tmpl_var name='tab_width'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_list.htm b/interface/web/themes/default-304/templates/designer/module_list.htm
deleted file mode 100644
index 1e148f3..0000000
--- a/interface/web/themes/default-304/templates/designer/module_list.htm
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="4">
- <tr>
- <td class="tblHead"><tmpl_var name="module_txt"></td>
- <td class="tblHead"><tmpl_var name="title_txt"></td>
- <td class="tblHead"> </td>
- </tr>
- <tmpl_loop name="records">
- <tr bgcolor="{tmpl_var name="bgcolor"}">
- <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="module"}</a></td>
- <td class="frmText11"><a href="javascript:loadContent('designer/module_show.php?id={tmpl_var name='module'}');" class="frmText11">{tmpl_var name="title"}</a></td>
- <td class="frmText11" align="right">[<a href="javascript: del_record('module_del.php?id={tmpl_var name='module'}&phpsessid={tmpl_var name='phpsessid'}');" class="frmText11">Delete</a>]</td>
- </tr>
- </tmpl_loop>
- <tr>
- <td colspan="5" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
- </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_nav_edit.htm b/interface/web/themes/default-304/templates/designer/module_nav_edit.htm
deleted file mode 100644
index 3b2007a..0000000
--- a/interface/web/themes/default-304/templates/designer/module_nav_edit.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="nav[title]" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_nav_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm b/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm
deleted file mode 100644
index 0aee2ca..0000000
--- a/interface/web/themes/default-304/templates/designer/module_nav_item_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11"><input name="title" type="text" class="text" value="{tmpl_var name='title'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="target_txt">:</td>
- <td width="366" class="frmText11"><input name="target" type="text" class="text" value="{tmpl_var name='target'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="link_txt">:</td>
- <td width="366" class="frmText11"><input name="link" type="text" class="text" value="{tmpl_var name='link'}" size="30" maxlength="255"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> <inp</td>
- </tr>
- <tr>
- <td> </td>
- <td><input name="Speichern" type="button" class="button" value="{tmpl_var name='save_txt'}" onClick="submitForm('pageForm','designer/module_nav_item_edit.php');"><div class="buttonEnding"></div>
- <input name="Abbrechen" type="button" class="button" value="{tmpl_var name='cancel_txt'}" onClick="loadContent('designer/module_list.php');"><div class="buttonEnding"></div>
- </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"><tmpl_var name="description_txt"></td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
-<input type="hidden" name="item_id" value="{tmpl_var name='item_id'}">
-<input type="hidden" name="nav_id" value="{tmpl_var name='nav_id'}">
-<input type="hidden" name="module_name" value="{tmpl_var name='module_name'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/module_show.htm b/interface/web/themes/default-304/templates/designer/module_show.htm
deleted file mode 100644
index ffdfe9b..0000000
--- a/interface/web/themes/default-304/templates/designer/module_show.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="frmTextHead"><tmpl_var name="header_txt"></div><br />
-<fieldset style="width:250px;"><legend class="frmText11"><b>{tmpl_var name='module_txt'}</b></legend>
-<table border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="title_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='title'}</td>
- </tr>
- <tr>
- <td width="126" class="frmText11"><tmpl_var name="name_txt">:</td>
- <td width="366" class="frmText11">{tmpl_var name='name'}</td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tr>
- <td colspan="2" class="frmText11">
- <input type="button" name="ed1" value="{tmpl_var name='properties_txt'}" onClick="loadContent('designer/module_edit.php?id={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div>
- <input type="button" name="ed2" value="{tmpl_var name='delete_txt'}" onClick="del_record('designer/module_del.php?id={tmpl_var name='name'}');" class="button" /><div class="buttonEnding"></div>
- <input type="button" name="ed3" value="{tmpl_var name='new_menu_txt'}" onClick="loadContent('designer/module_nav_edit.php?module_name={tmpl_var name='name'}')" class="button" /><div class="buttonEnding"></div></td>
- </tr>
-</table>
-</fieldset>
-<table width="500" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
- <tmpl_var name="nav">
- <tr>
- <td colspan="2" class="frmText11"> </td>
- </tr>
-</table>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/designer/paging.tpl.htm b/interface/web/themes/default-304/templates/designer/paging.tpl.htm
deleted file mode 100644
index dd38af8..0000000
--- a/interface/web/themes/default-304/templates/designer/paging.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-[ <a href='{tmpl_var name="list_file"}?page=0'>|<< </a>]
-<tmpl_if name="show_page_back">
- [<< <a href='{tmpl_var name="list_file"}?page={tmpl_var name="last_page"}'>Zurück</a>]
-</tmpl_if>
- Seite {tmpl_var name="next_page"} von {tmpl_var name="max_pages"}
-<tmpl_if name="show_page_next">
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="next_page"}'>Weiter >></a>]
-</tmpl_if>
- [<a href='{tmpl_var name="list_file"}?page={tmpl_var name="pages"}'> >>| </a>]
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_a_edit.htm b/interface/web/themes/default-304/templates/dns/dns_a_edit.htm
deleted file mode 100644
index cce1af6..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_a_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_a">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='name_hint_txt'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput formLengthIPv4" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_a_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">
- jQuery('#data').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_a_list.htm b/interface/web/themes/default-304/templates/dns/dns_a_list.htm
deleted file mode 100644
index 913f628..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_a_list.htm
+++ /dev/null
@@ -1,88 +0,0 @@
-<div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_a_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>A</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_aaaa_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>AAAA</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>ALIAS</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>CNAME</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>HINFO</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>MX</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>NS</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>PTR</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_rp_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>RP</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_srv_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>SRV</span>
- </button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_txt_edit.php?zone={tmpl_var name='parent_id'}');">
- <span>TXT</span>
- </button>
- </div>
- </fieldset>
-</div>
-
-<div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
- <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
- <th class="tbl_col_data" scope="col"><tmpl_var name="data_txt"></th>
- <th class="tbl_col_aux" scope="col"><tmpl_var name="aux_txt"></th>
- <th class="tbl_col_ttl" scope="col"><tmpl_var name="ttl_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
- <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
- <td class="tbl_col_data"><input type="text" name="search_data" value="{tmpl_var name='search_data'}" /></td>
- <td class="tbl_col_aux"><input type="text" name="search_aux" value="{tmpl_var name='search_aux'}" /></td>
- <td class="tbl_col_ttl"><input type="text" name="search_ttl" value="{tmpl_var name='search_ttl'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="changeTab('dns_records','dns/dns_soa_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_type"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
- <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_data"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="data"}</a></td>
- <td class="tbl_col_aux"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="aux"}</a></td>
- <td class="tbl_col_ttl"><a href="#" onClick="loadContent('dns/dns_{tmpl_var name='type_lowercase'}_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ttl"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_rr_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
-</div>
diff --git a/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm b/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm
deleted file mode 100644
index fdea827..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_aaaa_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_aaaa">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='name_hint_txt'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_aaaa_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">
- jQuery('#data').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv6',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_alias_edit.htm b/interface/web/themes/default-304/templates/dns/dns_alias_edit.htm
deleted file mode 100644
index 2c859c7..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_alias_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_alias">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_alias_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_cname_edit.htm b/interface/web/themes/default-304/templates/dns/dns_cname_edit.htm
deleted file mode 100644
index 5cf86c5..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_cname_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_cname">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_cname_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm b/interface/web/themes/default-304/templates/dns/dns_hinfo_edit.htm
deleted file mode 100644
index 1651bcc..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_hinfo_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_hinfo">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_hinfo_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_import.htm b/interface/web/themes/default-304/templates/dns/dns_import.htm
deleted file mode 100644
index 7f462ab..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_import.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_wizard">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend><tmpl_var name="zone_file_import_txt"></legend>
- <tmpl_if name="is_admin">
- <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="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" onkeydown="keydown(event.which);" /><p class="value"><tmpl_var name='domain_field_desc_txt'}</p>
- </div>
- <div class="ctrlHolder"">
- <label for="file">{tmpl_var name='zonefile_to_import_txt'}</label>
- <input name="file" id="file" size="30" type="file" class="fileUpload" />
- </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="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="submitUploadForm('pageForm','dns/dns_import.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_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
-
- </fieldset>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- function keydown(keynum){
- if(keynum == 13){
- jQuery('.positive').trigger('click');
- }
- }
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm b/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm
deleted file mode 100644
index e986efb..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_mx_edit.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_mx">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="aux">{tmpl_var name='aux_txt'}</label>
- <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_mx_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_ns_edit.htm b/interface/web/themes/default-304/templates/dns/dns_ns_edit.htm
deleted file mode 100644
index 9efd881..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_ns_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_ns">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ns_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm b/interface/web/themes/default-304/templates/dns/dns_ptr_edit.htm
deleted file mode 100644
index 5d8cf1f..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_ptr_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_ptr">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_ptr_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_records_edit.htm b/interface/web/themes/default-304/templates/dns/dns_records_edit.htm
deleted file mode 100644
index f7852ea..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_records_edit.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_soa">
-
- {tmpl_var name='dns_records'}
-
- <div class="pnl_formsarea">
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_rp_edit.htm b/interface/web/themes/default-304/templates/dns/dns_rp_edit.htm
deleted file mode 100644
index 86697cf..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_rp_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_rp">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_rp_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm b/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm
deleted file mode 100644
index b6dea70..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_slave_edit.htm
+++ /dev/null
@@ -1,97 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_slave">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend><tmpl_var name="secondary_zone_txt"></legend>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <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>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="origin">{tmpl_var name='origin_txt'}</label>
- <input name="origin" id="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="ns">{tmpl_var name='ns_txt'}</label>
- <input name="ns" id="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='ipv4_form_txt'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="xfer">{tmpl_var name='xfer_txt'}</label>
- <input name="xfer" id="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255" 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 name="serial" type="hidden" value="{tmpl_var name='serial'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_slave_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_slave_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- jQuery('#ns').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
- jQuery('#xfer').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_slave_list.htm b/interface/web/themes/default-304/templates/dns/dns_slave_list.htm
deleted file mode 100644
index d4458e0..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_slave_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_slave">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_slave_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_origin" scope="col"><tmpl_var name="origin_txt"></th>
- <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
- <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_slave_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
- <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_slave_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_slave_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </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>
diff --git a/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm b/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm
deleted file mode 100644
index 386a2ab..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_soa_edit.htm
+++ /dev/null
@@ -1,131 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_soa">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>DNS Zone</legend>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <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>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="origin">{tmpl_var name='origin_txt'}</label>
- <input name="origin" id="origin" value="{tmpl_var name='origin'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='eg_domain_tld'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="ns">{tmpl_var name='ns_txt'}</label>
- <input name="ns" id="ns" value="{tmpl_var name='ns'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='eg_ns1_domain_tld'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="mbox">{tmpl_var name='mbox_txt'}</label>
- <input name="mbox" id="mbox" value="{tmpl_var name='mbox'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">{tmpl_var name='eg_webmaster_domain_tld'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="refresh">{tmpl_var name='refresh_txt'}</label>
- <input name="refresh" id="refresh" value="{tmpl_var name='refresh'}" size="10" maxlength="10" type="text" class="textInput" /> {tmpl_var name='seconds_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="retry">{tmpl_var name='retry_txt'}</label>
- <input name="retry" id="retry" value="{tmpl_var name='retry'}" size="10" maxlength="10" type="text" class="textInput" /> {tmpl_var name='seconds_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="expire">{tmpl_var name='expire_txt'}</label>
- <input name="expire" id="expire" value="{tmpl_var name='expire'}" size="10" maxlength="10" type="text" class="textInput" /> {tmpl_var name='seconds_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="minimum">{tmpl_var name='minimum_txt'}</label>
- <input name="minimum" id="minimum" value="{tmpl_var name='minimum'}" size="10" maxlength="10" type="text" class="textInput" /> {tmpl_var name='seconds_txt'}
- </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" /> {tmpl_var name='seconds_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="xfer">{tmpl_var name='xfer_txt'}</label>
- <input name="xfer" id="xfer" value="{tmpl_var name='xfer'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="also_notify">{tmpl_var name='also_notify_txt'}</label>
- <input name="also_notify" id="also_notify" value="{tmpl_var name='also_notify'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="update_acl">{tmpl_var name='update_acl_txt'}</label>
- <input name="update_acl" id="update_acl" value="{tmpl_var name='update_acl'}" size="30" maxlength="255" 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 name="serial" type="hidden" value="{tmpl_var name='serial'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_soa_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_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- jQuery('#xfer').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
- jQuery('#also_notify').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_soa_list.htm b/interface/web/themes/default-304/templates/dns/dns_soa_list.htm
deleted file mode 100644
index fa09c78..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_soa_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_soa">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name="add_new_record_wizard_txt"}</span></button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_soa_edit.php');"><span>{tmpl_var name="add_new_record_txt"}</span></button>
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_import.php');"><span>Import Zone File</span></button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_origin" scope="col"><tmpl_var name="origin_txt"></th>
- <th class="tbl_col_ns" scope="col"><tmpl_var name="ns_txt"></th>
- <th class="tbl_col_mbox" scope="col"><tmpl_var name="mbox_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_origin"><input type="text" name="search_origin" value="{tmpl_var name='search_origin'}" /></td>
- <td class="tbl_col_ns"><input type="text" name="search_ns" value="{tmpl_var name='search_ns'}" /></td>
- <td class="tbl_col_mbox"><input type="text" name="search_mbox" value="{tmpl_var name='search_mbox'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_soa_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
- </tr>
- </thead>
- <tbody>
- <tmpl_loop name="records">
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_active"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_origin"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="origin"}</a></td>
- <td class="tbl_col_ns"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ns"}</a></td>
- <td class="tbl_col_mbox"><a href="#" onClick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="mbox"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_soa_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </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/dns/dns_srv_edit.htm b/interface/web/themes/default-304/templates/dns/dns_srv_edit.htm
deleted file mode 100644
index fbcf10d..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_srv_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_srv">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="target">{tmpl_var name='target_txt'}</label>
- <input name="target" id="target" value="{tmpl_var name='target'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="weight">{tmpl_var name='weight_txt'}</label>
- <input name="weight" id="weight" value="{tmpl_var name='weight'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="port">{tmpl_var name='port_txt'}</label>
- <input name="port" id="port" value="{tmpl_var name='port'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="aux">{tmpl_var name='aux_txt'}</label>
- <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_srv_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_template_edit.htm b/interface/web/themes/default-304/templates/dns/dns_template_edit.htm
deleted file mode 100644
index b18d84a6..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_template_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_template">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="40" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='fields_txt'}</p>
- <div class="multiField">
- {tmpl_var name='fields'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="template">{tmpl_var name='template_txt'}</label>
- <textarea name="template" id="template" rows='15' cols='40'>{tmpl_var name='template'}</textarea>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='visible_txt'}</p>
- <div class="multiField">
- {tmpl_var name='visible'}
- </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','dns/dns_template_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_template_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/themes/default-304/templates/dns/dns_template_list.htm b/interface/web/themes/default-304/templates/dns/dns_template_list.htm
deleted file mode 100644
index 7039d34..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_template_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_dns_template">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('dns/dns_template_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_visible" scope="col"><tmpl_var name="visible_txt"></th>
- <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_visible"><select name="search_visible">{tmpl_var name='search_visible'}</select></td>
- <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','dns/dns_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_visible"><a href="#" onClick="loadContent('dns/dns_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="visible"}</a></td>
- <td class="tbl_col_name"><a href="#" onClick="loadContent('dns/dns_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('dns/dns_template_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/dns/dns_txt_edit.htm b/interface/web/themes/default-304/templates/dns/dns_txt_edit.htm
deleted file mode 100644
index 0450fc8..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_txt_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="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </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'}">
- <input type="hidden" name="type" value="{tmpl_var name='type'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','dns/dns_txt_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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/dns/dns_wizard.htm b/interface/web/themes/default-304/templates/dns/dns_wizard.htm
deleted file mode 100644
index c062868..0000000
--- a/interface/web/themes/default-304/templates/dns/dns_wizard.htm
+++ /dev/null
@@ -1,101 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<tmpl_if name="error">
- <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-</tmpl_if>
-
-<div class="panel panel_dns_wizard">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend><tmpl_var name="dns_zone_txt"></legend>
- <div class="ctrlHolder">
- <label for="template_id">{tmpl_var name='template_id_txt'}</label>
- <select name="template_id" id="template_id" class="selectInput" onChange="submitForm('pageForm','dns/dns_wizard.php')">
- {tmpl_var name='template_id_option'}
- </select>
- </div>
- <tmpl_if name="is_admin">
- <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="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="DOMAIN_VISIBLE">
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="IP_VISIBLE">
- <div class="ctrlHolder">
- <label for="ip">{tmpl_var name='ip_txt'}</label>
- <input name="ip" id="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="IPV6_VISIBLE">
- <div class="ctrlHolder">
- <label for="ipv6">{tmpl_var name='ipv6_txt'}</label>
- <input name="ipv6" id="ipv6" value="{tmpl_var name='ipv6'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="NS1_VISIBLE">
- <div class="ctrlHolder">
- <label for="ns1">{tmpl_var name='ns1_txt'}</label>
- <input name="ns1" id="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="NS2_VISIBLE">
- <div class="ctrlHolder">
- <label for="ns2">{tmpl_var name='ns2_txt'}</label>
- <input name="ns2" id="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <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>
- </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>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_soa_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- jQuery('#ip').ispconfigSearch({
- dataSrc: '/dns/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
diff --git a/interface/web/themes/default-304/templates/error.tpl.htm b/interface/web/themes/default-304/templates/error.tpl.htm
deleted file mode 100644
index d75fda4..0000000
--- a/interface/web/themes/default-304/templates/error.tpl.htm
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="uniForm">
- <div id="errorMsg">
- <h3>Error</h3>
- <ol>
- <li>###ERRORMSG###</li>
- </ol>
- </div>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/form.tpl.htm b/interface/web/themes/default-304/templates/form.tpl.htm
deleted file mode 100644
index 429bfd9..0000000
--- a/interface/web/themes/default-304/templates/form.tpl.htm
+++ /dev/null
@@ -1 +0,0 @@
-<tmpl_dyninclude name="content_tpl">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/faq_edit.htm b/interface/web/themes/default-304/templates/help/faq_edit.htm
deleted file mode 100644
index 6513f95..0000000
--- a/interface/web/themes/default-304/templates/help/faq_edit.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<div class="panel panel_support_message">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='faq_faq_txt'}</legend>
- <div class="ctrlHolder">
- <label for="hf_section">{tmpl_var name='faq_section_txt'}</label>
- <select name="hf_section" id="hf_section" class="selectInput">
- {tmpl_var name='hf_section'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="hf_question">{tmpl_var name='faq_question_txt'}</label>
- <input name="hf_question" id="hf_question" value="{tmpl_var name='hf_question'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="hf_answer">{tmpl_var name='faq_answer_txt'}</label>
- <textarea name="hf_answer" id="hf_answer" rows='10' cols='30'>{tmpl_var name='hf_answer'}</textarea>
- </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','help/faq_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('help/faq_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/themes/default-304/templates/help/faq_manage_questions_list.htm b/interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm
deleted file mode 100644
index c045dfb..0000000
--- a/interface/web/themes/default-304/templates/help/faq_manage_questions_list.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<h2>{tmpl_var name="faq_faq_questions_txt"}</h2>
-<div class="panel panel_support_message">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onclick="loadContent('help/faq_edit.php');">
- <span>{tmpl_var name="faq_new_question_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="faq_sections_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col">{tmpl_var name="faq_question_txt"}</th>
- <th class="tbl_col_active" scope="col">{tmpl_var name="faq_section_name_txt"}</th>
- <th class="tbl_col_server_id" scope="col">{tmpl_var name="faq_delete_txt"}</th>
- <th class="tbl_col_domain" scope="col">{tmpl_var name="faq_edit_txt"}</th>
- </tr>
- </thead>
- <tmpl_loop name="records">
- <tr>
- <td>{tmpl_var name='hf_question'}</td>
- <td>{tmpl_var name='hf_section'}</td>
- <td>
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('help/faq_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');">
- <span>{tmpl_var name="faq_delete_txt"}</span></a> </div>
- </td>
- <td>
- <a href="#" onClick="loadContent('help/faq_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="faq_edit_txt"}</a>
- </td>
- </tr>
- </tmpl_loop>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/faq_sections_edit.htm b/interface/web/themes/default-304/templates/help/faq_sections_edit.htm
deleted file mode 100644
index 181364b..0000000
--- a/interface/web/themes/default-304/templates/help/faq_sections_edit.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<div class="panel panel_support_message">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Section</legend>
- <div class="ctrlHolder">
- <label for="hfs_name">{tmpl_var name='faq_section_name_txt'}</label>
- <input name="hfs_name" id="hfs_name" value="{tmpl_var name='hfs_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','help/faq_sections_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('help/faq_sections_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-
diff --git a/interface/web/themes/default-304/templates/help/help_faq_list.htm b/interface/web/themes/default-304/templates/help/help_faq_list.htm
deleted file mode 100644
index 6af928f..0000000
--- a/interface/web/themes/default-304/templates/help/help_faq_list.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-<tmpl_loop name="records">
- <h3>{tmpl_var name='hf_question'}
- </h3>
- <p>
- {tmpl_var name='hf_answer'}
- </p>
- <tmpl_if name='is_admin'>
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('help/faq_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>Delete</span></a>
- </div>
- <a href="#" onClick="loadContent('help/faq_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="edit_txt"}</a>
- <br/>
- <br/>
- <br/>
- </tmpl_if>
-
-</tmpl_loop>
-
-<!--<tmpl_var name="paging">-->
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm b/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm
deleted file mode 100644
index ddb1a56..0000000
--- a/interface/web/themes/default-304/templates/help/help_faq_sections_list.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-<h2><tmpl_var name="faq_faq_sections_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_support_faq_section">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onclick="loadContent('help/faq_sections_edit.php');">
- <span>{tmpl_var name="faq_new_section_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="faq_sections_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col">{tmpl_var name="faq_section_name_txt"}</th>
- <th class="tbl_col_server_id" scope="col">{tmpl_var name="faq_delete_txt"}</th>
- <th class="tbl_col_domain" scope="col">{tmpl_var name="faq_edit_txt"}</th>
- </tr>
- </thead>
- <tmpl_loop name="records">
- <tr>
- <td><b>{tmpl_var name='hfs_name'}</b></td>
- <td>
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('help/faq_sections_delete.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');">
- <span>{tmpl_var name="faq_delete_txt"}</span></a> </div>
- </td><td>
-
- <a href="#" onClick="loadContent('help/faq_sections_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="faq_edit_txt"}</a>
- </td>
- </tr>
- </tmpl_loop>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/help/support_message_edit.htm b/interface/web/themes/default-304/templates/help/support_message_edit.htm
deleted file mode 100644
index 06c1797..0000000
--- a/interface/web/themes/default-304/templates/help/support_message_edit.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_support_message">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Message</legend>
- <div class="ctrlHolder">
- <label for="recipient_id">{tmpl_var name='recipient_id_txt'}</label>
- <select name="recipient_id" id="recipient_id" class="selectInput">
- {tmpl_var name='recipient_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="subject">{tmpl_var name='subject_txt'}</label>
- <input name="subject" id="subject" value="{tmpl_var name='subject'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="message">{tmpl_var name='message_txt'}</label>
- <textarea name="message" id="message" rows='10' cols='30'>{tmpl_var name='message'}</textarea>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input type="hidden" name="tstamp" value="{tmpl_var name='tstamp'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','help/support_message_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('help/support_message_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/themes/default-304/templates/help/support_message_list.htm b/interface/web/themes/default-304/templates/help/support_message_list.htm
deleted file mode 100644
index e828fe9..0000000
--- a/interface/web/themes/default-304/templates/help/support_message_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_support_message">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('help/support_message_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_sender_id" scope="col"><tmpl_var name="sender_id_txt"></th>
- <th class="tbl_col_subject" scope="col"><tmpl_var name="subject_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_sender_id"><select name="search_sender_id">{tmpl_var name='search_sender_id'}</select></td>
- <td class="tbl_col_subject"><input type="text" name="search_subject" value="{tmpl_var name='search_subject'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','help/support_message_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_sender_id"><a href="#" onClick="loadContent('help/support_message_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sender_id"}</a></td>
- <td class="tbl_col_subject"><a href="#" onClick="loadContent('help/support_message_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="subject"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('help/support_message_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/help/support_message_view.htm b/interface/web/themes/default-304/templates/help/support_message_view.htm
deleted file mode 100644
index 62f2736..0000000
--- a/interface/web/themes/default-304/templates/help/support_message_view.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_support_message">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Message</legend>
- <div class="ctrlHolder">
- <label for="subject">{tmpl_var name='subject_txt'}</label>
- <p>{tmpl_var name='subject'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="message">{tmpl_var name='message_txt'}</label>
- <p>{tmpl_var name='message'}</p>
- </div>
- </fieldset>
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='reply_txt'}" onClick="loadContent('help/support_message_edit.php?reply={tmpl_var name='id'}');"><span>{tmpl_var name='reply_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/listpage.tpl.htm b/interface/web/themes/default-304/templates/listpage.tpl.htm
deleted file mode 100644
index 429bfd9..0000000
--- a/interface/web/themes/default-304/templates/listpage.tpl.htm
+++ /dev/null
@@ -1 +0,0 @@
-<tmpl_dyninclude name="content_tpl">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/login/index.htm b/interface/web/themes/default-304/templates/login/index.htm
deleted file mode 100644
index e977e05..0000000
--- a/interface/web/themes/default-304/templates/login/index.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="login_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_login">
-
- <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><li><tmpl_var name="error"></li></ol><br /><a href="#" onclick="loadContent('login/password_reset.php');">{tmpl_var name='pw_lost_txt'}</a></div>
- </tmpl_if>
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='login_txt'}Login</legend>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput" onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};" />
- </div>
- <div class="ctrlHolder">
- <label for="passwort">{tmpl_var name='password_txt'}</label>
- <input name="passwort" id="passwort" value="" size="30" maxlength="255" type="password" class="textInput" onkeypress="if (event.keyCode && event.keyCode == 13) {submitLoginForm('pageForm'); return false;};" />
- </div>
- </fieldset>
-
- <input type="hidden" name="s_mod" value="login" />
- <input type="hidden" name="s_pg" value="index" />
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoKey" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitLoginForm('pageForm');"><span>{tmpl_var name='login_button_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/login/password_reset.htm b/interface/web/themes/default-304/templates/login/password_reset.htm
deleted file mode 100644
index d6007e6..0000000
--- a/interface/web/themes/default-304/templates/login/password_reset.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<h2><tmpl_var name="pw_reset_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_password_reset">
-
- <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>
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name='pw_reset_txt'}</legend>
- <div class="ctrlHolder">
- <label for="email"><em>*</em> {tmpl_var name='email_txt'}</label>
- <input name="email" id="email" value="" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="username"><em>*</em> {tmpl_var name='username_txt'}</label>
- <input name="username" id="username" value="" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </fieldset>
-
- <input type="hidden" name="s_mod" value="login" />
- <input type="hidden" name="s_pg" value="index" />
-
- <div class="buttonHolder buttons">
- <button class="positive" type="button" value="{tmpl_var name="add_new_record_txt"}" onClick="submitForm('pageForm','login/password_reset.php');"><span>{tmpl_var name='pw_button_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm b/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm
deleted file mode 100644
index 0aa550f..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_alias_edit.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_alias">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
- <div class="multiField">
- <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
- <label for="email_at" class="blockLabel email_at"> <span id="email_at" name="email_at" />@</label>
- <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <select name="destination" id="destination" class="selectInput">
- {tmpl_var name='destination'}
- </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'}">
- <input type="hidden" name="type" value="alias">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_alias_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_alias_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/themes/default-304/templates/mail/mail_alias_list.htm b/interface/web/themes/default-304/templates/mail/mail_alias_list.htm
deleted file mode 100644
index 92755dd..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_alias_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_alias">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_alias_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_alias_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_alias_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_alias_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm
deleted file mode 100644
index c41121b..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_aliasdomain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='source_txt'}</label>
- <select name="source" id="source" class="selectInput">
- {tmpl_var name='source_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <select name="destination" id="destination" class="selectInput">
- {tmpl_var name='destination_domain'}
- </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'}">
- <input type="hidden" name="type" value="aliasdomain">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_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('mail/mail_aliasdomain_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/themes/default-304/templates/mail/mail_aliasdomain_list.htm b/interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm
deleted file mode 100644
index d75c236..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_aliasdomain_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_aliasdomain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_aliasdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_aliasdomain_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_blacklist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm
deleted file mode 100644
index 493e88b..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_blacklist_edit.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_blacklist">
-
- <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="source">{tmpl_var name='source_txt'}</label>
- <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput">
- {tmpl_var name='type'}
- </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'}">
- <input name="access" type="hidden" value="{tmpl_var name='access'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_blacklist_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_blacklist_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/themes/default-304/templates/mail/mail_blacklist_list.htm b/interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm
deleted file mode 100644
index 6dd81c6..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_blacklist_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_blacklist">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_blacklist_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_blacklist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_type"><a href="#" onClick="loadContent('mail/mail_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_blacklist_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>
- </div>
- </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-304/templates/mail/mail_content_filter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm
deleted file mode 100644
index 8dc53e1..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_content_filter_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_content_filter">
-
- <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="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput">
- {tmpl_var name='type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="pattern">{tmpl_var name='pattern_txt'}</label>
- <input name="pattern" id="pattern" value="{tmpl_var name='pattern'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="data">{tmpl_var name='data_txt'}</label>
- <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="action">{tmpl_var name='action_txt'}</label>
- <select name="action" id="action" class="selectInput">
- {tmpl_var name='action'}
- </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','mail/mail_content_filter_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_content_filter_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/themes/default-304/templates/mail/mail_content_filter_list.htm b/interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm
deleted file mode 100644
index fda80a6..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_content_filter_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_content_filter">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_content_filter_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_pattern" scope="col"><tmpl_var name="pattern_txt"></th>
- <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_pattern"><input type="text" name="search_pattern" value="{tmpl_var name='search_pattern'}" /></td>
- <td class="tbl_col_action"><select name="search_action">{tmpl_var name='search_action'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_content_filter_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_pattern"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="pattern"}</a></td>
- <td class="tbl_col_action"><a href="#" onClick="loadContent('mail/mail_content_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="action"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_content_filter_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>
- </div>
- </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-304/templates/mail/mail_domain_admin_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm
deleted file mode 100644
index 4b26fb1..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_admin_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_domain_admin">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_sys_groupid"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sys_groupid"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_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>
- </div>
- </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-304/templates/mail/mail_domain_catchall_edit.htm b/interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm
deleted file mode 100644
index b6b9223..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_edit.htm
+++ /dev/null
@@ -1,36 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_domain_catchall">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='email_txt'}</p>
- <div class="multiField">
- <label for="email_at" class="blockLabel email_at"> <span id="email_at" name="email_at" />@</label>
- <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <input name="destination" id="destination" value="{tmpl_var name='destination'}" size="30" maxlength="255" 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="type" value="catchall">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_domain_catchall_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_catchall_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/themes/default-304/templates/mail/mail_domain_catchall_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm
deleted file mode 100644
index d608425..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_catchall_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_domain_catchall">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_catchall_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_catchall_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_domain_catchall_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_catchall_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_domain_edit.htm b/interface/web/themes/default-304/templates/mail/mail_domain_edit.htm
deleted file mode 100644
index b84e2d6..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_edit.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_domain">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <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>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
-
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
-
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <tmpl_if name="domain_option">
- <select name="domain" id="domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- <tmpl_else>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="policy">{tmpl_var name='policy_txt'}</label>
- <select name="policy" id="policy" class="selectInput">
- {tmpl_var name='policy'}
- </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'}">
- <input type="hidden" name="type" value="local">
-
- <div class="buttonHolder buttons">
- <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>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_domain_list.htm b/interface/web/themes/default-304/templates/mail/mail_domain_list.htm
deleted file mode 100644
index 958f743..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_domain_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_domain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_domain_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_forward_edit.htm b/interface/web/themes/default-304/templates/mail/mail_forward_edit.htm
deleted file mode 100644
index d0a8503..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_forward_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_forward">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
- <div class="multiField">
- <label for="email_local_part" class="blockLabel">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
- <label for="email_at" class="blockLabel email_at"> <span id="email_at" name="email_at" />@</label>
- <label for="email_domain" class="blockLabel">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <textarea rows="10" cols="40" name="destination" id="destination" type="text" class="textInput">{tmpl_var name='destination'}</textarea>
- </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="type" value="forward">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_forward_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_forward_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/themes/default-304/templates/mail/mail_forward_list.htm b/interface/web/themes/default-304/templates/mail/mail_forward_list.htm
deleted file mode 100644
index 24a0538..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_forward_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_forward">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_forward_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_forward_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_forward_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_forward_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_get_edit.htm b/interface/web/themes/default-304/templates/mail/mail_get_edit.htm
deleted file mode 100644
index 1ba3f9e..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_get_edit.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_get">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput">
- {tmpl_var name='type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="source_server">{tmpl_var name='source_server_txt'}</label>
- <input name="source_server" id="source_server" value="{tmpl_var name='source_server'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="source_username">{tmpl_var name='source_username_txt'}</label>
- <input name="source_username" id="source_username" value="{tmpl_var name='source_username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="source_password">{tmpl_var name='source_password_txt'}</label>
- <input name="source_password" id="source_password" value="{tmpl_var name='source_password'}" size="30" maxlength="255" type="password" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='source_delete_txt'}</p>
- <div class="multiField">
- {tmpl_var name='source_delete'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='source_read_all_txt'}</p>
- <div class="multiField">
- {tmpl_var name='source_read_all'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <select name="destination" id="destination" class="selectInput">
- {tmpl_var name='destination'}
- </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','mail/mail_get_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_get_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/themes/default-304/templates/mail/mail_get_list.htm b/interface/web/themes/default-304/templates/mail/mail_get_list.htm
deleted file mode 100644
index 2997bf7..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_get_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_get">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_get_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_source_server" scope="col"><tmpl_var name="source_server_txt"></th>
- <th class="tbl_col_source_username" scope="col"><tmpl_var name="source_username_txt"></th>
- <th class="tbl_col_destination" scope="col"><tmpl_var name="destination_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_source_server"><input type="text" name="search_source_server" value="{tmpl_var name='search_source_server'}" /></td>
- <td class="tbl_col_source_username"><input type="text" name="search_source_username" value="{tmpl_var name='search_source_username'}" /></td>
- <td class="tbl_col_destination"><input type="text" name="search_destination" value="{tmpl_var name='search_destination'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_get_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_source_server"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source_server"}</a></td>
- <td class="tbl_col_source_username"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source_username"}</a></td>
- <td class="tbl_col_destination"><a href="#" onClick="loadContent('mail/mail_get_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="destination"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_get_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>
- </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/mail/mail_mailinglist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm
deleted file mode 100644
index 04964c7..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_mailinglist_edit.htm
+++ /dev/null
@@ -1,86 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_mailinglist">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Mailing List</legend>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
-
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
-
- <tmpl_if name="edit_disabled">
- <div class="ctrlHolder">
- <label for="domain_disabled">{tmpl_var name='domain_txt'}</label>
- <select name="domain_disabled" id="domain_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='domain_option'}
- </select>
- <input type="hidden" name="domain" value="{tmpl_var name='domain_value'}" />
- </div>
-
- <div class="ctrlHolder">
- <label for="listname_disabled">{tmpl_var name='listname_txt'}</label>
- <input name="listname_disabled" id="listname_disabled" value="{tmpl_var name='listname'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
- <input type="hidden" name="listname" value="{tmpl_var name='listname_value'}" />
- </div>
- <div class="ctrlHolder">
- <label for="email_disabled">{tmpl_var name='email_txt'}</label>
- <input name="email_disabled" id="email_disabled" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" disabled="disabled" />
- <input type="hidden" name="email" value="{tmpl_var name='email_value'}" />
- </div>
- <tmpl_else>
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <select name="domain" id="domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="listname">{tmpl_var name='listname_txt'}</label>
- <input name="listname" id="listname" value="{tmpl_var name='listname'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_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','mail/mail_mailinglist_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_mailinglist_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm b/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm
deleted file mode 100644
index cbb572f..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_mailinglist_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_mailinglist">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_mailinglist_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_listname" scope="col"><tmpl_var name="listname_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_listname"><input type="text" name="search_listname" value="{tmpl_var name='search_listname'}" /></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_mailinglist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_listname"><a href="#" onClick="loadContent('mail/mail_mailinglist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="listname"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_mailinglist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="mailmailinglist_link"><a class="icons16 icoWebmailer" href="mail/mailinglist.php?id={tmpl_var name='id'}" target="mailmailinglist"><span>{tmpl_var name='delete_txt'}</span></a></tmpl_if>
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_mailinglist_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/mail/mail_relay_recipient_edit.htm b/interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm
deleted file mode 100644
index 60ac345..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_edit.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_relay_recipient">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Relay recipient</legend>
- <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="source">{tmpl_var name='source_txt'}</label>
- <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" 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="access" value="OK">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_relay_recipient_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_relay_recipient_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/themes/default-304/templates/mail/mail_relay_recipient_list.htm b/interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm
deleted file mode 100644
index 7aeb45f..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_relay_recipient_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mail_relay_recipient">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_relay_recipient_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_relay_recipient_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_relay_recipient_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_relay_recipient_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/mail/mail_transport_edit.htm b/interface/web/themes/default-304/templates/mail/mail_transport_edit.htm
deleted file mode 100644
index 0bb8dfa..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_transport_edit.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_transport">
-
- <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="domain">{tmpl_var name='domain_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput formLengthHalf">
- {tmpl_var name='type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mx_txt'}</p>
- <div class="multiField">
- <input type="checkbox" value="y" id="mx" name="mx" {tmpl_var name='mx'} />
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="destination">{tmpl_var name='destination_txt'}</label>
- <input name="destination" id="transport" value="{tmpl_var name='destination'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="sort_order">{tmpl_var name='sort_order_txt'}</label>
- <select name="sort_order" id="sort_order" class="selectInput formLengthHalf">
- {tmpl_var name='sort_order'}
- </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','mail/mail_transport_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_transport_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/themes/default-304/templates/mail/mail_transport_list.htm b/interface/web/themes/default-304/templates/mail/mail_transport_list.htm
deleted file mode 100644
index 3f56fb5..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_transport_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_transport">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_transport_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_transport" scope="col"><tmpl_var name="transport_txt"></th>
- <th class="tbl_col_sort_order" scope="col"><tmpl_var name="sort_order_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_transport"><input type="text" name="search_transport" value="{tmpl_var name='search_transport'}" /></td>
- <td class="tbl_col_sort_order"><input type="text" name="search_sort_order" value="{tmpl_var name='search_sort_order'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_transport_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_transport"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="transport"}</a></td>
- <td class="tbl_col_sort_order"><a href="#" onClick="loadContent('mail/mail_transport_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="sort_order"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_transport_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>
- </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/mail/mail_user_autoresponder_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm
deleted file mode 100644
index da6edd4..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_autoresponder_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="autoresponder_subject">{tmpl_var name='autoresponder_subject_txt'}</label>
- <input type="text" name="autoresponder_subject" id="autoresponder_subject" maxlength='250' value="{tmpl_var name='autoresponder_subject'}" />
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_text">{tmpl_var name='autoresponder_text_txt'}</label>
- <textarea name="autoresponder_text" id="autoresponder_text" rows='15' cols='30'>{tmpl_var name='autoresponder_text'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder">{tmpl_var name='autoresponder_active'}</label>
- <input type="checkbox" value="y" id="autoresponder" name="autoresponder"
- onclick="AR_ResetDates();" {tmpl_var name='ar_active'} />
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_start_date">{tmpl_var name='autoresponder_start_date_txt'}</label>
- {tmpl_var name='autoresponder_start_date'}
- <a href="javascript:AR_SetNow();">{tmpl_var name='now_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_end_date">{tmpl_var name='autoresponder_end_date_txt'}</label>
- {tmpl_var name='autoresponder_end_date'}
- </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','mail/mail_user_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_user_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/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm
deleted file mode 100644
index 78c87eb..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_custom_rules_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="custom_mailfilter">{tmpl_var name='custom_mailfilter_txt'}</label>
- <textarea name="custom_mailfilter" id="custom_mailfilter" rows='15' cols='30'>{tmpl_var name='custom_mailfilter'}</textarea>
- </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','mail/mail_user_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_user_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/themes/default-304/templates/mail/mail_user_filter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_filter_edit.htm
deleted file mode 100644
index 694b618..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_filter_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_mail_user_filter">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
- <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255" class="textInput">
- </div>
- <div class="ctrlHolder">
- <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
- <select id="source" name="source" class="textInput formLengthHalf">{tmpl_var name='source'}</select>
- <select id="op" name="op" class="textInput formLengthHalf">{tmpl_var name='op'}</select>
- <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255" class="textInput">
- </div>
- <div class="ctrlHolder">
- <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
- <select id="action" name="action" class="textInput formLengthHalf">{tmpl_var name='action'}</select>
- <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255" class="textInput formLengthHalf">
- </div>
- <div class="ctrlHolder">
- <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
- <span class="">{tmpl_var name='active'}</span>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_user_filter_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_user_edit.php?id={tmpl_var name='mailuser_id'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm
deleted file mode 100644
index f270944..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_filter_list.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-
-<div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_user_filter_edit.php?mailuser_id={tmpl_var name='parent_id'}');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
-</div>
-
-<div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_rulename" scope="col"><tmpl_var name="rulename_txt"></th>
- <th class="tbl_col_buttons" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_rulename"><input type="text" name="search_rulename" value="{tmpl_var name='search_rulename'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="changeTab('filter_records','mail/mail_user_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_rulename"><a href="#" onClick="loadContent('mail/mail_user_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rulename"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_user_filter_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><tmpl_var name="paging"></td>
- </tr>
- </tfoot>
- </table>
- </fieldset>
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mail/mail_user_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_list.htm
deleted file mode 100644
index 8e1dda4..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_list.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_user">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
- <tmpl_if name="enable_custom_login"><th class="tbl_col_login" scope="col"><tmpl_var name="login_txt"></th></tmpl_if>
- <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
- <th class="tbl_col_autoresponder" scope="col"><tmpl_var name="autoresponder_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
- <td class="tbl_col_name"><input type="text" name="search_name" value="{tmpl_var name='search_name'}" /></td>
- <tmpl_if name="enable_custom_login"><td class="tbl_col_login"><input type="text" name="search_login" value="{tmpl_var name='search_login'}" /></td></tmpl_if>
- <td class="tbl_col_autoresponder"><select name="search_autoresponder">{tmpl_var name='search_autoresponder'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
- <tmpl_if name="enable_custom_login">
- <td class="tbl_col_login">
- <a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="login"}</a>
- </td>
- </tmpl_if>
- <td class="tbl_col_name"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_autoresponder"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="autoresponder"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="mailboxlist_webmail_link">
- <a class="icons16 icoWebmailer" href="mail/webmailer.php?id={tmpl_var name='id'}" target="webmail"><span>{tmpl_var name='delete_txt'}</span></a>
- </tmpl_if>
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_user_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="<tmpl_if name="enable_custom_login">5<tmpl_else>4</tmpl_if>"><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/mail/mail_user_mailbox_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm
deleted file mode 100644
index bb1dd37..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_mailbox_edit.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='name_txt'}</label>
- <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='name_optional_txt'}
- </div>
- <div class="ctrlHolder">
- <p class="label"><em>*</em> {tmpl_var name='email_txt'}</p>
- <div class="multiField">
- <label for="email_local_part" class="blockLabel formLengthEmailDomain">Alias<input type="text" id="email_local_part" name="email_local_part" size="20" value="{tmpl_var name='email_local_part'}" class="textInput" /></label>
- <label for="email_at" class="blockLabel email_at"> <span id="email_at" name="email_at" />@</label>
- <label for="email_domain" class="blockLabel formLengthEmailDomain">{tmpl_var name='domain_txt'}<select name="email_domain" id="email_domain" class="selectInput">{tmpl_var name='email_domain'}</select></label>
- </div>
- </div>
- <tmpl_if name="enable_custom_login"><div class="ctrlHolder">
- <label for="login">{tmpl_var name='login_txt'}</label>
- <input type="text" id="login" name="login" size="20" value="{tmpl_var name='login'}" class="textInput" /></label>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="quota">{tmpl_var name='quota_txt'}</label>
- <input name="quota" id="quota" value="{tmpl_var name='quota'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
- </div>
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='cc_txt'}</label>
- <input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='name_optional_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="policy">{tmpl_var name='policy_txt'}</label>
- <select name="policy" id="policy" class="selectInput">
- {tmpl_var name='policy'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='postfix_txt'}</p>
- <div class="multiField">
- {tmpl_var name='postfix'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='disableimap_txt'}</p>
- <div class="multiField">
- {tmpl_var name='disableimap'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='disablepop3_txt'}</p>
- <div class="multiField">
- {tmpl_var name='disablepop3'}
- </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','mail/mail_user_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_user_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/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm b/interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm
deleted file mode 100644
index ef053c9..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_mailfilter_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='move_junk_txt'}</p>
- <div class="multiField">
- {tmpl_var name='move_junk'}
- </div>
- </div>
- </fieldset>
-
- {tmpl_var name='filter_records'}
-
- <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','mail/mail_user_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_user_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/themes/default-304/templates/mail/mail_user_stats_list.htm b/interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm
deleted file mode 100644
index 2000f34..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_user_stats_list.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_user_stats">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
- <th class="tbl_col_mail_traffic_this_month" scope="col"><tmpl_var name="this_month_txt"></th>
- <th class="tbl_col_mail_traffic_last_month" scope="col"><tmpl_var name="last_month_txt"></th>
- <th class="tbl_col_mail_traffic_this_year" scope="col"><tmpl_var name="this_year_txt"></th>
- <th class="tbl_col_mail_traffic_last_year" scope="col"><tmpl_var name="last_year_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
- <td class="tbl_col_this_month"></td>
- <td class="tbl_col_last_month"></td>
- <td class="tbl_col_this_year"></td>
- <td class="tbl_col_last_year"></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
- <td class="tbl_col_this_month"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"} MB</a></td>
- <td class="tbl_col_last_month"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"} MB</a></td>
- <td class="tbl_col_this_year"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"} MB</a></td>
- <td class="tbl_col_last_year"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"} MB</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
-
- </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/mail/mail_whitelist_edit.htm b/interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm
deleted file mode 100644
index cf2aeb5..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_whitelist_edit.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mail_whitelist">
-
- <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="source">{tmpl_var name='source_txt'}</label>
- <input name="source" id="source" value="{tmpl_var name='source'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput">
- {tmpl_var name='type'}
- </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'}">
- <input name="access" type="hidden" value="{tmpl_var name='access'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/mail_whitelist_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_whitelist_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/themes/default-304/templates/mail/mail_whitelist_list.htm b/interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm
deleted file mode 100644
index 219345f..0000000
--- a/interface/web/themes/default-304/templates/mail/mail_whitelist_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_mail_whitelist">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/mail_whitelist_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_source" scope="col"><tmpl_var name="source_txt"></th>
- <th class="tbl_col_type" scope="col"><tmpl_var name="type_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_source"><input type="text" name="search_source" value="{tmpl_var name='search_source'}" /></td>
- <td class="tbl_col_type"><select name="search_type">{tmpl_var name='search_type'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_whitelist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_source"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="source"}</a></td>
- <td class="tbl_col_type"><a href="#" onClick="loadContent('mail/mail_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="type"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/mail_whitelist_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>
- </div>
- </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-304/templates/mail/spamfilter_blacklist_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm
deleted file mode 100644
index 34c2249..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_blacklist">
-
- <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="rid">{tmpl_var name='rid_txt'}</label>
- <select name="rid" id="rid" class="selectInput">
- {tmpl_var name='rid'}
- </select>
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="priority">{tmpl_var name='priority_txt'}</label>
- <select name="priority" id="priority" class="selectInput formLengthHalf">
- {tmpl_var name='priority'}
- </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'}">
- <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_blacklist_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/spamfilter_blacklist_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/themes/default-304/templates/mail/spamfilter_blacklist_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm
deleted file mode 100644
index 8a05d36..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_blacklist_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_blacklist">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_blacklist_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_priority" scope="col"><tmpl_var name="priority_txt"></th>
- <th class="tbl_col_rid" scope="col"><tmpl_var name="rid_txt"></th>
- <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
- <td class="tbl_col_rid"><select name="search_rid">{tmpl_var name='search_rid'}</select></td>
- <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_blacklist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
- <td class="tbl_col_rid"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rid"}</a></td>
- <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/spamfilter_blacklist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_blacklist_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>
- </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/mail/spamfilter_config_getmail_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm
deleted file mode 100644
index 2b3c85a..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_getmail_edit.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_config">
-
- <div class="pnl_formsarea">
- <fieldset id="wf_area_spamfilter_config">
- <span class="wf_oneField">
- <label for="getmail_config_dir" class="wf_preField">{tmpl_var name='getmail_config_dir_txt'}</label>
- <input type="text" id="getmail_config_dir" name="getmail_config_dir" value="{tmpl_var name='getmail_config_dir'}" size="40" maxlength="255">
- </span>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="wf_actions buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_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('mail/spamfilter_config_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/themes/default-304/templates/mail/spamfilter_config_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm
deleted file mode 100644
index b84a77f..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_list.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_config">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_config_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_name" scope="col"><tmpl_var name="server_name_txt"></th>
- <th class="tbl_col_buttons" scope="col"> </th>
- </tr>
- <tr>
- <td class="tbl_col_server_name"><input type="text" name="search_server_name" value="{tmpl_var name='search_server_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_config_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_name"><a href="#" onClick="loadContent('mail/spamfilter_config_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_config_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
-
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="2"><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/mail/spamfilter_config_mail_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm
deleted file mode 100644
index e51a780..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_mail_edit.htm
+++ /dev/null
@@ -1,72 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_config">
-
- <div class="pnl_formsarea">
- <fieldset id="wf_area_spamfilter_config">
- <span class="wf_oneField">
- <label for="module" class="wf_preField">{tmpl_var name='module_txt'}</label>
- <select id="module" name="module">{tmpl_var name='module'}</select>
- </span>
- <span class="wf_oneField">
- <label for="maildir_path" class="wf_preField">{tmpl_var name='maildir_path_txt'}</label>
- <input type="text" id="maildir_path" name="maildir_path" value="{tmpl_var name='maildir_path'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="homedir_path" class="wf_preField">{tmpl_var name='homedir_path_txt'}</label>
- <input type="text" id="homedir_path" name="homedir_path" value="{tmpl_var name='homedir_path'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="mailuser_uid" class="wf_preField">{tmpl_var name='mailuser_uid_txt'}</label>
- <input type="text" id="mailuser_uid" name="mailuser_uid" value="{tmpl_var name='mailuser_uid'}" size="10" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="mailuser_gid" class="wf_preField">{tmpl_var name='mailuser_gid_txt'}</label>
- <input type="text" id="mailuser_gid" name="mailuser_gid" value="{tmpl_var name='mailuser_gid'}" size="10" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="mailuser_name" class="wf_preField">{tmpl_var name='mailuser_name_txt'}</label>
- <input type="text" id="mailuser_name" name="mailuser_name" value="{tmpl_var name='mailuser_name'}" size="10" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="mailuser_group" class="wf_preField">{tmpl_var name='mailuser_group_txt'}</label>
- <input type="text" id="mailuser_group" name="mailuser_group" value="{tmpl_var name='mailuser_group'}" size="10" maxlength="255">
- </span>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='mailbox_virtual_uidgid_maps_txt'}</p>
- <div class="multiField">
- {tmpl_var name='mailbox_virtual_uidgid_maps'}
- </div>
- </div>
- <span class="wf_oneField">
- <label for="relayhost" class="wf_preField">{tmpl_var name='relayhost_txt'}</label>
- <input type="text" id="relayhost" name="relayhost" value="{tmpl_var name='relayhost'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="relayhost_user" class="wf_preField">{tmpl_var name='relayhost_user_txt'}</label>
- <input type="text" id="relayhost_user" name="relayhost_user" value="{tmpl_var name='relayhost_user'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="relayhost_password" class="wf_preField">{tmpl_var name='relayhost_password_txt'}</label>
- <input type="text" id="relayhost_password" name="relayhost_password" value="{tmpl_var name='relayhost_password'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="mailbox_size_limit" class="wf_preField">{tmpl_var name='mailbox_size_limit_txt'}</label>
- <input type="text" id="mailbox_size_limit" name="mailbox_size_limit" value="{tmpl_var name='mailbox_size_limit'}" size="10" maxlength="15">
- </span>
- <span class="wf_oneField">
- <label for="message_size_limit" class="wf_preField">{tmpl_var name='message_size_limit_txt'}</label>
- <input type="text" id="message_size_limit" name="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="15">
- </span>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="wf_actions buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_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('mail/spamfilter_config_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/themes/default-304/templates/mail/spamfilter_config_server_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_config_server_edit.htm
deleted file mode 100644
index 6cdca69..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_config_server_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_spamfilter_config">
-
- <div class="pnl_formsarea">
- <fieldset id="wf_area_spamfilter_config">
- <span class="wf_oneField">
- <label for="ip_address" class="wf_preField">{tmpl_var name='ip_address_txt'}</label>
- <input type="text" id="ip_address" name="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="netmask" class="wf_preField">{tmpl_var name='netmask_txt'}</label>
- <input type="text" id="netmask" name="netmask" value="{tmpl_var name='netmask'}" size="15" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="gateway" class="wf_preField">{tmpl_var name='gateway_txt'}</label>
- <input type="text" id="gateway" name="gateway" value="{tmpl_var name='gateway'}" size="15" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="hostname" class="wf_preField">{tmpl_var name='hostname_txt'}</label>
- <input type="text" id="hostname" name="hostname" value="{tmpl_var name='hostname'}" size="40" maxlength="255">
- </span>
- <span class="wf_oneField">
- <label for="nameservers" class="wf_preField">{tmpl_var name='nameservers_txt'}</label>
- <input type="text" id="nameservers" name="nameservers" value="{tmpl_var name='nameservers'}" size="40" maxlength="255">
- </span>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="wf_actions buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_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('mail/spamfilter_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm
deleted file mode 100644
index 518be5f..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_other_edit.htm
+++ /dev/null
@@ -1,80 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="addr_extension_virus">{tmpl_var name='addr_extension_virus_txt'}</label>
- <input name="addr_extension_virus" id="addr_extension_virus" value="{tmpl_var name='addr_extension_virus'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="addr_extension_spam">{tmpl_var name='addr_extension_spam_txt'}</label>
- <input name="addr_extension_spam" id="addr_extension_spam" value="{tmpl_var name='addr_extension_spam'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="addr_extension_banned">{tmpl_var name='addr_extension_banned_txt'}</label>
- <input name="addr_extension_banned" id="addr_extension_banned" value="{tmpl_var name='addr_extension_banned'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="addr_extension_bad_header">{tmpl_var name='addr_extension_bad_header_txt'}</label>
- <input name="addr_extension_bad_header" id="addr_extension_bad_header" value="{tmpl_var name='addr_extension_bad_header'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="warnvirusrecip">{tmpl_var name='warnvirusrecip_txt'}</label>
- <select name="warnvirusrecip" id="warnvirusrecip" class="selectInput formLengthBool">
- {tmpl_var name='warnvirusrecip'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="warnbannedrecip">{tmpl_var name='warnbannedrecip_txt'}</label>
- <select name="warnbannedrecip" id="warnbannedrecip" class="selectInput formLengthBool">
- {tmpl_var name='warnbannedrecip'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="warnbadhrecip">{tmpl_var name='warnbadhrecip_txt'}</label>
- <select name="warnbadhrecip" id="warnbadhrecip" class="selectInput formLengthBool">
- {tmpl_var name='warnbadhrecip'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="newvirus_admin">{tmpl_var name='newvirus_admin_txt'}</label>
- <input name="newvirus_admin" id="newvirus_admin" value="{tmpl_var name='newvirus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="virus_admin">{tmpl_var name='virus_admin_txt'}</label>
- <input name="virus_admin" id="virus_admin" value="{tmpl_var name='virus_admin'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="banned_admin">{tmpl_var name='banned_admin_txt'}</label>
- <input name="banned_admin" id="banned_admin" value="{tmpl_var name='banned_admin'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bad_header_admin">{tmpl_var name='bad_header_admin_txt'}</label>
- <input name="bad_header_admin" id="bad_header_admin" value="{tmpl_var name='bad_header_admin'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_admin">{tmpl_var name='spam_admin_txt'}</label>
- <input name="spam_admin" id="spam_admin" value="{tmpl_var name='spam_admin'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="message_size_limit">{tmpl_var name='message_size_limit_txt'}</label>
- <input name="message_size_limit" id="message_size_limit" value="{tmpl_var name='message_size_limit'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" /> Bytes
- </div>
- <div class="ctrlHolder">
- <label for="banned_rulenames">{tmpl_var name='banned_rulenames_txt'}</label>
- <input name="banned_rulenames" id="banned_rulenames" value="{tmpl_var name='banned_rulenames'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','mail/spamfilter_policy_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/spamfilter_policy_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm
deleted file mode 100644
index 7279f0a..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_policy_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="policy_name">{tmpl_var name='policy_name_txt'}</label>
- <input name="policy_name" id="policy_name" value="{tmpl_var name='policy_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="virus_lover">{tmpl_var name='virus_lover_txt'}</label>
- <select name="virus_lover" id="virus_lover" class="selectInput formLengthBool">
- {tmpl_var name='virus_lover'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="spam_lover">{tmpl_var name='spam_lover_txt'}</label>
- <select name="spam_lover" id="spam_lover" class="selectInput formLengthBool">
- {tmpl_var name='spam_lover'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="banned_files_lover">{tmpl_var name='banned_files_lover_txt'}</label>
- <select name="banned_files_lover" id="banned_files_lover" class="selectInput formLengthBool">
- {tmpl_var name='banned_files_lover'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="bad_header_lover">{tmpl_var name='bad_header_lover_txt'}</label>
- <select name="bad_header_lover" id="bad_header_lover" class="selectInput formLengthBool">
- {tmpl_var name='bad_header_lover'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="bypass_virus_checks">{tmpl_var name='bypass_virus_checks_txt'}</label>
- <select name="bypass_virus_checks" id="bypass_virus_checks" class="selectInput formLengthBool">
- {tmpl_var name='bypass_virus_checks'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="bypass_banned_checks">{tmpl_var name='bypass_banned_checks_txt'}</label>
- <select name="bypass_banned_checks" id="bypass_banned_checks" class="selectInput formLengthBool">
- {tmpl_var name='bypass_banned_checks'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="bypass_header_checks">{tmpl_var name='bypass_header_checks_txt'}</label>
- <select name="bypass_header_checks" id="bypass_header_checks" class="selectInput formLengthBool">
- {tmpl_var name='bypass_header_checks'}
- </select>
- </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','mail/spamfilter_policy_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/spamfilter_policy_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/themes/default-304/templates/mail/spamfilter_policy_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm
deleted file mode 100644
index 48d323f..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_policy_list.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_policy">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_policy_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_policy_name" scope="col"><tmpl_var name="policy_name_txt"></th>
- <th class="tbl_col_virus_lover" scope="col"><tmpl_var name="virus_lover_txt"></th>
- <th class="tbl_col_spam_lover" scope="col"><tmpl_var name="spam_lover_txt"></th>
- <th class="tbl_col_banned_files_lover" scope="col"><tmpl_var name="banned_files_lover_txt"></th>
- <th class="tbl_col_bad_header_lover" scope="col"><tmpl_var name="bad_header_lover_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_policy_name"><input type="text" name="search_policy_name" value="{tmpl_var name='search_policy_name'}" /></td>
- <td class="tbl_col_virus_lover"><select name="search_virus_lover">{tmpl_var name='search_virus_lover'}</select></td>
- <td class="tbl_col_spam_lover"><select name="search_spam_lover">{tmpl_var name='search_spam_lover'}</select></td>
- <td class="tbl_col_banned_files_lover"><select name="search_banned_files_lover">{tmpl_var name='search_banned_files_lover'}</select></td>
- <td class="tbl_col_bad_header_lover"><select name="search_bad_header_lover">{tmpl_var name='search_bad_header_lover'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_policy_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_policy_name"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="policy_name"}</a></td>
- <td class="tbl_col_virus_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="virus_lover"}</a></td>
- <td class="tbl_col_spam_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="spam_lover"}</a></td>
- <td class="tbl_col_banned_files_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="banned_files_lover"}</a></td>
- <td class="tbl_col_bad_header_lover"><a href="#" onClick="loadContent('mail/spamfilter_policy_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="bad_header_lover"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_policy_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>
- </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/mail/spamfilter_quarantine_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm
deleted file mode 100644
index 98e9c3e..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_quarantine_edit.htm
+++ /dev/null
@@ -1,44 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="virus_quarantine_to">{tmpl_var name='virus_quarantine_to_txt'}</label>
- <input name="virus_quarantine_to" id="virus_quarantine_to" value="{tmpl_var name='virus_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_quarantine_to">{tmpl_var name='spam_quarantine_to_txt'}</label>
- <input name="spam_quarantine_to" id="spam_quarantine_to" value="{tmpl_var name='spam_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="banned_quarantine_to">{tmpl_var name='banned_quarantine_to_txt'}</label>
- <input name="banned_quarantine_to" id="banned_quarantine_to" value="{tmpl_var name='banned_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="bad_header_quarantine_to">{tmpl_var name='bad_header_quarantine_to_txt'}</label>
- <input name="bad_header_quarantine_to" id="bad_header_quarantine_to" value="{tmpl_var name='bad_header_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <!--
- <div class="ctrlHolder">
- <label for="clean_quarantine_to">{tmpl_var name='clean_quarantine_to_txt'}</label>
- <input name="clean_quarantine_to" id="clean_quarantine_to" value="{tmpl_var name='clean_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="other_quarantine_to">{tmpl_var name='other_quarantine_to_txt'}</label>
- <input name="other_quarantine_to" id="other_quarantine_to" value="{tmpl_var name='other_quarantine_to'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','mail/spamfilter_policy_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/spamfilter_policy_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/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm
deleted file mode 100644
index 34577c8..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_taglevel_edit.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_policy">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="spam_tag_level">{tmpl_var name='spam_tag_level_txt'}</label>
- <input name="spam_tag_level" id="spam_tag_level" value="{tmpl_var name='spam_tag_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_tag2_level">{tmpl_var name='spam_tag2_level_txt'}</label>
- <input name="spam_tag2_level" id="spam_tag2_level" value="{tmpl_var name='spam_tag2_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_kill_level">{tmpl_var name='spam_kill_level_txt'}</label>
- <input name="spam_kill_level" id="spam_kill_level" value="{tmpl_var name='spam_kill_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_dsn_cutoff_level">{tmpl_var name='spam_dsn_cutoff_level_txt'}</label>
- <input name="spam_dsn_cutoff_level" id="spam_dsn_cutoff_level" value="{tmpl_var name='spam_dsn_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_quarantine_cutoff_level">{tmpl_var name='spam_quarantine_cutoff_level_txt'}</label>
- <input name="spam_quarantine_cutoff_level" id="spam_quarantine_cutoff_level" value="{tmpl_var name='spam_quarantine_cutoff_level'}" size="10" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_modifies_subj">{tmpl_var name='spam_modifies_subj_txt'}</label>
- <select name="spam_modifies_subj" id="spam_modifies_subj" class="selectInput formLengthBool">
- {tmpl_var name='spam_modifies_subj'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="spam_subject_tag">{tmpl_var name='spam_subject_tag_txt'}</label>
- <input name="spam_subject_tag" id="spam_subject_tag" value="{tmpl_var name='spam_subject_tag'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="spam_subject_tag2">{tmpl_var name='spam_subject_tag2_txt'}</label>
- <input name="spam_subject_tag2" id="spam_subject_tag2" value="{tmpl_var name='spam_subject_tag2'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','mail/spamfilter_policy_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/spamfilter_policy_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/themes/default-304/templates/mail/spamfilter_users_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm
deleted file mode 100644
index 7c96208..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_users_edit.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_users">
-
- <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="priority">{tmpl_var name='priority_txt'}</label>
- <select name="priority" id="priority" class="selectInput formLengthLimit">
- {tmpl_var name='priority'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="policy_id">{tmpl_var name='policy_id_txt'}</label>
- <select name="policy_id" id="policy_id" class="selectInput">
- {tmpl_var name='policy_id'}
- </select>
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="fullname">{tmpl_var name='fullname_txt'}</label>
- <input name="fullname" id="fullname" value="{tmpl_var name='fullname'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="local">{tmpl_var name='local_txt'}</label>
- <select name="local" id="local" class="selectInput formLengthBool">
- {tmpl_var name='local'}
- </select>
- </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','mail/spamfilter_users_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/spamfilter_users_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/themes/default-304/templates/mail/spamfilter_users_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm
deleted file mode 100644
index 280e766..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_users_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_users">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_users_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_local" scope="col"><tmpl_var name="local_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_priority" scope="col"><tmpl_var name="priority_txt"></th>
- <th class="tbl_col_policy_id" scope="col"><tmpl_var name="policy_id_txt"></th>
- <th class="tbl_col_fullname" scope="col"><tmpl_var name="fullname_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_local"><select name="search_local">{tmpl_var name='search_local'}</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_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
- <td class="tbl_col_policy_id"><select name="search_policy_id">{tmpl_var name='search_policy_id'}</select></td>
- <td class="tbl_col_fullname"><input type="text" name="search_fullname" value="{tmpl_var name='search_fullname'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_users_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_local"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="local"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
- <td class="tbl_col_policy_id"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="policy_id"}</a></td>
- <td class="tbl_col_fullname"><a href="#" onClick="loadContent('mail/spamfilter_users_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="fullname"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_users_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
- </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/mail/spamfilter_whitelist_edit.htm b/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm
deleted file mode 100644
index 0d31b7a..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_spamfilter_whitelist">
-
- <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="rid">{tmpl_var name='rid_txt'}</label>
- <select name="rid" id="rid" class="selectInput">
- {tmpl_var name='rid'}
- </select>
- </div>
- <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>
- <div class="ctrlHolder">
- <label for="priority">{tmpl_var name='priority_txt'}</label>
- <select name="priority" id="priority" class="selectInput formLengthHalf">
- {tmpl_var name='priority'}
- </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'}">
- <input type="hidden" name="wb" value="{tmpl_var name='wb'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mail/spamfilter_whitelist_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/spamfilter_whitelist_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/themes/default-304/templates/mail/spamfilter_whitelist_list.htm b/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm
deleted file mode 100644
index 6c7ff3d..0000000
--- a/interface/web/themes/default-304/templates/mail/spamfilter_whitelist_list.htm
+++ /dev/null
@@ -1,63 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_spamfilter_whitelist">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mail/spamfilter_whitelist_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_priority" scope="col"><tmpl_var name="priority_txt"></th>
- <th class="tbl_col_rid" scope="col"><tmpl_var name="rid_txt"></th>
- <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_priority"><select name="search_priority">{tmpl_var name='search_priority'}</select></td>
- <td class="tbl_col_rid"><select name="search_rid">{tmpl_var name='search_rid'}</select></td>
- <td class="tbl_col_email"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/spamfilter_whitelist_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_priority"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="priority"}</a></td>
- <td class="tbl_col_rid"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rid"}</a></td>
- <td class="tbl_col_email"><a href="#" onClick="loadContent('mail/spamfilter_whitelist_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mail/spamfilter_whitelist_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>
- </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/mail/user_quota_stats_list.htm b/interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm
deleted file mode 100644
index b4f3c1e..0000000
--- a/interface/web/themes/default-304/templates/mail/user_quota_stats_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_user_quota_stats">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_email" scope="col"><tmpl_var name="email_txt"></th>
- <th class="tbl_col_name" scope="col"><tmpl_var name="name_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="quota_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain"><input type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
- <td class="tbl_col_system_user"><input type="text" name="search_system_user" value="{tmpl_var name='search_name'}" /></td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_buttons">
- <div class="buttons">
- <button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/user_quota_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button>
- </div>
- </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_email"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a></td>
- <td class="tbl_col_name"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="name"}</a></td>
- <td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
- <td class="tbl_col_limit" style="text-align:right;"><a href="#" onClick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="quota"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
-
- </div>
- </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>
diff --git a/interface/web/themes/default-304/templates/mailuser/index.htm b/interface/web/themes/default-304/templates/mailuser/index.htm
deleted file mode 100644
index c320253..0000000
--- a/interface/web/themes/default-304/templates/mailuser/index.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_mailuser">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='email_txt'}</p>
- <p class="value">{tmpl_var name='email'}</p>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='login_txt'}</p>
- <p class="value">{tmpl_var name='login'}</p>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='server_address_txt'}</p>
- <p class="value">{tmpl_var name='server_name'}</p>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='quota_txt'}</p>
- <p class="value">{tmpl_var name='quota'}</p>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='cc_txt'}</p>
- <p class="value">{tmpl_var name='cc'}</p>
- </div>
- <div class="buttonHolder buttons">
-
- </div>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm
deleted file mode 100644
index 271fca1..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_autoresponder_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_autoresponder">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="autoresponder_subject">{tmpl_var name='autoresponder_subject_txt'}</label>
- <input type="text" name="autoresponder_subject" id="autoresponder_subject" maxlength='250' value="{tmpl_var name='autoresponder_subject'}" />
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_text">{tmpl_var name='autoresponder_text_txt'}</label>
- <textarea name="autoresponder_text" id="autoresponder_text" rows='15' cols='30'>{tmpl_var name='autoresponder_text'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder">{tmpl_var name='autoresponder_active'}</label>
- <input type="checkbox" value="y" id="autoresponder" name="autoresponder" onclick="AR_ResetDates();" {tmpl_var name='ar_active'} />
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_start_date">{tmpl_var name='autoresponder_start_date_txt'}</label>
- {tmpl_var name='autoresponder_start_date'}
- <a href="javascript:AR_SetNow();">{tmpl_var name='now_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="autoresponder_end_date">{tmpl_var name='autoresponder_end_date_txt'}</label>
- {tmpl_var name='autoresponder_end_date'}
- </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','mailuser/mail_user_autoresponder_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('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm
deleted file mode 100644
index 089f824..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_cc_edit.htm
+++ /dev/null
@@ -1,26 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_cc">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='email_txt'}</p>
- <p class="value">{tmpl_var name='email'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="name">{tmpl_var name='cc_txt'}</label>
- <input name="cc" id="cc" value="{tmpl_var name='cc'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='name_optional_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','mailuser/mail_user_cc_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('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_filter_edit.htm
deleted file mode 100644
index a9113c2..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_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_mailuser_filter">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="rulename" class="wf_preField">{tmpl_var name='rulename_txt'}</label>
- <input type="text" id="rulename" name="rulename" value="{tmpl_var name='rulename'}" size="30" maxlength="255" class="textInput">
- </div>
- <div class="ctrlHolder">
- <label for="source" class="wf_preField">{tmpl_var name='source_txt'}</label>
- <select id="source" name="source" class="textInput formLengthHalf">{tmpl_var name='source'}</select>
- <select id="op" name="op" class="textInput formLengthHalf">{tmpl_var name='op'}</select>
- <input type="text" id="searchterm" name="searchterm" value="{tmpl_var name='searchterm'}" size="30" maxlength="255" class="textInput">
- </div>
- <div class="ctrlHolder">
- <label for="action" class="wf_preField">{tmpl_var name='action_txt'}</label>
- <select id="action" name="action" class="textInput formLengthHalf">{tmpl_var name='action'}</select>
- <input type="text" id="target" name="target" value="{tmpl_var name='target'}" size="30" maxlength="255" class="textInput formLengthHalf">
- </div>
- <div class="ctrlHolder">
- <label for="active" class="wf_preField">{tmpl_var name='active_txt'}</label>
- <span class="">{tmpl_var name='active'}</span>
- </div>
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
- <input name="mailuser_id" type="hidden" value="{tmpl_var name='mailuser_id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','mailuser/mail_user_filter_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('mailuser/mail_user_filter_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/themes/default-304/templates/mailuser/mail_user_filter_list.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm
deleted file mode 100644
index b8501e8..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_filter_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_mailuser_filter">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('mailuser/mail_user_filter_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_rulename" scope="col"><tmpl_var name="rulename_txt"></th>
- <th class="tbl_col_buttons" scope="col"> </th>
- </tr>
- <tr>
- <td class="tbl_col_rulename"><input type="text" name="search_rulename" value="{tmpl_var name='search_rulename'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','mail/mail_user_edit.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_rulename"><a href="#" onClick="loadContent('mailuser/mail_user_filter_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="rulename"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('mailuser/mail_user_filter_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
-
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/mailuser/mail_user_password_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm
deleted file mode 100644
index ed49c16..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_password_edit.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_password">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='email_txt'}</p>
- <p class="value">{tmpl_var name='email'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_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','mailuser/mail_user_password_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('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm b/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm
deleted file mode 100644
index eaa59e9..0000000
--- a/interface/web/themes/default-304/templates/mailuser/mail_user_spamfilter_edit.htm
+++ /dev/null
@@ -1,28 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_mailuser_spamfilter">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='email_txt'}</p>
- <p class="value">{tmpl_var name='email'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="policy">{tmpl_var name='policy_txt'}</label>
- <select name="policy" id="policy" class="selectInput">
- {tmpl_var name='policy'}
- </select>
- </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','mailuser/mail_user_spamfilter_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('mailuser/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm
deleted file mode 100644
index 862693b..0000000
--- a/interface/web/themes/default-304/templates/main.tpl.htm
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title><tmpl_var name="app_title"> <tmpl_var name="app_version"></title>
- <meta http-equiv="Content-Type" content="text/html; charset=<tmpl_var name="html_content_encoding">"/>
- <meta http-equiv="X-UA-Compatible" content="IE=8"/>
- <link href="themes/default/css/central.css" rel="stylesheet" type="text/css"/>
- <!--[if lte IE 7]>
- <link href="themes/default/css/patches/central.css" rel="stylesheet" type="text/css" />
- <![endif]-->
- <!--[if lte ie 6]>
- <style type="text/css" media="screen">
- /*
- Move these to your IE specific stylesheet if possible
- */
- .uniForm,
- .uniForm fieldset,
- .uniForm .ctrlHolder,
- .uniForm .formHint,
- .uniForm .buttonHolder,
- .uniForm .ctrlHolder .multiField,
- .uniForm .inlineLabel{ zoom:1; }
-
- .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
- .uniForm .blockLabels label, .uniForm .blockLabels .label,
- .uniForm .inlineLabel span{ padding-bottom: .2em; }
-
- .uniForm .inlineLabel input,
- .uniForm .inlineLabels .inlineLabel input,
- .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
- </style>
- <![endif]-->
- <!--[if gt ie 6]>
- <style type="text/css" media="screen">
- /*
- Move these to your IE specific stylesheet if possible
- */
- .uniForm,
- .uniForm fieldset,
- .uniForm .ctrlHolder,
- .uniForm .formHint,
- .uniForm .buttonHolder,
- .uniForm .ctrlHolder .multiField,
- .uniForm .inlineLabel{ zoom:1; }
-
- .uniForm .inlineLabels label, .uniForm .inlineLabels .label,
- .uniForm .blockLabels label, .uniForm .blockLabels .label,
- .uniForm .inlineLabel span{ padding-bottom: .2em; }
-
- .uniForm .inlineLabel input,
- .uniForm .inlineLabels .inlineLabel input,
- .uniForm .blockLabels .inlineLabel input{ margin-top: -.3em; }
- </style>
- <![endif]-->
- <link href="themes/default/css/screen/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css"/>
- <link href="themes/default/css/screen/jquery-ui-custom.css" rel="stylesheet" type="text/css"/>
- <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
- <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
- <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
- <script type="text/javascript" src="js/scrigo.js.php"></script>
- <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
- <script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
- <script type="text/javascript" src="js/jquery.tipsy.js"></script>
- <script language="JavaScript" type="text/javascript">
- var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
- if(!is_chrome && getInternetExplorerVersion() > 8.0) {
- var style = document.createElement('style');
- style.innerHTML = '#page_margins { min-width: 980px; max-width: 80%; background: #fff; display: table;}';
- document.getElementsByTagName("head")[0].appendChild(style);
- }
-
- jQuery(document).ready(function() {
- loadInitContent();
-
- $("#pageForm").submit(function(e){
- //Prevent form submit: e.preventDefault() in lists
- if ($(".panel #Filter").length > 0) {
- e.preventDefault();
- }
- });
-
- jQuery('.subsectiontoggle').live("click", function(){
- jQuery(this).children().toggleClass('showing').end().next().slideToggle();
- });
-
- jQuery('#globalsearch').ispconfigSearch({
- dataSrc: '/dashboard/ajax_get_json.php?type=globalsearch',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- searchFieldWatermark: '<tmpl_var name="globalsearch_searchfield_watermark_txt">'
- });
-
- jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
-
- tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
- tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
- tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
- tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
- });
-
-
- jQuery(document).bind("change", function(event) {
- var elName = event.target.localName;
- if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
- event.preventDefault();
- jQuery(".panel #Filter").trigger('click');
- }
- if(elName == 'select' || elName == 'input' || elName == 'textarea') {
- // set marker that something was changed
- pageFormChanged = true;
- }
- });
-
- jQuery(document).bind("keypress", function(event) {
- //Use jQuery submit with keypress Enter in panel filterbar
- if (event.which == '13' && jQuery(".panel #Filter").length > 0) {
- event.preventDefault();
- jQuery(".panel #Filter").trigger('click');
- }
- //Use jQuery submit with keypress Enter in forms
- if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
- event.preventDefault();
- jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
- }
- });
- </script>
- </head>
- <body>
- <div id="page_margins">
- <div id="page">
- <div id="header">
- <div id="topsubnav">
- <!-- start: skip link navigation -->
- <a class="skip" href="#navigation" title="skip link">Skip to the navigation</a><span class="hideme">.</span>
- <a class="skip" href="#content" title="skip link">Skip to the content</a><span class="hideme">.</span>
- <!-- end: skip link navigation -->
- <tmpl_if name="cpuser">
- <span><a href="#logout" onclick="loadContent('login/logout.php');"><tmpl_var format="strtoupper" name="logout_txt"> <tmpl_var format="strtoupper" name="cpuser"></a><!-- | <a href="#" onclick="capp('help')">Help</a> | <a href="#">Imprint</a>--></span>
- <tmpl_if name='usertype' op='==' value='normaluser'><input type="text" id="globalsearch" size="25" value="" /></tmpl_if>
- </tmpl_if>
- </div>
- <h1 id="ir-HeaderLogo" class="swap" style="background-image:url('{tmpl_var name='app_logo'}');"><span>ISPConfig 3</span></h1>
- <span>hosting control panel</span>
- </div>
- <!-- begin: main navigation #nav -->
- <div id="nav">
- <a id="navigation" name="navigation"></a>
- <!-- skiplink anchor: navigation -->
- <div id="nav_main">
- <div id="topNav"> </div>
- </div>
- </div>
- <!-- end: main navigation -->
- <!-- begin: main content area #main -->
- <div id="main">
- <!-- begin: #col1 - first float column -->
- <div id="col1">
- <div id="col1_content" class="clearfix">
- <div id="sideNav"> </div>
- </div>
- </div>
- <!-- end: #col1 -->
- <!-- begin: #col3 static column -->
- <div id="col3">
- <div id="col3_content" class="clearfix">
- <a id="content" name="content"></a>
- <!-- skiplink anchor: Content -->
- <form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
- <div id="pageContent"><!-- AJAX CONTENT --></div>
- </form>
- </div>
- <div id="ie_clearing"> </div>
- <!-- End: IE Column Clearing -->
- </div>
- <!-- end: #col3 -->
- </div>
- <!-- end: #main -->
- <!-- begin: #footer -->
- <div id="footer">
- Powered by <a href="<tmpl_var name="app_link">" target="_blank"><tmpl_var name="app_title"></a>
- </div><!-- end: #footer -->
- </div>
- </div>
- </body>
-</html>
diff --git a/interface/web/themes/default-304/templates/module.tpl.htm b/interface/web/themes/default-304/templates/module.tpl.htm
deleted file mode 100644
index f8a26de..0000000
--- a/interface/web/themes/default-304/templates/module.tpl.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<tr>
- <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif"> </td>
- <td rowspan="3" class="mainContent">
- <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0">
- <tr>
- <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="128" align="right" valign="top" bgcolor="#DEE4F2">
- <table width="128" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td height="10"> </td>
- </tr>
- <tr>
- <td align="center">
- <tmpl_loop name="nav_left">
- <table bgcolor="#F4F6FB" width="115">
- <tr>
- <td class="navLeftHead"><tmpl_var name="title"></td>
- </tr>
- <tr>
- <td>
- <tmpl_loop name="items">
- <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br>
- </tmpl_loop>
- </td>
- </tr>
- </table>
- <br />
- </tmpl_loop>
- </td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td align="left" valign="bottom" bgcolor="#DEE4F2"> </td>
-</tr>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/module_tree.tpl.htm b/interface/web/themes/default-304/templates/module_tree.tpl.htm
deleted file mode 100644
index be21381..0000000
--- a/interface/web/themes/default-304/templates/module_tree.tpl.htm
+++ /dev/null
@@ -1,42 +0,0 @@
-<tr>
- <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif"> </td>
- <td rowspan="3" class="mainContent">
- <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0">
- <tr>
- <td width="200"><iframe height="100%" width="100%" frameborder="0" name="navframe" src="{tmpl_var name="navframe_page"}"></iframe></td>
- <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td width="128" align="right" valign="top" bgcolor="#DEE4F2">
- <table width="128" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td height="10"> </td>
- </tr>
- <tr>
- <td align="center">
- <tmpl_loop name="nav_left">
- <table bgcolor="#F4F6FB" width="115">
- <tr>
- <td class="navLeftHead"><tmpl_var name="title"></td>
- </tr>
- <tr>
- <td>
- <tmpl_loop name="items">
- <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br>
- </tmpl_loop>
- </td>
- </tr>
- </table>
- <br />
- </tmpl_loop>
- </td>
- </tr>
- </table>
- </td>
-</tr>
-<tr>
- <td align="left" valign="bottom" bgcolor="#DEE4F2"> </td>
-</tr>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/datalog_list.htm b/interface/web/themes/default-304/templates/monitor/datalog_list.htm
deleted file mode 100644
index 158a5a8..0000000
--- a/interface/web/themes/default-304/templates/monitor/datalog_list.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_datalog">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_action" scope="col"><tmpl_var name="action_txt"></th>
- <th class="tbl_col_dbtable" scope="col"><tmpl_var name="dbtable_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_tstamp"> </td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_action"><select name="search_action">{tmpl_var name='search_action'}</select></td>
- <td class="tbl_col_dbtable"><input type="text" name="search_dbtable" value="{tmpl_var name='search_dbtable'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','monitor/datalog_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_tstamp">{tmpl_var name="tstamp"}</td>
- <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
- <td class="tbl_col_action">{tmpl_var name="action"}</td>
- <td class="tbl_col_dbtable">{tmpl_var name="dbtable"}</td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <!--<a class="icons16 icoDelete" href="javascript: del_record('monitor/datalog_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> -->
- </div>
- </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-304/templates/monitor/show_data.htm b/interface/web/themes/default-304/templates/monitor/show_data.htm
deleted file mode 100644
index 818208d..0000000
--- a/interface/web/themes/default-304/templates/monitor/show_data.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_system">
-
- <div class="pnl_formarea">
- <fieldset><legend><tmpl_var name="monTransDate"><tmpl_var name="time"></legend>
- <div class="systemmonitor"><tmpl_var name="output"></div>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/monitor/show_log.htm b/interface/web/themes/default-304/templates/monitor/show_log.htm
deleted file mode 100644
index 271d46b..0000000
--- a/interface/web/themes/default-304/templates/monitor/show_log.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_logview">
-
- <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" onChange="loadContentRefresh('monitor/show_log.php?log={tmpl_var name="log_id"}')">
- {tmpl_var name='refresh'}
- </select>
- </div>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_formarea">
- <fieldset><legend><tmpl_var name="monTransDate"><tmpl_var name="time"></legend>
- <div class="codeview"><tmpl_var name="log_data"></div>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
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
deleted file mode 100644
index 9a5830c..0000000
--- a/interface/web/themes/default-304/templates/monitor/show_sys_state.htm
+++ /dev/null
@@ -1,25 +0,0 @@
-<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/monitor/syslog_list.htm b/interface/web/themes/default-304/templates/monitor/syslog_list.htm
deleted file mode 100644
index e3d18cb..0000000
--- a/interface/web/themes/default-304/templates/monitor/syslog_list.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_syslog">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_tstamp" scope="col"><tmpl_var name="tstamp_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_loglevel" scope="col"><tmpl_var name="loglevel_txt"></th>
- <th class="tbl_col_message" scope="col"><tmpl_var name="message_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_tstamp"> </td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_loglevel"><select name="search_loglevel">{tmpl_var name='search_loglevel'}</select></td>
- <td class="tbl_col_message"><input type="text" name="search_message" value="{tmpl_var name='search_message'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','monitor/log_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_tstamp">{tmpl_var name="tstamp"}</td>
- <td class="tbl_col_server_id">{tmpl_var name="server_id"}</td>
- <td class="tbl_col_loglevel">{tmpl_var name="loglevel"}</td>
- <td class="tbl_col_message">{tmpl_var name="message"}</td>
- <td class="tbl_col_buttons">
- <tmpl_if name="loglevel" op="==" value="Error">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
- </div>
- </tmpl_if>
- <tmpl_if name="loglevel" op="==" value="Warning">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('monitor/log_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>
- </div>
- </tmpl_if>
- </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-304/templates/sidenav.tpl.htm b/interface/web/themes/default-304/templates/sidenav.tpl.htm
deleted file mode 100644
index a5051cf..0000000
--- a/interface/web/themes/default-304/templates/sidenav.tpl.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-<ul id="submenu">
- <tmpl_loop name="nav_left">
- <li class="title">
- <tmpl_if name="startpage">
- <a href="#" onClick="loadContent('<tmpl_var name='startpage'>')">
- </tmpl_if>
- <tmpl_var name="title">
- <tmpl_if name="startpage">
- </a>
- </tmpl_if>
- </li>
- <tmpl_loop name="items">
- <li <tmpl_if name="html_id"> id='<tmpl_var name="html_id">' </tmpl_if>>
- <tmpl_if name="link">
- <a href="#" onClick="loadContent('<tmpl_var name='link'>')">
- </tmpl_if>
- <tmpl_var name="title">
- <tmpl_if name="link">
- </a>
- </tmpl_if>
- </li>
- </tmpl_loop>
- </tmpl_loop>
-</ul>
\ 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
deleted file mode 100644
index eeed54f..0000000
--- a/interface/web/themes/default-304/templates/sites/aps_install_package.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<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
deleted file mode 100644
index 6f4ab80..0000000
--- a/interface/web/themes/default-304/templates/sites/aps_instances_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<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
deleted file mode 100644
index 18a6fc9..0000000
--- a/interface/web/themes/default-304/templates/sites/aps_packagedetails_show.htm
+++ /dev/null
@@ -1,139 +0,0 @@
-<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
deleted file mode 100644
index fe99743..0000000
--- a/interface/web/themes/default-304/templates/sites/aps_packages_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<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-304/templates/sites/cron_edit.htm b/interface/web/themes/default-304/templates/sites/cron_edit.htm
deleted file mode 100644
index 7d47b4e..0000000
--- a/interface/web/themes/default-304/templates/sites/cron_edit.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_cron">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Cron Job</legend>
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
- {tmpl_var name='parent_domain_id'}
- </select>
- <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
- <tmpl_else>
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="run_min">{tmpl_var name='run_min_txt'}</label>
- <input name="run_min" id="run_min" value="{tmpl_var name='run_min'}" size="10" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. *, */3, 10-20</p>
- </div>
- <div class="ctrlHolder">
- <label for="run_hour">{tmpl_var name='run_hour_txt'}</label>
- <input name="run_hour" id="run_hour" value="{tmpl_var name='run_hour'}" size="10" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. *, */2, 0, 10-12</p>
- </div>
- <div class="ctrlHolder">
- <label for="run_mday">{tmpl_var name='run_mday_txt'}</label>
- <input name="run_mday" id="run_mday" value="{tmpl_var name='run_mday'}" size="10" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. *, */4, 1-5</p>
- </div>
- <div class="ctrlHolder">
- <label for="run_month">{tmpl_var name='run_month_txt'}</label>
- <input name="run_month" id="run_month" value="{tmpl_var name='run_month'}" size="10" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. *, 1-6</p>
- </div>
- <div class="ctrlHolder">
- <label for="run_wday">{tmpl_var name='run_wday_txt'}</label>
- <input name="run_wday" id="run_wday" value="{tmpl_var name='run_wday'}" size="10" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. *, 0, 1-5</p>
- </div>
- <div class="ctrlHolder">
- <label for="command">{tmpl_var name='command_txt'}</label>
- <input name="command" id="command" value="{tmpl_var name='command'}" size="30" maxlength="255" type="text" class="textInput" />
- <p class="formHint">e.g. /var/www/clients/client1/myscript.sh or http://www.mydomain.com/path/script.php</p>
- </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','sites/cron_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/cron_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/themes/default-304/templates/sites/cron_list.htm b/interface/web/themes/default-304/templates/sites/cron_list.htm
deleted file mode 100644
index f822b89..0000000
--- a/interface/web/themes/default-304/templates/sites/cron_list.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_cron">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/cron_edit.php');">
- <span>{tmpl_var name="add_new_cron_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_run_min" scope="col"><tmpl_var name="run_min_txt"></th>
- <th class="tbl_col_run_hour" scope="col"><tmpl_var name="run_hour_txt"></th>
- <th class="tbl_col_run_mday" scope="col"><tmpl_var name="run_mday_txt"></th>
- <th class="tbl_col_run_month" scope="col"><tmpl_var name="run_month_txt"></th>
- <th class="tbl_col_run_wday" scope="col"><tmpl_var name="run_wday_txt"></th>
- <th class="tbl_col_command" scope="col"><tmpl_var name="command_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_run_min"><input type="text" name="search_run_min" size="1" value="{tmpl_var name='search_run_min'}" /></td>
- <td class="tbl_col_run_hour"><input type="text" name="search_run_hour" size="1" value="{tmpl_var name='search_run_hour'}" /></td>
- <td class="tbl_col_run_mday"><input type="text" name="search_run_mday" size="1" value="{tmpl_var name='search_run_mday'}" /></td>
- <td class="tbl_col_run_month"><input type="text" name="search_run_month" size="1" value="{tmpl_var name='search_run_month'}" /></td>
- <td class="tbl_col_run_wday"><input type="text" name="search_run_wday" size="1" value="{tmpl_var name='search_run_wday'}" /></td>
- <td class="tbl_col_command"><input type="text" name="search_command" value="{tmpl_var name='search_command'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/cron_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/cron_edit.php?id={tmpl_var name='id'}');"><img src="themes/{tmpl_var name='theme'}/icons/{tmpl_var name='_active_'}" border="0" /></a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/cron_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/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_run_min"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_min"}</a></td>
- <td class="tbl_col_run_hour"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_hour"}</a></td>
- <td class="tbl_col_run_mday"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_mday"}</a></td>
- <td class="tbl_col_run_month"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_month"}</a></td>
- <td class="tbl_col_run_wday"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="run_wday"}</a></td>
- <td class="tbl_col_commnd"><a href="#" onClick="loadContent('sites/cron_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="command"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/cron_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="10"><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/database_admin_list.htm b/interface/web/themes/default-304/templates/sites/database_admin_list.htm
deleted file mode 100644
index fda3ba7..0000000
--- a/interface/web/themes/default-304/templates/sites/database_admin_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_database_admin">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_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_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
- <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_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_database_user"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td>
- <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('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_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_database_user"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td>
- <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="dblist_phpmyadmin_link">
- <a class="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="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
- <a class="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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><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/database_edit.htm b/interface/web/themes/default-304/templates/sites/database_edit.htm
deleted file mode 100644
index 4207a78..0000000
--- a/interface/web/themes/default-304/templates/sites/database_edit.htm
+++ /dev/null
@@ -1,113 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_database">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <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>
- </tmpl_if>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="type">{tmpl_var name='type_txt'}</label>
- <select name="type" id="type" class="selectInput formLengthHalf">
- {tmpl_var name='type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="database_name">{tmpl_var name='database_name_txt'}</label>
- <p class="prefix">{tmpl_var name='database_name_prefix'}</p>
- <tmpl_if name="edit_disabled">
- <input name="database_name" id="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" disabled="disabled" />
- <input name="database_name" type="hidden" value="{tmpl_var name='database_name'}" />
- <tmpl_else>
- <input name="database_name" id="database_name" value="{tmpl_var name='database_name'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="database_user_id">{tmpl_var name='database_user_txt'}</label>
- <select name="database_user_id" id="database_user_id" class="selectInput">
- {tmpl_var name='database_user_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="database_ro_user_id">{tmpl_var name='database_ro_user_txt'}</label>
- <select name="database_ro_user_id" id="database_ro_user_id" class="selectInput">
- {tmpl_var name='database_ro_user_id'}
- </select> {tmpl_var name='optional_txt'}
- </div>
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="database_charset_disabled">{tmpl_var name='database_charset_txt'}</label>
- <select name="database_charset_disabled" id="database_charset_disabled" class="selectInput formLengthHalf" disabled="disabled">
- {tmpl_var name='database_charset'}
- </select>
- <input type="hidden" name="database_charset" value="{tmpl_var name='database_charset_value'}" />
- <tmpl_else>
- <label for="database_charset">{tmpl_var name='database_charset_txt'}</label>
- <select name="database_charset" id="database_charset" class="selectInput formLengthHalf">
- {tmpl_var name='database_charset'}
- </select>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='remote_access_txt'}</p>
- <div class="multiField">
- {tmpl_var name='remote_access'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="remote_ips">{tmpl_var name='remote_ips_txt'}</label>
- <input name="remote_ips" id="remote_ips" value="{tmpl_var name='remote_ips'}" size="60" type="text" class="textInput formLengthHalf" />
- </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','sites/database_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/database_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- jQuery('#remote_ips').ispconfigSearch({
- dataSrc: '/sites/ajax_get_json.php?type=get_ipv4',
- resultsLimit: '$ <tmpl_var name="globalsearch_resultslimit_of_txt"> % <tmpl_var name="globalsearch_resultslimit_results_txt">',
- ResultsTextPrefix: '<tmpl_var name="globalsearch_suggestions_text_txt">',
- noResultsText: '<tmpl_var name="globalsearch_noresults_text_txt">',
- noResultsLimit: '<tmpl_var name="globalsearch_noresults_limit_txt">',
- minChars: 0,
- cssPrefix: 'df-',
- fillSearchField: true,
- fillSearchFieldWith: 'fill_text',
- searchFieldWatermark: '',
- resultBoxPosition: 'e'
- });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/database_list.htm b/interface/web/themes/default-304/templates/sites/database_list.htm
deleted file mode 100644
index 7b49e87..0000000
--- a/interface/web/themes/default-304/templates/sites/database_list.htm
+++ /dev/null
@@ -1,66 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_database">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
- <th class="tbl_col_database_name" scope="col"><tmpl_var name="database_name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_database_user"><select name="search_database_user_id">{tmpl_var name='search_database_user_id'}</select></td>
- <td class="tbl_col_database_name"><input type="text" name="search_database_name" value="{tmpl_var name='search_database_name'}"/></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('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_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_database_user"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user_id"}</a></td>
- <td class="tbl_col_database_name"><a href="#" onClick="loadContent('sites/database_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="dblist_phpmyadmin_link">
- <a class="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="icons16 icoEdit" href="javascript: loadContent('sites/database_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
- <a class="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>
- </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/database_user_admin_list.htm b/interface/web/themes/default-304/templates/sites/database_user_admin_list.htm
deleted file mode 100644
index c1bee67..0000000
--- a/interface/web/themes/default-304/templates/sites/database_user_admin_list.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_database_user_admin">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_database_user"><input type="text" name="search_database_user" value="{tmpl_var name='search_database_user'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_database_user"><a href="#" onClick="loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
- <a class="icons16 icoDelete" href="javascript: del_record('sites/database_user_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="2"><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/database_user_edit.htm b/interface/web/themes/default-304/templates/sites/database_user_edit.htm
deleted file mode 100644
index 40e8c96..0000000
--- a/interface/web/themes/default-304/templates/sites/database_user_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_database_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="database_user">{tmpl_var name='database_user_txt'}</label>
- <p class="prefix">{tmpl_var name='database_user_prefix'}</p>
- <input name="database_user" id="database_user" value="{tmpl_var name='database_user'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="database_password">{tmpl_var name='database_password_txt'}</label>
- <input name="database_password" id="database_password" value="{tmpl_var name='database_password'}" size="30" maxlength="255" type="password" class="textInput formLengthHalf" onkeyup="pass_check(this.value);checkPassMatch('database_password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('database_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('database_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_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/database_user_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/database_user_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/themes/default-304/templates/sites/database_user_list.htm b/interface/web/themes/default-304/templates/sites/database_user_list.htm
deleted file mode 100644
index 0a0ea1a..0000000
--- a/interface/web/themes/default-304/templates/sites/database_user_list.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_database">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/database_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_database_user" scope="col"><tmpl_var name="database_user_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_database_user"><input type="text" name="search_database_user" value="{tmpl_var name='search_database_user'}"/></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/database_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_database_user"><a href="#" onClick="loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="database_user"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoEdit" href="javascript: loadContent('sites/database_user_edit.php?id={tmpl_var name='id'}');"><span>{tmpl_var name='edit_txt'}</span></a>
- <a class="icons16 icoDelete" href="javascript: del_record('sites/database_user_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="2"><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/ftp_user_advanced.htm b/interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm
deleted file mode 100644
index 175b5fe..0000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_advanced.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="uid">{tmpl_var name='uid_txt'}</label>
- <input name="uid" id="uid" value="{tmpl_var name='uid'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="gid">{tmpl_var name='gid_txt'}</label>
- <input name="gid" id="gid" value="{tmpl_var name='gid'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="dir">{tmpl_var name='dir_txt'}</label>
- <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="quota_files">{tmpl_var name='quota_files_txt'}</label>
- <input name="quota_files" id="quota_files" value="{tmpl_var name='quota_files'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">{tmpl_var name='quota_files_unity_txt'}</p>
- </div>
- <div class="ctrlHolder">
- <label for="ul_ratio">{tmpl_var name='ul_ratio_txt'}</label>
- <input name="ul_ratio" id="ul_ratio" value="{tmpl_var name='ul_ratio'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
- </div>
- <div class="ctrlHolder">
- <label for="dl_ratio">{tmpl_var name='dl_ratio_txt'}</label>
- <input name="dl_ratio" id="dl_ratio" value="{tmpl_var name='dl_ratio'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
- </div>
- <div class="ctrlHolder">
- <label for="ul_bandwidth">{tmpl_var name='ul_bandwidth_txt'}</label>
- <input name="ul_bandwidth" id="ul_bandwidth" value="{tmpl_var name='ul_bandwidth'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">kb/s</p>
- </div>
- <div class="ctrlHolder">
- <label for="dl_bandwidth">{tmpl_var name='dl_bandwidth_txt'}</label>
- <input name="dl_bandwidth" id="dl_bandwidth" value="{tmpl_var name='dl_bandwidth'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">kb/s</p>
- </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/ftp_user_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/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm b/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm
deleted file mode 100644
index 5918c6d..0000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_advanced_client.htm
+++ /dev/null
@@ -1,22 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="dir">{tmpl_var name='dir_txt'}</label>
- <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
- </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/ftp_user_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/ftp_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm b/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm
deleted file mode 100644
index cf90001..0000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_edit.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_ftp_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <p class="prefix">{tmpl_var name='username_prefix'}</p>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
- <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
- </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','sites/ftp_user_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/ftp_user_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/themes/default-304/templates/sites/ftp_user_list.htm b/interface/web/themes/default-304/templates/sites/ftp_user_list.htm
deleted file mode 100644
index d455e0d..0000000
--- a/interface/web/themes/default-304/templates/sites/ftp_user_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_ftp_user">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/ftp_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/ftp_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/ftp_user_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/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/ftp_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <tmpl_if name="webftp_link">
- <a class="icons16 icoDbAdmin" href="{tmpl_var name='webftp_url'}" target="_blank"><span>{tmpl_var name='admin_txt'}</span></a>
- </tmpl_if>
- <a class="icons16 icoDelete" href="javascript: del_record('sites/ftp_user_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>
- </div>
- </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-304/templates/sites/shell_user_advanced.htm b/interface/web/themes/default-304/templates/sites/shell_user_advanced.htm
deleted file mode 100644
index bad78c8..0000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_advanced.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_shell_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="puser">{tmpl_var name='puser_txt'}</label>
- <input name="puser" id="puser" value="{tmpl_var name='puser'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="pgroup">{tmpl_var name='pgroup_txt'}</label>
- <input name="pgroup" id="pgroup" value="{tmpl_var name='pgroup'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="shell">{tmpl_var name='shell_txt'}</label>
- <input name="shell" id="shell" value="{tmpl_var name='shell'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="dir">{tmpl_var name='dir_txt'}</label>
- <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" />
- </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/shell_user_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/shell_user_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/themes/default-304/templates/sites/shell_user_edit.htm b/interface/web/themes/default-304/templates/sites/shell_user_edit.htm
deleted file mode 100644
index 3cb5d38..0000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_edit.htm
+++ /dev/null
@@ -1,72 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_shell_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
- {tmpl_var name='parent_domain_id'}
- </select>
- <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
- <tmpl_else>
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <p class="prefix">{tmpl_var name='username_prefix'} </p>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput formLengthFourth"/>
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');"/> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="chroot">{tmpl_var name='chroot_txt'}</label>
- <select name="chroot" id="chroot" class="selectInput formLengthHalf">
- {tmpl_var name='chroot'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="quota_size">{tmpl_var name='quota_size_txt'}</label>
- <input name="quota_size" id="quota_size" value="{tmpl_var name='quota_size'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /><p class="label">MB</p>
- </div>
- <div class="ctrlHolder">
- <label for="ssh_rsa">{tmpl_var name='ssh_rsa_txt'}</label>
- <textarea name="ssh_rsa" id="ssh_rsa" rows="10" cols="30">{tmpl_var name='ssh_rsa'}</textarea>
- </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','sites/shell_user_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/shell_user_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/themes/default-304/templates/sites/shell_user_list.htm b/interface/web/themes/default-304/templates/sites/shell_user_list.htm
deleted file mode 100644
index 9087c66..0000000
--- a/interface/web/themes/default-304/templates/sites/shell_user_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_shell_user">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/shell_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/shell_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/shell_user_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/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/shell_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/shell_user_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>
- </div>
- </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-304/templates/sites/user_quota_stats_list.htm b/interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm
deleted file mode 100644
index adb1e35..0000000
--- a/interface/web/themes/default-304/templates/sites/user_quota_stats_list.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_user_quota_stats">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_system_user" scope="col"><tmpl_var name="system_user_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="soft_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="hard_txt"></th>
- <th class="" scope="col" style="text-align:right;"><tmpl_var name="files_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_system_user"><input type="text" name="search_system_user" value="{tmpl_var name='search_system_user'}" /></td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_system_user"> </td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/user_quota_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_system_user"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="system_user"}</a></td>
- <td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
- <td class="tbl_col_soft" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
- <td class="tbl_col_hard" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
- <td class="tbl_col_files" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="files"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
-
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="7"><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/web_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm
deleted file mode 100644
index 0ccaa5e..0000000
--- a/interface/web/themes/default-304/templates/sites/web_aliasdomain_edit.htm
+++ /dev/null
@@ -1,125 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <tmpl_if name="domain_option">
- <select name="domain" id="domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- <tmpl_else>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </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','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('#parent_domain_id').val();
- var serverId;
- getServerId(webId);
-
- jQuery('#parent_domain_id').change(function(){
- webId = $(this).val();
- getServerId(webId);
- });
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery("#redirect_type option[value='R']").hide();
- jQuery('#redirect_type option[value="L"]').hide();
- jQuery('#redirect_type option[value="R,L"]').hide();
- jQuery('#redirect_type option[value="R=301,L"]').hide();
-
- jQuery('#redirect_type option[value="last"]').show();
- jQuery('#redirect_type option[value="break"]').show();
- jQuery('#redirect_type option[value="redirect"]').show();
- jQuery('#redirect_type option[value="permanent"]').show();
-
- jQuery('#redirect_type option[value="last"]').attr('disabled',false);
- jQuery('#redirect_type option[value="break"]').attr('disabled',false);
- jQuery('#redirect_type option[value="redirect"]').attr('disabled',false);
- jQuery('#redirect_type option[value="permanent"]').attr('disabled',false);
-
- if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').hide();
-
- jQuery('#redirect_type option[value="R"]').show();
- jQuery('#redirect_type option[value="L"]').show();
- jQuery('#redirect_type option[value="R,L"]').show();
- jQuery('#redirect_type option[value="R=301,L"]').show();
-
- jQuery('#redirect_type option[value="R"]').attr('disabled',false);
- jQuery('#redirect_type option[value="L"]').attr('disabled',false);
- jQuery('#redirect_type option[value="R,L"]').attr('disabled',false);
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false);
-
- if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm
deleted file mode 100644
index faab74e..0000000
--- a/interface/web/themes/default-304/templates/sites/web_aliasdomain_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_aliasdomain">
-
- <div class="pnl_listsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_aliasdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_aliasdomain_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/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_aliasdomain_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>
- </div>
- </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-304/templates/sites/web_backup_list.htm b/interface/web/themes/default-304/templates/sites/web_backup_list.htm
deleted file mode 100644
index 8563977..0000000
--- a/interface/web/themes/default-304/templates/sites/web_backup_list.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-<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>
-<h3><tmpl_var name="list_head_txt"></h3>
-
-<div class="panel panel_list_web_backup">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_buttons" scope="col"> </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_buttons" style="width:300px;">
- <div class="buttons" >
- <button class="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="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>
- </tr>
- </tmpl_loop>
- </tbody>
- </table>
- </fieldset>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm b/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm
deleted file mode 100644
index f363e44..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_admin_list.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_domain_admin">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_sys_groupid" scope="col"><tmpl_var name="sys_groupid_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain_id"><input type="text" name="search_domain_id" size="4" value="{tmpl_var name='search_domain_id'}" /></td>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_sys_groupid"><select name="search_sys_groupid">{tmpl_var name='search_sys_groupid'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_domain_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_sys_groupid"><a href="#" onClick="loadContent('sites/web_domain_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/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_domain_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>
- </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/web_domain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_domain_advanced.htm
deleted file mode 100644
index 8710740..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_advanced.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<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">
- <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
- <div class="ctrlHolder">
- <label for="system_user">{tmpl_var name='system_user_txt'}</label>
- <label for="system_user">{tmpl_var name='system_user'}</label>
- <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
- </div>
- <div class="ctrlHolder">
- <label for="system_group">{tmpl_var name='system_group_txt'}</label>
- <label for="system_group">{tmpl_var name='system_group'}</label>
- <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
- </div>
- <div class="ctrlHolder apache">
- <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
- <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="phpfpm">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
- <div class="multiField">
- {tmpl_var name='php_fpm_use_socket'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="pm">{tmpl_var name='pm_txt'}</label>
- <select name="pm" id="pm" class="selectInput">
- {tmpl_var name='pm'}
- </select>
- </div>
- <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
- {tmpl_var name='pm_ondemand_hint_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
- <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
- <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
- <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
- <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_ondemand">
- <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
- <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" /> s
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
- <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="ctrlHolder">
- <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="30" type="text" class="textInput" style="width:400px;" />
- </div>
- <div class="ctrlHolder">
- <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
- <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
- </div>
- <div class="ctrlHolder apache">
- <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
- <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
- <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
- </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_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('sites/web_domain_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();
- var serverId;
- getServerId();
- adjustForm();
-
- var pm = jQuery('#pm').val();
- pmMode(pm);
- jQuery('#pm').change(function(){
- pm = jQuery(this).val();
- pmMode(pm);
- });
-
- function pmMode(pm){
- switch(pm){
- case "static":
- jQuery('.pm_dynamic').add('.pm_ondemand').hide();
- jQuery('.pm_static').show();
- break;
- case "dynamic":
- jQuery('.pm_static').add('.pm_ondemand').hide();
- jQuery('.pm_dynamic').show();
- break;
- case "ondemand":
- jQuery('.pm_static').add('.pm_dynamic').hide();
- jQuery('.pm_ondemand').show();
- break;
- }
- }
-
- function getServerId(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- });
- }
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
- if(data.phptype == "php-fpm"){
- jQuery('.phpfpm').show();
- } else {
- jQuery('.phpfpm').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_backup.htm b/interface/web/themes/default-304/templates/sites/web_domain_backup.htm
deleted file mode 100644
index c46d4e2..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_backup.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<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>Backup</legend>
- <div class="ctrlHolder">
- <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
- <select name="backup_interval" id="backup_interval" class="selectInput">
- {tmpl_var name='backup_interval'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
- <select name="backup_copies" id="backup_copies" class="selectInput">
- {tmpl_var name='backup_copies'}
- </select>
- </div>
- </fieldset>
-
- {tmpl_var name='backup_records'}
-
- <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_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('sites/web_domain_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/themes/default-304/templates/sites/web_domain_edit.htm b/interface/web/themes/default-304/templates/sites/web_domain_edit.htm
deleted file mode 100644
index c2d9d21..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_edit.htm
+++ /dev/null
@@ -1,249 +0,0 @@
-<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">
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <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>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- <tmpl_else>
- <input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
- <select name="ip_address" id="ip_address" class="selectInput formLengthIPv4">
- {tmpl_var name='ip_address'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ipv6_address">{tmpl_var name='ipv6_address_txt'}</label>
- <select name="ipv6_address" id="ipv6_address" class="selectInput formLengthIPv4">
- {tmpl_var name='ipv6_address'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <tmpl_if name="domain_option">
- <select name="domain" id="domain" class="selectInput">
- {tmpl_var name='domain_option'}
- </select>
- <tmpl_else>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
- <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
- <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
- </div>
- <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='cgi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='perl'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ruby'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='python'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='suexec'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='errordocs_txt'}</p>
- <div class="multiField">
- {tmpl_var name='errordocs'}
- </div>
- </div></tmpl_if>
-
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </select>
- </div>
- <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssl'}
- </div>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="php">{tmpl_var name='php_txt'}</label>
- <select name="php" id="php" class="selectInput formLengthHalf">
- {tmpl_var name='php'}
- </select>
- </div>
- <div class="ctrlHolder fastcgi_php_version">
- <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
- <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
- {tmpl_var name='fastcgi_php_version'}
- </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 id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><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_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var serverId;
- var clientGroupId = jQuery('#client_group_id').val();
- var serverIdDisabled = jQuery('#server_id_disabled').val();
- if(serverIdDisabled > 0){
- serverId = serverIdDisabled;
- } else {
- serverId = jQuery('#server_id').val();
- jQuery('#server_id').change(function(){
- serverId = $(this).val();
- adjustForm();
- reloadWebIP();
- reloadFastcgiPHPVersions();
- });
- }
- adjustForm();
- reloadFastcgiPHPVersions();
-
- jQuery('#client_group_id').change(function(){
- clientGroupId = $(this).val();
- reloadWebIP();
- });
-
- if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- jQuery('#php').change(function(){
- reloadFastcgiPHPVersions();
- if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- });
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- var selected = jQuery('#php').val();
- jQuery('.apache').hide();
- jQuery('.apache').hide();
- jQuery('#php option[value="fast-cgi"]').hide();
- jQuery('#php option[value="cgi"]').hide();
- jQuery('#php option[value="mod"]').hide();
- jQuery('#php option[value="suphp"]').hide();
- if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
- } else {
- jQuery('.apache').show();
- jQuery('.apache').show();
- jQuery('#php option[value="fast-cgi"]').show();
- jQuery('#php option[value="cgi"]').show();
- jQuery('#php option[value="mod"]').show();
- jQuery('#php option[value="suphp"]').show();
- }
- });
- }
-
- function reloadWebIP() {
- loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
- loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
- }
-
- function reloadFastcgiPHPVersions() {
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
- var options = '<option value="">Default</option>';
- var phpfastcgiselected = '';
- $.each(data, function(key, val) {
- if($('#fastcgi_php_version').val() == key){
- phpfastcgiselected = ' selected="selected"';
- } else {
- phpfastcgiselected = '';
- }
- options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
- });
- $('#fastcgi_php_version').html(options);
- });
- }
-
- <tmpl_if name="readonly_tab">
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
- jQuery('div.tabbox_tabs').find('a').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- });
- jQuery('#dom-edit-submit').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- submitForm('pageForm','sites/web_domain_edit.php');
- });
- <tmpl_else>
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_domain_edit.php');
- });
- </tmpl_if>
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_list.htm b/interface/web/themes/default-304/templates/sites/web_domain_list.htm
deleted file mode 100644
index 4ce5d5d..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_domain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_domain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_domain_id" scope="col"><tmpl_var name="domain_id_txt"></th>
- <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_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain_id"><input type="text" size="5" name="search_domain_id" value="{tmpl_var name='search_domain_id'}" /></td>
- <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_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_domain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_domain_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain_id"}</a></td>
- <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_domain_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>
- </div>
- </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-304/templates/sites/web_domain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_domain_redirect.htm
deleted file mode 100644
index 66a1703..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_redirect.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
- <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
- {tmpl_var name='seo_redirect'}
- </select>
- </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_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('sites/web_domain_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();
- var serverId;
- getServerId(webId);
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="R"]').hide();
- jQuery('#redirect_type option[value="L"]').hide();
- 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") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').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');
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm
deleted file mode 100644
index 4c27bb7..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
- <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
- <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
- <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
- <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
- <select name="ssl_country" id="ssl_country" class="selectInput flags">
- {tmpl_var name='ssl_country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
- <select name="ssl_domain" id="ssl_domain" class="selectInput">
- {tmpl_var name='ssl_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
- <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
- <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
- <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
- <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
- <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
- {tmpl_var name='ssl_action'}
- </select>
- </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_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('sites/web_domain_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/themes/default-304/templates/sites/web_domain_stats.htm b/interface/web/themes/default-304/templates/sites/web_domain_stats.htm
deleted file mode 100644
index 26eee94..0000000
--- a/interface/web/themes/default-304/templates/sites/web_domain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
- </div>
- <div class="ctrlHolder">
- <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
- <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
- <select name="stats_type" id="stats_type" class="selectInput" >
- {tmpl_var name='stats_type'}
- </select>
- </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_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('sites/web_domain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_edit.htm b/interface/web/themes/default-304/templates/sites/web_folder_edit.htm
deleted file mode 100644
index 4165ab7..0000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_edit.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_folder">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Folder</legend>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="path">{tmpl_var name='path_txt'}</label>
- <input name="path" id="path" value="{tmpl_var name='path'}" size="30" maxlength="255" 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'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_folder_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_folder_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_list.htm b/interface/web/themes/default-304/templates/sites/web_folder_list.htm
deleted file mode 100644
index 3dcb9ee..0000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_folder">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_folder_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_path" scope="col"><tmpl_var name="path_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_server_id"><select name="search_server_id" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id" onChange="submitForm('pageForm','sites/web_folder_list.php');">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_path"><input type="text" name="search_path" value="{tmpl_var name='search_path'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_folder_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_folder_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/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_path"><a href="#" onClick="loadContent('sites/web_folder_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="path"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_folder_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>
- </div>
- </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-304/templates/sites/web_folder_user_edit.htm b/interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm
deleted file mode 100644
index 63376d8..0000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_user_edit.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_web_folder_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Folder</legend>
- <div class="ctrlHolder">
- <label for="web_folder_id">{tmpl_var name='web_folder_id_txt'}</label>
- <select name="web_folder_id" id="web_folder_id" class="selectInput">
- {tmpl_var name='web_folder_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</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','sites/web_folder_user_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_folder_user_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm b/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm
deleted file mode 100644
index 2df924f..0000000
--- a/interface/web/themes/default-304/templates/sites/web_folder_user_list.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_web_folder_user">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_folder_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_web_folder_id" scope="col"><tmpl_var name="web_folder_id_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active" onChange="submitForm('pageForm','sites/web_folder_user_list.php');">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_web_folder_id"><select name="search_web_folder_id" onChange="submitForm('pageForm','sites/web_folder_user_list.php');">{tmpl_var name='search_web_folder_id'}</select></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_folder_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_web_folder_id"><a href="#" onClick="loadContent('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="web_folder_id"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/web_folder_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_folder_user_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="4"><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/web_sites_stats_list.htm b/interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm
deleted file mode 100644
index d51e0e2..0000000
--- a/interface/web/themes/default-304/templates/sites/web_sites_stats_list.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_sites_stats">
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_web_traffic_this_month" scope="col"><tmpl_var name="this_month_txt"></th>
- <th class="tbl_col_web_traffic_last_month" scope="col"><tmpl_var name="last_month_txt"></th>
- <th class="tbl_col_web_traffic_this_year" scope="col"><tmpl_var name="this_year_txt"></th>
- <th class="tbl_col_web_traffic_last_year" scope="col"><tmpl_var name="last_year_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_this_month"></td>
- <td class="tbl_col_last_month"></td>
- <td class="tbl_col_this_year"></td>
- <td class="tbl_col_last_year"></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_sites_stats.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_this_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"} MB</a></td>
- <td class="tbl_col_last_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"} MB</a></td>
- <td class="tbl_col_this_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"} MB</a></td>
- <td class="tbl_col_last_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"} MB</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- </div>
- </td>
- </tr>
- </tmpl_loop>
- <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_txt"}</a></td>
- <td class="tbl_col_this_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_month"} MB</a></td>
- <td class="tbl_col_last_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_month"} MB</a></td>
- <td class="tbl_col_this_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_year"} MB</a></td>
- <td class="tbl_col_last_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_year"} MB</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- </div>
- </td>
- </tr>
- </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/web_subdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm
deleted file mode 100644
index a8b0fe9..0000000
--- a/interface/web/themes/default-304/templates/sites/web_subdomain_edit.htm
+++ /dev/null
@@ -1,112 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='host_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
- <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" 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'}">
-
- <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();
- var webId = jQuery('#parent_domain_id').val();
- var serverId;
- getServerId(webId);
-
- jQuery('#parent_domain_id').change(function(){
- webId = $(this).val();
- getServerId(webId);
- });
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery("#redirect_type option[value='R']").hide();
- jQuery('#redirect_type option[value="L"]').hide();
- jQuery('#redirect_type option[value="R,L"]').hide();
- jQuery('#redirect_type option[value="R=301,L"]').hide();
-
- jQuery('#redirect_type option[value="last"]').show();
- jQuery('#redirect_type option[value="break"]').show();
- jQuery('#redirect_type option[value="redirect"]').show();
- jQuery('#redirect_type option[value="permanent"]').show();
-
- jQuery('#redirect_type option[value="last"]').attr('disabled',false);
- jQuery('#redirect_type option[value="break"]').attr('disabled',false);
- jQuery('#redirect_type option[value="redirect"]').attr('disabled',false);
- jQuery('#redirect_type option[value="permanent"]').attr('disabled',false);
-
- if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').hide();
-
- jQuery('#redirect_type option[value="R"]').show();
- jQuery('#redirect_type option[value="L"]').show();
- jQuery('#redirect_type option[value="R,L"]').show();
- jQuery('#redirect_type option[value="R=301,L"]').show();
-
- jQuery('#redirect_type option[value="R"]').attr('disabled',false);
- jQuery('#redirect_type option[value="L"]').attr('disabled',false);
- jQuery('#redirect_type option[value="R,L"]').attr('disabled',false);
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false);
-
- if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm
deleted file mode 100644
index 237cd85..0000000
--- a/interface/web/themes/default-304/templates/sites/web_subdomain_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_subdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_subdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_subdomain_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/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_subdomain_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>
- </div>
- </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-304/templates/sites/web_vhost_aliasdomain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_advanced.htm
deleted file mode 100644
index 3067cd0..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_advanced.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<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">
- <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
- <div class="ctrlHolder">
- <label for="system_user">{tmpl_var name='system_user_txt'}</label>
- <label for="system_user">{tmpl_var name='system_user'}</label>
- <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
- </div>
- <div class="ctrlHolder">
- <label for="system_group">{tmpl_var name='system_group_txt'}</label>
- <label for="system_group">{tmpl_var name='system_group'}</label>
- <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
- </div>
- <div class="ctrlHolder apache">
- <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
- <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="phpfpm">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
- <div class="multiField">
- {tmpl_var name='php_fpm_use_socket'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="pm">{tmpl_var name='pm_txt'}</label>
- <select name="pm" id="pm" class="selectInput">
- {tmpl_var name='pm'}
- </select>
- </div>
- <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
- {tmpl_var name='pm_ondemand_hint_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
- <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
- <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
- <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
- <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_ondemand">
- <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
- <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" /> s
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
- <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="ctrlHolder">
- <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="30" type="text" class="textInput" style="width:400px;" />
- </div>
- <div class="ctrlHolder">
- <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
- <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
- </div>
- <div class="ctrlHolder apache">
- <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
- <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
- <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
- </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_vhost_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_vhost_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();
- var serverId;
- getServerId();
- adjustForm();
-
- var pm = jQuery('#pm').val();
- pmMode(pm);
- jQuery('#pm').change(function(){
- pm = jQuery(this).val();
- pmMode(pm);
- });
-
- function pmMode(pm){
- switch(pm){
- case "static":
- jQuery('.pm_dynamic').add('.pm_ondemand').hide();
- jQuery('.pm_static').show();
- break;
- case "dynamic":
- jQuery('.pm_static').add('.pm_ondemand').hide();
- jQuery('.pm_dynamic').show();
- break;
- case "ondemand":
- jQuery('.pm_static').add('.pm_dynamic').hide();
- jQuery('.pm_ondemand').show();
- break;
- }
- }
-
- function getServerId(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- });
- }
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
- if(data.phptype == "php-fpm"){
- jQuery('.phpfpm').show();
- } else {
- jQuery('.phpfpm').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm
deleted file mode 100644
index b93b202..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<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>Backup</legend>
- <div class="ctrlHolder">
- <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
- <select name="backup_interval" id="backup_interval" class="selectInput">
- {tmpl_var name='backup_interval'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
- <select name="backup_copies" id="backup_copies" class="selectInput">
- {tmpl_var name='backup_copies'}
- </select>
- </div>
- </fieldset>
-
- {tmpl_var name='backup_records'}
-
- <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_vhost_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_vhost_aliasdomain_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/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm
deleted file mode 100644
index 9c04769..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm
+++ /dev/null
@@ -1,208 +0,0 @@
-<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">
- <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='host_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
- <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
- </div>
- <div class="ctrlHolder">
- <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
- <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
- </div>
- <div class="ctrlHolder">
- <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
- <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
- <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
- </div>
- <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='cgi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='perl'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ruby'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='python'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='suexec'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='errordocs_txt'}</p>
- <div class="multiField">
- {tmpl_var name='errordocs'}
- </div>
- </div></tmpl_if>
-
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </select>
- </div>
- <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssl'}
- </div>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="php">{tmpl_var name='php_txt'}</label>
- <select name="php" id="php" class="selectInput formLengthHalf">
- {tmpl_var name='php'}
- </select>
- </div>
- <div class="ctrlHolder fastcgi_php_version">
- <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
- <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
- {tmpl_var name='fastcgi_php_version'}
- </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 id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><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_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var serverId;
- var clientGroupId = jQuery('#client_group_id').val();
- var serverIdDisabled = jQuery('#server_id_disabled').val();
- if(serverIdDisabled > 0){
- serverId = serverIdDisabled;
- } else {
- serverId = jQuery('#server_id').val();
- jQuery('#server_id').change(function(){
- serverId = $(this).val();
- adjustForm();
- reloadWebIP();
- reloadFastcgiPHPVersions();
- });
- }
- adjustForm();
- reloadFastcgiPHPVersions();
-
- jQuery('#client_group_id').change(function(){
- clientGroupId = $(this).val();
- reloadWebIP();
- });
-
- if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- jQuery('#php').change(function(){
- reloadFastcgiPHPVersions();
- if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- });
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- var selected = jQuery('#php').val();
- jQuery('.apache').hide();
- jQuery('.apache').hide();
- jQuery('#php option[value="fast-cgi"]').hide();
- jQuery('#php option[value="cgi"]').hide();
- jQuery('#php option[value="mod"]').hide();
- jQuery('#php option[value="suphp"]').hide();
- if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
- } else {
- jQuery('.apache').show();
- jQuery('.apache').show();
- jQuery('#php option[value="fast-cgi"]').show();
- jQuery('#php option[value="cgi"]').show();
- jQuery('#php option[value="mod"]').show();
- jQuery('#php option[value="suphp"]').show();
- }
- });
- }
-
- function reloadWebIP() {
- loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
- loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
- }
-
- function reloadFastcgiPHPVersions() {
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
- var options = '<option value="">Default</option>';
- var phpfastcgiselected = '';
- $.each(data, function(key, val) {
- if($('#fastcgi_php_version').val() == key){
- phpfastcgiselected = ' selected="selected"';
- } else {
- phpfastcgiselected = '';
- }
- options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
- });
- $('#fastcgi_php_version').html(options);
- });
- }
-
- <tmpl_if name="readonly_tab">
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
- jQuery('div.tabbox_tabs').find('a').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- });
- jQuery('#dom-edit-submit').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
- });
- <tmpl_else>
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
- });
- </tmpl_if>
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm
deleted file mode 100644
index 8bd5427..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_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/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_vhost_aliasdomain_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>
- </div>
- </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-304/templates/sites/web_vhost_aliasdomain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_redirect.htm
deleted file mode 100644
index f0781ac..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_redirect.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
- <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
- {tmpl_var name='seo_redirect'}
- </select>
- </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_vhost_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_vhost_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();
- var serverId;
- getServerId(webId);
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="R"]').hide();
- jQuery('#redirect_type option[value="L"]').hide();
- 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") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').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');
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm
deleted file mode 100644
index 35bd371..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
- <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
- <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
- <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
- <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
- <select name="ssl_country" id="ssl_country" class="selectInput flags">
- {tmpl_var name='ssl_country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
- <select name="ssl_domain" id="ssl_domain" class="selectInput">
- {tmpl_var name='ssl_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
- <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
- <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
- <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
- <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
- <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
- {tmpl_var name='ssl_action'}
- </select>
- </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_vhost_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_vhost_aliasdomain_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/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm
deleted file mode 100644
index 2f50a62..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
- </div>
- <div class="ctrlHolder">
- <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
- <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
- <select name="stats_type" id="stats_type" class="selectInput" >
- {tmpl_var name='stats_type'}
- </select>
- </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_vhost_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_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm
deleted file mode 100644
index 289339b..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_advanced.htm
+++ /dev/null
@@ -1,146 +0,0 @@
-<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">
- <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
- <div class="ctrlHolder">
- <label for="system_user">{tmpl_var name='system_user_txt'}</label>
- <label for="system_user">{tmpl_var name='system_user'}</label>
- <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
- </div>
- <div class="ctrlHolder">
- <label for="system_group">{tmpl_var name='system_group_txt'}</label>
- <label for="system_group">{tmpl_var name='system_group'}</label>
- <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
- </div>
- <div class="ctrlHolder apache">
- <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
- <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="phpfpm">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
- <div class="multiField">
- {tmpl_var name='php_fpm_use_socket'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="pm">{tmpl_var name='pm_txt'}</label>
- <select name="pm" id="pm" class="selectInput">
- {tmpl_var name='pm'}
- </select>
- </div>
- <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
- {tmpl_var name='pm_ondemand_hint_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
- <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
- <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
- <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_dynamic">
- <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
- <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder pm_ondemand">
- <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
- <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" /> s
- </div>
- <div class="ctrlHolder">
- <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
- <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
- </div>
- </div>
- <div class="ctrlHolder">
- <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="30" type="text" class="textInput" style="width:400px;" />
- </div>
- <div class="ctrlHolder">
- <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
- <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
- </div>
- <div class="ctrlHolder apache">
- <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
- <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
- </div>
- <div class="ctrlHolder nginx">
- <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
- <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
- </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_vhost_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_vhost_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();
- var serverId;
- getServerId();
- adjustForm();
-
- var pm = jQuery('#pm').val();
- pmMode(pm);
- jQuery('#pm').change(function(){
- pm = jQuery(this).val();
- pmMode(pm);
- });
-
- function pmMode(pm){
- switch(pm){
- case "static":
- jQuery('.pm_dynamic').add('.pm_ondemand').hide();
- jQuery('.pm_static').show();
- break;
- case "dynamic":
- jQuery('.pm_static').add('.pm_ondemand').hide();
- jQuery('.pm_dynamic').show();
- break;
- case "ondemand":
- jQuery('.pm_static').add('.pm_dynamic').hide();
- jQuery('.pm_ondemand').show();
- break;
- }
- }
-
- function getServerId(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- });
- }
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- jQuery('.nginx').show();
- jQuery('.apache').hide();
- } else {
- jQuery('.nginx').hide();
- jQuery('.apache').show();
- }
- });
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
- if(data.phptype == "php-fpm"){
- jQuery('.phpfpm').show();
- } else {
- jQuery('.phpfpm').hide();
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm
deleted file mode 100644
index 1784e24..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_backup.htm
+++ /dev/null
@@ -1,32 +0,0 @@
-<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>Backup</legend>
- <div class="ctrlHolder">
- <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
- <select name="backup_interval" id="backup_interval" class="selectInput">
- {tmpl_var name='backup_interval'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
- <select name="backup_copies" id="backup_copies" class="selectInput">
- {tmpl_var name='backup_copies'}
- </select>
- </div>
- </fieldset>
-
- {tmpl_var name='backup_records'}
-
- <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_vhost_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_vhost_subdomain_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/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm
deleted file mode 100644
index 159830c..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_edit.htm
+++ /dev/null
@@ -1,208 +0,0 @@
-<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">
- <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='host_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
- </div>
- <div class="ctrlHolder">
- <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
- <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
- </div>
- <div class="ctrlHolder">
- <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
- <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
- </div>
- <div class="ctrlHolder">
- <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
- <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
- <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" /> MB <tmpl_var name='traffic_quota_exceeded_txt'>
- </div>
- <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='cgi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='cgi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssi_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssi'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='perl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='perl'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='ruby_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ruby'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='python_txt'}</p>
- <div class="multiField">
- {tmpl_var name='python'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
- <p class="label">{tmpl_var name='suexec_txt'}</p>
- <div class="multiField">
- {tmpl_var name='suexec'}
- </div>
- </div></tmpl_if>
- <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='errordocs_txt'}</p>
- <div class="multiField">
- {tmpl_var name='errordocs'}
- </div>
- </div></tmpl_if>
-
- <div class="ctrlHolder">
- <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
- <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
- {tmpl_var name='subdomain'}
- </select>
- </div>
- <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
- <p class="label">{tmpl_var name='ssl_txt'}</p>
- <div class="multiField">
- {tmpl_var name='ssl'}
- </div>
- </div></tmpl_if>
- <div class="ctrlHolder">
- <label for="php">{tmpl_var name='php_txt'}</label>
- <select name="php" id="php" class="selectInput formLengthHalf">
- {tmpl_var name='php'}
- </select>
- </div>
- <div class="ctrlHolder fastcgi_php_version">
- <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
- <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
- {tmpl_var name='fastcgi_php_version'}
- </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 id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><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_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var serverId;
- var clientGroupId = jQuery('#client_group_id').val();
- var serverIdDisabled = jQuery('#server_id_disabled').val();
- if(serverIdDisabled > 0){
- serverId = serverIdDisabled;
- } else {
- serverId = jQuery('#server_id').val();
- jQuery('#server_id').change(function(){
- serverId = $(this).val();
- adjustForm();
- reloadWebIP();
- reloadFastcgiPHPVersions();
- });
- }
- adjustForm();
- reloadFastcgiPHPVersions();
-
- jQuery('#client_group_id').change(function(){
- clientGroupId = $(this).val();
- reloadWebIP();
- });
-
- if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- jQuery('#php').change(function(){
- reloadFastcgiPHPVersions();
- if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
- jQuery('.fastcgi_php_version:hidden').show();
- } else {
- jQuery('.fastcgi_php_version:visible').hide();
- }
- });
-
- function adjustForm(){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- if(data.servertype == "nginx"){
- var selected = jQuery('#php').val();
- jQuery('.apache').hide();
- jQuery('.apache').hide();
- jQuery('#php option[value="fast-cgi"]').hide();
- jQuery('#php option[value="cgi"]').hide();
- jQuery('#php option[value="mod"]').hide();
- jQuery('#php option[value="suphp"]').hide();
- if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
- } else {
- jQuery('.apache').show();
- jQuery('.apache').show();
- jQuery('#php option[value="fast-cgi"]').show();
- jQuery('#php option[value="cgi"]').show();
- jQuery('#php option[value="mod"]').show();
- jQuery('#php option[value="suphp"]').show();
- }
- });
- }
-
- function reloadWebIP() {
- loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
- loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
- }
-
- function reloadFastcgiPHPVersions() {
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
- var options = '<option value="">Default</option>';
- var phpfastcgiselected = '';
- $.each(data, function(key, val) {
- if($('#fastcgi_php_version').val() == key){
- phpfastcgiselected = ' selected="selected"';
- } else {
- phpfastcgiselected = '';
- }
- options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
- });
- $('#fastcgi_php_version').html(options);
- });
- }
-
- <tmpl_if name="readonly_tab">
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
- jQuery('div.tabbox_tabs').find('a').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- });
- jQuery('#dom-edit-submit').click(function() {
- jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
- submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
- });
- <tmpl_else>
- jQuery('#dom-edit-submit').click(function() {
- submitForm('pageForm','sites/web_vhost_subdomain_edit.php');
- });
- </tmpl_if>
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm
deleted file mode 100644
index f216988..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_list.htm
+++ /dev/null
@@ -1,60 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_web_subdomain">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_vhost_subdomain_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_vhost_subdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_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/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_vhost_subdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/web_vhost_subdomain_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>
- </div>
- </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-304/templates/sites/web_vhost_subdomain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm
deleted file mode 100644
index eb059e2..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_redirect.htm
+++ /dev/null
@@ -1,76 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
- <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
- {tmpl_var name='redirect_type'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
- <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
- <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
- {tmpl_var name='seo_redirect'}
- </select>
- </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_vhost_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_vhost_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();
- var serverId;
- getServerId(webId);
-
- function getServerId(webId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
- serverId = data.serverid;
- adjustForm(serverId);
- });
- }
-
- function adjustForm(serverId){
- jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
- var selected = jQuery('#redirect_type').val();
- if(data.servertype == "nginx"){
- jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
- jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="R"]').hide();
- jQuery('#redirect_type option[value="L"]').hide();
- 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") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
- } else {
- jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
- jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
-
- jQuery('#redirect_type option[value="last"]').hide();
- jQuery('#redirect_type option[value="break"]').hide();
- jQuery('#redirect_type option[value="redirect"]').hide();
- jQuery('#redirect_type option[value="permanent"]').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');
- }
- });
- }
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm
deleted file mode 100644
index b4c0357..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_ssl.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
- <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
- <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
- <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
- <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
- <select name="ssl_country" id="ssl_country" class="selectInput flags">
- {tmpl_var name='ssl_country'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
- <select name="ssl_domain" id="ssl_domain" class="selectInput">
- {tmpl_var name='ssl_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
- <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
- <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
- <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
- <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
- </div>
- <div class="ctrlHolder">
- <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
- <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
- {tmpl_var name='ssl_action'}
- </select>
- </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_vhost_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_vhost_subdomain_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/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm b/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm
deleted file mode 100644
index 8234422..0000000
--- a/interface/web/themes/default-304/templates/sites/web_vhost_subdomain_stats.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<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">
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
- </div>
- <div class="ctrlHolder">
- <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
- <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" /> <a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
- <select name="stats_type" id="stats_type" class="selectInput" >
- {tmpl_var name='stats_type'}
- </select>
- </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_vhost_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_vhost_subdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm b/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm
deleted file mode 100644
index 8dd719d..0000000
--- a/interface/web/themes/default-304/templates/sites/webdav_user_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_webdav_user">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput" disabled="disabled">
- {tmpl_var name='parent_domain_id'}
- </select>
- <input type="hidden" name="parent_domain_id" value="{tmpl_var name='parent_domain_id_value'}" />
- <tmpl_else>
- <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
- <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
- {tmpl_var name='parent_domain_id'}
- </select>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="username">{tmpl_var name='username_txt'}</label>
- <p class="prefix">{tmpl_var name='username_prefix'}</p>
- <input name="username" id="username" value="{tmpl_var name='username'}" size="30" maxlength="255" type="text" class="textInput formLengthFourth" <tmpl_if name="edit_disabled">disabled="disabled"</tmpl_if>/>
- </div>
- <div class="ctrlHolder">
- <label for="password">{tmpl_var name='password_txt'}</label>
- <input name="password" id="password" value="{tmpl_var name='password'}" size="30" maxlength="255" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');"/> <a href="javascript:void(0);" onClick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('password','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="dir">{tmpl_var name='dir_txt'}</label>
- <p class="prefix">webdav/</p>
- <input name="dir" id="dir" value="{tmpl_var name='dir'}" size="30" maxlength="255" type="text" class="textInput" <tmpl_if name="edit_disabled">disabled="disabled"</tmpl_if>/>
- </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/webdav_user_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/webdav_user_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/themes/default-304/templates/sites/webdav_user_list.htm b/interface/web/themes/default-304/templates/sites/webdav_user_list.htm
deleted file mode 100644
index ee2b45d..0000000
--- a/interface/web/themes/default-304/templates/sites/webdav_user_list.htm
+++ /dev/null
@@ -1,59 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_list_webdav_user">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/webdav_user_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <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_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
- <th class="tbl_col_username" scope="col"><tmpl_var name="username_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <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_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
- <td class="tbl_col_username"><input type="text" name="search_username" value="{tmpl_var name='search_username'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/webdav_user_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/webdav_user_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/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
- <td class="tbl_col_username"><a href="#" onClick="loadContent('sites/webdav_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="username"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('sites/webdav_user_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>
- </div>
- </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-304/templates/tabbed_form.tpl.htm b/interface/web/themes/default-304/templates/tabbed_form.tpl.htm
deleted file mode 100644
index 2890e1b..0000000
--- a/interface/web/themes/default-304/templates/tabbed_form.tpl.htm
+++ /dev/null
@@ -1,27 +0,0 @@
-<tmpl_if name="form_hint">
- <h2><tmpl_var name="form_hint"></h2>
-</tmpl_if>
-<div class="tabbox_tabs">
- <ul>
- <tmpl_loop name="formTab">
- <tmpl_if name="active">
- <li class="active"><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
- <tmpl_else>
- <li><a href="javascript:changeTab('<tmpl_var name='name'>','<tmpl_var name='app_module'>/<tmpl_var name='form_action'>')"><tmpl_var name='title'></a></li>
- </tmpl_if>
- </tmpl_loop>
- </ul>
-</div>
-<div id="tabbox_content">
- <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>
-
- <tmpl_dyninclude name="content_tpl">
-</div>
-
-<input type="hidden" name="next_tab" value="">
-<input type="hidden" name="phpsessid" value="{tmpl_var name='phpsessid'}">
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm b/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm
deleted file mode 100644
index b4fad7e..0000000
--- a/interface/web/themes/default-304/templates/tools/dns_import_tupa.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-<h2>Import DNS recods from Tupa PowerDNS controlpanel</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>PowerDNS Tupa import</legend>
- <div class="ctrlHolder">
- <p class="label">Tupa database hostname</p>
- <div class="multiField">
- <input id="dbhost" type="text" value="{tmpl_var name='dbhost'}" name="dbhost" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Tupa database name</p>
- <div class="multiField">
- <input id="dbname" type="text" value="{tmpl_var name='dbname'}" name="dbname" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Tupa database user</p>
- <div class="multiField">
- <input id="dbuser" type="text" value="{tmpl_var name='dbuser'}" name="dbuser" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Tupa database password</p>
- <div class="multiField">
- <input id="dbpassword" type="text" value="{tmpl_var name='dbpassword'}" name="dbpassword" />
- </div>
- </div>
-
- <div class="ctrlHolder">
- <p class="label">Import DNS Records</p>
- <div class="multiField">
- <input id="start" type="checkbox" value="1" name="start" checked/>
- </div>
- </div>
- </fieldset>
-
- <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="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/dns_import_tupa.php');"><span>Start</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>Cancel</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/import_ispconfig.htm b/interface/web/themes/default-304/templates/tools/import_ispconfig.htm
deleted file mode 100644
index 7d7b4c1..0000000
--- a/interface/web/themes/default-304/templates/tools/import_ispconfig.htm
+++ /dev/null
@@ -1,103 +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">Remote API URL</p>
- <div class="multiField">
- <input id="remote_server" type="text" value="{tmpl_var name='remote_server'}" name="remote_server" /> (e.g. https://www.example.com:8080/remote/ )
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Remote User</p>
- <div class="multiField">
- <input id="remote_user" type="text" value="{tmpl_var name='remote_user'}" name="remote_user" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Remote password</p>
- <div class="multiField">
- <input id="remote_password" type="text" value="{tmpl_var name='remote_password'}" name="remote_password" />
- </div>
- </div>
- </fieldset>
- </div>
- <tmpl_if name="connected">
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>{tmpl_var name="legend2_txt"}</legend>
- <div class="ctrlHolder">
- <label for="mail_domain">{tmpl_var name='mail_domain_txt'}</label>
- <select name="mail_domain" id="mail_domain" class="selectInput">
- {tmpl_var name='mail_domain'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_mailbox_txt"}</p>
- <div class="multiField">
- <input id="import_mailbox" type="checkbox" value="1" name="import_mailbox" checked="checked" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_user_filter_txt"}</p>
- <div class="multiField">
- <input id="import_user_filter" type="checkbox" value="1" name="import_user_filter" checked="checked" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_spamfilter_txt"}</p>
- <div class="multiField">
- <input id="import_spamfilter" type="checkbox" value="1" name="import_spamfilter" checked="checked" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_alias_txt"}</p>
- <div class="multiField">
- <input id="import_alias" type="checkbox" value="1" name="import_alias" checked="checked" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_forward_txt"}</p>
- <div class="multiField">
- <input id="import_forward" type="checkbox" value="1" name="import_forward" checked="checked" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="import_aliasdomain_txt"}</p>
- <div class="multiField">
- <input id="import_aliasdomain" type="checkbox" value="1" name="import_aliasdomain" checked="checked" />
- </div>
- </div>
- </fieldset>
- </div>
- </tmpl_if>
-
- <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'}">
- <input type="hidden" name="connected" value="{tmpl_var name='connected'}">
- <tmpl_if name="connected">
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_ispconfig.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>
- <tmpl_else>
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_ispconfig.php');"><span>{tmpl_var name="btn_connect_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>
- </tmpl_if>
- </div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/import_plesk.htm b/interface/web/themes/default-304/templates/tools/import_plesk.htm
deleted file mode 100644
index f72096c..0000000
--- a/interface/web/themes/default-304/templates/tools/import_plesk.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2>Import plesk panel data</h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_language_import">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Plesk data import</legend>
- <div class="ctrlHolder">
- <p class="label">Plesk database hostname</p>
- <div class="multiField">
- <input id="dbhost" type="text" value="{tmpl_var name='dbhost'}" name="dbhost" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Plesk database name</p>
- <div class="multiField">
- <input id="dbname" type="text" value="{tmpl_var name='dbname'}" name="dbname" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Plesk database user</p>
- <div class="multiField">
- <input id="dbuser" type="text" value="{tmpl_var name='dbuser'}" name="dbuser" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Plesk database password</p>
- <div class="multiField">
- <input id="dbpassword" type="text" value="{tmpl_var name='dbpassword'}" name="dbpassword" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Web content backup file (on this server, optional)</p>
- <div class="multiField">
- <input id="webcontent" type="text" value="{tmpl_var name='webcontent'}" name="webcontent" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Maildir content backup file (on this server, optional)</p>
- <div class="multiField">
- <input id="mailcontent" type="text" value="{tmpl_var name='mailcontent'}" name="mailcontent" />
- </div>
- </div>
-
- <div class="ctrlHolder">
- <p class="label">Import all data (that can be imported)</p>
- <div class="multiField">
- <input id="start" type="checkbox" value="1" name="start" checked/>
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">Import database contents (make sure the database user has the rights to do so)</p>
- <div class="multiField">
- <input id="dbdata" type="checkbox" value="1" name="dbdata" checked/>
- </div>
- </div>
- </fieldset>
-
- <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="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/import_plesk.php');"><span>Start</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>Cancel</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/index.htm b/interface/web/themes/default-304/templates/tools/index.htm
deleted file mode 100644
index e1a0acb..0000000
--- a/interface/web/themes/default-304/templates/tools/index.htm
+++ /dev/null
@@ -1,20 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <h2 class="frmTextHead"></h2><p>ispconfig_tools_note</p>
-
- TEST
- </fieldset>
-
- <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
-
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/interface_settings.htm b/interface/web/themes/default-304/templates/tools/interface_settings.htm
deleted file mode 100644
index 640f187..0000000
--- a/interface/web/themes/default-304/templates/tools/interface_settings.htm
+++ /dev/null
@@ -1,31 +0,0 @@
-<h2><tmpl_var name="page_head_txt"></h2>
-<p><tmpl_var name="page_desc_txt"></p>
-
-<div class="panel panel_tools_interface">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <!-- TODO: If user theme change is activated -->
- <div class="ctrlHolder">
- <label for="app_theme">{tmpl_var name='app_theme_txt'}</label>
- <select name="app_theme" id="app_theme" class="selectInput formLengthHalf">
- {tmpl_var name='app_theme'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
- <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
- {tmpl_var name='startmodule'}
- </select>
- </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','tools/interface_settings.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('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/resync.htm b/interface/web/themes/default-304/templates/tools/resync.htm
deleted file mode 100644
index c7611b8..0000000
--- a/interface/web/themes/default-304/templates/tools/resync.htm
+++ /dev/null
@@ -1,67 +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">{tmpl_var name="resync_sites_txt"}</p>
- <div class="multiField">
- <input id="resync_sites" type="checkbox" value="1" name="resync_sites" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_ftp_txt"}</p>
- <div class="multiField">
- <input id="resync_ftp" type="checkbox" value="1" name="resync_ftp" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_shell_txt"}</p>
- <div class="multiField">
- <input id="resync_shell" type="checkbox" value="1" name="resync_shell" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_cron_txt"}</p>
- <div class="multiField">
- <input id="resync_cron" type="checkbox" value="1" name="resync_cron" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_db_txt"}</p>
- <div class="multiField">
- <input id="resync_db" type="checkbox" value="1" name="resync_db" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_mailbox_txt"}</p>
- <div class="multiField">
- <input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox" />
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name="resync_dns_txt"}</p>
- <div class="multiField">
- <input id="resync_dns" type="checkbox" value="1" name="resync_dns" />
- </div>
- </div>
- </fieldset>
-
- <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="id" value="{tmpl_var name='id'}">
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/resync.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>
-
-</div>
diff --git a/interface/web/themes/default-304/templates/tools/tpl_default.htm b/interface/web/themes/default-304/templates/tools/tpl_default.htm
deleted file mode 100644
index 233b3e9..0000000
--- a/interface/web/themes/default-304/templates/tools/tpl_default.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_tools_tpl">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="startmodule">{tmpl_var name='startmodule_txt'}</label>
- <select name="startmodule" id="startmodule" class="selectInput formLengthHalf">
- {tmpl_var name='startmodule'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="language">{tmpl_var name='language_txt'}</label>
- <select name="language" id="language" class="selectInput flags">
- {tmpl_var name='language'}
- </select>
- </div>
- <!-- TODO: If user theme change is activated -->
- <div class="ctrlHolder">
- <label for="app_theme">{tmpl_var name='app_theme_txt'}</label>
- <select name="app_theme" id="app_theme" class="selectInput formLengthHalf">
- {tmpl_var name='app_theme'}
- </select>
- </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','tools/tpl_default.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('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/tools/user_settings.htm b/interface/web/themes/default-304/templates/tools/user_settings.htm
deleted file mode 100644
index 6155093..0000000
--- a/interface/web/themes/default-304/templates/tools/user_settings.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_usersettings">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels">
- <div class="ctrlHolder">
- <label for="passwort">{tmpl_var name='passwort_txt'}</label>
- <input name="passwort" id="passwort" value="{tmpl_var name='passwort'}" size="15" maxlength="100" type="password" class="textInput" onkeyup="pass_check(this.value);checkPassMatch('passwort','repeat_password');"/> <a href="javascript:void(0);" onClick="generatePassword('passwort','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='password_strength_txt'}</p>
- <div id="passBar"></div>
- <p class="formHint"><span id="passText"> </span></p>
- </div>
- <div class="ctrlHolder">
- <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
- <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('passwort','repeat_password');" />
- </div>
- <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
- <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
- <div class="ctrlHolder">
- <label for="language">{tmpl_var name='language_txt'}</label>
- <select name="language" id="language" class="selectInput flags">
- {tmpl_var name='language'}
- </select>
- </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','tools/user_settings.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('tools/index.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/topnav.tpl.htm b/interface/web/themes/default-304/templates/topnav.tpl.htm
deleted file mode 100644
index 4c68196..0000000
--- a/interface/web/themes/default-304/templates/topnav.tpl.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<ul id="topmenu">
- <tmpl_loop name="nav_top">
- <tmpl_if name="active">
- <li id="topNav_current"><a href="#" class="topnav topnav-<tmpl_var name='module'>"><span><tmpl_var name="title"></span></a></li>
- <tmpl_else>
- <li><a href="#" onClick="capp('<tmpl_var name='module'>')" class="topnav topnav-<tmpl_var name='module'>"><span><tmpl_var name="title"></span></a></li>
- </tmpl_if>
- </tmpl_loop>
-</ul>
diff --git a/interface/web/themes/default-304/templates/vm/openvz_action.htm b/interface/web/themes/default-304/templates/vm/openvz_action.htm
deleted file mode 100644
index 057c851..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_action.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<h2><tmpl_var name="list_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="head_txt"} {tmpl_var name='veid'}</legend>
-
- <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>
-
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='start_txt'}</p>
- <div class="multiField">
- <input id="action" type="radio" value="start" name="action" {tmpl_var name='start_option_enabled'}/>
- </div>
- </div>
-
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='stop_txt'}</p>
- <div class="multiField">
- <input id="action" type="radio" value="stop" name="action" {tmpl_var name='stop_option_enabled'}/>
- </div>
- </div>
-
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='restart_txt'}</p>
- <div class="multiField">
- <input id="action" type="radio" value="restart" name="action" {tmpl_var name='restart_option_enabled'}/>
- </div>
- </div>
-
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='ostemplate_txt'}</p>
- <div class="multiField">
- <input style="float:left; margin-right:10px;" id="action" type="radio" value="ostemplate" name="action" {tmpl_var name='ostemplate_option_enabled'}/>
- <input name="ostemplate_name" size="30" maxlength="255" type="text" class="textInput" value="{tmpl_var name='ostemplate_name'}" onclick="$('[name=action]').filter('[value=ostemplate]').attr('checked','checked');" /> {tmpl_var name='ostemplate_desc_txt'}
- </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','vm/openvz_action.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('vm/openvz_vm_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/themes/default-304/templates/vm/openvz_ip_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm
deleted file mode 100644
index 8b8f34b..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ip_edit.htm
+++ /dev/null
@@ -1,46 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_ip">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>IP address</legend>
- <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="ip_address">{tmpl_var name='ip_address_txt'}</label>
- <input name="ip_address" id="ip_address" value="{tmpl_var name='ip_address'}" size="15" maxlength="15" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="vm_id">{tmpl_var name='vm_id_txt'}</label>
- <select name="vm_id" id="vm_id" class="selectInput" disabled="disabled">
- {tmpl_var name='vm_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='reserved_txt'}</p>
- <div class="multiField">
- {tmpl_var name='reserved'}
- </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','vm/openvz_ip_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('vm/openvz_ip_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- var vm_id = jQuery('#vm_id').val();
- jQuery('#vm_id').attr({name: 'vm_id_disabled', id: 'vm_id_disabled'});
- jQuery('#vm_id_disabled').after('<input type="hidden" name="vm_id" value="'+vm_id+'">');
-
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm b/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm
deleted file mode 100644
index 886d4b9..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ip_list.htm
+++ /dev/null
@@ -1,58 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_ip">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_ip_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_vm_id" scope="col"><tmpl_var name="vm_id_txt"></th>
- <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
- <th class="tbl_col_reserved" scope="col"><tmpl_var name="reserved_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_vm_id"><select name="search_vm_id">{tmpl_var name='search_vm_id'}</select></td>
- <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" value="{tmpl_var name='search_ip_address'}" /></td>
- <td class="tbl_col_reserved"><select name="search_reserved">{tmpl_var name='search_reserved'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_ip_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_server_id"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_vm_id"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="vm_id"}</a></td>
- <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
- <td class="tbl_col_reserved"><a href="#" onClick="loadContent('vm/openvz_ip_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="reserved"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_ip_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>
- </div>
- </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-304/templates/vm/openvz_ostemplate_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm
deleted file mode 100644
index 6f08d15..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_edit.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_ostemplate">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Domain</legend>
- <div class="ctrlHolder">
- <label for="template_name">{tmpl_var name='template_name_txt'}</label>
- <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="template_file">{tmpl_var name='template_file_txt'}</label>
- <input name="template_file" id="template_file" value="{tmpl_var name='template_file'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <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">
- <p class="label">{tmpl_var name='allservers_txt'}</p>
- <div class="multiField">
- {tmpl_var name='allservers'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="description">{tmpl_var name='description_txt'}</label>
- <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
- </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','vm/openvz_ostemplate_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('vm/openvz_ostemplate_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/themes/default-304/templates/vm/openvz_ostemplate_list.htm b/interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm
deleted file mode 100644
index c152774..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_ostemplate_list.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_ostemplate">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_ostemplate_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_ostemplate_id" scope="col"><tmpl_var name="ostemplate_id_txt"></th>
- <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
- <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
- <th class="tbl_col_allservers" scope="col"><tmpl_var name="allservers_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_ostemplate_id"><input type="text" name="search_ostemplate_id" value="{tmpl_var name='search_ostemplate_id'}" style="width:30px;" /></td>
- <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
- <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
- <td class="tbl_col_allservers"><select name="search_allservers">{tmpl_var name='search_allservers'}</select></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_ostemplate_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_ostemplate_id"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ostemplate_id"}</a></td>
- <td class="tbl_col_template_name"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_allservers"><a href="#" onClick="loadContent('vm/openvz_ostemplate_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="allservers"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_ostemplate_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>
- </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/vm/openvz_template_advanced_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm
deleted file mode 100644
index 6741ce9..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_advanced_edit.htm
+++ /dev/null
@@ -1,110 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_template">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Advanced</legend>
- <div class="ctrlHolder">
- <label for="numproc">{tmpl_var name='numproc_txt'}</label>
- <input name="numproc" id="numproc" value="{tmpl_var name='numproc'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numtcpsock">{tmpl_var name='numtcpsock_txt'}</label>
- <input name="numtcpsock" id="numtcpsock" value="{tmpl_var name='numtcpsock'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numothersock">{tmpl_var name='numothersock_txt'}</label>
- <input name="numothersock" id="numothersock" value="{tmpl_var name='numothersock'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="vmguarpages">{tmpl_var name='vmguarpages_txt'}</label>
- <input name="vmguarpages" id="vmguarpages" value="{tmpl_var name='vmguarpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="kmemsize">{tmpl_var name='kmemsize_txt'}</label>
- <input name="kmemsize" id="kmemsize" value="{tmpl_var name='kmemsize'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="tcpsndbuf">{tmpl_var name='tcpsndbuf_txt'}</label>
- <input name="tcpsndbuf" id="tcpsndbuf" value="{tmpl_var name='tcpsndbuf'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="tcprcvbuf">{tmpl_var name='tcprcvbuf_txt'}</label>
- <input name="tcprcvbuf" id="tcprcvbuf" value="{tmpl_var name='tcprcvbuf'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="othersockbuf">{tmpl_var name='othersockbuf_txt'}</label>
- <input name="othersockbuf" id="othersockbuf" value="{tmpl_var name='othersockbuf'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="dgramrcvbuf">{tmpl_var name='dgramrcvbuf_txt'}</label>
- <input name="dgramrcvbuf" id="dgramrcvbuf" value="{tmpl_var name='dgramrcvbuf'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="oomguarpages">{tmpl_var name='oomguarpages_txt'}</label>
- <input name="oomguarpages" id="oomguarpages" value="{tmpl_var name='oomguarpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="privvmpages">{tmpl_var name='privvmpages_txt'}</label>
- <input name="privvmpages" id="privvmpages" value="{tmpl_var name='privvmpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="lockedpages">{tmpl_var name='lockedpages_txt'}</label>
- <input name="lockedpages" id="lockedpages" value="{tmpl_var name='lockedpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="shmpages">{tmpl_var name='shmpages_txt'}</label>
- <input name="shmpages" id="shmpages" value="{tmpl_var name='shmpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="physpages">{tmpl_var name='physpages_txt'}</label>
- <input name="physpages" id="physpages" value="{tmpl_var name='physpages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numfile">{tmpl_var name='numfile_txt'}</label>
- <input name="numfile" id="numfile" value="{tmpl_var name='numfile'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="avnumproc">{tmpl_var name='avnumproc_txt'}</label>
- <input name="avnumproc" id="avnumproc" value="{tmpl_var name='avnumproc'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numflock">{tmpl_var name='numflock_txt'}</label>
- <input name="numflock" id="numflock" value="{tmpl_var name='numflock'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numpty">{tmpl_var name='numpty_txt'}</label>
- <input name="numpty" id="numpty" value="{tmpl_var name='numpty'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numsiginfo">{tmpl_var name='numsiginfo_txt'}</label>
- <input name="numsiginfo" id="numsiginfo" value="{tmpl_var name='numsiginfo'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="dcachesize">{tmpl_var name='dcachesize_txt'}</label>
- <input name="dcachesize" id="dcachesize" value="{tmpl_var name='dcachesize'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="numiptent">{tmpl_var name='numiptent_txt'}</label>
- <input name="numiptent" id="numiptent" value="{tmpl_var name='numiptent'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="swappages">{tmpl_var name='swappages_txt'}</label>
- <input name="swappages" id="swappages" value="{tmpl_var name='swappages'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="capability">{tmpl_var name='capability_txt'}</label>
- <input name="capability" id="capability" value="{tmpl_var name='capability'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','vm/openvz_template_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('vm/openvz_template_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/themes/default-304/templates/vm/openvz_template_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_template_edit.htm
deleted file mode 100644
index ce356af..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_edit.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_template">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Template</legend>
- <div class="ctrlHolder">
- <label for="template_name">{tmpl_var name='template_name_txt'}</label>
- <input name="template_name" id="template_name" value="{tmpl_var name='template_name'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="diskspace">{tmpl_var name='diskspace_txt'}</label>
- <input name="diskspace" id="diskspace" value="{tmpl_var name='diskspace'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> GB
- </div>
- <div class="ctrlHolder">
- <label for="ram">{tmpl_var name='ram_txt'}</label>
- <input name="ram" id="ram" value="{tmpl_var name='ram'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="ram_burst">{tmpl_var name='ram_burst_txt'}</label>
- <input name="ram_burst" id="ram_burst" value="{tmpl_var name='ram_burst'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="cpu_units">{tmpl_var name='cpu_units_txt'}</label>
- <input name="cpu_units" id="cpu_units" value="{tmpl_var name='cpu_units'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (8 - 500000)
- </div>
- <div class="ctrlHolder">
- <label for="cpu_num">{tmpl_var name='cpu_num_txt'}</label>
- <input name="cpu_num" id="cpu_num" value="{tmpl_var name='cpu_num'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (1 - 64)
- </div>
- <div class="ctrlHolder">
- <label for="cpu_limit">{tmpl_var name='cpu_limit_txt'}</label>
- <input name="cpu_limit" id="cpu_limit" value="{tmpl_var name='cpu_limit'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (10 - 6400)
- </div>
- <div class="ctrlHolder">
- <label for="io_priority">{tmpl_var name='io_priority_txt'}</label>
- <input name="io_priority" id="io_priority" value="{tmpl_var name='io_priority'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (0 - 7)
- </div>
- <div class="ctrlHolder">
- <label for="hostname">{tmpl_var name='hostname_txt'}</label>
- <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='create_dns_txt'}</p>
- <div class="multiField">
- {tmpl_var name='create_dns'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="nameserver">{tmpl_var name='nameserver_txt'}</label>
- <input name="nameserver" id="nameserver" value="{tmpl_var name='nameserver'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='nameserver_desc_txt'}
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="description">{tmpl_var name='description_txt'}</label>
- <textarea name="description" id="description" rows='10' cols='30'>{tmpl_var name='description'}</textarea>
- </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','vm/openvz_template_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('vm/openvz_template_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/themes/default-304/templates/vm/openvz_template_list.htm b/interface/web/themes/default-304/templates/vm/openvz_template_list.htm
deleted file mode 100644
index 78f102b..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_template_list.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_template">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_template_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
- <th class="tbl_col_template_name" scope="col"><tmpl_var name="template_name_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
- <td class="tbl_col_template_name"><input type="text" name="search_template_name" value="{tmpl_var name='search_template_name'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_template_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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('vm/openvz_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_template_name"><a href="#" onClick="loadContent('vm/openvz_template_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_name"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_template_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="3"><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/vm/openvz_vm_advanced_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm
deleted file mode 100644
index a0bf42d..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_advanced_edit.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_vm">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Advanced</legend>
- <div class="ctrlHolder">
- <label for="veid">{tmpl_var name='veid_txt'}</label>
- <input name="veid" id="veid" value="{tmpl_var name='veid'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='create_dns_txt'}</p>
- <div class="multiField">
- {tmpl_var name='create_dns'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="diskspace">{tmpl_var name='diskspace_txt'}</label>
- <input name="diskspace" id="diskspace" value="{tmpl_var name='diskspace'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> GB
- </div>
- <div class="ctrlHolder">
- <label for="ram">{tmpl_var name='ram_txt'}</label>
- <input name="ram" id="ram" value="{tmpl_var name='ram'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="ram_burst">{tmpl_var name='ram_burst_txt'}</label>
- <input name="ram_burst" id="ram_burst" value="{tmpl_var name='ram_burst'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> MB
- </div>
- <div class="ctrlHolder">
- <label for="cpu_units">{tmpl_var name='cpu_units_txt'}</label>
- <input name="cpu_units" id="cpu_units" value="{tmpl_var name='cpu_units'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (8 - 500000)
- </div>
- <div class="ctrlHolder">
- <label for="cpu_num">{tmpl_var name='cpu_num_txt'}</label>
- <input name="cpu_num" id="cpu_num" value="{tmpl_var name='cpu_num'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (1 - 64)
- </div>
- <div class="ctrlHolder">
- <label for="cpu_limit">{tmpl_var name='cpu_limit_txt'}</label>
- <input name="cpu_limit" id="cpu_limit" value="{tmpl_var name='cpu_limit'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (10 - 6400)
- </div>
- <div class="ctrlHolder">
- <label for="io_priority">{tmpl_var name='io_priority_txt'}</label>
- <input name="io_priority" id="io_priority" value="{tmpl_var name='io_priority'}" size="30" maxlength="255" type="text" class="textInput formLengthLimit" /> (0 - 7)
- </div>
- <div class="ctrlHolder">
- <label for="nameserver">{tmpl_var name='nameserver_txt'}</label>
- <input name="nameserver" id="nameserver" value="{tmpl_var name='nameserver'}" size="30" maxlength="255" type="text" class="textInput" /> {tmpl_var name='nameserver_desc_txt'}
- </div>
- <div class="ctrlHolder">
- <label for="capability">{tmpl_var name='capability_txt'}</label>
- <input name="capability" id="capability" value="{tmpl_var name='capability'}" size="30" maxlength="255" type="text" class="textInput" />
- </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','vm/openvz_vm_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('vm/openvz_vm_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/themes/default-304/templates/vm/openvz_vm_edit.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm
deleted file mode 100644
index 402bad3..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_edit.htm
+++ /dev/null
@@ -1,107 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_openvz_vm">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>Settings</legend>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <tmpl_if name="edit_disabled">
- <label for="server_id_disabled">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id_disabled" id="server_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='server_id'}
- </select>
- <input type="hidden" name="server_id" value="{tmpl_var name='server_id_value'}" />
- <tmpl_else>
- <label for="server_id">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id" id="server_id" class="selectInput" onChange="loadOptionInto('ip_address','vm/ajax_get_ip.php?server_id='+document.getElementById('server_id').value)">
- {tmpl_var name='server_id'}
- </select>
- </tmpl_if>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="is_reseller">
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_group_id_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="edit_disabled">
- <div class="ctrlHolder">
- <label for="ostemplate_id_disabled">{tmpl_var name='ostemplate_id_txt'}</label>
- <select name="ostemplate_id_disabled" id="ostemplate_id_disabled" class="selectInput" disabled="disabled">
- {tmpl_var name='ostemplate_id'}
- </select>
- </div>
- <input type="hidden" name="ostemplate_id" value="{tmpl_var name='ostemplate_id_value'}">
- <tmpl_else>
- <div class="ctrlHolder">
- <label for="ostemplate_id">{tmpl_var name='ostemplate_id_txt'}</label>
- <select name="ostemplate_id" id="ostemplate_id" class="selectInput">
- {tmpl_var name='ostemplate_id'}
- </select>
- </div>
- </tmpl_if>
- <div class="ctrlHolder">
- <label for="template_id">{tmpl_var name='template_id_txt'}</label>
- <select name="template_id" id="template_id" class="selectInput">
- {tmpl_var name='template_id_select'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="ip_address">{tmpl_var name='ip_address_txt'}</label>
- <select name="ip_address" id="ip_address" class="selectInput">
- {tmpl_var name='ip_address'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="hostname">{tmpl_var name='hostname_txt'}</label>
- <input name="hostname" id="hostname" value="{tmpl_var name='hostname'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <label for="vm_password">{tmpl_var name='vm_password_txt'}</label>
- <input name="vm_password" id="vm_password" value="{tmpl_var name='vm_password'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='start_boot_txt'}</p>
- <div class="multiField">
- {tmpl_var name='start_boot'}
- </div>
- </div>
- <div class="ctrlHolder">
- <p class="label">{tmpl_var name='active_txt'}</p>
- <div class="multiField">
- {tmpl_var name='active'}
- </div>
- </div>
- <div class="ctrlHolder">
- <label for="active_until_date">{tmpl_var name='active_until_date_txt'}</label>
- <input name="active_until_date" id="active_until_date" value="{tmpl_var name='active_until_date'}" size="30" maxlength="255" type="text" class="textInput formLengthDate" />
- </div>
- <div class="ctrlHolder">
- <label for="description">{tmpl_var name='description_txt'}</label>
- <textarea name="description" id="description" rows='5' cols='30' style='height:60px;'>{tmpl_var name='description'}</textarea>
- </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','vm/openvz_vm_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('vm/openvz_vm_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
-<script language="JavaScript" type="text/javascript">
- jQuery( "#active_until_date" ).datepicker({ dateFormat: '<tmpl_var name="date_format">', changeMonth: true, changeYear: true, yearRange: '-100:+100', dayNamesMin: ['<tmpl_var name="daynamesmin_su">','<tmpl_var name="daynamesmin_mo">','<tmpl_var name="daynamesmin_tu">','<tmpl_var name="daynamesmin_we">','<tmpl_var name="daynamesmin_th">','<tmpl_var name="daynamesmin_fr">','<tmpl_var name="daynamesmin_sa">'], dayNames: ['<tmpl_var name="daynames_sunday">','<tmpl_var name="daynames_monday">','<tmpl_var name="daynames_tuesday">','<tmpl_var name="daynames_wednesday">','<tmpl_var name="daynames_thursday">','<tmpl_var name="daynames_friday">','<tmpl_var name="daynames_saturday">'], monthNamesShort: ['<tmpl_var name="monthnamesshort_jan">','<tmpl_var name="monthnamesshort_feb">','<tmpl_var name="monthnamesshort_mar">','<tmpl_var name="monthnamesshort_apr">','<tmpl_var name="monthnamesshort_may">','<tmpl_var name="monthnamesshort_jun">','<tmpl_var name="monthnamesshort_jul">','<tmpl_var name="monthnamesshort_aug">','<tmpl_var name="monthnamesshort_sep">','<tmpl_var name="monthnamesshort_oct">','<tmpl_var name="monthnamesshort_nov">','<tmpl_var name="monthnamesshort_dec">'], nextText: '<tmpl_var name="datepicker_nextText">', prevText: '<tmpl_var name="datepicker_prevText">', firstDay: 1 });
-</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm b/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm
deleted file mode 100644
index ad02456..0000000
--- a/interface/web/themes/default-304/templates/vm/openvz_vm_list.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_list_openvz_vm">
-
- <div class="pnl_toolsarea">
- <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
- <div class="buttons">
- <button class="iconstxt icoAdd" type="button" onClick="loadContent('vm/openvz_vm_edit.php');">
- <span>{tmpl_var name="add_new_record_txt"}</span>
- </button>
- </div>
- </fieldset>
- </div>
-
- <div class="pnl_listarea">
- <fieldset><legend><tmpl_var name="list_head_txt"></legend>
- <table class="list">
- <thead>
- <tr>
- <th class="tbl_col_veid" scope="col"><tmpl_var name="veid_txt"></th>
- <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_ostemplate_id" scope="col"><tmpl_var name="ostemplate_id_txt"></th>
- <th class="tbl_col_template_id" scope="col"><tmpl_var name="template_id_txt"></th>
- <th class="tbl_col_hostname" scope="col"><tmpl_var name="hostname_txt"></th>
- <th class="tbl_col_ip_address" scope="col"><tmpl_var name="ip_address_txt"></th>
- <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
- </tr>
- <tr>
- <td class="tbl_col_veid"><input type="text" name="search_veid" style="width:40px;" value="{tmpl_var name='search_veid'}" /></td>
- <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_ostemplate_id"><select name="search_ostemplate_id">{tmpl_var name='search_ostemplate_id'}</select></td>
- <td class="tbl_col_template_id"><select name="search_template_id">{tmpl_var name='search_template_id'}</select></td>
- <td class="tbl_col_hostname"><input type="text" name="search_hostname" value="{tmpl_var name='search_hostname'}" /></td>
- <td class="tbl_col_ip_address"><input type="text" name="search_ip_address" style="width:80px;" value="{tmpl_var name='search_ip_address'}" /></td>
- <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','vm/openvz_vm_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></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_veid"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="veid"}</a></td>
- <td class="tbl_col_active"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
- <td class="tbl_col_server_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
- <td class="tbl_col_ostemplate_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ostemplate_id"}</a></td>
- <td class="tbl_col_template_id"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="template_id"}</a></td>
- <td class="tbl_col_hostname"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hostname"}</a></td>
- <td class="tbl_col_ip_address"><a href="#" onClick="loadContent('vm/openvz_vm_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="ip_address"}</a></td>
- <td class="tbl_col_buttons">
- <div class="buttons icons16">
- <a class="icons16 icoAction" href="javascript: loadContent('vm/openvz_action.php?id={tmpl_var name='id'}');"><span>Action</span></a>
- <a class="icons16 icoDelete" href="javascript: del_record('vm/openvz_vm_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>
- </div>
- </td>
- </tr>
- </tmpl_loop>
- </tbody>
- <tfoot>
- <tr>
- <td class="tbl_footer tbl_paging" colspan="8"><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/yaml/\041important.txt" "b/interface/web/themes/default-304/yaml/\041important.txt"
deleted file mode 100644
index ce2cc2d..0000000
--- "a/interface/web/themes/default-304/yaml/\041important.txt"
+++ /dev/null
@@ -1,4 +0,0 @@
-DON'T EDIT ANYTHING INSIDE THIS DIRECTORY!
-
-This theme is based on YAML V3.0.6, Build: 080609 (http://www.yaml.de/)
-CSS-Styles can be changed in the /themes/default/css/ directory
diff --git a/interface/web/themes/default-304/yaml/core/base.css b/interface/web/themes/default-304/yaml/core/base.css
deleted file mode 100644
index bc24d15..0000000
--- a/interface/web/themes/default-304/yaml/core/base.css
+++ /dev/null
@@ -1,229 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet
- * (de) YAML Basis-Stylesheet
- *
- * Don't make any changes in this file!
- * Your changes should be placed in any css-file in your own stylesheet folder.
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section browser reset
- * @see http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
- */
-
- /* (en) Global reset of paddings and margins for all HTML elements */
- /* (de) Globales Zurücksetzen der Innen- und Außenabstände für alle HTML-Elemente */
- * { margin:0; padding: 0; }
-
- /* (en) Correction: margin/padding reset caused too small select boxes. */
- /* (de) Korrektur: Das Zurücksetzen der Abstände verursacht zu kleine Selectboxen. */
- option { padding-left: 0.4em; }
-
- /**
- * (en) Global fix of the Italics bugs in IE 5.x and IE 6
- * (de) Globale Korrektur des Italics Bugs des IE 5.x und IE 6
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
- * html body * { overflow:visible; }
- * html iframe, * html frame { overflow:auto; }
- * html frameset { overflow:hidden; }
-
- /* (en) Forcing vertical scrollbars in Netscape, Firefox and Safari browsers */
- /* (de) Erzwingen vertikaler Scrollbalken in Netscape, Firefox und Safari Browsern */
- html { height: 100%; margin-bottom: 1px; }
- body {
- /* (en) Fix for rounding errors when scaling font sizes in older versions of Opera browser */
- /* (de) Beseitigung von Rundungsfehler beim Skalieren von Schriftgrößen in älteren Opera Versionen */
- font-size: 100.01%;
-
- /* (en) Standard values for colors and text alignment */
- /* (de) Vorgabe der Standardfarben und Textausrichtung */
- color: #000;
- background: #fff;
- text-align: left;
- }
-
- /* (en) Clear borders for <fieldset> and <img> elements */
- /* (de) Rahmen für <fieldset> und <img> Elemente löschen */
- fieldset, img { border: 0 solid; }
-
- /* (en) new standard values for lists, blockquote and cite */
- /* (de) Neue Standardwerte für Listen & Zitate */
- ul, ol, dl { margin: 0 0 1em 1em }
- li { margin-left: 1.5em; line-height: 1.5em; }
-
- dt { font-weight: bold; }
- dd { margin: 0 0 1em 2em; }
-
- blockquote { margin: 0 0 1em 1.5em; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section base layout | Basis Layout
- * @see http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
- *
- * |-------------------------------|
- * | #header |
- * |-------------------------------|
- * | #col1 | #col3 | #col2 |
- * | 200 px | flexible | 200px |
- * |-------------------------------|
- * | #footer |
- * |-------------------------------|
- */
-
- #header { position:relative; }
-
- /* (en) Text Alignment for #topnav content */
- /* (de) Textausrichtung für #topnav Inhalte */
- #topnav { text-align: right; }
-
- /* (en) Absolute positioning only within #header */
- /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
- #header #topnav {
- position:absolute;
- top: 10px;
- right: 10px;
- }
-
- /* (en) Backup for correct positioning */
- /* (de) Absicherung korrekte Positionierung */
- #header, #nav, #main, #footer { clear:both; }
-
- /* (en/de) Standard: 200 Pixel */
- #col1 { float: left; width: 200px }
- /* (en/de) Standard: 200 Pixel */
- #col2 { float:right; width: 200px }
- /* (en) Standard: center column with flexible width */
- /* (de) Standard: Flexible mittlere Spalte */
- #col3 { width:auto; margin: 0 200px }
-
- /* (en) Preparation for absolute positioning within content columns */
- /* (de) Vorbereitung für absolute Positionierungen innerhalb der Inhaltsspalten */
- #col1_content, #col2_content, #col3_content { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section generic classes for layout switching | Generische Klassen zur Layoutumschaltung
- * @see http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
- *
- * .hidecol1 -> 2-column-layout (using #col2 and #col3)
- * .hidecol2 -> 2-column-layout (using #col1 and #col3)
- * .hideboth -> single-column-layout (using #col3)
- */
-
- .hideboth #col3 { margin-left: 0; margin-right: 0; }
- .hidecol1 #col3 { margin-left: 0; margin-right: 200px; }
- .hidecol2 #col3 { margin-left: 200px; margin-right: 0; }
-
- .hideboth #col1, .hideboth #col2, .hidecol1 #col1, .hidecol2 #col2 { display:none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section clearing methods
- * @see http://yaml.de/en/documentation/basics/general.html
- */
-
- /* (en) clearfix method for clearing floats */
- /* (de) Clearfix-Methode zum Clearen der Float-Umgebungen */
- .clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
- /* (en) essential for Safari browser !! */
- /* (de) Diese Angabe benötigt der Safari-Browser zwingend !! */
- .clearfix { display: block; }
-
- /* (en) overflow method for clearing floats */
- /* (de) Overflow-Methode zum Clearen der Float-Umgebungen */
- .floatbox { overflow:hidden; }
-
- /* (en) IE-Clearing: Only used in Internet Explorer, switched on in iehacks.css */
- /* (de) IE-Clearing: Benötigt nur der Internet Explorer und über iehacks.css zugeschaltet */
- #ie_clearing { display: none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section subtemplates
- * @see http://www.yaml.de/en/documentation/practice/subtemplates.html
- */
-
- .subcolumns { width: 100%; overflow:hidden; }
-
- /* (en) alternative class for optional support of old Mozilla/Netscape browers */
- /* (de) Alternative Klasse zur optionalen Unterstützung alter Mozilla/Netscape-Brower */
- .subcolumns_oldgecko { width: 100%; float:left; }
-
- .c50l, .c25l, .c33l, .c38l, .c66l, .c75l, .c62l {float: left; }
- .c50r, .c25r, .c33r, .c38r, .c66r, .c75r, .c62r {float: right; margin-left: -5px; }
-
- .c25l, .c25r { width: 25%; }
- .c33l, .c33r { width: 33.333%; }
- .c50l, .c50r { width: 50%; }
- .c66l, .c66r { width: 66.666%; }
- .c75l, .c75r { width: 75%; }
- .c38l, .c38r { width: 38.2%; }
- .c62l, .c62r { width: 61.8%; }
-
- .subc { padding: 0 0.5em; }
- .subcl { padding: 0 1em 0 0; }
- .subcr { padding: 0 0 0 1em; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section hidden elements | Versteckte Elemente
- * @see http://www.yaml.de/en/documentation/basics/skip-links.html
- *
- * (en) skip links and hidden content
- * (de) Skip-Links und versteckte Inhalte
- */
-
- /* (en) classes for invisible elements in the base layout */
- /* (de) Klassen für unsichtbare Elemente im Basislayout */
- .skip, .hideme, .print {
- position: absolute;
- top: -1000em;
- left: -1000em;
- height: 1px;
- width: 1px;
- }
-
- /* (en) make skip links visible when using tab navigation */
- /* (de) Skip-Links für Tab-Navigation sichtbar schalten */
- .skip:focus, .skip:active {
- position: static;
- top: 0;
- left: 0;
- height: auto;
- width: auto;
- }
-}
diff --git a/interface/web/themes/default-304/yaml/core/iehacks.css b/interface/web/themes/default-304/yaml/core/iehacks.css
deleted file mode 100644
index 41c3ee4..0000000
--- a/interface/web/themes/default-304/yaml/core/iehacks.css
+++ /dev/null
@@ -1,310 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs
- * (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win
- *
- * Don't make any changes in this file!
- * Your changes should be added to a separate patch-file.
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
- /**
- * (en) Debugging: When you see a green background, IE is getting this stylesheet
- * (de) Fehlersuche: Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde
- *
- * @debug
- * @app-yaml-default disabled
- */
-
- /* body { background: #0f0; background-image: none; } */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Forcing vertical scrollbars is not needed in IE (only for Firefox/Netscape/Safari)
- * (de) Erzwingen vertikaler Scrollbalken im IE nicht benötigt (nur im Firefox/Netscape/Safari)
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- html { height: auto; margin-bottom:0; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements
- * (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid no
- */
-
- * html textarea { overflow:scroll; overflow-x: hidden; }
- * html input { overflow: hidden; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Stability fixes with 'position:relative'
- * (de) Stabilitätsverbesserungen durch 'position:relative'
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- body { position:relative; } /* Essential in IE7 for correct layout scaling ... */
- * html body { position:static; } /* ... but not for IE5.x and IE6 */
- #main { position: relative; } /* helpful for several problems in older IE versions*/
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Clearfix Method for containing floats in IE
- * (de) Clearfix-Anpassung für diverse IE-Versionen
- *
- * @workaround
- * @see http://www.456bereastreet.com/archive/200603/new_clearing_method_needed_for_ie7/#comment28
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
-
- .clearfix { display: inline-block; } /* ... especial for IE7 */
- .clearfix { display: block; } /* ... für IE5,IE6,IE7 */
- * html .clearfix { height: 1%; } /* ... für IE5 + IE6/Win | hasLayout aktivieren */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Adjustment of .floatbox class for IE
- * (de) Anpassung der .floatbox-Klasse für IE
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html .floatbox { width:100%; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Special class for oversized content element
- * (de) Spezielle Klasse für übergroße Inhaltselemente
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- .slidebox {
- position:relative;
- margin-right: -1000px;
- height: 1%;
- }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en): Bugfix for partially displayed column separators
- * (de): Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html #col1,
- * html #col2,
- * html #col3 { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Preventing several css bugs by forcing "hasLayout"
- * (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout"
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid no
- */
-
- body { height: 1%; }
- #page_margins, #page, #header, #nav, #main, #footer { zoom:1; } /* IE6 & IE7 */
- #page_margins, #page { height: 1%; } /* IE 5.x */
- * html #header, * html #nav, * html #main, * html #footer { width: 100%; } /* IE 5.x & IE6 */
- * html #header, * html #nav, * html #main, * html #footer { wid\th: auto; } /* IE 6 */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Disappearing List-Background Bug
- * @see http://www.positioniseverything.net/explorer/ie-listbug.html
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
- * html ul, * html ol, * html dl { position: relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * List-Numbering Bug
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
- body ol li { display:list-item; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear
- * Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the
- * longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed
- * in YAML.
- *
- * (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear
- * Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout
- * wenn gleichzeitig die rechte Spalte die kürzeste und die rechte die Längste ist. Im IE6 und IE7 lässt
- * sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen.
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid no
- */
-
- #ie_clearing {
- /* (en) Only a small help for debugging */
- /* (de) Nur eine kleine Hilfe zur Fehlersuche */
- position:static;
-
- /* (en) Make container visible in IE */
- /* (de) Container sichtbar machen im IE */
- display:block;
-
- /* (en) No fix possible in IE5.x, normal clearing used instead */
- /* (de) Kein Fix im IE5.x möglich, daher normales Clearing */
- \clear:both;
-
- /* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/
- /* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */
- width: 100%;
- font-size:0px;
- margin: -2px 0 -1em 1px;
- }
-
- * html #ie_clearing { margin: -2px 0 -1em 0; }
- #col3_content {margin-bottom:-2px; }
-
- /* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */
- /* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */
- html { margin-right: 1px; }
- * html { margin-right: 0 }
-
-
- /* (en) Bugfix: Essential for IE7 */
- /* (de) Bugfix: Notwendig im IE7 */
- #col3 { position:relative; z-index: -1; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * IE/Win Guillotine Bug
- * @see http://www.positioniseverything.net/explorer/guillotine.html
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html body a, * html body a:hover { background-color: transparent; }
-
-}
-
-@media screen, projection
-{
- /**
- * (en) IE-Adjustments for content columns and subtemplates
- * (de) IE-Anpassung für Spaltencontainer und Subtemplates
- *
- * Doubled Float-Margin Bug
- * @see http://positioniseverything.net/explorer/doubled-margin.html
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- #col1, #col2 { display:inline; }
-
- .c50l, .c25l, .c33l, .c38l, .c66l, .c75l, .c62l,
- .c50r, .c25r, .c33r, .c38r, .c66r, .c75r, .c62r { display:inline; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Internet Explorer and the Expanding Box Problem
- * @see http://www.positioniseverything.net/explorer/expandingboxbug.html
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html #col1_content,
- * html #col2_content,
- * html #col3_content { word-wrap: break-word; }
-
- * html .subcolumns .subc,
- * html .subcolumns .subcl,
- * html .subcolumns .subcr { word-wrap: break-word; overflow:hidden; }
-}
-
-@media print
-{
- /**
- * (en) Avoid unneeded page breaks of #col3 content in print layout.
- * (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte #col3.
- *
- * @bugfix
- * @affected IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- #col3 { height: 1%; }
-}
diff --git a/interface/web/themes/default-304/yaml/core/print_base.css b/interface/web/themes/default-304/yaml/core/print_base.css
deleted file mode 100644
index 4418795..0000000
--- a/interface/web/themes/default-304/yaml/core/print_base.css
+++ /dev/null
@@ -1,120 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet - print layout
- * (de) YAML Core-Stylesheet - Druck Layout
- *
- * Don't make any changes in this file!
- * Your changes should be added to 'print_xyz_draft.css' drafts from 'yaml/print/' folder.
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media print
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section layout preparation
- * @see http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
- */
-
- /* (en) Preparing base layout for print */
- /* (de) Basislayout für Druck aufbereiten */
- body, #page_margins, #page, #main { margin:0; padding: 0; border: 0; }
- #page_margins, #page { width: 100% !important; min-width:0; max-width: none; }
- #header { height: auto; }
-
- /* (en) Hide unneeded container of the screenlayout in print layout */
- /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */
- #topnav, #nav, #search, #footer { display: none; }
-
- /* (en) Linearising subtemplates */
- /* (de) Linearisierung der Subtemplates */
- .c25l, .c33l, .c38l, .c50l, .c62l, .c66l, .c75l,
- .c25r, .c33r, .c38r, .c50r, .c62r, .c66r, .c75r {
- width: 100%; margin:0; float:none; overflow:visible; display:table;
- }
- .subc, .subcl, .subcr { margin: 0; padding: 0; }
-
- /* (en) make .print class visible */
- /* (de) .print-Klasse sichtbar schalten */
- .print { position: static; top: 0; left: 0; height: auto; width: auto; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section content preparation
- * @see http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
- */
-
- /* (en) Change font to serif */
- /* (de) Zeichensatz auf Serifen umstellen */
- body * { font-family: "Times New Roman", Times, serif; }
- code, pre { font-family:"Courier New", Courier, mono; }
- body { font-size: 12pt; }
-
- /* (en) Avoid page breaks right after headings */
- /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */
- h1,h2,h3,h4,h5,h6 { page-break-after:avoid; }
-
- /* (en) Format acronyms and abbreviations for print*/
- /* (de) Auszeichnung von Abkürzungen */
- abbr[title]:after,
- acronym[title]:after { content: '(' attr(title) ')'; }
-
- /* (en) Disable background graphics of links */
- /* (de) Abschalten evlt. vorhandener Hintergrundgrafiken zur Linkkennzeichnung */
- #page a[href^="http:"],
- #page a[href^="https:"] { padding-left: 0; background-image: none; }
-
- /* (en) Enable URL output in print layout */
- /* (de) Sichtbare Auszeichnung der URLs von Links */
- a[href]:after {
- content:" <URL: "attr(href)">";
- color:#444;
- background:inherit;
- font-style:italic;
- }
-
- /* (en) Preparation for optional column labels */
- /* (de) Vorbereitung für optionale Spaltenauszeichnung */
- #col1_content:before, #col2_content:before, #col3_content:before {
- content: "";
- color:#888;
- background:inherit;
- display:block;
- font-weight:bold;
- font-size:1.5em;
- }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section browser fixes for print layouts
- * @see http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
- */
-
- /**
- * (en) overflow:hidden Bug in print layouts
- * (de) overflow:hidden Bug in Drucklayouts
- *
- * @bugfix
- * @since 3.0
- * @affected FF2.0, IE7
- * @css-for all browsers
- * @valid yes
- */
-
- .floatbox,
- .subcolumns,
- .subcolums_oldgecko { overflow:visible; display: table; }
-}
diff --git a/interface/web/themes/default-304/yaml/core/slim_base.css b/interface/web/themes/default-304/yaml/core/slim_base.css
deleted file mode 100644
index 75596ca..0000000
--- a/interface/web/themes/default-304/yaml/core/slim_base.css
+++ /dev/null
@@ -1,50 +0,0 @@
-@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media all {
-*{margin:0;padding:0}
-option{padding-left:.4em}
-* html body *{overflow:visible}
-* html iframe,* html frame{overflow:auto}
-* html frameset{overflow:hidden}
-html{height:100%;margin-bottom:1px}
-body{font-size:100.01%;color:#000;background:#fff;text-align:left}
-fieldset,img{border:0 solid}
-ul,ol,dl{margin:0 0 1em 1em}
-li{margin-left:1.5em;line-height:1.5em}
-dt{font-weight:700}
-dd{margin:0 0 1em 2em}
-blockquote{margin:0 0 1em 1.5em}
-#header{position:relative}
-#topnav{text-align:right}
-#header #topnav{position:absolute;top:10px;right:10px}
-#header,#nav,#main,#footer{clear:both}
-#col1{float:left;width:200px}
-#col2{float:right;width:200px}
-#col3{width:auto;margin:0 200px}
-#col1_content,#col2_content,#col3_content{position:relative}
-.hideboth #col3{margin-left:0;margin-right:0}
-.hidecol1 #col3{margin-left:0;margin-right:200px}
-.hidecol2 #col3{margin-left:200px;margin-right:0}
-.hideboth #col1,.hideboth #col2,.hidecol1 #col1,.hidecol2 #col2{display:none}
-.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}
-.clearfix{display:block}
-.floatbox{overflow:hidden}
-#ie_clearing{display:none}
-.subcolumns{width:100%;overflow:hidden}
-.subcolumns_oldgecko{width:100%;float:left}
-.c50l,.c25l,.c33l,.c38l,.c66l,.c75l,.c62l{float:left}
-.c50r,.c25r,.c33r,.c38r,.c66r,.c75r,.c62r{float:right;margin-left:-5px}
-.c25l,.c25r{width:25%}
-.c33l,.c33r{width:33.333%}
-.c50l,.c50r{width:50%}
-.c66l,.c66r{width:66.666%}
-.c75l,.c75r{width:75%}
-.c38l,.c38r{width:38.2%}
-.c62l,.c62r{width:61.8%}
-.subc{padding:0 .5em}
-.subcl{padding:0 1em 0 0}
-.subcr{padding:0 0 0 1em}
-.skip,.hideme,.print{position:absolute;top:-1000em;left:-1000em;height:1px;width:1px}
-.skip:focus,.skip:active{position:static;top:0;left:0;height:auto;width:auto}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/core/slim_iehacks.css b/interface/web/themes/default-304/yaml/core/slim_iehacks.css
deleted file mode 100644
index a201c14..0000000
--- a/interface/web/themes/default-304/yaml/core/slim_iehacks.css
+++ /dev/null
@@ -1,36 +0,0 @@
-@charset UTF-8;
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media all {
-html{height:auto;margin-bottom:0;margin-right:1px}
-* html textarea{overflow:scroll;overflow-x:hidden}
-* html input{overflow:hidden}
-body{position:relative;height:1%}
-* html body{position:static}
-#main{position:relative}
-.clearfix{display:inline-block}
-.clearfix{display:block}
-* html .clearfix{height:1%}
-* html .floatbox{width:100%}
-.slidebox{position:relative;margin-right:-1000px;height:1%}
-* html #col1,* html #col2,* html #col3{position:relative}
-#page_margins,#page,#header,#nav,#main,#footer{zoom:1}
-#page_margins,#page{height:1%}
-* html #header,* html #nav,* html #main,* html #footer{width:100%;wid\th:auto}
-* html ul,* html ol,* html dl{position:relative}
-body ol li{display:list-item}
-#ie_clearing{position:static;display:block;\clear:both;width:100%;font-size:0;margin:-2px 0 -1em 1px}
-* html #ie_clearing{margin:-2px 0 -1em}
-#col3_content{margin-bottom:-2px}
-* html{margin-right:0}
-#col3{position:relative;z-index:-1}
-* html body a,* html body a:hover{background-color:transparent}
-}
-@media screen,projection {
-#col1,#col2,.c50l,.c25l,.c33l,.c38l,.c66l,.c75l,.c62l,.c50r,.c25r,.c33r,.c38r,.c66r,.c75r,.c62r{display:inline}
-* html #col1_content,* html #col2_content,* html #col3_content{word-wrap:break-word}
-* html .subcolumns .subc,* html .subcolumns .subcl,* html .subcolumns .subcr{word-wrap:break-word;overflow:hidden}
-}
-@media print {
-#col3{height:1%}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/core/slim_print_base.css b/interface/web/themes/default-304/yaml/core/slim_print_base.css
deleted file mode 100644
index f371b15..0000000
--- a/interface/web/themes/default-304/yaml/core/slim_print_base.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v3.0.6 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 202 $ $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $ */
-@media print {
-body,#page_margins,#page,#main{border:0;margin:0;padding:0}
-#page_margins,#page{width:100%!important;min-width:0;max-width:none}
-#header{height:auto}
-#topnav,#nav,#search,#footer{display:none}
-.c25l,.c33l,.c38l,.c50l,.c62l,.c66l,.c75l,.c25r,.c33r,.c38r,.c50r,.c62r,.c66r,.c75r{width:100%;float:none;overflow:visible;display:table;margin:0}
-.subc,.subcl,.subcr{margin:0;padding:0}
-.print{position:static;top:0;left:0;height:auto;width:auto}
-body *{font-family:"Times New Roman", Times, serif}
-code,pre{font-family:"Courier New", Courier, mono}
-body{font-size:12pt}
-h1,h2,h3,h4,h5,h6{page-break-after:avoid}
-abbr[title]:after,acronym[title]:after{content:'(' attr(title) ')'}
-#page a[href^="http:"],#page a[href^="https:"]{padding-left:0;background-image:none}
-a[href]:after{content:" <URL: "attr(href)">";color:#444;background:inherit;font-style:italic}
-#col1_content:before,#col2_content:before,#col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}
-.floatbox,.subcolumns,.subcolums_oldgecko{overflow:visible;display:table}
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/debug/debug.css b/interface/web/themes/default-304/yaml/debug/debug.css
deleted file mode 100644
index f0a1304..0000000
--- a/interface/web/themes/default-304/yaml/debug/debug.css
+++ /dev/null
@@ -1,157 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML debugging stylesheet
- * (de) YAML Stylesheet zur Fehlersuche
- *
- * Don't make any changes in this file!
- * Your changes should be placed in any css-file in your own stylesheet folder.
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 43 $
- * @lastmodified $Date: 2007-06-11 16:09:28 +0200 (Mo, 11 Jun 2007) $
- */
-
-@media all
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section layout preparation for debugging
- * @see http://www.yaml.de/en/documentation/practice/drafting-and-debugging.html
- */
-
- /* Adding debugging background */
- body { background: transparent url(images/grid_pattern.png) top left no-repeat !important; }
-
- /* CSS-Warning, if core stylesheet 'iehacks.css' is missing in the layout */
- *:first-child+html #ie_clearing { display:block; }
- * html #ie_clearing { display:block; }
-
- #ie_clearing {
- width: 500px;
- font-size: 25px;
- position:absolute;
- top: -2px;
- left:0px;
- background: url("images/warning_iehacks.gif") top left no-repeat;
- }
-
- /**
- * @section pixel grid
- */
-
- .bg_grid {
- background-image:url(images/grid_pattern.png) !important;
- background-repeat:no-repeat;
- background-position:top left !important;
- }
-
- /**
- * @section transparency
- */
-
- .transOFF { -moz-opacity: 1.0; opacity: 1.0; filter: alpha(Opacity=100);}
- .trans50,
- .transON { -moz-opacity: 0.5; opacity: 0.5; filter: alpha(Opacity=50);}
- .trans25 { -moz-opacity: 0.25; opacity: 0.25; filter: alpha(Opacity=25);}
- .trans75 { -moz-opacity: 0.75; opacity: 0.75; filter: alpha(Opacity=75);}
-
- /**
- * @section colors
- */
-
- .bg_red { background-color: #f00 !important;}
- .bg_blue { background-color: #00f !important;}
- .bg_green { background-color: #0f0 !important;}
-
- /**
- * @visualize semantic structure
- *
- * Many thanks to Tomas Caspers for some ideas
- */
-
- div[id] { padding: 0 !important; margin: 2px; border: 1px #000 solid !important; }
- div[id]:before {
- display:block;
- color: #fff;
- background: #800;
- padding: 2px;
- font: bold .8em "Lucida console", monospace;
- content: "[div #"attr(id)"]";
- }
-
- div[class="floatbox"] { background: #f4f4f4; }
- div[class="floatbox"]:before {
- display:block;
- color: #fff;
- background: #66a;
- padding: 2px;
- font: bold .8em "Lucida console", monospace;
- content: "[div ."attr(class)"]";
- }
-
- div[class="subcolumns"] { background: #f8f8f8; }
- div[class="subcolumns"]:before {
- display:block;
- color: #fff;
- background: #444;
- padding: 2px;
- font: bold .8em "Lucida console", monospace;
- content: "[div ."attr(class)"]";
- }
-
- div[class="subcolumns"] > div:before {
- display:block;
- color: #fff;
- background: #080;
- padding: 2px;
- font: bold .8em "Lucida console", monospace;
- content: "[div ."attr(class)"]";
- }
-
- div[class="subc"], div[class="subcl"], div[class="subcr"] { background: #eee; }
- div[class="subc"]:before, div[class="subcl"]:before, div[class="subcr"]:before {
- display:block;
- color: #fff;
- background: #6a6;
- padding: 2px;
- font: bold .8em "Lucida console", monospace;
- content: "[div ."attr(class)"]";
- }
-
- h1:before { content: "[h1] "; }
- h2:before { content: "[h2] "; }
- h3:before { content: "[h3] "; }
- h4:before { content: "[h4] "; }
- h5:before { content: "[h5] "; }
- h6:before { content: "[h6] "; }
-
- a:hover:before { content: " ( href='" attr(href) "' ) "; }
- a:hover:after { content: " [ title='"attr(title)"' ] "; }
-
- img:after { content:" ( alt='" attr(alt)"' ) "; }
-
- address, blockquote, dl, fieldset, form, h1, h2, h3, h4, ol, p, pre, ul {
- border: 1px dotted #888;
- margin: 2px;
- padding: 2px;
- display: block;
- }
-
- /**
- * @visualize inline elements
- *
- * Many thanks to Tomas Caspers for some ideas
- */
-
- abbr, acronym { background: #d9eaff; }
- q, cite, dfn, kbd { background: #ffe3f6; }
- /* :lang(de), :lang(en), :lang(fr), :lang(es) { background: #d9efaa !important; } */
-}
diff --git a/interface/web/themes/default-304/yaml/debug/images/grid_pattern.png b/interface/web/themes/default-304/yaml/debug/images/grid_pattern.png
deleted file mode 100644
index 55e65e4..0000000
--- a/interface/web/themes/default-304/yaml/debug/images/grid_pattern.png
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif b/interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif
deleted file mode 100644
index b7cc86d..0000000
--- a/interface/web/themes/default-304/yaml/debug/images/warning_iehacks.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif b/interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif
deleted file mode 100644
index 80a4ea3..0000000
--- a/interface/web/themes/default-304/yaml/debug/images/yaml_debug.gif
+++ /dev/null
Binary files differ
diff --git a/interface/web/themes/default-304/yaml/navigation/nav_vlist.css b/interface/web/themes/default-304/yaml/navigation/nav_vlist.css
deleted file mode 100644
index 7f1a5b9..0000000
--- a/interface/web/themes/default-304/yaml/navigation/nav_vlist.css
+++ /dev/null
@@ -1,109 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Vertical list navigation "vlist"
- * (de) Vertikale Navigationsliste "vlist"
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media all
-{
- #submenu {
- width: 100%;
- overflow: hidden;
- margin: 2.4em 0 1.5em 0;
- list-style-type: none;
- border-top: 2px #ddd solid;
- border-bottom: 2px #ddd solid;
- }
-
- #submenu ul { list-style-type: none; margin:0; padding: 0; }
- #submenu li { float:left; width: 100%; margin:0; padding: 0; }
-
- #submenu a,
- #submenu strong {
- display:block;
- width: 90%;
- padding: 3px 0px 3px 10%;
- text-decoration: none;
- background-color:#fff;
- color: #444;
- border-bottom: 1px #eee solid;
- }
-
- /* Menu Title */
- #submenu li#title {
- width: 90%;
- padding: 3px 0px 3px 10%;
- font-weight: bold;
- color: #444;
- background-color: #fff;
- border-bottom: 4px #888 solid;
- }
-
- #submenu li span {
- display:block;
- width: 90%;
- padding: 3px 0px 3px 10%;
- font-weight: bold;
- border-bottom: 1px #ddd solid;
- }
-
- /* Level 1 */
- #submenu li#active,
- #submenu li strong {
- width: 90%;
- padding: 3px 0px 3px 10%;
- font-weight: bold;
- color: #fff;
- background-color:#aab;
- border-bottom: 1px #eee solid;
- }
-
- #submenu li a { width: 90%; padding-left: 10%; background-color:#fff; color: #444; }
- #submenu li a:focus,
- #submenu li a:hover,
- #submenu li a:active { background-color:#f63; color: #fff; }
-
- /* Level 2 */
- #submenu li ul li a,
- #submenu li ul li#active,
- #submenu li ul li strong,
- #submenu li ul li span { width: 80%; padding-left: 20%; }
-
- #submenu li ul li a { background-color:#f8f8f8; color: #666; }
- #submenu li ul li a:focus,
- #submenu li ul li a:hover,
- #submenu li ul li a:active { background-color:#f63; color: #fff; }
-
- /* Level 3 */
- #submenu li ul li ul li a,
- #submenu li ul li ul li#active,
- #submenu li ul li ul li strong,
- #submenu li ul li ul li span { width: 70%; padding-left: 30%; }
-
- #submenu li ul li ul li a { background-color:#fcfcfc; color: #888; }
- #submenu li ul li ul li a:focus,
- #submenu li ul li ul li a:hover,
- #submenu li ul li ul li a:active { background-color:#f63; color: #fff; }
-
- /* Level 4 */
- #submenu li ul li ul li ul li a,
- #submenu li ul li ul li ul li#active,
- #submenu li ul li ul li ul li strong,
- #submenu li ul li ul li ul li span { width: 60%; padding-left: 40%; }
-
- #submenu li ul li ul li ul li a { background-color:#ffffff; color: #aaa; }
- #submenu li ul li ul li ul li a:focus,
- #submenu li ul li ul li ul li a:hover,
- #submenu li ul li ul li ul li a:active { background-color:#f63; color: #fff; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css b/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css
deleted file mode 100644
index 4490d7f..0000000
--- a/interface/web/themes/default-304/yaml/patches/patch_layout_draft.css
+++ /dev/null
@@ -1,29 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Example of a patch stylesheet for the Internet Explorer
- * (de) Beispiel für ein Anpassungs-Stylesheet für den Internet Explorer
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* Layout independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
-@import url(/yaml/core/iehacks.css);
-
-/* Box model adjustments for vlist navigation | Box-Modell-Anpassungen für vlist-Navigation */
-/* @import url(/yaml/patches/patch_nav_vlist.css); */
-
-/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
-@media screen, projection
-{
- /* add your adjustments here | Fügen Sie Ihre Anpassungen hier ein */
-
-}
diff --git a/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css b/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css
deleted file mode 100644
index cbf2948..0000000
--- a/interface/web/themes/default-304/yaml/patches/patch_nav_vlist.css
+++ /dev/null
@@ -1,61 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) IE adjustment stylesheet for YAML vlist navigation
- * Import this file within the IE-patch-file if needed in your layout
- *
- * (de) IE Anpassungs-Stylesheet für YAML vlist-Navigation
- * Einbindung ins Layout erfolgt über den Import innerhalb des IE-Anspassungs-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
- /**
- * Box Model Bug
- * (en) Adjustment of width values for list elements of the menu in IE 5.x/Win.
- * Note: If IE6 is running in quirks mode, it also needs 100% values!
- *
- * (de) Korrektur der Breitenangaben der Listenelemente des Submenüs im IE 5.x/Win.
- * Hinweis: Befindet sich der IE6 im Quirks Mode, so benötigt er ebenfalls 100%-Werte !
- *
- * @bugfix
- * @affected IE 5.x/Win (IE6 in Quirks-Mode)
- * @css-for IE 5.x/Win, IE6
- * @valid no
- */
-
- /* level 1 */
- * html #submenu li a,
- * html #submenu li strong,
- * html #submenu li span,
- * html #submenu li#title,
- * html #submenu li#active { width: 100%; w\idth: 90%; }
-
- /* level 2 */
- * html #submenu li ul li a,
- * html #submenu li ul li strong,
- * html #submenu li ul li span,
- * html #submenu li ul li#active { width: 100%; w\idth: 80%; }
-
- /* level 3 */
- * html #submenu li ul li ul li a,
- * html #submenu li ul li ul li strong,
- * html #submenu li ul li ul li span,
- * html #submenu li ul li ul li#active { width: 100%; w\idth: 70%; }
-
- /* level 4 */
- * html #submenu li ul li ul li ul li a,
- * html #submenu li ul li ul li ul li strong,
- * html #submenu li ul li ul li ul li span,
- * html #submenu li ul li ul li ul li#active { width: 100%; w\idth: 60%; }
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_003_draft.css b/interface/web/themes/default-304/yaml/print/print_003_draft.css
deleted file mode 100644
index 0363b4e..0000000
--- a/interface/web/themes/default-304/yaml/print/print_003_draft.css
+++ /dev/null
@@ -1,32 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - 0
-** #col3 - x
-*/
-
-@media print
-{
- #col1 { display:none; }
- #col2 { display:none; }
-
- #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_020_draft.css b/interface/web/themes/default-304/yaml/print/print_020_draft.css
deleted file mode 100644
index 2ded4f1..0000000
--- a/interface/web/themes/default-304/yaml/print/print_020_draft.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - x
-** #col3 - 0
-*/
-@media print
-{
- #col1 { display:none; }
- #col3 { display:none; }
-
- #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_023_draft.css b/interface/web/themes/default-304/yaml/print/print_023_draft.css
deleted file mode 100644
index e005a58..0000000
--- a/interface/web/themes/default-304/yaml/print/print_023_draft.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - 0
-** #col2 - x
-** #col3 - x
-*/
-
-@media print
-{
- #col1 { display:none; }
-
- #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col2_content { page-break-after:always; }
-
- #col3, #col3_content {width: 100%; margin:0; padding: 0; border:0; }
-
- /* Optional Column Labels | Optionale Spaltenauszeichnung
- #col2_content:before { content:" [ left | middle | right column ]"; }
- #col3_content:before { content:" [ left | middle | right column ]"; }
- */
-}
-
diff --git a/interface/web/themes/default-304/yaml/print/print_100_draft.css b/interface/web/themes/default-304/yaml/print/print_100_draft.css
deleted file mode 100644
index 2a6c71b..0000000
--- a/interface/web/themes/default-304/yaml/print/print_100_draft.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - 0
-*/
-@media print
-{
- #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
-
- #col2 { display:none; }
- #col3 { display:none; }
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_103_draft.css b/interface/web/themes/default-304/yaml/print/print_103_draft.css
deleted file mode 100644
index a436374..0000000
--- a/interface/web/themes/default-304/yaml/print/print_103_draft.css
+++ /dev/null
@@ -1,38 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - 0
-** #col3 - x
-*/
-@media print
-{
- #col1, #col1_content {float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col1_content {page-break-after:always; }
-
- #col2 { display:none; }
-
- #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-
- /* Optional Column Labels | Optionale Spaltenauszeichnung
- #col1_content:before { content:" [ left | middle | right column ]"; }
- #col3_content:before { content:" [ left | middle | right column ]"; }
- */
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/print/print_120_draft.css b/interface/web/themes/default-304/yaml/print/print_120_draft.css
deleted file mode 100644
index 50ee571..0000000
--- a/interface/web/themes/default-304/yaml/print/print_120_draft.css
+++ /dev/null
@@ -1,39 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - x
-** #col3 - 0
-*/
-@media print
-{
- #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col1_content { page-break-after:always; }
-
- #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col2_content { page-break-after:always; }
-
- #col3 { display:none; }
-
- /* Optional Column Labels | Optionale Spaltenauszeichnung
- #col1_content:before { content:" [ left | middle | right column ]"; }
- #col2_content:before { content:" [ left | middle | right column ]"; }
- */
-}
diff --git a/interface/web/themes/default-304/yaml/print/print_123_draft.css b/interface/web/themes/default-304/yaml/print/print_123_draft.css
deleted file mode 100644
index 42a7de1..0000000
--- a/interface/web/themes/default-304/yaml/print/print_123_draft.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-/* import print base styles | Basisformatierung für Drucklayout einbinden */
-@import url(../core/print_base.css);
-
-/* #col1 - x
-** #col2 - x
-** #col3 - x
-*/
-@media print
-{
- #col1, #col1_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col1_content { page-break-after:always; }
-
- #col2, #col2_content { float:none; width: 100%; margin: 0; padding: 0; border: 0; }
- #col2_content { page-break-after:always; }
-
- #col3, #col3_content { width: 100%; margin:0; padding: 0; border:0; }
-
- /* Optional Column Labels | Optionale Spaltenauszeichnung
- #col1_content:before { content:" [ left | middle | right column ]"; }
- #col2_content:before { content:" [ left | middle | right column ]"; }
- #col3_content:before { content:" [ left | middle | right column ]"; }
- */
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/screen/basemod_draft.css b/interface/web/themes/default-304/yaml/screen/basemod_draft.css
deleted file mode 100644
index 6d33ff8..0000000
--- a/interface/web/themes/default-304/yaml/screen/basemod_draft.css
+++ /dev/null
@@ -1,70 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Template for designing a screen layout
- * (de) Gestaltungsvorlage für die Erstellung eines Screenlayouts
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- */
-
-@media screen, projection
-{
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Design of the Basic Layout | Gestaltung des YAML Basis-Layouts
- *
- * @section layout-basics
- */
-
- /* Page margins and background | Randbereiche & Seitenhintergrund */
- body { }
-
- /* Layout: Width, Background, Border | Layout: Breite, Hintergrund, Rahmen */
- #page_margins { }
- #page{ }
-
- /* Design of the Main Layout Elements | Gestaltung der Hauptelemente des Layouts */
- #header { }
- #topnav { }
-
- #main { }
-
- #footer { }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Formatting of the Content Area | Formatierung der Inhaltsbereichs
- *
- * @section layout-main
- */
-
- #col1 { }
- #col1_content { }
-
- #col2 { }
- #col2_content { }
-
- #col3 { }
- #col3_content { }
-
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Design of Additional Layout Elements | Gestaltung weiterer Layoutelemente
- *
- * @section layout-misc
- */
-
-
-}
\ No newline at end of file
diff --git a/interface/web/themes/default-304/yaml/screen/content_default.css b/interface/web/themes/default-304/yaml/screen/content_default.css
deleted file mode 100644
index 1852ac1..0000000
--- a/interface/web/themes/default-304/yaml/screen/content_default.css
+++ /dev/null
@@ -1,170 +0,0 @@
-@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of standard content elements
- * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
- *
- * @copyright Copyright 2005-2008, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.0.6
- * @revision $Revision: 202 $
- * @lastmodified $Date: 2008-06-07 14:29:18 +0200 (Sa, 07 Jun 2008) $
- * @appdef yaml
- */
-
-@media all
-{
- /**
- * Fonts
- * (en) font-family and font-size selection for headings and standard text elements
- * (de) Zeichensatz und Schriftgrößen für Überschriften und übliche Text-Elemente
- *
- * @section content-fonts
- */
-
- /* (en) reset font size for all elements to standard (16 Pixel) */
- /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
- html * { font-size: 100.01%; }
-
- /* (en) reset monospaced elements to font size 16px in Gecko browsers */
- /* (de) Schriftgröße von monospaced Elemente auf 16 Pixel setzen */
- textarea, pre, tt, code {
- font-family:"Courier New", Courier, monospace;
- }
-
- /* (en) base layout gets standard font size 12px */
- /* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
- body {
- font-family: 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;
- font-size: 75.00%;
- }
-
- h1,h2,h3,h4,h5,h6 { font-weight:bold; margin: 0 0 0.25em 0; }
- h1 { font-size: 200% } /* 24px */
- h2 { font-size: 166.67% } /* 20px */
- h3 { font-size: 150% } /* 18px */
- h4 { font-size: 133.33% } /* 16px */
- h5 { font-size: 116.67% } /* 14px */
- h6 { font-size: 116.67%; font-style:italic; } /* 14px */
-
- p { line-height: 1.5em; margin: 0 0 1em 0; }
-
- /* ### Lists | Listen #### */
-
- ul, ol, dl { line-height: 1.5em; margin: 0 0 1em 1em; }
- li { margin-left: 1.5em; line-height: 1.5em; }
-
- dt { font-weight: bold; }
- dd { margin: 0 0 1em 2em; }
-
- /* ### text formatting | Textauszeichnung ### */
-
- cite, blockquote { font-style:italic; }
- blockquote { margin: 0 0 1em 1.5em; }
-
- strong,b { font-weight: bold; }
- em,i { font-style:italic; }
-
- pre, code { font-family: monospace; font-size: 1.1em; }
-
- acronym, abbr {
- letter-spacing: .07em;
- border-bottom: .1em dashed #c00;
- cursor: help;
- }
-
- /**
- * Generic Content Classes
- * (en) standard classes for positioning and highlighting
- * (de) Standardklassen zur Positionierung und Hervorhebung
- *
- * @section content-generic-classes
- */
-
- .note { background: #dfd; padding: 1em; border-top: 1px #bdb dotted; border-bottom: 1px #bdb dotted; }
- .important { background: #ffd; padding: 1em; border-top: 1px #ddb dotted; border-bottom: 1px #ddb dotted; }
- .warning { background: #fdd; padding: 1em; border-top: 1px #dbb dotted; border-bottom: 1px #dbb dotted; }
-
- .float_left { float: left; display:inline; margin-right: 1em; margin-bottom: 0.15em; }
- .float_right { float: right; display:inline; margin-left: 1em; margin-bottom: 0.15em; }
- .center { text-align:center; margin: 0.5em auto; }
-
- /**
- * External Links
- *
- * (en) Formatting of hyperlinks
- * (de) Gestaltung von Hyperlinks
- *
- */
-
- a { color: #900; text-decoration:none; }
- a:focus,
- a:hover,
- a:active { background-color: #fee; text-decoration:underline; }
-
- #topnav a { color: #aac; font-weight: bold; background:transparent; text-decoration:none; }
- #topnav a:focus,
- #topnav a:hover,
- #topnav a:active{ text-decoration:underline; background-color: transparent; }
-
- #footer a { color: #aac; background:transparent; font-weight: bold; }
- #footer a:focus,
- #footer a:hover,
- #footer a:active { color: #fff; background-color: transparent; text-decoration:underline; }
-
- /**
- * (en) Emphasizing external Hyperlinks via CSS
- * (de) Hervorhebung externer Hyperlinks mit CSS
- *
- * @section content-external-links
- * @app-yaml-default disabled
- */
-
- /*
- #main a[href^="http://www.my-domain.com"],
- #main a[href^="https://www.my-domain.com"]
- {
- padding-left: 12px;
- background-image: url('your_image.gif');
- background-repeat: no-repeat;
- background-position: 0 0.45em;
- }
- */
-
- /**
- * Tables | Tabellen
- * (en) Generic classes for table-width and design definition
- * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
- *
- * @section content-tables
- */
-
- table { width: auto; border-collapse:collapse; margin-bottom: 0.5em; }
- table.full { width: 100%; }
- table.fixed { table-layout:fixed; }
-
- th,td { padding: 0.5em; }
- thead th { background: #444; color: #fff; }
- tbody th { background: #ccc; color: #333; }
- tbody th.sub { background: #ddd; color: #333; }
-
- /**
- * Miscellaneous | Sonstiges
- *
- * @section content-misc
- */
-
- hr {
- color: #fff;
- background:transparent;
- margin: 0 0 0.5em 0;
- padding: 0 0 0.5em 0;
- border:0;
- border-bottom: 1px #000 solid;
- }
-}
-
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index 74c7731..9ea714f 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -48,8 +48,8 @@
$('.ttip').tipsy({live: true, gravity: 'ne', html: true});
- tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
- tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+ tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled">';
+ tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled">';
tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
@@ -167,6 +167,7 @@
<!-- begin: #content -->
<section id="content">
<form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <input type="text" style="display:none" /><input type="password" style="display:none"/>
<div id="pageContent"><!-- AJAX CONTENT --></div>
</form>
<div id="ie_clearing"> </div>
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
index c0180e1..6d0395b 100644
--- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -168,6 +168,7 @@
<a id="content" name="content"></a>
<!-- skiplink anchor: Content -->
<form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <input type="text" style="display:none" /><input type="password" style="display:none"/>
<div id="pageContent"><!-- AJAX CONTENT --></div>
</form>
</div>
diff --git a/interface/web/themes/default_combobox/templates/main.tpl.htm b/interface/web/themes/default_combobox/templates/main.tpl.htm
index 142794e..1df185f 100644
--- a/interface/web/themes/default_combobox/templates/main.tpl.htm
+++ b/interface/web/themes/default_combobox/templates/main.tpl.htm
@@ -323,6 +323,7 @@
<a id="content" name="content"></a>
<!-- skiplink anchor: Content -->
<form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <input type="text" style="display:none" /><input type="password" style="display:none"/>
<div id="pageContent"><!-- AJAX CONTENT --></div>
</form>
</div>
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
index 5f45a0a..adfc656 100644
--- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -169,6 +169,7 @@
<a id="content" name="content"></a>
<!-- skiplink anchor: Content -->
<form method="post" action="" id="pageForm" name="pageForm" enctype="multipart/form-data" class="uniForm">
+ <input type="text" style="display:none" /><input type="password" style="display:none"/>
<div id="pageContent"><!-- AJAX CONTENT --></div>
</form>
</div>
diff --git a/interface/web/tools/lib/lang/cz.lng b/interface/web/tools/lib/lang/cz.lng
index 66bcaf4..2379ffb 100644
--- a/interface/web/tools/lib/lang/cz.lng
+++ b/interface/web/tools/lib/lang/cz.lng
@@ -11,3 +11,4 @@
$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 8ebf717..97d213a 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_user_filter_txt'] = 'Importovat uživatelský filter';
$wb['import_spamfilter_txt'] = 'Importovat spamový filter';
?>
+
diff --git a/interface/web/tools/lib/lang/cz_index.lng b/interface/web/tools/lib/lang/cz_index.lng
index 5ebf1ec..c3db96e 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 507b7c3..1ac22ec 100644
--- a/interface/web/tools/lib/lang/cz_interface.lng
+++ b/interface/web/tools/lib/lang/cz_interface.lng
@@ -5,3 +5,4 @@
$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 2899c4a..56b937c 100644
--- a/interface/web/tools/lib/lang/cz_resync.lng
+++ b/interface/web/tools/lib/lang/cz_resync.lng
@@ -17,3 +17,4 @@
$wb['resync_firewall_txt'] = 'Resync Firewall';
$wb['resync_no_server_txt'] = 'No active server found';
?>
+
diff --git a/interface/web/tools/lib/lang/cz_tpl_default.lng b/interface/web/tools/lib/lang/cz_tpl_default.lng
index 0f037f1..fb77e7c 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['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 dec46b7..eb3599b 100644
--- a/interface/web/tools/lib/lang/cz_usersettings.lng
+++ b/interface/web/tools/lib/lang/cz_usersettings.lng
@@ -10,3 +10,4 @@
$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
$wb['password_match_txt'] = 'Hesla se shodují.';
?>
+
diff --git a/interface/web/tools/lib/lang/hr.lng b/interface/web/tools/lib/lang/hr.lng
index 7a8320b..d8744ec 100644
--- a/interface/web/tools/lib/lang/hr.lng
+++ b/interface/web/tools/lib/lang/hr.lng
@@ -4,10 +4,12 @@
$wb['ISPConfig Tools'] = 'Control panel alati';
$wb['Password and Language'] = 'Šifra i jezik';
$wb['ispconfig_tools_note'] = 'Ovaj modul omogućava promjenu šifre i jezika te možete pokrenuti sinkronizaciju DNS zapisa.';
-$wb['Resync'] = 'Sinkroniziraj DNS zapise';
+$wb['Resync'] = 'Sinkroniziraj zapise';
$wb['Sync Tools'] = 'Sync Tools';
$wb['Import'] = 'Import';
$wb['ISPConfig 3 mail'] = 'ISPConfig 3 mail';
$wb['PDNS Tupa'] = 'PowerDNS Tupa';
$wb['Interface'] = 'Interface';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_import_ispconfig.lng b/interface/web/tools/lib/lang/hr_import_ispconfig.lng
index ce47c4d..afbcfd4 100644
--- a/interface/web/tools/lib/lang/hr_import_ispconfig.lng
+++ b/interface/web/tools/lib/lang/hr_import_ispconfig.lng
@@ -1,23 +1,25 @@
<?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'] = 'Importiraj email konfiguraciju iz ISPConfig 3';
+$wb['legend_txt'] = 'Podaci za spajanje na udaljeni server';
+$wb['legend2_txt'] = 'Importiraj email domenu';
+$wb['resync_sites_txt'] = 'Sinkroniziraj web stranice';
+$wb['resync_ftp_txt'] = 'Sinkroniziraj FTP korisnike';
+$wb['resync_shell_txt'] = 'Sinkroniziraj shell korisnike';
+$wb['resync_cron_txt'] = 'Sinkroniziraj cron zadatke';
+$wb['resync_db_txt'] = 'Sinkroniziraj clientdb konfiguraciju';
+$wb['resync_mailbox_txt'] = 'Sinkroniziraj email sandučiće';
+$wb['resync_dns_txt'] = 'Sinkroniziraj DNS zapise';
+$wb['btn_start_txt'] = 'Importiraj';
+$wb['btn_connect_txt'] = 'Spoji na udaljeni server';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['client_group_id_txt'] = 'Localni klijent';
+$wb['mail_domain_txt'] = 'Udaljena email domena';
+$wb['import_mailbox_txt'] = 'Importiraj sandučiće';
+$wb['import_aliasdomain_txt'] = 'Importiraj alias domene';
+$wb['import_alias_txt'] = 'Importiraj email alias-e';
+$wb['import_forward_txt'] = 'Importiraj forward-ere';
+$wb['import_user_filter_txt'] = 'Importiraj korisničke filtere';
+$wb['import_spamfilter_txt'] = 'Importiraj spamfilter';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_index.lng b/interface/web/tools/lib/lang/hr_index.lng
index a3ef38f..661a152 100644
--- a/interface/web/tools/lib/lang/hr_index.lng
+++ b/interface/web/tools/lib/lang/hr_index.lng
@@ -2,3 +2,5 @@
$wb['page_head_txt'] = 'ISPConfig Tools';
$wb['page_desc_txt'] = 'Change user settings';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_interface.lng b/interface/web/tools/lib/lang/hr_interface.lng
index aab4fc8..5ed3ccb 100644
--- a/interface/web/tools/lib/lang/hr_interface.lng
+++ b/interface/web/tools/lib/lang/hr_interface.lng
@@ -1,7 +1,9 @@
<?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'] = 'Postavke teme';
+$wb['interface_desc_txt'] = 'Podesi temu';
+$wb['language_txt'] = 'Jezik';
+$wb['startmodule_txt'] = 'Početna stranica';
+$wb['app_theme_txt'] = 'Tema';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_resync.lng b/interface/web/tools/lib/lang/hr_resync.lng
index dd8a216..8a97ae4 100644
--- a/interface/web/tools/lib/lang/hr_resync.lng
+++ b/interface/web/tools/lib/lang/hr_resync.lng
@@ -1,14 +1,16 @@
<?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['resync_client_txt'] = 'Resync Client records';
+$wb['head_txt'] = 'Sinkronizacija';
+$wb['legend_txt'] = 'Sinkroniziraj';
+$wb['resync_sites_txt'] = 'Sinkroniziraj web stranice';
+$wb['resync_ftp_txt'] = 'Sinkroniziraj FTP korisnike';
+$wb['resync_shell_txt'] = 'Sinkroniziraj shell korisnike';
+$wb['resync_cron_txt'] = 'Sinkroniziraj cron zadatke';
+$wb['resync_db_txt'] = 'Sinkroniziraj clientdb konfiguraciju';
+$wb['resync_mailbox_txt'] = 'Sinkroniziraj email sandučiće';
+$wb['resync_dns_txt'] = 'Sinkroniziraj DNS zapise';
+$wb['btn_start_txt'] = 'Pokreni';
+$wb['btn_cancel_txt'] = 'Odustani';
+$wb['resync_client_txt'] = 'Sinkroniziraj klijente';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_tpl_default.lng b/interface/web/tools/lib/lang/hr_tpl_default.lng
index c062463..963ee0b 100644
--- a/interface/web/tools/lib/lang/hr_tpl_default.lng
+++ b/interface/web/tools/lib/lang/hr_tpl_default.lng
@@ -1,7 +1,9 @@
<?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'] = 'Standardne postavke teme';
+$wb['list_desc_txt'] = 'Podesi opcije standardne teme';
+$wb['no_settings_txt'] = 'Nema opcija za standardnu temu.';
+$wb['btn_start_txt'] = 'Spremi';
+$wb['btn_cancel_txt'] = 'Natrag';
?>
+
+
diff --git a/interface/web/tools/lib/lang/hr_usersettings.lng b/interface/web/tools/lib/lang/hr_usersettings.lng
index ae25bb2..2fcf6fa 100644
--- a/interface/web/tools/lib/lang/hr_usersettings.lng
+++ b/interface/web/tools/lib/lang/hr_usersettings.lng
@@ -5,8 +5,10 @@
$wb['password_mismatch'] = 'Šifra u drugom polju ne odgovara šifri iz prvog polja.';
$wb['Form to edit the user password and language.'] = 'Formular za izmjenu šifre i jezika.';
$wb['Settings'] = 'Postavke';
-$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'] = 'Generiraj šifru';
+$wb['repeat_password_txt'] = 'Ponovi šifru';
+$wb['password_mismatch_txt'] = 'Šifre nisu identične.';
+$wb['password_match_txt'] = 'Šifre su identične.';
?>
+
+
diff --git a/interface/web/tools/lib/lang/se.lng b/interface/web/tools/lib/lang/se.lng
index 5c93f2b..e6da742 100644
--- a/interface/web/tools/lib/lang/se.lng
+++ b/interface/web/tools/lib/lang/se.lng
@@ -11,4 +11,3 @@
$wb['PDNS Tupa'] = 'PowerDNS Tupa';
$wb['Interface'] = 'Interface';
?>
-
diff --git a/interface/web/tools/lib/lang/se_import_ispconfig.lng b/interface/web/tools/lib/lang/se_import_ispconfig.lng
index 0aad8ad..17ddae9 100644
--- a/interface/web/tools/lib/lang/se_import_ispconfig.lng
+++ b/interface/web/tools/lib/lang/se_import_ispconfig.lng
@@ -21,4 +21,3 @@
$wb['import_user_filter_txt'] = 'Importera användarfilter';
$wb['import_spamfilter_txt'] = 'Importera spamfilter';
?>
-
diff --git a/interface/web/tools/lib/lang/se_index.lng b/interface/web/tools/lib/lang/se_index.lng
index cf5012f..e395435 100644
--- a/interface/web/tools/lib/lang/se_index.lng
+++ b/interface/web/tools/lib/lang/se_index.lng
@@ -2,4 +2,3 @@
$wb['page_head_txt'] = 'ISPConfig verktyg';
$wb['page_desc_txt'] = 'Ändra användarinställningar';
?>
-
diff --git a/interface/web/tools/lib/lang/se_interface.lng b/interface/web/tools/lib/lang/se_interface.lng
index 8336796..9a66f59 100644
--- a/interface/web/tools/lib/lang/se_interface.lng
+++ b/interface/web/tools/lib/lang/se_interface.lng
@@ -5,4 +5,3 @@
$wb['startmodule_txt'] = 'Startmodul';
$wb['app_theme_txt'] = 'Design';
?>
-
diff --git a/interface/web/tools/lib/lang/se_tpl_default.lng b/interface/web/tools/lib/lang/se_tpl_default.lng
index 4c0fd71..013666e 100644
--- a/interface/web/tools/lib/lang/se_tpl_default.lng
+++ b/interface/web/tools/lib/lang/se_tpl_default.lng
@@ -5,4 +5,3 @@
$wb['btn_start_txt'] = 'Spara';
$wb['btn_cancel_txt'] = 'Tillbaka';
?>
-
diff --git a/interface/web/tools/lib/lang/se_usersettings.lng b/interface/web/tools/lib/lang/se_usersettings.lng
index 85176ac..f7e05e9 100644
--- a/interface/web/tools/lib/lang/se_usersettings.lng
+++ b/interface/web/tools/lib/lang/se_usersettings.lng
@@ -10,4 +10,3 @@
$wb['password_mismatch_txt'] = 'Lösenorden matchar inte';
$wb['password_match_txt'] = 'Lösenorden matchar';
?>
-
diff --git a/interface/web/tools/user_settings.php b/interface/web/tools/user_settings.php
index 95018ac..02fc4f7 100644
--- a/interface/web/tools/user_settings.php
+++ b/interface/web/tools/user_settings.php
@@ -44,6 +44,10 @@
//* Check permissions for module
$app->auth->check_module_permissions('tools');
+if($_SESSION['s']['user']['typ'] == 'admin') {
+ $app->auth->check_security_permissions('admin_allow_new_admin');
+}
+
// Loading classes
$app->uses('tpl,tform,tform_actions');
$app->load('tform_actions');
@@ -93,6 +97,16 @@
$app->error('Invalid language.');
}
}
+
+ function onAfterUpdate() {
+ global $app;
+
+ if($_POST['passwort'] != '') {
+ $tmp_user = $app->db->queryOneRecord("SELECT passwort FROM sys_user WHERE userid = '".$app->functions->intval($_SESSION['s']['user']['userid'])."'");
+ $_SESSION['s']['user']['passwort'] = $tmp_user['passwort'];
+ unset($tmp_user);
+ }
+ }
}
diff --git a/interface/web/vm/lib/lang/cz.lng b/interface/web/vm/lib/lang/cz.lng
index 4167e14..5c1ab58 100644
--- a/interface/web/vm/lib/lang/cz.lng
+++ b/interface/web/vm/lib/lang/cz.lng
@@ -5,3 +5,4 @@
$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 3e2e3e0..84682fc 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_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 6016681..67f6885 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_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 e6a3a68..37c1d62e 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['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 72838a2..9774110 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_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 7705a4d..930b33f 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['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 12c80bd..cf926f6 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['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 89c11ef..353e760 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['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 adfa56f..b9043e4 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['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 1371c4b..9fa15b9 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['ip_address_txt'] = 'IP address';
$wb['veid_txt'] = 'VEID';
?>
+
diff --git a/interface/web/vm/lib/lang/hr.lng b/interface/web/vm/lib/lang/hr.lng
index 4f5dbe9..5b9bd6a 100644
--- a/interface/web/vm/lib/lang/hr.lng
+++ b/interface/web/vm/lib/lang/hr.lng
@@ -5,3 +5,5 @@
$wb['IP addresses'] = 'IP adrese';
$wb['OpenVZ'] = 'OpenVZ';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_action.lng b/interface/web/vm/lib/lang/hr_openvz_action.lng
index 712685f..4fddcff 100644
--- a/interface/web/vm/lib/lang/hr_openvz_action.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_action.lng
@@ -4,7 +4,7 @@
$wb['stop_txt'] = 'Zaustavi virtualni server';
$wb['restart_txt'] = 'Restartaj virtualni server';
$wb['ostemplate_txt'] = 'Kreiraj predložak operativnog sistema';
-$wb['ostemplate_desc_txt'] = '(primjer: debian-6.0-i386-custom)';
+$wb['ostemplate_desc_txt'] = '(primjer: debian-7.0-i386-custom)';
$wb['btn_save_txt'] = 'Pokreni selektiranu akciju';
$wb['btn_cancel_txt'] = 'Prekini';
$wb['start_exec_txt'] = 'Komanda za pokretanje je poslana VM host serveru. Treba pričekati minutu, dvije dok se VM ne pokrene.';
@@ -14,3 +14,5 @@
$wb['ostemplate_name_unique_error'] = 'Već postoji OS predložak sa tim nazivom.';
$wb['ostemplate_exec_txt'] = 'Komanda za kreiranje OS predloška je poslana host serveru. Treba pričekati minutu, dvije dok se OS predložak ne kreira';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ip.lng b/interface/web/vm/lib/lang/hr_openvz_ip.lng
index debb04b..f51f864 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ip.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ip.lng
@@ -7,3 +7,5 @@
$wb['ip_error_unique'] = 'Ova IP adresa već postoji.';
$wb['IP address'] = 'IP adresa';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ip_list.lng b/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
index c578fc9..025a2e4 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ip_list.lng
@@ -5,3 +5,5 @@
$wb['reserved_txt'] = 'Rezervirano';
$wb['vm_id_txt'] = 'VM';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng b/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
index df88ca9..5b9162e 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ostemplate.lng
@@ -9,3 +9,5 @@
$wb['template_file_error_empty'] = 'Nije upisan naziv datoteke predloška.';
$wb['Template'] = 'Predložak';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
index 430d36b..e022693 100644
--- a/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_ostemplate_list.lng
@@ -6,3 +6,5 @@
$wb['allservers_txt'] = 'Postoji na svim serverima';
$wb['ostemplate_id_txt'] = 'ID';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_template.lng b/interface/web/vm/lib/lang/hr_openvz_template.lng
index eb7a49a..cd2ad19 100644
--- a/interface/web/vm/lib/lang/hr_openvz_template.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_template.lng
@@ -35,9 +35,9 @@
$wb['io_priority_txt'] = 'I/O priority';
$wb['active_txt'] = 'Aktivno';
$wb['description_txt'] = 'Opis';
-$wb['numproc_desc_txt'] = 'Number of processes and threads.';
-$wb['numtcpsock_desc_txt'] = 'Number of TCP sockets.';
-$wb['numothersock_desc_txt'] = 'Number of sockets other than TCP.';
+$wb['numproc_desc_txt'] = 'Broj procesa i thread-ova.';
+$wb['numtcpsock_desc_txt'] = 'Broj TCP socket-a.';
+$wb['numothersock_desc_txt'] = 'Broj socket-a drugačijih od 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.';
$wb['tcpsndbuf_desc_txt'] = 'Total size of TCP send buffers.';
@@ -47,18 +47,18 @@
$wb['oomguarpages_desc_txt'] = 'The guaranteed amount of memory for the case the memory is over-booked (out-of-memory kill guarantee), in pages.';
$wb['privvmpages_desc_txt'] = 'Memory allocation limit, in pages.';
$wb['lockedpages_desc_txt'] = 'Process pages not allowed to be swapped out (pages locked by mlock(2)).';
-$wb['shmpages_desc_txt'] = 'Total size of shared memory (IPC, shared anonymous mappings and tmpfs objects), in pages.';
-$wb['physpages_desc_txt'] = 'Total number of RAM pages used by processes.';
-$wb['numfile_desc_txt'] = 'Number of open files.';
-$wb['numflock_desc_txt'] = 'Number of file locks.';
+$wb['shmpages_desc_txt'] = 'Ukupna veličina dijeljene memorije (IPC, shared anonymous mappings and tmpfs objects), in pages.';
+$wb['physpages_desc_txt'] = 'Ukupna veličina RAM-a korištena od procesa.';
+$wb['numfile_desc_txt'] = 'Broj otvorenih datoteka.';
+$wb['numflock_desc_txt'] = 'Broj zaključanih datoteka.';
$wb['numpty_desc_txt'] = 'Number of pseudo-terminals.';
$wb['numsiginfo_desc_txt'] = 'Number of siginfo structures.';
$wb['dcachesize_desc_txt'] = 'Total size of dentry and inode structures locked in memory.';
$wb['numiptent_desc_txt'] = 'Number of NETFILTER (IP packet filtering) entries.';
$wb['swappages_desc_txt'] = 'Amount of swap space to show in container.';
-$wb['create_dns_txt'] = 'Create DNS for hostname';
-$wb['template_name_error_empty'] = 'Template name is empty.';
-$wb['diskspace_error_empty'] = 'Diskspace is empty.';
+$wb['create_dns_txt'] = 'Kreiraj DNS za hostname';
+$wb['template_name_error_empty'] = 'Naziv predloška je prazan.';
+$wb['diskspace_error_empty'] = 'Diskovni prostor je prazan.';
$wb['ram_error_empty'] = 'RAM (guaranteed) is empty.';
$wb['ram_burst_error_empty'] = 'RAM (burst) is empty.';
$wb['cpu_units_error_empty'] = 'CPU units is empty.';
@@ -91,3 +91,5 @@
$wb['Template'] = 'Predložak';
$wb['Advanced'] = 'Napredno';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_template_list.lng b/interface/web/vm/lib/lang/hr_openvz_template_list.lng
index f9c8642..2c52339 100644
--- a/interface/web/vm/lib/lang/hr_openvz_template_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_template_list.lng
@@ -3,3 +3,5 @@
$wb['active_txt'] = 'Aktivan';
$wb['template_name_txt'] = 'Ime predloška';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_vm.lng b/interface/web/vm/lib/lang/hr_openvz_vm.lng
index 206fe3a..bebfd29 100644
--- a/interface/web/vm/lib/lang/hr_openvz_vm.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_vm.lng
@@ -34,7 +34,9 @@
$wb['cpu_num_error_empty'] = 'CPU number polje je prazno.';
$wb['cpu_limit_error_empty'] = 'CPU limit polje je prazno.';
$wb['io_priority_error_empty'] = 'I/O priority polje je prazno.';
-$wb['template_nameserver_error_empty'] = 'Nameserver(s) polje je prazno.';
+$wb['template_nameserver_error_empty'] = 'Nameserver(i) polje je prazno.';
$wb['Virtual server'] = 'Virtualni server';
$wb['Advanced'] = 'Napredno';
?>
+
+
diff --git a/interface/web/vm/lib/lang/hr_openvz_vm_list.lng b/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
index ab3ef52..5fa9780 100644
--- a/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
+++ b/interface/web/vm/lib/lang/hr_openvz_vm_list.lng
@@ -8,3 +8,5 @@
$wb['ip_address_txt'] = 'IP adresa';
$wb['veid_txt'] = 'VEID';
?>
+
+
diff --git a/interface/web/vm/lib/lang/se.lng b/interface/web/vm/lib/lang/se.lng
index 5c1ab58..4167e14 100644
--- a/interface/web/vm/lib/lang/se.lng
+++ b/interface/web/vm/lib/lang/se.lng
@@ -5,4 +5,3 @@
$wb['IP addresses'] = 'IP addresses';
$wb['OpenVZ'] = 'OpenVZ';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_action.lng b/interface/web/vm/lib/lang/se_openvz_action.lng
index 71e7263..52f7328 100644
--- a/interface/web/vm/lib/lang/se_openvz_action.lng
+++ b/interface/web/vm/lib/lang/se_openvz_action.lng
@@ -14,4 +14,3 @@
$wb['ostemplate_name_unique_error'] = 'There is already a OSTemplate with that name.';
$wb['ostemplate_exec_txt'] = 'The command to create a OSTemplate has been sent to the host server. It will take several minutes until the OSTemplate has been created.';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ip.lng b/interface/web/vm/lib/lang/se_openvz_ip.lng
index 67f6885..6016681 100644
--- a/interface/web/vm/lib/lang/se_openvz_ip.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ip.lng
@@ -7,4 +7,3 @@
$wb['ip_error_unique'] = 'This IP address does already exist.';
$wb['IP address'] = 'IP address';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ip_list.lng b/interface/web/vm/lib/lang/se_openvz_ip_list.lng
index 37c1d62e..e6a3a68 100644
--- a/interface/web/vm/lib/lang/se_openvz_ip_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ip_list.lng
@@ -5,4 +5,3 @@
$wb['reserved_txt'] = 'Reserved';
$wb['vm_id_txt'] = 'VM';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
index bfeb299..256750f 100644
--- a/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ostemplate.lng
@@ -9,4 +9,3 @@
$wb['template_file_error_empty'] = 'Template filename is empty.';
$wb['Template'] = 'Template';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
index df01680..6471ec0 100644
--- a/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_ostemplate_list.lng
@@ -6,4 +6,3 @@
$wb['allservers_txt'] = 'Exists on all servers';
$wb['ostemplate_id_txt'] = 'ID';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_template.lng b/interface/web/vm/lib/lang/se_openvz_template.lng
index 0887164..d285512 100644
--- a/interface/web/vm/lib/lang/se_openvz_template.lng
+++ b/interface/web/vm/lib/lang/se_openvz_template.lng
@@ -91,4 +91,3 @@
$wb['Template'] = 'Template';
$wb['Advanced'] = 'Advanced';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_template_list.lng b/interface/web/vm/lib/lang/se_openvz_template_list.lng
index 6e4d911..de4045c 100644
--- a/interface/web/vm/lib/lang/se_openvz_template_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_template_list.lng
@@ -3,4 +3,3 @@
$wb['active_txt'] = 'Active';
$wb['template_name_txt'] = 'Template name';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_vm.lng b/interface/web/vm/lib/lang/se_openvz_vm.lng
index 4698fe6..f2be022 100644
--- a/interface/web/vm/lib/lang/se_openvz_vm.lng
+++ b/interface/web/vm/lib/lang/se_openvz_vm.lng
@@ -38,4 +38,3 @@
$wb['Virtual server'] = 'Virtual server';
$wb['Advanced'] = 'Advanced';
?>
-
diff --git a/interface/web/vm/lib/lang/se_openvz_vm_list.lng b/interface/web/vm/lib/lang/se_openvz_vm_list.lng
index a534a65..2238e2b 100644
--- a/interface/web/vm/lib/lang/se_openvz_vm_list.lng
+++ b/interface/web/vm/lib/lang/se_openvz_vm_list.lng
@@ -8,4 +8,3 @@
$wb['ip_address_txt'] = 'IP address';
$wb['veid_txt'] = 'VEID';
?>
-
diff --git a/remoting_client/examples/sites_ftp_user_add.php b/remoting_client/examples/sites_ftp_user_add.php
index b8d499b..6e48d80 100644
--- a/remoting_client/examples/sites_ftp_user_add.php
+++ b/remoting_client/examples/sites_ftp_user_add.php
@@ -20,13 +20,13 @@
$params = array(
'server_id' => 1,
'parent_domain_id' => 1,
- 'username' => 'threep',
- 'password' => 'wood',
+ 'username' => 'tom',
+ 'password' => 'secret',
'quota_size' => 10000,
'active' => 'y',
'uid' => '5000',
'gid' => '5000',
- 'dir' => 'maybe',
+ 'dir' => '/var/www/clients/client0/web1',
'quota_files' => -1,
'ul_ratio' => -1,
'dl_ratio' => -1,
diff --git a/remoting_client/examples/sites_ftp_user_update.php b/remoting_client/examples/sites_ftp_user_update.php
index d09b416..1f36953 100644
--- a/remoting_client/examples/sites_ftp_user_update.php
+++ b/remoting_client/examples/sites_ftp_user_update.php
@@ -15,7 +15,7 @@
}
//* Parameters
- $client_id = 1;
+ $client_id = 0;
$ftp_user_id = 1;
diff --git a/remoting_client/examples/sites_shell_user_add.php b/remoting_client/examples/sites_shell_user_add.php
index 84d4012..c3f875b 100644
--- a/remoting_client/examples/sites_shell_user_add.php
+++ b/remoting_client/examples/sites_shell_user_add.php
@@ -20,14 +20,14 @@
$params = array(
'server_id' => 1,
'parent_domain_id' => 1,
- 'username' => 'threep2',
- 'password' => 'wood',
+ 'username' => 'tom',
+ 'password' => 'test',
'quota_size' => 10000,
'active' => 'y',
- 'puser' => 'null',
- 'pgroup' => 'null',
+ 'puser' => 'web1',
+ 'pgroup' => 'client0',
'shell' => '/bin/bash',
- 'dir' => 'maybe',
+ 'dir' => '/var/www/clients/client0/web1',
'chroot' => ''
);
diff --git a/remoting_client/examples/sites_shell_user_update.php b/remoting_client/examples/sites_shell_user_update.php
index 73b9013..a60262d 100644
--- a/remoting_client/examples/sites_shell_user_update.php
+++ b/remoting_client/examples/sites_shell_user_update.php
@@ -15,7 +15,7 @@
}
//* Parameters
- $client_id = 3;
+ $client_id = 0;
$shell_user_id = 1;
diff --git a/security/README.txt b/security/README.txt
new file mode 100644
index 0000000..b42cbaa
--- /dev/null
+++ b/security/README.txt
@@ -0,0 +1,139 @@
+
+Description for security_settings.ini values.
+
+The option "superadmin" means that a setting is only available to the admin user with userid 1 in the interface.
+If there are other amdins, then they cant access this setting.
+
+-----------------------------------------------------------
+Setting: allow_shell_user
+Options: yes/no
+Description: Disables the shell user plugins in ispconfig
+
+Setting: admin_allow_server_config
+Options: yes/no/superadmin
+Description: Disables System > Server config
+
+Setting: admin_allow_server_services
+Options: yes/no/superadmin
+Description: Disables System > Server services
+
+Setting: admin_allow_server_ip
+Options: yes/no/superadmin
+Description: Disables System > Server IP
+
+Setting: admin_allow_remote_users
+Options: yes/no/superadmin
+Description: Disables System > Remote Users
+
+Setting: admin_allow_system_config
+Options: yes/no/superadmin
+Description: Disables System > Interface > Main Config
+
+Setting: admin_allow_server_php
+Options: yes/no/superadmin
+Description: Disables System > Additional PHP versions
+
+Setting: admin_allow_langedit
+Options: yes/no/superadmin
+Description: Disables System > Language editor functions
+
+Setting: admin_allow_new_admin
+Options: yes/no/superadmin
+Description: Disables the ability to add new admin users trough the interface
+
+Setting: admin_allow_del_cpuser
+Options: yes/no/superadmin
+Description: Disables the ability to delete CP users
+
+Setting: admin_allow_cpuser_group
+Options: yes/no/superadmin
+Description: Disables cp user group editing
+
+Setting: admin_allow_firewall_config
+Options: yes/no/superadmin
+Description: Disables System > Firewall
+
+Setting: admin_allow_osupdate
+Options: yes/no/superadmin
+Description: Disables System > OS update
+
+Setting: admin_allow_software_packages
+Options: yes/no/superadmin
+Description: Disables System > Apps & Addons > Packages and Update
+
+Setting: admin_allow_software_repo
+Options: yes/no/superadmin
+Description: Disables System > Apps & Addons > Repo
+
+Setting: remote_api_allowed
+Options: yes/no
+Description: Disables the remote API
+
+Setting: password_reset_allowed
+Options: yes/no
+Description: Disables the password reset function.
+
+Setting: ids_enabled
+Options: yes/no
+Description: Enables the Intrusion Detection System
+
+Setting: ids_log_level
+Options: 1 (number, default = 1)
+Description: IDS score that triggers the log in /usr/local/ispconfig/interface/temp/ids.log
+ This log can be used to feed the whitelist.
+
+ Example:
+
+ cat /usr/local/ispconfig/interface/temp/ids.log >> /usr/local/ispconfig/security/ids.whitelist
+ rm -f /usr/local/ispconfig/interface/temp/ids.log
+
+ If you want to use a custom whitelist, then store it as /usr/local/ispconfig/security/ids.whitelist.custom
+
+Setting: ids_warn_level
+Options: 5 (number, default = 5)
+Description: When the IDS score exceeds this level, a error message is logged into the system log. No message is displayed to the user.
+
+Setting: ids_block_level
+Options: 100 (number, default = 100)
+Description: When the IDS score exceeds this level, a error message is shown to the user and further processing is blocked. A score of 100 will most likely never be reached.
+ We have choosen such a high score as default until we have more complete whitelists for this new feature.
+
+Setting: sql_scan_enabled
+Options: yes/no
+Description: Enables the scan for SQL injections in the DB library.
+
+Setting: sql_scan_action
+Options: warn/block
+Description: warn = write errot message to log only. Block = block user action and show error to the user.
+
+Setting: apache_directives_scan_enabled
+Options: yes/no
+Description: Scan apache directives field for potentially malicious directives. This function uses the regex
+ list from /usr/local/ispconfig/security/apache_directives.blacklist file.
+ If you want to use a custom blacklist, then store it as /usr/local/ispconfig/security/apache_directives.blacklist.custom
+
+Setting: security_admin_email
+Options: email address
+Description: Email address of the security admin
+
+Setting: security_admin_email_subject
+Options: Text
+Description: Subject of the notification email
+
+Setting: warn_new_admin
+Options: yes/no
+Description: Warn by email when a new admin user in ISPConfig has been added.
+
+Setting: warn_passwd_change
+Options: yes/no
+Description: Warn by email when /etc/passwd has been changed.
+
+Setting: warn_shadow_change
+Options: yes/no
+Description: Warn by email when /etc/shadow has been changed.
+
+Setting: warn_group_change
+Options: yes/no
+Description: Warn by email when /etc/group has been changed.
+
+
diff --git a/security/apache_directives.blacklist b/security/apache_directives.blacklist
new file mode 100644
index 0000000..edb4b50
--- /dev/null
+++ b/security/apache_directives.blacklist
@@ -0,0 +1,3 @@
+/^\s*(LoadModule|LoadFile|Include)(\s+|[\\\\])/mi
+/^\s*(SuexecUserGroup|suPHP_UserGroup|suPHP_PHPPath|suPHP_ConfigPath)(\s+|[\\\\])/mi
+/^\s*(FCGIWrapper|FastCgiExternalServer)(\s+|[\\\\])/mi
\ No newline at end of file
diff --git a/security/check.php b/security/check.php
new file mode 100644
index 0000000..dc930c5
--- /dev/null
+++ b/security/check.php
@@ -0,0 +1,154 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, 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.
+*/
+
+require "/usr/local/ispconfig/server/lib/config.inc.php";
+require "/usr/local/ispconfig/server/lib/app.inc.php";
+
+set_time_limit(0);
+ini_set('error_reporting', E_ALL & ~E_NOTICE);
+
+// make sure server_id is always an int
+$conf['server_id'] = intval($conf['server_id']);
+
+
+// Load required base-classes
+$app->uses('ini_parser,file,services,getconf,system');
+
+// get security config
+$security_config = $app->getconf->get_security_config('systemcheck');
+
+$alert = '';
+$data_dir = '/usr/local/ispconfig/security/data';
+
+
+// Check if a new ispconfig user has been added
+if($security_config['warn_new_admin'] == 'yes') {
+ $data_file = $data_dir.'/admincount';
+ //get number of admins
+ $tmp = $app->db->queryOneRecord("SELECT count(userid) AS number FROM sys_user WHERE typ = 'admin'");
+ $admin_user_count_new = intval($tmp['number']);
+
+ if(is_file($data_file)) {
+ $admin_user_count_old = intval(file_get_contents($data_file));
+ if($admin_user_count_new != $admin_user_count_old) {
+ $alert .= "The number of ISPConfig administrator users has changed. Old: $admin_user_count_old New: $admin_user_count_new \n";
+ file_put_contents($data_file,$admin_user_count_new);
+ }
+ } else {
+ // first run, so we save the current count
+ file_put_contents($data_file,$admin_user_count_new);
+ chmod($data_file,0700);
+ }
+}
+
+// Check if /etc/passwd file has been changed
+if($security_config['warn_passwd_change'] == 'yes') {
+ $data_file = $data_dir.'/passwd.md5';
+ $md5sum_new = md5_file('/etc/passwd');
+
+ if(is_file($data_file)) {
+ $md5sum_old = trim(file_get_contents($data_file));
+ if($md5sum_new != $md5sum_old) {
+ $alert .= "The file /etc/passwd has been changed.\n";
+ file_put_contents($data_file,$md5sum_new);
+ }
+ } else {
+ file_put_contents($data_file,$md5sum_new);
+ chmod($data_file,0700);
+ }
+}
+
+// Check if /etc/shadow file has been changed
+if($security_config['warn_shadow_change'] == 'yes') {
+ $data_file = $data_dir.'/shadow.md5';
+ $md5sum_new = md5_file('/etc/shadow');
+
+ if(is_file($data_file)) {
+ $md5sum_old = trim(file_get_contents($data_file));
+ if($md5sum_new != $md5sum_old) {
+ $alert .= "The file /etc/shadow has been changed.\n";
+ file_put_contents($data_file,$md5sum_new);
+ }
+ } else {
+ file_put_contents($data_file,$md5sum_new);
+ chmod($data_file,0700);
+ }
+}
+
+// Check if /etc/group file has been changed
+if($security_config['warn_group_change'] == 'yes') {
+ $data_file = $data_dir.'/group.md5';
+ $md5sum_new = md5_file('/etc/group');
+
+ if(is_file($data_file)) {
+ $md5sum_old = trim(file_get_contents($data_file));
+ if($md5sum_new != $md5sum_old) {
+ $alert .= "The file /etc/group has been changed.\n";
+ file_put_contents($data_file,$md5sum_new);
+ }
+ } else {
+ file_put_contents($data_file,$md5sum_new);
+ chmod($data_file,0700);
+ }
+}
+
+
+if($alert != '') {
+ $admin_email = $security_config['security_admin_email'];
+ $admin_email_subject = $security_config['security_admin_email_subject'];
+ mail($admin_email, $admin_email_subject, $alert);
+ //$app->log(str_replace("\n"," -- ",$alert),1);
+ echo str_replace("\n"," -- ",$alert)."\n";
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+?>
\ No newline at end of file
diff --git a/security/data/empty.dir b/security/data/empty.dir
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/security/data/empty.dir
diff --git a/security/ids.htmlfield b/security/ids.htmlfield
new file mode 100644
index 0000000..2c6e92a
--- /dev/null
+++ b/security/ids.htmlfield
@@ -0,0 +1,5 @@
+# Format: usertype:url_path:field
+# usertype can be: any/client/admin
+# Example:
+# admin:/admin/language_edit.php:POST.records.weak_password_txt
+admin:/admin/language_edit.php:POST.records
\ No newline at end of file
diff --git a/security/ids.whitelist b/security/ids.whitelist
new file mode 100644
index 0000000..58a96e6
--- /dev/null
+++ b/security/ids.whitelist
@@ -0,0 +1,45 @@
+# Format: usertype:url_path:field
+# usertype can be: any/client/admin
+# Example:
+# admin:/admin/language_edit.php:POST.records.weak_password_txt
+admin:/admin/server_config_edit.php:POST.maildir_path
+admin:/admin/server_config_edit.php:POST.website_path
+admin:/admin/server_config_edit.php:POST.website_symlinks
+admin:/admin/server_config_edit.php:POST.vhost_conf_dir
+admin:/admin/server_config_edit.php:POST.vhost_conf_enabled_dir
+admin:/admin/server_config_edit.php:POST.nginx_vhost_conf_dir
+admin:/admin/server_config_edit.php:POST.nginx_vhost_conf_enabled_dir
+admin:/admin/server_config_edit.php:POST.php_open_basedir
+admin:/admin/server_config_edit.php:POST.awstats_pl
+admin:/admin/server_config_edit.php:POST.fastcgi_starter_path
+admin:/admin/server_config_edit.php:POST.fastcgi_bin
+admin:/admin/server_config_edit.php:POST.jailkit_chroot_home
+admin:/admin/remote_user_edit.php:POST.remote_functions.1
+admin:/admin/firewall_edit.php:POST.tcp_port
+admin:/admin/system_config_edit.php:POST.admin_dashlets_right
+admin:/admin/system_config_edit.php:POST.reseller_dashlets_left
+admin:/admin/system_config_edit.php:POST.reseller_dashlets_right
+admin:/admin/language_edit.php:POST.records.weak_password_txt
+user:/client/client_message.php:POST.message
+user:/client/message_template_edit.php:POST.subject
+admin:/dns/dns_template_edit.php:POST.template
+admin:/nav.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_sys_state.php:SESSION.s.module.nav.1.items.0.title
+admin:/capp.php:SESSION.s.module.nav.1.items.0.title
+admin:/keepalive.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/log_list.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/datalog_list.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_data.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_sys_state.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_monit.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_munin.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_data.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/show_log.php:SESSION.s.module.nav.1.items.0.title
+admin:/monitor/log_del.php:SESSION.s.module.nav.1.items.0.title
+admin:/keepalive.php:SESSION.s.module.nav.1.items.0.title
+admin:/capp.php:SESSION.s.module.nav.1.items.0.title
+admin:/sites/web_vhost_subdomain_edit.php:POST.php_open_basedir
+admin:/sites/web_domain_edit.php:POST.php_open_basedir
+admin:/sites/web_domain_edit.php:POST.apache_directives
+user:/sites/shell_user_edit.php:POST.ssh_rsa
+user:/sites/cron_edit.php:POST.command
\ No newline at end of file
diff --git a/security/security_settings.ini b/security/security_settings.ini
new file mode 100644
index 0000000..d3b8d9c
--- /dev/null
+++ b/security/security_settings.ini
@@ -0,0 +1,35 @@
+[permissions]
+allow_shell_user=yes
+admin_allow_server_config=superadmin
+admin_allow_server_services=superadmin
+admin_allow_server_ip=superadmin
+admin_allow_remote_users=superadmin
+admin_allow_system_config=superadmin
+admin_allow_server_php=superadmin
+admin_allow_langedit=superadmin
+admin_allow_new_admin=superadmin
+admin_allow_del_cpuser=superadmin
+admin_allow_cpuser_group=superadmin
+admin_allow_firewall_config=superadmin
+admin_allow_osupdate=superadmin
+admin_allow_software_packages=superadmin
+admin_allow_software_repo=superadmin
+remote_api_allowed=yes
+password_reset_allowed=yes
+
+[ids]
+ids_enabled=no
+ids_log_level=1
+ids_warn_level=5
+ids_block_level=100
+sql_scan_enabled=yes
+sql_scan_action=warn
+apache_directives_scan_enabled=yes
+
+[systemcheck]
+security_admin_email=root@localhost
+security_admin_email_subject=Security alert from server
+warn_new_admin=yes
+warn_passwd_change=no
+warn_shadow_change=no
+warn_group_change=no
\ No newline at end of file
diff --git a/server/conf/apache_ispconfig.conf.master b/server/conf/apache_ispconfig.conf.master
index be6f637..6b2accb 100644
--- a/server/conf/apache_ispconfig.conf.master
+++ b/server/conf/apache_ispconfig.conf.master
@@ -3,7 +3,7 @@
# ISPConfig Logfile configuration for vlogger
################################################
-LogFormat "%v %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
+LogFormat "%v %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
CustomLog "| /usr/local/ispconfig/server/scripts/vlogger -s access.log -t \"%Y%m%d-access.log\" /var/log/ispconfig/httpd" combined_ispconfig
<Directory /var/www/clients>
diff --git a/server/conf/apps_php_fpm_pool.conf.master b/server/conf/apps_php_fpm_pool.conf.master
index e7e065c..7459727 100644
--- a/server/conf/apps_php_fpm_pool.conf.master
+++ b/server/conf/apps_php_fpm_pool.conf.master
@@ -9,7 +9,7 @@
group = {fpm_group}
pm = dynamic
-pm.max_children = 50
+pm.max_children = 500
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index 0a089f9..222bf29 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -6,6 +6,7 @@
<tmpl_if name='ssl_enabled'>
listen <tmpl_var name='ip_address'>:443 ssl;
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
<tmpl_if name='ipv6_enabled'>
listen [<tmpl_var name='ipv6_address'>]:443 ssl;
</tmpl_if>
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index a65f1d2..955b18a 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -51,7 +51,8 @@
<IfModule mod_ssl.c>
<tmpl_if name='ssl_enabled'>
- SSLEngine on
+ SSLEngine on
+ SSLProtocol All -SSLv2 -SSLv3
SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.crt
SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='ssl_domain'>.key
<tmpl_if name='has_bundle_cert'>
@@ -231,9 +232,16 @@
# php as cgi enabled
ScriptAlias /php5-cgi <tmpl_var name='cgi_starter_path'><tmpl_var name='cgi_starter_script'>
Action php5-cgi /php5-cgi
- <FilesMatch "\.php[345]?$">
- SetHandler php5-cgi
- </FilesMatch>
+ <Directory {tmpl_var name='web_document_root_www'}>
+ <FilesMatch "\.php[345]?$">
+ SetHandler php5-cgi
+ </FilesMatch>
+ </Directory>
+ <Directory {tmpl_var name='web_document_root'}>
+ <FilesMatch "\.php[345]?$">
+ SetHandler php5-cgi
+ </FilesMatch>
+ </Directory>
<Directory {tmpl_var name='cgi_starter_path'}>
<tmpl_if name='apache_version' op='>' value='2.2' format='version'>
Require all granted
@@ -333,6 +341,9 @@
FastCgiExternalServer {tmpl_var name='document_root'}/cgi-bin/php5-fcgi-{tmpl_var name='ip_address'}-{tmpl_var name='port'}-{tmpl_var name='domain'} -idle-timeout 300 -socket <tmpl_var name='fpm_socket'> -pass-header Authorization
</tmpl_if>
</IfModule>
+ <IfModule mod_proxy_fcgi.c>
+ ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:<tmpl_var name='fpm_port'><tmpl_var name='web_document_root'>/$1
+ </IfModule>
</tmpl_if>
<tmpl_if name='php' op='==' value='hhvm'>
@@ -385,7 +396,7 @@
RewriteCond %{REQUEST_URI} !^<tmpl_var name='rewrite_target'>
</tmpl_if>
- RewriteRule ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if> <tmpl_if name='rewrite_type' value=''><tmpl_if name="rewrite_is_url" op="==" value="n">[PT]</tmpl_if></tmpl_else><tmpl_var name='rewrite_type'></tmpl_if>
+ RewriteRule ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if> <tmpl_var name='rewrite_type'>
</tmpl_loop>
</tmpl_if>
diff --git a/server/cron_daily.php b/server/cron_daily.php
index a8702a8..a557d47 100644
--- a/server/cron_daily.php
+++ b/server/cron_daily.php
@@ -2,4 +2,5 @@
// the cron daily file is no longer used and was replaced by cron.php
+
?>
diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php
index a1e75af..a9d47a5 100755
--- a/server/lib/app.inc.php
+++ b/server/lib/app.inc.php
@@ -35,6 +35,7 @@
var $loaded_modules = array();
var $loaded_plugins = array();
+ var $_calling_script = '';
function __construct() {
@@ -60,6 +61,23 @@
}
+ function setCaller($caller) {
+ $this->_calling_script = $caller;
+ }
+
+ function getCaller() {
+ return $this->_calling_script;
+ }
+
+ function forceErrorExit($errmsg = 'undefined') {
+ global $conf;
+
+ if($this->_calling_script == 'server') {
+ @unlink($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock');
+ }
+ die('Exiting because of error: ' . $errmsg);
+ }
+
function uses($classes) {
global $conf;
diff --git a/server/lib/classes/cron.d/600-cleanup.inc.php b/server/lib/classes/cron.d/600-cleanup.inc.php
new file mode 100644
index 0000000..8222fe5
--- /dev/null
+++ b/server/lib/classes/cron.d/600-cleanup.inc.php
@@ -0,0 +1,79 @@
+<?php
+
+/*
+Copyright (c) 2013, Marius Cramer, pixcept KG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+class cronjob_cleanup extends cronjob {
+
+ // job schedule
+ protected $_schedule = '*/5 * * * *';
+ protected $_run_at_new = true;
+
+ private $_tools = null;
+
+ /* this function is optional if it contains no custom code */
+ public function onPrepare() {
+ global $app;
+
+ parent::onPrepare();
+ }
+
+ /* this function is optional if it contains no custom code */
+ public function onBeforeRun() {
+ global $app;
+
+ return parent::onBeforeRun();
+ }
+
+ public function onRunJob() {
+ global $app, $conf;
+
+ // run this only on the master
+ if($conf['server_id'] == 1) {
+ $records = $app->db->queryAllRecords("SELECT s.instance_id, s.name, s.value FROM `aps_instances_settings` as s INNER JOIN `aps_instances` as i ON (i.id = s.instance_id) WHERE s.value != '' AND s.name IN ('main_database_password', 'admin_password') AND i.instance_status > 1");
+ if(is_array($records)) {
+ foreach($records as $rec) {
+ $tmp = $app->db->queryOneRecord("SELECT id FROM aps_instances_settings WHERE instance_id = '".$app->db->quote($rec['instance_id'])."' AND name = '".$app->db->quote($rec['name'])."'");
+ $app->db->datalogUpdate('aps_instances_settings', "value = ''", 'id', $tmp['id']);
+ }
+ }
+ }
+
+ parent::onRunJob();
+ }
+
+ /* this function is optional if it contains no custom code */
+ public function onAfterRun() {
+ global $app;
+
+ parent::onAfterRun();
+ }
+
+}
+
+?>
diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php
index e6600e9..51cad86 100644
--- a/server/lib/classes/db_mysql.inc.php
+++ b/server/lib/classes/db_mysql.inc.php
@@ -176,6 +176,7 @@
private function _query($sQuery = '') {
global $app;
+ if($this->isConnected == false) return false;
if ($sQuery == '') {
$this->_sqlerror('Keine Anfrage angegeben / No query given');
return false;
@@ -187,6 +188,17 @@
$ok = mysqli_ping($this->_iConnId);
if(!$ok) {
if(!mysqli_connect($this->dbHost, $this->dbUser, $this->dbPass, $this->dbName)) {
+ if($this->errorNumber == '111') {
+ // server is not available
+ if($try > 9) {
+ if(isset($app) && isset($app->forceErrorExit)) {
+ $app->forceErrorExit('Database connection failure!');
+ }
+ // if we reach this, the app object is missing or has no exit method, so we continue as normal
+ }
+ sleep(30); // additional seconds, please!
+ }
+
if($try > 9) {
$this->_sqlerror('DB::query -> reconnect');
return false;
diff --git a/server/lib/classes/getconf.inc.php b/server/lib/classes/getconf.inc.php
index c5ca6c6..768ea2c 100644
--- a/server/lib/classes/getconf.inc.php
+++ b/server/lib/classes/getconf.inc.php
@@ -59,6 +59,15 @@
}
return ($section == '') ? $this->config['global'] : $this->config['global'][$section];
}
+
+ public function get_security_config($section = '') {
+ global $app;
+
+ $app->uses('ini_parser');
+ $security_config = $app->ini_parser->parse_ini_string(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
+
+ return ($section == '') ? $security_config : $security_config[$section];
+ }
}
diff --git a/server/lib/classes/ispcmail.inc.php b/server/lib/classes/ispcmail.inc.php
new file mode 100644
index 0000000..c92601c
--- /dev/null
+++ b/server/lib/classes/ispcmail.inc.php
@@ -0,0 +1,869 @@
+<?php
+
+/*
+Copyright (c) 2012, Marius Cramer, pixcept KG
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/**
+ * email class
+ *
+ * @package pxFramework
+ *
+ */
+
+
+class ispcmail {
+
+ /**#@+
+ * @access private
+ */
+ private $html_part;
+ private $text_part;
+
+ private $headers;
+
+ private $_logged_in = false;
+ private $_smtp_conn = null;
+
+ private $_crlf = "\n";
+
+ private $attach_type = 'application/octet-stream';
+ private $attachments;
+ private $mime_boundary;
+ private $body = '';
+ private $_mail_sender = '';
+ private $_sent_mails = 0;
+ private $user_agent = 'ISPConfig/3 (Mailer Class)';
+ /**#@-*/
+
+
+
+ /**
+ * set the mail charset
+ */
+ private $mail_charset = 'UTF-8';//'ISO-8859-1';
+
+ /**#@+
+ * Provide smtp credentials for smtp mail sending
+ *
+ * @access public
+ */
+
+ /**
+ * if set to true smtp is used instead of mail() to send emails
+ * @see mail
+ */
+ private $use_smtp = false;
+
+ /**
+ * the smtp helo string - use the mail server name here!
+ */
+ private $smtp_helo = '';
+
+ /**
+ * the smtp server to send mails
+ */
+ private $smtp_host = '';
+
+ /**
+ * the smtp port
+ */
+ private $smtp_port = 25;
+
+ /**
+ * if the smtp server needs authentication you can set the smtp user here
+ */
+ private $smtp_user = '';
+
+ /**
+ * if the smtp server needs authentication you can set the smtp password here
+ */
+ private $smtp_pass = '';
+
+ /**
+ * If you want to use tls/ssl specify it here
+ */
+ private $smtp_crypt = ''; // tls or ssl
+ /**
+ * How many mails should be sent via one single smtp connection
+ */
+ private $smtp_max_mails = 20;
+
+ /**
+ * Should the mail be signed
+ */
+ private $sign_email = false;
+
+ /**
+ * The cert and key to use for email signing
+ */
+ private $sign_key = '';
+ private $sign_key_pass = '';
+ private $sign_cert = '';
+ private $sign_bundle = '';
+ private $_is_signed = false;
+
+ /**
+ * get disposition notification
+ */
+ private $notification = false;
+ /**#@-*/
+
+ public function __construct($options = array()) {
+ $rand = md5(microtime());
+ $this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
+
+ $this->headers = array();
+ $this->attachments = array();
+
+ $this->headers['MIME-Version'] = '1.0';
+ $this->headers['User-Agent'] = $this->user_agent;
+ if(is_array($options) && count($options) > 0) $this->setOptions($options);
+ }
+
+ public function __destruct() {
+ $this->finish();
+ }
+
+
+
+ /**
+ * Set option
+ *
+ * @param string $key the option to set
+ * @param string $value the option value to set
+ */
+ public function setOption($key, $value) {
+ switch($key) {
+ case 'smtp_helo':
+ $this->smtp_helo = $value;
+ break;
+ case 'smtp_host':
+ $this->smtp_host = $value;
+ break;
+ case 'smtp_server':
+ $this->smtp_host = $value;
+ break;
+ case 'smtp_port':
+ $this->smtp_port = $value;
+ break;
+ case 'smtp_user':
+ $this->smtp_user = $value;
+ break;
+ case 'smtp_pass':
+ $this->smtp_pass = $value;
+ break;
+ case 'smtp_max_mails':
+ $this->smtp_max_mails = intval($value);
+ if($this->smtp_max_mails < 1) $this->smtp_max_mails = 1;
+ break;
+ case 'use_smtp':
+ $this->use_smtp = ($value == true ? true : false);
+ if($value == true) $this->_crlf = "\r\n";
+ break;
+ case 'smtp_crypt':
+ if($value != 'ssl' && $value != 'tls') $value = '';
+ $this->smtp_crypt = $value;
+ break;
+ case 'sign_email':
+ $this->sign_email = ($value == true ? true : false);
+ break;
+ case 'sign_key':
+ $this->sign_key = $value;
+ break;
+ case 'sign_key_pass':
+ $this->sign_key_pass = $value;
+ break;
+ case 'sign_cert':
+ $this->sign_cert = $value;
+ break;
+ case 'sign_bundle':
+ $this->sign_bundle = $value;
+ break;
+ case 'mail_charset':
+ $this->mail_charset = $value;
+ break;
+ case 'notify':
+ $this->notification = ($value == true ? true : false);
+ break;
+ }
+ }
+
+
+
+ /** Detect the helo string if none given
+ *
+ */
+ private function detectHelo() {
+ if(isset($_SERVER['HTTP_HOST'])) $this->smtp_helo = (strpos($_SERVER['HTTP_HOST'], ':') !== false ? substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], ':')) : $_SERVER['HTTP_HOST']);
+ elseif(isset($_SERVER['SERVER_NAME'])) $this->smtp_helo = $_SERVER['SERVER_NAME'];
+ else $this->smtp_helo = php_uname('n');
+ if($this->smtp_helo == '') $this->smtp_helo = 'localhost';
+ return $this->smtp_helo;
+ }
+
+
+
+ /**
+ * Set options
+ *
+ * @param array $options the options to set as an associative array key => value
+ */
+ public function setOptions($options) {
+ foreach($options as $key => $value) $this->setOption($key, $value);
+ }
+
+
+
+ /**
+ * Read a file's contents
+ *
+ * Simply gets the file's content
+ *
+ * @access public
+ * @param string $filename name and path of file to read
+ * @return string file content (can be binary)
+ */
+ public function read_File($filename) {
+ $content = '';
+
+ $fp = fopen($filename, 'r');
+ if(!$fp) return false;
+
+ while(!feof($fp)) {
+ $content .= fread($fp, 1024);
+ }
+ fclose($fp);
+
+ return $content;
+ }
+
+
+
+ /**
+ * set smtp connection encryption
+ *
+ * @access public
+ * @param string $mode encryption mode (tls, ssl or empty string)
+ */
+ public function setSMTPEncryption($mode = '') {
+ if($mode != 'ssl' && $mode != 'tls') $mode = '';
+ $this->smtp_crypt = $mode;
+ }
+
+ /**
+ * set a mail header
+ *
+ * Sets a single mail header to a given value
+ *
+ * @access public
+ * @param string $header header name to set
+ * @param string $value value to set in header field
+ */
+ public function setHeader($header, $value) {
+ if(strtolower($header) == 'bcc') $header = 'Bcc';
+ elseif(strtolower($header) == 'cc') $header = 'Cc';
+ elseif(strtolower($header) == 'from') $header = 'From';
+ $this->headers["$header"] = $value;
+ }
+
+
+
+ /**
+ * get a mail header value
+ *
+ * Returns a value of a single mail header
+ *
+ * @access public
+ * @param string $header header name to get
+ * @return string header value
+ */
+ public function getHeader($header) {
+ if(strtolower($header) == 'bcc') $header = 'Bcc';
+ elseif(strtolower($header) == 'cc') $header = 'Cc';
+ elseif(strtolower($header) == 'from') $header = 'From';
+ return isset($this->headers["$header"]) ? $this->headers["$header"] : '';
+ }
+
+
+
+ /**
+ * Set email sender
+ *
+ * Sets the email sender and optionally the sender's name
+ *
+ * @access public
+ * @param string $email sender email address
+ * @param string $name sender name
+ */
+ public function setSender($email, $name = '') {
+ if($name) $header = '"' . $name . '" <' . $email . '>';
+ else $header = '<' . $email . '>';
+
+ $this->_mail_sender = $email;
+
+ $this->setHeader('From', $header);
+ }
+
+
+
+ /**
+ * Set mail subject
+ *
+ * @access public
+ * @param string $subject the mail subject
+ * @return string where-string for db query
+ */
+ public function setSubject($subject) {
+ $this->setHeader('Subject', $subject);
+ }
+
+
+
+ /**
+ * Get current mail subject
+ *
+ * @access public
+ * @return string mail subject
+ */
+ public function getSubject() {
+ return $this->headers['Subject'];
+ }
+
+
+
+ /**
+ * Set mail content
+ *
+ * Sets the mail html and plain text content
+ *
+ * @access public
+ * @param string $text plain text mail content (can be empty)
+ * @param string $html html mail content
+ */
+ public function setMailText($text, $html = '') {
+ $this->text_part = $text;
+ $this->html_part = $html;
+ }
+
+
+
+ /**
+ * Read and attach a file
+ *
+ * Reads a file and attaches it to the current email
+ *
+ * @access public
+ * @param string $filename the file to read and attach
+ * @param string $display_name the name that will be displayed in the mail
+ * @see read_File
+ */
+ public function readAttachFile($filename, $display_name = '') {
+ if($display_name == '') {
+ $path_parts = pathinfo($filename);
+ $display_name = $path_parts["basename"];
+ unset($path_parts);
+ }
+ $this->attachFile($this->read_File($filename), $display_name);
+ }
+
+
+
+ /**
+ * Attach a file
+ *
+ * Attaches a string (can be binary) as a file to the mail
+ *
+ * @access public
+ * @param string $content attachment data string
+ * @param string $filename name for file attachment
+ */
+ public function attachFile($content, $filename) {
+ $attachment = array('content' => $content,
+ 'filename' => $filename,
+ 'type' => 'application/octet-stream',
+ 'encoding' => 'base64'
+ );
+ $this->attachments[] = $attachment;
+ }
+
+
+
+ /**
+ * @access private
+ */
+ private function create() {
+ $attach = false;
+ $html = false;
+ $text = false;
+
+ if($this->html_part) $html = true;
+ if($this->text_part) $text = true;
+ if(count($this->attachments) > 0) $attach = true;
+
+ $textonly = false;
+ $htmlonly = false;
+ if($text == true && $html == false && $attach == false) {
+ // only text
+ $content_type = 'text/plain; charset="' . strtolower($this->mail_charset) . '"';
+ $textonly = true;
+ } elseif($text == true && $html == false && $attach == true) {
+ // text and attachment
+ $content_type = 'multipart/mixed;';
+ $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+ } elseif($html == true && $text == true && $attach == false) {
+ // html only (or text too)
+ $content_type = 'multipart/alternative;';
+ $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+ } elseif($html == true && $text == false && $attach == false) {
+ // html only (or text too)
+ $content_type = 'text/html; charset="' . strtolower($this->mail_charset) . '"';
+ $htmlonly = true;
+ } elseif($html == true && $attach == true) {
+ // html and attachments
+ $content_type = 'multipart/mixed;';
+ $content_type .= "\n" . ' boundary="' . $this->mime_boundary . '"';
+ }
+
+ $this->headers['Content-Type'] = $content_type;
+
+ if($textonly == false && $htmlonly == false) {
+ $this->body = "This is a multi-part message in MIME format.\n\n";
+
+ if($text) {
+ /*$this->body .= "--{$this->mime_boundary}\n" .
+ "Content-Type:text/plain; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
+ "Content-Transfer-Encoding: 7bit\n\n" . $this->text_part . "\n\n";*/
+ $this->body .= "--{$this->mime_boundary}\n" .
+ "Content-Type:text/plain; charset=\"UTF-8\"\n" .
+ "Content-Transfer-Encoding: 8bit\n\n" . $this->text_part . "\n\n";
+ }
+
+ if($html) {
+ /*$this->body .= "--{$this->mime_boundary}\n" .
+ "Content-Type:text/html; charset=\"" . strtolower($this->mail_charset) . "\"\n" .
+ "Content-Transfer-Encoding: 7bit\n\n" . $this->html_part . "\n\n";*/
+ $this->body .= "--{$this->mime_boundary}\n" .
+ "Content-Type:text/html; charset=\"UTF-8\"\n" .
+ "Content-Transfer-Encoding: 8bit\n\n" . $this->html_part . "\n\n";
+ }
+
+ if($attach) {
+ foreach($this->attachments as $att) {
+ $this->body .= "--{$this->mime_boundary}\n" .
+ "Content-Type: " . $att['type'] . ";\n" .
+ " name=\"" . $att['filename'] . "\"\n" .
+ "Content-Transfer-Encoding: base64\n" .
+ "Content-Disposition: attachment;\n\n" .
+ chunk_split(base64_encode($att['content'])) . "\n\n";
+ }
+ }
+ $this->body .= "--{$this->mime_boundary}--\n";
+ } elseif($htmlonly == true) {
+ $this->body = $this->html_part;
+ } else {
+ $this->body = $this->text_part;
+ }
+
+ if (isset($this->body)) {
+ // Add message ID header
+ $message_id = sprintf('<%s.%s@%s>', base_convert(time(), 10, 36), base_convert(rand(), 10, 36), $this->smtp_helo != '' ? $this->smtp_helo : $this->detectHelo());
+ $this->headers['Message-ID'] = $message_id;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+
+
+ /**
+ * Function to sign an email body
+ */
+ private function sign() {
+ if($this->sign_email == false || $this->sign_key == '' || $this->sign_cert == '') return false;
+ if(function_exists('openssl_pkcs7_sign') == false) return false;
+
+ $tmpin = tempnam(sys_get_temp_dir(), 'sign');
+ $tmpout = tempnam(sys_get_temp_dir(), 'sign');
+ if(!file_exists($tmpin) || !is_writable($tmpin)) return false;
+
+ file_put_contents($tmpin, 'Content-Type: ' . $this->getHeader('Content-Type') . "\n\n" . $this->body);
+ $tmpf_key = tempnam(sys_get_temp_dir(), 'sign');
+ file_put_contents($tmpf_key, $this->sign_key);
+ $tmpf_cert = tempnam(sys_get_temp_dir(), 'sign');
+ file_put_contents($tmpf_cert, $this->sign_cert);
+ if($this->sign_bundle != '') {
+ $tmpf_bundle = tempnam(sys_get_temp_dir(), 'sign');
+ file_put_contents($tmpf_bundle, $this->sign_bundle);
+ openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array(), PKCS7_DETACHED, realpath($tmpf_bundle));
+ } else {
+ openssl_pkcs7_sign($tmpin, $tmpout, 'file://' . realpath($tmpf_cert), array('file://' . realpath($tmpf_key), $this->sign_key_pass), array());
+ }
+ unlink($tmpin);
+ unlink($tmpf_cert);
+ unlink($tmpf_key);
+ if(file_exists($tmpf_bundle)) unlink($tmpf_bundle);
+
+ if(!file_exists($tmpout) || !is_readable($tmpout)) return false;
+ $this->body = file_get_contents($tmpout);
+ unlink($tmpout);
+
+ unset($this->headers['Content-Type']);
+ unset($this->headers['MIME-Version']);
+
+ $this->_is_signed = true;
+ }
+
+ private function _char_to_hex($matches) {
+ return '=' . strtoupper(dechex(ord($matches[1])));
+ }
+
+
+
+ /**
+ * Function to encode a header if necessary
+ * according to RFC2047
+ * @access private
+ */
+ private function _encodeHeader($input, $charset = 'ISO-8859-1') {
+ preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
+ foreach ($matches[1] as $value) {
+ $replacement = preg_replace_callback('/([\x20\x80-\xFF])/', array($this, '_char_to_hex'), $value);
+ $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
+ }
+
+ return $input;
+ }
+
+
+
+ /**
+ * Function to encode the subject if necessary
+ * according to RFC2047
+ * @access private
+ */
+ private function _encodeSubject($input, $charset = 'ISO-8859-1') {
+ /*
+ if($charset == 'UTF-8' && function_exists('imap_8bit')) {
+ $input = "=?utf-8?Q?" . imap_8bit($input) . "?=";
+ } else {
+ preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
+ foreach ($matches[1] as $value) {
+ $replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value);
+ $input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
+ }
+ }*/
+ $input='=?UTF-8?B?'.base64_encode($input).'?=';
+
+ return $input;
+ }
+
+
+
+ /**
+ * @access private
+ */
+ private function _smtp_login() {
+ $this->_smtp_conn = fsockopen(($this->smtp_crypt == 'ssl' ? 'tls://' : '') . $this->smtp_host, $this->smtp_port, $errno, $errstr, 30);
+ $response = fgets($this->_smtp_conn, 515);
+ if(empty($this->_smtp_conn)) return false;
+
+ //Say Hello to SMTP
+ if($this->smtp_helo == '') $this->detectHelo();
+ fputs($this->_smtp_conn, 'HELO ' . $this->smtp_helo . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ // ENCRYPTED?
+ if($this->smtp_crypt == 'tls') {
+ fputs($this->_smtp_conn, 'STARTTLS' . $this->_crlf);
+ fgets($this->_smtp_conn, 515);
+ stream_socket_enable_crypto($this->_smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
+ }
+
+ //AUTH LOGIN
+ fputs($this->_smtp_conn, 'AUTH LOGIN' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ //Send username
+ fputs($this->_smtp_conn, base64_encode($this->smtp_user) . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ //Send password
+ fputs($this->_smtp_conn, base64_encode($this->smtp_pass) . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ $this->_logged_in = true;
+ return true;
+ }
+
+
+
+ /**
+ * @access private
+ */
+ private function _smtp_close() {
+ $this->_logged_in = false;
+
+ if(empty($this->_smtp_conn)) {
+ return false;
+ }
+
+ fputs($this->_smtp_conn, 'QUIT' . $this->_crlf);
+ $response = @fgets($this->_smtp_conn, 515);
+ return true;
+ }
+
+ private function _extract_names($data) {
+ $senders = array();
+
+ $data = stripslashes(preg_replace("'(\t|\r|\n)'", '', $data));
+
+ if(trim($data) == '') return $senders;
+
+ $armail = array();
+ $counter = 0; $inthechar = 0;
+ $chartosplit = ',;'; $protectchar = '"'; $temp = '';
+ $closed = 1;
+
+ for($i = 0; $i < strlen($data); $i++) {
+ $thischar = $data[$i];
+ if($thischar == '<' && $closed) $closed = 0;
+ if($thischar == '>' && !$closed) $closed = 1;
+ if($thischar == $protectchar) $inthechar = ($inthechar) ? 0 : 1;
+ if((strpos($chartosplit, $thischar) !== false) && !$inthechar && $closed) {
+ $armail[] = $temp;
+ $temp = '';
+ } else {
+ $temp .= $thischar;
+ }
+ }
+
+ if(trim($temp) != '') {
+ $armail[] = trim($temp);
+ unset($temp);
+ }
+
+ foreach($armail as $thisPart) {
+ $thisPart = trim(preg_replace('/^"(.*)"$/i', '$1', trim($thisPart)));
+ if($thisPart != '') {
+ $email = '';
+ $name = '';
+ if(preg_match('/(.*)<(.*)>/i', $thisPart, $matches)) {
+ $email = trim($matches[2]);
+ $name = trim($matches[1]);
+ } else {
+ if(preg_match('/([-a-z0-9_$+.]+@[-a-z0-9_.]+[-a-z0-9_]+)((.*))/i', $thisPart, $matches)) {
+ $email = $matches[1];
+ $name = $matches[2];
+ } else {
+ $email = $thisPart;
+ }
+ }
+
+ $email = preg_replace('/<(.*)\\>/', '$1', $email);
+ $name = preg_replace('/"(.*)"/', '$1', trim($name));
+ $name = preg_replace('/\((.*)\)/', '$1', $name);
+
+ if($name == '') $name = $email;
+ if($email == '') $email = $name;
+ $senders[] = array(
+ 'name' => $name,
+ 'mail' => $email
+ );
+ unset($name);
+ unset($email);
+ }
+ }
+ unset($armail);
+ unset($thisPart);
+
+ return $senders;
+ }
+
+ /**
+ * Send the mail to one or more recipients
+ *
+ * The recipients can be either a string (1 recipient email without name) or an associative array of recipients with names as keys and email addresses as values.
+ *
+ * @access public
+ * @param mixed $recipients one email address or array of recipients with names as keys and email addresses as values
+ */
+ public function send($recipients) {
+ if(!is_array($recipients)) $recipients = array($recipients);
+
+ if($this->use_smtp == true) $this->_crlf = "\r\n";
+ else $this->_crlf = "\n";
+
+ $this->create();
+ if($this->sign_email == true) $this->sign();
+
+ $subject = '';
+ if (!empty($this->headers['Subject'])) {
+ //$subject = $this->_encodeHeader($this->headers['Subject'], $this->mail_charset);
+ $subject = $this->headers['Subject'];
+
+ //$enc_subject = $this->_encodeHeader($subject, $this->mail_charset);
+ $enc_subject = $this->_encodeSubject($subject, $this->mail_charset);
+ unset($this->headers['Subject']);
+ }
+
+ if($this->notification == true) $this->setHeader('Disposition-Notification-To', $this->getHeader('From'));
+
+ unset($this->headers['To']); // always reset the To header to prevent from sending to multiple users at once
+ $this->headers['Date'] = date('r'); //date('D, d M Y H:i:s O');
+
+ // Get flat representation of headers
+ foreach ($this->headers as $name => $value) {
+ if(strtolower($name) == 'to' || strtolower($name) == 'cc' || strtolower($name) == 'bcc') continue; // never add the To header
+ $headers[] = $name . ': ' . $this->_encodeHeader($value, $this->mail_charset);
+ }
+
+ if($this->use_smtp == true) {
+ if(!$this->_logged_in || !$this->_smtp_conn) {
+ $result = $this->_smtp_login();
+ if(!$result) return false;
+ }
+ $bcc_cc_sent = false;
+ foreach($recipients as $recipname => $recip) {
+ if($this->_sent_mails >= $this->smtp_max_mails) {
+ // close connection to smtp and reconnect
+ $this->_sent_mails = 0;
+ $this->_smtp_close();
+ $result = $this->_smtp_login();
+ if(!$result) return false;
+ }
+ $this->_sent_mails += 1;
+
+ $recipname = trim(str_replace('"', '', $recipname));
+ $recip = $this->_encodeHeader($recip, $this->mail_charset);
+ $recipname = $this->_encodeHeader($recipname, $this->mail_charset);
+
+ //Email From
+ fputs($this->_smtp_conn, 'MAIL FROM: <' . $this->_mail_sender . '>' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ //Email To
+ fputs($this->_smtp_conn, 'RCPT TO: <' . $recip . '>' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ if($bcc_cc_sent == false) {
+ $add_recips = array();
+ if($this->getHeader('Cc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Cc')));
+ if($this->getHeader('Bcc') != '') $add_recips = array_merge($add_recips, $this->_extract_names($this->getHeader('Bcc')));
+ foreach($add_recips as $add_recip) {
+ if(!$add_recip['mail']) continue;
+ fputs($this->_smtp_conn, 'RCPT TO: <' . $this->_encodeHeader($add_recip['mail'], $this->mail_charset) . '>' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+ }
+ unset($add_recips);
+ $bcc_cc_sent = true;
+ }
+
+ //The Email
+ fputs($this->_smtp_conn, 'DATA' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ //Construct Headers
+ if($recipname && !is_numeric($recipname)) $this->setHeader('To', $recipname . ' <' . $recip . '>');
+ else $this->setHeader('To', $recip);
+
+ $mail_content = 'Subject: ' . $enc_subject . $this->_crlf;
+ $mail_content .= 'To: ' . $this->getHeader('To') . $this->_crlf;
+ if($this->getHeader('Cc') != '') $mail_content .= 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset) . $this->_crlf;
+ $mail_content .= implode($this->_crlf, $headers) . $this->_crlf . ($this->_is_signed == false ? $this->_crlf : '') . $this->body;
+
+ fputs($this->_smtp_conn, $mail_content . $this->_crlf . '.' . $this->_crlf);
+ $response = fgets($this->_smtp_conn, 515);
+
+ // hopefully message was correctly sent now
+ $result = true;
+ }
+ } else {
+ if($this->getHeader('Bcc') != '') $headers[] = 'Bcc: ' . $this->_encodeHeader($this->getHeader('Bcc'), $this->mail_charset);
+ if($this->getHeader('Cc') != '') $headers[] = 'Cc: ' . $this->_encodeHeader($this->getHeader('Cc'), $this->mail_charset);
+ $rec_string = '';
+ foreach($recipients as $recipname => $recip) {
+ $recipname = trim(str_replace('"', '', $recipname));
+
+ if($rec_string != '') $rec_string .= ', ';
+ if($recipname && !is_numeric($recipname)) $rec_string .= $recipname . '<' . $recip . '>';
+ else $rec_string .= $recip;
+ }
+ $to = $this->_encodeHeader($rec_string, $this->mail_charset);
+ //$result = mail($to, $subject, $this->body, implode($this->_crlf, $headers));
+ $result = mail($to, $enc_subject, $this->body, implode($this->_crlf, $headers));
+ }
+
+ // Reset the subject in case mail is resent
+ if ($subject !== '') {
+ $this->headers['Subject'] = $subject;
+ }
+
+ // Return
+ return $result;
+ }
+
+
+
+ /**
+ * Close mail connections
+ *
+ * This closes an open smtp connection so you should always call this function in your script if you have finished sending all emails
+ *
+ * @access public
+ */
+ public function finish() {
+ if($this->use_smtp == true) $this->_smtp_close();
+
+ $rand = md5(microtime());
+ $this->mime_boundary = '==Multipart_Boundary_x' . $rand . 'x';
+
+ $this->headers = array();
+ $this->attachments = array();
+ $this->text_part = '';
+ $this->html_part = '';
+
+ $this->headers['MIME-Version'] = '1.0';
+ $this->headers['User-Agent'] = $this->user_agent;
+
+ $this->smtp_helo = '';
+ $this->smtp_host = '';
+ $this->smtp_port = '';
+ $this->smtp_user = '';
+ $this->smtp_pass = '';
+ $this->use_smtp = false;
+ $this->smtp_crypt = false;
+ $this->mail_charset = 'UTF-8';
+ $this->_sent_mails = 0;
+
+ return;
+ }
+
+}
+
+?>
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index d754097..ce1debb 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -62,6 +62,15 @@
$mainver = array_filter($mainver);
$mainver = current($mainver).'.'.next($mainver);
switch ($mainver){
+ case "14.04":
+ $relname = "(Trusty Tahr)";
+ break;
+ case "13.10":
+ $relname = "(Saucy Salamander)";
+ break;
+ case "13.04":
+ $relname = "(Raring Ringtail)";
+ break;
case "12.10":
$relname = "(Quantal Quetzal)";
break;
@@ -201,6 +210,16 @@
$distver = '5.3';
$distid = 'centos53';
$distbaseid = 'fedora';
+ } elseif(stristr($content, 'CentOS Linux release 6')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
+ } elseif(stristr($content, 'CentOS Linux release 7')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
} else {
$distname = 'Redhat';
$distver = 'Unknown';
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 76388a6..113ad5f 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -34,7 +34,9 @@
var $server_id;
var $server_conf;
var $data;
-
+ var $min_uid = 500;
+ var $min_gid = 500;
+
/**
* Construct for this class
*
@@ -1802,7 +1804,7 @@
function getinitcommand($servicename, $action, $init_script_directory = ''){
global $conf;
// systemd
- if(is_executable('/bin/systemd')){
+ if(is_executable('/bin/systemd') || is_executable('/usr/bin/systemctl')){
return 'systemctl '.$action.' '.$servicename.'.service';
}
// upstart
@@ -1867,6 +1869,67 @@
return $modules;
}
+
+ //* ISPConfig mail function
+ public function mail($to, $subject, $text, $from, $filepath = '', $filetype = 'application/pdf', $filename = '', $cc = '', $bcc = '', $from_name = '') {
+ global $app, $conf;
+
+ if($conf['demo_mode'] == true) $app->error("Mail sending disabled in demo mode.");
+
+ $app->uses('getconf,ispcmail');
+ $mail_config = $app->getconf->get_global_config('mail');
+ if($mail_config['smtp_enabled'] == 'y') {
+ $mail_config['use_smtp'] = true;
+ $app->ispcmail->setOptions($mail_config);
+ }
+ $app->ispcmail->setSender($from, $from_name);
+ $app->ispcmail->setSubject($subject);
+ $app->ispcmail->setMailText($text);
+
+ if($filepath != '') {
+ if(!file_exists($filepath)) $app->error("Mail attachement does not exist ".$filepath);
+ $app->ispcmail->readAttachFile($filepath);
+ }
+
+ if($cc != '') $app->ispcmail->setHeader('Cc', $cc);
+ if($bcc != '') $app->ispcmail->setHeader('Bcc', $bcc);
+
+ $app->ispcmail->send($to);
+ $app->ispcmail->finish();
+
+ return true;
+ }
+
+ public function is_allowed_user($username, $check_id = true, $restrict_names = false) {
+ global $app;
+
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($username,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $username) == false) return false;
+
+ if($check_id && intval($this->getuid($username)) < $this->min_uid) return false;
+
+ if($restrict_names == true && preg_match('/^web\d+$/', $username) == false) return false;
+
+ return true;
+ }
+
+ public function is_allowed_group($groupname, $check_id = true, $restrict_names = false) {
+ global $app;
+
+ $name_blacklist = array('root','ispconfig','vmail','getmail');
+ if(in_array($groupname,$name_blacklist)) return false;
+
+ if(preg_match('/^[a-zA-Z0-9\.\-_]{1,32}$/', $groupname) == false) return false;
+
+ if($check_id && intval($this->getgid($groupname)) < $this->min_gid) return false;
+
+ if($restrict_names == true && preg_match('/^client\d+$/', $groupname) == false) return false;
+
+ return true;
+ }
+
}
?>
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 04a8626..a5a38c6 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -41,7 +41,6 @@
function process() {
}
-
}
?>
diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php
index 666e845..42eaab6 100644
--- a/server/mods-available/web_module.inc.php
+++ b/server/mods-available/web_module.inc.php
@@ -203,7 +203,7 @@
$daemon = $web_config['server_type'];
break;
default:
- if(is_file($conf['init_scripts'] . '/' . 'httpd')) {
+ if(is_file($conf['init_scripts'] . '/' . 'httpd') || is_dir('/etc/httpd')) {
$daemon = 'httpd';
} else {
$daemon = 'apache2';
@@ -212,11 +212,12 @@
$retval = array('output' => '', 'retval' => 0);
if($action == 'restart') {
- exec($app->system->getinitcommand($daemon, 'restart').' 2>&1', $retval['output'], $retval['retval']);
-
+ $cmd = $app->system->getinitcommand($daemon, 'restart');
} else {
- exec($app->system->getinitcommand($daemon, 'reload').' 2>&1', $retval['output'], $retval['retval']);
+ $cmd = $app->system->getinitcommand($daemon, 'reload');
}
+ exec($cmd.' 2>&1', $retval['output'], $retval['retval']);
+ $app->log("Restarting httpd: $cmd", LOGLEVEL_DEBUG);
// nginx: do a syntax check because on some distributions, the init script always returns 0 - even if the syntax is not ok (how stupid is that?)
if($web_config['server_type'] == 'nginx' && $retval['retval'] == 0){
@@ -249,6 +250,22 @@
if(preg_match('/^ID=ubuntu/m', $tmp) && preg_match('/^VERSION_ID="14\.04"/m', $tmp)) {
$initcommand = '/sbin/start-stop-daemon --stop --signal USR2 --quiet --pidfile /var/run/php5-fpm.pid --name php5-fpm';
}
+ // And the next workaround, php-fpm reloads in centos 7 downt work as well.
+ if(preg_match('/^ID=centos/m', $tmp) && preg_match('/^VERSION_ID="7"/m', $tmp)) {
+ $initcommand = 'systemctl restart php-fpm.service';
+ }
+ unset($tmp);
+ }
+ }
+
+ if($action == 'reload') {
+ // And the next workaround, php-fpm reloads in centos 7 downt work as well.
+ if(file_exists('/etc/os-release')) {
+ $tmp = file_get_contents('/etc/os-release');
+ // And the next workaround, php-fpm reloads in centos 7 downt work as well.
+ if(preg_match('/^ID="centos"/m', $tmp) && preg_match('/^VERSION_ID="7"/m', $tmp)) {
+ $initcommand = 'systemctl restart php-fpm.service';
+ }
unset($tmp);
}
}
@@ -256,6 +273,7 @@
$retval = array('output' => '', 'retval' => 0);
exec($initcommand.' 2>&1', $retval['output'], $retval['retval']);
+ $app->log("Restarting php-fpm: $initcommand", LOGLEVEL_DEBUG);
return $retval;
}
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 6e6ac11..8471058 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -242,6 +242,7 @@
[ req ]
default_bits = 2048
+ default_md = sha256
default_keyfile = keyfile.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
@@ -265,30 +266,34 @@
$rand_file = escapeshellcmd($rand_file);
$key_file = escapeshellcmd($key_file);
+ $openssl_cmd_key_file = $key_file;
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);
+ $openssl_cmd_key_file2 = $key_file2;
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);
+ $openssl_cmd_csr_file = $csr_file;
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);
+ $openssl_cmd_crt_file = $crt_file;
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)) {
- exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 2048");
- exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file");
- exec("openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
+ exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
+ exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+ exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
if(file_exists($web_config['CA_path'].'/openssl.cnf'))
{
- exec("openssl ca -batch -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file");
+ exec("openssl ca -batch -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file");
$app->log("Creating CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
- if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed. openssl ca -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file", LOGLEVEL_ERROR);
+ if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed. openssl ca -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file", LOGLEVEL_ERROR);
};
if (@filesize($crt_file)==0 || !file_exists($crt_file)){
- exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file ");
+ exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -in $openssl_cmd_csr_file -out $openssl_cmd_crt_file -days $ssl_days -config $config_file ");
$app->log("Creating self-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
};
@@ -374,7 +379,7 @@
$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
if(file_exists($web_config['CA_path'].'/openssl.cnf') && !is_link($web_config['CA_path'].'/openssl.cnf'))
{
- exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke $crt_file");
+ exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke ".escapeshellcmd($crt_file));
$app->log("Revoking CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
};
$app->system->unlink($csr_file);
@@ -445,8 +450,9 @@
if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') $app->log('document_root not set', LOGLEVEL_WARN);
return 0;
}
- if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
- $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
+ if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
+ || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
+ $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
return 0;
}
if(trim($data['new']['domain']) == '') {
@@ -562,6 +568,9 @@
$app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
$app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
}
+
+ //* Unmount the old log directory bfore we move the log dir
+ exec('umount '.escapeshellcmd($old_dir.'/log'));
//* Create new base directory, if it does not exist yet
if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -587,13 +596,27 @@
if($apache_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
//* Change the log mount
+ /*
$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind';
$app->system->removeLine('/etc/fstab', $fstab_line);
$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind,nobootwait';
$app->system->removeLine('/etc/fstab', $fstab_line);
- $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0';
- $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
-
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind,nobootwait';
+ $app->system->removeLine('/etc/fstab', $fstab_line);
+ */
+
+ $fstab_line_old = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind';
+
+ if($web_config['network_filesystem'] == 'y') {
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0';
+ $app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+ } else {
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait 0 0';
+ $app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+ }
+
+ exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
+
}
//print_r($data);
@@ -811,7 +834,7 @@
$app->system->chmod($data['new']['document_root'].'/ssl', 0755);
// make tmp directory writable for Apache and the website users
- $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+ $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
// Set Log directory to 755 to make the logs accessible by the FTP user
if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -871,7 +894,7 @@
$app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
// make temp directory writable for Apache and the website users
- $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+ $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
// Set Log directory to 755 to make the logs accessible by the FTP user
if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -1308,18 +1331,15 @@
} else {
//remove the php fastgi starter script if available
+ $fastcgi_starter_script = $fastcgi_config['fastcgi_starter_script'].($data['old']['type'] == 'vhostsubdomain' ? '_web' . $data['old']['domain_id'] : '');
if ($data['old']['php'] == 'fast-cgi') {
$fastcgi_starter_path = str_replace('[system_user]', $data['old']['system_user'], $fastcgi_config['fastcgi_starter_path']);
$fastcgi_starter_path = str_replace('[client_id]', $client_id, $fastcgi_starter_path);
if($data['old']['type'] == 'vhost') {
- if (is_dir($fastcgi_starter_path)) {
- exec('rm -rf '.$fastcgi_starter_path);
- }
+ if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
+ if (is_dir($fastcgi_starter_path)) @rmdir($fastcgi_starter_path);
} else {
- $fcgi_starter_script = $fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].'_web' . $data['old']['domain_id'];
- if (file_exists($fcgi_starter_script)) {
- exec('rm -f '.$fcgi_starter_script);
- }
+ if(is_file($fastcgi_starter_script)) @unlink($fastcgi_starter_script);
}
}
}
@@ -1357,8 +1377,9 @@
$pool_name = 'web'.$data['new']['domain_id'];
$socket_dir = escapeshellcmd($web_config['php_fpm_socket_dir']);
if(substr($socket_dir, -1) != '/') $socket_dir .= '/';
-
- if($data['new']['php_fpm_use_socket'] == 'y'){
+
+ // User sockets, but not with apache 2.4 as socket support is buggy in that version
+ if($data['new']['php_fpm_use_socket'] == 'y' && $app->system->getapacheversion() < 2.4){
$use_tcp = 0;
$use_socket = 1;
} else {
@@ -2143,7 +2164,7 @@
//* Create empty .htpasswd file, if it does not exist
if(!is_file($folder_path.'.htpasswd')) {
$app->system->touch($folder_path.'.htpasswd');
- $app->system->chmod($folder_path.'.htpasswd', 0750);
+ $app->system->chmod($folder_path.'.htpasswd', 0751);
$app->system->chown($folder_path.'.htpasswd', $website['system_user']);
$app->system->chgrp($folder_path.'.htpasswd', $website['system_group']);
$app->log('Created file '.$folder_path.'.htpasswd', LOGLEVEL_DEBUG);
@@ -2197,7 +2218,7 @@
unset($old_content);
$app->system->file_put_contents($folder_path.'.htaccess', $ht_file);
- $app->system->chmod($folder_path.'.htaccess', 0750);
+ $app->system->chmod($folder_path.'.htaccess', 0751);
$app->system->chown($folder_path.'.htaccess', $website['system_user']);
$app->system->chgrp($folder_path.'.htaccess', $website['system_group']);
$app->log('Created/modified file '.$folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2359,7 +2380,7 @@
}
$app->system->file_put_contents($new_folder_path.'.htaccess', $ht_file);
- $app->system->chmod($new_folder_path.'.htaccess', 0750);
+ $app->system->chmod($new_folder_path.'.htaccess', 0751);
$app->system->chown($new_folder_path.'.htaccess', $website['system_user']);
$app->system->chgrp($new_folder_path.'.htaccess', $website['system_group']);
$app->log('Created/modified file '.$new_folder_path.'.htaccess', LOGLEVEL_DEBUG);
@@ -2367,7 +2388,7 @@
//* Create empty .htpasswd file, if it does not exist
if(!is_file($folder_path.'.htpasswd')) {
$app->system->touch($new_folder_path.'.htpasswd');
- $app->system->chmod($new_folder_path.'.htpasswd', 0750);
+ $app->system->chmod($new_folder_path.'.htpasswd', 0751);
$app->system->chown($new_folder_path.'.htpasswd', $website['system_user']);
$app->system->chgrp($new_folder_path.'.htpasswd', $website['system_group']);
$app->log('Created file '.$new_folder_path.'.htpasswd', LOGLEVEL_DEBUG);
@@ -2819,7 +2840,7 @@
$fpm_socket = $socket_dir.$pool_name.'.sock';
$tpl->setVar('fpm_socket', $fpm_socket);
- $tpl->setVar('fpm_listen_mode', '0600');
+ $tpl->setVar('fpm_listen_mode', '0660');
$tpl->setVar('fpm_pool', $pool_name);
$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php
index e862d37..42c1d77 100644
--- a/server/plugins-available/backup_plugin.inc.php
+++ b/server/plugins-available/backup_plugin.inc.php
@@ -73,13 +73,27 @@
$backup_dir = $server_config['backup_dir'].'/web'.$web['domain_id'];
//* mount backup directory, if necessary
+ /*
$backup_dir_is_ready = true;
$server_config['backup_dir_mount_cmd'] = trim($server_config['backup_dir_mount_cmd']);
if($server_config['backup_dir_is_mount'] == 'y' && $server_config['backup_dir_mount_cmd'] != ''){
- if(!$app->system->is_mounted($backup_dir)){
+ if(!$app->system->is_mounted($server_config['backup_dir'])){
exec(escapeshellcmd($server_config['backup_dir_mount_cmd']));
sleep(1);
- if(!$app->system->is_mounted($backup_dir)) $backup_dir_is_ready = false;
+ if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
+ }
+ }*/
+ $backup_dir_is_ready = true;
+ $backup_dir_mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh';
+ if( $server_config['backup_dir_is_mount'] == 'y' &&
+ is_file($backup_dir_mount_cmd) &&
+ is_executable($backup_dir_mount_cmd) &&
+ fileowner($backup_dir_mount_cmd) === 0
+ ){
+ if(!$app->system->is_mounted($backup_dir)){
+ exec($backup_dir_mount_cmd);
+ sleep(1);
+ if(!$app->system->is_mounted($server_config['backup_dir'])) $backup_dir_is_ready = false;
}
}
diff --git a/server/plugins-available/bind_dlz_plugin.inc.php b/server/plugins-available/bind_dlz_plugin.inc.php
index f6d367f..63abcc4 100644
--- a/server/plugins-available/bind_dlz_plugin.inc.php
+++ b/server/plugins-available/bind_dlz_plugin.inc.php
@@ -188,7 +188,7 @@
//$_db = clone $app->db;
//$_db->dbName = 'named';
- $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]}");
+ $app->db->query( "DELETE FROM named.dns_records WHERE zone = '".substr($data['old']['origin'], 0, -1)."'");
//unset($_db);
}
@@ -252,6 +252,9 @@
if ($type == 'MX') {
$app->db->query("INSERT INTO named.records (zone, ttl, type, host, mx_priority, data, ispconfig_id)".
" VALUES ('$origin', $ttl, '$type', '$name', {$data["new"]["aux"]}, '$content', $ispconfig_id)");
+ } elseif ($type == 'SRV') {
+ $app->db->query("INSERT INTO named.records (zone, ttl, type, data, ispconfig_id)".
+ " VALUES ('$origin', $ttl, '$type', '{$data["new"]["aux"]} $content', $ispconfig_id)");
} else {
$app->db->query("INSERT INTO named.records (zone, ttl, type, host, data, ispconfig_id)".
" VALUES ('$origin', $ttl, '$type', '$name', '$content', $ispconfig_id)");
@@ -327,6 +330,9 @@
if ($type == 'MX') {
$app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', mx_priority = $prio, ".
"data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
+ } elseif ($type == 'SRV') {
+ $app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', ".
+ "data = '$prio $content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
} else {
$app->db->query("UPDATE named.records SET zone = '$origin', ttl = $ttl, type = '$type', host = '$name', ".
"data = '$content' WHERE ispconfig_id = $ispconfig_id AND type != 'SOA'");
@@ -345,7 +351,7 @@
//$_db = clone $app->db;
//$_db->dbName = 'named';
- $app->db->query("DELETE FROM named.records WHERE ispconfig_id = {$data["old"]["id"]} AND type != 'SOA'");
+ $app->db->query( "DELETE FROM named.dns_records WHERE type != 'SOA' AND zone = '".substr($data['old']['origin'], 0, -1)."'");
//unset($_db);
}
diff --git a/server/plugins-available/cron_jailkit_plugin.inc.php b/server/plugins-available/cron_jailkit_plugin.inc.php
index c3bd5b7..4c95b83 100644
--- a/server/plugins-available/cron_jailkit_plugin.inc.php
+++ b/server/plugins-available/cron_jailkit_plugin.inc.php
@@ -80,10 +80,14 @@
if(!$parent_domain["domain_id"]) {
$app->log("Parent domain not found", LOGLEVEL_WARN);
return 0;
- } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
- $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
- return 0;
}
+
+ if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+ || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
+ $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
+ return false;
+ }
+
$this->parent_domain = $parent_domain;
@@ -155,9 +159,11 @@
if(!$parent_domain["domain_id"]) {
$app->log("Parent domain not found", LOGLEVEL_WARN);
return 0;
- } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
+ }
+ if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+ || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
$app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
- return 0;
+ return false;
}
$app->uses('system');
diff --git a/server/plugins-available/cron_plugin.inc.php b/server/plugins-available/cron_plugin.inc.php
index a518cac..9bda433 100644
--- a/server/plugins-available/cron_plugin.inc.php
+++ b/server/plugins-available/cron_plugin.inc.php
@@ -96,11 +96,14 @@
if(!$parent_domain["domain_id"]) {
$app->log("Parent domain not found", LOGLEVEL_WARN);
return 0;
- } elseif($parent_domain["system_user"] == 'root' or $parent_domain["system_group"] == 'root') {
- $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
- return 0;
}
+ if(!$app->system->is_allowed_user($parent_domain['system_user'], true, true)
+ || !$app->system->is_allowed_group($parent_domain['system_group'], true, true)) {
+ $app->log("Websites (and Crons) cannot be owned by the root user or group.", LOGLEVEL_WARN);
+ return false;
+ }
+
// Get the client ID
$client = $app->dbmaster->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"]));
$client_id = intval($client["client_id"]);
diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php
index 186e9b9..2cca769 100644
--- a/server/plugins-available/firewall_plugin.inc.php
+++ b/server/plugins-available/firewall_plugin.inc.php
@@ -76,29 +76,31 @@
global $app, $conf;
//* load the server configuration options
- $app->uses('getconf');
- $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
- if($server_config['firewall'] == 'ufw') {
- $this->ufw_update($event_name, $data);
- } else {
- $this->bastille_update($event_name, $data);
+ if(!$data['mirrored']) {
+ $app->uses('getconf');
+ $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
+ if($server_config['firewall'] == 'ufw') {
+ $this->ufw_update($event_name, $data);
+ } else {
+ $this->bastille_update($event_name, $data);
+ }
}
-
}
public function delete($event_name, $data) {
global $app, $conf;
//* load the server configuration options
- $app->uses('getconf');
- $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
+ if(!$data['mirrored']) {
+ $app->uses('getconf');
+ $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
- if($server_config['firewall'] == 'ufw') {
- $this->ufw_delete($event_name, $data);
- } else {
- $this->bastille_delete($event_name, $data);
+ if($server_config['firewall'] == 'ufw') {
+ $this->ufw_delete($event_name, $data);
+ } else {
+ $this->bastille_delete($event_name, $data);
+ }
}
-
}
private function ufw_update($event_name, $data) {
diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php
index 81ba6ce..5ac0951 100644
--- a/server/plugins-available/mail_plugin.inc.php
+++ b/server/plugins-available/mail_plugin.inc.php
@@ -138,10 +138,11 @@
$maildomain_path .= '/Maildir';
}
- //* When the mail user dir exists but it is not a valid maildir, remove it
+ //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
- exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
- $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
+ if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
+ exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
+ $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
}
//* Create the maildir, if it doesn not exist, set permissions, set quota.
@@ -302,10 +303,11 @@
$maildomain_path .= '/Maildir';
}
- //* When the mail user dir exists but it is not a valid maildir, remove it
+ //* When the mail user dir exists but it is not a valid maildir, move it to corrupted maildir folder
if(!empty($maildomain_path) && is_dir($maildomain_path) && !is_dir($maildomain_path.'/new') && !is_dir($maildomain_path.'/cur')) {
- exec("su -c 'rm -rf ".escapeshellcmd($data['new']['maildir'])."' vmail");
- $app->log('Removed invalid maildir and rebuild it: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
+ if(!is_dir($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'])) $app->system->mkdirpath($mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id'], 0700, $mail_config['mailuser_name'], $mail_config['mailuser_group']);
+ exec("su -c 'mv -f ".escapeshellcmd($data['new']['maildir'])." ".$mail_config['homedir_path'].'/corrupted/'.$data['new']['mailuser_id']."' vmail");
+ $app->log('Moved invalid maildir to corrupted Maildirs folder: '.escapeshellcmd($data['new']['maildir']), LOGLEVEL_WARN);
}
//* Create the maildir, if it doesn not exist, set permissions, set quota.
diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index f4d8194..6e591a6 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -131,6 +131,7 @@
$tpl->setLoop('ccloop', $tmp_addresses_arr);
// Custom filters
+ if($data["new"]["custom_mailfilter"] == 'NULL') $data["new"]["custom_mailfilter"] = '';
$tpl->setVar('custom_mailfilter', $data["new"]["custom_mailfilter"]);
// Move junk
diff --git a/server/plugins-available/mailman_plugin.inc.php b/server/plugins-available/mailman_plugin.inc.php
index e2bd36a..acf4eb9 100644
--- a/server/plugins-available/mailman_plugin.inc.php
+++ b/server/plugins-available/mailman_plugin.inc.php
@@ -75,6 +75,7 @@
exec("nohup /usr/lib/mailman/bin/newlist -u ".escapeshellcmd($data["new"]["domain"])." -e ".escapeshellcmd($data["new"]["domain"])." ".escapeshellcmd($data["new"]["listname"])." ".escapeshellcmd($data["new"]["email"])." ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+ if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
$app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
@@ -84,12 +85,17 @@
// The purpose of this plugin is to rewrite the main.cf file
function update($event_name, $data) {
global $app, $conf;
+
+ $this->update_config();
if($data["new"]["password"] != $data["old"]["password"] && $data["new"]["password"] != '') {
exec("nohup /usr/lib/mailman/bin/change_pw -l ".escapeshellcmd($data["new"]["listname"])." -p ".escapeshellcmd($data["new"]["password"])." >/dev/null 2>&1 &");
exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
$app->db->query("UPDATE mail_mailinglist SET password = '' WHERE mailinglist_id = ".$app->db->quote($data["new"]['mailinglist_id']));
}
+
+ if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+ if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
}
function delete($event_name, $data) {
@@ -100,6 +106,9 @@
exec("nohup /usr/lib/mailman/bin/rmlist -a ".escapeshellcmd($data["old"]["listname"])." >/dev/null 2>&1 &");
exec('nohup '.$conf['init_scripts'] . '/' . 'mailman reload >/dev/null 2>&1 &');
+
+ if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
+ if(is_file('/var/lib/mailman/data/transport-mailman')) exec('postmap /var/lib/mailman/data/transport-mailman');
}
diff --git a/server/plugins-available/mysql_clientdb_plugin.inc.php b/server/plugins-available/mysql_clientdb_plugin.inc.php
index cba977c..6145db0 100644
--- a/server/plugins-available/mysql_clientdb_plugin.inc.php
+++ b/server/plugins-available/mysql_clientdb_plugin.inc.php
@@ -83,7 +83,14 @@
if(!is_array($host_list)) $host_list = explode(',', $host_list);
$success = true;
-
+ if(!preg_match('/\*[A-F0-9]{40}$/', $database_password)) {
+ $result = $link->query("SELECT PASSWORD('" . $link->escape_string($database_password) . "') as `crypted`");
+ if($result) {
+ $row = $result->fetch_assoc();
+ $database_password = $row['crypted'];
+ $result->free();
+ }
+ }
// loop through hostlist
foreach($host_list as $db_host) {
$db_host = trim($db_host);
@@ -270,7 +277,7 @@
$old_host_list .= 'localhost';
// Create the database user if database was disabled before
- if($data['new']['active'] == 'y' && $data['old']['active'] == 'n') {
+ if($data['new']['active'] == 'y') {
if($db_user) {
if($db_user['database_user'] == 'root') $app->log('User root not allowed for Client databases', LOGLEVEL_WARNING);
else $this->process_host_list('GRANT', $data['new']['database_name'], $db_user['database_user'], $db_user['database_password'], $host_list, $link);
diff --git a/server/plugins-available/network_settings_plugin.inc.php b/server/plugins-available/network_settings_plugin.inc.php
index 56e4980..46242d9 100644
--- a/server/plugins-available/network_settings_plugin.inc.php
+++ b/server/plugins-available/network_settings_plugin.inc.php
@@ -243,12 +243,61 @@
} else {
if($data['mirrored'] == true) {
- $app->log('Skipping network config request. IP addresses from amster are not configured on the mirror.', LOGLEVEL_DEBUG);
+ $app->log('Skipping network config request. IP addresses from master are not configured on the mirror.', LOGLEVEL_DEBUG);
}
if($server_config['auto_network_configuration'] == 'n') {
$app->log('Network configuration disabled in server settings.', LOGLEVEL_DEBUG);
}
}
+
+ //* Configure hostname
+ if($event_name == 'server_update' && $data['mirrored'] == false) {
+
+ //* get old server config
+ $tmp = $app->ini_parser->parse_ini_string(stripslashes($data['old']['config']));
+ $old_server_config = $tmp['server'];
+ unset($tmp);
+
+ $new_hostname = trim($server_config['hostname']);
+ $old_hostname = trim($old_server_config['hostname']);
+
+ if($new_hostname != '' && $old_hostname != $new_hostname) {
+
+ if(is_file('/etc/hostname')) {
+ $app->system->file_put_contents('/etc/hostname',$new_hostname);
+ $app->log('Changed /etc/hostname to '.$new_hostname, LOGLEVEL_DEBUG);
+ }
+
+ if(is_file('/etc/mailname')) {
+ $app->system->file_put_contents('/etc/mailname',$new_hostname);
+ $app->log('Changed /etc/mailname to '.$new_hostname, LOGLEVEL_DEBUG);
+ }
+
+ $postconf_commands = array(
+ 'myhostname = '.$new_hostname,
+ 'mydestination = '.$new_hostname.', localhost, localhost.localdomain'
+ );
+
+ //* Executing the postconf commands
+ foreach($postconf_commands as $cmd) {
+ $command = "postconf -e '$cmd'";
+ exec($command);
+ }
+
+ $app->log('Changed changed myhostname and mydestination in postfix main.cf to '.$new_hostname, LOGLEVEL_DEBUG);
+
+ //* change /etc/hosts
+ $hosts = file_get_contents('/etc/hosts');
+ $hosts = str_replace($old_hostname,$new_hostname,$hosts);
+ $app->system->file_put_contents('/etc/hosts',$hosts);
+
+ exec($app->system->getinitcommand('postfix', 'restart').' 2>&1');
+ exec($app->system->getinitcommand('networking', 'restart').' 2>&1');
+
+ }
+
+ }
+
}
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 3c84517..77ac10a 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -147,6 +147,7 @@
[ req ]
default_bits = 2048
+ default_md = sha256
default_keyfile = keyfile.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
@@ -170,30 +171,34 @@
$rand_file = escapeshellcmd($rand_file);
$key_file = escapeshellcmd($key_file);
+ $openssl_cmd_key_file = $key_file;
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);
+ $openssl_cmd_key_file2 = $key_file2;
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);
+ $openssl_cmd_csr_file = $csr_file;
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);
+ $openssl_cmd_crt_file = $crt_file;
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)) {
- exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $key_file 2048");
- exec("openssl req -new -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -out $csr_file -days $ssl_days -config $config_file");
- exec("openssl rsa -passin pass:$ssl_password -in $key_file -out $key_file2");
+ exec("openssl genrsa -des3 -rand $rand_file -passout pass:$ssl_password -out $openssl_cmd_key_file 2048");
+ exec("openssl req -new -sha256 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -out $openssl_cmd_csr_file -days $ssl_days -config $config_file");
+ exec("openssl rsa -passin pass:$ssl_password -in $openssl_cmd_key_file -out $openssl_cmd_key_file2");
if(file_exists($web_config['CA_path'].'/openssl.cnf'))
{
- exec("openssl ca -batch -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file");
+ exec("openssl ca -batch -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file");
$app->log("Creating CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
- if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed. openssl ca -out $crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $csr_file", LOGLEVEL_ERROR);
+ if (filesize($crt_file)==0 || !file_exists($crt_file)) $app->log("CA-Certificate signing failed. openssl ca -out $openssl_cmd_crt_file -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -in $openssl_cmd_csr_file", LOGLEVEL_ERROR);
};
if (@filesize($crt_file)==0 || !file_exists($crt_file)){
- exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $key_file -in $csr_file -out $crt_file -days $ssl_days -config $config_file ");
+ exec("openssl req -x509 -passin pass:$ssl_password -passout pass:$ssl_password -key $openssl_cmd_key_file -in $openssl_cmd_csr_file -out $openssl_cmd_crt_file -days $ssl_days -config $config_file ");
$app->log("Creating self-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
};
@@ -274,7 +279,7 @@
//$bundle_file = $ssl_dir.'/'.$domain.'.bundle';
if(file_exists($web_config['CA_path'].'/openssl.cnf') && !is_link($web_config['CA_path'].'/openssl.cnf'))
{
- exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke $crt_file");
+ exec("openssl ca -batch -config ".$web_config['CA_path']."/openssl.cnf -passin pass:".$web_config['CA_pass']." -revoke ".escapeshellcmd($crt_file));
$app->log("Revoking CA-signed SSL Cert for: $domain", LOGLEVEL_DEBUG);
};
$app->system->unlink($csr_file);
@@ -351,10 +356,13 @@
if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') $app->log('document_root not set', LOGLEVEL_WARN);
return 0;
}
- if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
- $app->log('Websites cannot be owned by the root user or group.', LOGLEVEL_WARN);
+
+ if($app->system->is_allowed_user($data['new']['system_user'], $app->system->is_user($data['new']['system_user']), true) == false
+ || $app->system->is_allowed_group($data['new']['system_group'], $app->system->is_group($data['new']['system_group']), true) == false) {
+ $app->log('Websites cannot be owned by the root user or group. User: '.$data['new']['system_user'].' Group: '.$data['new']['system_group'], LOGLEVEL_WARN);
return 0;
}
+
if(trim($data['new']['domain']) == '') {
$app->log('domain is empty', LOGLEVEL_WARN);
return 0;
@@ -465,6 +473,9 @@
$app->system->rename($data['new']['document_root'], $data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'));
$app->log('Renaming existing directory in new docroot location. mv '.$data['new']['document_root'].' '.$data['new']['document_root'].'_bak_'.date('Y_m_d_H_i_s'), LOGLEVEL_DEBUG);
}
+
+ //* Unmount the old log directory bfore we move the log dir
+ exec('umount '.escapeshellcmd($old_dir.'/log'));
//* Create new base directory, if it does not exist yet
if(!is_dir($new_dir)) $app->system->mkdirpath($new_dir);
@@ -490,12 +501,26 @@
if($nginx_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
//* Change the log mount
+ /*
$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind';
$app->system->removeLine('/etc/fstab', $fstab_line);
$fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind,nobootwait';
$app->system->removeLine('/etc/fstab', $fstab_line);
- $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0';
- $app->system->replaceLine('/etc/fstab', $fstab_line, $fstab_line, 1, 1);
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind,nobootwait';
+ $app->system->removeLine('/etc/fstab', $fstab_line);
+ */
+
+ $fstab_line_old = '/var/log/ispconfig/httpd/'.$data['old']['domain'].' '.$data['old']['document_root'].'/'.$old_log_folder.' none bind';
+
+ if($web_config['network_filesystem'] == 'y') {
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait,_netdev 0 0';
+ $app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+ } else {
+ $fstab_line = '/var/log/ispconfig/httpd/'.$data['new']['domain'].' '.$data['new']['document_root'].'/'.$log_folder.' none bind,nobootwait 0 0';
+ $app->system->replaceLine('/etc/fstab', $fstab_line_old, $fstab_line, 0, 1);
+ }
+
+ exec('mount --bind '.escapeshellarg('/var/log/ispconfig/httpd/'.$data['new']['domain']).' '.escapeshellarg($data['new']['document_root'].'/'.$log_folder));
}
@@ -635,9 +660,9 @@
if(is_file($conf['rootpath'] . '/conf-custom/index/robots.txt')) {
exec('cp ' . $conf['rootpath'] . '/conf-custom/index/robots.txt '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
}
- if(is_file($conf['rootpath'] . '/conf-custom/index/.htaccess')) {
- exec('cp ' . $conf['rootpath'] . '/conf-custom/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
- }
+ //if(is_file($conf['rootpath'] . '/conf-custom/index/.htaccess')) {
+ // exec('cp ' . $conf['rootpath'] . '/conf-custom/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
+ //}
}
else {
if (file_exists($conf['rootpath'] . '/conf-custom/index/standard_index.html')) {
@@ -647,7 +672,7 @@
exec('cp ' . $conf['rootpath'] . '/conf/index/standard_index.html_'.substr(escapeshellcmd($conf['language']), 0, 2).' '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/index.html');
if(is_file($conf['rootpath'] . '/conf/index/favicon.ico')) exec('cp ' . $conf['rootpath'] . '/conf/index/favicon.ico '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
if(is_file($conf['rootpath'] . '/conf/index/robots.txt')) exec('cp ' . $conf['rootpath'] . '/conf/index/robots.txt '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
- if(is_file($conf['rootpath'] . '/conf/index/.htaccess')) exec('cp ' . $conf['rootpath'] . '/conf/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
+ //if(is_file($conf['rootpath'] . '/conf/index/.htaccess')) exec('cp ' . $conf['rootpath'] . '/conf/index/.htaccess '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
}
}
exec('chmod -R a+r '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
@@ -714,7 +739,7 @@
$app->system->chmod($data['new']['document_root'].'/ssl', 0755);
// make tmp directory writable for nginx and the website users
- $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+ $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
// Set Log directory to 755 to make the logs accessible by the FTP user
if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
@@ -774,7 +799,7 @@
$app->system->chmod($data['new']['document_root'].'/cgi-bin', 0755);
// make temp directory writable for nginx and the website users
- $app->system->chmod($data['new']['document_root'].'/tmp', 0777);
+ $app->system->chmod($data['new']['document_root'].'/tmp', 0770);
// Set Log directory to 755 to make the logs accessible by the FTP user
if(realpath($data['new']['document_root'].'/'.$log_folder . '/error.log') == '/var/log/ispconfig/httpd/'.$data['new']['domain'].'/error.log') {
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 0ceced9..e19796c 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -58,19 +58,25 @@
/*
Register for the events
*/
-
+
$app->plugins->registerEvent('shell_user_insert', $this->plugin_name, 'insert');
$app->plugins->registerEvent('shell_user_update', $this->plugin_name, 'update');
$app->plugins->registerEvent('shell_user_delete', $this->plugin_name, 'delete');
-
+
}
function insert($event_name, $data) {
global $app, $conf;
-
- $app->uses('system');
+
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
//* Check if the resulting path is inside the docroot
$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id']));
@@ -82,15 +88,27 @@
$app->log('Directory of the shell user is not valid.',LOGLEVEL_WARN);
return false;
}
+
+ if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+ || !$app->system->is_allowed_user($data['new']['puser'], true, true)
+ || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+ $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+ return false;
+ }
if($app->system->is_user($data['new']['puser'])) {
-
- //* Remove webfolder protection
- $app->system->web_folder_protection($web['document_root'], false);
// Get the UID of the parent user
$uid = intval($app->system->getuid($data['new']['puser']));
if($uid > $this->min_uid) {
+ //* Remove webfolder protection
+ $app->system->web_folder_protection($web['document_root'], false);
+
+ if(!is_dir($data['new']['dir'])){
+ $app->file->mkdirs(escapeshellcmd($data['new']['dir']), '0700');
+ $app->system->chown(escapeshellcmd($data['new']['dir']),escapeshellcmd($data['new']['username']));
+ $app->system->chgrp(escapeshellcmd($data['new']['dir']),escapeshellcmd($data['new']['pgroup']));
+ }
$command = 'useradd';
$command .= ' -d '.escapeshellcmd($data['new']['dir']);
$command .= ' -g '.escapeshellcmd($data['new']['pgroup']);
@@ -125,7 +143,6 @@
//* Add webfolder protection again
$app->system->web_folder_protection($web['document_root'], true);
-
} else {
$app->log("UID = $uid for shelluser:".$data['new']['username']." not allowed.", LOGLEVEL_ERROR);
}
@@ -137,7 +154,13 @@
function update($event_name, $data) {
global $app, $conf;
- $app->uses('system');
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
//* Check if the resulting path is inside the docroot
$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['new']['parent_domain_id']));
@@ -151,6 +174,13 @@
return false;
}
+ if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+ || !$app->system->is_allowed_user($data['new']['puser'], true, true)
+ || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+ $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+ return false;
+ }
+
if($app->system->is_user($data['new']['puser'])) {
// Get the UID of the parent user
$uid = intval($app->system->getuid($data['new']['puser']));
@@ -209,15 +239,60 @@
function delete($event_name, $data) {
global $app, $conf;
- $app->uses('system');
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
if($app->system->is_user($data['old']['username'])) {
// Get the UID of the user
$userid = intval($app->system->getuid($data['old']['username']));
if($userid > $this->min_uid) {
+ // check if we have to delete the dir
+ $check = $app->db->queryOneRecord('SELECT shell_user_id FROM `shell_user` WHERE `dir` = \'' . $app->db->quote($data['old']['dir']) . '\'');
+ if(!$check && is_dir($data['old']['dir'])) {
+
+ $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($data['old']['parent_domain_id']));
+
+ $app->system->web_folder_protection($web['document_root'], false);
+
+ // delete dir
+ $homedir = $data['old']['dir'];
+ if(substr($homedir, -1) !== '/') $homedir .= '/';
+ $files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
+ $dirs = array('.ssh', '.cache');
+ foreach($files as $delfile) {
+ if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
+ }
+ foreach($dirs as $deldir) {
+ if(is_dir($homedir . $deldir) && fileowner($homedir . $deldir) == $userid) exec('rm -rf ' . escapeshellarg($homedir . $deldir));
+ }
+ $empty = true;
+ $dirres = opendir($homedir);
+ if($dirres) {
+ while(($entry = readdir($dirres)) !== false) {
+ if($entry != '.' && $entry != '..') {
+ $empty = false;
+ break;
+ }
+ }
+ closedir($dirres);
+ }
+ if($empty == true) {
+ rmdir($homedir);
+ }
+ unset($files);
+ unset($dirs);
+
+ $app->system->web_folder_protection($web['document_root'], true);
+ }
+
// We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
if ($data['old']['chroot'] != "jailkit") {
- $command = 'userdel -f';
+ $command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
$command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
exec($command);
$app->log("Deleted shelluser: ".$data['old']['username'], LOGLEVEL_DEBUG);
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index 90ed677..3c8e294 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -59,11 +59,11 @@
/*
Register for the events
*/
-
+
$app->plugins->registerEvent('shell_user_insert', $this->plugin_name, 'insert');
$app->plugins->registerEvent('shell_user_update', $this->plugin_name, 'update');
$app->plugins->registerEvent('shell_user_delete', $this->plugin_name, 'delete');
-
+
}
@@ -71,8 +71,23 @@
function insert($event_name, $data) {
global $app, $conf;
- $app->uses('system');
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
+
+
$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
+
+ if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+ || !$app->system->is_allowed_user($data['new']['puser'], true, true)
+ || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+ $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+ return false;
+ }
if($app->system->is_user($data['new']['puser'])) {
// Get the UID of the parent user
@@ -136,8 +151,22 @@
function update($event_name, $data) {
global $app, $conf;
- $app->uses('system');
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
+
$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['new']['parent_domain_id']);
+
+ if(!$app->system->is_allowed_user($data['new']['username'], false, false)
+ || !$app->system->is_allowed_user($data['new']['puser'], true, true)
+ || !$app->system->is_allowed_group($data['new']['pgroup'], true, true)) {
+ $app->log('Shell user must not be root or in group root.',LOGLEVEL_WARN);
+ return false;
+ }
if($app->system->is_user($data['new']['puser'])) {
// Get the UID of the parent user
@@ -195,7 +224,13 @@
function delete($event_name, $data) {
global $app, $conf;
- $app->uses('system');
+ $app->uses('system,getconf');
+
+ $security_config = $app->getconf->get_security_config('permissions');
+ if($security_config['allow_shell_user'] != 'yes') {
+ $app->log('Shell user plugin disabled by security settings.',LOGLEVEL_WARN);
+ return false;
+ }
$web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$data['old']['parent_domain_id']);
@@ -212,9 +247,13 @@
$app->system->web_folder_protection($web['document_root'], false);
if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) {
- $command = 'userdel -f';
+ $userid = intval($app->system->getuid($data['old']['username']));
+ $command = 'killall -u '.escapeshellcmd($data['old']['username']).' ; userdel -f';
$command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
exec($command);
+
+ $this->_delete_homedir($data['old']['dir'].$jailkit_chroot_userhome,$userid,$data['old']['parent_domain_id']);
+
$app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome, LOGLEVEL_DEBUG);
}
@@ -488,6 +527,48 @@
exec("chmod 600 '$sshkeys'");
}
+
+ private function _delete_homedir($homedir,$userid,$parent_domain_id) {
+ global $app, $conf;
+
+ // check if we have to delete the dir
+ $check = $app->db->queryOneRecord('SELECT shell_user_id FROM `shell_user` WHERE `dir` = \'' . $app->db->quote($homedir) . '\'');
+
+ if(!$check && is_dir($homedir)) {
+ $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($parent_domain_id));
+ $app->system->web_folder_protection($web['document_root'], false);
+
+ // delete dir
+ if(substr($homedir, -1) !== '/') $homedir .= '/';
+ $files = array('.bash_logout', '.bash_history', '.bashrc', '.profile');
+ $dirs = array('.ssh', '.cache');
+ foreach($files as $delfile) {
+ if(is_file($homedir . $delfile) && fileowner($homedir . $delfile) == $userid) unlink($homedir . $delfile);
+ }
+ foreach($dirs as $deldir) {
+ if(is_dir($homedir . $deldir) && fileowner($homedir . $deldir) == $userid) exec('rm -rf ' . escapeshellarg($homedir . $deldir));
+ }
+ $empty = true;
+ $dirres = opendir($homedir);
+ if($dirres) {
+ while(($entry = readdir($dirres)) !== false) {
+ if($entry != '.' && $entry != '..') {
+ $empty = false;
+ break;
+ }
+ }
+ closedir($dirres);
+ }
+ if($empty == true) {
+ rmdir($homedir);
+ }
+ unset($files);
+ unset($dirs);
+
+ $app->system->web_folder_protection($web['document_root'], true);
+ }
+
+ }
} // end class
diff --git a/server/scripts/ispconfig_htaccess.php b/server/scripts/ispconfig_htaccess.php
new file mode 100644
index 0000000..b72e791
--- /dev/null
+++ b/server/scripts/ispconfig_htaccess.php
@@ -0,0 +1,76 @@
+<?php
+
+/*
+Copyright (c) 2014, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+$path = realpath(dirname(__FILE__) . '/..');
+$iface_path = realpath(dirname(__FILE__) . '/../../interface/web');
+$iface_base_path = realpath(dirname(__FILE__) . '/../../interface');
+
+require $path . '/lib/mysql_clientdb.conf';
+
+if(isset($argv[1])) $dbname = $argv[1];
+else $dbname = 'dbispconfig';
+if(!preg_match('/^[a-zA-Z0-9]+$/', $dbname)) die("Invalid database name\n");
+
+$link = mysqli_init();
+$con = mysqli_real_connect($link, $clientdb_host, $clientdb_user, $clientdb_password, $dbname);
+if(!$con) die('DB CON ERROR' . "\n");
+
+$qry = "SELECT username, passwort FROM sys_user WHERE active = '1'";
+$result = mysqli_query($link, $qry);
+if(!$result) die('Could not read users' . "\n");
+
+$cont = '';
+while($row = mysqli_fetch_assoc($result)) {
+ $cont .= $row['username'] . ':' . $row['passwort'] . "\n";
+}
+mysqli_free_result($result);
+mysqli_close($link);
+
+if($cont == '') die('No users found' . "\n");
+
+if(file_exists($iface_base_path . '/.htpasswd')) rename($iface_base_path . '/.htpasswd', $iface_base_path . '/.htpasswd.old');
+file_put_contents($iface_base_path . '/.htpasswd', $cont);
+chmod($iface_base_path . '/.htpasswd', 0644);
+
+$cont = 'AuthType Basic
+AuthName "Login"
+AuthUserFile ' . $iface_base_path . '/.htpasswd
+require valid-user';
+
+if(file_exists($iface_path . '/.htaccess')) rename($iface_path . '/.htaccess', $iface_path . '/.htaccess.old');
+file_put_contents($iface_path . '/.htaccess', $cont);
+chmod($iface_path . '/.htaccess', 0644);
+unset($cont);
+
+print 'Data written. Please check, if everything is working correctly.' . "\n";
+exit;
+
+?>
diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php
index 3512de9..2a5deed 100644
--- a/server/scripts/ispconfig_update.php
+++ b/server/scripts/ispconfig_update.php
@@ -86,9 +86,9 @@
|___/ ";
echo "\n".str_repeat('-', 80)."\n";
echo "\n\n>> Update \n\n";
-echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\nNote: Update all slave server, before you update master server.\n\n";
+echo "Please choose the update method. For production systems select 'stable'. \nWARNING: The update from GIT is only for development systems and may break your current setup. Do not use the GIT version on servers that host any live websites!\nNote: Update all slave server, before you update master server.\n\n";
-$method = simple_query('Select update method', array('stable', 'svn'), 'stable');
+$method = simple_query('Select update method', array('stable', 'git'), 'stable');
if($method == 'stable') {
$new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.');
diff --git a/server/server.php b/server/server.php
index 2c4ca3b..4cf1d35 100644
--- a/server/server.php
+++ b/server/server.php
@@ -31,6 +31,8 @@
require SCRIPT_PATH."/lib/config.inc.php";
require SCRIPT_PATH."/lib/app.inc.php";
+$app->setCaller('server');
+
set_time_limit(0);
ini_set('error_reporting', E_ALL & ~E_NOTICE);
diff --git a/server/server.sh b/server/server.sh
index 75253e7..522e0d5 100755
--- a/server/server.sh
+++ b/server/server.sh
@@ -15,3 +15,6 @@
cd /usr/local/ispconfig/server
/usr/bin/php -q /usr/local/ispconfig/server/server.php
+
+cd /usr/local/ispconfig/security
+/usr/bin/php -q /usr/local/ispconfig/security/check.php
--
Gitblit v1.9.1