From d6b4bd8d36c2057300932859cbfcd72d54263be1 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 10:30:03 +0100 Subject: [PATCH 01/48] add new images and templates for re-design Signed-off-by: Michael Kaufmann (d00p) --- images/{ => Classic}/ball.gif | Bin images/{ => Classic}/changelanguage.gif | Bin images/{ => Classic}/default.png | Bin images/{ => Classic}/endsection.gif | Bin images/{ => Classic}/error.gif | Bin images/{ => Classic}/error.png | Bin images/{ => Classic}/footer.gif | Bin images/{ => Classic}/header_r.gif | Bin images/{ => Classic}/info.png | Bin images/{ => Classic}/login.gif | Bin images/{ => Classic}/logininternal.gif | Bin images/Classic/logo.png | Bin 0 -> 8696 bytes images/Classic/multiserver/clock.png | Bin 0 -> 3485 bytes images/Classic/multiserver/deploy.png | Bin 0 -> 4248 bytes images/Classic/multiserver/deploy_dis.png | Bin 0 -> 4650 bytes images/Classic/multiserver/edit.png | Bin 0 -> 3745 bytes images/{ => Classic}/multiserver/no.png | Bin images/Classic/multiserver/refresh.png | Bin 0 -> 1795 bytes images/Classic/multiserver/refresh_dis.png | Bin 0 -> 2369 bytes images/{ => Classic}/multiserver/server.png | Bin images/Classic/multiserver/settings.png | Bin 0 -> 4998 bytes images/Classic/multiserver/settings_dis.png | Bin 0 -> 5346 bytes images/{ => Classic}/multiserver/tick.png | Bin images/Classic/multiserver/trash.png | Bin 0 -> 4255 bytes images/{ => Classic}/multiserver/view.png | Bin images/{ => Classic}/order_asc.gif | Bin images/{ => Classic}/order_desc.gif | Bin images/{ => Classic}/section.gif | Bin images/{ => Classic}/shadow.gif | Bin images/{ => Classic}/subsection.gif | Bin images/{ => Classic}/title.gif | Bin images/{ => Classic}/traffic_blue.gif | Bin images/{ => Classic}/traffic_green.gif | Bin images/{ => Classic}/traffic_red.gif | Bin images/{ => Classic}/traffic_yellow.gif | Bin images/Froxlor/bar.gif | Bin 0 -> 2631 bytes images/Froxlor/bargrey.gif | Bin 0 -> 1256 bytes images/Froxlor/barred.gif | Bin 0 -> 2652 bytes images/Froxlor/bg_cover.gif | Bin 0 -> 53 bytes images/Froxlor/header_g.png | Bin 0 -> 284 bytes images/Froxlor/icons/add_autoresponder.png | Bin 0 -> 1016 bytes images/Froxlor/icons/add_domain.png | Bin 0 -> 1072 bytes images/Froxlor/icons/add_htaccess.png | Bin 0 -> 987 bytes images/Froxlor/icons/add_htpasswd.png | Bin 0 -> 987 bytes images/Froxlor/icons/add_mysql.png | Bin 0 -> 1055 bytes images/Froxlor/icons/add_user.png | Bin 0 -> 978 bytes images/Froxlor/icons/answer_ticket.png | Bin 0 -> 747 bytes images/Froxlor/icons/aps.png | Bin 0 -> 985 bytes images/Froxlor/icons/aps_upload.png | Bin 0 -> 1050 bytes images/Froxlor/icons/archive_search.png | Bin 0 -> 1011 bytes images/Froxlor/icons/archive_ticket.png | Bin 0 -> 892 bytes images/Froxlor/icons/autoresponder.png | Bin 0 -> 976 bytes images/Froxlor/icons/bad.png | Bin 0 -> 4872 bytes images/Froxlor/icons/button_ok.png | Bin 0 -> 537 bytes images/Froxlor/icons/cancel.png | Bin 0 -> 655 bytes images/Froxlor/icons/categories.png | Bin 0 -> 1011 bytes images/Froxlor/icons/category_add.png | Bin 0 -> 1015 bytes images/Froxlor/icons/category_edit.png | Bin 0 -> 1012 bytes images/Froxlor/icons/category_new.png | Bin 0 -> 1015 bytes images/Froxlor/icons/clock.png | Bin 0 -> 882 bytes images/Froxlor/icons/clock_add.png | Bin 0 -> 925 bytes images/Froxlor/icons/clock_delete.png | Bin 0 -> 952 bytes images/Froxlor/icons/clock_edit.png | Bin 0 -> 967 bytes images/Froxlor/icons/clock_error.png | Bin 0 -> 953 bytes images/Froxlor/icons/clock_go.png | Bin 0 -> 959 bytes images/Froxlor/icons/clock_link.png | Bin 0 -> 961 bytes images/Froxlor/icons/clock_pause.png | Bin 0 -> 927 bytes images/Froxlor/icons/clock_play.png | Bin 0 -> 943 bytes images/Froxlor/icons/clock_red.png | Bin 0 -> 889 bytes images/Froxlor/icons/clock_stop.png | Bin 0 -> 922 bytes images/Froxlor/icons/close_ticket.png | Bin 0 -> 878 bytes images/Froxlor/icons/delete.png | Bin 0 -> 740 bytes images/Froxlor/icons/display.png | Bin 0 -> 3873 bytes images/Froxlor/icons/domain_edit.png | Bin 0 -> 1054 bytes images/Froxlor/icons/domains.png | Bin 0 -> 1068 bytes images/Froxlor/icons/down.png | Bin 0 -> 1077 bytes images/Froxlor/icons/edit.png | Bin 0 -> 807 bytes images/Froxlor/icons/edit_group.png | Bin 0 -> 1607 bytes images/Froxlor/icons/edit_htpasswd.png | Bin 0 -> 967 bytes images/Froxlor/icons/email_add.png | Bin 0 -> 1054 bytes images/Froxlor/icons/email_edit.png | Bin 0 -> 1055 bytes images/Froxlor/icons/emails.png | Bin 0 -> 1058 bytes images/Froxlor/icons/encrypted.png | Bin 0 -> 3827 bytes images/Froxlor/icons/find.png | Bin 0 -> 3321 bytes images/Froxlor/icons/flag.png | Bin 0 -> 3818 bytes images/Froxlor/icons/help.png | Bin 0 -> 837 bytes images/Froxlor/icons/htaccess.png | Bin 0 -> 921 bytes images/Froxlor/icons/htpasswd.png | Bin 0 -> 921 bytes images/Froxlor/icons/info.png | Bin 0 -> 2184 bytes images/Froxlor/icons/ipsports.png | Bin 0 -> 1507 bytes images/Froxlor/icons/ipsports_add.png | Bin 0 -> 1068 bytes images/Froxlor/icons/ipsports_edit.png | Bin 0 -> 1071 bytes images/Froxlor/icons/mail.png | Bin 0 -> 3615 bytes images/Froxlor/icons/messages.png | Bin 0 -> 3713 bytes images/Froxlor/icons/mysql_edit.png | Bin 0 -> 1062 bytes images/Froxlor/icons/mysqls.png | Bin 0 -> 1066 bytes images/Froxlor/icons/ok.png | Bin 0 -> 1518 bytes images/Froxlor/icons/password.png | Bin 0 -> 3461 bytes images/Froxlor/icons/phpsettings.png | Bin 0 -> 3570 bytes images/Froxlor/icons/phpsettings_add.png | Bin 0 -> 948 bytes images/Froxlor/icons/phpsettings_edit.png | Bin 0 -> 939 bytes images/Froxlor/icons/reopen_ticket.png | Bin 0 -> 878 bytes images/Froxlor/icons/replace_vars.png | Bin 0 -> 962 bytes images/Froxlor/icons/settings.png | Bin 0 -> 4335 bytes images/Froxlor/icons/show_ticket.png | Bin 0 -> 890 bytes images/Froxlor/icons/syslog.png | Bin 0 -> 3742 bytes images/Froxlor/icons/syslog_truncate.png | Bin 0 -> 1025 bytes images/Froxlor/icons/tag_blue.png | Bin 0 -> 586 bytes images/Froxlor/icons/tag_orange.png | Bin 0 -> 586 bytes images/Froxlor/icons/templates.png | Bin 0 -> 505 bytes images/Froxlor/icons/templates_add.png | Bin 0 -> 919 bytes images/Froxlor/icons/templates_edit.png | Bin 0 -> 820 bytes images/Froxlor/icons/text_align_center.png | Bin 0 -> 234 bytes images/Froxlor/icons/text_align_justify.png | Bin 0 -> 209 bytes images/Froxlor/icons/text_align_left.png | Bin 0 -> 209 bytes images/Froxlor/icons/text_align_right.png | Bin 0 -> 209 bytes images/Froxlor/icons/ticket_add.png | Bin 0 -> 1021 bytes images/Froxlor/icons/ticket_archive.png | Bin 0 -> 1007 bytes images/Froxlor/icons/ticket_new.png | Bin 0 -> 1021 bytes images/Froxlor/icons/ticket_reply.png | Bin 0 -> 1005 bytes images/Froxlor/icons/tickets.png | Bin 0 -> 1007 bytes images/Froxlor/icons/traffic.png | Bin 0 -> 1002 bytes images/Froxlor/icons/trash.png | Bin 0 -> 3741 bytes images/Froxlor/icons/up.png | Bin 0 -> 1074 bytes images/Froxlor/icons/user_edit.png | Bin 0 -> 953 bytes images/Froxlor/icons/warning.png | Bin 0 -> 1931 bytes images/Froxlor/logo.png | Bin 0 -> 2609 bytes images/Froxlor/multiserver/Thumbs.db | Bin 0 -> 8192 bytes images/Froxlor/multiserver/clock.png | Bin 0 -> 3485 bytes images/Froxlor/multiserver/deploy.png | Bin 0 -> 4248 bytes images/Froxlor/multiserver/deploy_dis.png | Bin 0 -> 4650 bytes images/Froxlor/multiserver/edit.png | Bin 0 -> 3745 bytes images/Froxlor/multiserver/no.png | Bin 0 -> 4479 bytes images/Froxlor/multiserver/refresh.png | Bin 0 -> 1795 bytes images/Froxlor/multiserver/refresh_dis.png | Bin 0 -> 2369 bytes images/Froxlor/multiserver/server.png | Bin 0 -> 4179 bytes images/Froxlor/multiserver/settings.png | Bin 0 -> 4998 bytes images/Froxlor/multiserver/settings_dis.png | Bin 0 -> 5346 bytes images/Froxlor/multiserver/tick.png | Bin 0 -> 4137 bytes images/Froxlor/multiserver/trash.png | Bin 0 -> 4255 bytes images/Froxlor/multiserver/view.png | Bin 0 -> 4658 bytes images/header.gif | Bin 16649 -> 0 bytes .../{ => Classic}/admin/admins/admins.tpl | 2 +- templates/Classic/admin/admins/admins_add.tpl | 25 + .../admin/admins/admins_admin.tpl | 0 .../Classic/admin/admins/admins_edit.tpl | 26 + .../{ => Classic}/admin/aps/askyesno.tpl | 2 +- templates/{ => Classic}/admin/aps/footer.tpl | 0 templates/{ => Classic}/admin/aps/header.tpl | 0 templates/{ => Classic}/admin/aps/infobox.tpl | 2 +- .../admin/aps/manage_instances.tpl | 4 +- .../admin/aps/manage_instances_error.tpl | 0 .../admin/aps/manage_instances_install.tpl | 0 .../admin/aps/manage_instances_package.tpl | 0 .../admin/aps/manage_instances_success.tpl | 0 .../admin/aps/manage_instances_taskactive.tpl | 0 .../admin/aps/manage_instances_uninstall.tpl | 0 .../admin/aps/manage_packages.tpl | 4 +- .../admin/aps/manage_packages_detail.tpl | 0 .../admin/aps/manage_packages_download.tpl | 2 +- .../admin/aps/manage_packages_row.tpl | 0 templates/{ => Classic}/admin/aps/upload.tpl | 2 +- .../Classic/admin/configfiles/choose.tpl | 10 + .../admin/configfiles/choose_daemon.tpl | 0 .../admin/configfiles/choose_distribution.tpl | 0 .../admin/configfiles/choose_service.tpl | 0 .../Classic/admin/configfiles/configfiles.tpl | 15 + .../configfiles/configfiles_commands.tpl | 0 .../admin/configfiles/configfiles_file.tpl | 0 .../admin/configfiles/configfiles_files.tpl | 0 .../admin/configfiles/wizard.tpl | 2 +- .../Classic/admin/cronjobs/cronjob_edit.tpl | 17 + .../{ => Classic}/admin/cronjobs/cronjobs.tpl | 70 +- .../admin/cronjobs/cronjobs_cronjob.tpl | 14 +- .../admin/customers/customers.tpl | 2 +- .../Classic/admin/customers/customers_add.tpl | 25 + .../admin/customers/customers_customer.tpl | 2 +- .../admin/customers/customers_edit.tpl | 26 + .../{ => Classic}/admin/domains/domains.tpl | 2 +- .../Classic/admin/domains/domains_add.tpl | 16 + .../admin/domains/domains_domain.tpl | 0 .../Classic/admin/domains/domains_edit.tpl | 17 + .../froxlorclients/froxlorclient_settings.tpl | 12 + .../froxlorclient_settingsend.tpl | 0 .../froxlorclient_settingsoverview.tpl | 14 + .../froxlorclient_settingsoverviewgroup.tpl | 12 + .../admin/froxlorclients/froxlorclients.tpl | 29 + .../froxlorclients/froxlorclients_add.tpl | 43 ++ .../froxlorclients/froxlorclients_client.tpl | 8 +- .../froxlorclients/froxlorclients_edit.tpl | 45 ++ .../froxlorclients/froxlorclients_view.tpl | 2 +- .../admin}/index/change_language.tpl | 4 +- .../admin/index/change_password.tpl | 4 +- .../Classic/admin/index/change_theme.tpl | 20 + templates/{ => Classic}/admin/index/index.tpl | 6 +- .../Classic/admin/index/overview_item.tpl | 4 + .../admin/ipsandports/ipsandports.tpl | 2 +- .../admin/ipsandports/ipsandports_add.tpl | 16 + .../admin/ipsandports/ipsandports_edit.tpl | 16 + .../ipsandports/ipsandports_ipandport.tpl | 0 .../{ => Classic}/admin/logger/logger.tpl | 2 +- .../admin/logger/logger_action.tpl | 0 .../{ => Classic}/admin/logger/logger_log.tpl | 0 .../{ => Classic}/admin/message/message.tpl | 2 +- .../admin/phpconfig/overview.tpl | 2 +- .../admin/phpconfig/overview_add.tpl | 32 +- .../admin/phpconfig/overview_edit.tpl | 32 +- .../admin/phpconfig/overview_overview.tpl | 0 .../{ => Classic}/admin/settings/settings.tpl | 2 +- .../admin/settings/settings_form_begin.tpl | 0 .../admin/settings/settings_form_end.tpl | 0 .../Classic/admin/settings/settings_group.tpl | 8 + .../admin/settings/settings_overview.tpl | 2 +- .../admin/settings/settings_overviewgroup.tpl | 2 +- .../Classic/admin/settings/updatecounters.tpl | 18 + .../settings/updatecounters_row_admin.tpl | 0 .../settings/updatecounters_row_customer.tpl | 0 .../admin/templates/filetemplates_add.tpl | 4 +- .../admin/templates/filetemplates_edit.tpl | 4 +- .../admin/templates/templates.tpl | 4 +- .../admin/templates/templates_add_1.tpl | 2 +- .../admin/templates/templates_add_2.tpl | 33 +- .../admin/templates/templates_edit.tpl | 4 +- .../templates/templates_filetemplate.tpl | 4 +- .../admin/templates/templates_template.tpl | 0 .../{ => Classic}/admin/ticket/archive.tpl | 4 +- .../admin/ticket/archived_tickets.tpl | 0 .../Classic/admin/ticket/archivesearch.tpl | 31 + .../{ => Classic}/admin/ticket/categories.tpl | 4 +- .../{ => Classic}/admin/ticket/tickets.tpl | 2 +- .../admin/ticket/tickets_categories.tpl | 0 .../admin/ticket/tickets_customer.tpl | 0 .../admin/ticket/tickets_editcategory.tpl | 16 + .../Classic/admin/ticket/tickets_new.tpl | 15 + .../admin/ticket/tickets_newcategory.tpl | 15 + .../Classic/admin/ticket/tickets_reply.tpl | 31 + .../admin/ticket/tickets_tickets.tpl | 0 .../admin/ticket/tickets_tickets_list.tpl | 2 +- .../admin/ticket/tickets_tickets_main.tpl | 11 + .../Classic/admin/ticket/tickets_view.tpl | 17 + .../{ => Classic}/admin/update/index.tpl | 2 +- .../admin/update/noupdatesavail.tpl | 4 +- .../admin/update/preconfigitem.tpl | 0 .../{ => Classic}/admin/update/update_end.tpl | 0 .../admin/update/update_start.tpl | 2 +- .../{ => Classic}/customer/aps/askyesno.tpl | 2 +- templates/{ => Classic}/customer/aps/data.tpl | 0 .../{ => Classic}/customer/aps/footer.tpl | 0 .../{ => Classic}/customer/aps/header.tpl | 0 .../{ => Classic}/customer/aps/infobox.tpl | 2 +- .../{ => Classic}/customer/aps/installer.tpl | 2 +- .../{ => Classic}/customer/aps/package.tpl | 2 +- .../customer/aps/package_status.tpl | 2 +- .../{ => Classic}/customer/aps/search.tpl | 2 +- .../customer/domains/domainlist.tpl | 2 +- .../customer/domains/domains.tpl | 2 +- .../Classic/customer/domains/domains_add.tpl | 57 ++ .../customer/domains/domains_delimiter.tpl | 0 .../customer/domains/domains_domain.tpl | 0 .../Classic/customer/domains/domains_edit.tpl | 76 ++ .../customer/email/account_add.tpl | 2 +- .../customer/email/account_changepw.tpl | 26 + .../customer/email/account_changequota.tpl | 26 + .../customer/email/autoresponder.tpl | 2 +- .../customer/email/autoresponder_add.tpl | 42 ++ .../email/autoresponder_autoresponder.tpl | 0 .../customer/email/autoresponder_edit.tpl | 43 ++ .../{ => Classic}/customer/email/email.tpl | 2 +- .../{ => Classic}/customer/email/emails.tpl | 2 +- .../customer/email/emails_add.tpl | 2 +- .../customer/email/emails_domain.tpl | 0 .../customer/email/emails_edit.tpl | 2 +- .../customer/email/emails_edit_forwarder.tpl | 0 .../customer/email/emails_email.tpl | 0 .../customer/email/forwarder_add.tpl | 2 +- .../{ => Classic}/customer/extras/extras.tpl | 2 +- .../customer/extras/htaccess.tpl | 2 +- .../customer/extras/htaccess_add.tpl | 2 +- .../customer/extras/htaccess_edit.tpl | 2 +- .../customer/extras/htaccess_htaccess.tpl | 0 .../customer/extras/htpasswds.tpl | 2 +- .../customer/extras/htpasswds_add.tpl | 2 +- .../customer/extras/htpasswds_edit.tpl | 2 +- .../customer/extras/htpasswds_htpasswd.tpl | 0 .../{ => Classic}/customer/ftp/accounts.tpl | 2 +- .../customer/ftp/accounts_account.tpl | 0 .../customer/ftp/accounts_add.tpl | 2 +- .../customer/ftp/accounts_edit.tpl | 12 +- templates/{ => Classic}/customer/ftp/ftp.tpl | 2 +- .../customer}/index/change_language.tpl | 4 +- .../customer/index/change_password.tpl | 4 +- .../Classic/customer/index/change_theme.tpl | 24 + .../{ => Classic}/customer/index/index.tpl | 4 +- .../{ => Classic}/customer/mysql/mysql.tpl | 2 +- .../{ => Classic}/customer/mysql/mysqls.tpl | 2 +- .../customer/mysql/mysqls_add.tpl | 2 +- .../customer/mysql/mysqls_database.tpl | 0 .../customer/mysql/mysqls_edit.tpl | 2 +- .../{ => Classic}/customer/ticket/ticket.tpl | 2 +- .../{ => Classic}/customer/ticket/tickets.tpl | 4 +- .../customer}/ticket/tickets_new.tpl | 10 +- .../customer}/ticket/tickets_reply.tpl | 20 +- .../customer/ticket/tickets_tickets.tpl | 0 .../customer/ticket/tickets_tickets_list.tpl | 11 + .../customer}/ticket/tickets_tickets_main.tpl | 2 +- .../customer/traffic/traffic.tpl | 2 +- .../customer/traffic/traffic_details.tpl | 2 +- .../customer/traffic/traffic_month.tpl | 5 + .../customer/traffic/traffic_traffic.tpl | 7 + templates/{ => Classic}/footer.tpl | 2 +- templates/{ => Classic}/formfields/bool.tpl | 0 templates/{ => Classic}/formfields/hidden.tpl | 0 templates/{ => Classic}/formfields/label.tpl | 0 templates/{ => Classic}/formfields/option.tpl | 0 templates/{ => Classic}/formfields/string.tpl | 0 templates/{ => Classic}/formfields/text.tpl | 0 templates/{ => Classic}/header.tpl | 8 +- templates/{ => Classic}/login/fpwd.tpl | 8 +- templates/{ => Classic}/login/login.tpl | 8 +- templates/{ => Classic}/main.css | 15 +- .../Classic/misc/alreadyinstalledhint.tpl | 68 ++ .../{ => Classic}/misc/configurehint.tpl | 0 templates/Classic/misc/error.tpl | 13 + templates/Classic/misc/form/input_text.tpl | 1 + .../Classic/misc/form/input_textarea.tpl | 1 + templates/Classic/misc/form/table_row.tpl | 9 + .../misc/form/table_section.tpl} | 2 +- templates/Classic/misc/htmlarrowcode.tpl | 6 + templates/Classic/misc/htmlsearchcode.tpl | 6 + templates/Classic/misc/htmlsortcode.tpl | 7 + .../{ => Classic}/misc/question_yesno.tpl | 2 +- .../misc/question_yesno_checkbox.tpl | 2 +- templates/{ => Classic}/misc/success.tpl | 4 +- .../{ => Classic}/navigation_element.tpl | 2 +- templates/Classic/navigation_link.tpl | 2 + templates/Froxlor/admin/admins/admins.tpl | 63 ++ templates/Froxlor/admin/admins/admins_add.tpl | 41 ++ .../Froxlor/admin/admins/admins_admin.tpl | 66 ++ .../Froxlor/admin/admins/admins_edit.tpl | 48 ++ templates/Froxlor/admin/aps/askyesno.tpl | 24 + templates/Froxlor/admin/aps/footer.tpl | 1 + templates/Froxlor/admin/aps/header.tpl | 1 + templates/Froxlor/admin/aps/infobox.tpl | 24 + .../Froxlor/admin/aps/manage_instances.tpl | 78 ++ .../admin/aps/manage_instances_error.tpl | 5 + .../admin/aps/manage_instances_install.tpl | 5 + .../admin/aps/manage_instances_package.tpl | 3 + .../admin/aps/manage_instances_success.tpl | 5 + .../admin/aps/manage_instances_taskactive.tpl | 3 + .../admin/aps/manage_instances_uninstall.tpl | 3 + .../Froxlor/admin/aps/manage_packages.tpl | 110 +++ .../admin/aps/manage_packages_detail.tpl | 8 + .../admin/aps/manage_packages_download.tpl | 30 + .../Froxlor/admin/aps/manage_packages_row.tpl | 3 + templates/Froxlor/admin/aps/upload.tpl | 33 + .../Froxlor/admin/configfiles/choose.tpl | 25 + .../admin/configfiles/choose_daemon.tpl | 1 + .../admin/configfiles/choose_distribution.tpl | 9 + .../admin/configfiles/choose_service.tpl | 5 + .../Froxlor/admin/configfiles/configfiles.tpl | 25 + .../configfiles/configfiles_commands.tpl | 4 + .../admin/configfiles/configfiles_file.tpl | 7 + .../admin/configfiles/configfiles_files.tpl | 3 + .../Froxlor/admin/configfiles/wizard.tpl | 39 + .../Froxlor/admin/cronjobs/cronjob_edit.tpl | 33 + templates/Froxlor/admin/cronjobs/cronjobs.tpl | 33 + .../admin/cronjobs/cronjobs_cronjob.tpl | 11 + .../Froxlor/admin/customers/customers.tpl | 65 ++ .../Froxlor/admin/customers/customers_add.tpl | 41 ++ .../admin/customers/customers_customer.tpl | 66 ++ .../admin/customers/customers_edit.tpl | 42 ++ templates/Froxlor/admin/domains/domains.tpl | 71 ++ .../Froxlor/admin/domains/domains_add.tpl | 32 + .../Froxlor/admin/domains/domains_domain.tpl | 26 + .../Froxlor/admin/domains/domains_edit.tpl | 33 + .../froxlorclients/froxlorclient_settings.tpl | 3 +- .../froxlorclient_settingsend.tpl | 8 + .../froxlorclient_settingsoverview.tpl | 3 +- .../froxlorclient_settingsoverviewgroup.tpl | 0 .../admin/froxlorclients/froxlorclients.tpl | 0 .../froxlorclients/froxlorclients_add.tpl | 6 - .../froxlorclients/froxlorclients_client.tpl | 28 + .../froxlorclients/froxlorclients_edit.tpl | 6 - .../froxlorclients/froxlorclients_tasks.tpl | 10 + .../froxlorclients_tasks_head.tpl | 10 + .../froxlorclients/froxlorclients_view.tpl | 77 ++ .../froxlorclients_view_clientinfo.tpl | 32 + .../Froxlor/admin/index/change_language.tpl | 28 + .../Froxlor/admin/index/change_password.tpl | 36 + .../Froxlor/admin/index/change_theme.tpl | 28 + templates/Froxlor/admin/index/index.tpl | 170 +++++ .../Froxlor/admin/index/overview_item.tpl | 4 + .../Froxlor/admin/ipsandports/ipsandports.tpl | 65 ++ .../admin/ipsandports/ipsandports_add.tpl | 32 + .../admin/ipsandports/ipsandports_edit.tpl | 32 + .../ipsandports/ipsandports_ipandport.tpl | 17 + templates/Froxlor/admin/logger/logger.tpl | 55 ++ .../Froxlor/admin/logger/logger_action.tpl | 3 + templates/Froxlor/admin/logger/logger_log.tpl | 6 + templates/Froxlor/admin/message/message.tpl | 47 ++ .../Froxlor/admin/phpconfig/overview.tpl | 41 ++ .../Froxlor/admin/phpconfig/overview_add.tpl | 106 +++ .../Froxlor/admin/phpconfig/overview_edit.tpl | 107 +++ .../admin/phpconfig/overview_overview.tpl | 16 + templates/Froxlor/admin/settings/settings.tpl | 21 + .../admin/settings/settings_form_begin.tpl | 6 + .../admin/settings/settings_form_end.tpl | 7 + .../Froxlor/admin/settings/settings_group.tpl | 9 + .../admin/settings/settings_overview.tpl | 21 + .../admin/settings/settings_overviewgroup.tpl | 11 + .../admin/settings/updatecounters.tpl | 0 .../settings/updatecounters_row_admin.tpl | 73 ++ .../settings/updatecounters_row_customer.tpl | 57 ++ .../admin/templates/filetemplates_add.tpl | 82 +++ .../admin/templates/filetemplates_edit.tpl | 83 +++ .../Froxlor/admin/templates/templates.tpl | 66 ++ .../admin/templates/templates_add_1.tpl | 30 + .../admin/templates/templates_add_2.tpl | 216 ++++++ .../admin/templates/templates_edit.tpl | 217 ++++++ .../templates/templates_filetemplate.tpl | 12 + .../admin/templates/templates_template.tpl | 13 + templates/Froxlor/admin/ticket/archive.tpl | 86 +++ .../Froxlor/admin/ticket/archived_tickets.tpl | 12 + .../admin/ticket/archivesearch.tpl | 0 templates/Froxlor/admin/ticket/categories.tpl | 63 ++ templates/Froxlor/admin/ticket/tickets.tpl | 75 ++ .../admin/ticket/tickets_categories.tpl | 14 + .../Froxlor/admin/ticket/tickets_customer.tpl | 3 + .../admin/ticket/tickets_editcategory.tpl | 33 + .../Froxlor/admin/ticket/tickets_new.tpl | 32 + .../admin/ticket/tickets_newcategory.tpl | 32 + .../Froxlor/admin/ticket/tickets_reply.tpl | 46 ++ .../Froxlor/admin/ticket/tickets_tickets.tpl | 34 + .../admin/ticket/tickets_tickets_list.tpl | 15 + .../admin/ticket/tickets_tickets_main.tpl | 15 + .../admin/ticket/tickets_view.tpl | 0 templates/Froxlor/admin/update/index.tpl | 16 + .../Froxlor/admin/update/noupdatesavail.tpl | 12 + .../Froxlor/admin/update/preconfigitem.tpl | 6 + templates/Froxlor/admin/update/update_end.tpl | 6 + .../Froxlor/admin/update/update_start.tpl | 6 + templates/Froxlor/customer/aps/askyesno.tpl | 25 + templates/Froxlor/customer/aps/data.tpl | 9 + templates/Froxlor/customer/aps/footer.tpl | 1 + templates/Froxlor/customer/aps/header.tpl | 1 + templates/Froxlor/customer/aps/infobox.tpl | 25 + templates/Froxlor/customer/aps/installer.tpl | 41 ++ templates/Froxlor/customer/aps/package.tpl | 68 ++ .../Froxlor/customer/aps/package_status.tpl | 60 ++ templates/Froxlor/customer/aps/search.tpl | 34 + .../Froxlor/customer/domains/domainlist.tpl | 61 ++ .../Froxlor/customer/domains/domains.tpl | 8 + .../customer/domains/domains_add.tpl | 0 .../customer/domains/domains_delimiter.tpl | 5 + .../customer/domains/domains_domain.tpl | 25 + .../customer/domains/domains_edit.tpl | 0 .../Froxlor/customer/email/account_add.tpl | 52 ++ .../customer/email/account_changepw.tpl | 0 .../customer/email/account_changequota.tpl | 0 .../Froxlor/customer/email/autoresponder.tpl | 44 ++ .../customer/email/autoresponder_add.tpl | 0 .../email/autoresponder_autoresponder.tpl | 17 + .../customer/email/autoresponder_edit.tpl | 0 templates/Froxlor/customer/email/email.tpl | 8 + templates/Froxlor/customer/email/emails.tpl | 67 ++ .../Froxlor/customer/email/emails_add.tpl | 49 ++ .../Froxlor/customer/email/emails_domain.tpl | 3 + .../Froxlor/customer/email/emails_edit.tpl | 66 ++ .../customer/email/emails_edit_forwarder.tpl | 2 + .../Froxlor/customer/email/emails_email.tpl | 15 + .../Froxlor/customer/email/forwarder_add.tpl | 40 + templates/Froxlor/customer/extras/extras.tpl | 8 + .../Froxlor/customer/extras/htaccess.tpl | 64 ++ .../Froxlor/customer/extras/htaccess_add.tpl | 65 ++ .../Froxlor/customer/extras/htaccess_edit.tpl | 62 ++ .../customer/extras/htaccess_htaccess.tpl | 18 + .../Froxlor/customer/extras/htpasswds.tpl | 60 ++ .../Froxlor/customer/extras/htpasswds_add.tpl | 51 ++ .../customer/extras/htpasswds_edit.tpl | 48 ++ .../customer/extras/htpasswds_htpasswd.tpl | 12 + templates/Froxlor/customer/ftp/accounts.tpl | 62 ++ .../Froxlor/customer/ftp/accounts_account.tpl | 12 + .../Froxlor/customer/ftp/accounts_add.tpl | 54 ++ .../Froxlor/customer/ftp/accounts_edit.tpl | 54 ++ templates/Froxlor/customer/ftp/ftp.tpl | 8 + .../customer/index/change_language.tpl | 29 + .../customer/index/change_password.tpl | 44 ++ .../Froxlor/customer/index/change_theme.tpl | 29 + templates/Froxlor/customer/index/index.tpl | 122 ++++ templates/Froxlor/customer/mysql/mysql.tpl | 8 + templates/Froxlor/customer/mysql/mysqls.tpl | 63 ++ .../Froxlor/customer/mysql/mysqls_add.tpl | 50 ++ .../customer/mysql/mysqls_database.tpl | 17 + .../Froxlor/customer/mysql/mysqls_edit.tpl | 50 ++ templates/Froxlor/customer/ticket/ticket.tpl | 8 + templates/Froxlor/customer/ticket/tickets.tpl | 81 +++ .../customer/ticket/tickets_new.tpl | 0 .../customer/ticket/tickets_reply.tpl | 0 .../customer/ticket/tickets_tickets.tpl | 29 + .../customer/ticket/tickets_tickets_list.tpl | 0 .../customer/ticket/tickets_tickets_main.tpl | 0 .../Froxlor/customer/traffic/traffic.tpl | 48 ++ .../customer/traffic/traffic_details.tpl | 49 ++ .../customer/traffic/traffic_month.tpl | 6 + .../customer/traffic/traffic_traffic.tpl | 7 + templates/Froxlor/footer.tpl | 16 + templates/Froxlor/formfields/bool.tpl | 4 + templates/Froxlor/formfields/hidden.tpl | 4 + templates/Froxlor/formfields/label.tpl | 3 + templates/Froxlor/formfields/option.tpl | 4 + templates/Froxlor/formfields/string.tpl | 4 + templates/Froxlor/formfields/text.tpl | 4 + templates/Froxlor/froxlor.css | 687 ++++++++++++++++++ templates/Froxlor/froxlor_ie.css | 18 + templates/Froxlor/header.tpl | 34 + templates/Froxlor/js/froxlor.js | 32 + templates/Froxlor/js/jquery.min.js | 167 +++++ templates/Froxlor/login/fpwd.tpl | 37 + templates/Froxlor/login/login.tpl | 59 ++ .../Froxlor/misc/alreadyinstalledhint.tpl | 38 + templates/Froxlor/misc/configurehint.tpl | 38 + templates/Froxlor/misc/error.tpl | 8 + templates/Froxlor/misc/form/input_text.tpl | 1 + .../Froxlor/misc/form/input_textarea.tpl | 1 + templates/Froxlor/misc/form/table_row.tpl | 12 + templates/Froxlor/misc/form/table_section.tpl | 9 + templates/Froxlor/misc/htmlarrowcode.tpl | 6 + templates/Froxlor/misc/htmlsearchcode.tpl | 6 + templates/Froxlor/misc/htmlsortcode.tpl | 7 + templates/Froxlor/misc/question_yesno.tpl | 19 + .../Froxlor/misc/question_yesno_checkbox.tpl | 20 + templates/Froxlor/misc/success.tpl | 13 + templates/Froxlor/navigation_element.tpl | 6 + templates/Froxlor/navigation_link.tpl | 1 + templates/admin/admins/admins_add.tpl | 147 ---- templates/admin/admins/admins_edit.tpl | 174 ----- templates/admin/configfiles/choose.tpl | 10 - templates/admin/configfiles/configfiles.tpl | 15 - templates/admin/cronjobs/cronjob_edit.tpl | 48 -- templates/admin/customers/customers_add.tpl | 189 ----- templates/admin/customers/customers_edit.tpl | 190 ----- templates/admin/domains/domains_add.tpl | 190 ----- templates/admin/domains/domains_edit.tpl | 201 ----- .../admin/ipsandports/ipsandports_add.tpl | 117 --- .../admin/ipsandports/ipsandports_edit.tpl | 114 --- .../admin/ticket/tickets_editcategory.tpl | 26 - .../admin/ticket/tickets_newcategory.tpl | 25 - templates/customer/traffic/traffic_month.tpl | 5 - .../customer/traffic/traffic_traffic.tpl | 7 - templates/misc/error.tpl | 13 - templates/navigation_link.tpl | 2 - 551 files changed, 7895 insertions(+), 1755 deletions(-) rename images/{ => Classic}/ball.gif (100%) rename images/{ => Classic}/changelanguage.gif (100%) rename images/{ => Classic}/default.png (100%) rename images/{ => Classic}/endsection.gif (100%) rename images/{ => Classic}/error.gif (100%) rename images/{ => Classic}/error.png (100%) rename images/{ => Classic}/footer.gif (100%) rename images/{ => Classic}/header_r.gif (100%) rename images/{ => Classic}/info.png (100%) rename images/{ => Classic}/login.gif (100%) rename images/{ => Classic}/logininternal.gif (100%) create mode 100644 images/Classic/logo.png create mode 100644 images/Classic/multiserver/clock.png create mode 100644 images/Classic/multiserver/deploy.png create mode 100644 images/Classic/multiserver/deploy_dis.png create mode 100644 images/Classic/multiserver/edit.png rename images/{ => Classic}/multiserver/no.png (100%) create mode 100644 images/Classic/multiserver/refresh.png create mode 100644 images/Classic/multiserver/refresh_dis.png rename images/{ => Classic}/multiserver/server.png (100%) create mode 100644 images/Classic/multiserver/settings.png create mode 100644 images/Classic/multiserver/settings_dis.png rename images/{ => Classic}/multiserver/tick.png (100%) create mode 100644 images/Classic/multiserver/trash.png rename images/{ => Classic}/multiserver/view.png (100%) rename images/{ => Classic}/order_asc.gif (100%) rename images/{ => Classic}/order_desc.gif (100%) rename images/{ => Classic}/section.gif (100%) rename images/{ => Classic}/shadow.gif (100%) rename images/{ => Classic}/subsection.gif (100%) rename images/{ => Classic}/title.gif (100%) rename images/{ => Classic}/traffic_blue.gif (100%) rename images/{ => Classic}/traffic_green.gif (100%) rename images/{ => Classic}/traffic_red.gif (100%) rename images/{ => Classic}/traffic_yellow.gif (100%) create mode 100644 images/Froxlor/bar.gif create mode 100644 images/Froxlor/bargrey.gif create mode 100644 images/Froxlor/barred.gif create mode 100644 images/Froxlor/bg_cover.gif create mode 100644 images/Froxlor/header_g.png create mode 100644 images/Froxlor/icons/add_autoresponder.png create mode 100644 images/Froxlor/icons/add_domain.png create mode 100644 images/Froxlor/icons/add_htaccess.png create mode 100644 images/Froxlor/icons/add_htpasswd.png create mode 100644 images/Froxlor/icons/add_mysql.png create mode 100644 images/Froxlor/icons/add_user.png create mode 100644 images/Froxlor/icons/answer_ticket.png create mode 100644 images/Froxlor/icons/aps.png create mode 100644 images/Froxlor/icons/aps_upload.png create mode 100644 images/Froxlor/icons/archive_search.png create mode 100644 images/Froxlor/icons/archive_ticket.png create mode 100644 images/Froxlor/icons/autoresponder.png create mode 100644 images/Froxlor/icons/bad.png create mode 100644 images/Froxlor/icons/button_ok.png create mode 100644 images/Froxlor/icons/cancel.png create mode 100644 images/Froxlor/icons/categories.png create mode 100644 images/Froxlor/icons/category_add.png create mode 100644 images/Froxlor/icons/category_edit.png create mode 100644 images/Froxlor/icons/category_new.png create mode 100644 images/Froxlor/icons/clock.png create mode 100644 images/Froxlor/icons/clock_add.png create mode 100644 images/Froxlor/icons/clock_delete.png create mode 100644 images/Froxlor/icons/clock_edit.png create mode 100644 images/Froxlor/icons/clock_error.png create mode 100644 images/Froxlor/icons/clock_go.png create mode 100644 images/Froxlor/icons/clock_link.png create mode 100644 images/Froxlor/icons/clock_pause.png create mode 100644 images/Froxlor/icons/clock_play.png create mode 100644 images/Froxlor/icons/clock_red.png create mode 100644 images/Froxlor/icons/clock_stop.png create mode 100644 images/Froxlor/icons/close_ticket.png create mode 100644 images/Froxlor/icons/delete.png create mode 100644 images/Froxlor/icons/display.png create mode 100644 images/Froxlor/icons/domain_edit.png create mode 100644 images/Froxlor/icons/domains.png create mode 100644 images/Froxlor/icons/down.png create mode 100644 images/Froxlor/icons/edit.png create mode 100644 images/Froxlor/icons/edit_group.png create mode 100644 images/Froxlor/icons/edit_htpasswd.png create mode 100644 images/Froxlor/icons/email_add.png create mode 100644 images/Froxlor/icons/email_edit.png create mode 100644 images/Froxlor/icons/emails.png create mode 100644 images/Froxlor/icons/encrypted.png create mode 100644 images/Froxlor/icons/find.png create mode 100644 images/Froxlor/icons/flag.png create mode 100644 images/Froxlor/icons/help.png create mode 100644 images/Froxlor/icons/htaccess.png create mode 100644 images/Froxlor/icons/htpasswd.png create mode 100644 images/Froxlor/icons/info.png create mode 100644 images/Froxlor/icons/ipsports.png create mode 100644 images/Froxlor/icons/ipsports_add.png create mode 100644 images/Froxlor/icons/ipsports_edit.png create mode 100644 images/Froxlor/icons/mail.png create mode 100644 images/Froxlor/icons/messages.png create mode 100644 images/Froxlor/icons/mysql_edit.png create mode 100644 images/Froxlor/icons/mysqls.png create mode 100644 images/Froxlor/icons/ok.png create mode 100644 images/Froxlor/icons/password.png create mode 100644 images/Froxlor/icons/phpsettings.png create mode 100644 images/Froxlor/icons/phpsettings_add.png create mode 100644 images/Froxlor/icons/phpsettings_edit.png create mode 100644 images/Froxlor/icons/reopen_ticket.png create mode 100644 images/Froxlor/icons/replace_vars.png create mode 100644 images/Froxlor/icons/settings.png create mode 100644 images/Froxlor/icons/show_ticket.png create mode 100644 images/Froxlor/icons/syslog.png create mode 100644 images/Froxlor/icons/syslog_truncate.png create mode 100644 images/Froxlor/icons/tag_blue.png create mode 100644 images/Froxlor/icons/tag_orange.png create mode 100644 images/Froxlor/icons/templates.png create mode 100644 images/Froxlor/icons/templates_add.png create mode 100644 images/Froxlor/icons/templates_edit.png create mode 100644 images/Froxlor/icons/text_align_center.png create mode 100644 images/Froxlor/icons/text_align_justify.png create mode 100644 images/Froxlor/icons/text_align_left.png create mode 100644 images/Froxlor/icons/text_align_right.png create mode 100644 images/Froxlor/icons/ticket_add.png create mode 100644 images/Froxlor/icons/ticket_archive.png create mode 100644 images/Froxlor/icons/ticket_new.png create mode 100644 images/Froxlor/icons/ticket_reply.png create mode 100644 images/Froxlor/icons/tickets.png create mode 100644 images/Froxlor/icons/traffic.png create mode 100644 images/Froxlor/icons/trash.png create mode 100644 images/Froxlor/icons/up.png create mode 100644 images/Froxlor/icons/user_edit.png create mode 100644 images/Froxlor/icons/warning.png create mode 100644 images/Froxlor/logo.png create mode 100644 images/Froxlor/multiserver/Thumbs.db create mode 100644 images/Froxlor/multiserver/clock.png create mode 100644 images/Froxlor/multiserver/deploy.png create mode 100644 images/Froxlor/multiserver/deploy_dis.png create mode 100644 images/Froxlor/multiserver/edit.png create mode 100644 images/Froxlor/multiserver/no.png create mode 100644 images/Froxlor/multiserver/refresh.png create mode 100644 images/Froxlor/multiserver/refresh_dis.png create mode 100644 images/Froxlor/multiserver/server.png create mode 100644 images/Froxlor/multiserver/settings.png create mode 100644 images/Froxlor/multiserver/settings_dis.png create mode 100644 images/Froxlor/multiserver/tick.png create mode 100644 images/Froxlor/multiserver/trash.png create mode 100644 images/Froxlor/multiserver/view.png delete mode 100644 images/header.gif rename templates/{ => Classic}/admin/admins/admins.tpl (96%) create mode 100644 templates/Classic/admin/admins/admins_add.tpl rename templates/{ => Classic}/admin/admins/admins_admin.tpl (100%) create mode 100644 templates/Classic/admin/admins/admins_edit.tpl rename templates/{ => Classic}/admin/aps/askyesno.tpl (92%) rename templates/{ => Classic}/admin/aps/footer.tpl (100%) rename templates/{ => Classic}/admin/aps/header.tpl (100%) rename templates/{ => Classic}/admin/aps/infobox.tpl (77%) rename templates/{ => Classic}/admin/aps/manage_instances.tpl (87%) rename templates/{ => Classic}/admin/aps/manage_instances_error.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_instances_install.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_instances_package.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_instances_success.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_instances_taskactive.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_instances_uninstall.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_packages.tpl (92%) rename templates/{ => Classic}/admin/aps/manage_packages_detail.tpl (100%) rename templates/{ => Classic}/admin/aps/manage_packages_download.tpl (83%) rename templates/{ => Classic}/admin/aps/manage_packages_row.tpl (100%) rename templates/{ => Classic}/admin/aps/upload.tpl (86%) create mode 100644 templates/Classic/admin/configfiles/choose.tpl rename templates/{ => Classic}/admin/configfiles/choose_daemon.tpl (100%) rename templates/{ => Classic}/admin/configfiles/choose_distribution.tpl (100%) rename templates/{ => Classic}/admin/configfiles/choose_service.tpl (100%) create mode 100644 templates/Classic/admin/configfiles/configfiles.tpl rename templates/{ => Classic}/admin/configfiles/configfiles_commands.tpl (100%) rename templates/{ => Classic}/admin/configfiles/configfiles_file.tpl (100%) rename templates/{ => Classic}/admin/configfiles/configfiles_files.tpl (100%) rename templates/{ => Classic}/admin/configfiles/wizard.tpl (89%) create mode 100644 templates/Classic/admin/cronjobs/cronjob_edit.tpl rename templates/{ => Classic}/admin/cronjobs/cronjobs.tpl (77%) rename templates/{ => Classic}/admin/cronjobs/cronjobs_cronjob.tpl (98%) rename templates/{ => Classic}/admin/customers/customers.tpl (96%) create mode 100644 templates/Classic/admin/customers/customers_add.tpl rename templates/{ => Classic}/admin/customers/customers_customer.tpl (93%) create mode 100644 templates/Classic/admin/customers/customers_edit.tpl rename templates/{ => Classic}/admin/domains/domains.tpl (92%) create mode 100644 templates/Classic/admin/domains/domains_add.tpl rename templates/{ => Classic}/admin/domains/domains_domain.tpl (100%) create mode 100644 templates/Classic/admin/domains/domains_edit.tpl create mode 100644 templates/Classic/admin/froxlorclients/froxlorclient_settings.tpl rename templates/{ => Classic}/admin/froxlorclients/froxlorclient_settingsend.tpl (100%) create mode 100644 templates/Classic/admin/froxlorclients/froxlorclient_settingsoverview.tpl create mode 100644 templates/Classic/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl create mode 100644 templates/Classic/admin/froxlorclients/froxlorclients.tpl create mode 100644 templates/Classic/admin/froxlorclients/froxlorclients_add.tpl rename templates/{ => Classic}/admin/froxlorclients/froxlorclients_client.tpl (54%) create mode 100644 templates/Classic/admin/froxlorclients/froxlorclients_edit.tpl rename templates/{ => Classic}/admin/froxlorclients/froxlorclients_view.tpl (89%) rename templates/{customer => Classic/admin}/index/change_language.tpl (75%) rename templates/{ => Classic}/admin/index/change_password.tpl (83%) create mode 100644 templates/Classic/admin/index/change_theme.tpl rename templates/{ => Classic}/admin/index/index.tpl (93%) create mode 100644 templates/Classic/admin/index/overview_item.tpl rename templates/{ => Classic}/admin/ipsandports/ipsandports.tpl (93%) create mode 100644 templates/Classic/admin/ipsandports/ipsandports_add.tpl create mode 100644 templates/Classic/admin/ipsandports/ipsandports_edit.tpl rename templates/{ => Classic}/admin/ipsandports/ipsandports_ipandport.tpl (100%) rename templates/{ => Classic}/admin/logger/logger.tpl (93%) rename templates/{ => Classic}/admin/logger/logger_action.tpl (100%) rename templates/{ => Classic}/admin/logger/logger_log.tpl (100%) rename templates/{ => Classic}/admin/message/message.tpl (91%) rename templates/{ => Classic}/admin/phpconfig/overview.tpl (90%) rename templates/{ => Classic}/admin/phpconfig/overview_add.tpl (53%) rename templates/{ => Classic}/admin/phpconfig/overview_edit.tpl (50%) rename templates/{ => Classic}/admin/phpconfig/overview_overview.tpl (100%) rename templates/{ => Classic}/admin/settings/settings.tpl (78%) rename templates/{ => Classic}/admin/settings/settings_form_begin.tpl (100%) rename templates/{ => Classic}/admin/settings/settings_form_end.tpl (100%) create mode 100644 templates/Classic/admin/settings/settings_group.tpl rename templates/{ => Classic}/admin/settings/settings_overview.tpl (82%) rename templates/{ => Classic}/admin/settings/settings_overviewgroup.tpl (83%) create mode 100644 templates/Classic/admin/settings/updatecounters.tpl rename templates/{ => Classic}/admin/settings/updatecounters_row_admin.tpl (100%) rename templates/{ => Classic}/admin/settings/updatecounters_row_customer.tpl (100%) rename templates/{ => Classic}/admin/templates/filetemplates_add.tpl (89%) rename templates/{ => Classic}/admin/templates/filetemplates_edit.tpl (89%) rename templates/{ => Classic}/admin/templates/templates.tpl (79%) rename templates/{ => Classic}/admin/templates/templates_add_1.tpl (83%) rename templates/{ => Classic}/admin/templates/templates_add_2.tpl (83%) rename templates/{ => Classic}/admin/templates/templates_edit.tpl (96%) rename templates/{ => Classic}/admin/templates/templates_filetemplate.tpl (68%) rename templates/{ => Classic}/admin/templates/templates_template.tpl (100%) rename templates/{ => Classic}/admin/ticket/archive.tpl (90%) rename templates/{ => Classic}/admin/ticket/archived_tickets.tpl (100%) create mode 100644 templates/Classic/admin/ticket/archivesearch.tpl rename templates/{ => Classic}/admin/ticket/categories.tpl (90%) rename templates/{ => Classic}/admin/ticket/tickets.tpl (93%) rename templates/{ => Classic}/admin/ticket/tickets_categories.tpl (100%) rename templates/{ => Classic}/admin/ticket/tickets_customer.tpl (100%) create mode 100644 templates/Classic/admin/ticket/tickets_editcategory.tpl create mode 100644 templates/Classic/admin/ticket/tickets_new.tpl create mode 100644 templates/Classic/admin/ticket/tickets_newcategory.tpl create mode 100644 templates/Classic/admin/ticket/tickets_reply.tpl rename templates/{ => Classic}/admin/ticket/tickets_tickets.tpl (100%) rename templates/{ => Classic}/admin/ticket/tickets_tickets_list.tpl (68%) create mode 100644 templates/Classic/admin/ticket/tickets_tickets_main.tpl create mode 100644 templates/Classic/admin/ticket/tickets_view.tpl rename templates/{ => Classic}/admin/update/index.tpl (84%) rename templates/{ => Classic}/admin/update/noupdatesavail.tpl (57%) rename templates/{ => Classic}/admin/update/preconfigitem.tpl (100%) rename templates/{ => Classic}/admin/update/update_end.tpl (100%) rename templates/{ => Classic}/admin/update/update_start.tpl (61%) rename templates/{ => Classic}/customer/aps/askyesno.tpl (92%) rename templates/{ => Classic}/customer/aps/data.tpl (100%) rename templates/{ => Classic}/customer/aps/footer.tpl (100%) rename templates/{ => Classic}/customer/aps/header.tpl (100%) rename templates/{ => Classic}/customer/aps/infobox.tpl (77%) rename templates/{ => Classic}/customer/aps/installer.tpl (89%) rename templates/{ => Classic}/customer/aps/package.tpl (95%) rename templates/{ => Classic}/customer/aps/package_status.tpl (94%) rename templates/{ => Classic}/customer/aps/search.tpl (85%) rename templates/{ => Classic}/customer/domains/domainlist.tpl (90%) rename templates/{ => Classic}/customer/domains/domains.tpl (64%) create mode 100644 templates/Classic/customer/domains/domains_add.tpl rename templates/{ => Classic}/customer/domains/domains_delimiter.tpl (100%) rename templates/{ => Classic}/customer/domains/domains_domain.tpl (100%) create mode 100644 templates/Classic/customer/domains/domains_edit.tpl rename templates/{ => Classic}/customer/email/account_add.tpl (92%) create mode 100644 templates/Classic/customer/email/account_changepw.tpl create mode 100644 templates/Classic/customer/email/account_changequota.tpl rename templates/{ => Classic}/customer/email/autoresponder.tpl (84%) create mode 100644 templates/Classic/customer/email/autoresponder_add.tpl rename templates/{ => Classic}/customer/email/autoresponder_autoresponder.tpl (100%) create mode 100644 templates/Classic/customer/email/autoresponder_edit.tpl rename templates/{ => Classic}/customer/email/email.tpl (65%) rename templates/{ => Classic}/customer/email/emails.tpl (91%) rename templates/{ => Classic}/customer/email/emails_add.tpl (89%) rename templates/{ => Classic}/customer/email/emails_domain.tpl (100%) rename templates/{ => Classic}/customer/email/emails_edit.tpl (93%) rename templates/{ => Classic}/customer/email/emails_edit_forwarder.tpl (100%) rename templates/{ => Classic}/customer/email/emails_email.tpl (100%) rename templates/{ => Classic}/customer/email/forwarder_add.tpl (89%) rename templates/{ => Classic}/customer/extras/extras.tpl (65%) rename templates/{ => Classic}/customer/extras/htaccess.tpl (91%) rename templates/{ => Classic}/customer/extras/htaccess_add.tpl (94%) rename templates/{ => Classic}/customer/extras/htaccess_edit.tpl (94%) rename templates/{ => Classic}/customer/extras/htaccess_htaccess.tpl (100%) rename templates/{ => Classic}/customer/extras/htpasswds.tpl (86%) rename templates/{ => Classic}/customer/extras/htpasswds_add.tpl (90%) rename templates/{ => Classic}/customer/extras/htpasswds_edit.tpl (90%) rename templates/{ => Classic}/customer/extras/htpasswds_htpasswd.tpl (100%) rename templates/{ => Classic}/customer/ftp/accounts.tpl (89%) rename templates/{ => Classic}/customer/ftp/accounts_account.tpl (100%) rename templates/{ => Classic}/customer/ftp/accounts_add.tpl (92%) rename templates/{ => Classic}/customer/ftp/accounts_edit.tpl (67%) rename templates/{ => Classic}/customer/ftp/ftp.tpl (65%) rename templates/{admin => Classic/customer}/index/change_language.tpl (75%) rename templates/{ => Classic}/customer/index/change_password.tpl (86%) create mode 100644 templates/Classic/customer/index/change_theme.tpl rename templates/{ => Classic}/customer/index/index.tpl (93%) rename templates/{ => Classic}/customer/mysql/mysql.tpl (65%) rename templates/{ => Classic}/customer/mysql/mysqls.tpl (93%) rename templates/{ => Classic}/customer/mysql/mysqls_add.tpl (90%) rename templates/{ => Classic}/customer/mysql/mysqls_database.tpl (100%) rename templates/{ => Classic}/customer/mysql/mysqls_edit.tpl (91%) rename templates/{ => Classic}/customer/ticket/ticket.tpl (65%) rename templates/{ => Classic}/customer/ticket/tickets.tpl (90%) rename templates/{admin => Classic/customer}/ticket/tickets_new.tpl (74%) rename templates/{admin => Classic/customer}/ticket/tickets_reply.tpl (76%) rename templates/{ => Classic}/customer/ticket/tickets_tickets.tpl (100%) create mode 100644 templates/Classic/customer/ticket/tickets_tickets_list.tpl rename templates/{admin => Classic/customer}/ticket/tickets_tickets_main.tpl (61%) rename templates/{ => Classic}/customer/traffic/traffic.tpl (88%) rename templates/{ => Classic}/customer/traffic/traffic_details.tpl (88%) create mode 100644 templates/Classic/customer/traffic/traffic_month.tpl create mode 100644 templates/Classic/customer/traffic/traffic_traffic.tpl rename templates/{ => Classic}/footer.tpl (85%) rename templates/{ => Classic}/formfields/bool.tpl (100%) rename templates/{ => Classic}/formfields/hidden.tpl (100%) rename templates/{ => Classic}/formfields/label.tpl (100%) rename templates/{ => Classic}/formfields/option.tpl (100%) rename templates/{ => Classic}/formfields/string.tpl (100%) rename templates/{ => Classic}/formfields/text.tpl (100%) rename templates/{ => Classic}/header.tpl (84%) rename templates/{ => Classic}/login/fpwd.tpl (78%) rename templates/{ => Classic}/login/login.tpl (82%) rename templates/{ => Classic}/main.css (95%) create mode 100644 templates/Classic/misc/alreadyinstalledhint.tpl rename templates/{ => Classic}/misc/configurehint.tpl (100%) create mode 100644 templates/Classic/misc/error.tpl create mode 100644 templates/Classic/misc/form/input_text.tpl create mode 100644 templates/Classic/misc/form/input_textarea.tpl create mode 100644 templates/Classic/misc/form/table_row.tpl rename templates/{admin/settings/settings_group.tpl => Classic/misc/form/table_section.tpl} (76%) create mode 100644 templates/Classic/misc/htmlarrowcode.tpl create mode 100644 templates/Classic/misc/htmlsearchcode.tpl create mode 100644 templates/Classic/misc/htmlsortcode.tpl rename templates/{ => Classic}/misc/question_yesno.tpl (90%) rename templates/{ => Classic}/misc/question_yesno_checkbox.tpl (91%) rename templates/{ => Classic}/misc/success.tpl (57%) rename templates/{ => Classic}/navigation_element.tpl (65%) create mode 100644 templates/Classic/navigation_link.tpl create mode 100644 templates/Froxlor/admin/admins/admins.tpl create mode 100644 templates/Froxlor/admin/admins/admins_add.tpl create mode 100644 templates/Froxlor/admin/admins/admins_admin.tpl create mode 100644 templates/Froxlor/admin/admins/admins_edit.tpl create mode 100644 templates/Froxlor/admin/aps/askyesno.tpl create mode 100644 templates/Froxlor/admin/aps/footer.tpl create mode 100644 templates/Froxlor/admin/aps/header.tpl create mode 100644 templates/Froxlor/admin/aps/infobox.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_error.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_install.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_package.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_success.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_taskactive.tpl create mode 100644 templates/Froxlor/admin/aps/manage_instances_uninstall.tpl create mode 100644 templates/Froxlor/admin/aps/manage_packages.tpl create mode 100644 templates/Froxlor/admin/aps/manage_packages_detail.tpl create mode 100644 templates/Froxlor/admin/aps/manage_packages_download.tpl create mode 100644 templates/Froxlor/admin/aps/manage_packages_row.tpl create mode 100644 templates/Froxlor/admin/aps/upload.tpl create mode 100644 templates/Froxlor/admin/configfiles/choose.tpl create mode 100644 templates/Froxlor/admin/configfiles/choose_daemon.tpl create mode 100644 templates/Froxlor/admin/configfiles/choose_distribution.tpl create mode 100644 templates/Froxlor/admin/configfiles/choose_service.tpl create mode 100644 templates/Froxlor/admin/configfiles/configfiles.tpl create mode 100644 templates/Froxlor/admin/configfiles/configfiles_commands.tpl create mode 100644 templates/Froxlor/admin/configfiles/configfiles_file.tpl create mode 100644 templates/Froxlor/admin/configfiles/configfiles_files.tpl create mode 100644 templates/Froxlor/admin/configfiles/wizard.tpl create mode 100644 templates/Froxlor/admin/cronjobs/cronjob_edit.tpl create mode 100644 templates/Froxlor/admin/cronjobs/cronjobs.tpl create mode 100644 templates/Froxlor/admin/cronjobs/cronjobs_cronjob.tpl create mode 100644 templates/Froxlor/admin/customers/customers.tpl create mode 100644 templates/Froxlor/admin/customers/customers_add.tpl create mode 100644 templates/Froxlor/admin/customers/customers_customer.tpl create mode 100644 templates/Froxlor/admin/customers/customers_edit.tpl create mode 100644 templates/Froxlor/admin/domains/domains.tpl create mode 100644 templates/Froxlor/admin/domains/domains_add.tpl create mode 100644 templates/Froxlor/admin/domains/domains_domain.tpl create mode 100644 templates/Froxlor/admin/domains/domains_edit.tpl rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclient_settings.tpl (85%) create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclient_settingsend.tpl rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclient_settingsoverview.tpl (80%) rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl (100%) rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclients.tpl (100%) rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclients_add.tpl (90%) create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclients_client.tpl rename templates/{ => Froxlor}/admin/froxlorclients/froxlorclients_edit.tpl (91%) create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclients_tasks.tpl create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclients_tasks_head.tpl create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclients_view.tpl create mode 100644 templates/Froxlor/admin/froxlorclients/froxlorclients_view_clientinfo.tpl create mode 100644 templates/Froxlor/admin/index/change_language.tpl create mode 100644 templates/Froxlor/admin/index/change_password.tpl create mode 100644 templates/Froxlor/admin/index/change_theme.tpl create mode 100644 templates/Froxlor/admin/index/index.tpl create mode 100644 templates/Froxlor/admin/index/overview_item.tpl create mode 100644 templates/Froxlor/admin/ipsandports/ipsandports.tpl create mode 100644 templates/Froxlor/admin/ipsandports/ipsandports_add.tpl create mode 100644 templates/Froxlor/admin/ipsandports/ipsandports_edit.tpl create mode 100644 templates/Froxlor/admin/ipsandports/ipsandports_ipandport.tpl create mode 100644 templates/Froxlor/admin/logger/logger.tpl create mode 100644 templates/Froxlor/admin/logger/logger_action.tpl create mode 100644 templates/Froxlor/admin/logger/logger_log.tpl create mode 100644 templates/Froxlor/admin/message/message.tpl create mode 100644 templates/Froxlor/admin/phpconfig/overview.tpl create mode 100644 templates/Froxlor/admin/phpconfig/overview_add.tpl create mode 100644 templates/Froxlor/admin/phpconfig/overview_edit.tpl create mode 100644 templates/Froxlor/admin/phpconfig/overview_overview.tpl create mode 100644 templates/Froxlor/admin/settings/settings.tpl create mode 100644 templates/Froxlor/admin/settings/settings_form_begin.tpl create mode 100644 templates/Froxlor/admin/settings/settings_form_end.tpl create mode 100644 templates/Froxlor/admin/settings/settings_group.tpl create mode 100644 templates/Froxlor/admin/settings/settings_overview.tpl create mode 100644 templates/Froxlor/admin/settings/settings_overviewgroup.tpl rename templates/{ => Froxlor}/admin/settings/updatecounters.tpl (100%) create mode 100644 templates/Froxlor/admin/settings/updatecounters_row_admin.tpl create mode 100644 templates/Froxlor/admin/settings/updatecounters_row_customer.tpl create mode 100644 templates/Froxlor/admin/templates/filetemplates_add.tpl create mode 100644 templates/Froxlor/admin/templates/filetemplates_edit.tpl create mode 100644 templates/Froxlor/admin/templates/templates.tpl create mode 100644 templates/Froxlor/admin/templates/templates_add_1.tpl create mode 100644 templates/Froxlor/admin/templates/templates_add_2.tpl create mode 100644 templates/Froxlor/admin/templates/templates_edit.tpl create mode 100644 templates/Froxlor/admin/templates/templates_filetemplate.tpl create mode 100644 templates/Froxlor/admin/templates/templates_template.tpl create mode 100644 templates/Froxlor/admin/ticket/archive.tpl create mode 100644 templates/Froxlor/admin/ticket/archived_tickets.tpl rename templates/{ => Froxlor}/admin/ticket/archivesearch.tpl (100%) create mode 100644 templates/Froxlor/admin/ticket/categories.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_categories.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_customer.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_editcategory.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_new.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_newcategory.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_reply.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_tickets.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_tickets_list.tpl create mode 100644 templates/Froxlor/admin/ticket/tickets_tickets_main.tpl rename templates/{ => Froxlor}/admin/ticket/tickets_view.tpl (100%) create mode 100644 templates/Froxlor/admin/update/index.tpl create mode 100644 templates/Froxlor/admin/update/noupdatesavail.tpl create mode 100644 templates/Froxlor/admin/update/preconfigitem.tpl create mode 100644 templates/Froxlor/admin/update/update_end.tpl create mode 100644 templates/Froxlor/admin/update/update_start.tpl create mode 100644 templates/Froxlor/customer/aps/askyesno.tpl create mode 100644 templates/Froxlor/customer/aps/data.tpl create mode 100644 templates/Froxlor/customer/aps/footer.tpl create mode 100644 templates/Froxlor/customer/aps/header.tpl create mode 100644 templates/Froxlor/customer/aps/infobox.tpl create mode 100644 templates/Froxlor/customer/aps/installer.tpl create mode 100644 templates/Froxlor/customer/aps/package.tpl create mode 100644 templates/Froxlor/customer/aps/package_status.tpl create mode 100644 templates/Froxlor/customer/aps/search.tpl create mode 100644 templates/Froxlor/customer/domains/domainlist.tpl create mode 100644 templates/Froxlor/customer/domains/domains.tpl rename templates/{ => Froxlor}/customer/domains/domains_add.tpl (100%) create mode 100644 templates/Froxlor/customer/domains/domains_delimiter.tpl create mode 100644 templates/Froxlor/customer/domains/domains_domain.tpl rename templates/{ => Froxlor}/customer/domains/domains_edit.tpl (100%) create mode 100644 templates/Froxlor/customer/email/account_add.tpl rename templates/{ => Froxlor}/customer/email/account_changepw.tpl (100%) rename templates/{ => Froxlor}/customer/email/account_changequota.tpl (100%) create mode 100644 templates/Froxlor/customer/email/autoresponder.tpl rename templates/{ => Froxlor}/customer/email/autoresponder_add.tpl (100%) create mode 100644 templates/Froxlor/customer/email/autoresponder_autoresponder.tpl rename templates/{ => Froxlor}/customer/email/autoresponder_edit.tpl (100%) create mode 100644 templates/Froxlor/customer/email/email.tpl create mode 100644 templates/Froxlor/customer/email/emails.tpl create mode 100644 templates/Froxlor/customer/email/emails_add.tpl create mode 100644 templates/Froxlor/customer/email/emails_domain.tpl create mode 100644 templates/Froxlor/customer/email/emails_edit.tpl create mode 100644 templates/Froxlor/customer/email/emails_edit_forwarder.tpl create mode 100644 templates/Froxlor/customer/email/emails_email.tpl create mode 100644 templates/Froxlor/customer/email/forwarder_add.tpl create mode 100644 templates/Froxlor/customer/extras/extras.tpl create mode 100644 templates/Froxlor/customer/extras/htaccess.tpl create mode 100644 templates/Froxlor/customer/extras/htaccess_add.tpl create mode 100644 templates/Froxlor/customer/extras/htaccess_edit.tpl create mode 100644 templates/Froxlor/customer/extras/htaccess_htaccess.tpl create mode 100644 templates/Froxlor/customer/extras/htpasswds.tpl create mode 100644 templates/Froxlor/customer/extras/htpasswds_add.tpl create mode 100644 templates/Froxlor/customer/extras/htpasswds_edit.tpl create mode 100644 templates/Froxlor/customer/extras/htpasswds_htpasswd.tpl create mode 100644 templates/Froxlor/customer/ftp/accounts.tpl create mode 100644 templates/Froxlor/customer/ftp/accounts_account.tpl create mode 100644 templates/Froxlor/customer/ftp/accounts_add.tpl create mode 100644 templates/Froxlor/customer/ftp/accounts_edit.tpl create mode 100644 templates/Froxlor/customer/ftp/ftp.tpl create mode 100644 templates/Froxlor/customer/index/change_language.tpl create mode 100644 templates/Froxlor/customer/index/change_password.tpl create mode 100644 templates/Froxlor/customer/index/change_theme.tpl create mode 100644 templates/Froxlor/customer/index/index.tpl create mode 100644 templates/Froxlor/customer/mysql/mysql.tpl create mode 100644 templates/Froxlor/customer/mysql/mysqls.tpl create mode 100644 templates/Froxlor/customer/mysql/mysqls_add.tpl create mode 100644 templates/Froxlor/customer/mysql/mysqls_database.tpl create mode 100644 templates/Froxlor/customer/mysql/mysqls_edit.tpl create mode 100644 templates/Froxlor/customer/ticket/ticket.tpl create mode 100644 templates/Froxlor/customer/ticket/tickets.tpl rename templates/{ => Froxlor}/customer/ticket/tickets_new.tpl (100%) rename templates/{ => Froxlor}/customer/ticket/tickets_reply.tpl (100%) create mode 100644 templates/Froxlor/customer/ticket/tickets_tickets.tpl rename templates/{ => Froxlor}/customer/ticket/tickets_tickets_list.tpl (100%) rename templates/{ => Froxlor}/customer/ticket/tickets_tickets_main.tpl (100%) create mode 100644 templates/Froxlor/customer/traffic/traffic.tpl create mode 100644 templates/Froxlor/customer/traffic/traffic_details.tpl create mode 100644 templates/Froxlor/customer/traffic/traffic_month.tpl create mode 100644 templates/Froxlor/customer/traffic/traffic_traffic.tpl create mode 100644 templates/Froxlor/footer.tpl create mode 100644 templates/Froxlor/formfields/bool.tpl create mode 100644 templates/Froxlor/formfields/hidden.tpl create mode 100644 templates/Froxlor/formfields/label.tpl create mode 100644 templates/Froxlor/formfields/option.tpl create mode 100644 templates/Froxlor/formfields/string.tpl create mode 100644 templates/Froxlor/formfields/text.tpl create mode 100644 templates/Froxlor/froxlor.css create mode 100644 templates/Froxlor/froxlor_ie.css create mode 100644 templates/Froxlor/header.tpl create mode 100644 templates/Froxlor/js/froxlor.js create mode 100644 templates/Froxlor/js/jquery.min.js create mode 100644 templates/Froxlor/login/fpwd.tpl create mode 100644 templates/Froxlor/login/login.tpl create mode 100644 templates/Froxlor/misc/alreadyinstalledhint.tpl create mode 100644 templates/Froxlor/misc/configurehint.tpl create mode 100644 templates/Froxlor/misc/error.tpl create mode 100644 templates/Froxlor/misc/form/input_text.tpl create mode 100644 templates/Froxlor/misc/form/input_textarea.tpl create mode 100644 templates/Froxlor/misc/form/table_row.tpl create mode 100644 templates/Froxlor/misc/form/table_section.tpl create mode 100644 templates/Froxlor/misc/htmlarrowcode.tpl create mode 100644 templates/Froxlor/misc/htmlsearchcode.tpl create mode 100644 templates/Froxlor/misc/htmlsortcode.tpl create mode 100644 templates/Froxlor/misc/question_yesno.tpl create mode 100644 templates/Froxlor/misc/question_yesno_checkbox.tpl create mode 100644 templates/Froxlor/misc/success.tpl create mode 100644 templates/Froxlor/navigation_element.tpl create mode 100644 templates/Froxlor/navigation_link.tpl delete mode 100644 templates/admin/admins/admins_add.tpl delete mode 100644 templates/admin/admins/admins_edit.tpl delete mode 100644 templates/admin/configfiles/choose.tpl delete mode 100644 templates/admin/configfiles/configfiles.tpl delete mode 100644 templates/admin/cronjobs/cronjob_edit.tpl delete mode 100644 templates/admin/customers/customers_add.tpl delete mode 100644 templates/admin/customers/customers_edit.tpl delete mode 100644 templates/admin/domains/domains_add.tpl delete mode 100644 templates/admin/domains/domains_edit.tpl delete mode 100644 templates/admin/ipsandports/ipsandports_add.tpl delete mode 100644 templates/admin/ipsandports/ipsandports_edit.tpl delete mode 100644 templates/admin/ticket/tickets_editcategory.tpl delete mode 100644 templates/admin/ticket/tickets_newcategory.tpl delete mode 100644 templates/customer/traffic/traffic_month.tpl delete mode 100644 templates/customer/traffic/traffic_traffic.tpl delete mode 100644 templates/misc/error.tpl delete mode 100644 templates/navigation_link.tpl diff --git a/images/ball.gif b/images/Classic/ball.gif similarity index 100% rename from images/ball.gif rename to images/Classic/ball.gif diff --git a/images/changelanguage.gif b/images/Classic/changelanguage.gif similarity index 100% rename from images/changelanguage.gif rename to images/Classic/changelanguage.gif diff --git a/images/default.png b/images/Classic/default.png similarity index 100% rename from images/default.png rename to images/Classic/default.png diff --git a/images/endsection.gif b/images/Classic/endsection.gif similarity index 100% rename from images/endsection.gif rename to images/Classic/endsection.gif diff --git a/images/error.gif b/images/Classic/error.gif similarity index 100% rename from images/error.gif rename to images/Classic/error.gif diff --git a/images/error.png b/images/Classic/error.png similarity index 100% rename from images/error.png rename to images/Classic/error.png diff --git a/images/footer.gif b/images/Classic/footer.gif similarity index 100% rename from images/footer.gif rename to images/Classic/footer.gif diff --git a/images/header_r.gif b/images/Classic/header_r.gif similarity index 100% rename from images/header_r.gif rename to images/Classic/header_r.gif diff --git a/images/info.png b/images/Classic/info.png similarity index 100% rename from images/info.png rename to images/Classic/info.png diff --git a/images/login.gif b/images/Classic/login.gif similarity index 100% rename from images/login.gif rename to images/Classic/login.gif diff --git a/images/logininternal.gif b/images/Classic/logininternal.gif similarity index 100% rename from images/logininternal.gif rename to images/Classic/logininternal.gif diff --git a/images/Classic/logo.png b/images/Classic/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9d426a2b4d3940546ae65937e3d217270b157f13 GIT binary patch literal 8696 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 LNkvXXu0mjfJRXC> literal 0 HcmV?d00001 diff --git a/images/Classic/multiserver/deploy.png b/images/Classic/multiserver/deploy.png new file mode 100644 index 0000000000000000000000000000000000000000..0a268ad099b9fe2859f6c5b205839c0e2e0c36b5 GIT binary patch literal 4248 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%0AjM#kk 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 LNkvXXu0mjfS4;t7 literal 0 HcmV?d00001 diff --git a/images/multiserver/no.png b/images/Classic/multiserver/no.png similarity index 100% rename from images/multiserver/no.png rename to images/Classic/multiserver/no.png diff --git a/images/Classic/multiserver/refresh.png b/images/Classic/multiserver/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb515b518c001ddd349c3159e89f4c8733c3e02 GIT binary patch literal 1795 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 literal 0 HcmV?d00001 diff --git a/images/multiserver/server.png b/images/Classic/multiserver/server.png similarity index 100% rename from images/multiserver/server.png rename to images/Classic/multiserver/server.png diff --git a/images/Classic/multiserver/settings.png b/images/Classic/multiserver/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6b8f504304a6b7852bd3ca1e30bb6a8768523dd9 GIT binary patch literal 4998 zcmV;16M5{3P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000QFNklv32&;7cyyJ!$3@c|)(kStmBLC|=K5=}IM z2xxY3Su!lkE_(%+U6>((U5wEOjfs#L;)C%`Vugk@@frP|L{#4apRsZ?UIp6utUxJzOS&lRFbGl&|t%=DA*_jovi$zo_mB*ic?D0#V zWj!6A{TS`-?dAOk4s4lR%VhA*-`=?w!2bupOP4P_Af^0XqtW=$v4e-2U5_SA!@!5{ zy$3KLAi#oAsZ^neZrdSZcUhJ-+h{btb?o3FXZv%xlkxMHUVktY3cWqEXU}&n%SxS@ zpZk2USVEKX2cb|%G6BpCVg@tA3R`emt=(tl=e~Vre$D`Z^RK@)+Z&DkeR68@Ykhrv z|2aKBXKuG8wsYY8rPse6wyZzhf8T!5tT)gk!av@9*CSH@l2ZH9-hKP@XgCbP3h-G!Kb)~3QZ{WkLS8L5yYx226Pv&o^ zf^0tj+2|2D%dkU4bwD1 z><36G!bjJxxy@GVD{bRDlJL~rE4`YOh1+lag05>iAb>)#h+M9K-P2RhH4U4nHUR`~ z3O`h}Y88v=H1_VEhH01(0@%pqkzQH(>+BOh`|78bp#bjg@9!5lNB7!1Dysr;JheJXnJ)wcGaS#w(sD{Q9Ve>^ zvFLf;E%E;T=*aMhkfM_nCdSo|KgP{7djP>`G+J0pr-+p2NvTzsc}b7OVvkPmp5B{G z4nRtQa?wV$QUQTcESIrsR}94D=a>Xo01MX_y+*V7ljDb;{4D^SeEFhLuP@7*LD^?KRP7qGItjP&9X%H^^jPGU5h zO@vG{$Ss4IP_0(sdEN(Y;{b5t7l&QPaURO%axG@sl8#U)%lo>nb?)1v>t1KT zN6QL+Zv*_wWJG#;K+F)dISJD+p_uR44&eBOm!g`k$E2o#i2W1<-I5e-mKdm=9sy#8 zB&FcEE|l7ak~qj8gGg<5y+|Yi(=cY9zj)!Pw((=mRmbNJ2(HG9ebY1^o zdTMGoWSWpdVr+5(=~N1&2tst4P+u&Dsj)FAPa$s?ku4P9dTv*H6tE&;m}UrN+Xe&3 z6$-qO&Av)RN6yVYUC`s|r6&YnH9^Oo$Hb7vn*B$Kc0otY7Z zd>-33?8#&j6O)suR4d43v#8e_P@V_VG|>}{B9Tadz*xF|9gTY9hP`I*u3fltYC^YvQo&xQt?%!5hSb72@p7ej$!(S}{Jm#naLd%0Y;d8aCvJ$LpAUDxNvMn-h0X=t@tSY2Ip z6_FF|=?VAu^=W1()McuJhnP{VR#7UIn$1>=d!y0tz`%eI!vAwB7K_(i&$}H!`4dU_ z;?ZYca~2%sF7K_MaGG)hc?)5w`ZkI|Ar!$#!zEA)M%E-h4SqTdZ3o4t-GAtQ>m1f&*xF-GA@LGkP^ag?>qk+&YnB_Qz^tlj_W>n;rNMSd;Y0YClAD; z(Z37~3~JqxcN_<6tE<-?*WK-BPJo#qrTmVN@(3xlzwLQ<v@X7T3d~n7>?sWNcsMS6VK!DsgoW4Fuy63db3NnAOlh}^Hu;t2rWp97JzFHBN+PV zLlxdVcGt<3Jhvp!vGKm z5CULimX^(UJg!%()h&UsEDNj4sWkw}z(^}N+W@M;T5aBW0PxcB6a2pc0NzSY$0K(5 QdH?_b07*qoM6N<$fOz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf5&!@T5&_cPe*6Fc00(qQO+^RV3K|GI0@ljq9{>Of6iGxu zR9M5UmwSv|)pf>yd!KvGy?5r`JL7qI>@hR;_zh+tAps0ZA@w6|M3XeMDWOeTq)Iet zQ{lK4uf$Ibq=Agd0oZvSIV)dB)M@rwZ_KA zw|4LA_1@`Ay^HftrPAr=KDKd#s#Sez*7Dk+L$Qu3Z`Ox}4_>W?oQCnEBx+OWI6#!b z)V1L^ufbonk)b#vL*w~CM9wrdHC=o2E$dZO^*KK{$l%~$U!hRAW^N?r5%~IFJbkB^ zOnz_k#to{NFHo&iKx>*O{|gTP4GrNq$%YnE2^Tl%BFX`4F(#rGMudKuvTu=_f1By< z&Ey&ynH(JhpdpuIaBP$d7Y5H23WaO7-?t?Ia4tLFy|1?g`02+sZBpf#0+mVyLCE~1 zm+b4$(6M?oDea&OV@RclDHVxJ1x#rMTPc#LmGP2ka#wW|9DWWtbCBtl>k!8Sgjx{L z(zt+PrP36~aqh+EpMT-!BJlKIfA<*$zqfqZG6j|eKYo;!{7IUxT~BcGFxD7Cogx&M za?vL;f}7B!>QbaUMamJxFH(2?trSka!K6)*|CL9vb?q@b>;2&t*a>4 zEoQnRBd8lq+C3cS8Uw8hgXrEcHd`;GK_5@>MZ z-j-lonfy3$WSN;RlmEyUkfqlmRuF5kViB;)yq~p^)ifL30~3#R6D` zC^*-DKK}4e_rKb6)5_ZlZ@z~0eNYN(3=>n9{FdiXafE#TC2ZOfO^oB!5_sCO{-&FB zDxLBi*K0n0>}YesuU3nNsc9mAR_+%~ji4Jql%iY>sc&r~U&vq1Hma2>>)!g?;;OFf zZ8OK-5L2ltr8N@AGM-mz@^`)oUJ@PqkgSJz3Ka)9)f&VhlM~}0vuLH6qSeM)YmLEL z!CH$lAOcvy7>n`hv0|~-VntYTU^_P~O*GX8`z0=y6-r^_NQS1gI<#rmWZ1X}D;69V zH`@YXZMI)n!J5lBmv(DO%=!|n7(ii-MFhkcJf*PZX{;3xq3!i=vwC$S#p6H2)M^T) z5NntyX!YNnx3>q5JD?p0YXuXBNOc;lMMMxY+qkR|X4|O3ijc6z5JnLxV`nosQHM2E zAR>hj`!iT;X#bCASZ4bup1O$feU#Q6S$nk;OhJVzUN<_E~&G^mB$)szP`}#0`4U_^A#!3lVo_GxsNu~;U zCZ?x};s^vZLdUb8r`_{GAhHSGUieYozTr+8pPJflt=;z6gAYYN*9#8)_@&^+jhl7* z_}L8^T_uhU&Fel)@zinRY7La2#WGTK8M*Uu#sb6G#;^0Oz1QI()Wl<1(X=HSo)`3hVJ<* zZ0q7V)nO59!N#;6*iFOa2~rwDE0_@SO>3BF>Bd@n;_-*SGWecS?78k=hBtm(ovU@= zDhDfIO^o&Gn6ULER`oy}Kxqn9nL$;iQ8N=rtxU(WpCdPQ5?3sdv3LSQg%lINd=GW$ z6e!iR?U6m#U2!CPVDBSeXlZSIYUT3fs&MWUi+{M6tGo$tgup12mn1Nn*cg;fU{g7W zd~{GoBcyeVvEVx3X~l3p&BZ&mQCqThw$U{-aQyi3QngxL^u+cZm3cYvC%bpGXsuuV z;D$45tzWId(s8wgLGB4-OU)Co~wuqGlQ7HvWjVG$?t(HM}~GR~#Igo^%&BqMih zCAezsWf7$o_#|96X^g4=_ZMG$VIG0kUOrg;)Ng&pIeX^Jt=ViwE2Xer9i=tvDWAVc zFfmP2+K_P}p#`l#D~0DM>Jo~qr}30xB=0hyIvM`-{m7zj%q8^`CFJu3rluwblAd?h z%P;&(?Og|wE!(&Mv6u9oY;S8z0Mu$VMn^{@cj&b3%)jk*1S4vR%A+MlYlRr78DY$1 z81~v3Z(GGk)6y`EBFSYkUR!&+s;jG`Tq;oug8tZ;>z~}Yt9ZqU2+&)1?zlJUdHXZj zY@(3Q7b}&@9jD(q`JZd9x%%#`=j>|AW)?5V)+0)RfGCJng1*6FgLeM0T(0!~+kpc| ze*Lp|?e{$Ichl)~qF5@O7m@4cI=>PD0Pf%W$RB8>?hd2qlTYs0`M-6$b=S_#xlHDt z+S(R6b5X)DWOQVt|FMU^(mfYv+wNVTQCe@a#%y?E$Ijv}e3<;AwRPu?HR*Kv=;FnT zz1hC15D}`?D*1f=`9~jo=o9Y;@0~i}04|UMGC(8H0xSYLf$qP5_Ss|KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000HbNkll9W-wTW# z=s#nUe$@(ad}3Gu`zEF*P7dr;Jf1(vRsWZFt$cg>dETh(=k0fe{w@9cfKvzh&&V=> zSoz+G>50<=I~B_8;>59QtSjid2IzV4I=cqHPN2^x5PJ{wpLqqqYMJ*$qCD^(=ESjU zC`&#y7yRe)7)l;vV5eeYdSdkW#PHXaoxsmu?U8|1^?ySbvHafdT-_01$;BK&vZ~|4BTobd#*omkg=f`&;HO z12AT3P*9DvP5mlvHXv1#S;hBRfl3rxjkYw_HQFlPS}k#`1W0#e@%;MIS{fE8Q6#}C zsOBC`rLxqYoT8!uAqfybY+yE%ZVv#EO=q~5(geun++#OB={$I^6lZhpvD;EHz|o^e zCv&-6Ur$dDl}ZI;%&METu3fp$O6l(IW@csv-}kQ%4i0WEl}ggq1%*Q4liuFmzGAUR zUtb?u>s1w(YgZ`OCQ&NIL-`?6R;KMd$8m_Fh-@~??CfkgQQj6HpUlX=ks)T zcjNnhTWbZwYnPrw1eCJ*;Kp&jy?dl_OOk+%zv*tDu0kqawmbJ_pFRb$L`u(KrERU>zvQh852Fawl&|0%=)055l$qh;jiK1ws zR4P^O7y~i!v@zz3^?IFLE{E13C&v#nSN{MVX%LI2zc7MGBjfGadI&g#F%f64{hpWK zd4c_pz5sx2+tlmz1nSmpPqlUcQ55|v3`22U7u&W0#W!~R3`ea)1dIq5KKfH5-L_c! z%KN|I-I-B7u3n}VRuK_w+oo2lC2sg|O#nd{Oj3J0> zc)p8>BHy{0Q{yipBKUfd{X2ik-!A`<`PvL_Q0AsPg=6I~rcSj!(=ia&K)H-^*cJtBvznNXU8rOD(7~%EF-!bpafU>yo;a@OfA#q9GzF~+k43qt; zrBX?+)dh&i#VCsKJP*flcw*aOa?W~+*{u|_TPb9=(Alwp;l5|MFTDX{B2w0Ubap&I zCUrmCijPz5+|-&$%XcitZ36LB5CqTGYBjr9EMln?-`n$t+vZg&6%Ic3D@HE=gyFvL zvSah^W)cd+5Z86lT4USx`~Me!G3G)L1Pi|J=aar_wYqBQeR|Jt_;_}jxw*OKcvn{! zp66kV!Eu~(Z2^>09e^Ffq=1h2n?8N|vB@C4>q`=l)|%1L(f5Xi zh8_e$Ac(&@QJRV&66M`MXSrP7R4$hpA0NM~*N^ME|2%T!$Q!Fu3b0kIP{jat z%W14^J8{rDYtX6VC#VLZmhZ}Tr2f}a>a&*r4gg0XCQ)i5`&9q{002ovPDHLkV1k}o B8lC_E literal 0 HcmV?d00001 diff --git a/images/multiserver/view.png b/images/Classic/multiserver/view.png similarity index 100% rename from images/multiserver/view.png rename to images/Classic/multiserver/view.png diff --git a/images/order_asc.gif b/images/Classic/order_asc.gif similarity index 100% rename from images/order_asc.gif rename to images/Classic/order_asc.gif diff --git a/images/order_desc.gif b/images/Classic/order_desc.gif similarity index 100% rename from images/order_desc.gif rename to images/Classic/order_desc.gif diff --git a/images/section.gif b/images/Classic/section.gif similarity index 100% rename from images/section.gif rename to images/Classic/section.gif diff --git a/images/shadow.gif b/images/Classic/shadow.gif similarity index 100% rename from images/shadow.gif rename to images/Classic/shadow.gif diff --git a/images/subsection.gif b/images/Classic/subsection.gif similarity index 100% rename from images/subsection.gif rename to images/Classic/subsection.gif diff --git a/images/title.gif b/images/Classic/title.gif similarity index 100% rename from images/title.gif rename to images/Classic/title.gif diff --git a/images/traffic_blue.gif b/images/Classic/traffic_blue.gif similarity index 100% rename from images/traffic_blue.gif rename to images/Classic/traffic_blue.gif diff --git a/images/traffic_green.gif b/images/Classic/traffic_green.gif similarity index 100% rename from images/traffic_green.gif rename to images/Classic/traffic_green.gif diff --git a/images/traffic_red.gif b/images/Classic/traffic_red.gif similarity index 100% rename from images/traffic_red.gif rename to images/Classic/traffic_red.gif diff --git a/images/traffic_yellow.gif b/images/Classic/traffic_yellow.gif similarity index 100% rename from images/traffic_yellow.gif rename to images/Classic/traffic_yellow.gif diff --git a/images/Froxlor/bar.gif b/images/Froxlor/bar.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ca1c5e6087b36469ddc027ea4c8af35890fcc3c GIT binary patch literal 2631 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 a+*3A>O|o1SH<2LoVr4ps^N|Y(*!wTVF1Ek` literal 0 HcmV?d00001 diff --git a/images/Froxlor/barred.gif b/images/Froxlor/barred.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3fe71f3b28aba99268996eb62f363f5b39a06c5 GIT binary patch literal 2652 zcmeIx`#;nB1Hke3%s!vdTxK!08JlYuxt80pC6gLwDbU8gLLqhZ{eJ(5?{DAdpYVD-UaoG;?Y4nKKm)wZ1R;v3qgWIN zi#n?aI5<=|4t0DpDh>;sR70J@qyE?ooyMb*aWD@D3$Wk}0hO!5tX72WvRghDxe4l(h1-i4rFRT=g6p194Na_g6Xff_H#NZ(J*ZFzZYG0r9Z;+bw~#@Cv0jNTe3J@9hNKoM zC^3Y~4B<8%(4hmmbihr0kYG;h(FMJ_;G&scf+bC8rq{0rL}t3zO|<&AfXi02BwOq2 zTMfk4wCk1zm6is{PL8>b+bV6%^Biq>OqW#VPSH+!HQoNKJF93XUBskUJKHDz>XGiw z;<7!8_qg%AylVF_3)rlBPj;EtKE97nn!kU&7rXd3uYv$SiI4Ynf8R#m!)1Z~gLV{ly9;K3-A+|fdBaK zC;+_yrk*`_mIN?0ZcP;>A~W9^hv25SB|GerI~F*Wl@E(|hWE>^FNb*M*(O<_)}!7$E_1lC z+j_XUhEnDv4vqJoQ!2DgQmOXMM++xfBe0EyH*D&CJ5DbS+#5My=F=1YPY=rHpv0#? zRSD_AYO4#pmGq|SPb6A!ZI}yjrbor>kdb1V|1>LI`7NW!$sh849(D9-@_{3vg&Maw zPwSnVHZa82&>c5Jj_6NKd|8lkEnb<9eT$6v`+EEfe%-q5^7QS?$iJEfScMMpOB?B{ z&OKeRPBVR#{s}$*tgpVB$X8Nw>i%PS{?V%3?Vsmk*JnPv7AMTs4Qic}t!XVzid9aZ zPJ&imO5@Imumi-H;IlB96g@{F6H?V@(sVP!s2N&$hSW@Q&30-QsiTULZ9d#axnMJm zKEk)+s?QJu4+)v1o&9|fF+#UG_|i@r4OgOvDW^QgW5>H-k|(u2nCRp8P4|kY=ev*` z?^HQhc)*5pUA%|?E?B&;B_lM~ML%O!7#Y`IA@;6u3nqA*m_vlHg21_w^diPwX|_t< zT-gQYdRVE@#%@b#u0`Ct60vDVbxEP!I;V=qC(Ku7GVKOb=ur$veM2%}WULqN8O75N3zzOU<> zKK7trg@5W&aKf1PtLQAGY(kQH=}47bl2b^9t-ZYvDW?l@U;kupqpY?iKn#(~SWEW} zPXmiV%B!wZ_w`p5rfVesoN$!izBzA_%9aMUW<+vZIc%Kto!zs98uIZU23eH2(a1G4oDLI zDG5zWm-H_hKRfXqP5AWS+{gL^cIStd)_@;!4akq33oS3EcYJ8girBHxeP^TN(|AKf z|MD%TkL#;1?)V{A$BWrN78}x(e!veV&iBjT$@=vDM^Dp>u5Zou{_zVV6AkCSk2m?P zo!{2^vrj3;Se+q@W+%$!NRyOJ7#RIseewg^TxBbSENzH^i4!E7UqhfA(;3PK1Swdn zm*~A~bX5-lj}}G2=ovbzrwX`Khd?=fHb4ezqc-TWR7?c@E|q|V8CD48T=ly;Gg6qz zN>Xv(>axYCF`XS1q>^mtqHXs%eP4MHzH{xKVFiF#<)tdWu?MKp!pyMQAY#VQJxjhh z%43wOc_YkK{{a@>iVlV_i9lskDoESRrQ+}JqG&G(%+AhY2ySj}%q3yY@8x=WVmIaq zmCJ?uXAQ6#yZ8RGbgA6rwIQy0cwgkr+%#Q;j9MaBb5aV~Ys+Byy(50}OX$|-*NQ2& zqr|nFS9?em7QBoR%}YVZBC2EQ!1=te;Yk!gu6QKpl_AYJ{m;Ei6?bK zxAMg9!TcuC)BSI(rZmP*L^p}&Hb&oCoJ{1(n$S@W=qeRx_d~7`;Oj9whTPB!{d zqHt!;88`eeU2$`Xy{O7Xj_@%1SaXSLe7|$D;Nb;}<}%#tKBifoXA(E3Ox~+chRjB4 zVFKm17jid8<~^dUeW`SoRR0>gdw+qvYL)90XYc7_k1Ax&RP9-O_bYE6S;EY%W_;!B ztBd=43+qgcPq&fhEy95UBd;1pozbDrd9TX#W=N@xu9!{db^PmV{r;_7zt!P`9W$y8 z@d^w62;!k0#g%%V^+MqLyl35}R~j#TeIKM_{QQpRN@FbTcSX}ggl51?`D+Tt!x{xC zf90(-yMe`{E=2Fg9V_xTLN;h&zFFQ+2BKS2x=Us761uMmE2e`rR3F_sk}@9`)A9Iq{n@_vzVA~Hc1>8D#g1j6zEre! zy*|?rUAJj^z35=i7v9JCsXe~m;|}&b?>>=mdy|wr)C+m7ak=;|sp0muK4rd4vO%pB zeOT0wYl%oP9}Q4&7Tr-;kt8#G0u`JC@9L_VXEJJopdXd7@DYUIcG zq!7QW4?4X0d@-IBOi_A1;4=MLC@h#InQ08UpN~|{TbMQ2*FJclB2rcG5FsDc3k4`P zDbVR}Eb=vEgFGyaMdPEP)|KM1qtQ*Gm%oSFrimYfv@GX+#&D4n;_k}U)8ypj?(Xi`*x2Xi=hfBK;^N}o-rn5Y+}qpR>FMdw(b3e@)a&c(=;-Lu($de* z&*tXlyluH#E!=eL+4GkbJD%69t@T~{^y}AerY+CJdmnG! zyXDB`$F66rfBg9Q@Zm$rX)g~QI^;RsJ>_)lv17+ReEgI?G4tuuXKBlm%^ELUy!%G0 zGAG!Nk?knq!o3~B3X#M^B*Z!!<^B1p9pFPX9hrzSW>&~6K@85qATEfw} z{a)GH(yLdmz5DRt)2A=D9^JZj?Z(FsA6~zHbNBv(tM{*o+-JCT>(2fI2fly*@%#55 z(H&eLKYsr7>GStbAI@HX(zL4O;?46p*OM%d=~yi_;qBu{SQR5bUvSdq$>pnVfBEv& zX|tK#SB)P(zF)s_Q-1nM#dXhRx{mR$XOLYi{_xS`XHOm(_3v(5a$xeF+t=?tJbUH- z?YnoCjtSj=@#)a@7yZljoV@j_VtLiiub=&|JH%cKUbpLJOnzz z&6xs44t)GRV@>LrB|OVqj)@&z5w~=Shh}x+o1WUU)0RG;S%3FzAs^p;`FH&Di{I}& z@$s9#)hn6G|Cc#jjq`NUPuZV3(NlVOn{vn2IlouO=m>^fI`F=%@V4WkH=8vs?p>tA zoL(d~|5KMuTZQ3NuZ&r;JA6F)EVfNvwP?l3ib<)SX4iVtF7dTDDh)%HF}3FTOiBPr+h! zAN$^p>bEbdqMXXb)&;!aox$Q*G_8&2Nb555?Ckg&>GIxQ?{!?>=dLM=oOu5I@4pML zj6UquR^VAPzvb}fjI|P-E-{t+*T48^Gs`FF<*kN*R0-~dnfF@~x7^Oz*7hquZ>Fpq z>$~kyYagDzZ<8vKes#i+vqzh|MHBY^eYGrp?SXa%W`;gTd3)&t;uc GLK6T@i(fDR literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/add_domain.png b/images/Froxlor/icons/add_domain.png new file mode 100644 index 0000000000000000000000000000000000000000..d97a0f99f53c31f72d27d8e86e98d375e4584ec2 GIT binary patch literal 1072 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/add_user.png b/images/Froxlor/icons/add_user.png new file mode 100644 index 0000000000000000000000000000000000000000..71179340e00aeaa55894e65de80873f86bfaba56 GIT binary patch literal 978 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR|MQZrri^;`YhG#WTttKY9D^-RD1l{>HBlTUup! z^Y-JyBbk>rwQp%rxw2#O|3^Fje1EZQ^?~m5Eje}VGqXgGFN|<)_iUWj`~UKsqbtfi zPFqf$wZpJdKVX4-+tRi*RZ`MBc$!~U=5NVAzG>#)S7#nwKb0{nz4&R`%~Lz?-g}|6 zMdb3;2c1!ThZf~6TE6f9y-i=fe4Cb|d;h`9%00zteVMCwF0E2WGM+g3;J_r~c?*w~tt)-?`osS_YtCM{`~1Sj!U^TS zetZi*?33|4>i?_5$4}hvT{!*!`-|%~p3dB#`0e|T??1nP|M|nI+vVrCPhIaC7R_F} z=hVK9bLZw>Nxr%+{o2;NI~%HJ&pqg{*es+jzF}qkhc_?hE#CeA!`1T_A7pnG&n zzo2ntUE{q2{XfsneER&|#no}yOS6o&sMO4<`}Xkg{YyvwKiPlm*gdU2`6I`#eY&>p z|Ba;&k1Y6gb;YS=317}GJiD&o|NsB)+)IIR!O&0=cv(8E5l;;Y`WBSU0CsqTJ(vWNl&%(^wu4hZWG`;DK287*(WT1{-Lkir_>Fb zn8=hk3IT4MA zrp>&^l@(|7rZL9tSYA|AnbaCRv0q<#E`9s-X;vy{+{KGA$I8m2q}p~qU8d*YJVRJm z_bqqN%$YO)n(**O@|-U9-RclFi?idD_phBdGdFB_vgyW5b`Fo3O)b8q&Zeq=Eh1wg zB8yEgoswh@(s4M{Bew9tj%lLgKasPN7#l%u)jQ1riuOOHH+X Uz3tX6V4O2}y85}Sb4q9e09TYcl>h($ literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/answer_ticket.png b/images/Froxlor/icons/answer_ticket.png new file mode 100644 index 0000000000000000000000000000000000000000..7733dfd85a92fb3b6f1a4df988aa70a5072ada36 GIT binary patch literal 747 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cM&$sX5Z51TJO2IqclyfpSzVn^pFUl`bn&ZKuO8pNb!6MN z6|?6oSg>GgZurin3#V0AeEs_MMwZvqsZ*b3+5GtNW6P#ZXKFLMTRPvAIDh)|Y4z%r z6DLl*@%Y)jJ9pkrPy2Ov#n(EoC)<}VUApw$yLTtcqUX$+vwz>7m#v}47EOKh=+V^7 zl;5A;o;rHu_Ts*Cr_Rh>vh>ZHH}mJu|NZ;->1i!8E;FW2U%Ytnyg75HO_{KK-STO3XD?s0@=dYNg1HO+{Q2|x_3LeO=6rtt z;dyOvLsiY3IkTrsp7QGHvsW)({GFM;cv9Qv&!2z(`n~_q-pdy+emcGL)v0}de*Rb& z?tc8p;p1mcJt=bAfB3|#S+joq`ZaUr%>Q7pw?|SO7^aCOL4Lsy5!#Uq>l*S6ftG#r zba4!+xTSI?+PTRet6B@Zrq6+OzoQPfM}&Q~w-@YvF~+s^D|DR}()Q)?Ml{$ZARJFc=c zoM+C+D^^K3dHzgNoOSMV-$R`&^rYb$0LAa<=77Y2*+gEV8$`q~Aq&f5oQrLWP$^9XMpt}bl|s6~V5Liaz`Biy zST zn$?;4nE(K+*3_ySQq1|s>55d6?@eT+kY}rY*VfqGZnK-LWjo~gtu=`vdMVy)|K)qnxK<> z5^ZjLQv5oC&?th^2rUcp{41{sjDW-$IEF-)<6vIdyw^`0+%Iqvtku8~1e^=Vq6~%M zXh9jnN<77b^~R^2c7|r42rBS=3_>tQ5|fhGw;)p_f;0GoN73cz^6Z?i{{#vXG|A%_ z1H*7Qj-x0mvLeTE;c!?K#n3{C71$`kKp{wyq#End5j-_Je+!qRFZI7=_^&7hDQbG@I}Te^==ceLaa$&z8bSjNsWs z&|sknWMNG)3u7P%va(DdG#Mqa79&ZKF^G_pGE1>&9AyZ`v#E+@8TntC_8u8a?eUSV zLD%?S^ZzC=emxLNZSB;kl}$%L?VlZu^ErHp>3;l&ZZyTx@GYM~;eD&t-uU_Q0RA?vCGe%7c zATtCPO&KoM?o9|5t3%G#Io5d$WrkesQCqCz!0;C%c}tx0M4HW4);e`{ZqlP^AD+$P z@Eh6F`g@6n7zue3_-1FGoc1L`< z*M7c9m3}g}FA#}6aw~p1cKn#L;7T94xY_IIyS`@V#`k*f+P*(7N8Q&P_c~ASxPQ(y zFo3(uf4yw`@u99TVlAItae+lPjc7ct zY|XEmnfdl9(RKO~`|-W$9Zr3T`hA6>yQS_B;*u>xs5&cjVRT*2K-0PBa{;}!YtmAu RvZlTPXsUJUA5;fF`x~U&g027n literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/aps_upload.png b/images/Froxlor/icons/aps_upload.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f9998a00ad3256ca5cf329b25c3864d96bfcfc GIT binary patch literal 1050 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 Lu6{1-oD!M<=Q(%1 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/category_edit.png b/images/Froxlor/icons/category_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..2e14ffffbdbe322ac831878de0ad70dac402efea GIT binary patch literal 1012 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR_~^?e5w6XvMOnhj;Dz`C{{~8EH?y{5y2$@RLi& zuPhCFbu9boyC3&I{{8mt+s2I>w{6?@=+UF6r{~;%`0(Yof5*FAudJ;8+U$L5PWI2o zISXrC_w3qza%TLG$4UFPZU6r9(UGG^-@Sc1apAh3KY!LuUGenk(`{GYojZSF?%cWU zTkcKX|Mb+UGfy8q{P^+X-@kvmRvtU~_}kvwpSGX6e(1vWm8V|JKKAnYix)>8e7$q$ z&V-F;&OG~3&@%1z+uwhF|2}r&q=S=%*p$%ivbULEe7we!ON^YdT5c=qV&(^CfzZC|@;*UI^uH*Y?- zCj002ub(cizp<+1E~nL;71E<-re$W$e4A^1`{uoi$9`XLo_+Q4&$4^` z&n+3Qsw!Pv-25g+;EI*5M5r9^<;={U=$Gpa^(9*WEE|S_>*oc^z-4>t07qzQ`*|!PG}eSAE=ZOid`)Aro|~Jmb}{Yq0Y+2x~zJ#%qQLizr}gaj}|R2W^TG5leYhUeox8%*|!|uh<}O= zNb~(?#rRtP>^;A9*BLWTHnVD^)HdEJ@nhU({JnAU*3-W-wyx4UA#ixw%NS**-14Wk zv%7uOQ)NH*>dLd8al_ z_RyijCr+Q)w`=$0{ZAi1e*F6N>ote36tqm+xN*bZzklES_;<1^W81cE&rj{&ef-dq zbH@(f{dDu)pSTmjPai$JdFP%?k4XELdn-@9c=+sL=CZWZ&52Ln{W$XA>x7MG?mv9= z?#-)XCr)~AbxK?nvuWpMu`O&LKYo1r>gmCw$KJkv_4E7J_%$(`w``fU^FqVATk9{p zIe-4bnoA$nZ{7H#!ROfFV@FOLK6UWW!~6Gp@3lO7_+azio%^?Jo!L^eYvue$PoG_Q z@^$m(&3D>UpTBtV>cz9d#d&3`O6nFIn7er1moHz|Zd$it!-kD(R(UUW{PX*F$=>{+ zyfC6uxtuD5#PyV)tsUp1{Zxa||F^3B+DT10#6Rh16Kzxw8J3pM6EbE?|= zY^?JmV!;2)ooewg&k-FyUtgwg$4g3KN3|=P| zUYvIMWys7d;rmOL_JC*a|m7Jz7i)VKo4BM4A?O#>Uxik4r@lEgfGwwUA zuVl{;{`uhTm$>I*zxQqVc{@=3{Ov!oWwmQ~LeG`97yrz;OrNsu_jM;Ykt+0Og{K-B#>xztKwp{1z zSD&bnvoz?$S<3~hx!&6y*#DTfxH73uL8dI5arWk49~0-adv~aBUT9El^FY|YAz{`= zp2wMyk{O>QxZFQ#&q`yBoagzdbm!p?NyEJBSxo`WJ@!t&1QQsR{cUkIVEmK@Oc)HF Lu6{1-oD!M<=Q(%1 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/clock.png b/images/Froxlor/icons/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..e2672c20676177efb2fdea593b8f000fd5f12342 GIT binary patch literal 882 zcmV-&1C9KNP)Zkp%;s8}r$h6cUMpt8KZ&`memftw9r2BH zXZp!+CFaEnJk?xA$eKJbHrNPn>;Axd{TeCT;zL2Z2lqOE#$fse--k~9GCAnb$WrIY zUzF=05;%7ScRp;-^ba=g4+!_yjOVxZHrAy=-Qy;3W{V_ws3i3@rj zN6Uq**d4Ifp5hMksmBf!JrmJQC(GkeNV1GOW##ZtQFwF|H80+P{}RL%{YNk_%ft(I z#;Cz`v~ti@ZP83cwQ@*mu2Dwn=d>z@4RV(M%#h6&LDo!N4vuc zo|;?G=MQ0U0&vMd?WX`v6t{tSSteePbgELlMO}xKy8^QHBD{2ALkbX%5TpZC;3a)d zD?(MwgLzpdUa8!vFvP literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/clock_add.png b/images/Froxlor/icons/clock_add.png new file mode 100644 index 0000000000000000000000000000000000000000..598b839b818bd0178517bdd88669bd8f9897a5f6 GIT binary patch literal 925 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/clock_link.png b/images/Froxlor/icons/clock_link.png new file mode 100644 index 0000000000000000000000000000000000000000..481cf04c12df9c3a81e58f2b660566059d55eae5 GIT binary patch literal 961 zcmV;y13vtTP)=R~W}{mY5~mvTuu@_L=O9S(e2Z7eNN1X^TnY65PZkMq2E!Myv#IPD|MoT56%$ ziZCq#3bD0~B5HgoEtjrXkwUE?RZ5qlvz1m_+VWC_|IRsa&2I9$dG2$b|L@#;aybB8 z>K69_K}qlu9uYpI{r^LH8{enx)0?|Yg zbBPrEp#-|`O~W`8#MK*3@b+w3o^1crL$W#SAdX+Wsj0U3(C!SvM0TUs+jtz$U%kc> zsVT{I;C%ly42~B#W#aKuhwC?X2K2VCZPZb9&4=@M{Fo#=r&rgJOsDaOu>%nzT3B9& zyj@u+eBlL!%m_fgqlS6R2;{u%7BnBYsdc26A(AKW2jbs!pXq zc^yaEhH$7_i~zoPN$R2h(sba6MQ2#d`+0xF4aI$ zRRfRDhZCpkQCwUMi9`auUXR+^T2>21B8c}NN>YhJp@?Vy_05u|a^YS{MyaZ2f}_ng z ziy5>oEG$H6Y3U;>C@(LcXW{<-{?7=>fq?=nceM9W+x?0x=n};ZJH45VhjX-Vl@c$LMez8BK{Fk5J9h%Toeig^+qC6 z^g__y1W_;*DNWEus)9z4+SUg1)0oC4joIC7vYAb0XU;b}`+2c3_Q1J(AKvr697Ai3 zH*T1~Y2YLvK!56l7Va8v+-L?a0RixG>V%#HFp6K30Nzcsz4YRq_Sf$57eC9-uDbJI z+2<=j_l|yQp!}SfX=};ElTC)qzVjC_&~Q>O8@VqyWgQuO(>nBgYiV(G^Y-#w{QK4m zj+2b2OH={yLlfnD9M2Av4ng#OU5KV3IF5B}2ejooI)NtPq- z?`))DuZhNB!;ScDc8#zuMrz|c_j;p}*q)wF>e35_)|$7^U3@>*aQLl`W`_pRJbS#I zqU%!deA-%D0H|pAe0+hbqsiu1DR}YsK7QqqQzpP_rS-w8hU%8$zOE+96-^?MVB))P zDY-782$v>)Ak(!UH}B({`*2nAQGhsr_+EEK8MsoVsi_W$G%4HW&e9SSmw#gFkLx_~ zVS6n{=fPHP-MB_}Wreg9iQQRe ze;78NIdl1Ua|bY0+A3qjt1M>AM1~2bMehTB#7u)sCPPphzK4|c^OQp@1yvu|8^`1Rql9jVO^rWPyq`j(K*<%v~I4%{UU zM2JGsN-0BY{XYQU!&i^ptgo-P^Mzt`dh}*&#;`GC7Eh;ZfG`X(tBR_Q43XNODWz(F zv9YlH Bw}b!y literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/clock_play.png b/images/Froxlor/icons/clock_play.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4ebc850a94b2c8c59502f38230ac54f164dc7c GIT binary patch literal 943 zcmV;g15o^lP)GE3cNY&!T;=j^f;gxRLSB zG&}X{iKV^(TLqKq((nH^HB^n^chQay$`D@KFoIjnHWarF`VjOrt_N+()gGrw;^Es) zekWfGF_*F4W6rycY4)M|Xov1W$d9~teRyOXfP(u9xvB$sk2`Shbq^GVew4gr@kzaP zX59LCdg%EwGkF7;F9pnouEP1|#-f#;Y_{cdNG`6*NqK5QVM8yJbeph7olboIHi!w*0{lB+uni}?Wrdw+^I36lWz9>_zB+Q!R?Y#*eJ+7IfA?SK}c<`81b)DS%WfNkkdw7agekd(LJt;LA} zdbHK;#S3jCdh9L?O#>;7i74;R$JJH|5^G}+nRTnh9}srxzBoes97%U|kSfg>rh$!m z0rw0++Cc#)*?5$g^H5Ak8dDIh+>J>2=C!_n&;)r9(Xr)x6+{IbvXosg^g6)PJa~^6 zM$(5Xqmkbs!zIIM{D^?Dr7 zWwB4O8@cTnIMbzn`GdXciH?#bSZFs>;4sc(r;{{_Ow*WTd* Ro>>3@002ovPDHLkV1hPn!1DkA literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/clock_red.png b/images/Froxlor/icons/clock_red.png new file mode 100644 index 0000000000000000000000000000000000000000..2842cc3386709236ba7608965c716054c08ecfe0 GIT binary patch literal 889 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 Xy7l8Vf)NS8FktX>^>bP0l+XkK3{e|$ literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/delete.png b/images/Froxlor/icons/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..3141467c678d2b53f79deb22086a9cb3a576a08d GIT binary patch literal 740 zcmVP z|1Ep}yDQG09bP~E^Dk?@JiKQJ z6-pO(3~IOP)IYisL6D6;oAEd;E%zR}{U$rMRNuD6nQV7nesKS>)yLo7JuDCrD>Abi zbj3uW23?^GA}9jQ{M^8v?ejL?HaT7AX5WPZNkBmfN`w-jL?{tT7ykZt$%Yln?p_m~ z-?>&d(LD(jAd}h=LPltPQbO$*Wbyl@G-_k5jXbb#qffHY03>M1jfEqoPJQ6Mr=Byp=^jfzePZV1 zLjCmNi31hdIJHa%e;5g=1(`u3BRzfeExY%=VCu{loOr{`%2hUR*x>tL^W_TTaj);0 zpPR6CUD1+0>4TQ6zVfH3TQ;%l6#(_%yspK@3gcmG#Q4!WCPyLU93nMKk7E2pcA=l45({2jNho>sdF*A~bA zxX?-cp~y_z_kFf+yqu3m#QiB}03?Z&9vvR5TNgj<)($Vm)xq5G>|o2sFMag&6aNF+ WAT1?sQBYt20000KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=00004XF*Lt006O$eEU(80000WV@Og>004R=004l4008;_004mL004C` z008P>0026e000+nl3&F}000C$Nkl8x1i`#0dtKxG)hB z6m=1B6A_IeSsDl;*|?AhhO7b-+=-Y7W*1a&siI&u5*KdVB#JO2D2x%EfvEH2Byq;~ z`md_)bzLIM)J-xE7>)e+wYePDMyDVrFDc{JC@QUiO)g`hx*4 z9y`hPQUOo^GgJ-JcH9IsyYXe4mr&O=M-Dy3OD`OZ0KN;!!@KWe<<7@>{h2*nDHHF_ z{YEGonzBJ-L_@-fL&UJCSW-v^2G_3r#pSQ(+8AwIe8(bc%Bl(%F3mA=Ie%Ptq$Z&$ zVIdK#8VeCIMa*#GsH(`?)xQ{SjPRN3aIFLG_-aBz&G_IChiSlh&%|vL5R^D731-Bq z!8DPAQfw3y8wD04#7G=&V4B8E;m717!g_2t`S3LJ8x5cQT9V2Jtzw&TOw@Hny)mRI zYA^?4pb3o);v6?~;l~P_8DSK8Y}Za$9a8-8BXLxbh83|WNM(VR6&4aGh$t2!sjASr zL_>|4-N@K=N~b2Wv9`j;7k}obm34~6B`}AjgoXxdVk?*#tw#hT!}%PoOTy?+GzQH6 zm9Zve^xGQme0mWz2r(h91-2L=MF3nrfn-_hNikFv44lvZVL&%_g_z-UVfOuFeE!x^ zND4`DIGppie3C4mL^9v5oo@?DT+6S~QPE~R_6Sa3qL*{~pvUabYhZ?$U}`rsF=;bR zip7Y9fQAN*4VFTi{a8H1KtK(&jy(PHITlxkVA2Xwl;<^%c4)GaTf3o8}V$Q%jq}L->J!~{WZ=%Ah89sAt-9E!B zM;^lYtZhQlH5k|Vyi>!HVliQ=m}&v32o0&CvwGQPII4= zWf|UkQc5%-5JFhqthoQWfd{?!W4SHQ^9H!<|IW#n?CwvH0e&zT-2ccUk3Km)J^es$ zqW8qYFTXs|S_$$zXUC2mUshH9?b6ck-_6d>eg&)o$*dz7@Z-t0ZQHUfTeeKxbI-j; z-+1%QGq>M1HF5s4^DHhdP?jaGYcfsK;4-&w@7}%po^FDT-pMEUWd^<>l{J%=R2Sbg-ZMyzOdrjfgNcHATNaKvkKapT9oY>&=}y zb;`DHpPpD)SZKx-vPs3#(vr-~%=FFdjtdvQI6XHvHwiWavh`M*V8Hb}_Y1ps?}_{O jKYKz%)`4cc;qL(eSYN`sosE`X00000NkvXXu0mjfJ=HW! literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/domain_edit.png b/images/Froxlor/icons/domain_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2940771c5c317b5340d42a6ae8ea28df05104b GIT binary patch literal 1054 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/edit_group.png b/images/Froxlor/icons/edit_group.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb9b912d06fc1e646d8f23e1cd4d949196da827 GIT binary patch literal 1607 zcmV-N2Dtf&P)KLZ*U+ zMZqD61UKR0ATHv^)-h>I5gck1NwPJ`rHVGW++068`4T>agNvh}Z%}a%oO}c~K^z<$ zB4lt7!84uz8UFmBvEp_7ZetEcxivx0mthpknMbB+0>B_Gwb$=&1LQ@n_`&-#0^n)Y z>-b&%#%!vM1wMhzOqD5!bs#&l+Jd+Q+~i1G5LbX}_JTHuJHQ!MJ^`Gh@)y7{VHAUS z1>9j6#n1q7lgeGdwd&jgvH7ey+o)$(IW?)qYRQsyk zp4P`o20fquC5&QO+1m~R5DSyK)ubop^jn2^`2DVbjPJnEQ_@xV|$`ith~00004XF*Lt007wQ^&Awc0000WV@Og>004R=004l4008tQ004y1 z003=Y008K0002CT000|UgXaf$000DnNkl1uY>>PG>+uhO@+NO&w zNGT;~Ktw@BK%_wZtx%Y9N+p>fDyBZmY=ZHr8h{aL_L&2IG1e74CP8wJsaW#%||;_p^XiGS!h zh1F)>3!8Zl$MdmZ^>$`0-h^d~hGl!tToe3RTdkd&ymH_EmM(rc(aGWV6#c%1UCBu= z3Z7&%C_V|xa+rQcBNg?_nXzmOlOhW+O?&yC&D!KEhWF{N15-1ZeA#%;+^C7;D@F>H zl@C6-jcj(Dva&G6oyj$Ar@9}J%?e@ZvLzUL7&TM{qXQ6-D6L&g?}g(tTwACG;sEmQ zFMpnrNM_$1PLHnhYZ?u+%LoKyT2FPNYbryjF$^QX1NT)KhguSh<~1U>PXo(>Yzzb+ zR(22&5CvucEdX*hYb}UI)9Yr|hY1*dbWI~@_z4CybX~)9at!tSPFMS024ZRY`(w#g{YoJg>|rOX!-0u4x#4oq(YeF#H4p2D&Qq$I)G!JGKki zr_tW_3xlyFh$>cQh-k-Y+Rj87&Pcc}vCCjl6iY-&Lf2IMnu=j)7{-5aLsuxTs$t0! zo2jmwk5h2y?dhha=@72#F=9y^X+BA6Xeg#D;?8(R{&Aw?imECDU03lN8o_`@QP59O zkwGA!q4`9n)Xb-H-g=U56Z0V1`Z_$ z#~Tmsj~4lL4NX%}6(5SCpz8*~V6M=5a$n@)KOMMk1ldywcRM_-YhY(+K6Q!KfzaF{ zL-}fIrPNCS zmnxp$+J158w12Oz?C$j0zkmPcg$>UioZd7!@y^n?ixUGEcP5@%l5uEN{fm7C$2K%x z-d^4subtqj@bKZoP4nAd-d^|i!H&1**Pog0ye&uK>Y*83d7hsR^z;@7KDoZ_|A#vd zuI_$+qy5?K1M}uDe08SbD67x}C9kfegI&BElf^eCzxU#Jxj#>>)uux3`yI>dcTyft z{=15}dOXQgIebBPlFCgn_sh9Ksf>#wgBTdu=PW3k&3uMw@ok^>RMpU{GexIFN@-k6 zbj(lSa7qu#KER>0c(YlzD*K_G8@ykKaT^?&S7iIiviq0N$volt-#c@(x)#m8ncU)ov$kFIB?~us$#0S4FAMZJA(f-Ku+_`qqV-HI1&q}_OSn|-b^ZfDDvUBo!ukCBvJBg#5>rHI= z?9`(xJt~)f6YKcu9g`!bzHix_W{xH=)rA*!A4*nVy6SlFi)l`#yZZdavo_vW=9048 z6Sr#LiF%LFS>hkH_h%Y9IZ98xIn_JxT-f3C$&Z>BwA(YXF$A4my5aeU4mn^%GkCiC KxvX z`SWM>&b1dWT{?Q~*v(tFT+diPefsp>yLTSb-BPEe?K-+A<#cS?_poo@zHQsKP3|k} zuV25bR@D6X@#FHnE8cD1pFVxIKWbvSMQhitUH|_5$ z2M-_Ky?gh|moKkhzdm#QT;;;5wB^a4K7V=qq5+`r|2-Jy3=-=T9y zK7RUm|NevIHSsyulZp=HS{~CeU8rxh)Fkky9bZ2O$5bYvcD@4#4#>|J+`fJLiUM#s7AvE*gBgcCEmm6GPcu)VIe#VPaV8NS>U*zRxNGGUdFguuZbBm>TvN^5v zZ)e-{b&m11GaJ}u)lXws>QjAAHH_uM`oR11-@gn!u+7?4wcnvR$j30xOf&Zpn@WWE zMi#&P*OkW$zkIUUyQVqm{EdR6UmX;_Ry{7MHn5N>*Vb)z6lx5s`26ovR8IN!=#^Un zm%BO6GXB$5d`G3l#q3Vv(OjNe^S3(mS?Wmye_B`K{wABHO^r)+@-)%sVNHssHzo0F zOGyeHc3a8+{M>%)NJ}m@waHsUwwTpj7HVUi5_Pv~+y9rYzn)#Zw05#b$@1Ilu68Sb zdGdOC_02br^WUe}2ynhh*tz)6i3MMun-}do@jRz$^RLZSPa^`qc(>Pz_MUQBuxr=U zI@YgNHj4t5JA{^8|1(e0b$$Gf6Sude-|mS_kjUrX$zxQ#Q_}wJ+mE(W!?|tFug>t| tQ92^O=g*8IP0v)iy82Ts|3^14GDHRM!_rIr>-3w_Y`w!OEH+gbIG@SB{^H#z5*lYGD3 zBw|r~-2ONW1`|&>Sx_2r+&>c=9U*jf;IW7$0flb^W%V^c6ZrxabG*8qLQN&qk!jRY zD!KYngN&Mw!93DNdcC~RrX5oATa-%GOn1@R$SK~r#QBAV6^&*c{N7|T`Ft>s$3qar zs-6o3f*y~@Z#=8L*B=gtZ%<9>_}!ZVhPW$lb)ZBhm!q&01VI(E3{rm#8{P@I#CIhU zr_*J%THS64(k;wM=L7=5n!(`JRfvG_IAoapAQiV zMGw>~W=lj{{y+eM5tkcsx!g8~W6NsOuNgMYmOC>udc8p+kp}#J`VcY%ZNdVM}Nn`1EQ{c@(w?y$>S?8@dp zc}4P3npi4zFY^@&g+(RU0a-5n&D+cdP{=~ja2O2-gF)G~V;0ee;2-xr5ajiGU2a!+ zdnsu8y^4@37K=B*PsO)-BL@zLGd4D+`nCW5k7wKxhHkpbVN}79&k+B^e|546Oo{~7 z29y%Z{@eU-#N_NMp+$PZA`~1iZ`PE{x5_l6eG7(?rDM4E^cS$&7z#G)>YXF8H%?@K zJC6srmrLw@ys_PN_LhsG2YBw{60GS4N7M4w^rYQ=RMwCJ>aj0-*L(cCLL!Q^laHs1n#aOl*l zoam`6ZexZQBHpT)b4h>#HY^r-JPodXxu|COk zDtM(9p4Tv&*hMcb6UDgP&=CD=BYhW;S2+|AzL?bYkq{a&X>O9ybar1xr6^03*r_nK z{(QPVrN7hb=`S!pJ8C(<&tAk}(cb#1k6;?_v|k*ZNba1rZY#Obj|&IUpi+j@=EKorG q%`4YwUFSFAaKqV@K5`r_Y7eG)wxa;Zsed$5APk|9STKE}>gwNVzO4oT literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/emails.png b/images/Froxlor/icons/emails.png new file mode 100644 index 0000000000000000000000000000000000000000..36a208b1b0766f4d38438f59840502edd18d3800 GIT binary patch literal 1058 zcmc&yjZaet5Pt@7%E#u%WMgCtF=4vY>`Pr7TQ*TZn-L&TCy^zyO3NH$4rERk%VYvW zhYVsU$wrxA=(g}-gbIe1mKIv21(g+O=_hUJ*K4Wmd+qz`d+i?XkJw%Ae!0utCBM77 zR+xW0IpLKA005GiC$fuZOxdulakPiO?A}I0YE4c_P4NY8&3Ei-4vnQrXm$Ts|!piz5VyVFXSP zN~Kb(TXDNR_BDsiz6QaeM~|QQeCuOlV+evxPD=E8y-KB8)@q$@&+6)`&+n&a7>z~@ z#extN3_>2S&%A1NI^9B{@b1Wn#bVWHmSz+R0>j}j;&i!I^oB?zLQzyW941K;L6B%P z3PG^L;Xn`+!!R5tyk4){13nD|LZJ`{f}=vA!C)kaNO+?-2Enig^p1`S34(w_Fx`Wq zXq2K56n!|WvRZ9)48tL{T8-nF7xac;*lM#cF6%Ul8qiJ8^H|Ilm)q@I_p9gTVF;E= zr3RDP=Uv}Wzdsg>3Iqa@A}NZTQ9RJ;bYvu=ThTim&NYW~QYsaRM8pP#==k`34983+ zv(apk%H^{vHNC`e7>Pw=bTj&lP3)PF^0B|@gI%d9$}j#e^S^oEaQr9b^j{1zv$I&2 z^{ngosh#YXb1m#MTUuqQ?SiJQ%9KM@pYnd)v^oB>BaJCTw*-BrgaeF=l3H9l-EnK(A=Kg*B zT2rF9y7#0@zhzmR$l6crDxc7u+det42tTSjeXMx6t@mNYiGA~$`j0yM4tDM>37nL< z`l!sb!WT2rZsdvOWBVqd;s%WUG@#?K#2wvTYJjwgJ zs;YoxiG9IWO^N<&_{y_zpzpT|v+Fr3FSD|{@%3*9po0rPVp;sRMLtkRDF literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/encrypted.png b/images/Froxlor/icons/encrypted.png new file mode 100644 index 0000000000000000000000000000000000000000..a06b962fd44fac15e0e3aee48a394fcf4e81ffb2 GIT binary patch literal 3827 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/find.png b/images/Froxlor/icons/find.png new file mode 100644 index 0000000000000000000000000000000000000000..deed6a8f35a5a37665a55ef8ce165088425d0da5 GIT binary patch literal 3321 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 Kd^CLK8tFIKH%00I literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/htpasswd.png b/images/Froxlor/icons/htpasswd.png new file mode 100644 index 0000000000000000000000000000000000000000..6d27c343955b509edd650f09310623c1b115b7db GIT binary patch literal 921 zcmc(d>rYYv0L8C0Tc)OMy-ZtfwjQoEzqDCvHA|O-^95zCX`zCq<`YFXHKL3RQ|!i_ zHbT+TqPhv>15vR^te6Tkvm_WG35XyMMHHo|{)o`4IdA|}S6 zW0sefZ8n?5VwszpTUb~a8ylk(B42<-jire)0i;kUluD&uuNMde^Yio1X=NY?zIqMw zc)ZruR-@7Q?&WQTwC7`2O;Zz%OeW83MLLz(sujp&GX0MM!E4AkGqPm(Jo&!KrXM#d zd1A2`EKh)LUJ-HYSS;2{8vcGhLN&?fw2*~DVHdp;f}mxyR6Er(E$&dO)mC*63oK^b z%Xv_eH1dYT0Ws~h7?W14k}&HE<7R(+kVqs7Sr3s&0Xn`WHy@(a=3+zvuFmM zJ;=4pjvF$qfbrold6|#&I|tkw^p*lBkUj zX{E@TwD9ik?%C-9D&Yc5%N`va?W{{v%i2wTo#L*Vmm+r_1GHv)RA?N@;_eJcAMO z$?>Rv&3{WE(i@rO`9&BaItpDrohiAHB8&jMRd3~mWVJb8i18y32tf?A4E@zzdJkWv zI#tcnG4>B5*D1P+VdORhx0V#h*-j4J>r>{%rXtSpied-rP#xI#dyyx-Vz7x&PNpXca%WIYV((o;%|&*x(1$vj?5rL)Q16=>SAb Kd^CLK8tFIKH%00I literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/info.png b/images/Froxlor/icons/info.png new file mode 100644 index 0000000000000000000000000000000000000000..f59130d14cdb347518b4fc9c83bc258bacc2fff9 GIT binary patch literal 2184 zcmV;32zU31P)$q2MFy*M|bbu zIp=)moYBk~p|$4YjHtNLQOHg(TfuAuEg+Z!e_WzQEBcAT$FV2Q1|TK|qKe3;lU*IV zI?g+H>zcmKHLKbh8xn~q0Q2)@CdOvxkH0r^eDv_KSBs-#dnN93Wxc2Je*?tKZ|v^4 zbkprSuG_xl^2>VZ=}3`^f+<1NRJ8zKL9V139GPSP%Y(e|r{rxCvbRTmH-YR&-as`dBq&v0JE0wV&i9G>FQ`+s+2 z?4=jKTGo#r_(*`5xcTDs*I)C;uid)4y(<}^SOCSMV?p@h`Cu9#1-L#~X829lA!@^k z!?A3Mhwp!4NPU!CoAqGd` z_4gJ5>lU>RB_4;de3{4Yd-&-1%P(A2(tAegKF#`%xVTBAdwTD^>g&7Dj|3Jc$Ai#d zEx$sD1?L?Z`0OPDLx#GU2AH0QSC43HbFmWjY|IukaVN%=U-`oNr$$D8?ueTPiu!T2 z3_x1;wf$eZVIUoK7#o>I>zZ>RLg%$&S6#TI&&H6EWu-f}HQ<>8Wh&Ov5@@v6Xdpii z&8Y@9?z(pOs}DT%1n|@XKuio+om(%vWA(aTaq8qG)slyhp<^lKvMjhhoScXOP0Ikr zrYhv}d7=?Py{ua6MNyh!(V%->FM}6ca7SDW{JEs}xF&#MM7DNs-?F1PTVQTt3N%P5 z7o69hqP7@be5=5QF3HaRG(y0U;WEE}Zh}hL$E%9vj%%WnLMerlPO|#a{%te=IbN1%vPw>z7^jrWV;IH)z*3O9Xbtx~HqRfPi(y9uLnCFXp29LkZQ(6{Z zK(SQBX>Jzrwzgfs^JZKOSlw6cyu4WSm>i!VsJa+t2w)h-iVR38QA*=0n3)OJieZH1 zF^vz8Ua0`BA!*qp)~wzZ7dJ&rAt@z z%W1>36Bx=wN{ti&QZ8n|bpu?_<@8Z?JzUqNYN|8VUunY9`3j@r5lzG`5wVh{meL2b zpF1v!!}}0+GltWF6<>uJYr>2qF|8nc1iSOE|OimK;fd*LEfTBGYx2Ofc6 zC2;5Qic{!vf@E?ln5H(BR&xkZv7DBeupG2s!k<5ZUz!BN0W*QL5=hfQnlY3w$>AjDWCeVunD%02wUoj7x_=haHLlkTv+)zO2I;XfVt; z@#eL-#lo>b=qXv9eNg2_NA}0hX(ry(14a}?1cVLJ4&RL!$mkNWR{(^N_7bVhUC^~b zT11lV#G6-BoSNKU%|7T$fVuHgPitLu(`zombTYL_?Ins!jmE<4oIa#g`xXtMm+9Fc zEQIOM(0(4$ig<+F@x78)2*j5W=W^ zkJj`fHU0Y2BAV(X)3=G-*zmJn5WKMnFmk^dJACvW!>YQi>$eka>;f$pm1|K5X+dp! zUI`G^T^MHAi%EMCL>ri~MlwB{u@X^lYH09h?ulOp3jhG6!*{=M?7)i;tlF@aOz&k_ ziA>n;%CNZ;wXGS%837C<>>Xr%+cs)VAqLV;knX&Ymh&%Q^xtp(ru6Pzf3NGAON~qo zkKNfY`1-}&o44*zN-*{QJ9w39cox(SqiBP}=#_OW;`7qm)5On7;rT8~ zDF8GQ!%mWFT}{{KezIflzBD^F`om?JJH08jKKZ?_bvw2_)zrSJfB3DVWQPw^$!8G= z;*LW)ohBZ4Kv+cVNZ6)%0ZMteZkgO%j`@5Z-}i~clcd_#(y?&^`I)1Kj=%QW=e&bI z9r{oJ0JHxGoohE=^hn3LtvjdxlV$4I5xl}Q$(T(ll_u4Y!f_lTwv7-1-}5L}%FO5U zvi3AlnUm1Sq^avubL-s4we??&Y!Qn^HQ8qX0000< KMNUMnLSTX)CrQl! literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/ipsports.png b/images/Froxlor/icons/ipsports.png new file mode 100644 index 0000000000000000000000000000000000000000..4915a85c96a460bac3dda9d85c082cd36924d4de GIT binary patch literal 1507 zcmV<91swW`P)qupVK-A`%^?zQ!G4b}Le;v=|oMWLlQoh~3 z^g*yDJ(*t9pM7@67e2XnXym@GY^Dv6d4EijC4`8n*XB8Y=G@F551jn*jT!&vp*R%X z5o}63`#<%>z>7Qfd~QoRmBsgbq9_JHmZkqXKv5J7)1+3b@cZ8!{?nQ9sV@iONa26L zhO~3d*4^umefsgO{h=2U$1!m%Sk##&i4&Zre+wQ(F^Lc;vW%|l$SNFt>FDc!JvOy1 z5Pz7x1vaFo%;C}Q@$FA<8x6gXD2h>3g-ydNiK2)?xkdVkUP@$uw$5blM;;g)trW|YN@e26!*iQly*|zOsmsjdia7Ne z^VKSCw!(^KS(f!=*z?2&MC_9<7OBoVZ1}`SccxO_ZUEVoc6Y28==!GT`V0FUjy&Wv+vhn>0)6`kHd=XDQzLABdLm^)v5fZ&?v-?cx zX+zfa=n=EcT3#&V$rnmIxan^4g;~y=eUl()QLoo&G#s3Iol0enk)bs#U)I6Wo_1P( zz`(jbHVmyMUno*4ma)6i>s2`zQLJqLUaMUlS!guKW-K<3+{=%iAEQ{BBML)&-zNwH z>Q0k~M+ce7RXA|y1o^@&J>4C&XKk_>in4+HA6&39GwxWDDLkdl}nNb}nG zIjYqfrfHBQF|sTJpsEV1`g(Y9^B^BueHXcWh52d&T~jd)jm4cA-nu%AqDWvQcgtSj zbymt{T-U{EG|A=5XqtlO`6Nk#5CXU5GcvrEhep@q1p)UD_p@uqLkN)&gb}|xe1gfT z9I^yq7=j`?eWUFG1|IH&)95kx{5h9p8DiS%D&Nw(h54GT@v zFijHygmFa1PV?)Z?c=e}j1q=1s;YA7$|NUFUF08^CrPDDCa%55*wGVYvo^Y}W9T}D zVIryaC0Qu;aaA>hrkmL56bHw~xq5vXO;czzT;9Gmjb)i=nnpI0#qR3K$rfGcq zW5Zm!JcTSPn5K!MC`gio?+0`(&a&~oehwTOr_pGl$PmS_;D^nUyLiNV=lO|ScIy~? z=KFWGtKZS(2pNH_YAjyVNjjazFbq^xMUrlst<`E#t2snbfa|)%ae^Pl%sATDoGbhH z1E}x&v#IrbuiTpL>TR>WnznT8v_ZzskhX0s>*jNBDl@_~40KJS(QG2iDz!$Ff~Wq# zx$=wscTA9uP2YHSZI|`k6-&D9Y}O`~vM@~pS-RkjYci_VA3W|0F#5+|&md zw*}vdpY1>FZ8sU|u+)1jO<4qpg)pvEThZm3CtVP)>?_`B_up{#ywQgOBg6mz002ov JPDHLkV1hio@XP=J literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/ipsports_add.png b/images/Froxlor/icons/ipsports_add.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5664cc685da9060fe05aa48b8d750d14caee89 GIT binary patch literal 1068 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR_Ua{8f!3A3u9rTsb}Jyx+8`o9{n*k+(Z_%gLMl za}JsGnk-ql&m*kHZ?Rj$tJ0vjmK7Thy?FiMqKHHDJ`uFdj z>rIoNzkdr)VD;hG(vH`&&wC@89?W#ZO(tIoXp@cGM^A4Ltz`X+CT z%bsZFm|{?ylyZP6j-;REz)@ja0S-RJ6Kbo@f zcuv*)z8PEiWnFAM@^TBOT)zJB`;VWC)?YQSPy71gn^BowW%Gg=%TMMu&Ph8Q+qwL} zgpX|kQDSmwN|jd%I;ZWLGG}AX^<=xty2Up#uitrLv{mKz?>|$n_b4Rl)J@x@n{RgK z{!6nw)1>^#5#w*my( zo(s+9YT4?f5F?ZvAtfk%&B?=+<&j&HL{zr8xA@y6&1<)=UApwARDXw!{IfZg@8(z* zzvKSKbL+0is?dd!d@5gk3-!)!-sWWws zaaj27#+C01#n)!6j=QC?`tUn6QJIY+-FZZHn66>i$yX@D$*p+uIX)>d3{_JU2 zTbP{G+OxYB&G6o<6X`5`*zqjG9KO~|U9PE3f4})h9pDf>kYh68+sE^2$6^d3^w|G! z@Em5hJDkz8clzv(GX*7<9+E6vEJ5aRa%+P*ls}~ZW18@?*rV_GYwml8*%w~eZc?;; zx>|?LoI}?>&be;={NtVY9X`?bQ@idowwdLu)zSO3Kc+qZzI-N+b%24}k7nMJ%h$*6 z46Ep0mia$){=D^(KaPK4|NZy*{2%3lrdze&@kP3A*UL*fQS)$m>?4m!Zc{~0|H!}m zGW$=_5+T))Yj)P}Hsz@AcboLtdVlbK@+2QW1;c)I$ztaD0e F0st)5Px1f& literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/ipsports_edit.png b/images/Froxlor/icons/ipsports_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..4080988b8d99de6d660a66536ec2fea470cfb4d4 GIT binary patch literal 1071 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR>#y+W7rZ+Vj^Re!af&_}SZOQ#ap#^rC;xp;sp= z{9~HGoSeD!$i)>tOIGeHuADJ@;kFeU53OB&MAtg;-@kuXmxYNcd)9VtNY3us zIyK_{@+xZFbkBWevSs9DGZDe?AbM(KBV^ zaT||(mw?ikw3faZTli$0y+Uh3653uL%g-&Ga{2nhZ$Ex6T7UKDpWopr-R>b(hW4r7 z?&i%{e)8?c{Me!y_TG6@=4>=~h}e;%oK-$A%}@2upTB43n%uen^7@?@oy!lD^{=UH zUQpk;>iC(f3mcM7oxgta?A@gN$$x(Rn6va?YJT7MPq*i+JUFk)scqV})Ns$vX}ga1 zIWMjby?1)XueUokH2DAj|3B*PwLQQHYbXiw3kGrr5-?b>dZz=^#ZFHb$B>F!CKvxl zUviLP|4@9Pplaj6-i-+zhawvLCVCu_VC8605H9SR&gGRhtyWRVFjUjxW}?`cxY7?oIrqi-C1-wmas9 zzkkh{Z@==j?E7N#{p+Vsn#KC(83r%pa5D0V(y?SucRHgG5TwDSSM6Vn>Vz^syBcJ_6p{4-lwO*|63fNpcdR&Su zPqB+0yy9@(MBB8^a*xoDb)6-8hh{ZpZgLP}+5D}Pf5!pakQ!-u5m&($=?^pS%>G>e zO#Fa5&)#-#VUGtwF$M*nPoCZx-WcC3w(jE^wuMG&^W*K6t+tovOPmQTUZKQtG5XLt zUH9F-vH4}UUoyGfKfyMAd!2u&y5*#&7kA{Fe7IY3zdy$QK8xJ6d8Yy=)$B?6F{dm~ z-0$4s&hq6y6+Hi$Jf2tj^OxD4Pe-?{JobFPhd2iRVN-#w4E@WH2`C=n5K{0r` L`njxgN@xNA0NrDJ literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/mail.png b/images/Froxlor/icons/mail.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e98b6a7c1523dcf9f6a3ccfb9d501af53bba76 GIT binary patch literal 3615 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/messages.png b/images/Froxlor/icons/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..4abfa1f1d1a23dccdb509cab0093c769f85d506e GIT binary patch literal 3713 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 fBubtA=zjwM5Q?7+>kpQk!HG8A<3>`4Fs zK#(vn)IpE`?0npj=B%c79XNvsfgxh^(h-HJ1#sY2THal_HzX%D0}h3!rWOA@2M+>( zW98A`#f3~wy=w31SQd)~!ufhU-e$AOd8ld(R;^YS7Cp?&%8rVO+uq)>=%hxYu`)A& z(aY?w4pq0saJwN)~(2EH7D+D=g~o`v-@Pj1xVKUM1<;LA=}|B`(}LuP*K$!Z-*NM^6!=qw-s|o8w&=?e z|FGYI7DcwKbG9|G4v3EWA{=_W@Qn-F_CDXWVewc@*f%$?`h|gRyK2&-qR$0`l0Ft@ zy~GflUFmeK_iW`aboU_sFzho8sxrdk)WwU%?ytQ@A0Ga8lfZla(^x~_kB<^_FVw}^ z(zH4 zGv!!?Nz6NvnFJ5G(*r7v=p ze+jQ|{vZ(Kae~D&40%$obD^U2D?Qptt>46}%@v(*e3G+2uzirrn&$Ex+W`P1Bof?v HJEh`Z(#4N> literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/mysqls.png b/images/Froxlor/icons/mysqls.png new file mode 100644 index 0000000000000000000000000000000000000000..942c3ce14b3a0b54295fb8442cb8e2f0efc20385 GIT binary patch literal 1066 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR?p`TRU(5{HEsCg^L#N*}Lz+p+jretzW%n-HH{f zPM$oqZo|e|vu5@5P3WIAZOPK5nK^m$7A|`7?B%rSGrxWNwsYt1rOTI3oi=UJl4a4c zaW`(=dHL$~#?4#*{P}bJ#?9c6@M9-VZrZy2=&=*0&z|3Z;NZP`_x}C+_u%2f4I4L= zlvZrpv18?`)t4?`-U+mL|G}v$V+jon3A1T}de!`9;NBwr`s_Y4Y#izdwEceB{WH#H5t|zP_2W z=S-eDZRhSi@kuGmR;+ye=FOwWPmUftTGP<%7Z~E=>T&4s;R_cpUAlUC`t<3y@7#Ix z=<%nopY0r+K7IcB_T7iL_@w^+3A5)dxN_z4)oWK*u3Ucj$kD6UZY^HC`22-S4ORaCwI@L}rYNqrOhKYjh$(b3h>+1t_6{rB(Rdq6)w zdi3_~+mD|~iT>Kq=sX&75L%Fcok0$9&yq6sB9CM34qT0(M8nB{K;nlMZw_liPGo98ex%&5Y zouT#L3(xmFw|rh(S9@TuQ1;q8$HVO2{P~$EcW2|5WcBW&TAM<4uG@U+OL$K2?<-lh zkItoM7rw2DJO5|$zj-lJpJs_3|Ni*jhSLwDvXA)|-_@Dgw?%nv%hA7oc-r>0ByM3} z8S=<0%Rs^>P+Ed3LelGR|M@8qw0*`|m z*=n-<1xmEJj>@O`n?4k zq$}i=4xD^m(Y!BQZU39ev*V?EH#&;4Fs+zuyv^@)UDt*+i(W}qy?%P@o|(t;@>cf# z@4k7NJAS?G6saq}e2Gi4qtai0naj+(T$55RoZGm~URY-Lgwoh)dn+!BDSeAP@^R0F zqTNTnT5WZ{^rtgCdexd&?B+fD7w|BvM|V2}(cI;m9tbtf<_ OF?hQAxvX$Tmw2iCFe=4e6OSa}o((1hRv0i6W?5DkW?(Fkfx{6~!vgNc6; zC5G@INVhRiL?9THASxn4Kv>z6o23QT0UKjX+O6B#ZgXGFYjfD|uLdQae(Yen|Zdk(Ob5=A&IRc?BFll!3yBb!Gr zcTKow09zSRgeK}MU9=%PQUurwf zb+kaV@d6(ef2RxnLELeG%}W%%kye&2DtA;Lt3{U)MZ$<m*$>mF z$+$ZXu&pBsAEG|*;xb2dO*Oh%6bZzz|J*M)qc?-g0FcFy%_*W0fA8?IZ?PKlh6A`nWNfYg>E5=1dZcB=RTYfnjz)@mK+I|h73HM>nfJ4d{f^Z z#)N;LD0_?99IrAq8^p-Vf&5(S{CH@fcxo9@$QhH*`&OBws<9G1va)iXOU9tGJ{%1n#<@f@BuZfxWJI|9=c`a>#OFdstUq5#Pk>h zo=3Jl2am1v`0ZollGbNqR}cj|)0E!h$;vgauFL+Ttqutz29>F(?W)2B^*ku0kT?k; zZyTcR9mO1nVEnsl;{ZUc9}$yy*1EO)-3@c8D1s0UomvMpra^}WffrygS@B}|0)NK1 zl#-vR~(ooG0z1`sjApdy9DOE|Qq7TvapTYQKG&(BY2H;Z2b0D#1IDid z0D%1i!K1dbjblsP!?MQNp(a&0=?Dy$MuO*fXhcJj=s0aOB8m=BfkNad_EsDQ$xFJ^ zvn;_QlLLc_-w*%*_T`+X?-Z$+@Z>nBYepUtdK{^|9R=cW$efI`tO;GD6I7ruaUyn? z?T1vzyK^!!gFhA>9dx{3003l`n>=wJDkjaE;2br3IQsNn2%HErXNJo4fpQcgD0YVfDmZx$==qSihLd!Yt?O*n*X3&7UH4nzG+5Z~wHz#We UggAPbj{pDw07*qoM6N<$f})Gi!vFvP literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/password.png b/images/Froxlor/icons/password.png new file mode 100644 index 0000000000000000000000000000000000000000..0414b21b5f6d5e185bd30223292f61a010f2bc86 GIT binary patch literal 3461 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/phpsettings.png b/images/Froxlor/icons/phpsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ed484d32fa96aab047e074b0688f82c5787024 GIT binary patch literal 3570 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/phpsettings_add.png b/images/Froxlor/icons/phpsettings_add.png new file mode 100644 index 0000000000000000000000000000000000000000..3627e930f5ad268d187d7eab002894206ee5adc3 GIT binary patch literal 948 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR{0PryH6meEae@uWr_hr#~$w8~^$9Z{@m&|Ni~| z@c#Fr+1IL@E;`uywmhy;*(9-I@o_)xGmCaCt~^mFJcHxs_rE36tG;~tTlP3BKCHE} z>ip(uf1W-1@$}mNCl7v@@~wXJ>X(Po&V{|N!@QdR{r$gd^K0iTCRwKw|NQ=EVH)%6 z*I!p>pINJyKD_%~nQi)-{cG19TCXG8XQo*H``6z&YgT^w{QKw6zYEr{{&@etyF={u zE!RJP{Ig;8<+QMsdv-hwvEJisFwteUW59CvL))LtYJK+f!sn>)q-o2Syu0;3)#+Ys z!^0HYm)ce8AK(9Wu(!$Cl{~R+Ys=EM6^pKgrgSXaxZ3`d{_?#mR!{i!;OsX^rrx+U zVJwU>tju{Yo`3JETG!Eg?fH`*1s5~iEaktaVu%X`t?T{ zzJBF#cxaV!;NU?Ip`WZoFyf%rXZe_EE^Ny<72zM$=g+Rg1xv3Yk2NVt;g>Uy`LhUH!qb}{Mm-m zX)*vZ5|UFZRJb%7 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/phpsettings_edit.png b/images/Froxlor/icons/phpsettings_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..1047dba61e0b120377a1e4fbcf820c11e25f01e0 GIT binary patch literal 939 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR{ax{Pq6q%3YgZ|N8mY&_vD~$79;E;K_y5DY--~8nd-3$=ip9qROpfiE5c%`_Uv1I8J4m|&$CBAo;>)mbkVhiy|2T(n*aU%_vqe_KfnK(=|ws_`uzTK;NhL` zKOQH(IiCOE_V+KJe@BHUJ-zmSUa9@+37?J}zIFG?+l?#UzPt5*V%t_$=De48PTe^% z-A#V~{vA&q-u{&8tMd2NjWGYhLsMex9V{kJ{`UGv<*Rcg=ho%Vta7}zydu@kAJy$?c@4| zFT1MNy?u23-HWf!pZt7q_S=a*m+f1wvoOZUvrg!*JJQj6ZD!Y@DV;YO!y?ndR;Jj# z{Pp-`Ol17r<+q&;CZ5~>x4Z1cpR;ow-~D)OX27SH*Z;iV{pZESrx!j4d1uB1HSEk) zT{L&!*_rXrw&%Zp{d-d9!~bBAB(JCijIf51AirRU$bgXy7OdXsz;t2i>EaktaVu%X z`t?T{zJBF#cxaV!;Otpm;cFKY#goDwK6tP$I4Mp1kYWtG@VBp`sq9_`+J)LHIaVrg zIv)uQc{QaWD&df+>Ap7(dPj~~?bxtlg_nnbzVKw5{fZu3>#XiYoL@5KzLw54}m13+cz{q6qboFyt=akR{0J-8XDgXcg literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/reopen_ticket.png b/images/Froxlor/icons/reopen_ticket.png new file mode 100644 index 0000000000000000000000000000000000000000..9f06bbd43183a35fbd8faab262e491ada1b0eab7 GIT binary patch literal 878 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c#)bf&5ZCn!=YLv1`NfMD8#ip|EMecWb9YZi>!kLyy?gfV z+_CfC^{bygecZBT%g()r9zS_~;^e7ayLN?y1W%YaY0u)>ckkUhvTf6+9P|z>n6_rws>MrJU)a3rZJGP_ zZ99$^MlGJVWbM4-+r>dQOMEU}TzBj4{hhmaZH;j`w{Oq6)2Gwo;*yh7?!Ea`SyFuS z#&t(W$5}IGty#VL-P><(wk>+If6bFjyGIWmUR*kHabNef^JhNR_-@#;&C}hpF)H}m z*RMy99L>tiJbUi^y$M3^25``F{I*F(u(H~ z1s||5F$x3(tVmyBer;WIqgO89f`+EDx$~kE7Im-)2QO6daA?pBc0Lw%<3y;MK~ymF zl2*^iE79#6C+*g-Y~)|&zt)v4@iam~v9goMU{$(r-d ziJgo;9Gxf-qst>ZzxvtyI}k<%A1YsF1J+uqKu6QC-(O6MzwZJf7 N@O1TaS?83{1OPV3`yK!Q literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/replace_vars.png b/images/Froxlor/icons/replace_vars.png new file mode 100644 index 0000000000000000000000000000000000000000..960f2bc24d219ee0db17094e264caa2f381313a4 GIT binary patch literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR|GjwSG<&|J}yy+~s0;E=2u~>nw=g%J(ubkOfpga3l zJ5wlQ%!179TQO(L)g{hzeczE`yi?1v(X2R#Z~CiVqgC4XrfH~elTv>m{`&2c>>HWR zuZ($eIn&Kpivmplud=XytGWEw!mFLC?`OLmi)4P?!sB$)`2RAAO+Qx}TB`p)X5&1? z;#r@u#blHJJFGZXGC4Ilwq}al&tW*@x~#%q&!He^XpN;NxCB`vgxbDamnoyXT##7gn*W0svS{Ax?h&vjW^ z2W0*3JL;CH|NsAgh1W?9V1zZ41o;I6xdRCpELgqMf$74>)5S5Q;#SVZ@ZduM0;~^0 zCNwN$bJ1MbCe~HL8TvAbwfg;yjf*wv@2bp@OtjE1e^z~C_h$AN{H@Ej{^92Ne3`4( ztj*u=dZze!?p7zqb4MR?v|6QoKK3v={`9A$*fv!|9`7y}!=0ZjQn$SNrOabCebv~7l>e&*Asp4N?%J+3_d$ig(` z*c8X*mTUupH7A@2`mGbMyzopr04GcWtpET3 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/settings.png b/images/Froxlor/icons/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..992a10e9793679f04a2dd5a44c6ebeb7f8492aaf GIT binary patch literal 4335 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/show_ticket.png b/images/Froxlor/icons/show_ticket.png new file mode 100644 index 0000000000000000000000000000000000000000..204247b3bc2a0b7a6af3ed9f1f3c687a21a1f987 GIT binary patch literal 890 zcmc&yYfn-E0KJ&9M!9NbWvymyR5tTNHK&_3Ny#WRr}gJs zOe`OT_(b5&G(jaLbiOVqtdin7xe&_r35ps0iq3Y<+4*>OPC;Zus5@a70RRAZ%9)TT zr*Hnp_3NB^=*XsMr+G5Sml)AE6B+lwbUHvvxEW9PqNIUI^e8%*kab&04+H>Qc4Sx# zxw*5ye_)`!qeCebp|4YHhVlF-&xL|I%;DhNy<;$jNb@vZEby3R5Uz1Tv6Rn|E{X^tx%`aE#$>I9IJC?V|RDgs7hrtqIv_e zvb=11e9>mNSG}*~@pv+stVJZ5934=P>6A((ikf7KFOvu&?~<>rt+5`m#u_W+FWB|G z;;%z+;+43H{M`Au`8J_Y&%CULnxJZaSC3NCED|Mzn$6~E4%L7l{2Hi3Cb!L6d%Ak` z6MD17GCro|SJr)Cvl2M34Pk2s$osknlhd!K!U2KM##a!X3JZ?Z?^pKV_uY<7NT z2E!H?mzI{M(#RI;to?pyb8W3yP&4sMFA~uA5IrA6N< zY7$FUR#uXdQ>@mRsb;RNzObj7E0u_)BFJbmj|>i(QBzJrtXwWv!=o@fX3C9o*7WzR zea6VK zNCBRJ?A}GDz?@9akBaRAEXNHF)T)bM@hn5t9!zo}91SDYkaaE}HH-VbJkrZhqECxo zKULwwo+Jd}cHA~>>tr_*zop)BEg+w^$8%4o|An+wCf<)u%({2NFW8NB z_lBA(W#W^GzM8)4l+!Pfl#DFJ8)hEh`|P;J2MyZvK*dRC@z1RiufBtK`fIm_lj-(U zZnmV)6#6`wzpUQ i`Qlbs*;W|80O0Vz25KO<7sbUnw*e^Rh>(U;w4A@+*C&nu literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/syslog.png b/images/Froxlor/icons/syslog.png new file mode 100644 index 0000000000000000000000000000000000000000..190b0323ec2e1fcea3416c845f99e3cf52032f71 GIT binary patch literal 3742 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 IM6N<$g0m_2`v3p{ literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/syslog_truncate.png b/images/Froxlor/icons/syslog_truncate.png new file mode 100644 index 0000000000000000000000000000000000000000..b46130563cbd03c9d3c8606a26face2e0fbc801b GIT binary patch literal 1025 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR?RtJo)R_uRVMB-c^!)_3BksRaKX$$d4aCzJ2@l z_wV1wk00Nh zmGbfmAUJ*c%<&Va7!n!8R1>xY`E#!kDXO?Gy_?r0^2N+KbLK5r@WkK4C|ut=%)@Gp zW@uo*{iNv1s`kv<9g$N5lUGG`_x3T=G8h+2H%)!c;L7ms<2$8LgSf=pNshJ)7A*Mp z@880O3;%;bLZX*3Fv1#2g8YIZA_GP;Sg?Ah1Jgyfr;B4q#VwPI--8bsNHjcTYcvVt zmJM6cwMapXRb*=7-L4g-*>|ho@AbZ1e|O8#@5}EL-+x;4Q{(g_pUWmZ&IY`fQzEB5 zwm7{=r~4`c1II$IrA-V=HZM3O;;Pvt^zi2ruReB@*Bcn$ehl2Va%KILGub;%MS3s` zczip5mc`(bLQ!PE)i|O0??P`vMW(Lu<2K=4XeRWsZk@d2jFhmSi(>4!J5K(($#Cgf z=7XZN=Sh!VHhZ?^9roeolr}5Qd|8o@@X?#cv~BvqAf<;fN-15R&PRPT)NMO-e}Vh= z*C(ExS*1QderX%W{V5W)i$7oA>GCM#{L;2!yN|`&SpJ;-K38w^yg%B6YY{78#rvt}vj%qrc zN=UU@y$E6COaj9&r1NAlaUpajQlL~SorN%pOwHs*2laYgHBA$?ZOd~4Rw@5yFm2?1ZIg`0V-$-;GT1Fi5dB7wUSNi^%`^Ge62m>OBeX610Nsukl}DhDG-mxT?nhyYH!4he7Ri8 zrq0Ti&UXUvqX&F@JcJAe14@BNBqAY_QZAPjF(Y3r7P9H_kB#@LgFAf>xz>Qp&n=|a z>ro1XLZK^nmO`PRh#C2OK0ktd7l6-A;O5?fz1gNnCX)yR0YYm{!ci%zG5cDs#MtA%E>iAJM=dcBTXt#$=Kxm1c}S>T)> z)oeDCkaD?v5u%VY38vGjbe>Em9)x-#1qy}2S%^ZB=`y)dqgt)jH=7L{$B}&kmP#dL zv)PjngPi@y?F z?msb!MgKs27C;q`$Nl1^87)}9-#;n72%w5aqyBI>%t#yv1bin~`G3EwaP00`$&s?~3=l;u6=Wk!W z_UP)($0yF*JbU5x?>~RfU%uBrY0kA$jeqJbUZ*y=SM+-Td_B=iB$+ zo<9HZ@$-+@Z@+y1@%!udU(a8DymI|vQ`^J^3l{tbgM_Npc|b=Rmjw9*Lqtd+84Bm^ z?E`Ax?&;zfQgJJ%|0Z9vf(Yx;sI|M--u*7y*uCxF|Kp(wjtl*2X8Gv3FPA-B*ZfCI4ZOV0fb7b9?plsf&PK OVDNPHb6Mw<&;$V0Z8i)5 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/templates_add.png b/images/Froxlor/icons/templates_add.png new file mode 100644 index 0000000000000000000000000000000000000000..11044616f9e8208f439e07018ffadb77d0262ca1 GIT binary patch literal 919 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR^dPq;EUAef_=-8i&QN-+FTX^1alGZ24uvY8Pq**AsP3+L_~h-c-+w-S`tjiLn|B|+ z|NZyx)!WY>KK=Of=kJf7zi-}o_WA42S8qOZEoA7q*XlOQR%@bq;r^WXBO$zt87p^{ z`c3dIZ?CAE(x|;m#s9pc?h*~ROXg|Eqt9HplYKO$?0J^d1i@41Zm!$6+54Qm^B&WV zeJ#y5Yp>pXymIH-O$WDLzV^ta-D%za^&9qYOqrM*c-pOTSGC<`z2ATSHqUJDpEM_N zZ*iq4pEd^T+Z}mQECo@;T zd5d}eu}r7==26{IF&)uyopHDCJ!`#NxAo|@?>~NTJGNbWftp3RxlNt*)8`*vzy0$3 z<;N@6A1+w1ps8)*e=x}7j?Dl@SVKvWUob>uz(@uQR_}CRx={3VaSW-rm9*kGm&B{r zk*f|iT%E$rv`F#L)lvloP8Xv^dqQiRww^eopm6$htYV+q8#QhHFwM}=gUtf#7@6ZZ z&z)MORTpw~(xRh6LQ~ghdcIh7@PL76sOb^OYgfw(9xjSmUh`0DgYlCm5f2XWCE86h z6iDy*+^W>FR>;I6E6d@WfZ)Ss?&aD)SIzSDE)L^jy4u~)Dmk-h<`!$7{&D>D^{?N5{r&gv@w0ayKmE9U@5TK`ub;j6 z@Z!~{hfm)A`u*qC+t2SleEHOt;H&zr}yY=MD*RLPWuR1f=6aD-{RW!(>F%W!VSm0H{P`sL&GEeBea>$#mhQ+={{ATG*V`R$ zj^*7uJ>$yt$IWdMuikw8<4M+{V#o8B?p-{0?92Q6-yfvkSsrzFQ|70SpMO8UaC~Om zm8}Ig_e}cp>&Mq`zqU?|SXkkB_QLJ+YjbX{tvhq!&fAN{{gdXrxma@Q{OwnV>Q0=w z`R?rc!;_-E|M>m-@YIu2A}(Kh^ySvBSNG4~+uHf%&7JGFp8R`z_v@F>Z#U-u`g|wN zPxbBlZ%?0pc>VUv^Oqm5Tz}ZqHgUm%1^>a|>xQ67z&I!@3Gxeuh|rH@(DXTw3bg!} zr;B4q#jPZb16&eZT$73pI0ViSWcs6U$nvMc0Unp8J3cqx&?bJ0BbpD!L_jvT&k;?9G`o3lfhD zeBO`|s(Yvt~~cN1Y| bkzi=svOswMmIu+mP+;(M^>bP0l+XkKdx#P2 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/text_align_center.png b/images/Froxlor/icons/text_align_center.png new file mode 100644 index 0000000000000000000000000000000000000000..57beb3813973e69f535a822c2f0424fa9f560303 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%s@pN$v(Kw&{=X`^_fnmU^23D6T z|NkHVz|K?O{7~QE-_Z@zCpI>Iv^P{UFnE&ke;(6i-d4-w%bHR;j1|AyZ#v6S(amDc zlKy{I(;D%Nuye{ncOLwezxwWez>k>{<_3S*oiFG7{Xgq}=)co{r~lFaH2=T-_xf)+ f9X!fMH*zv8ak(u6{1-oD!MC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{=X`^_fnmU^23D6T z|NkHVz|K?O{7~QE-_Z@zCpI>Iv^P`}`P2Tg^+n4;W0%&Nn`h_oB zXMCTNA-w1R;@9m5&b!P``2Amf(pd!#&g=F^W;hsZV)z*wDqmKyKNDyjgQu&X%Q~lo FCIDq2QD*=E literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/text_align_left.png b/images/Froxlor/icons/text_align_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6c8fcc1165a433617355ac5e182d015b389e9296 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{=X`^_fnmU^23D6T z|NkHVz|K?O{7~QE-_Z@zCpI>Iv^P`}`P2Tg^~Il~8@dITHCPA-{a3!-)3Cjx%=yXx z_>8LclV7mqn+PY^{qor&o%8>H%d3``{~Y#6bGV5yoI2touNPXs5@;QRr>mdKI;Vst E04%Lf&j0`b literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/text_align_right.png b/images/Froxlor/icons/text_align_right.png new file mode 100644 index 0000000000000000000000000000000000000000..a1502571c99fb92b1579c3658bcc50c5976b8e7d GIT binary patch literal 209 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/tickets.png b/images/Froxlor/icons/tickets.png new file mode 100644 index 0000000000000000000000000000000000000000..a43a5a2a72c63eb9c1bbecdc75d9fdb8aa141358 GIT binary patch literal 1007 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7#jk7LR^2W?fCca-{~vYXLWTxefo6$(#5Y{y;@V8`S|v& zBipvEm_28~f(2W1!*?!SIIX(k>({S0vb?5Fo%%G(=Esj8SC&lNvT4(q+RW~j&Nn5_ zpFVwBy?W)ui4$);ezvly;@+J*Z>OjII=td*o!67?%a<-)`tIGklV#C!=FHi@Z_mrt z&|{0HK6>cq+OXU>~7cj414mwDwGGp0{pym;}vIdgwE1W%hX;o_PF zorU?!*DaqmclOf7%a<=&`KH)s!Q2IZ{``6U`t_R^FU}pbl@g$Guy=i}ErawG$Wbvf7&!0d4{PlbP zp}m(cUi`bX?%wqqpHA<**AoBg)V@DIf2<34U%qJZ@gs+ipE-5v_^Cr3rFS~hpA@-0 zF7&)||MC9AC*Ifj%$hap*RNkQXU_Z&1{{9-LVyw0P!i-93=tVHlEH%2I~|xVDm`5s zLn?07oKKH#3J^I^7_vwt@MD_P(zHiT#@+{Io;GaCJ-jH|6dUshd;k=rtGd zC!uT#A9idgRC}V9BmPlx>feA5LAwrRtW>&H^3j6xBj0<+DuWh<@Dp>@npzGlIORJ- zcZY0Px8YjZ?Yrjcq=@Rh{xC z;N{xfPk(iPWC=acH|7y!651gv=_w>}>#2^b@6FAtTQ0Yx=hWZ+;;$FJRXUM0L(9_}6&70)lt16l`ie`^|6Ny7lebx4(b? za!q4qR%Nhow`!mMQZ}6@|7+sBdGpSCxxRh(mTNo1-Me?Ix=%|_QSRuuwsh&zO=5yy z6Qlk|hl(8%Hi>%Q6B%~m#EBoDKOZ}GY=)GiMwgV9$I&&a%14eIx#?`1)bcFmw%^5z z7yBlke*XNqPv)-ApFjWn`E!G#4YOS1)2C0%`1vH_xK#6n+C+ta|Ngyr@#492=YIYA z^~2W>@BY8}_VZh0#RUs@`n7Q3!UYQ! z{QLLsKNvjf`Sl+dVGSige!&ot0V5eKSiRGM>7vBb#WAGfme0lX@IwX?Z4Vb^2p{BH zs=yU>N<>gANcX`#>Fq0ae7~pc>;3!sTGNU>_Hpv}CQoiR;@Q7y)vRSZLwrL;T|fT* z+vX_g7I!3~O(1M_Xh)!7bA9B)$~b|Rf1X_r>zOLMO;wU2z#^=(c*u!w|8} z_~hQ;-F&VLqTR7J^8NFVto-=;*bapcd;BCAT8xu0H-*2xXDo727an^0Nd)8{4H zXLHF*jhX5#jIrMTr=rtt}XGc9P5FJH{$B-jXFxNBdY&)=Va=x*;!{~e(t&N bKd}UcFx#GpW!#RSoXp_q>gTe~DWM4fpMV-e literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/trash.png b/images/Froxlor/icons/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..3f46d7b5043bf774a27688c1e8da4998bcdadb2a GIT binary patch literal 3741 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 DJ;_&6 literal 0 HcmV?d00001 diff --git a/images/Froxlor/icons/warning.png b/images/Froxlor/icons/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..704cf4ba5ea90bbfcd9bd07528478840d2a475f4 GIT binary patch literal 1931 zcmV;62Xy#}P)5851PiPNsY0Ijn+i8MFj*39k$uGd*?3i`<`?B@ZMo7LxJd<{J-3D&a?cV z|MQ%4#V>wt0dS5PKj%P*D}U1?Z!#zQTZ&UKUiS^!w`68EFvHjPXAqBd-t;*Dnp-@U z_4c%moj)7B`_|FnKb^jb!_{PZJ3!u=djKB0>yBmTy6;>x1Uz_47UZo5(9yMZ$+InU z4NKRxvvd3Wmw?(^F{HJ=xdTZIEiLL>o9^j`$q|r}-rZe|zx(5>kDuu0zy}V9YZ$41 zO5GX*>$mORv@h@_rc{JdfuK3d1G^S}6KK9!V>cZ@+oH^~YrDFr44)xMEH19Vct72H zdsx~m4wej*43umYW@bbckPf&}#1-!D+S#>DxG|z)f=d!?5H2|=1)3&8wo1Kj*PxK>^REh#w zlGuubkpcL}zv-A?re}5VG|(_p_LCxm41EZ_6v1V{K~tl8rmOc(;tMA+Qi6?9wv3b( zmlQ7r;0#eQrgHi?@mPd2z)(MXceJV7YT2&@TnoSa%j9*t;I1t@*X*egqeSHjew?6O zjPDFtPoRXkv~%nR7z;_!0Xb7P3DoE?n7tiG=C*0q&bM2;_ zxqu?V^9;U7@TEh00zWPzO6M;IptMIemj)n38U!9NmC)E2(Yqn{5U~D+8EBm!erL_f z1w>;5c*@~PgZ30kB&g9dcq0|0yQBdrBD^rYUIo+7Hvw8feu7=yjm*h#u$Vx>TnV*h z)|Jj<%f9;`So>&OeHj;(&|0G~=wd&5_#7&VkvV}F`a7I{4UYT-as2m4TS4k71Cr`x zFClVdnmwW^*ZH?o@f!%ve1L(=T2OT^&AqT@`5fZnBsvqKl5uqZG1SNiLP^L5kjoHF z6c{f=jO9zj6Gf=WKp3R$q|~Ka2nqQDAKTo>ie{d_nr+q70!pT^iYFf2v+5JG>Jvn% zgc>@DH#m$?4niM-0Q?YyAnAUb-0oKi)_oNt$I$)nKoC}iP|ZqK6`6oHOOljmJ@$Tl zxH05Ntp~NMX2tx>SkjX-jC0OfF6+oRk$ym;v7hGCDOj4L=8A29yWIF=$=~L@;t3)GQDch>H-FAew?o5lSU4j%^L) zisHb}riTAHLL6@@a4wiKSPM1t z!PluDYtq6vn`R$HU~DQ1W6?DZ9g#hJ-sKOE^OoA)Dr)ZD+V;xg%%t{IDq`&cp@N(b zxoj16P*)GLXG47p)HcJM&eVBLLn=_ugHVGfz!*>oCcG^9o9xzQHD6i7>P^D zSg8@R1V(}K2r~*_{{j;@CV45b RP-6f9002ovPDHLkV1jFGhMxcc literal 0 HcmV?d00001 diff --git a/images/Froxlor/logo.png b/images/Froxlor/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a644786991ababe629002ac93a1b7f997ce2b6 GIT binary patch literal 2609 zcmV-13eNS3P)|B|<>-G72#pN%KzBZM`caobxq0!6d^YHfh zOqs!#tFmUk8q0Qps@b*Zn z*uTusDTA{jOO~`DSavBQB z1j0gE$3v|+#a7u!G!rkWCn6``7zt|-Q>}a2KE2r}(b{Z_!mmiGptR@jbt0RqT%+mL zNPKQ?t*W_M|H)OX99a~Fq-LL`-KJk-Dpcz4k!Y%3LU}C`0*FBt!YGQ1TA`4DqS+Ef z0CRX#Bt93Lxn@pS%=oLKVs$PIiy1{4#pEyb4U?FiG5R-L_8AC8anDSw#Ee2An@5DI z`ritP?TwIIc0Ho z25Og|=lTvo^03J$=O9J?p9SzWNvzLr7^?IwcCZ1p%NNbqHb`H>qr%UuS0wRRb8dH)#LuNeLG#{9;`|}d?kun81H})we00NdZgjnPpsc*+G31`S7H=30 zbw`6a-lfTufXJWMs!fU`ED_fd15ry7C36aCjq4PvliJZsdIsh^e_ronwHfO`2d=I!}X{ zxXe6p{ySeL;rp}%RPC{M3nnl9)F1o|AHbY}HnGS1+&Ci9!y7D58cnQ{2%8rhiHD2{ zJt@pbiJsC#lgJR}bf4|!kRm%dJzFDDH~`w(uC5X5F#X_@e(M)e*48XVB4|NE%Bh${ zUZupxKwM9eD>s!7do@7&iGZy+H^08vjxq_~`WDdHT6GQ#Y@rO@AH-HrR-ug`p~Sfo zfCNyFIG?aGcv((^>8DC=lEl7+xh6zHMI>&{J^|?+o<$ieULy=cSpza&`N?S*GQ>7@L=4mvsR4Ho|*QXyOVa%NrHkUV($VdH&NGcU6t)h!p zD;6YN1u?lWcVcwbH-IYr*nAR+IJKq-@kbmD3d3f=m>W4do=Dl4lMx9eD@0bVs{y13 z?hS4VJgLwz2ZDy-0;==lXxcQa?5~Mjj5(6as zki^69E2#5@nqhj|cU0$!B4HIzAQC&gm10D!4*@r^!{x4%B;kiEEHan0A>n#|j`Y1I ziHDE4&cCr|lSqm8OOKZM7|)uMG)1j;VB8!ymy}h(oE3@10ARHAt+zH&t1EK8dL9m=H)P7Lx;#h*Biv z$BRuUkflJU_CI-dwyn(JXTNt94rLLIHr>&6i-H({DcPbOhF0aa4c zifM0QjJ%~4!x*~?x`0tM2>aZYvXkXNma=W-tE z^e#c0Q#_9%!G`W9puP~Hrgs^YAwWEX1d|n_<$)wR_tssiaV(W5Pjqd~)g-~Lm%l(Q zo1==MdsKv4WAaZYK^*EzVY~$qA_QX)rRe7!lakdlgGZ2HLtXbkU0=;^0+sMmol1@U zDr*cs6wXSTgaA*&^|#H3A$s<}8aXVDJ$p4D|1 z&?ufBr`=+9w~IMQ=-s<((A6#+Ub)2VZZC5%35cQ_$4o;;Znv{W1o4jUb+;gV*H?u+ zhk+p8+rG9Tv8?AbI1L2#E`MKx-d#+h!MPyF?>lr9n8ao^qrrh7=x=_m8yZLwu}Zol zL0EhT*4I!GBJro1>_iY&-v;)PT|U(k?;Huj@_W%fYD|nf7=-mV#C>h?Ecq4-`yRGw!L@G1!4RDC$90BaNT)XU6Nqqf6yxW$GITbe*z2ud*j5J T;c(2M00000NkvXXu0mjfC-V7W literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/Thumbs.db b/images/Froxlor/multiserver/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..2b8c4e9aa51c6dd683d5276d93cd87e24c6768c5 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/clock.png b/images/Froxlor/multiserver/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..e58a115069abe6badd5598729e8ebc5eedefd53c GIT binary patch literal 3485 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 LNkvXXu0mjfJRXC> literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/deploy.png b/images/Froxlor/multiserver/deploy.png new file mode 100644 index 0000000000000000000000000000000000000000..0a268ad099b9fe2859f6c5b205839c0e2e0c36b5 GIT binary patch literal 4248 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%0AjM#kk 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 LNkvXXu0mjfS4;t7 literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/no.png b/images/Froxlor/multiserver/no.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1cde2ff830df6e9fc69e253394cce4dc2fedee GIT binary patch literal 4479 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 RFAD$w002ovPDHLkV1nU5e*FLd literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/refresh.png b/images/Froxlor/multiserver/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb515b518c001ddd349c3159e89f4c8733c3e02 GIT binary patch literal 1795 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/server.png b/images/Froxlor/multiserver/server.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2ba3cc3b569bfa36ed830e08f04bc81e2f2785 GIT binary patch literal 4179 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 literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/settings.png b/images/Froxlor/multiserver/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6b8f504304a6b7852bd3ca1e30bb6a8768523dd9 GIT binary patch literal 4998 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 B8lC_E literal 0 HcmV?d00001 diff --git a/images/Froxlor/multiserver/view.png b/images/Froxlor/multiserver/view.png new file mode 100644 index 0000000000000000000000000000000000000000..6adc65af06866795f9bd9028cc9e427dfd8432cd GIT binary patch literal 4658 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 - + diff --git a/templates/Classic/admin/admins/admins_add.tpl b/templates/Classic/admin/admins/admins_add.tpl new file mode 100644 index 00000000..540ea66d --- /dev/null +++ b/templates/Classic/admin/admins/admins_add.tpl @@ -0,0 +1,25 @@ +$header + + + + + +
 {$lng['admin']['admins']} ({$admincount}) {$lng['admin']['admins']} ({$admincount}) {$searchcode}
+ + + + {$admin_add_form} +
{$title} {$title}
+ +
+ + + + + + + +
*: {$lng['admin']['valuemandatory']}
**: {$lng['admin']['valuemandatorycompany']}
+
+
+$footer diff --git a/templates/admin/admins/admins_admin.tpl b/templates/Classic/admin/admins/admins_admin.tpl similarity index 100% rename from templates/admin/admins/admins_admin.tpl rename to templates/Classic/admin/admins/admins_admin.tpl diff --git a/templates/Classic/admin/admins/admins_edit.tpl b/templates/Classic/admin/admins/admins_edit.tpl new file mode 100644 index 00000000..9530a155 --- /dev/null +++ b/templates/Classic/admin/admins/admins_edit.tpl @@ -0,0 +1,26 @@ +$header +
+ + + + + + + + + + {$admin_edit_form} +
{$title} {$title}
+
+
+ + + + + + + +
*: {$lng['admin']['valuemandatory']}
**: {$lng['admin']['valuemandatorycompany']}
+
+
+$footer \ No newline at end of file diff --git a/templates/admin/aps/askyesno.tpl b/templates/Classic/admin/aps/askyesno.tpl similarity index 92% rename from templates/admin/aps/askyesno.tpl rename to templates/Classic/admin/aps/askyesno.tpl index 527b1452..767c15d8 100644 --- a/templates/admin/aps/askyesno.tpl +++ b/templates/Classic/admin/aps/askyesno.tpl @@ -1,6 +1,6 @@ - + - - - - - - + + + + + + + diff --git a/templates/admin/customers/customers.tpl b/templates/Classic/admin/customers/customers.tpl similarity index 96% rename from templates/admin/customers/customers.tpl rename to templates/Classic/admin/customers/customers.tpl index f2bf1c67..2109e617 100644 --- a/templates/admin/customers/customers.tpl +++ b/templates/Classic/admin/customers/customers.tpl @@ -4,7 +4,7 @@ $header
$Message
diff --git a/templates/admin/aps/footer.tpl b/templates/Classic/admin/aps/footer.tpl similarity index 100% rename from templates/admin/aps/footer.tpl rename to templates/Classic/admin/aps/footer.tpl diff --git a/templates/admin/aps/header.tpl b/templates/Classic/admin/aps/header.tpl similarity index 100% rename from templates/admin/aps/header.tpl rename to templates/Classic/admin/aps/header.tpl diff --git a/templates/admin/aps/infobox.tpl b/templates/Classic/admin/aps/infobox.tpl similarity index 77% rename from templates/admin/aps/infobox.tpl rename to templates/Classic/admin/aps/infobox.tpl index 182f811e..bf515fd5 100644 --- a/templates/admin/aps/infobox.tpl +++ b/templates/Classic/admin/aps/infobox.tpl @@ -1,6 +1,6 @@ - +
$Message
diff --git a/templates/admin/aps/manage_instances.tpl b/templates/Classic/admin/aps/manage_instances.tpl similarity index 87% rename from templates/admin/aps/manage_instances.tpl rename to templates/Classic/admin/aps/manage_instances.tpl index 82028c96..a9e87645 100644 --- a/templates/admin/aps/manage_instances.tpl +++ b/templates/Classic/admin/aps/manage_instances.tpl @@ -1,6 +1,6 @@ - + @@ -15,7 +15,7 @@
 {$lng['aps']['specialoptions']} {$lng['aps']['specialoptions']}
{$lng['aps']['statistics']}
- + diff --git a/templates/admin/aps/manage_instances_error.tpl b/templates/Classic/admin/aps/manage_instances_error.tpl similarity index 100% rename from templates/admin/aps/manage_instances_error.tpl rename to templates/Classic/admin/aps/manage_instances_error.tpl diff --git a/templates/admin/aps/manage_instances_install.tpl b/templates/Classic/admin/aps/manage_instances_install.tpl similarity index 100% rename from templates/admin/aps/manage_instances_install.tpl rename to templates/Classic/admin/aps/manage_instances_install.tpl diff --git a/templates/admin/aps/manage_instances_package.tpl b/templates/Classic/admin/aps/manage_instances_package.tpl similarity index 100% rename from templates/admin/aps/manage_instances_package.tpl rename to templates/Classic/admin/aps/manage_instances_package.tpl diff --git a/templates/admin/aps/manage_instances_success.tpl b/templates/Classic/admin/aps/manage_instances_success.tpl similarity index 100% rename from templates/admin/aps/manage_instances_success.tpl rename to templates/Classic/admin/aps/manage_instances_success.tpl diff --git a/templates/admin/aps/manage_instances_taskactive.tpl b/templates/Classic/admin/aps/manage_instances_taskactive.tpl similarity index 100% rename from templates/admin/aps/manage_instances_taskactive.tpl rename to templates/Classic/admin/aps/manage_instances_taskactive.tpl diff --git a/templates/admin/aps/manage_instances_uninstall.tpl b/templates/Classic/admin/aps/manage_instances_uninstall.tpl similarity index 100% rename from templates/admin/aps/manage_instances_uninstall.tpl rename to templates/Classic/admin/aps/manage_instances_uninstall.tpl diff --git a/templates/admin/aps/manage_packages.tpl b/templates/Classic/admin/aps/manage_packages.tpl similarity index 92% rename from templates/admin/aps/manage_packages.tpl rename to templates/Classic/admin/aps/manage_packages.tpl index 0331972c..74cbfc5c 100644 --- a/templates/admin/aps/manage_packages.tpl +++ b/templates/Classic/admin/aps/manage_packages.tpl @@ -1,6 +1,6 @@
 {$lng['aps']['manageinstances']} {$lng['aps']['manageinstances']}
{$lng['aps']['packagenameandstatus']}
- + @@ -50,7 +50,7 @@
 {$lng['aps']['specialoptions']} {$lng['aps']['specialoptions']}
{$lng['admin']['phpsettings']['actions']}
- + diff --git a/templates/admin/aps/manage_packages_detail.tpl b/templates/Classic/admin/aps/manage_packages_detail.tpl similarity index 100% rename from templates/admin/aps/manage_packages_detail.tpl rename to templates/Classic/admin/aps/manage_packages_detail.tpl diff --git a/templates/admin/aps/manage_packages_download.tpl b/templates/Classic/admin/aps/manage_packages_download.tpl similarity index 83% rename from templates/admin/aps/manage_packages_download.tpl rename to templates/Classic/admin/aps/manage_packages_download.tpl index b1029719..4db78e95 100644 --- a/templates/admin/aps/manage_packages_download.tpl +++ b/templates/Classic/admin/aps/manage_packages_download.tpl @@ -1,6 +1,6 @@
 {$lng['aps']['managepackages']} {$lng['aps']['managepackages']}
{$lng['aps']['packagenameandversion']}
- + diff --git a/templates/admin/aps/manage_packages_row.tpl b/templates/Classic/admin/aps/manage_packages_row.tpl similarity index 100% rename from templates/admin/aps/manage_packages_row.tpl rename to templates/Classic/admin/aps/manage_packages_row.tpl diff --git a/templates/admin/aps/upload.tpl b/templates/Classic/admin/aps/upload.tpl similarity index 86% rename from templates/admin/aps/upload.tpl rename to templates/Classic/admin/aps/upload.tpl index b33bdb66..854f6efb 100644 --- a/templates/admin/aps/upload.tpl +++ b/templates/Classic/admin/aps/upload.tpl @@ -4,7 +4,7 @@
 {$lng['aps']['specialoptions']} {$lng['aps']['specialoptions']}
{$lng['admin']['phpsettings']['actions']}
- + diff --git a/templates/Classic/admin/configfiles/choose.tpl b/templates/Classic/admin/configfiles/choose.tpl new file mode 100644 index 00000000..06c84aca --- /dev/null +++ b/templates/Classic/admin/configfiles/choose.tpl @@ -0,0 +1,10 @@ +$header +
 {$lng['aps']['upload']} {$lng['aps']['upload']}
{$lng['aps']['upload_description']} http://www.apsstandard.org/
+ + + + $distributions +
 {$lng['admin']['configfiles']['serverconfiguration']} [{$lng['admin']['configfiles']['wizard']}]
+
+
+$footer \ No newline at end of file diff --git a/templates/admin/configfiles/choose_daemon.tpl b/templates/Classic/admin/configfiles/choose_daemon.tpl similarity index 100% rename from templates/admin/configfiles/choose_daemon.tpl rename to templates/Classic/admin/configfiles/choose_daemon.tpl diff --git a/templates/admin/configfiles/choose_distribution.tpl b/templates/Classic/admin/configfiles/choose_distribution.tpl similarity index 100% rename from templates/admin/configfiles/choose_distribution.tpl rename to templates/Classic/admin/configfiles/choose_distribution.tpl diff --git a/templates/admin/configfiles/choose_service.tpl b/templates/Classic/admin/configfiles/choose_service.tpl similarity index 100% rename from templates/admin/configfiles/choose_service.tpl rename to templates/Classic/admin/configfiles/choose_service.tpl diff --git a/templates/Classic/admin/configfiles/configfiles.tpl b/templates/Classic/admin/configfiles/configfiles.tpl new file mode 100644 index 00000000..12576fd5 --- /dev/null +++ b/templates/Classic/admin/configfiles/configfiles.tpl @@ -0,0 +1,15 @@ +$header + + + + + {$configpage} + + + + + +
 {$configfiles[$distribution]['label']} » {$configfiles[$distribution]['services'][$service]['label']} » {$configfiles[$distribution]['services'][$service]['daemons'][$daemon]['label']} [{$lng['panel']['back']}]
{$lng['admin']['configfiles']['restart']}

+
+
+$footer \ No newline at end of file diff --git a/templates/admin/configfiles/configfiles_commands.tpl b/templates/Classic/admin/configfiles/configfiles_commands.tpl similarity index 100% rename from templates/admin/configfiles/configfiles_commands.tpl rename to templates/Classic/admin/configfiles/configfiles_commands.tpl diff --git a/templates/admin/configfiles/configfiles_file.tpl b/templates/Classic/admin/configfiles/configfiles_file.tpl similarity index 100% rename from templates/admin/configfiles/configfiles_file.tpl rename to templates/Classic/admin/configfiles/configfiles_file.tpl diff --git a/templates/admin/configfiles/configfiles_files.tpl b/templates/Classic/admin/configfiles/configfiles_files.tpl similarity index 100% rename from templates/admin/configfiles/configfiles_files.tpl rename to templates/Classic/admin/configfiles/configfiles_files.tpl diff --git a/templates/admin/configfiles/wizard.tpl b/templates/Classic/admin/configfiles/wizard.tpl similarity index 89% rename from templates/admin/configfiles/wizard.tpl rename to templates/Classic/admin/configfiles/wizard.tpl index 575757d4..82aa044a 100644 --- a/templates/admin/configfiles/wizard.tpl +++ b/templates/Classic/admin/configfiles/wizard.tpl @@ -4,7 +4,7 @@ $header - + diff --git a/templates/Classic/admin/cronjobs/cronjob_edit.tpl b/templates/Classic/admin/cronjobs/cronjob_edit.tpl new file mode 100644 index 00000000..e4c76680 --- /dev/null +++ b/templates/Classic/admin/cronjobs/cronjob_edit.tpl @@ -0,0 +1,17 @@ +$header + + + + + + +
 {$lng['admin']['configfiles']['serverconfiguration']} [{$lng['admin']['configfiles']['overview']}] {$lng['admin']['configfiles']['serverconfiguration']} [{$lng['admin']['configfiles']['overview']}]
{$lng['admin']['configfiles']['distribution']}:
+ + + + {$cronjobs_edit_form} +
{$title} {$title}
+
+
+
+$footer diff --git a/templates/admin/cronjobs/cronjobs.tpl b/templates/Classic/admin/cronjobs/cronjobs.tpl similarity index 77% rename from templates/admin/cronjobs/cronjobs.tpl rename to templates/Classic/admin/cronjobs/cronjobs.tpl index e26eb4dc..bd744c71 100644 --- a/templates/admin/cronjobs/cronjobs.tpl +++ b/templates/Classic/admin/cronjobs/cronjobs.tpl @@ -1,35 +1,35 @@ -$header -
- - - - - - - - - -
 {$lng['admin']['warning']}
- - {$lng['cron']['changewarning']} - -
-
-
- - - - - - - - - - - - $crons -
 {$lng['admin']['cron']['cronsettings']}
{$lng['cron']['description']}{$lng['cron']['lastrun']}{$lng['cron']['interval']}{$lng['cron']['isactive']}{$lng['panel']['options']}
-
-
-
-$footer +$header +
+ + + + + + + + + +
 {$lng['admin']['warning']}
+ + {$lng['cron']['changewarning']} + +
+
+
+ + + + + + + + + + + + $crons +
 {$lng['admin']['cron']['cronsettings']}
{$lng['cron']['description']}{$lng['cron']['lastrun']}{$lng['cron']['interval']}{$lng['cron']['isactive']}{$lng['panel']['options']}
+
+
+
+$footer diff --git a/templates/admin/cronjobs/cronjobs_cronjob.tpl b/templates/Classic/admin/cronjobs/cronjobs_cronjob.tpl similarity index 98% rename from templates/admin/cronjobs/cronjobs_cronjob.tpl rename to templates/Classic/admin/cronjobs/cronjobs_cronjob.tpl index 7d8967ce..7f7b4cc4 100644 --- a/templates/admin/cronjobs/cronjobs_cronjob.tpl +++ b/templates/Classic/admin/cronjobs/cronjobs_cronjob.tpl @@ -1,7 +1,7 @@ -
{$description}{$row['lastrun']}{$row['interval']}{$row['isactive']}{$lng['panel']['edit']}
{$description}{$row['lastrun']}{$row['interval']}{$row['isactive']}{$lng['panel']['edit']}
- + diff --git a/templates/Classic/admin/customers/customers_add.tpl b/templates/Classic/admin/customers/customers_add.tpl new file mode 100644 index 00000000..bd5ff631 --- /dev/null +++ b/templates/Classic/admin/customers/customers_add.tpl @@ -0,0 +1,25 @@ +$header +
+ + + + +
 {$lng['admin']['customers']} ({$customercount}) {$lng['admin']['customers']} ({$customercount}) {$searchcode}
+ + + + {$customer_add_form} +
{$title} {$title}
+ +
+ + + + + + + +
*: {$lng['admin']['valuemandatory']}
**: {$lng['admin']['valuemandatorycompany']}
+
+
+$footer diff --git a/templates/admin/customers/customers_customer.tpl b/templates/Classic/admin/customers/customers_customer.tpl similarity index 93% rename from templates/admin/customers/customers_customer.tpl rename to templates/Classic/admin/customers/customers_customer.tpl index 674ab204..421cc374 100644 --- a/templates/admin/customers/customers_customer.tpl +++ b/templates/Classic/admin/customers/customers_customer.tpl @@ -27,5 +27,5 @@ {$row['emails_used']}/{$row['emails']}
{$row['subdomains_used']}/{$row['subdomains']} {$row['email_accounts_used']}/{$row['email_accounts']}
{$row['email_forwarders_used']}/{$row['email_forwarders']} {$lng['panel']['yes']}{$lng['panel']['no']}
{$last_login} - {$unlock_link}{$lng['panel']['edit']}
{$lng['panel']['delete']} + {$lng['panel']['edit']}
{$lng['panel']['delete']} diff --git a/templates/Classic/admin/customers/customers_edit.tpl b/templates/Classic/admin/customers/customers_edit.tpl new file mode 100644 index 00000000..28b63db9 --- /dev/null +++ b/templates/Classic/admin/customers/customers_edit.tpl @@ -0,0 +1,26 @@ +$header +
+ + + + + + + + + + {$customer_edit_form} +
 {$title}
+
+
+ + + + + + + +
*: {$lng['admin']['valuemandatory']}
**: {$lng['admin']['valuemandatorycompany']}
+
+
+$footer diff --git a/templates/admin/domains/domains.tpl b/templates/Classic/admin/domains/domains.tpl similarity index 92% rename from templates/admin/domains/domains.tpl rename to templates/Classic/admin/domains/domains.tpl index d9391e9a..6bbca57b 100644 --- a/templates/admin/domains/domains.tpl +++ b/templates/Classic/admin/domains/domains.tpl @@ -4,7 +4,7 @@ $header - + diff --git a/templates/Classic/admin/domains/domains_add.tpl b/templates/Classic/admin/domains/domains_add.tpl new file mode 100644 index 00000000..81ae6d73 --- /dev/null +++ b/templates/Classic/admin/domains/domains_add.tpl @@ -0,0 +1,16 @@ +$header +
+ + + + +
 {$lng['admin']['domains']} ({$domainscount}) {$lng['admin']['domains']} ({$domainscount}) {$searchcode}
+ + + + {$domain_add_form} +
{$title} {$title}
+ +
+
+$footer diff --git a/templates/admin/domains/domains_domain.tpl b/templates/Classic/admin/domains/domains_domain.tpl similarity index 100% rename from templates/admin/domains/domains_domain.tpl rename to templates/Classic/admin/domains/domains_domain.tpl diff --git a/templates/Classic/admin/domains/domains_edit.tpl b/templates/Classic/admin/domains/domains_edit.tpl new file mode 100644 index 00000000..947008d6 --- /dev/null +++ b/templates/Classic/admin/domains/domains_edit.tpl @@ -0,0 +1,17 @@ +$header +
+ + + + + + + + + + {$domain_edit_form} +
 {$title}
+
+
+
+$footer diff --git a/templates/Classic/admin/froxlorclients/froxlorclient_settings.tpl b/templates/Classic/admin/froxlorclients/froxlorclient_settings.tpl new file mode 100644 index 00000000..de003662 --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclient_settings.tpl @@ -0,0 +1,12 @@ + + + + + $fields + + + +
 {$lng['admin']['froxlorclient_settings']} "{$client->Get('name')}" + [{$lng['admin']['configfiles']['compactoverview']}]
+ +
diff --git a/templates/admin/froxlorclients/froxlorclient_settingsend.tpl b/templates/Classic/admin/froxlorclients/froxlorclient_settingsend.tpl similarity index 100% rename from templates/admin/froxlorclients/froxlorclient_settingsend.tpl rename to templates/Classic/admin/froxlorclients/froxlorclient_settingsend.tpl diff --git a/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverview.tpl b/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverview.tpl new file mode 100644 index 00000000..6bdf2e2b --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverview.tpl @@ -0,0 +1,14 @@ + + + + + $fields + + + +
+  {$lng['admin']['configfiles']['serverconfiguration']} "{$client->Get('name')}" + [{$lng['admin']['configfiles']['overview']}] +
+   +
diff --git a/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl b/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl new file mode 100644 index 00000000..d331b732 --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl @@ -0,0 +1,12 @@ + + +  {$title} + + {$option} + + + {$lng['admin']['configfiles']['serverconfiguration']} + + + + diff --git a/templates/Classic/admin/froxlorclients/froxlorclients.tpl b/templates/Classic/admin/froxlorclients/froxlorclients.tpl new file mode 100644 index 00000000..60ee1a94 --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclients.tpl @@ -0,0 +1,29 @@ +$header +
+ + + + + + + + + + + + + + $froxlorclients + + + + + + + + +
 {$lng['menue']['multiserver']['clients']}{$searchcode}
#{$lng['admin']['froxlorclients']['name']} {$arrowcode['name']}
{$lng['admin']['froxlorclients']['desc']}
{$lng['admin']['froxlorclients']['enabled']} {$arrowcode['enabled']}
{$pagingcode}
{$lng['admin']['froxlorclients']['add']}
+
+
+
+$footer diff --git a/templates/Classic/admin/froxlorclients/froxlorclients_add.tpl b/templates/Classic/admin/froxlorclients/froxlorclients_add.tpl new file mode 100644 index 00000000..71ceac19 --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclients_add.tpl @@ -0,0 +1,43 @@ +$header +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['admin']['froxlorclients']['add']}
+ + {$lng['admin']['froxlorclients']['longdesc_add']} +
+  {$lng['admin']['froxlorclients']['client']} + + +
{$lng['admin']['froxlorclients']['name']}:
{$lng['admin']['froxlorclients']['desc']}:
{$lng['admin']['froxlorclients']['enabled']}:$client_enabled
+
+
+
+$footer diff --git a/templates/admin/froxlorclients/froxlorclients_client.tpl b/templates/Classic/admin/froxlorclients/froxlorclients_client.tpl similarity index 54% rename from templates/admin/froxlorclients/froxlorclients_client.tpl rename to templates/Classic/admin/froxlorclients/froxlorclients_client.tpl index 9916d3f8..2d0ec74d 100644 --- a/templates/admin/froxlorclients/froxlorclients_client.tpl +++ b/templates/Classic/admin/froxlorclients/froxlorclients_client.tpl @@ -1,17 +1,17 @@ - Client #{$row['id']} + Client #{$row['id']} {$row['name']}
{$row['desc']} - {$lng['panel']['yes']} + {$lng['panel']['yes']} - {$lng['panel']['no']} + {$lng['panel']['no']} - {$lng['admin']['froxlorclients']['view']} + {$lng['admin']['froxlorclients']['view']} diff --git a/templates/Classic/admin/froxlorclients/froxlorclients_edit.tpl b/templates/Classic/admin/froxlorclients/froxlorclients_edit.tpl new file mode 100644 index 00000000..54c90f65 --- /dev/null +++ b/templates/Classic/admin/froxlorclients/froxlorclients_edit.tpl @@ -0,0 +1,45 @@ +$header +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['admin']['froxlorclients']['edit']}
+ + {$lng['admin']['froxlorclients']['longdesc_add']} +
+  {$lng['admin']['froxlorclients']['client']} + + +
{$lng['admin']['froxlorclients']['name']}:
{$lng['admin']['froxlorclients']['desc']}:
{$lng['admin']['froxlorclients']['enabled']}:$client_enabled
+
+
+
+$footer diff --git a/templates/admin/froxlorclients/froxlorclients_view.tpl b/templates/Classic/admin/froxlorclients/froxlorclients_view.tpl similarity index 89% rename from templates/admin/froxlorclients/froxlorclients_view.tpl rename to templates/Classic/admin/froxlorclients/froxlorclients_view.tpl index 0f9a53d3..346cdfa2 100644 --- a/templates/admin/froxlorclients/froxlorclients_view.tpl +++ b/templates/Classic/admin/froxlorclients/froxlorclients_view.tpl @@ -4,7 +4,7 @@ $header - + diff --git a/templates/customer/index/change_language.tpl b/templates/Classic/admin/index/change_language.tpl similarity index 75% rename from templates/customer/index/change_language.tpl rename to templates/Classic/admin/index/change_language.tpl index ba24c291..45c1becd 100644 --- a/templates/customer/index/change_language.tpl +++ b/templates/Classic/admin/index/change_language.tpl @@ -4,10 +4,10 @@ $header
 {$lng['menue']['multiserver']['clients']} "{$client->Get('name')}" {$lng['menue']['multiserver']['clients']} "{$client->Get('name')}"
@TODO infos about client "{$client->Get('name')}"
- + - + diff --git a/templates/admin/index/change_password.tpl b/templates/Classic/admin/index/change_password.tpl similarity index 83% rename from templates/admin/index/change_password.tpl rename to templates/Classic/admin/index/change_password.tpl index f39a24e7..75a60005 100644 --- a/templates/admin/index/change_password.tpl +++ b/templates/Classic/admin/index/change_password.tpl @@ -4,10 +4,10 @@ $header
 {$lng['menue']['main']['changelanguage']} {$lng['menue']['main']['changelanguage']}
{$lng['login']['language']}
- + - + diff --git a/templates/Classic/admin/index/change_theme.tpl b/templates/Classic/admin/index/change_theme.tpl new file mode 100644 index 00000000..082089a5 --- /dev/null +++ b/templates/Classic/admin/index/change_theme.tpl @@ -0,0 +1,20 @@ +$header + + + +
 {$lng['menue']['main']['changepassword']} {$lng['menue']['main']['changepassword']}
{$lng['changepassword']['old_password']}
+ + + + + + + + + + +
 {$lng['menue']['main']['changetheme']}
{$lng['panel']['theme']}
+ +
+
+$footer diff --git a/templates/admin/index/index.tpl b/templates/Classic/admin/index/index.tpl similarity index 93% rename from templates/admin/index/index.tpl rename to templates/Classic/admin/index/index.tpl index caa3ad59..364a5e9b 100644 --- a/templates/admin/index/index.tpl +++ b/templates/Classic/admin/index/index.tpl @@ -1,7 +1,7 @@ $header - + @@ -78,7 +78,7 @@ $header - + @@ -121,7 +121,7 @@ $header - + {$outstanding_tasks} {$cron_last_runs} diff --git a/templates/Classic/admin/index/overview_item.tpl b/templates/Classic/admin/index/overview_item.tpl new file mode 100644 index 00000000..09ccf36e --- /dev/null +++ b/templates/Classic/admin/index/overview_item.tpl @@ -0,0 +1,4 @@ + + + + diff --git a/templates/admin/ipsandports/ipsandports.tpl b/templates/Classic/admin/ipsandports/ipsandports.tpl similarity index 93% rename from templates/admin/ipsandports/ipsandports.tpl rename to templates/Classic/admin/ipsandports/ipsandports.tpl index 2b2bbe6f..01c5bbcb 100644 --- a/templates/admin/ipsandports/ipsandports.tpl +++ b/templates/Classic/admin/ipsandports/ipsandports.tpl @@ -4,7 +4,7 @@ $header
 {$lng['admin']['ressourcedetails']} {$lng['admin']['ressourcedetails']}
{$lng['admin']['customers']}:
 {$lng['admin']['systemdetails']} {$lng['admin']['systemdetails']}
{$lng['admin']['serversoftware']}:
 {$lng['admin']['froxlordetails']} {$lng['admin']['froxlordetails']}
{$text}:{$value}
- + diff --git a/templates/Classic/admin/ipsandports/ipsandports_add.tpl b/templates/Classic/admin/ipsandports/ipsandports_add.tpl new file mode 100644 index 00000000..b9014b69 --- /dev/null +++ b/templates/Classic/admin/ipsandports/ipsandports_add.tpl @@ -0,0 +1,16 @@ +$header + + + + + +
 {$lng['admin']['ipsandports']['ipsandports']} {$lng['admin']['ipsandports']['ipsandports']} {$searchcode}
+ + + + {$ipsandports_add_form} +
{$title} {$title}
+ +
+
+$footer diff --git a/templates/Classic/admin/ipsandports/ipsandports_edit.tpl b/templates/Classic/admin/ipsandports/ipsandports_edit.tpl new file mode 100644 index 00000000..e0046cc1 --- /dev/null +++ b/templates/Classic/admin/ipsandports/ipsandports_edit.tpl @@ -0,0 +1,16 @@ +$header +
+ + + + + + + + + {$ipsandports_edit_form} +
{$title} {$title}
+
+
+
+$footer diff --git a/templates/admin/ipsandports/ipsandports_ipandport.tpl b/templates/Classic/admin/ipsandports/ipsandports_ipandport.tpl similarity index 100% rename from templates/admin/ipsandports/ipsandports_ipandport.tpl rename to templates/Classic/admin/ipsandports/ipsandports_ipandport.tpl diff --git a/templates/admin/logger/logger.tpl b/templates/Classic/admin/logger/logger.tpl similarity index 93% rename from templates/admin/logger/logger.tpl rename to templates/Classic/admin/logger/logger.tpl index 79569329..a2701c98 100644 --- a/templates/admin/logger/logger.tpl +++ b/templates/Classic/admin/logger/logger.tpl @@ -5,7 +5,7 @@ $header - + diff --git a/templates/admin/logger/logger_action.tpl b/templates/Classic/admin/logger/logger_action.tpl similarity index 100% rename from templates/admin/logger/logger_action.tpl rename to templates/Classic/admin/logger/logger_action.tpl diff --git a/templates/admin/logger/logger_log.tpl b/templates/Classic/admin/logger/logger_log.tpl similarity index 100% rename from templates/admin/logger/logger_log.tpl rename to templates/Classic/admin/logger/logger_log.tpl diff --git a/templates/admin/message/message.tpl b/templates/Classic/admin/message/message.tpl similarity index 91% rename from templates/admin/message/message.tpl rename to templates/Classic/admin/message/message.tpl index 9afe9f5e..03fb2e6a 100644 --- a/templates/admin/message/message.tpl +++ b/templates/Classic/admin/message/message.tpl @@ -14,7 +14,7 @@ $header
 {$lng['menue']['logger']['logger']} {$lng['menue']['logger']['logger']} {$searchcode}
- + diff --git a/templates/admin/phpconfig/overview.tpl b/templates/Classic/admin/phpconfig/overview.tpl similarity index 90% rename from templates/admin/phpconfig/overview.tpl rename to templates/Classic/admin/phpconfig/overview.tpl index 01b862ac..0bc632db 100644 --- a/templates/admin/phpconfig/overview.tpl +++ b/templates/Classic/admin/phpconfig/overview.tpl @@ -1,7 +1,7 @@ $header
 {$lng['admin']['message']} {$lng['admin']['message']}
{$lng['admin']['receipient']}
- + diff --git a/templates/admin/phpconfig/overview_add.tpl b/templates/Classic/admin/phpconfig/overview_add.tpl similarity index 53% rename from templates/admin/phpconfig/overview_add.tpl rename to templates/Classic/admin/phpconfig/overview_add.tpl index c7c3909d..629c507f 100644 --- a/templates/admin/phpconfig/overview_add.tpl +++ b/templates/Classic/admin/phpconfig/overview_add.tpl @@ -6,42 +6,16 @@ $header
 {$lng['menue']['phpsettings']['maintitle']} {$lng['menue']['phpsettings']['maintitle']}  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$phpconfig_add_form}
 {$lng['admin']['phpsettings']['addsettings']}
{$lng['admin']['phpsettings']['description']}
{$lng['admin']['phpsettings']['binary']}
{$lng['admin']['phpsettings']['file_extensions']}
{$lng['admin']['phpsettings']['file_extensions_note']}
{$lng['admin']['mod_fcgid_starter']['title']}
{$lng['admin']['mod_fcgid_maxrequests']['title']}
{$lng['admin']['phpsettings']['phpinisettings']}
 {$title} {$title}


- + diff --git a/templates/admin/phpconfig/overview_edit.tpl b/templates/Classic/admin/phpconfig/overview_edit.tpl similarity index 50% rename from templates/admin/phpconfig/overview_edit.tpl rename to templates/Classic/admin/phpconfig/overview_edit.tpl index 569c68f5..205e7a56 100644 --- a/templates/admin/phpconfig/overview_edit.tpl +++ b/templates/Classic/admin/phpconfig/overview_edit.tpl @@ -7,42 +7,16 @@ $header
  {$lng['admin']['phpconfig']['template_replace_vars']}  {$lng['admin']['phpconfig']['template_replace_vars']}
{SAFE_MODE}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$phpconfig_edit_form}
 {$lng['admin']['phpsettings']['editsettings']}
{$lng['admin']['phpsettings']['description']}
{$lng['admin']['phpsettings']['binary']}
{$lng['admin']['phpsettings']['file_extensions']}
{$lng['admin']['phpsettings']['file_extensions_note']}
{$lng['admin']['mod_fcgid_starter']['title']}
{$lng['admin']['mod_fcgid_maxrequests']['title']}
{$lng['admin']['phpsettings']['phpinisettings']}
 {$title} {$title}


- + diff --git a/templates/admin/phpconfig/overview_overview.tpl b/templates/Classic/admin/phpconfig/overview_overview.tpl similarity index 100% rename from templates/admin/phpconfig/overview_overview.tpl rename to templates/Classic/admin/phpconfig/overview_overview.tpl diff --git a/templates/admin/settings/settings.tpl b/templates/Classic/admin/settings/settings.tpl similarity index 78% rename from templates/admin/settings/settings.tpl rename to templates/Classic/admin/settings/settings.tpl index cfcdcdf2..a315a55d 100644 --- a/templates/admin/settings/settings.tpl +++ b/templates/Classic/admin/settings/settings.tpl @@ -1,6 +1,6 @@
  {$lng['admin']['phpconfig']['template_replace_vars']}  {$lng['admin']['phpconfig']['template_replace_vars']}
{SAFE_MODE}
- $fields diff --git a/templates/admin/settings/settings_form_begin.tpl b/templates/Classic/admin/settings/settings_form_begin.tpl similarity index 100% rename from templates/admin/settings/settings_form_begin.tpl rename to templates/Classic/admin/settings/settings_form_begin.tpl diff --git a/templates/admin/settings/settings_form_end.tpl b/templates/Classic/admin/settings/settings_form_end.tpl similarity index 100% rename from templates/admin/settings/settings_form_end.tpl rename to templates/Classic/admin/settings/settings_form_end.tpl diff --git a/templates/Classic/admin/settings/settings_group.tpl b/templates/Classic/admin/settings/settings_group.tpl new file mode 100644 index 00000000..c35e9594 --- /dev/null +++ b/templates/Classic/admin/settings/settings_group.tpl @@ -0,0 +1,8 @@ + + + + diff --git a/templates/admin/settings/settings_overview.tpl b/templates/Classic/admin/settings/settings_overview.tpl similarity index 82% rename from templates/admin/settings/settings_overview.tpl rename to templates/Classic/admin/settings/settings_overview.tpl index 9f9bc4ba..f8c2e458 100644 --- a/templates/admin/settings/settings_overview.tpl +++ b/templates/Classic/admin/settings/settings_overview.tpl @@ -1,7 +1,7 @@
 {$lng['admin']['serversettings']} +  {$lng['admin']['serversettings']} [{$lng['admin']['configfiles']['compactoverview']}]
+  {$groupdetails['title']} + + +
diff --git a/templates/admin/settings/settings_overviewgroup.tpl b/templates/Classic/admin/settings/settings_overviewgroup.tpl similarity index 83% rename from templates/admin/settings/settings_overviewgroup.tpl rename to templates/Classic/admin/settings/settings_overviewgroup.tpl index 801a7b1f..10185e73 100644 --- a/templates/admin/settings/settings_overviewgroup.tpl +++ b/templates/Classic/admin/settings/settings_overviewgroup.tpl @@ -1,6 +1,6 @@ + + + + + + diff --git a/templates/Froxlor/admin/customers/customers_edit.tpl b/templates/Froxlor/admin/customers/customers_edit.tpl new file mode 100644 index 00000000..ae4c13b4 --- /dev/null +++ b/templates/Froxlor/admin/customers/customers_edit.tpl @@ -0,0 +1,42 @@ +$header +
+
+

+ {$title}  + {$title} +

+
+ +
+ +
+
+ Froxlor - {$title} + +
-  {$lng['admin']['configfiles']['serverconfiguration']} +  {$lng['admin']['configfiles']['serverconfiguration']} [{$lng['admin']['configfiles']['overview']}]
-  {$title} +  {$title} {$option} diff --git a/templates/Classic/admin/settings/updatecounters.tpl b/templates/Classic/admin/settings/updatecounters.tpl new file mode 100644 index 00000000..abf661c7 --- /dev/null +++ b/templates/Classic/admin/settings/updatecounters.tpl @@ -0,0 +1,18 @@ +$header + + + + +{$customers} + + + +{$admins} +
+  {$lng['admin']['updatecounters']}: {$lng['admin']['customers']} +
+  {$lng['admin']['updatecounters']}: {$lng['admin']['admins']} +
+
+
+$footer diff --git a/templates/admin/settings/updatecounters_row_admin.tpl b/templates/Classic/admin/settings/updatecounters_row_admin.tpl similarity index 100% rename from templates/admin/settings/updatecounters_row_admin.tpl rename to templates/Classic/admin/settings/updatecounters_row_admin.tpl diff --git a/templates/admin/settings/updatecounters_row_customer.tpl b/templates/Classic/admin/settings/updatecounters_row_customer.tpl similarity index 100% rename from templates/admin/settings/updatecounters_row_customer.tpl rename to templates/Classic/admin/settings/updatecounters_row_customer.tpl diff --git a/templates/admin/templates/filetemplates_add.tpl b/templates/Classic/admin/templates/filetemplates_add.tpl similarity index 89% rename from templates/admin/templates/filetemplates_add.tpl rename to templates/Classic/admin/templates/filetemplates_add.tpl index 3b10b0ae..be75afba 100644 --- a/templates/admin/templates/filetemplates_add.tpl +++ b/templates/Classic/admin/templates/filetemplates_add.tpl @@ -5,7 +5,7 @@ $header - + @@ -23,7 +23,7 @@ $header
 {$lng['admin']['templates']['template_add']} {$lng['admin']['templates']['template_add']}
{$lng['admin']['templates']['action']}
- + diff --git a/templates/admin/templates/filetemplates_edit.tpl b/templates/Classic/admin/templates/filetemplates_edit.tpl similarity index 89% rename from templates/admin/templates/filetemplates_edit.tpl rename to templates/Classic/admin/templates/filetemplates_edit.tpl index fec8a397..068ec50e 100644 --- a/templates/admin/templates/filetemplates_edit.tpl +++ b/templates/Classic/admin/templates/filetemplates_edit.tpl @@ -6,7 +6,7 @@ $header
  {$lng['admin']['templates']['template_replace_vars']}  {$lng['admin']['templates']['template_replace_vars']}
{$lng['admin']['templates']['index_html']}
- + @@ -24,7 +24,7 @@ $header
 {$lng['admin']['templates']['template_add']} {$lng['admin']['templates']['template_add']}
{$lng['admin']['templates']['action']}
- + diff --git a/templates/admin/templates/templates.tpl b/templates/Classic/admin/templates/templates.tpl similarity index 79% rename from templates/admin/templates/templates.tpl rename to templates/Classic/admin/templates/templates.tpl index dcbeac87..a2388a00 100644 --- a/templates/admin/templates/templates.tpl +++ b/templates/Classic/admin/templates/templates.tpl @@ -1,7 +1,7 @@ $header
  {$lng['admin']['templates']['template_replace_vars']}  {$lng['admin']['templates']['template_replace_vars']}
{$lng['admin']['templates']['index_html']}
- + @@ -18,7 +18,7 @@ $header
 {$lng['admin']['templates']['templates']} {$lng['admin']['templates']['templates']}
{$lng['login']['language']}
- + diff --git a/templates/admin/templates/templates_add_1.tpl b/templates/Classic/admin/templates/templates_add_1.tpl similarity index 83% rename from templates/admin/templates/templates_add_1.tpl rename to templates/Classic/admin/templates/templates_add_1.tpl index ef569b66..9d11b893 100644 --- a/templates/admin/templates/templates_add_1.tpl +++ b/templates/Classic/admin/templates/templates_add_1.tpl @@ -5,7 +5,7 @@ $header
 {$lng['admin']['templates']['filetemplates']} {$lng['admin']['templates']['filetemplates']}
{$lng['admin']['templates']['action']}
- + diff --git a/templates/admin/templates/templates_add_2.tpl b/templates/Classic/admin/templates/templates_add_2.tpl similarity index 83% rename from templates/admin/templates/templates_add_2.tpl rename to templates/Classic/admin/templates/templates_add_2.tpl index 3c647457..da724f8a 100644 --- a/templates/admin/templates/templates_add_2.tpl +++ b/templates/Classic/admin/templates/templates_add_2.tpl @@ -5,7 +5,7 @@ $header
 {$lng['admin']['templates']['template_add']} {$lng['admin']['templates']['template_add']}
{$lng['login']['language']}:
- + @@ -31,7 +31,7 @@ $header
 {$lng['admin']['templates']['template_add']} {$lng['admin']['templates']['template_add']}
{$lng['login']['language']}
- + @@ -96,7 +96,7 @@ $header - + @@ -106,33 +106,6 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/templates/admin/templates/templates_edit.tpl b/templates/Classic/admin/templates/templates_edit.tpl similarity index 96% rename from templates/admin/templates/templates_edit.tpl rename to templates/Classic/admin/templates/templates_edit.tpl index 4fbdc8bb..a805e6db 100644 --- a/templates/admin/templates/templates_edit.tpl +++ b/templates/Classic/admin/templates/templates_edit.tpl @@ -7,7 +7,7 @@ $header
  {$lng['admin']['templates']['template_replace_vars']}  {$lng['admin']['templates']['template_replace_vars']}
{$lng['admin']['templates']['createcustomer']}{$lng['admin']['templates']['PASSWORD']}
{$lng['admin']['templates']['trafficmaxpercent']}{$lng['admin']['templates']['trafficninetypercent']}
{TRAFFIC}:{TRAFFICUSED}: {$lng['admin']['templates']['TRAFFICUSED']}
{MAX_PERCENT}:{$lng['admin']['templates']['MAX_PERCENT']}
{USAGE_PERCENT}:{$lng['admin']['templates']['USAGE_PERCENT']}
{$lng['admin']['templates']['diskmaxpercent']}
{DISKAVAILABLE}:{$lng['admin']['templates']['DISKAVAILABLE']}
{DISKUSED}:{$lng['admin']['templates']['DISKUSED']}
{MAX_PERCENT}:{$lng['admin']['templates']['MAX_PERCENT']}
{USAGE_PERCENT}:{$lng['admin']['templates']['USAGE_PERCENT']}
{$lng['admin']['templates']['ticket']}
- + @@ -33,7 +33,7 @@ $header
 {$lng['admin']['templates']['template_edit']} {$lng['admin']['templates']['template_edit']}
{$lng['login']['language']}
- + diff --git a/templates/admin/templates/templates_filetemplate.tpl b/templates/Classic/admin/templates/templates_filetemplate.tpl similarity index 68% rename from templates/admin/templates/templates_filetemplate.tpl rename to templates/Classic/admin/templates/templates_filetemplate.tpl index d11e4db7..0841e15a 100644 --- a/templates/admin/templates/templates_filetemplate.tpl +++ b/templates/Classic/admin/templates/templates_filetemplate.tpl @@ -1,5 +1,5 @@ - - + + diff --git a/templates/admin/templates/templates_template.tpl b/templates/Classic/admin/templates/templates_template.tpl similarity index 100% rename from templates/admin/templates/templates_template.tpl rename to templates/Classic/admin/templates/templates_template.tpl diff --git a/templates/admin/ticket/archive.tpl b/templates/Classic/admin/ticket/archive.tpl similarity index 90% rename from templates/admin/ticket/archive.tpl rename to templates/Classic/admin/ticket/archive.tpl index b4a6c03d..7e2e6d5f 100644 --- a/templates/admin/ticket/archive.tpl +++ b/templates/Classic/admin/ticket/archive.tpl @@ -5,7 +5,7 @@ $header
  {$lng['admin']['templates']['template_replace_vars']}  {$lng['admin']['templates']['template_replace_vars']}
{$lng['admin']['templates']['createcustomer']}
{$lng['admin']['templates'][$row['varname']]}{$lng['panel']['delete']}{$lng['panel']['edit']}{$lng['panel']['delete']}{$lng['panel']['edit']}
- + @@ -27,7 +27,7 @@ $header
 {$lng['ticket']['lastarchived']} {$lng['ticket']['lastarchived']}  
- + diff --git a/templates/admin/ticket/archived_tickets.tpl b/templates/Classic/admin/ticket/archived_tickets.tpl similarity index 100% rename from templates/admin/ticket/archived_tickets.tpl rename to templates/Classic/admin/ticket/archived_tickets.tpl diff --git a/templates/Classic/admin/ticket/archivesearch.tpl b/templates/Classic/admin/ticket/archivesearch.tpl new file mode 100644 index 00000000..91662d6c --- /dev/null +++ b/templates/Classic/admin/ticket/archivesearch.tpl @@ -0,0 +1,31 @@ +$header + + + + +
 {$lng['ticket']['search']} {$lng['ticket']['search']}
{$lng['ticket']['subject']}:
+ + + + + + + + + + + + + + $tickets + + + + + + +
 {$lng['ticket']['archivesearch']} 
{$lng['ticket']['archivedtime']}{$lng['ticket']['ticket_answers']}{$lng['ticket']['subject']}{$lng['ticket']['lastreplier']}{$lng['ticket']['priority']}
{$lng['ticket']['noresults']}
+ +
+
+$footer \ No newline at end of file diff --git a/templates/admin/ticket/categories.tpl b/templates/Classic/admin/ticket/categories.tpl similarity index 90% rename from templates/admin/ticket/categories.tpl rename to templates/Classic/admin/ticket/categories.tpl index 38cdcdbb..fcbd4a02 100644 --- a/templates/admin/ticket/categories.tpl +++ b/templates/Classic/admin/ticket/categories.tpl @@ -5,7 +5,7 @@ $header - + @@ -32,4 +32,4 @@ $header

-$footer \ No newline at end of file +$footer diff --git a/templates/admin/ticket/tickets.tpl b/templates/Classic/admin/ticket/tickets.tpl similarity index 93% rename from templates/admin/ticket/tickets.tpl rename to templates/Classic/admin/ticket/tickets.tpl index faa02b67..b6a2c149 100644 --- a/templates/admin/ticket/tickets.tpl +++ b/templates/Classic/admin/ticket/tickets.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['ticket']['categories']} {$lng['menue']['ticket']['categories']} {$searchcode}
- + diff --git a/templates/admin/ticket/tickets_categories.tpl b/templates/Classic/admin/ticket/tickets_categories.tpl similarity index 100% rename from templates/admin/ticket/tickets_categories.tpl rename to templates/Classic/admin/ticket/tickets_categories.tpl diff --git a/templates/admin/ticket/tickets_customer.tpl b/templates/Classic/admin/ticket/tickets_customer.tpl similarity index 100% rename from templates/admin/ticket/tickets_customer.tpl rename to templates/Classic/admin/ticket/tickets_customer.tpl diff --git a/templates/Classic/admin/ticket/tickets_editcategory.tpl b/templates/Classic/admin/ticket/tickets_editcategory.tpl new file mode 100644 index 00000000..c206e94e --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_editcategory.tpl @@ -0,0 +1,16 @@ +$header +
+ + + + +
 {$lng['menue']['ticket']['ticket']} {$lng['menue']['ticket']['ticket']} {$searchcode}
+ + + + {$category_edit_form} +
{$title} {$title}
+ +
+
+$footer \ No newline at end of file diff --git a/templates/Classic/admin/ticket/tickets_new.tpl b/templates/Classic/admin/ticket/tickets_new.tpl new file mode 100644 index 00000000..41d15d17 --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_new.tpl @@ -0,0 +1,15 @@ +$header +
+ + + + + + + + {$ticket_new_form} +
{$title} {$title}
+
+
+
+$footer \ No newline at end of file diff --git a/templates/Classic/admin/ticket/tickets_newcategory.tpl b/templates/Classic/admin/ticket/tickets_newcategory.tpl new file mode 100644 index 00000000..42cb969c --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_newcategory.tpl @@ -0,0 +1,15 @@ +$header +
+ + + + + + + + {$category_new_form} +
{$title} {$title}
+
+
+
+$footer \ No newline at end of file diff --git a/templates/Classic/admin/ticket/tickets_reply.tpl b/templates/Classic/admin/ticket/tickets_reply.tpl new file mode 100644 index 00000000..13edda7f --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_reply.tpl @@ -0,0 +1,31 @@ +$header +
+ + + + + + $ticket_replies + + + + + + + {$ticket_reply_form} +
{$title} {$title}
+
+ + + + + + + + +
 {$lng['ticket']['ticket_reopen']}
{$lng['ticket']['ticket_reopen']}
+
+
+
+
+$footer \ No newline at end of file diff --git a/templates/admin/ticket/tickets_tickets.tpl b/templates/Classic/admin/ticket/tickets_tickets.tpl similarity index 100% rename from templates/admin/ticket/tickets_tickets.tpl rename to templates/Classic/admin/ticket/tickets_tickets.tpl diff --git a/templates/admin/ticket/tickets_tickets_list.tpl b/templates/Classic/admin/ticket/tickets_tickets_list.tpl similarity index 68% rename from templates/admin/ticket/tickets_tickets_list.tpl rename to templates/Classic/admin/ticket/tickets_tickets_list.tpl index 3c081dfd..f2979ab4 100644 --- a/templates/admin/ticket/tickets_tickets_list.tpl +++ b/templates/Classic/admin/ticket/tickets_tickets_list.tpl @@ -1,6 +1,6 @@ - + diff --git a/templates/Classic/admin/ticket/tickets_tickets_main.tpl b/templates/Classic/admin/ticket/tickets_tickets_main.tpl new file mode 100644 index 00000000..9767d66f --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_tickets_main.tpl @@ -0,0 +1,11 @@ +
  {$lastchange} {$lng['ticket']['by']} {$by}  {$lastchange} {$lng['ticket']['by']} {$by}
{$subject}
+ + + + + + + + + +
  {$dt} {$lng['ticket']['by']} {$by} ({$status})
{$subject}
{$message}
\ No newline at end of file diff --git a/templates/Classic/admin/ticket/tickets_view.tpl b/templates/Classic/admin/ticket/tickets_view.tpl new file mode 100644 index 00000000..df999143 --- /dev/null +++ b/templates/Classic/admin/ticket/tickets_view.tpl @@ -0,0 +1,17 @@ +$header + + + + + + + +
 {$lng['ticket']['ticket_delete']}
{$lng['panel']['delete']}
+
+
+ + $ticket_replies + +
+
+$footer \ No newline at end of file diff --git a/templates/admin/update/index.tpl b/templates/Classic/admin/update/index.tpl similarity index 84% rename from templates/admin/update/index.tpl rename to templates/Classic/admin/update/index.tpl index b249eeb8..5e7c04d2 100644 --- a/templates/admin/update/index.tpl +++ b/templates/Classic/admin/update/index.tpl @@ -5,7 +5,7 @@ $header - + diff --git a/templates/admin/update/noupdatesavail.tpl b/templates/Classic/admin/update/noupdatesavail.tpl similarity index 57% rename from templates/admin/update/noupdatesavail.tpl rename to templates/Classic/admin/update/noupdatesavail.tpl index 12d1d571..906d4507 100644 --- a/templates/admin/update/noupdatesavail.tpl +++ b/templates/Classic/admin/update/noupdatesavail.tpl @@ -1,10 +1,10 @@ $header
 {$lng['update']['update']} {$lng['update']['update']}
{$update_information}
- + - +
  {$lng['update']['update']}  {$lng['update']['update']}
$success_message
{$lng['success']['clickheretocontinue']}
diff --git a/templates/admin/update/preconfigitem.tpl b/templates/Classic/admin/update/preconfigitem.tpl similarity index 100% rename from templates/admin/update/preconfigitem.tpl rename to templates/Classic/admin/update/preconfigitem.tpl diff --git a/templates/admin/update/update_end.tpl b/templates/Classic/admin/update/update_end.tpl similarity index 100% rename from templates/admin/update/update_end.tpl rename to templates/Classic/admin/update/update_end.tpl diff --git a/templates/admin/update/update_start.tpl b/templates/Classic/admin/update/update_start.tpl similarity index 61% rename from templates/admin/update/update_start.tpl rename to templates/Classic/admin/update/update_start.tpl index 7994b8bf..17a484b9 100644 --- a/templates/admin/update/update_start.tpl +++ b/templates/Classic/admin/update/update_start.tpl @@ -1,7 +1,7 @@ $header - + + + + + + + diff --git a/templates/Froxlor/admin/customers/customers.tpl b/templates/Froxlor/admin/customers/customers.tpl new file mode 100644 index 00000000..f2ded955 --- /dev/null +++ b/templates/Froxlor/admin/customers/customers.tpl @@ -0,0 +1,65 @@ +$header +
 {$lng['update']['update']} {$lng['update']['update']}
diff --git a/templates/customer/aps/askyesno.tpl b/templates/Classic/customer/aps/askyesno.tpl similarity index 92% rename from templates/customer/aps/askyesno.tpl rename to templates/Classic/customer/aps/askyesno.tpl index 4e60528e..b7593a82 100644 --- a/templates/customer/aps/askyesno.tpl +++ b/templates/Classic/customer/aps/askyesno.tpl @@ -1,6 +1,6 @@ - + + + diff --git a/templates/Froxlor/admin/configfiles/configfiles_file.tpl b/templates/Froxlor/admin/configfiles/configfiles_file.tpl new file mode 100644 index 00000000..852dd76c --- /dev/null +++ b/templates/Froxlor/admin/configfiles/configfiles_file.tpl @@ -0,0 +1,7 @@ +

+
+ +

+ diff --git a/templates/Froxlor/admin/configfiles/configfiles_files.tpl b/templates/Froxlor/admin/configfiles/configfiles_files.tpl new file mode 100644 index 00000000..b248385a --- /dev/null +++ b/templates/Froxlor/admin/configfiles/configfiles_files.tpl @@ -0,0 +1,3 @@ + + + diff --git a/templates/Froxlor/admin/configfiles/wizard.tpl b/templates/Froxlor/admin/configfiles/wizard.tpl new file mode 100644 index 00000000..3715179b --- /dev/null +++ b/templates/Froxlor/admin/configfiles/wizard.tpl @@ -0,0 +1,39 @@ +$header +
$Message
diff --git a/templates/customer/aps/data.tpl b/templates/Classic/customer/aps/data.tpl similarity index 100% rename from templates/customer/aps/data.tpl rename to templates/Classic/customer/aps/data.tpl diff --git a/templates/customer/aps/footer.tpl b/templates/Classic/customer/aps/footer.tpl similarity index 100% rename from templates/customer/aps/footer.tpl rename to templates/Classic/customer/aps/footer.tpl diff --git a/templates/customer/aps/header.tpl b/templates/Classic/customer/aps/header.tpl similarity index 100% rename from templates/customer/aps/header.tpl rename to templates/Classic/customer/aps/header.tpl diff --git a/templates/customer/aps/infobox.tpl b/templates/Classic/customer/aps/infobox.tpl similarity index 77% rename from templates/customer/aps/infobox.tpl rename to templates/Classic/customer/aps/infobox.tpl index 182f811e..bf515fd5 100644 --- a/templates/customer/aps/infobox.tpl +++ b/templates/Classic/customer/aps/infobox.tpl @@ -1,6 +1,6 @@ - +
$Message
diff --git a/templates/customer/aps/installer.tpl b/templates/Classic/customer/aps/installer.tpl similarity index 89% rename from templates/customer/aps/installer.tpl rename to templates/Classic/customer/aps/installer.tpl index 08384e22..bbd462c8 100644 --- a/templates/customer/aps/installer.tpl +++ b/templates/Classic/customer/aps/installer.tpl @@ -7,7 +7,7 @@ - + + + + + + + + + diff --git a/templates/Froxlor/admin/configfiles/choose_service.tpl b/templates/Froxlor/admin/configfiles/choose_service.tpl new file mode 100644 index 00000000..d71751ec --- /dev/null +++ b/templates/Froxlor/admin/configfiles/choose_service.tpl @@ -0,0 +1,5 @@ +{$service_details['label']} +
+
    +$daemons +
diff --git a/templates/Froxlor/admin/configfiles/configfiles.tpl b/templates/Froxlor/admin/configfiles/configfiles.tpl new file mode 100644 index 00000000..66cd9500 --- /dev/null +++ b/templates/Froxlor/admin/configfiles/configfiles.tpl @@ -0,0 +1,25 @@ +$header +
+
+

+   + {$configfiles[$distribution]['label']} »  + {$configfiles[$distribution]['services'][$service]['label']} »  + {$configfiles[$distribution]['services'][$service]['daemons'][$daemon]['label']}  +[{$lng['panel']['back']}] +

+
+ +
+
 {$Xml->name} {$Xml->name}
{$lng['aps']['install_wizard']} diff --git a/templates/customer/aps/package.tpl b/templates/Classic/customer/aps/package.tpl similarity index 95% rename from templates/customer/aps/package.tpl rename to templates/Classic/customer/aps/package.tpl index 41a9e4bb..0eb4947d 100644 --- a/templates/customer/aps/package.tpl +++ b/templates/Classic/customer/aps/package.tpl @@ -1,6 +1,6 @@ - + diff --git a/templates/customer/aps/package_status.tpl b/templates/Classic/customer/aps/package_status.tpl similarity index 94% rename from templates/customer/aps/package_status.tpl rename to templates/Classic/customer/aps/package_status.tpl index 5eb5622d..c53dc6ad 100644 --- a/templates/customer/aps/package_status.tpl +++ b/templates/Classic/customer/aps/package_status.tpl @@ -1,6 +1,6 @@
 {$Xml->name} {$Xml->name}
$Summary
- + diff --git a/templates/customer/aps/search.tpl b/templates/Classic/customer/aps/search.tpl similarity index 85% rename from templates/customer/aps/search.tpl rename to templates/Classic/customer/aps/search.tpl index c3c25691..ea00da16 100644 --- a/templates/customer/aps/search.tpl +++ b/templates/Classic/customer/aps/search.tpl @@ -4,7 +4,7 @@
 {$Xml->name} {$Xml->name}
$Summary
- + diff --git a/templates/customer/domains/domainlist.tpl b/templates/Classic/customer/domains/domainlist.tpl similarity index 90% rename from templates/customer/domains/domainlist.tpl rename to templates/Classic/customer/domains/domainlist.tpl index 26c92346..d13cd1df 100644 --- a/templates/customer/domains/domainlist.tpl +++ b/templates/Classic/customer/domains/domainlist.tpl @@ -4,7 +4,7 @@ $header
 {$lng['aps']['search']} {$lng['aps']['search']}
{$lng['aps']['search_description']}
- + diff --git a/templates/customer/domains/domains.tpl b/templates/Classic/customer/domains/domains.tpl similarity index 64% rename from templates/customer/domains/domains.tpl rename to templates/Classic/customer/domains/domains.tpl index e5d49243..2985f77a 100644 --- a/templates/customer/domains/domains.tpl +++ b/templates/Classic/customer/domains/domains.tpl @@ -1,7 +1,7 @@ $header
 {$lng['domains']['domainsettings']} ({$domains_count}) {$lng['domains']['domainsettings']} ({$domains_count}) {$searchcode}
- + diff --git a/templates/Classic/customer/domains/domains_add.tpl b/templates/Classic/customer/domains/domains_add.tpl new file mode 100644 index 00000000..7dfe3990 --- /dev/null +++ b/templates/Classic/customer/domains/domains_add.tpl @@ -0,0 +1,57 @@ +$header + + + + +
 {$lng['menue']['domains']['domains']} {$lng['menue']['domains']['domains']}
{$lng['domains']['description']}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['domains']['subdomain_add']}
{$lng['domains']['domainname']}: .
{$lng['domains']['aliasdomain']}:
{$lng['panel']['pathorurl']}:
{$lng['panel']['pathDescription']}{$lng['panel']['pathDescriptionEx']}
{$pathSelect}
{$lng['panel']['path']}:{$pathSelect}
{$lng['panel']['urloverridespath']}:
{$lng['domains']['redirectifpathisurl']}:
{$lng['domains']['redirectifpathisurlinfo']}
SSL Redirect:$ssl_redirect
{$lng['domain']['openbasedirpath']}:
+ +
+
+$footer \ No newline at end of file diff --git a/templates/customer/domains/domains_delimiter.tpl b/templates/Classic/customer/domains/domains_delimiter.tpl similarity index 100% rename from templates/customer/domains/domains_delimiter.tpl rename to templates/Classic/customer/domains/domains_delimiter.tpl diff --git a/templates/customer/domains/domains_domain.tpl b/templates/Classic/customer/domains/domains_domain.tpl similarity index 100% rename from templates/customer/domains/domains_domain.tpl rename to templates/Classic/customer/domains/domains_domain.tpl diff --git a/templates/Classic/customer/domains/domains_edit.tpl b/templates/Classic/customer/domains/domains_edit.tpl new file mode 100644 index 00000000..526808c6 --- /dev/null +++ b/templates/Classic/customer/domains/domains_edit.tpl @@ -0,0 +1,76 @@ +$header +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['domains']['subdomain_edit']}
{$lng['domains']['domainname']}:{$result['domain']}
{$lng['dns']['destinationip']}:{$domainip}
{$lng['domains']['aliasdomain']}:
{$lng['panel']['pathorurl']}:
{$lng['panel']['pathDescription']}{$lng['panel']['pathDescriptionEx']}
{$pathSelect}
{$lng['panel']['path']}:{$pathSelect}
{$lng['panel']['urloverridespath']}:
{$lng['domains']['redirectifpathisurl']}:
{$lng['domains']['redirectifpathisurlinfo']}
{$lng['domains']['wildcarddomain']}$iswildcarddomain
Emaildomain:$isemaildomain
SSL Redirect:$ssl_redirect
{$lng['domain']['openbasedirpath']}:
+
+
+
+$footer diff --git a/templates/customer/email/account_add.tpl b/templates/Classic/customer/email/account_add.tpl similarity index 92% rename from templates/customer/email/account_add.tpl rename to templates/Classic/customer/email/account_add.tpl index 743389d0..9ee1b5a4 100644 --- a/templates/customer/email/account_add.tpl +++ b/templates/Classic/customer/email/account_add.tpl @@ -6,7 +6,7 @@ $header - + diff --git a/templates/Classic/customer/email/account_changepw.tpl b/templates/Classic/customer/email/account_changepw.tpl new file mode 100644 index 00000000..1ac9aec3 --- /dev/null +++ b/templates/Classic/customer/email/account_changepw.tpl @@ -0,0 +1,26 @@ +$header + + + + + +
 {$lng['emails']['account_add']} {$lng['emails']['account_add']}
{$lng['emails']['emailaddress']}:
+ + + + + + + + + + + + + + +
 {$lng['menue']['main']['changepassword']}
{$lng['emails']['emailaddress']}:{$result['email_full']}
{$lng['login']['password']}:
+ +
+
+$footer \ No newline at end of file diff --git a/templates/Classic/customer/email/account_changequota.tpl b/templates/Classic/customer/email/account_changequota.tpl new file mode 100644 index 00000000..ce53923c --- /dev/null +++ b/templates/Classic/customer/email/account_changequota.tpl @@ -0,0 +1,26 @@ +$header +
+ + + + + + + + + + + + + + + + + + + +
 {$lng['emails']['quota_edit']}
{$lng['emails']['emailaddress']}:{$result['email_full']}
{$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
+
+
+
+$footer \ No newline at end of file diff --git a/templates/customer/email/autoresponder.tpl b/templates/Classic/customer/email/autoresponder.tpl similarity index 84% rename from templates/customer/email/autoresponder.tpl rename to templates/Classic/customer/email/autoresponder.tpl index a946acd8..98bad22f 100644 --- a/templates/customer/email/autoresponder.tpl +++ b/templates/Classic/customer/email/autoresponder.tpl @@ -1,7 +1,7 @@ $header - + diff --git a/templates/Classic/customer/email/autoresponder_add.tpl b/templates/Classic/customer/email/autoresponder_add.tpl new file mode 100644 index 00000000..7186e9c9 --- /dev/null +++ b/templates/Classic/customer/email/autoresponder_add.tpl @@ -0,0 +1,42 @@ +$header + + + +
 {$lng['menue']['email']['autoresponder']} {$lng['menue']['email']['autoresponder']}
{$lng['emails']['emailaddress']}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['autoresponder']['autoresponder_new']}
{$lng['autoresponder']['account']}:
{$lng['autoresponder']['active']}:
{$lng['autoresponder']['date_from']} (dd-mm-yyyy): {$date_from_off}
{$lng['autoresponder']['date_until']} (dd-mm-yyyy): {$date_until_off}
{$lng['autoresponder']['subject']}:
{$lng['autoresponder']['message']}:
+ +
+
+$footer \ No newline at end of file diff --git a/templates/customer/email/autoresponder_autoresponder.tpl b/templates/Classic/customer/email/autoresponder_autoresponder.tpl similarity index 100% rename from templates/customer/email/autoresponder_autoresponder.tpl rename to templates/Classic/customer/email/autoresponder_autoresponder.tpl diff --git a/templates/Classic/customer/email/autoresponder_edit.tpl b/templates/Classic/customer/email/autoresponder_edit.tpl new file mode 100644 index 00000000..5f82e6b1 --- /dev/null +++ b/templates/Classic/customer/email/autoresponder_edit.tpl @@ -0,0 +1,43 @@ +$header +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 {$lng['autoresponder']['autoresponder_edit']}
{$lng['autoresponder']['account']}:{$email}
{$lng['autoresponder']['active']}:
{$lng['autoresponder']['date_from']} (dd-mm-yyyy): {$date_from_off}
{$lng['autoresponder']['date_until']} (dd-mm-yyyy): {$date_until_off}
{$lng['autoresponder']['subject']}:
{$lng['autoresponder']['message']}:
+
+
+
+$footer \ No newline at end of file diff --git a/templates/customer/email/email.tpl b/templates/Classic/customer/email/email.tpl similarity index 65% rename from templates/customer/email/email.tpl rename to templates/Classic/customer/email/email.tpl index 93092351..ecc75a3c 100644 --- a/templates/customer/email/email.tpl +++ b/templates/Classic/customer/email/email.tpl @@ -1,7 +1,7 @@ $header - + diff --git a/templates/customer/email/emails.tpl b/templates/Classic/customer/email/emails.tpl similarity index 91% rename from templates/customer/email/emails.tpl rename to templates/Classic/customer/email/emails.tpl index 48ef6693..d7b0c222 100644 --- a/templates/customer/email/emails.tpl +++ b/templates/Classic/customer/email/emails.tpl @@ -4,7 +4,7 @@ $header
 {$lng['menue']['email']['email']} {$lng['menue']['email']['email']}
{$lng['emails']['description']}
- + diff --git a/templates/customer/email/emails_add.tpl b/templates/Classic/customer/email/emails_add.tpl similarity index 89% rename from templates/customer/email/emails_add.tpl rename to templates/Classic/customer/email/emails_add.tpl index 906256e7..44a0852a 100644 --- a/templates/customer/email/emails_add.tpl +++ b/templates/Classic/customer/email/emails_add.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['email']['emails']} ({$emailscount}) {$lng['menue']['email']['emails']} ({$emailscount}) {$searchcode}
- + diff --git a/templates/customer/email/emails_domain.tpl b/templates/Classic/customer/email/emails_domain.tpl similarity index 100% rename from templates/customer/email/emails_domain.tpl rename to templates/Classic/customer/email/emails_domain.tpl diff --git a/templates/customer/email/emails_edit.tpl b/templates/Classic/customer/email/emails_edit.tpl similarity index 93% rename from templates/customer/email/emails_edit.tpl rename to templates/Classic/customer/email/emails_edit.tpl index 2dbef322..3b3f8245 100644 --- a/templates/customer/email/emails_edit.tpl +++ b/templates/Classic/customer/email/emails_edit.tpl @@ -1,7 +1,7 @@ $header
 {$lng['emails']['emails_add']} {$lng['emails']['emails_add']}
- + diff --git a/templates/customer/email/emails_edit_forwarder.tpl b/templates/Classic/customer/email/emails_edit_forwarder.tpl similarity index 100% rename from templates/customer/email/emails_edit_forwarder.tpl rename to templates/Classic/customer/email/emails_edit_forwarder.tpl diff --git a/templates/customer/email/emails_email.tpl b/templates/Classic/customer/email/emails_email.tpl similarity index 100% rename from templates/customer/email/emails_email.tpl rename to templates/Classic/customer/email/emails_email.tpl diff --git a/templates/customer/email/forwarder_add.tpl b/templates/Classic/customer/email/forwarder_add.tpl similarity index 89% rename from templates/customer/email/forwarder_add.tpl rename to templates/Classic/customer/email/forwarder_add.tpl index e02f3f75..7ec80417 100644 --- a/templates/customer/email/forwarder_add.tpl +++ b/templates/Classic/customer/email/forwarder_add.tpl @@ -6,7 +6,7 @@ $header
 {$lng['emails']['emails_edit']} {$lng['emails']['emails_edit']}
{$lng['emails']['emailaddress']}:
- + diff --git a/templates/customer/extras/extras.tpl b/templates/Classic/customer/extras/extras.tpl similarity index 65% rename from templates/customer/extras/extras.tpl rename to templates/Classic/customer/extras/extras.tpl index 16179a6e..e4bd5c7a 100644 --- a/templates/customer/extras/extras.tpl +++ b/templates/Classic/customer/extras/extras.tpl @@ -1,7 +1,7 @@ $header
 {$lng['emails']['forwarder_add']} {$lng['emails']['forwarder_add']}
{$lng['emails']['from']}:
- + diff --git a/templates/customer/extras/htaccess.tpl b/templates/Classic/customer/extras/htaccess.tpl similarity index 91% rename from templates/customer/extras/htaccess.tpl rename to templates/Classic/customer/extras/htaccess.tpl index 2f7fb083..7f6ad368 100644 --- a/templates/customer/extras/htaccess.tpl +++ b/templates/Classic/customer/extras/htaccess.tpl @@ -4,7 +4,7 @@ $header
 {$lng['menue']['extras']['extras']} {$lng['menue']['extras']['extras']}
{$lng['extras']['description']}
- + diff --git a/templates/customer/extras/htaccess_add.tpl b/templates/Classic/customer/extras/htaccess_add.tpl similarity index 94% rename from templates/customer/extras/htaccess_add.tpl rename to templates/Classic/customer/extras/htaccess_add.tpl index c7464364..69025abb 100644 --- a/templates/customer/extras/htaccess_add.tpl +++ b/templates/Classic/customer/extras/htaccess_add.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['extras']['pathoptions']} {$lng['menue']['extras']['pathoptions']} {$searchcode}
- + + + + + + + + diff --git a/templates/Froxlor/admin/aps/manage_packages_download.tpl b/templates/Froxlor/admin/aps/manage_packages_download.tpl new file mode 100644 index 00000000..1476bd49 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_packages_download.tpl @@ -0,0 +1,30 @@ +
+
+

+   + {$lng['aps']['specialoptions']} +

+
+ +
+ +
+
+ Froxlor - {$lng['aps']['specialoptions']} +

+ {$lng['admin']['phpsettings']['actions']} +

+

+ + + + + +

+
+ + +
+ +
+ diff --git a/templates/Froxlor/admin/aps/manage_packages_row.tpl b/templates/Froxlor/admin/aps/manage_packages_row.tpl new file mode 100644 index 00000000..4b658828 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_packages_row.tpl @@ -0,0 +1,3 @@ + + + diff --git a/templates/Froxlor/admin/aps/upload.tpl b/templates/Froxlor/admin/aps/upload.tpl new file mode 100644 index 00000000..b250e580 --- /dev/null +++ b/templates/Froxlor/admin/aps/upload.tpl @@ -0,0 +1,33 @@ +
+
+

+   + {$lng['aps']['upload']} +

+
+ +
+ +
+
+ Froxlor - {$lng['aps']['upload']} +

+ {$lng['aps']['upload_description']}
+ http://www.apsstandard.org/ +

+

+ {$Output} +

+

+ + + + +

+
+ + +
+ +
+ diff --git a/templates/Froxlor/admin/configfiles/choose.tpl b/templates/Froxlor/admin/configfiles/choose.tpl new file mode 100644 index 00000000..575c7739 --- /dev/null +++ b/templates/Froxlor/admin/configfiles/choose.tpl @@ -0,0 +1,25 @@ +$header +
+
+

+ {$lng['admin']['configfiles']['serverconfiguration']}  + {$lng['admin']['configfiles']['serverconfiguration']}   + [{$lng['admin']['configfiles']['wizard']}] +

+
+ +
+
+
+ Froxlor - {$lng['admin']['configfiles']['serverconfiguration']} + + + +
 {$lng['extras']['pathoptions_add']} {$lng['extras']['pathoptions_add']}
diff --git a/templates/customer/extras/htaccess_edit.tpl b/templates/Classic/customer/extras/htaccess_edit.tpl similarity index 94% rename from templates/customer/extras/htaccess_edit.tpl rename to templates/Classic/customer/extras/htaccess_edit.tpl index 948f3b35..1579e35a 100644 --- a/templates/customer/extras/htaccess_edit.tpl +++ b/templates/Classic/customer/extras/htaccess_edit.tpl @@ -6,7 +6,7 @@ $header - + diff --git a/templates/customer/extras/htaccess_htaccess.tpl b/templates/Classic/customer/extras/htaccess_htaccess.tpl similarity index 100% rename from templates/customer/extras/htaccess_htaccess.tpl rename to templates/Classic/customer/extras/htaccess_htaccess.tpl diff --git a/templates/customer/extras/htpasswds.tpl b/templates/Classic/customer/extras/htpasswds.tpl similarity index 86% rename from templates/customer/extras/htpasswds.tpl rename to templates/Classic/customer/extras/htpasswds.tpl index 8c9c45af..f8f7607c 100644 --- a/templates/customer/extras/htpasswds.tpl +++ b/templates/Classic/customer/extras/htpasswds.tpl @@ -4,7 +4,7 @@ $header
 {$lng['extras']['pathoptions_edit']} {$lng['extras']['pathoptions_edit']}
{$lng['panel']['path']}:
- + diff --git a/templates/customer/extras/htpasswds_add.tpl b/templates/Classic/customer/extras/htpasswds_add.tpl similarity index 90% rename from templates/customer/extras/htpasswds_add.tpl rename to templates/Classic/customer/extras/htpasswds_add.tpl index 37ad1ff2..60c9eae7 100644 --- a/templates/customer/extras/htpasswds_add.tpl +++ b/templates/Classic/customer/extras/htpasswds_add.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['extras']['directoryprotection']} {$lng['menue']['extras']['directoryprotection']} {$searchcode}
- + + + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_instances_install.tpl b/templates/Froxlor/admin/aps/manage_instances_install.tpl new file mode 100644 index 00000000..f308906d --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_install.tpl @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_instances_package.tpl b/templates/Froxlor/admin/aps/manage_instances_package.tpl new file mode 100644 index 00000000..f2e4e06e --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_package.tpl @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_instances_success.tpl b/templates/Froxlor/admin/aps/manage_instances_success.tpl new file mode 100644 index 00000000..5c5ce122 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_success.tpl @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_instances_taskactive.tpl b/templates/Froxlor/admin/aps/manage_instances_taskactive.tpl new file mode 100644 index 00000000..57d7dcdd --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_taskactive.tpl @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_instances_uninstall.tpl b/templates/Froxlor/admin/aps/manage_instances_uninstall.tpl new file mode 100644 index 00000000..57d7dcdd --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_uninstall.tpl @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/templates/Froxlor/admin/aps/manage_packages.tpl b/templates/Froxlor/admin/aps/manage_packages.tpl new file mode 100644 index 00000000..e71449a4 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_packages.tpl @@ -0,0 +1,110 @@ +
+
+

+   + {$lng['aps']['specialoptions']} +

+
+ +
+ +
+

+ {$lng['admin']['phpsettings']['actions']} +

+

+ + + + + +

+ + +
+

+ + + + + +

+ + +
+

+ + + + + +

+ + +
+

+ + + + + +

+ + +
+
+
+

{$lng['aps']['statistics']}

+

{$Statistics}

+
+
+
+
+
+

+   + {$lng['aps']['managepackages']} +

+
+ +
+ +
+ +
 {$lng['extras']['directoryprotection_add']} {$lng['extras']['directoryprotection_add']}
diff --git a/templates/customer/extras/htpasswds_edit.tpl b/templates/Classic/customer/extras/htpasswds_edit.tpl similarity index 90% rename from templates/customer/extras/htpasswds_edit.tpl rename to templates/Classic/customer/extras/htpasswds_edit.tpl index 3dbd0aed..0dd6af31 100644 --- a/templates/customer/extras/htpasswds_edit.tpl +++ b/templates/Classic/customer/extras/htpasswds_edit.tpl @@ -6,7 +6,7 @@ $header - + diff --git a/templates/customer/extras/htpasswds_htpasswd.tpl b/templates/Classic/customer/extras/htpasswds_htpasswd.tpl similarity index 100% rename from templates/customer/extras/htpasswds_htpasswd.tpl rename to templates/Classic/customer/extras/htpasswds_htpasswd.tpl diff --git a/templates/customer/ftp/accounts.tpl b/templates/Classic/customer/ftp/accounts.tpl similarity index 89% rename from templates/customer/ftp/accounts.tpl rename to templates/Classic/customer/ftp/accounts.tpl index 3edc751d..39a9cfcf 100644 --- a/templates/customer/ftp/accounts.tpl +++ b/templates/Classic/customer/ftp/accounts.tpl @@ -5,7 +5,7 @@ $header
 {$lng['extras']['directoryprotection_edit']} {$lng['extras']['directoryprotection_edit']}
{$lng['panel']['path']}:
- + diff --git a/templates/customer/ftp/accounts_account.tpl b/templates/Classic/customer/ftp/accounts_account.tpl similarity index 100% rename from templates/customer/ftp/accounts_account.tpl rename to templates/Classic/customer/ftp/accounts_account.tpl diff --git a/templates/customer/ftp/accounts_add.tpl b/templates/Classic/customer/ftp/accounts_add.tpl similarity index 92% rename from templates/customer/ftp/accounts_add.tpl rename to templates/Classic/customer/ftp/accounts_add.tpl index cf44947c..9ff4d23b 100644 --- a/templates/customer/ftp/accounts_add.tpl +++ b/templates/Classic/customer/ftp/accounts_add.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['ftp']['accounts']} ({$ftps_count}) {$lng['menue']['ftp']['accounts']} ({$ftps_count}) {$searchcode}
- + diff --git a/templates/customer/ftp/accounts_edit.tpl b/templates/Classic/customer/ftp/accounts_edit.tpl similarity index 67% rename from templates/customer/ftp/accounts_edit.tpl rename to templates/Classic/customer/ftp/accounts_edit.tpl index 6ad62c55..d092f66c 100644 --- a/templates/customer/ftp/accounts_edit.tpl +++ b/templates/Classic/customer/ftp/accounts_edit.tpl @@ -6,12 +6,22 @@ $header
 {$lng['ftp']['account_add']} {$lng['ftp']['account_add']}
- + + + + + + + + + + + diff --git a/templates/customer/ftp/ftp.tpl b/templates/Classic/customer/ftp/ftp.tpl similarity index 65% rename from templates/customer/ftp/ftp.tpl rename to templates/Classic/customer/ftp/ftp.tpl index bca14b22..4ced6ec8 100644 --- a/templates/customer/ftp/ftp.tpl +++ b/templates/Classic/customer/ftp/ftp.tpl @@ -1,7 +1,7 @@ $header
 {$lng['ftp']['account_edit']} {$lng['ftp']['account_edit']}
{$lng['login']['username']}: {$result['username']}
{$lng['login']['username']}:
{$lng['domains']['domainname']}:
{$lng['panel']['path']}:
{$lng['panel']['pathDescription']}
{$pathSelect}
- + diff --git a/templates/admin/index/change_language.tpl b/templates/Classic/customer/index/change_language.tpl similarity index 75% rename from templates/admin/index/change_language.tpl rename to templates/Classic/customer/index/change_language.tpl index ba24c291..45c1becd 100644 --- a/templates/admin/index/change_language.tpl +++ b/templates/Classic/customer/index/change_language.tpl @@ -4,10 +4,10 @@ $header
 {$lng['menue']['ftp']['ftp']} {$lng['menue']['ftp']['ftp']}
{$lng['ftp']['description']}
- + - + diff --git a/templates/customer/index/change_password.tpl b/templates/Classic/customer/index/change_password.tpl similarity index 86% rename from templates/customer/index/change_password.tpl rename to templates/Classic/customer/index/change_password.tpl index 48db0c78..858dc9d0 100644 --- a/templates/customer/index/change_password.tpl +++ b/templates/Classic/customer/index/change_password.tpl @@ -4,10 +4,10 @@ $header
 {$lng['menue']['main']['changelanguage']} {$lng['menue']['main']['changelanguage']}
{$lng['login']['language']}
- + - + diff --git a/templates/Classic/customer/index/change_theme.tpl b/templates/Classic/customer/index/change_theme.tpl new file mode 100644 index 00000000..d72c63a8 --- /dev/null +++ b/templates/Classic/customer/index/change_theme.tpl @@ -0,0 +1,24 @@ +$header + + + +
 {$lng['menue']['main']['changepassword']} {$lng['menue']['main']['changepassword']}
{$lng['changepassword']['old_password']}:
+ + + + + + + + + + + + + +
 {$lng['menue']['main']['changetheme']}
{$lng['panel']['theme']}
+ +
+
+$footer + diff --git a/templates/customer/index/index.tpl b/templates/Classic/customer/index/index.tpl similarity index 93% rename from templates/customer/index/index.tpl rename to templates/Classic/customer/index/index.tpl index 447ee2e4..74ac88a2 100644 --- a/templates/customer/index/index.tpl +++ b/templates/Classic/customer/index/index.tpl @@ -1,7 +1,7 @@ $header - + @@ -28,7 +28,7 @@ $header - + diff --git a/templates/customer/mysql/mysql.tpl b/templates/Classic/customer/mysql/mysql.tpl similarity index 65% rename from templates/customer/mysql/mysql.tpl rename to templates/Classic/customer/mysql/mysql.tpl index 88102583..830b90c2 100644 --- a/templates/customer/mysql/mysql.tpl +++ b/templates/Classic/customer/mysql/mysql.tpl @@ -1,7 +1,7 @@ $header
 {$lng['index']['customerdetails']} {$lng['index']['customerdetails']}
{$lng['customer']['name']}:{$userinfo['customernumber']}
 {$lng['index']['accountdetails']} {$lng['index']['accountdetails']}
{$lng['login']['username']}:
- + diff --git a/templates/customer/mysql/mysqls.tpl b/templates/Classic/customer/mysql/mysqls.tpl similarity index 93% rename from templates/customer/mysql/mysqls.tpl rename to templates/Classic/customer/mysql/mysqls.tpl index f1495aa5..fdb2b302 100644 --- a/templates/customer/mysql/mysqls.tpl +++ b/templates/Classic/customer/mysql/mysqls.tpl @@ -4,7 +4,7 @@ $header
 {$lng['menue']['mysql']['mysql']} {$lng['menue']['mysql']['mysql']}
{$lng['mysql']['description']}
- + diff --git a/templates/customer/mysql/mysqls_add.tpl b/templates/Classic/customer/mysql/mysqls_add.tpl similarity index 90% rename from templates/customer/mysql/mysqls_add.tpl rename to templates/Classic/customer/mysql/mysqls_add.tpl index 608d8e8a..6e7134e1 100644 --- a/templates/customer/mysql/mysqls_add.tpl +++ b/templates/Classic/customer/mysql/mysqls_add.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['mysql']['databases']} ({$mysqls_count}) {$lng['menue']['mysql']['databases']} ({$mysqls_count}) {$searchcode}
- + diff --git a/templates/customer/mysql/mysqls_database.tpl b/templates/Classic/customer/mysql/mysqls_database.tpl similarity index 100% rename from templates/customer/mysql/mysqls_database.tpl rename to templates/Classic/customer/mysql/mysqls_database.tpl diff --git a/templates/customer/mysql/mysqls_edit.tpl b/templates/Classic/customer/mysql/mysqls_edit.tpl similarity index 91% rename from templates/customer/mysql/mysqls_edit.tpl rename to templates/Classic/customer/mysql/mysqls_edit.tpl index b7d900fb..361be8a6 100644 --- a/templates/customer/mysql/mysqls_edit.tpl +++ b/templates/Classic/customer/mysql/mysqls_edit.tpl @@ -6,7 +6,7 @@ $header
 {$lng['mysql']['database_create']} {$lng['mysql']['database_create']}
{$lng['mysql']['databasedescription']}:
- + diff --git a/templates/customer/ticket/ticket.tpl b/templates/Classic/customer/ticket/ticket.tpl similarity index 65% rename from templates/customer/ticket/ticket.tpl rename to templates/Classic/customer/ticket/ticket.tpl index 473fad44..6b44fe5d 100644 --- a/templates/customer/ticket/ticket.tpl +++ b/templates/Classic/customer/ticket/ticket.tpl @@ -1,7 +1,7 @@ $header
 {$lng['mysql']['database_edit']} {$lng['mysql']['database_edit']}
{$lng['mysql']['databasename']}:
- + diff --git a/templates/customer/ticket/tickets.tpl b/templates/Classic/customer/ticket/tickets.tpl similarity index 90% rename from templates/customer/ticket/tickets.tpl rename to templates/Classic/customer/ticket/tickets.tpl index e0ca2a7d..caf8abab 100644 --- a/templates/customer/ticket/tickets.tpl +++ b/templates/Classic/customer/ticket/tickets.tpl @@ -5,7 +5,7 @@ $header
 {$lng['menue']['ticket']['ticket']} {$lng['menue']['ticket']['ticket']}
{$lng['ticket']['description']}
- + @@ -23,7 +23,7 @@ $header
 {$lng['ticket']['supportstatus']} {$lng['ticket']['supportstatus']}  
- + diff --git a/templates/admin/ticket/tickets_new.tpl b/templates/Classic/customer/ticket/tickets_new.tpl similarity index 74% rename from templates/admin/ticket/tickets_new.tpl rename to templates/Classic/customer/ticket/tickets_new.tpl index fd1fe585..21d13b3d 100644 --- a/templates/admin/ticket/tickets_new.tpl +++ b/templates/Classic/customer/ticket/tickets_new.tpl @@ -5,23 +5,19 @@ $header
 {$lng['menue']['ticket']['ticket']} {$lng['menue']['ticket']['ticket']} {$searchcode}
- + - - - - - + - + diff --git a/templates/admin/ticket/tickets_reply.tpl b/templates/Classic/customer/ticket/tickets_reply.tpl similarity index 76% rename from templates/admin/ticket/tickets_reply.tpl rename to templates/Classic/customer/ticket/tickets_reply.tpl index f7474cba..fe2183aa 100644 --- a/templates/admin/ticket/tickets_reply.tpl +++ b/templates/Classic/customer/ticket/tickets_reply.tpl @@ -4,13 +4,13 @@ $header - - $ticket_replies - - + + $ticket_replies + +
 {$lng['ticket']['ticket_new']} {$lng['ticket']['ticket_new']}
{$lng['ticket']['customer']}:
{$lng['ticket']['subject']}:
{$lng['ticket']['priority']}:
{$lng['ticket']['category']}:
{$lng['ticket']['message']}:
- + @@ -18,7 +18,7 @@ $header - + @@ -34,17 +34,17 @@ $header
 {$lng['ticket']['ticket_reply']} {$lng['ticket']['ticket_reply']}
{$lng['ticket']['subject']}:
{$lng['ticket']['priority']}:
{$lng['ticket']['category']}:
- - + + - +
 {$lng['ticket']['ticket_reopen']} {$lng['ticket']['ticket_reopen']}
{$lng['ticket']['ticket_reopen']}
-
+

diff --git a/templates/customer/ticket/tickets_tickets.tpl b/templates/Classic/customer/ticket/tickets_tickets.tpl similarity index 100% rename from templates/customer/ticket/tickets_tickets.tpl rename to templates/Classic/customer/ticket/tickets_tickets.tpl diff --git a/templates/Classic/customer/ticket/tickets_tickets_list.tpl b/templates/Classic/customer/ticket/tickets_tickets_list.tpl new file mode 100644 index 00000000..a8d4ae41 --- /dev/null +++ b/templates/Classic/customer/ticket/tickets_tickets_list.tpl @@ -0,0 +1,11 @@ + + + + + + + + + + +
  {$lastchange} von {$by}
{$subject}
{$message}
\ No newline at end of file diff --git a/templates/admin/ticket/tickets_tickets_main.tpl b/templates/Classic/customer/ticket/tickets_tickets_main.tpl similarity index 61% rename from templates/admin/ticket/tickets_tickets_main.tpl rename to templates/Classic/customer/ticket/tickets_tickets_main.tpl index f97f68e8..c967772c 100644 --- a/templates/admin/ticket/tickets_tickets_main.tpl +++ b/templates/Classic/customer/ticket/tickets_tickets_main.tpl @@ -1,6 +1,6 @@ - + diff --git a/templates/customer/traffic/traffic.tpl b/templates/Classic/customer/traffic/traffic.tpl similarity index 88% rename from templates/customer/traffic/traffic.tpl rename to templates/Classic/customer/traffic/traffic.tpl index f113a153..05525c13 100644 --- a/templates/customer/traffic/traffic.tpl +++ b/templates/Classic/customer/traffic/traffic.tpl @@ -1,7 +1,7 @@ $header
  {$dt} {$lng['ticket']['by']} {$by} ({$status})  {$dt} von {$by} ({$status})
{$subject}
- + + + + diff --git a/templates/admin/settings/settings_group.tpl b/templates/Classic/misc/form/table_section.tpl similarity index 76% rename from templates/admin/settings/settings_group.tpl rename to templates/Classic/misc/form/table_section.tpl index 0a992447..0febf2f0 100644 --- a/templates/admin/settings/settings_group.tpl +++ b/templates/Classic/misc/form/table_section.tpl @@ -1,6 +1,6 @@ + + + + + + + diff --git a/templates/Froxlor/admin/admins/admins_edit.tpl b/templates/Froxlor/admin/admins/admins_edit.tpl new file mode 100644 index 00000000..9188fcb0 --- /dev/null +++ b/templates/Froxlor/admin/admins/admins_edit.tpl @@ -0,0 +1,48 @@ +$header +
+
+

+ {$title}  + {$title} +

+
+ + +
+
{$lng['error']['youcanteditallfieldsofyourself']}
+
+
+ +
+ +
+
+ Froxlor - {$title} + +
 {$lng['menue']['traffic']['traffic']} {$lng['menue']['traffic']['traffic']}
diff --git a/templates/customer/traffic/traffic_details.tpl b/templates/Classic/customer/traffic/traffic_details.tpl similarity index 88% rename from templates/customer/traffic/traffic_details.tpl rename to templates/Classic/customer/traffic/traffic_details.tpl index f3b1ba1c..56728e0e 100644 --- a/templates/customer/traffic/traffic_details.tpl +++ b/templates/Classic/customer/traffic/traffic_details.tpl @@ -1,7 +1,7 @@ $header - + + + + + diff --git a/templates/Classic/customer/traffic/traffic_traffic.tpl b/templates/Classic/customer/traffic/traffic_traffic.tpl new file mode 100644 index 00000000..aadfa3f5 --- /dev/null +++ b/templates/Classic/customer/traffic/traffic_traffic.tpl @@ -0,0 +1,7 @@ + + + + + diff --git a/templates/footer.tpl b/templates/Classic/footer.tpl similarity index 85% rename from templates/footer.tpl rename to templates/Classic/footer.tpl index c5a9491c..d98325a4 100644 --- a/templates/footer.tpl +++ b/templates/Classic/footer.tpl @@ -8,7 +8,7 @@ {$version}{$branding} - © 2009-{$current_year} by the Froxlor Team + © 2009-2010 by the Froxlor Team
Theme based on work by: Luca Piona and Luca Longinotti
{$lng['panel']['translator']}: {$lng['translator']} diff --git a/templates/formfields/bool.tpl b/templates/Classic/formfields/bool.tpl similarity index 100% rename from templates/formfields/bool.tpl rename to templates/Classic/formfields/bool.tpl diff --git a/templates/formfields/hidden.tpl b/templates/Classic/formfields/hidden.tpl similarity index 100% rename from templates/formfields/hidden.tpl rename to templates/Classic/formfields/hidden.tpl diff --git a/templates/formfields/label.tpl b/templates/Classic/formfields/label.tpl similarity index 100% rename from templates/formfields/label.tpl rename to templates/Classic/formfields/label.tpl diff --git a/templates/formfields/option.tpl b/templates/Classic/formfields/option.tpl similarity index 100% rename from templates/formfields/option.tpl rename to templates/Classic/formfields/option.tpl diff --git a/templates/formfields/string.tpl b/templates/Classic/formfields/string.tpl similarity index 100% rename from templates/formfields/string.tpl rename to templates/Classic/formfields/string.tpl diff --git a/templates/formfields/text.tpl b/templates/Classic/formfields/text.tpl similarity index 100% rename from templates/formfields/text.tpl rename to templates/Classic/formfields/text.tpl diff --git a/templates/header.tpl b/templates/Classic/header.tpl similarity index 84% rename from templates/header.tpl rename to templates/Classic/header.tpl index 51b92cd3..66cd062f 100644 --- a/templates/header.tpl +++ b/templates/Classic/header.tpl @@ -1,12 +1,12 @@ - + - + - + <if isset($userinfo['loginname']) && $userinfo['loginname'] != ''>{$userinfo['loginname']} - </if>Froxlor onload="document.loginform.loginname.focus()"
> @@ -22,7 +22,7 @@ // -->
 {$lng['menue']['traffic']['traffic']} $show {$lng['menue']['traffic']['traffic']} $show
diff --git a/templates/Classic/customer/traffic/traffic_month.tpl b/templates/Classic/customer/traffic/traffic_month.tpl new file mode 100644 index 00000000..8f456e88 --- /dev/null +++ b/templates/Classic/customer/traffic/traffic_month.tpl @@ -0,0 +1,5 @@ +
{$traf['day']}.  

{$traf['byte']}
+ {$traf['monthname']} + {$traf['ftptext']}
{$traf['httptext']}
{$traf['mailtext']}
{$traf['byte']}
- +
 
diff --git a/templates/login/fpwd.tpl b/templates/Classic/login/fpwd.tpl similarity index 78% rename from templates/login/fpwd.tpl rename to templates/Classic/login/fpwd.tpl index 2f9d2ac6..08c1a9ff 100644 --- a/templates/login/fpwd.tpl +++ b/templates/Classic/login/fpwd.tpl @@ -5,10 +5,10 @@ $header - + - +
  {$lng['error']['error']}/{$lng['error']['info']}  {$lng['error']['error']}/{$lng['error']['info']}
$message
@@ -18,10 +18,10 @@ $header - + - + diff --git a/templates/login/login.tpl b/templates/Classic/login/login.tpl similarity index 82% rename from templates/login/login.tpl rename to templates/Classic/login/login.tpl index 531e8af9..3e0d003d 100644 --- a/templates/login/login.tpl +++ b/templates/Classic/login/login.tpl @@ -4,10 +4,10 @@ $header
 Froxlor - {$lng['login']['presend']} Froxlor - {$lng['login']['presend']}
{$lng['login']['username']}:
- + - +
  {$lng['error']['error']}/{$lng['error']['info']}  {$lng['error']['error']}/{$lng['error']['info']}
$message
@@ -16,10 +16,10 @@ $header
- + - + diff --git a/templates/main.css b/templates/Classic/main.css similarity index 95% rename from templates/main.css rename to templates/Classic/main.css index 51b546ea..9fd766fd 100644 --- a/templates/main.css +++ b/templates/Classic/main.css @@ -5,7 +5,7 @@ body { } .header { - background-image : url( '../images/header_r.gif' ); + background-image : url( '/images/Classic/header_r.gif' ); background-repeat : repeat-x; } @@ -16,7 +16,7 @@ body { border-width : 1px; border-right : none; border-left : none; - background : url('../images/footer.gif') repeat-y #FFFFFF; + background : url('/images/Classic/footer.gif') repeat-y #FFFFFF; } a,a:visited,a:active { @@ -97,24 +97,24 @@ ul { } .line_shadow { - background-image : url( '../images/shadow.gif' ); + background-image : url( '/images/Classic/shadow.gif' ); background-repeat : repeat-y; background-position : top left; } .section { height : 25px; - background-image : url( '../images/section.gif' ); + background-image : url( '/images/Classic/section.gif' ); } .subsection { padding-top : 8px; - background-image : url( '../images/subsection.gif' ); + background-image : url( '/images/Classic/subsection.gif' ); } .endsection { height : 10px; - background-image : url( '../images/endsection.gif' ); + background-image : url( '/images/Classic/endsection.gif' ); background-position : bottom; } @@ -420,7 +420,7 @@ TR.RowOverSelected { padding: 20px 20px 20px 60px; background-color: #f1baba; border: 1px solid #ce1d1d; - background-image: url('../images/error.png'); + background-image: url('/images/Classic/error.png'); background-repeat: no-repeat; background-position: 15px 50%; } @@ -475,3 +475,4 @@ TR.RowOverSelected { text-decoration: line-through; } + diff --git a/templates/Classic/misc/alreadyinstalledhint.tpl b/templates/Classic/misc/alreadyinstalledhint.tpl new file mode 100644 index 00000000..296d2d96 --- /dev/null +++ b/templates/Classic/misc/alreadyinstalledhint.tpl @@ -0,0 +1,68 @@ + + + + + + + Attention: Froxlor has not been configured yet! + + + + + +
+
    +
  • It seems that Froxlor has already been installed..
  • +
+
+ + + + + + diff --git a/templates/misc/configurehint.tpl b/templates/Classic/misc/configurehint.tpl similarity index 100% rename from templates/misc/configurehint.tpl rename to templates/Classic/misc/configurehint.tpl diff --git a/templates/Classic/misc/error.tpl b/templates/Classic/misc/error.tpl new file mode 100644 index 00000000..a252443c --- /dev/null +++ b/templates/Classic/misc/error.tpl @@ -0,0 +1,13 @@ +$header +
 Froxlor - Login Froxlor - Login
{$lng['login']['username']}:
+ + + + + + + +
  {$lng['error']['error']}
$error
+
+
+$footer \ No newline at end of file diff --git a/templates/Classic/misc/form/input_text.tpl b/templates/Classic/misc/form/input_text.tpl new file mode 100644 index 00000000..ed827ab2 --- /dev/null +++ b/templates/Classic/misc/form/input_text.tpl @@ -0,0 +1 @@ +{$ulfield} diff --git a/templates/Classic/misc/form/input_textarea.tpl b/templates/Classic/misc/form/input_textarea.tpl new file mode 100644 index 00000000..fbcf9e8f --- /dev/null +++ b/templates/Classic/misc/form/input_textarea.tpl @@ -0,0 +1 @@ + diff --git a/templates/Classic/misc/form/table_row.tpl b/templates/Classic/misc/form/table_row.tpl new file mode 100644 index 00000000..6bd4bc52 --- /dev/null +++ b/templates/Classic/misc/form/table_row.tpl @@ -0,0 +1,9 @@ +
+ {$label}{$mandatory}: + +
{$desc} +
+
{$data_field}
-  {$groupdetails['title']} + {$title} {$title} diff --git a/templates/Classic/misc/htmlarrowcode.tpl b/templates/Classic/misc/htmlarrowcode.tpl new file mode 100644 index 00000000..0c419605 --- /dev/null +++ b/templates/Classic/misc/htmlarrowcode.tpl @@ -0,0 +1,6 @@ + + + + + + diff --git a/templates/Classic/misc/htmlsearchcode.tpl b/templates/Classic/misc/htmlsearchcode.tpl new file mode 100644 index 00000000..b58952b4 --- /dev/null +++ b/templates/Classic/misc/htmlsearchcode.tpl @@ -0,0 +1,6 @@ +{$lng['panel']['search']}:  +  +  + diff --git a/templates/Classic/misc/htmlsortcode.tpl b/templates/Classic/misc/htmlsortcode.tpl new file mode 100644 index 00000000..e0f16838 --- /dev/null +++ b/templates/Classic/misc/htmlsortcode.tpl @@ -0,0 +1,7 @@ + +{$breakorws} +  diff --git a/templates/misc/question_yesno.tpl b/templates/Classic/misc/question_yesno.tpl similarity index 90% rename from templates/misc/question_yesno.tpl rename to templates/Classic/misc/question_yesno.tpl index 4314db45..f1fd0254 100644 --- a/templates/misc/question_yesno.tpl +++ b/templates/Classic/misc/question_yesno.tpl @@ -5,7 +5,7 @@ $header $hiddenparams - + diff --git a/templates/misc/question_yesno_checkbox.tpl b/templates/Classic/misc/question_yesno_checkbox.tpl similarity index 91% rename from templates/misc/question_yesno_checkbox.tpl rename to templates/Classic/misc/question_yesno_checkbox.tpl index 5823a051..9e0241b1 100644 --- a/templates/misc/question_yesno_checkbox.tpl +++ b/templates/Classic/misc/question_yesno_checkbox.tpl @@ -5,7 +5,7 @@ $header $hiddenparams
  {$lng['question']['question']}  {$lng['question']['question']}
$text
- + diff --git a/templates/misc/success.tpl b/templates/Classic/misc/success.tpl similarity index 57% rename from templates/misc/success.tpl rename to templates/Classic/misc/success.tpl index a98c3b6d..588c7c07 100644 --- a/templates/misc/success.tpl +++ b/templates/Classic/misc/success.tpl @@ -1,10 +1,10 @@ $header
  {$lng['question']['question']}  {$lng['question']['question']}
$text
- + - +
  {$lng['success']['success']}  {$lng['success']['success']}
$success_message
{$lng['success']['clickheretocontinue']}
diff --git a/templates/navigation_element.tpl b/templates/Classic/navigation_element.tpl similarity index 65% rename from templates/navigation_element.tpl rename to templates/Classic/navigation_element.tpl index 88221cf1..d13eb735 100644 --- a/templates/navigation_element.tpl +++ b/templates/Classic/navigation_element.tpl @@ -1,7 +1,7 @@
- + diff --git a/templates/Classic/navigation_link.tpl b/templates/Classic/navigation_link.tpl new file mode 100644 index 00000000..bab71ede --- /dev/null +++ b/templates/Classic/navigation_link.tpl @@ -0,0 +1,2 @@ +   {$completeLink} +
\ No newline at end of file diff --git a/templates/Froxlor/admin/admins/admins.tpl b/templates/Froxlor/admin/admins/admins.tpl new file mode 100644 index 00000000..68cf48f3 --- /dev/null +++ b/templates/Froxlor/admin/admins/admins.tpl @@ -0,0 +1,63 @@ +$header +
   $completeLink   $completeLink
$navigation_links
+ + + + + + + + + + + + + + + $admins + +
+ {$lng['customer']['name']}  {$arrowcode['name']}  + {$lng['login']['username']} {$arrowcode['loginname']} + {$lng['panel']['options']}
{$pagingcode}
+ +

+ + +

+ + + + + + + + +$footer + diff --git a/templates/Froxlor/admin/admins/admins_add.tpl b/templates/Froxlor/admin/admins/admins_add.tpl new file mode 100644 index 00000000..09cc5650 --- /dev/null +++ b/templates/Froxlor/admin/admins/admins_add.tpl @@ -0,0 +1,41 @@ +$header +
+
+

+ {$title}  + {$title} +

+
+ +
+ +
+
+ Froxlor - {$title} + + + {$admin_add_form} +
+ +

+ + + + +

+
+
+ +
+ +
+
+
+
+

+ *: {$lng['admin']['valuemandatory']}
+ **: {$lng['admin']['valuemandatorycompany']} +

+
+
+$footer diff --git a/templates/Froxlor/admin/admins/admins_admin.tpl b/templates/Froxlor/admin/admins/admins_admin.tpl new file mode 100644 index 00000000..86e6316c --- /dev/null +++ b/templates/Froxlor/admin/admins/admins_admin.tpl @@ -0,0 +1,66 @@ +
+ + {$row['name']} + +  ({$row['loginname']}) + + +  ({$row['loginname']}) + + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + +
+ + + + + + +
+ Webspace:  + + + + + + + + {$percent}% + + + + 100% + + + + Traffic:  + + + + + + + + {$percent}% + + + + 100% + + + + {$lng['admin']['customers']}: {$row['customers_used']} +
+
+ {$admin_edit_form} +
+ +

+ + + + + +

+ + + + + + +
+
+
+

+ *: {$lng['admin']['valuemandatory']} +

+
+
+$footer + diff --git a/templates/Froxlor/admin/aps/askyesno.tpl b/templates/Froxlor/admin/aps/askyesno.tpl new file mode 100644 index 00000000..e8002ffb --- /dev/null +++ b/templates/Froxlor/admin/aps/askyesno.tpl @@ -0,0 +1,24 @@ +
+
+
{$lng['question']['question']}
+
+ $Message +
+
+ + + + + $Ids +
+   +
+ + + +
+
+
+
+ +
diff --git a/templates/Froxlor/admin/aps/footer.tpl b/templates/Froxlor/admin/aps/footer.tpl new file mode 100644 index 00000000..35ee6c15 --- /dev/null +++ b/templates/Froxlor/admin/aps/footer.tpl @@ -0,0 +1 @@ +$footer diff --git a/templates/Froxlor/admin/aps/header.tpl b/templates/Froxlor/admin/aps/header.tpl new file mode 100644 index 00000000..6af88b30 --- /dev/null +++ b/templates/Froxlor/admin/aps/header.tpl @@ -0,0 +1 @@ +$header diff --git a/templates/Froxlor/admin/aps/infobox.tpl b/templates/Froxlor/admin/aps/infobox.tpl new file mode 100644 index 00000000..d99e5788 --- /dev/null +++ b/templates/Froxlor/admin/aps/infobox.tpl @@ -0,0 +1,24 @@ + +
+
{$lng['success']['success']}
+
+ $Message +
+
+
+ +
+
{$lng['error']['error']}
+
+ $Message +
+
+
+ +
+
{$lng['success']['success']}
+
+ $Message +
+
+
diff --git a/templates/Froxlor/admin/aps/manage_instances.tpl b/templates/Froxlor/admin/aps/manage_instances.tpl new file mode 100644 index 00000000..c7c3fa6c --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances.tpl @@ -0,0 +1,78 @@ +
+
+

+   + {$lng['aps']['specialoptions']} +

+
+ +
+ + + + + +
{$lng['aps']['statistics']}$Statistics
+ +

+
+
+

+
+
+

+   + {$lng['aps']['manageinstances']} +

+
+ +
+
+
+ Froxlor - {$lng['aps']['manageinstances']} + + + + + + + + + + + + + + $InstancesInstall + + + + $InstancesTaskActive + + + + $InstancesSuccess + + + + $InstancesError + + + + $InstancesUninstall + + + + +
{$lng['aps']['packagenameandstatus']}{$lng['aps']['stopinstall']}{$lng['aps']['uninstall']}
{$lng['aps']['instance_install']}
{$lng['aps']['instance_task_active']}
{$lng['aps']['instance_success']}
{$lng['aps']['instance_error']}
{$lng['aps']['instance_uninstall']}
 
+

+ + + + +

+
+
+

+
+
diff --git a/templates/Froxlor/admin/aps/manage_instances_error.tpl b/templates/Froxlor/admin/aps/manage_instances_error.tpl new file mode 100644 index 00000000..5c5ce122 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_instances_error.tpl @@ -0,0 +1,5 @@ +
{$Row3['name']}, {$Row3['firstname']} | {$Row3['company']} ({$Row3['loginname']})$Remove
{$Row3['name']}, {$Row3['firstname']} | {$Row3['company']} ({$Row3['loginname']})$Stop
{$Row['Name']} {$Row['Version']} (Release {$Row['Release']})
{$Row3['name']}, {$Row3['firstname']} | {$Row3['company']} ({$Row3['loginname']})$Remove
{$Row3['name']}, {$Row3['firstname']} | {$Row3['company']} ({$Row3['loginname']})
{$Row3['name']}, {$Row3['firstname']} | {$Row3['company']} ({$Row3['loginname']})
+ + + + + + + + + + + + + + + + + + + + {$Packages} + +
{$lng['aps']['packagenameandversion']}{$lng['ticket']['status']}{$lng['aps']['installations']}{$lng['aps']['lock']}{$lng['aps']['unlock']}{$lng['aps']['remove']}
{$lng['aps']['allpackages']}
+ +

+ + + +   + +

+ + + + + + diff --git a/templates/Froxlor/admin/aps/manage_packages_detail.tpl b/templates/Froxlor/admin/aps/manage_packages_detail.tpl new file mode 100644 index 00000000..719f1a34 --- /dev/null +++ b/templates/Froxlor/admin/aps/manage_packages_detail.tpl @@ -0,0 +1,8 @@ +
{$Row2['Version']} (Release {$Row2['Release']}){$lng['aps']['package_locked']}{$lng['aps']['package_enabled']}{$Installations}$Lock$Unlock$Remove
{$Row['Name']}
+ $distributions +
+ + + + +$footer diff --git a/templates/Froxlor/admin/configfiles/choose_daemon.tpl b/templates/Froxlor/admin/configfiles/choose_daemon.tpl new file mode 100644 index 00000000..be6fb069 --- /dev/null +++ b/templates/Froxlor/admin/configfiles/choose_daemon.tpl @@ -0,0 +1 @@ +
  • {$daemon_details['label']}
  • diff --git a/templates/Froxlor/admin/configfiles/choose_distribution.tpl b/templates/Froxlor/admin/configfiles/choose_distribution.tpl new file mode 100644 index 00000000..5fb28182 --- /dev/null +++ b/templates/Froxlor/admin/configfiles/choose_distribution.tpl @@ -0,0 +1,9 @@ +
    {$distribution_details['label']}
    $services

    + {$configpage} + + + + +
    {$lng['admin']['configfiles']['restart']}

    +
    +

    + + +$footer diff --git a/templates/Froxlor/admin/configfiles/configfiles_commands.tpl b/templates/Froxlor/admin/configfiles/configfiles_commands.tpl new file mode 100644 index 00000000..b87371ce --- /dev/null +++ b/templates/Froxlor/admin/configfiles/configfiles_commands.tpl @@ -0,0 +1,4 @@ +
    {$lng['admin']['configfiles']['commands']}

    +
    {$lng['admin']['configfiles']['files']}

    {$files}
    + + + + + + + + + + + + + + + +
    {$lng['admin']['configfiles']['distribution']}:{$configfiles[$distribution]['label']}
    {$lng['admin']['configfiles']['service']}:{$configfiles[$distribution]['services'][$service]['label']}
    {$lng['admin']['configfiles']['daemon']}:
    + + + + +$footer diff --git a/templates/Froxlor/admin/cronjobs/cronjob_edit.tpl b/templates/Froxlor/admin/cronjobs/cronjob_edit.tpl new file mode 100644 index 00000000..850fc4bc --- /dev/null +++ b/templates/Froxlor/admin/cronjobs/cronjob_edit.tpl @@ -0,0 +1,33 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$cronjobs_edit_form} +
    + +

    + + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/cronjobs/cronjobs.tpl b/templates/Froxlor/admin/cronjobs/cronjobs.tpl new file mode 100644 index 00000000..91bdd751 --- /dev/null +++ b/templates/Froxlor/admin/cronjobs/cronjobs.tpl @@ -0,0 +1,33 @@ +$header +
    +
    +

    + {$lng['admin']['cron']['cronsettings']}

    +
    + +
    + + + + + + + + + + + + $crons + +
    {$lng['cron']['description']}{$lng['cron']['lastrun']}{$lng['cron']['interval']}{$lng['cron']['isactive']}{$lng['panel']['options']}
    +
    + +
    +
    +
    {$lng['admin']['warning']}
    +
    {$lng['cron']['changewarning']}
    +
    +
    + +
    +$footer diff --git a/templates/Froxlor/admin/cronjobs/cronjobs_cronjob.tpl b/templates/Froxlor/admin/cronjobs/cronjobs_cronjob.tpl new file mode 100644 index 00000000..9aad3682 --- /dev/null +++ b/templates/Froxlor/admin/cronjobs/cronjobs_cronjob.tpl @@ -0,0 +1,11 @@ +
    {$description}{$row['lastrun']}{$row['interval']}{$row['isactive']} + + {$lng['panel']['edit']} + +
    + + + + + + + + + + + + + + + $customers + +
    + {$lng['customer']['name']}  {$arrowcode['c.name']}  + {$lng['customer']['firstname']}  {$arrowcode['c.firstname']}  + {$lng['login']['username']} {$arrowcode['c.loginname']} + {$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + + + + + + + + + + +$footer diff --git a/templates/Froxlor/admin/customers/customers_add.tpl b/templates/Froxlor/admin/customers/customers_add.tpl new file mode 100644 index 00000000..f8842330 --- /dev/null +++ b/templates/Froxlor/admin/customers/customers_add.tpl @@ -0,0 +1,41 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$customer_add_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +
    +
    +
    +

    + *: {$lng['admin']['valuemandatory']}
    + **: {$lng['admin']['valuemandatorycompany']} +

    +
    +
    +$footer diff --git a/templates/Froxlor/admin/customers/customers_customer.tpl b/templates/Froxlor/admin/customers/customers_customer.tpl new file mode 100644 index 00000000..b61182b4 --- /dev/null +++ b/templates/Froxlor/admin/customers/customers_customer.tpl @@ -0,0 +1,66 @@ +
    + + + {$row['name']} {$row['firstname']} + + + {$row['company']} + +  ({$row['loginname']}) + + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + +
    + + + + + + +
    + Webspace:  + + + + + + + + {$percent}% + + + + 100% + + + + Traffic:  + + + + + + + + {$percent}% + + + + 100% + + + + {$last_login} +
    +
    + {$customer_edit_form} +
    + +

    + + + + + +

    + + + + + + +
    +
    +
    +

    + *: {$lng['admin']['valuemandatory']}
    + **: {$lng['admin']['valuemandatorycompany']} +

    +
    +
    +$footer diff --git a/templates/Froxlor/admin/domains/domains.tpl b/templates/Froxlor/admin/domains/domains.tpl new file mode 100644 index 00000000..e55d26b9 --- /dev/null +++ b/templates/Froxlor/admin/domains/domains.tpl @@ -0,0 +1,71 @@ + $header +
    +
    +

    +   + {$lng['admin']['domains']} ({$domainscount}) +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + {$domains} + +
    {$lng['domains']['domainname']} {$arrowcode['d.domain']}{$lng['admin']['ipsandports']['ip']} {$arrowcode['ip.ip']} : {$lng['admin']['ipsandports']['port']} {$arrowcode['ip.port']}{$lng['admin']['customer']}  {$arrowcode['c.loginname']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + +
    +
    {$lng['admin']['warning']}
    + +
    +
    + + + + + +
    +
    +$footer diff --git a/templates/Froxlor/admin/domains/domains_add.tpl b/templates/Froxlor/admin/domains/domains_add.tpl new file mode 100644 index 00000000..6e06e80c --- /dev/null +++ b/templates/Froxlor/admin/domains/domains_add.tpl @@ -0,0 +1,32 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$domain_add_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/domains/domains_domain.tpl b/templates/Froxlor/admin/domains/domains_domain.tpl new file mode 100644 index 00000000..5598ae36 --- /dev/null +++ b/templates/Froxlor/admin/domains/domains_domain.tpl @@ -0,0 +1,26 @@ + + {$row['domain']} + +  ({$lng['admin']['stdsubdomain']}) + + + {$row['ipandport']} + {$row['customername']}  + ({$row['loginname']}) + + + + {$lng['panel']['edit']} + + + +   + {$lng['panel']['delete']} + + + + +  {$lng['domains']['hasaliasdomains']} + + + diff --git a/templates/Froxlor/admin/domains/domains_edit.tpl b/templates/Froxlor/admin/domains/domains_edit.tpl new file mode 100644 index 00000000..74eb5e8f --- /dev/null +++ b/templates/Froxlor/admin/domains/domains_edit.tpl @@ -0,0 +1,33 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$domain_edit_form} +
    + +

    + + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/admin/froxlorclients/froxlorclient_settings.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclient_settings.tpl similarity index 85% rename from templates/admin/froxlorclients/froxlorclient_settings.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclient_settings.tpl index 7b167585..c61df999 100644 --- a/templates/admin/froxlorclients/froxlorclient_settings.tpl +++ b/templates/Froxlor/admin/froxlorclients/froxlorclient_settings.tpl @@ -1,6 +1,7 @@ - $fields diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsend.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsend.tpl new file mode 100644 index 00000000..27b0931d --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsend.tpl @@ -0,0 +1,8 @@ + + + + + +
    +
    +$footer diff --git a/templates/admin/froxlorclients/froxlorclient_settingsoverview.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsoverview.tpl similarity index 80% rename from templates/admin/froxlorclients/froxlorclient_settingsoverview.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclient_settingsoverview.tpl index 540f5550..0501faab 100644 --- a/templates/admin/froxlorclients/froxlorclient_settingsoverview.tpl +++ b/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsoverview.tpl @@ -1,7 +1,8 @@
     {$lng['admin']['froxlorclient_settings']} "{$client->Get('name')}" +  {$lng['admin']['froxlorclient_settings']}  + "{$client->Get('name')}" [{$lng['admin']['configfiles']['compactoverview']}]
    diff --git a/templates/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl similarity index 100% rename from templates/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclient_settingsoverviewgroup.tpl diff --git a/templates/admin/froxlorclients/froxlorclients.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients.tpl similarity index 100% rename from templates/admin/froxlorclients/froxlorclients.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclients.tpl diff --git a/templates/admin/froxlorclients/froxlorclients_add.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_add.tpl similarity index 90% rename from templates/admin/froxlorclients/froxlorclients_add.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclients_add.tpl index 55584783..614237cd 100644 --- a/templates/admin/froxlorclients/froxlorclients_add.tpl +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_add.tpl @@ -7,12 +7,6 @@ $header - - - + + + + + diff --git a/templates/admin/froxlorclients/froxlorclients_edit.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_edit.tpl similarity index 91% rename from templates/admin/froxlorclients/froxlorclients_edit.tpl rename to templates/Froxlor/admin/froxlorclients/froxlorclients_edit.tpl index 9c3ebbfc..9a231403 100644 --- a/templates/admin/froxlorclients/froxlorclients_edit.tpl +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_edit.tpl @@ -9,12 +9,6 @@ $header - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/Froxlor/admin/index/change_language.tpl b/templates/Froxlor/admin/index/change_language.tpl new file mode 100644 index 00000000..4190d20a --- /dev/null +++ b/templates/Froxlor/admin/index/change_language.tpl @@ -0,0 +1,28 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changelanguage']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changelanguage']} +

    +   + +

    +

    + + + + +

    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/admin/index/change_password.tpl b/templates/Froxlor/admin/index/change_password.tpl new file mode 100644 index 00000000..8c852bc6 --- /dev/null +++ b/templates/Froxlor/admin/index/change_password.tpl @@ -0,0 +1,36 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changepassword']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changepassword']} +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    + + + + +

    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/admin/index/change_theme.tpl b/templates/Froxlor/admin/index/change_theme.tpl new file mode 100644 index 00000000..82616fc5 --- /dev/null +++ b/templates/Froxlor/admin/index/change_theme.tpl @@ -0,0 +1,28 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changetheme']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changetheme']} +

    +   + +

    +

    + + + + +

    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/admin/index/index.tpl b/templates/Froxlor/admin/index/index.tpl new file mode 100644 index 00000000..116e30bb --- /dev/null +++ b/templates/Froxlor/admin/index/index.tpl @@ -0,0 +1,170 @@ +$header +
    + + +
    +
    +
    {$lng['admin']['warning']}
    +

    {$awaitingtickets_text}
    +
    +
    +
    + +
    + +
    +

    {$lng['admin']['ressourcedetails']}

    +
    -  {$lng['admin']['configfiles']['serverconfiguration']} "{$client->Get('name')}" +  {$lng['admin']['configfiles']['serverconfiguration']}  + "{$client->Get('name')}" [{$lng['admin']['configfiles']['overview']}]
     {$lng['admin']['froxlorclients']['add']}
    - - {$lng['admin']['froxlorclients']['longdesc_add']} -
     {$lng['admin']['froxlorclients']['client']} diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclients_client.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_client.tpl new file mode 100644 index 00000000..10ef004d --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_client.tpl @@ -0,0 +1,28 @@ +
    + + Client #{$row['id']} + + + + {$row['name']} +
    {$row['desc']} +
    + + + {$lng['panel']['yes']} + + + + {$lng['panel']['no']} + + + + + {$lng['admin']['froxlorclients']['view']} + +
     {$lng['admin']['froxlorclients']['edit']}
    - - {$lng['admin']['froxlorclients']['longdesc_add']} -
     {$lng['admin']['froxlorclients']['client']} diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks.tpl new file mode 100644 index 00000000..968ea9b1 --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks.tpl @@ -0,0 +1,10 @@ +$header + + + + + {$outstanding_tasks} +
     {$lng['admin']['multiservercronjobs']}
    +
    +
    +$footer diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks_head.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks_head.tpl new file mode 100644 index 00000000..52b1f19d --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_tasks_head.tpl @@ -0,0 +1,10 @@ +
    + + {$client->Get('name')} + +

    + {$client->Get('name')} +
    +
      diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclients_view.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_view.tpl new file mode 100644 index 00000000..4359a1e1 --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_view.tpl @@ -0,0 +1,77 @@ +$header +
      + + + + + + + + + + + + + + +
       {$lng['menue']['multiserver']['clients']} "{$client->Get('name')}"
      + Client #{$row['id']} + +

      Froxlor-client "{$client->Get('name')}"

      +

      {$client->Get('desc')}

      +
      + + + {$lng['admin']['froxlorclients']['settings']} +   + + {$lng['admin']['froxlorclients']['deploy']} +   + + {$lng['admin']['froxlorclients']['settings']} :: {$lng['admin']['froxlorclients']['clientdisabled']}  + {$lng['admin']['froxlorclients']['deploy']} :: {$lng['admin']['froxlorclients']['clientdisabled']} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + +
      +

      + + + + + + + + + + + + + + + + + + + + + + $info +
      {$lng['froxlorclient']['base_config']}
      + {$lastrefresh} + + + {$lng['admin']['froxlorclients']['refreshsysinfo']} + + + {$lastrefresh} + +
      {$lng['froxlorclient']['ipaddress']}:{$client->getSetting('client', 'ipaddress')}
      {$lng['froxlorclient']['hostname']}:{$client->getSetting('client', 'hostname')}
      {$lng['froxlorclient']['install_destination']}:{$client->getSetting('client', 'install_destination')}
      +
      +
      +
      +$footer diff --git a/templates/Froxlor/admin/froxlorclients/froxlorclients_view_clientinfo.tpl b/templates/Froxlor/admin/froxlorclients/froxlorclients_view_clientinfo.tpl new file mode 100644 index 00000000..b020d3b0 --- /dev/null +++ b/templates/Froxlor/admin/froxlorclients/froxlorclients_view_clientinfo.tpl @@ -0,0 +1,32 @@ +
    Kernel:{$client->getSetting('clientinfo', 'kernel')}
    Memory:{$client->getSetting('clientinfo', 'memory')}
    Swap:{$client->getSetting('clientinfo', 'swap')}
    CPU:{$client->getSetting('clientinfo', 'cpu')}
    Load:{$client->getSetting('clientinfo', 'loadavg')}
    Uptime:{$client->getSetting('clientinfo', 'uptime')}
    Diskusage:{$client->getSetting('clientinfo', 'diskusage')}
    PHP version:{$client->getSetting('clientinfo', 'phpversion')}
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['admin']['customers']}:{$overview['number_customers']} ({$userinfo['customers']})
    {$lng['customer']['domains']}:{$overview['number_domains']} ({$userinfo['domains']})
    {$lng['customer']['subdomains']}:{$overview['subdomains_used']} ({$userinfo['subdomains_used']}/{$userinfo['subdomains']})
    {$lng['customer']['diskspace']}:{$overview['diskspace_used']} ({$userinfo['diskspace_used']}/{$userinfo['diskspace']})
    {$lng['customer']['traffic']}:{$overview['traffic_used']} ({$userinfo['traffic_used']}/{$userinfo['traffic']})
    {$lng['customer']['mysqls']}:{$overview['mysqls_used']} ({$userinfo['mysqls_used']}/{$userinfo['mysqls']})
    {$lng['customer']['emails']}:{$overview['emails_used']} ({$userinfo['emails_used']}/{$userinfo['emails']})
    {$lng['customer']['accounts']}:{$overview['email_accounts_used']} ({$userinfo['email_accounts_used']}/{$userinfo['email_accounts']})
    {$lng['customer']['forwarders']}:{$overview['email_forwarders_used']} ({$userinfo['email_forwarders_used']}/{$userinfo['email_forwarders']})
    {$lng['customer']['email_quota']}:{$overview['email_quota_used']} ({$userinfo['email_quota_used']}/{$userinfo['email_quota']})
    {$lng['customer']['autoresponder']}:{$userinfo['email_autoresponder_used']} ({$userinfo['email_autoresponder']})
    {$lng['aps']['numberofapspackages']}:{$overview['aps_packages_used']} ({$userinfo['aps_packages_used']}/{$userinfo['aps_packages']})
    {$lng['customer']['ftps']}:{$overview['ftps_used']} ({$userinfo['ftps_used']}/{$userinfo['ftps']})
    {$lng['customer']['tickets']}:{$overview['tickets_used']} ({$userinfo['tickets_used']}/{$userinfo['tickets']})
    + +
    +

    {$lng['admin']['systemdetails']}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['admin']['serversoftware']}:{$_SERVER['SERVER_SOFTWARE']}
    {$lng['admin']['phpversion']}:$phpversion
    {$lng['admin']['phpmemorylimit']}:$phpmemorylimit
    {$lng['admin']['mysqlserverversion']}:$mysqlserverversion
    {$lng['admin']['mysqlclientversion']}:$mysqlclientversion
    {$lng['admin']['webserverinterface']}:$webserverinterface
    {$lng['admin']['sysload']}:$load
    Kernel:$kernel
    Uptime:$uptime
    +
    +
    +

    {$lng['admin']['froxlordetails']}

    + + {$outstanding_tasks} + {$cron_last_runs} + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['admin']['installedversion']}:{$version}{$branding}
    {$lng['admin']['latestversion']}:$lookfornewversion_lable$lookfornewversion_lable
    {$lng['admin']['newerversionavailable']}
    $lookfornewversion_addinfo
    +
    + + +$footer + diff --git a/templates/Froxlor/admin/index/overview_item.tpl b/templates/Froxlor/admin/index/overview_item.tpl new file mode 100644 index 00000000..6f9bd3fa --- /dev/null +++ b/templates/Froxlor/admin/index/overview_item.tpl @@ -0,0 +1,4 @@ + + {$text}: + {$value} + diff --git a/templates/Froxlor/admin/ipsandports/ipsandports.tpl b/templates/Froxlor/admin/ipsandports/ipsandports.tpl new file mode 100644 index 00000000..7962960c --- /dev/null +++ b/templates/Froxlor/admin/ipsandports/ipsandports.tpl @@ -0,0 +1,65 @@ +$header +
    +
    +

    +   + {$lng['admin']['ipsandports']['ipsandports']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + $ipsandports + +
    {$lng['admin']['ipsandports']['ip']} {$arrowcode['ip']} : {$lng['admin']['ipsandports']['port']} {$arrowcode['port']}ListenNameVirtualHostvHost-ContainerSpecialsettingsServerNameSSL{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ipsandports/ipsandports_add.tpl b/templates/Froxlor/admin/ipsandports/ipsandports_add.tpl new file mode 100644 index 00000000..873a2ca8 --- /dev/null +++ b/templates/Froxlor/admin/ipsandports/ipsandports_add.tpl @@ -0,0 +1,32 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$ipsandports_add_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ipsandports/ipsandports_edit.tpl b/templates/Froxlor/admin/ipsandports/ipsandports_edit.tpl new file mode 100644 index 00000000..2cbb1207 --- /dev/null +++ b/templates/Froxlor/admin/ipsandports/ipsandports_edit.tpl @@ -0,0 +1,32 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$ipsandports_edit_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ipsandports/ipsandports_ipandport.tpl b/templates/Froxlor/admin/ipsandports/ipsandports_ipandport.tpl new file mode 100644 index 00000000..1515738a --- /dev/null +++ b/templates/Froxlor/admin/ipsandports/ipsandports_ipandport.tpl @@ -0,0 +1,17 @@ + + {$row['ip']}:{$row['port']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/admin/logger/logger.tpl b/templates/Froxlor/admin/logger/logger.tpl new file mode 100644 index 00000000..2fc93ae1 --- /dev/null +++ b/templates/Froxlor/admin/logger/logger.tpl @@ -0,0 +1,55 @@ +$header +
    +
    +

    +   + {$lng['menue']['logger']['logger']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + $log + +
    {$lng['logger']['date']}  {$arrowcode['date']}{$lng['logger']['type']}  {$arrowcode['type']}{$lng['logger']['user']}  {$arrowcode['user']}{$lng['logger']['action']}
    + +

    + + + +

    + +
    + + + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/logger/logger_action.tpl b/templates/Froxlor/admin/logger/logger_action.tpl new file mode 100644 index 00000000..4c85d62e --- /dev/null +++ b/templates/Froxlor/admin/logger/logger_action.tpl @@ -0,0 +1,3 @@ + + {$row['action']} + diff --git a/templates/Froxlor/admin/logger/logger_log.tpl b/templates/Froxlor/admin/logger/logger_log.tpl new file mode 100644 index 00000000..3d86a015 --- /dev/null +++ b/templates/Froxlor/admin/logger/logger_log.tpl @@ -0,0 +1,6 @@ + + {$row['date']} + {$row['type']} + {$row['user']} + {$row['text']} + diff --git a/templates/Froxlor/admin/message/message.tpl b/templates/Froxlor/admin/message/message.tpl new file mode 100644 index 00000000..faa0b7f8 --- /dev/null +++ b/templates/Froxlor/admin/message/message.tpl @@ -0,0 +1,47 @@ +$header +
    +
    +

    +   + {$lng['admin']['message']} +

    +
    + +
    + + +
    +
    {$lng['success']['success']}
    +
    {$successmessage}
    +
    +
    + +
    +
    + Froxlor - {$lng['admin']['message']} +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    + + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/phpconfig/overview.tpl b/templates/Froxlor/admin/phpconfig/overview.tpl new file mode 100644 index 00000000..40521a3a --- /dev/null +++ b/templates/Froxlor/admin/phpconfig/overview.tpl @@ -0,0 +1,41 @@ +$header +
    +
    +

    +   + {$lng['menue']['phpsettings']['maintitle']} +

    +
    + +
    + + + + + + + + + + + + + + + + $tablecontent + +
    {$lng['admin']['phpsettings']['description']}{$lng['admin']['phpsettings']['activedomains']}{$lng['admin']['phpsettings']['binary']}{$lng['admin']['phpsettings']['file_extensions']}{$lng['panel']['options']}
    + + + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/phpconfig/overview_add.tpl b/templates/Froxlor/admin/phpconfig/overview_add.tpl new file mode 100644 index 00000000..ff727b9d --- /dev/null +++ b/templates/Froxlor/admin/phpconfig/overview_add.tpl @@ -0,0 +1,106 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$phpconfig_add_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['phpconfig']['template_replace_vars']} +
    {SAFE_MODE}{$lng['admin']['phpconfig']['safe_mode']}
    {PEAR_DIR}{$lng['admin']['phpconfig']['pear_dir']}
    {OPEN_BASEDIR_C}{$lng['admin']['phpconfig']['open_basedir_c']}
    {OPEN_BASEDIR}{$lng['admin']['phpconfig']['open_basedir']}
    {OPEN_BASEDIR_GLOBAL}{$lng['admin']['phpconfig']['open_basedir_global']}
    {TMP_DIR}{$lng['admin']['phpconfig']['tmp_dir']}
    {CUSTOMER_EMAIL}{$lng['admin']['phpconfig']['customer_email']}
    {ADMIN_EMAIL}{$lng['admin']['phpconfig']['admin_email']}
    {DOMAIN}{$lng['admin']['phpconfig']['domain']}
    {CUSTOMER}{$lng['admin']['phpconfig']['customer']}
    {ADMIN}{$lng['admin']['phpconfig']['admin']}
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/phpconfig/overview_edit.tpl b/templates/Froxlor/admin/phpconfig/overview_edit.tpl new file mode 100644 index 00000000..aa19c38b --- /dev/null +++ b/templates/Froxlor/admin/phpconfig/overview_edit.tpl @@ -0,0 +1,107 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$phpconfig_edit_form} +
    + +

    + + + + + +

    +
    +
    + +
    + +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['phpconfig']['template_replace_vars']} +
    {SAFE_MODE}{$lng['admin']['phpconfig']['safe_mode']}
    {PEAR_DIR}{$lng['admin']['phpconfig']['pear_dir']}
    {OPEN_BASEDIR_C}{$lng['admin']['phpconfig']['open_basedir_c']}
    {OPEN_BASEDIR}{$lng['admin']['phpconfig']['open_basedir']}
    {OPEN_BASEDIR_GLOBAL}{$lng['admin']['phpconfig']['open_basedir_global']}
    {TMP_DIR}{$lng['admin']['phpconfig']['tmp_dir']}
    {CUSTOMER_EMAIL}{$lng['admin']['phpconfig']['customer_email']}
    {ADMIN_EMAIL}{$lng['admin']['phpconfig']['admin_email']}
    {DOMAIN}{$lng['admin']['phpconfig']['domain']}
    {CUSTOMER}{$lng['admin']['phpconfig']['customer']}
    {ADMIN}{$lng['admin']['phpconfig']['admin']}
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/phpconfig/overview_overview.tpl b/templates/Froxlor/admin/phpconfig/overview_overview.tpl new file mode 100644 index 00000000..cf69f390 --- /dev/null +++ b/templates/Froxlor/admin/phpconfig/overview_overview.tpl @@ -0,0 +1,16 @@ + + {$row['description']} + {$domains} + {$row['binary']} + {$row['file_extensions']} + + + {$lng['panel']['edit']} + + +   + {$lng['panel']['delete']} + + + + diff --git a/templates/Froxlor/admin/settings/settings.tpl b/templates/Froxlor/admin/settings/settings.tpl new file mode 100644 index 00000000..30a7f497 --- /dev/null +++ b/templates/Froxlor/admin/settings/settings.tpl @@ -0,0 +1,21 @@ + diff --git a/templates/Froxlor/admin/settings/settings_form_begin.tpl b/templates/Froxlor/admin/settings/settings_form_begin.tpl new file mode 100644 index 00000000..87a16c57 --- /dev/null +++ b/templates/Froxlor/admin/settings/settings_form_begin.tpl @@ -0,0 +1,6 @@ +$header +
    + + + + diff --git a/templates/Froxlor/admin/settings/settings_form_end.tpl b/templates/Froxlor/admin/settings/settings_form_end.tpl new file mode 100644 index 00000000..a9a6eab1 --- /dev/null +++ b/templates/Froxlor/admin/settings/settings_form_end.tpl @@ -0,0 +1,7 @@ + + + +
    +
    +
    +$footer diff --git a/templates/Froxlor/admin/settings/settings_group.tpl b/templates/Froxlor/admin/settings/settings_group.tpl new file mode 100644 index 00000000..66cdb0e2 --- /dev/null +++ b/templates/Froxlor/admin/settings/settings_group.tpl @@ -0,0 +1,9 @@ + + + {$groupdetails['title']} {$groupdetails['title']} + + + + + + diff --git a/templates/Froxlor/admin/settings/settings_overview.tpl b/templates/Froxlor/admin/settings/settings_overview.tpl new file mode 100644 index 00000000..7e9baa4a --- /dev/null +++ b/templates/Froxlor/admin/settings/settings_overview.tpl @@ -0,0 +1,21 @@ + diff --git a/templates/Froxlor/admin/settings/settings_overviewgroup.tpl b/templates/Froxlor/admin/settings/settings_overviewgroup.tpl new file mode 100644 index 00000000..21f41953 --- /dev/null +++ b/templates/Froxlor/admin/settings/settings_overviewgroup.tpl @@ -0,0 +1,11 @@ + + + + + {$option} + + + {$lng['admin']['configfiles']['serverconfiguration']} + + + diff --git a/templates/admin/settings/updatecounters.tpl b/templates/Froxlor/admin/settings/updatecounters.tpl similarity index 100% rename from templates/admin/settings/updatecounters.tpl rename to templates/Froxlor/admin/settings/updatecounters.tpl diff --git a/templates/Froxlor/admin/settings/updatecounters_row_admin.tpl b/templates/Froxlor/admin/settings/updatecounters_row_admin.tpl new file mode 100644 index 00000000..b7d33278 --- /dev/null +++ b/templates/Froxlor/admin/settings/updatecounters_row_admin.tpl @@ -0,0 +1,73 @@ + + + {$admin['loginname']}{$admin['loginname']}: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['admin']['customers']}:style="color:green"style="color:red">{$admin['customers_used']} -> {$admin['customers_used_new']}
    {$lng['customer']['domains']}:style="color:green"style="color:red">{$admin['domains_used']} -> {$admin['domains_used_new']}
    {$lng['customer']['subdomains']}:style="color:green"style="color:red">{$admin['subdomains_used']} -> {$admin['subdomains_used_new']}
    {$lng['customer']['diskspace']}:style="color:green"style="color:red">{$admin['diskspace_used']} -> {$admin['diskspace_used_new']}
    {$lng['customer']['traffic']}:style="color:green"style="color:red">{$admin['traffic_used']} -> {$admin['traffic_used_new']}
    {$lng['customer']['mysqls']}:style="color:green"style="color:red">{$admin['mysqls_used']} -> {$admin['mysqls_used_new']}
    {$lng['customer']['emails']}:style="color:green"style="color:red">{$admin['emails_used']} -> {$admin['emails_used_new']}
    {$lng['customer']['accounts']}:style="color:green"style="color:red">{$admin['email_accounts_used']} -> {$admin['email_accounts_used_new']}
    {$lng['customer']['forwarders']}:style="color:green"style="color:red">{$admin['email_forwarders_used']} -> {$admin['email_forwarders_used_new']}
    {$lng['customer']['email_quota']}:style="color:green"style="color:red">{$admin['email_quota_used']} -> {$admin['email_quota_used_new']}
    {$lng['customer']['autoresponder']}:style="color:green"style="color:red">{$admin['email_autoresponder_used']} -> {$admin['email_autoresponder_used_new']}
    {$lng['customer']['ftps']}:style="color:green"style="color:red">{$admin['ftps_used']} -> {$admin['ftps_used_new']}
    {$lng['customer']['tickets']}:style="color:green"style="color:red">{$admin['tickets_used']} -> {$admin['tickets_used_new']}
    {$lng['customer']['aps']}:style="color:green"style="color:red">{$admin['aps_packages_used']} -> {$admin['aps_packages_used_new']}
    + + diff --git a/templates/Froxlor/admin/settings/updatecounters_row_customer.tpl b/templates/Froxlor/admin/settings/updatecounters_row_customer.tpl new file mode 100644 index 00000000..0032178f --- /dev/null +++ b/templates/Froxlor/admin/settings/updatecounters_row_customer.tpl @@ -0,0 +1,57 @@ + + + {$customer['name']}, {$customer['firstname']} | {$customer['company']} ({$customer['loginname']}): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['customer']['subdomains']}:style="color:green"style="color:red">{$customer['subdomains_used']} -> {$customer['subdomains_used_new']}
    {$lng['customer']['mysqls']}:style="color:green"style="color:red">{$customer['mysqls_used']} -> {$customer['mysqls_used_new']}
    {$lng['customer']['emails']}:style="color:green"style="color:red">{$customer['emails_used']} -> {$customer['emails_used_new']}
    {$lng['customer']['accounts']}:style="color:green"style="color:red">{$customer['email_accounts_used']} -> {$customer['email_accounts_used_new']}
    {$lng['customer']['forwarders']}:style="color:green"style="color:red">{$customer['email_forwarders_used']} -> {$customer['email_forwarders_used_new']}
    {$lng['customer']['email_quota']}:style="color:green"style="color:red">{$customer['email_quota_used']} -> {$customer['email_quota_used_new']}
    {$lng['customer']['autoresponder']}:style="color:green"style="color:red">{$customer['email_autoresponder_used']} -> {$customer['email_autoresponder_used_new']}
    {$lng['customer']['ftps']}:style="color:green"style="color:red">{$customer['ftps_used']} -> {$customer['ftps_used_new']}
    {$lng['customer']['tickets']}:style="color:green"style="color:red">{$customer['tickets_used']} -> {$customer['tickets_used_new']}
    {$lng['customer']['aps']}:style="color:green"style="color:red">{$customer['aps_packages_used']} -> {$customer['aps_packages_used_new']}
    + + diff --git a/templates/Froxlor/admin/templates/filetemplates_add.tpl b/templates/Froxlor/admin/templates/filetemplates_add.tpl new file mode 100644 index 00000000..48e4d589 --- /dev/null +++ b/templates/Froxlor/admin/templates/filetemplates_add.tpl @@ -0,0 +1,82 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$filetemplate_add_form} +
    + +

    + + + + +

    +
    +
    + +
    +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['templates']['index_html']} +
    {SERVERNAME}:{$lng['admin']['templates']['SERVERNAME']}
    {CUSTOMER}:{$lng['admin']['templates']['CUSTOMER']}
    {ADMIN}:{$lng['admin']['templates']['ADMIN']}
    {CUSTOMER_EMAIL}:{$lng['admin']['templates']['CUSTOMER_EMAIL']}
    {ADMIN_EMAIL}:{$lng['admin']['templates']['ADMIN_EMAIL']}
    + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/templates/filetemplates_edit.tpl b/templates/Froxlor/admin/templates/filetemplates_edit.tpl new file mode 100644 index 00000000..4eca2e25 --- /dev/null +++ b/templates/Froxlor/admin/templates/filetemplates_edit.tpl @@ -0,0 +1,83 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$filetemplate_edit_form} +
    + +

    + + + + + +

    +
    +
    + +
    +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['templates']['index_html']} +
    {SERVERNAME}:{$lng['admin']['templates']['SERVERNAME']}
    {CUSTOMER}:{$lng['admin']['templates']['CUSTOMER']}
    {ADMIN}:{$lng['admin']['templates']['ADMIN']}
    {CUSTOMER_EMAIL}:{$lng['admin']['templates']['CUSTOMER_EMAIL']}
    {ADMIN_EMAIL}:{$lng['admin']['templates']['ADMIN_EMAIL']}
    + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/templates/templates.tpl b/templates/Froxlor/admin/templates/templates.tpl new file mode 100644 index 00000000..95b69415 --- /dev/null +++ b/templates/Froxlor/admin/templates/templates.tpl @@ -0,0 +1,66 @@ +$header +
    +
    +

    +   + {$lng['admin']['templates']['templates']} +

    +
    + +
    + + + + + + + + + + {$templates} + +
    {$lng['login']['language']}{$lng['admin']['templates']['action']}{$lng['panel']['options']}
    + + + + + +
    + +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['filetemplates']} +

    +
    + +
    + + + + + + + + + {$filetemplates} + +
    {$lng['admin']['templates']['action']}{$lng['panel']['options']}
    + + + + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/templates/templates_add_1.tpl b/templates/Froxlor/admin/templates/templates_add_1.tpl new file mode 100644 index 00000000..7d33b418 --- /dev/null +++ b/templates/Froxlor/admin/templates/templates_add_1.tpl @@ -0,0 +1,30 @@ +$header +
    +
    +

    +   + {$lng['admin']['templates']['template_add']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changelanguage']} +

    +   + +

    +

    + + + + + +

    +
    +
    +
    +
    +$footer + diff --git a/templates/Froxlor/admin/templates/templates_add_2.tpl b/templates/Froxlor/admin/templates/templates_add_2.tpl new file mode 100644 index 00000000..3ee8b746 --- /dev/null +++ b/templates/Froxlor/admin/templates/templates_add_2.tpl @@ -0,0 +1,216 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$template_add_form} +
    + +

    + + + + +

    + +
    +
    + +
    +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['templates']['createcustomer']} +
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {FIRSTNAME}:{$lng['admin']['templates']['FIRSTNAME']}
    {NAME}:{$lng['admin']['templates']['NAME']}
    {COMPANY}:{$lng['admin']['templates']['COMPANY']}
    {USERNAME}:{$lng['admin']['templates']['USERNAME']}
    {PASSWORD}:{$lng['admin']['templates']['PASSWORD']}
    + {$lng['admin']['templates']['pop_success']} +
    {EMAIL}:{$lng['admin']['templates']['EMAIL']}
    + {$lng['admin']['templates']['pop_success_alternative']} +
    {EMAIL}:{$lng['admin']['templates']['EMAIL']}
    {PASSWORD}:{$lng['admin']['templates']['EMAIL_PASSWORD']}
    + {$lng['admin']['templates']['forgotpwd']} +
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {USERNAME}:{$lng['admin']['templates']['USERNAME']}
    {PASSWORD}:{$lng['admin']['templates']['PASSWORD']}
    + {$lng['admin']['templates']['trafficninetypercent']} +
    {TRAFFIC}:{$lng['admin']['templates']['TRAFFIC']}
    {TRAFFICUSED}:{$lng['admin']['templates']['TRAFFICUSED']}
    + {$lng['admin']['templates']['ticket']} +
    {SUBJECT}:{$lng['admin']['templates']['SUBJECT']}
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {FIRSTNAME}:{$lng['admin']['templates']['FIRSTNAME']}
    {NAME}:{$lng['admin']['templates']['NAME']}
    {COMPANY}:{$lng['admin']['templates']['COMPANY']}
    + {$lng['admin']['templates']['newdatabase']} +
    {CUST_NAME}:{$lng['admin']['templates']['CUST_NAME']}
    {DB_NAME}:{$lng['admin']['templates']['DB_NAME']}
    {DB_PASS}:{$lng['admin']['templates']['DB_PASS']}
    {DB_DESC}:{$lng['admin']['templates']['DB_DESC']}
    {DB_SRV}:{$lng['admin']['templates']['DB_SRV']}
    {PMA_URI}:{$lng['admin']['templates']['PMA_URI']}
    + {$lng['admin']['templates']['newftpuser']} +
    {CUST_NAME}:{$lng['admin']['templates']['CUST_NAME']}
    {USR_NAME}:{$lng['admin']['templates']['USR_NAME']}
    {USR_PASS}:{$lng['admin']['templates']['USR_PASS']}
    {USR_PATH}:{$lng['admin']['templates']['USR_PATH']}
    + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/templates/templates_edit.tpl b/templates/Froxlor/admin/templates/templates_edit.tpl new file mode 100644 index 00000000..77b3faab --- /dev/null +++ b/templates/Froxlor/admin/templates/templates_edit.tpl @@ -0,0 +1,217 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$template_edit_form} +
    + +

    + + + + + + +

    +
    +
    + +
    +
    +
    +
    +
    +

    +   + {$lng['admin']['templates']['template_replace_vars']} +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['variable']}{$lng['panel']['description']}
    + {$lng['admin']['templates']['createcustomer']} +
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {FIRSTNAME}:{$lng['admin']['templates']['FIRSTNAME']}
    {NAME}:{$lng['admin']['templates']['NAME']}
    {COMPANY}:{$lng['admin']['templates']['COMPANY']}
    {USERNAME}:{$lng['admin']['templates']['USERNAME']}
    {PASSWORD}:{$lng['admin']['templates']['PASSWORD']}
    + {$lng['admin']['templates']['pop_success']} +
    {EMAIL}:{$lng['admin']['templates']['EMAIL']}
    + {$lng['admin']['templates']['pop_success_alternative']} +
    {EMAIL}:{$lng['admin']['templates']['EMAIL']}
    {PASSWORD}:{$lng['admin']['templates']['EMAIL_PASSWORD']}
    + {$lng['admin']['templates']['forgotpwd']} +
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {USERNAME}:{$lng['admin']['templates']['USERNAME']}
    {PASSWORD}:{$lng['admin']['templates']['PASSWORD']}
    + {$lng['admin']['templates']['trafficninetypercent']} +
    {TRAFFIC}:{$lng['admin']['templates']['TRAFFIC']}
    {TRAFFICUSED}:{$lng['admin']['templates']['TRAFFICUSED']}
    + {$lng['admin']['templates']['ticket']} +
    {SUBJECT}:{$lng['admin']['templates']['SUBJECT']}
    {SALUTATION}:{$lng['admin']['templates']['SALUTATION']}
    {FIRSTNAME}:{$lng['admin']['templates']['FIRSTNAME']}
    {NAME}:{$lng['admin']['templates']['NAME']}
    {COMPANY}:{$lng['admin']['templates']['COMPANY']}
    + {$lng['admin']['templates']['newdatabase']} +
    {CUST_NAME}:{$lng['admin']['templates']['CUST_NAME']}
    {DB_NAME}:{$lng['admin']['templates']['DB_NAME']}
    {DB_PASS}:{$lng['admin']['templates']['DB_PASS']}
    {DB_DESC}:{$lng['admin']['templates']['DB_DESC']}
    {DB_SRV}:{$lng['admin']['templates']['DB_SRV']}
    {PMA_URI}:{$lng['admin']['templates']['PMA_URI']}
    + {$lng['admin']['templates']['newftpuser']} +
    {CUST_NAME}:{$lng['admin']['templates']['CUST_NAME']}
    {USR_NAME}:{$lng['admin']['templates']['USR_NAME']}
    {USR_PASS}:{$lng['admin']['templates']['USR_PASS']}
    {USR_PATH}:{$lng['admin']['templates']['USR_PATH']}
    + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/templates/templates_filetemplate.tpl b/templates/Froxlor/admin/templates/templates_filetemplate.tpl new file mode 100644 index 00000000..8cf9e0fb --- /dev/null +++ b/templates/Froxlor/admin/templates/templates_filetemplate.tpl @@ -0,0 +1,12 @@ + + {$lng['admin']['templates'][$row['varname']]} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + + diff --git a/templates/Froxlor/admin/templates/templates_template.tpl b/templates/Froxlor/admin/templates/templates_template.tpl new file mode 100644 index 00000000..25dfbfc9 --- /dev/null +++ b/templates/Froxlor/admin/templates/templates_template.tpl @@ -0,0 +1,13 @@ + + {$language} + {$template} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + + diff --git a/templates/Froxlor/admin/ticket/archive.tpl b/templates/Froxlor/admin/ticket/archive.tpl new file mode 100644 index 00000000..a0b24ff8 --- /dev/null +++ b/templates/Froxlor/admin/ticket/archive.tpl @@ -0,0 +1,86 @@ +$header +
    +
    +

    +   + {$lng['ticket']['lastarchived']} +

    +
    + +
    + + + + + + + + + + + + + + $tickets + +
    {$lng['ticket']['archivedtime']}{$lng['ticket']['ticket_answers']}{$lng['ticket']['subject']}{$lng['ticket']['lastreplier']}{$lng['ticket']['priority']}{$lng['panel']['options']}
    + +
    + +
    +
    +
    +
    +

    +   + {$lng['ticket']['search']} +

    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['ticket']['subject']}:
    {$lng['ticket']['priority']}:{$priorities_options}
    {$lng['ticket']['category']}:{$category_options}
    {$lng['ticket']['lastchange']}: +

    + +
    {$lng['ticket']['message']}:
    {$lng['ticket']['customer']}:
    + +
    +

    +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ticket/archived_tickets.tpl b/templates/Froxlor/admin/ticket/archived_tickets.tpl new file mode 100644 index 00000000..43b1afad --- /dev/null +++ b/templates/Froxlor/admin/ticket/archived_tickets.tpl @@ -0,0 +1,12 @@ + + {$ticket['lastchange']} + {$ticket['ticket_answers']} + {$ticket['subject']} + {$ticket['lastreplier']} + {$ticket['priority']} + + + {$lng['ticket']['show']} + + + diff --git a/templates/admin/ticket/archivesearch.tpl b/templates/Froxlor/admin/ticket/archivesearch.tpl similarity index 100% rename from templates/admin/ticket/archivesearch.tpl rename to templates/Froxlor/admin/ticket/archivesearch.tpl diff --git a/templates/Froxlor/admin/ticket/categories.tpl b/templates/Froxlor/admin/ticket/categories.tpl new file mode 100644 index 00000000..094932c2 --- /dev/null +++ b/templates/Froxlor/admin/ticket/categories.tpl @@ -0,0 +1,63 @@ +$header +
    +
    +

    +   + {$lng['menue']['ticket']['categories']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + $ticketcategories + +
    {$lng['ticket']['category']} {$arrowcode['name']}{$lng['ticket']['logicalorder']} {$arrowcode['logicalorder']}{$lng['ticket']['ticketcount']} {$arrowcode['ticketcount']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + + +

    + +
    + + + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/ticket/tickets.tpl b/templates/Froxlor/admin/ticket/tickets.tpl new file mode 100644 index 00000000..4eb0eca2 --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets.tpl @@ -0,0 +1,75 @@ +$header +
    +
    +

    +   + {$lng['menue']['ticket']['ticket']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + + + + {$tickets} + +
    {$lng['ticket']['lastchange']} {$arrowcode['lastchange']}{$lng['ticket']['ticket_answers']} {$arrowcode['ticket_answers']}{$lng['ticket']['subject']} {$arrowcode['subject']}{$lng['ticket']['status']} {$arrowcode['status']}{$lng['ticket']['lastreplier']} {$arrowcode['lastreplier']}{$lng['ticket']['priority']} {$arrowcode['priority']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + + +

    + +
    + + + + + + + + + +
    + +
    +$footer + diff --git a/templates/Froxlor/admin/ticket/tickets_categories.tpl b/templates/Froxlor/admin/ticket/tickets_categories.tpl new file mode 100644 index 00000000..6a824ace --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_categories.tpl @@ -0,0 +1,14 @@ + + {$row['name']} + {$row['logicalorder']} + {$row['ticketcount']} ({$row['ticketcountnotclosed']} {$lng['ticket']['open']} | {$closedtickets_count} {$lng['ticket']['closed']}) + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + + diff --git a/templates/Froxlor/admin/ticket/tickets_customer.tpl b/templates/Froxlor/admin/ticket/tickets_customer.tpl new file mode 100644 index 00000000..2168ea9b --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_customer.tpl @@ -0,0 +1,3 @@ + + {$customer} + diff --git a/templates/Froxlor/admin/ticket/tickets_editcategory.tpl b/templates/Froxlor/admin/ticket/tickets_editcategory.tpl new file mode 100644 index 00000000..a2ff08ad --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_editcategory.tpl @@ -0,0 +1,33 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$category_edit_form} +
    + +

    + + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ticket/tickets_new.tpl b/templates/Froxlor/admin/ticket/tickets_new.tpl new file mode 100644 index 00000000..054cd321 --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_new.tpl @@ -0,0 +1,32 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$ticket_new_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ticket/tickets_newcategory.tpl b/templates/Froxlor/admin/ticket/tickets_newcategory.tpl new file mode 100644 index 00000000..d4aa03b5 --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_newcategory.tpl @@ -0,0 +1,32 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$category_new_form} +
    + +

    + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ticket/tickets_reply.tpl b/templates/Froxlor/admin/ticket/tickets_reply.tpl new file mode 100644 index 00000000..77e8b5ca --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_reply.tpl @@ -0,0 +1,46 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + + +
    +
    +
    {$lng['ticket']['ticket_reopen']}
    + +
    +
    +
    + + + $ticket_replies + + +
    + +
    +
    + Froxlor - {$title} + + + {$ticket_reply_form} +
    + +

    + + + + + +

    +
    +
    + +
    + +
    +$footer diff --git a/templates/Froxlor/admin/ticket/tickets_tickets.tpl b/templates/Froxlor/admin/ticket/tickets_tickets.tpl new file mode 100644 index 00000000..a465fec9 --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_tickets.tpl @@ -0,0 +1,34 @@ + + {$row['lastchange']} + {$row['ticket_answers']} + {$row['subject']} + {$row['status']} + {$row['lastreplier']} + {$row['priority']} + + + + {$lng['ticket']['show']} + + + {$lng['ticket']['answer']} + + + +   + {$lng['ticket']['close']} + + + +   + {$lng['ticket']['reopen']} + + +   + {$lng['ticket']['archive']} + +   + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/admin/ticket/tickets_tickets_list.tpl b/templates/Froxlor/admin/ticket/tickets_tickets_list.tpl new file mode 100644 index 00000000..f8269f3f --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_tickets_list.tpl @@ -0,0 +1,15 @@ +
    + + + + + + + + + + +
    {$lastchange} {$lng['ticket']['by']} {$by}
    {$subject}
    {$message}
    +

    +
    +
    diff --git a/templates/Froxlor/admin/ticket/tickets_tickets_main.tpl b/templates/Froxlor/admin/ticket/tickets_tickets_main.tpl new file mode 100644 index 00000000..2f743bb3 --- /dev/null +++ b/templates/Froxlor/admin/ticket/tickets_tickets_main.tpl @@ -0,0 +1,15 @@ +
    + + + + + + + + + + +
    {$dt} {$lng['ticket']['by']} {$by} ({$status})
    {$subject}
    {$message}
    +
    +
    +
    diff --git a/templates/admin/ticket/tickets_view.tpl b/templates/Froxlor/admin/ticket/tickets_view.tpl similarity index 100% rename from templates/admin/ticket/tickets_view.tpl rename to templates/Froxlor/admin/ticket/tickets_view.tpl diff --git a/templates/Froxlor/admin/update/index.tpl b/templates/Froxlor/admin/update/index.tpl new file mode 100644 index 00000000..18e4f995 --- /dev/null +++ b/templates/Froxlor/admin/update/index.tpl @@ -0,0 +1,16 @@ +$header +
    +

    {$lng['update']['update']}

    +
    +
    +
    + {$update_information} +

    + + + + +

    +
    +
    +$footer diff --git a/templates/Froxlor/admin/update/noupdatesavail.tpl b/templates/Froxlor/admin/update/noupdatesavail.tpl new file mode 100644 index 00000000..bb14a3a0 --- /dev/null +++ b/templates/Froxlor/admin/update/noupdatesavail.tpl @@ -0,0 +1,12 @@ +$header +
    +
    +
    {$lng['update']['update']}
    + +
    +
    +$footer diff --git a/templates/Froxlor/admin/update/preconfigitem.tpl b/templates/Froxlor/admin/update/preconfigitem.tpl new file mode 100644 index 00000000..5bf40f2c --- /dev/null +++ b/templates/Froxlor/admin/update/preconfigitem.tpl @@ -0,0 +1,6 @@ +
    +

    + {$description} + {$question} +

    +
    diff --git a/templates/Froxlor/admin/update/update_end.tpl b/templates/Froxlor/admin/update/update_end.tpl new file mode 100644 index 00000000..2264df66 --- /dev/null +++ b/templates/Froxlor/admin/update/update_end.tpl @@ -0,0 +1,6 @@ +

    + {$lng['success']['clickheretocontinue']} +

    + + +$footer diff --git a/templates/Froxlor/admin/update/update_start.tpl b/templates/Froxlor/admin/update/update_start.tpl new file mode 100644 index 00000000..a06aac96 --- /dev/null +++ b/templates/Froxlor/admin/update/update_start.tpl @@ -0,0 +1,6 @@ +$header +
    +
    +

    {$lng['update']['update']}

    +
    +
    diff --git a/templates/Froxlor/customer/aps/askyesno.tpl b/templates/Froxlor/customer/aps/askyesno.tpl new file mode 100644 index 00000000..d43b9b84 --- /dev/null +++ b/templates/Froxlor/customer/aps/askyesno.tpl @@ -0,0 +1,25 @@ +
    +
    +
    {$lng['question']['question']}
    +
    + $Message +
    +
    + + + + + $Ids +
    +   +
    + + + +
    +
    +
    +
    + +
    + diff --git a/templates/Froxlor/customer/aps/data.tpl b/templates/Froxlor/customer/aps/data.tpl new file mode 100644 index 00000000..06e76872 --- /dev/null +++ b/templates/Froxlor/customer/aps/data.tpl @@ -0,0 +1,9 @@ + + + $Groupname + + + + $Fieldname + $Fieldvalue + diff --git a/templates/Froxlor/customer/aps/footer.tpl b/templates/Froxlor/customer/aps/footer.tpl new file mode 100644 index 00000000..35ee6c15 --- /dev/null +++ b/templates/Froxlor/customer/aps/footer.tpl @@ -0,0 +1 @@ +$footer diff --git a/templates/Froxlor/customer/aps/header.tpl b/templates/Froxlor/customer/aps/header.tpl new file mode 100644 index 00000000..6af88b30 --- /dev/null +++ b/templates/Froxlor/customer/aps/header.tpl @@ -0,0 +1 @@ +$header diff --git a/templates/Froxlor/customer/aps/infobox.tpl b/templates/Froxlor/customer/aps/infobox.tpl new file mode 100644 index 00000000..b55608f7 --- /dev/null +++ b/templates/Froxlor/customer/aps/infobox.tpl @@ -0,0 +1,25 @@ + +
    +
    {$lng['success']['success']}
    +
    + $Message +
    +
    +
    + +
    +
    {$lng['error']['error']}
    +
    + $Message +
    +
    +
    + +
    +
    {$lng['success']['success']}
    +
    + $Message +
    +
    +
    + diff --git a/templates/Froxlor/customer/aps/installer.tpl b/templates/Froxlor/customer/aps/installer.tpl new file mode 100644 index 00000000..c1336aab --- /dev/null +++ b/templates/Froxlor/customer/aps/installer.tpl @@ -0,0 +1,41 @@ +
    +
    +

    + {$Xml->name}  + {$Xml->name} +

    +
    + +
    + +
    +
    + Froxlor - {$Xml->name} + + + + + + + $Data + + + +
    {$lng['aps']['install_wizard']} + +
    {$lng['aps']['wizard_error']}
    +
    +
    {$Xml->name} Icon
    + +
    + +

    + + + + +

    +
    +
    +
    +
    diff --git a/templates/Froxlor/customer/aps/package.tpl b/templates/Froxlor/customer/aps/package.tpl new file mode 100644 index 00000000..b8cda3f1 --- /dev/null +++ b/templates/Froxlor/customer/aps/package.tpl @@ -0,0 +1,68 @@ +
    +
    +

    + {$Xml->name}  + {$Xml->name} +

    +
    + +
    + +
    + Froxlor -  + + + + + + + + + + $Data + + + +
    $Summary{$Xml->name} Icon
    {$lng['aps']['data']}
    + +
    + + + + + +
    +
    + +
    + + + + +
    +
    + +
    + + + + + +
    +
    + + {$db_info} + + +
    + + + + + +
    +
    +
    +
    +
    +
    diff --git a/templates/Froxlor/customer/aps/package_status.tpl b/templates/Froxlor/customer/aps/package_status.tpl new file mode 100644 index 00000000..149b47f0 --- /dev/null +++ b/templates/Froxlor/customer/aps/package_status.tpl @@ -0,0 +1,60 @@ +
    +
    +

    + {$Xml->name}  + {$Xml->name} +

    +
    + +
    + +
    + Froxlor -  + + + + + + + + + + $Data + + + +
    $Summary{$Xml->name} Icon
    {$lng['aps']['data']}
    + +
    + + + + + +
    +
    + +
    + + + + + +
    +
    + +
    + + + + + +
    +
    + + {$lng['aps']['waitfortask']} + +
    +
    +
    +
    diff --git a/templates/Froxlor/customer/aps/search.tpl b/templates/Froxlor/customer/aps/search.tpl new file mode 100644 index 00000000..5cacc252 --- /dev/null +++ b/templates/Froxlor/customer/aps/search.tpl @@ -0,0 +1,34 @@ +
    +
    +

    +   + {$lng['aps']['search']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['aps']['search']} + + + + + + + + + +
    {$lng['aps']['search_description']}
    + +

    + + + + +

    +
    +
    +
    +
    diff --git a/templates/Froxlor/customer/domains/domainlist.tpl b/templates/Froxlor/customer/domains/domainlist.tpl new file mode 100644 index 00000000..6dafb306 --- /dev/null +++ b/templates/Froxlor/customer/domains/domainlist.tpl @@ -0,0 +1,61 @@ + $header +
    +
    +

    +   + {$lng['domains']['domainsettings']} ({$domains_count}) +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + {$domains} + +
    {$lng['domains']['domainname']}  {$arrowcode['d.domain']}{$lng['panel']['path']}  {$arrowcode['d.documentroot']} + {$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + + + + +
    +
    +$footer diff --git a/templates/Froxlor/customer/domains/domains.tpl b/templates/Froxlor/customer/domains/domains.tpl new file mode 100644 index 00000000..22e8f80e --- /dev/null +++ b/templates/Froxlor/customer/domains/domains.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['domains']['domains']}
    +
    {$lng['domains']['description']}
    +
    +
    +$footer diff --git a/templates/customer/domains/domains_add.tpl b/templates/Froxlor/customer/domains/domains_add.tpl similarity index 100% rename from templates/customer/domains/domains_add.tpl rename to templates/Froxlor/customer/domains/domains_add.tpl diff --git a/templates/Froxlor/customer/domains/domains_delimiter.tpl b/templates/Froxlor/customer/domains/domains_delimiter.tpl new file mode 100644 index 00000000..b12d080a --- /dev/null +++ b/templates/Froxlor/customer/domains/domains_delimiter.tpl @@ -0,0 +1,5 @@ + + {$row['domain']} [{$lng['domains']['statstics']}] +   +   + diff --git a/templates/Froxlor/customer/domains/domains_domain.tpl b/templates/Froxlor/customer/domains/domains_domain.tpl new file mode 100644 index 00000000..f57080e9 --- /dev/null +++ b/templates/Froxlor/customer/domains/domains_domain.tpl @@ -0,0 +1,25 @@ + + {$row['domain']} + + {$row['documentroot']} + {$lng['domains']['aliasdomain']} {$row['aliasdomain']} + + + + + {$lng['panel']['edit']} +   + + + + {$lng['panel']['delete']} +   + + + ({$lng['domains']['isassigneddomain']})  + + + {$lng['domains']['hasaliasdomains']} + + + diff --git a/templates/customer/domains/domains_edit.tpl b/templates/Froxlor/customer/domains/domains_edit.tpl similarity index 100% rename from templates/customer/domains/domains_edit.tpl rename to templates/Froxlor/customer/domains/domains_edit.tpl diff --git a/templates/Froxlor/customer/email/account_add.tpl b/templates/Froxlor/customer/email/account_add.tpl new file mode 100644 index 00000000..d2b25f2b --- /dev/null +++ b/templates/Froxlor/customer/email/account_add.tpl @@ -0,0 +1,52 @@ +$header +
    +
    +

    + {$lng['emails']['account_add']}  + {$lng['emails']['account_add']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['emails_add']} + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['login']['password']}:
    {$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
    {$lng['emails']['alternative_emailaddress']}:
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/customer/email/account_changepw.tpl b/templates/Froxlor/customer/email/account_changepw.tpl similarity index 100% rename from templates/customer/email/account_changepw.tpl rename to templates/Froxlor/customer/email/account_changepw.tpl diff --git a/templates/customer/email/account_changequota.tpl b/templates/Froxlor/customer/email/account_changequota.tpl similarity index 100% rename from templates/customer/email/account_changequota.tpl rename to templates/Froxlor/customer/email/account_changequota.tpl diff --git a/templates/Froxlor/customer/email/autoresponder.tpl b/templates/Froxlor/customer/email/autoresponder.tpl new file mode 100644 index 00000000..67f42fb7 --- /dev/null +++ b/templates/Froxlor/customer/email/autoresponder.tpl @@ -0,0 +1,44 @@ + $header + +$footer + diff --git a/templates/customer/email/autoresponder_add.tpl b/templates/Froxlor/customer/email/autoresponder_add.tpl similarity index 100% rename from templates/customer/email/autoresponder_add.tpl rename to templates/Froxlor/customer/email/autoresponder_add.tpl diff --git a/templates/Froxlor/customer/email/autoresponder_autoresponder.tpl b/templates/Froxlor/customer/email/autoresponder_autoresponder.tpl new file mode 100644 index 00000000..3a7b34a1 --- /dev/null +++ b/templates/Froxlor/customer/email/autoresponder_autoresponder.tpl @@ -0,0 +1,17 @@ + + {$row['email']} + + {$lng['panel']['yes']} + {$lng['panel']['no']} + + $activated_date + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + + diff --git a/templates/customer/email/autoresponder_edit.tpl b/templates/Froxlor/customer/email/autoresponder_edit.tpl similarity index 100% rename from templates/customer/email/autoresponder_edit.tpl rename to templates/Froxlor/customer/email/autoresponder_edit.tpl diff --git a/templates/Froxlor/customer/email/email.tpl b/templates/Froxlor/customer/email/email.tpl new file mode 100644 index 00000000..925db389 --- /dev/null +++ b/templates/Froxlor/customer/email/email.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['email']['email']}
    +
    {$lng['emails']['description']}
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/email/emails.tpl b/templates/Froxlor/customer/email/emails.tpl new file mode 100644 index 00000000..78ba587c --- /dev/null +++ b/templates/Froxlor/customer/email/emails.tpl @@ -0,0 +1,67 @@ + $header +
    +
    +

    +   + {$lng['menue']['email']['emails']} ({$emailscount}) +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + {$accounts} + +
    {$lng['emails']['emailaddress']} {$arrowcode['m.email_full']}{$lng['emails']['forwarders']} {$arrowcode['m.destination']}{$lng['emails']['account']}{$lng['emails']['catchall']}{$lng['emails']['quota']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + + + + +
    +
    +$footer + diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl new file mode 100644 index 00000000..8debbeaa --- /dev/null +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -0,0 +1,49 @@ +$header +
    + +
    +
    +
    {$lng['admin']['warning']}
    +

    {$lng['emails']['noemaildomainaddedyet']}
    +
    +
    +
    + +
    +

    + {$lng['emails']['emails_add']}  + {$lng['emails']['emails_add']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['emails_add']} + + + + + + + + + + + + + +
    {$lng['emails']['emailaddress']}: @
    {$lng['emails']['iscatchall']}$iscatchall
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/email/emails_domain.tpl b/templates/Froxlor/customer/email/emails_domain.tpl new file mode 100644 index 00000000..3c34f6a4 --- /dev/null +++ b/templates/Froxlor/customer/email/emails_domain.tpl @@ -0,0 +1,3 @@ + +     {$domainname} + \ No newline at end of file diff --git a/templates/Froxlor/customer/email/emails_edit.tpl b/templates/Froxlor/customer/email/emails_edit.tpl new file mode 100644 index 00000000..9e702951 --- /dev/null +++ b/templates/Froxlor/customer/email/emails_edit.tpl @@ -0,0 +1,66 @@ +$header +
    +
    +

    + {$lng['emails']['emails_edit']}  + {$lng['emails']['emails_edit']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['emails_edit']} + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['emails']['account']}: + + {$lng['panel']['yes']} [{$lng['menue']['main']['changepassword']}] [{$lng['emails']['account_delete']}] + + + {$lng['panel']['no']} [{$lng['emails']['account_add']}] + +
    {$lng['customer']['email_quota']}:{$result['quota']} {$lng['panel']['megabyte']} [{$lng['emails']['quota_edit']}]
    {$lng['emails']['catchall']}: + + {$lng['panel']['yes']} + + + {$lng['panel']['no']} + + [{$lng['panel']['toggle']}] +
    {$lng['emails']['forwarders']} ({$forwarders_count}):$forwarders{$lng['emails']['forwarder_add']}
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/email/emails_edit_forwarder.tpl b/templates/Froxlor/customer/email/emails_edit_forwarder.tpl new file mode 100644 index 00000000..181101c5 --- /dev/null +++ b/templates/Froxlor/customer/email/emails_edit_forwarder.tpl @@ -0,0 +1,2 @@ +$destination [{$lng['panel']['delete']}] +
    \ No newline at end of file diff --git a/templates/Froxlor/customer/email/emails_email.tpl b/templates/Froxlor/customer/email/emails_email.tpl new file mode 100644 index 00000000..c78ca272 --- /dev/null +++ b/templates/Froxlor/customer/email/emails_email.tpl @@ -0,0 +1,15 @@ + + {$row['email_full']} +  {$row['destination']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['panel']['yes']}{$lng['panel']['no']} + {$lng['emails']['noquota']}{$row['quota']} MB + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl new file mode 100644 index 00000000..4d60a9f7 --- /dev/null +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -0,0 +1,40 @@ +$header +
    +
    +

    + {$lng['emails']['forwarder_add']}  + {$lng['emails']['forwarder_add']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['forwarder_add']} + + + + + + + + + + + + + +
    {$lng['emails']['from']}:{$result['email_full']}
    {$lng['emails']['to']}:
     
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/extras.tpl b/templates/Froxlor/customer/extras/extras.tpl new file mode 100644 index 00000000..ff8d0325 --- /dev/null +++ b/templates/Froxlor/customer/extras/extras.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['extras']['extras']}
    +
    {$lng['extras']['description']}
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/htaccess.tpl b/templates/Froxlor/customer/extras/htaccess.tpl new file mode 100644 index 00000000..86bf55a8 --- /dev/null +++ b/templates/Froxlor/customer/extras/htaccess.tpl @@ -0,0 +1,64 @@ + $header +
    +
    +

    +   + {$lng['menue']['extras']['pathoptions']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + {$htaccess} + +
    {$lng['panel']['path']} {$arrowcode['path']}{$lng['extras']['view_directory']} {$arrowcode['options_indexes']}{$lng['extras']['error404path']} {$arrowcode['error404path']}{$lng['extras']['error403path']} {$arrowcode['error403path']}{$lng['extras']['error500path']} {$arrowcode['error500path']}{$lng['extras']['execute_perl']} {$arrowcode['options_cgi']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + + + +
    +
    +$footer + diff --git a/templates/Froxlor/customer/extras/htaccess_add.tpl b/templates/Froxlor/customer/extras/htaccess_add.tpl new file mode 100644 index 00000000..0271baea --- /dev/null +++ b/templates/Froxlor/customer/extras/htaccess_add.tpl @@ -0,0 +1,65 @@ +$header +
    +
    +

    + {$lng['extras']['pathoptions_add']}  + {$lng['extras']['pathoptions_add']} +

    +
    + +
    + + +
    + Froxlor - {$lng['extras']['pathoptions_add']} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + {$lng['panel']['path']}:
    + {$lng['panel']['pathDescription']} +
    {$pathSelect}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} +
    {$lng['panel']['not_supported']}lighttpd
    +
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} +
    {$lng['panel']['not_supported']}lighttpd
    +
    {$lng['extras']['execute_perl']}:$options_cgi
    + +

    + + + + +

    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/htaccess_edit.tpl b/templates/Froxlor/customer/extras/htaccess_edit.tpl new file mode 100644 index 00000000..d1b0cc17 --- /dev/null +++ b/templates/Froxlor/customer/extras/htaccess_edit.tpl @@ -0,0 +1,62 @@ +$header +
    +
    +

    + {$lng['extras']['pathoptions_edit']}  + {$lng['extras']['pathoptions_edit']} +

    +
    + +
    + +
    +
    + Froxlor -  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['path']}:{$result['path']}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} +
    {$lng['panel']['not_supported']}lighttpd
    +
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} +
    {$lng['panel']['not_supported']}lighttpd
    +
    {$lng['extras']['execute_perl']}:$options_cgi
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/htaccess_htaccess.tpl b/templates/Froxlor/customer/extras/htaccess_htaccess.tpl new file mode 100644 index 00000000..5bd5cd55 --- /dev/null +++ b/templates/Froxlor/customer/extras/htaccess_htaccess.tpl @@ -0,0 +1,18 @@ + + {$row['path']} + {$row['options_indexes']} + {$row['error404path']} + {$row['error403path']} + {$row['error500path']} + + {$row['options_cgi']} + + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/customer/extras/htpasswds.tpl b/templates/Froxlor/customer/extras/htpasswds.tpl new file mode 100644 index 00000000..3aca3a01 --- /dev/null +++ b/templates/Froxlor/customer/extras/htpasswds.tpl @@ -0,0 +1,60 @@ + $header + +$footer + diff --git a/templates/Froxlor/customer/extras/htpasswds_add.tpl b/templates/Froxlor/customer/extras/htpasswds_add.tpl new file mode 100644 index 00000000..9b85ee14 --- /dev/null +++ b/templates/Froxlor/customer/extras/htpasswds_add.tpl @@ -0,0 +1,51 @@ +$header +
    +
    +

    + {$lng['extras']['directoryprotection_add']}  + {$lng['extras']['directoryprotection_add']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['extras']['directoryprotection_add']} + + + + + + + + + + + + + + + + + + + + + +
    + {$lng['panel']['path']}:
    + {$lng['panel']['pathDescription']} +
    {$pathSelect}
    {$lng['login']['username']}:
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/htpasswds_edit.tpl b/templates/Froxlor/customer/extras/htpasswds_edit.tpl new file mode 100644 index 00000000..eab2c101 --- /dev/null +++ b/templates/Froxlor/customer/extras/htpasswds_edit.tpl @@ -0,0 +1,48 @@ +$header +
    +
    +

    + {$lng['extras']['directoryprotection_edit']}  + {$lng['extras']['directoryprotection_edit']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['extras']['directoryprotection_edit']} + + + + + + + + + + + + + + + + + + + + + +
    {$lng['panel']['path']}:{$result['path']}
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/extras/htpasswds_htpasswd.tpl b/templates/Froxlor/customer/extras/htpasswds_htpasswd.tpl new file mode 100644 index 00000000..fb1ab016 --- /dev/null +++ b/templates/Froxlor/customer/extras/htpasswds_htpasswd.tpl @@ -0,0 +1,12 @@ + + {$row['username']} + {$row['path']} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/customer/ftp/accounts.tpl b/templates/Froxlor/customer/ftp/accounts.tpl new file mode 100644 index 00000000..f54b131b --- /dev/null +++ b/templates/Froxlor/customer/ftp/accounts.tpl @@ -0,0 +1,62 @@ + $header +
    +
    +

    +   + {$lng['menue']['ftp']['accounts']} ({$ftps_count}) +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + {$accounts} + +
    {$lng['login']['username']}  {$arrowcode['username']}{$lng['panel']['path']}  {$arrowcode['homedir']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + + + + +
    +
    +$footer + diff --git a/templates/Froxlor/customer/ftp/accounts_account.tpl b/templates/Froxlor/customer/ftp/accounts_account.tpl new file mode 100644 index 00000000..4f368a4a --- /dev/null +++ b/templates/Froxlor/customer/ftp/accounts_account.tpl @@ -0,0 +1,12 @@ + + {$row['username']} + {$row['documentroot']} + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + diff --git a/templates/Froxlor/customer/ftp/accounts_add.tpl b/templates/Froxlor/customer/ftp/accounts_add.tpl new file mode 100644 index 00000000..3b16c280 --- /dev/null +++ b/templates/Froxlor/customer/ftp/accounts_add.tpl @@ -0,0 +1,54 @@ +$header +
    +
    +

    + {$lng['ftp']['account_add']}  + {$lng['ftp']['account_add']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['ftp']['account_add']} + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/ftp/accounts_edit.tpl b/templates/Froxlor/customer/ftp/accounts_edit.tpl new file mode 100644 index 00000000..336f3956 --- /dev/null +++ b/templates/Froxlor/customer/ftp/accounts_edit.tpl @@ -0,0 +1,54 @@ +$header +
    +
    +

    + {$lng['ftp']['account_edit']}  + {$lng['ftp']['account_edit']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['ftp']['account_edit']} + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['ftp']['editpassdescription']}
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/ftp/ftp.tpl b/templates/Froxlor/customer/ftp/ftp.tpl new file mode 100644 index 00000000..0bfcefda --- /dev/null +++ b/templates/Froxlor/customer/ftp/ftp.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['ftp']['ftp']}
    +
    {$lng['ftp']['description']}
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/index/change_language.tpl b/templates/Froxlor/customer/index/change_language.tpl new file mode 100644 index 00000000..60a0f5fc --- /dev/null +++ b/templates/Froxlor/customer/index/change_language.tpl @@ -0,0 +1,29 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changelanguage']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changelanguage']} +

    +   + +

    +

    + + + + +

    +
    +
    +
    +
    +$footer + diff --git a/templates/Froxlor/customer/index/change_password.tpl b/templates/Froxlor/customer/index/change_password.tpl new file mode 100644 index 00000000..3cc89511 --- /dev/null +++ b/templates/Froxlor/customer/index/change_password.tpl @@ -0,0 +1,44 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changepassword']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changepassword']} +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    +   + {$lng['changepassword']['also_change_ftp']} +

    +

    +   + {$lng['changepassword']['also_change_webalizer']} +

    +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/index/change_theme.tpl b/templates/Froxlor/customer/index/change_theme.tpl new file mode 100644 index 00000000..908a8f21 --- /dev/null +++ b/templates/Froxlor/customer/index/change_theme.tpl @@ -0,0 +1,29 @@ +$header +
    +
    +

    +   + {$lng['menue']['main']['changetheme']} +

    +
    + +
    +
    +
    + Froxlor - {$lng['menue']['main']['changetheme']} +

    +   + +

    +

    + + + + +

    +
    +
    +
    +
    +$footer + diff --git a/templates/Froxlor/customer/index/index.tpl b/templates/Froxlor/customer/index/index.tpl new file mode 100644 index 00000000..e55e31c4 --- /dev/null +++ b/templates/Froxlor/customer/index/index.tpl @@ -0,0 +1,122 @@ +$header +
    + + +
    +
    +
    {$lng['admin']['warning']}
    +

    {$awaitingtickets_text}
    +
    +
    +
    + +
    +

    {$lng['index']['accountdetails']}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['login']['username']}:{$userinfo['loginname']}
    {$lng['customer']['domains']}:$domains
    {$lng['customer']['subdomains']}:{$userinfo['subdomains_used']} ({$userinfo['subdomains']})
    {$lng['customer']['diskspace']}:{$userinfo['diskspace_used']} ({$userinfo['diskspace']})
    {$lng['customer']['traffic']} ($month):{$userinfo['traffic_used']} ({$userinfo['traffic']})
    {$lng['customer']['emails']}:{$userinfo['emails_used']} ({$userinfo['emails']})
    {$lng['customer']['accounts']}:{$userinfo['email_accounts_used']} ({$userinfo['email_accounts']})
    {$lng['customer']['forwarders']}:{$userinfo['email_forwarders_used']} ({$userinfo['email_forwarders']})
    {$lng['customer']['email_quota']} ({$lng['panel']['megabyte']}):{$userinfo['email_quota_used']} ({$userinfo['email_quota']})
    {$lng['customer']['autoresponder']}:{$userinfo['email_autoresponder_used']} ({$userinfo['email_autoresponder']})
    {$lng['customer']['mysqls']}:{$userinfo['mysqls_used']} ({$userinfo['mysqls']})
    {$lng['customer']['ftps']}:{$userinfo['ftps_used']} ({$userinfo['ftps']})
    {$lng['aps']['numberofapspackages']}:{$userinfo['aps_packages_used']} ({$userinfo['aps_packages']})
    {$lng['customer']['tickets']}:{$userinfo['tickets_used']} ({$userinfo['tickets']})
    +
    + +
    +

    {$lng['index']['customerdetails']}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['customer']['name']}:{$userinfo['firstname']} {$userinfo['name']}
    {$lng['customer']['company']}:{$userinfo['company']}
    {$lng['customer']['street']}:{$userinfo['street']}
    {$lng['customer']['zipcode']}/{$lng['customer']['city']}:{$userinfo['zipcode']} {$userinfo['city']}
    {$lng['customer']['email']}:{$userinfo['email']}
    {$lng['customer']['customernumber']}:{$userinfo['customernumber']}
    +
    + +
    +$footer + diff --git a/templates/Froxlor/customer/mysql/mysql.tpl b/templates/Froxlor/customer/mysql/mysql.tpl new file mode 100644 index 00000000..2cbfdfcd --- /dev/null +++ b/templates/Froxlor/customer/mysql/mysql.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['mysql']['mysql']}
    +
    {$lng['mysql']['description']}
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/mysql/mysqls.tpl b/templates/Froxlor/customer/mysql/mysqls.tpl new file mode 100644 index 00000000..765558e8 --- /dev/null +++ b/templates/Froxlor/customer/mysql/mysqls.tpl @@ -0,0 +1,63 @@ + $header +
    +
    +

    +   + {$lng['menue']['mysql']['databases']} ({$mysqls_count}) +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + + + + + + + + + + + + + + + + + + + + + + {$mysqls} + +
    {$lng['mysql']['databasename']} {$arrowcode['databasename']}{$lng['mysql']['databasedescription']} {$arrowcode['description']}{$lng['mysql']['mysql_server']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + +

    + +
    + + + + + +
    +
    +$footer + diff --git a/templates/Froxlor/customer/mysql/mysqls_add.tpl b/templates/Froxlor/customer/mysql/mysqls_add.tpl new file mode 100644 index 00000000..309882ce --- /dev/null +++ b/templates/Froxlor/customer/mysql/mysqls_add.tpl @@ -0,0 +1,50 @@ +$header +
    +
    +

    + {$lng['mysql']['database_create']}  + {$lng['mysql']['database_create']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['mysql']['database_create']} + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/mysql/mysqls_database.tpl b/templates/Froxlor/customer/mysql/mysqls_database.tpl new file mode 100644 index 00000000..f220f128 --- /dev/null +++ b/templates/Froxlor/customer/mysql/mysqls_database.tpl @@ -0,0 +1,17 @@ + + {$row['databasename']} + {$row['description']} + {$sql_root[$row['dbserver']]['caption']} + + + + {$lng['panel']['edit']} +   + + {$lng['panel']['delete']} + + + + {$lng['aps']['cannoteditordeleteapsdb']} + + diff --git a/templates/Froxlor/customer/mysql/mysqls_edit.tpl b/templates/Froxlor/customer/mysql/mysqls_edit.tpl new file mode 100644 index 00000000..2a93c9f5 --- /dev/null +++ b/templates/Froxlor/customer/mysql/mysqls_edit.tpl @@ -0,0 +1,50 @@ +$header +
    +
    +

    + {$lng['mysql']['database_edit']}  + {$lng['mysql']['database_edit']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['mysql']['database_edit']} + + + + + + + + + + + + + + + + + + + + + + + +
    {$lng['mysql']['databasename']}:{$result['databasename']}
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:{$sql_root[$result['dbserver']]['caption']}
    {$lng['changepassword']['new_password_ifnotempty']}:
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/ticket/ticket.tpl b/templates/Froxlor/customer/ticket/ticket.tpl new file mode 100644 index 00000000..4e50bb11 --- /dev/null +++ b/templates/Froxlor/customer/ticket/ticket.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['menue']['ticket']['ticket']}
    +
    {$lng['ticket']['description']}
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/ticket/tickets.tpl b/templates/Froxlor/customer/ticket/tickets.tpl new file mode 100644 index 00000000..b2ced8a7 --- /dev/null +++ b/templates/Froxlor/customer/ticket/tickets.tpl @@ -0,0 +1,81 @@ +$header +
    +
    +

    +   + {$lng['menue']['ticket']['ticket']} +

    +
    + +
    + +
    + +
    + {$searchcode} +
    + + +
    +
    {$lng['ticket']['supportstatus']}
    +
    {$lng['ticket']['supportavailable']}
    +
    +
    + +
    +
    {$lng['ticket']['supportstatus']}
    +
    {$lng['ticket']['supportnotavailable']}
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + {$tickets} + +
    {$lng['ticket']['lastchange']} {$arrowcode['lastchange']}{$lng['ticket']['ticket_answers']} {$arrowcode['ticket_answers']}{$lng['ticket']['subject']} {$arrowcode['subject']}{$lng['ticket']['status']} {$arrowcode['status']}{$lng['ticket']['lastreplier']} {$arrowcode['lastreplier']}{$lng['ticket']['priority']} {$arrowcode['priority']}{$lng['panel']['options']}
    {$pagingcode}
    + +

    + + + +

    + +
    + + + + + +
    + +
    +$footer + diff --git a/templates/customer/ticket/tickets_new.tpl b/templates/Froxlor/customer/ticket/tickets_new.tpl similarity index 100% rename from templates/customer/ticket/tickets_new.tpl rename to templates/Froxlor/customer/ticket/tickets_new.tpl diff --git a/templates/customer/ticket/tickets_reply.tpl b/templates/Froxlor/customer/ticket/tickets_reply.tpl similarity index 100% rename from templates/customer/ticket/tickets_reply.tpl rename to templates/Froxlor/customer/ticket/tickets_reply.tpl diff --git a/templates/Froxlor/customer/ticket/tickets_tickets.tpl b/templates/Froxlor/customer/ticket/tickets_tickets.tpl new file mode 100644 index 00000000..26330d4e --- /dev/null +++ b/templates/Froxlor/customer/ticket/tickets_tickets.tpl @@ -0,0 +1,29 @@ + + {$row['lastchange']} + {$row['ticket_answers']} + {$row['subject']} + {$row['status']} + {$row['lastreplier']} + {$row['priority']} + + + + {$lng['ticket']['show']} + + + {$lng['ticket']['answer']} + + + +   + {$lng['ticket']['close']} + + + +   + {$lng['ticket']['reopen']} + + + + + diff --git a/templates/customer/ticket/tickets_tickets_list.tpl b/templates/Froxlor/customer/ticket/tickets_tickets_list.tpl similarity index 100% rename from templates/customer/ticket/tickets_tickets_list.tpl rename to templates/Froxlor/customer/ticket/tickets_tickets_list.tpl diff --git a/templates/customer/ticket/tickets_tickets_main.tpl b/templates/Froxlor/customer/ticket/tickets_tickets_main.tpl similarity index 100% rename from templates/customer/ticket/tickets_tickets_main.tpl rename to templates/Froxlor/customer/ticket/tickets_tickets_main.tpl diff --git a/templates/Froxlor/customer/traffic/traffic.tpl b/templates/Froxlor/customer/traffic/traffic.tpl new file mode 100644 index 00000000..a7951c64 --- /dev/null +++ b/templates/Froxlor/customer/traffic/traffic.tpl @@ -0,0 +1,48 @@ +$header +
    +
    +

    + {$lng['menue']['traffic']['traffic']}  + {$lng['menue']['traffic']['traffic']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['menue']['traffic']['traffic']} + + + + + + + + + + + + +
    {$lng['traffic']['sumftp']} GB{$lng['traffic']['sumhttp']} GB{$lng['traffic']['summail']} GB
    {$traffic_complete['ftp']}
    {$traffic_complete['http']}
    {$traffic_complete['mail']}
    +

    + + + + + + + $traffic +
    {$lng['traffic']['month']}{$lng['traffic']['distribution']}{$lng['customer']['traffic']}
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/traffic/traffic_details.tpl b/templates/Froxlor/customer/traffic/traffic_details.tpl new file mode 100644 index 00000000..98e31f47 --- /dev/null +++ b/templates/Froxlor/customer/traffic/traffic_details.tpl @@ -0,0 +1,49 @@ +$header +
    +
    +

    + {$lng['menue']['traffic']['traffic']}  + {$lng['menue']['traffic']['traffic']} $show +

    +
    + +
    + +
    +
    + Froxlor - {$lng['menue']['traffic']['traffic']} $show + + + + + + + + + + + + +
    {$lng['traffic']['sumftp']} GB{$lng['traffic']['sumhttp']} GB{$lng['traffic']['summail']} GB
    {$traffic_complete['ftp']}
    {$traffic_complete['http']}
    {$traffic_complete['mail']}
    +

    + + + + + + + $traffic +
    {$lng['traffic']['day']}{$lng['traffic']['distribution']}{$lng['traffic']['mb']}
    + + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/traffic/traffic_month.tpl b/templates/Froxlor/customer/traffic/traffic_month.tpl new file mode 100644 index 00000000..cf23b172 --- /dev/null +++ b/templates/Froxlor/customer/traffic/traffic_month.tpl @@ -0,0 +1,6 @@ + + {$traf['day']}.   +

    + {$traf['byte']} + + diff --git a/templates/Froxlor/customer/traffic/traffic_traffic.tpl b/templates/Froxlor/customer/traffic/traffic_traffic.tpl new file mode 100644 index 00000000..7787c7d7 --- /dev/null +++ b/templates/Froxlor/customer/traffic/traffic_traffic.tpl @@ -0,0 +1,7 @@ + + + {$traf['monthname']} + + {$traf['ftptext']}
    {$traf['httptext']}
    {$traf['mailtext']} + {$traf['byte']} + diff --git a/templates/Froxlor/footer.tpl b/templates/Froxlor/footer.tpl new file mode 100644 index 00000000..60ffa9d5 --- /dev/null +++ b/templates/Froxlor/footer.tpl @@ -0,0 +1,16 @@ + +
    + Froxlor + + {$version}{$branding} + + © 2009-2010 by the Froxlor Team + + +
    {$lng['panel']['translator']}: {$lng['translator']} +
    +
    + and also The Game +
    + + diff --git a/templates/Froxlor/formfields/bool.tpl b/templates/Froxlor/formfields/bool.tpl new file mode 100644 index 00000000..13fce70b --- /dev/null +++ b/templates/Froxlor/formfields/bool.tpl @@ -0,0 +1,4 @@ + + {$label} + checked="checked" /> + diff --git a/templates/Froxlor/formfields/hidden.tpl b/templates/Froxlor/formfields/hidden.tpl new file mode 100644 index 00000000..90c4b931 --- /dev/null +++ b/templates/Froxlor/formfields/hidden.tpl @@ -0,0 +1,4 @@ + + {$label} + {$fielddata['value']} + diff --git a/templates/Froxlor/formfields/label.tpl b/templates/Froxlor/formfields/label.tpl new file mode 100644 index 00000000..c92a751b --- /dev/null +++ b/templates/Froxlor/formfields/label.tpl @@ -0,0 +1,3 @@ + + $label + diff --git a/templates/Froxlor/formfields/option.tpl b/templates/Froxlor/formfields/option.tpl new file mode 100644 index 00000000..26f4ae3d --- /dev/null +++ b/templates/Froxlor/formfields/option.tpl @@ -0,0 +1,4 @@ + + {$label} + + diff --git a/templates/Froxlor/formfields/string.tpl b/templates/Froxlor/formfields/string.tpl new file mode 100644 index 00000000..aa27675f --- /dev/null +++ b/templates/Froxlor/formfields/string.tpl @@ -0,0 +1,4 @@ + + {$label} + + diff --git a/templates/Froxlor/formfields/text.tpl b/templates/Froxlor/formfields/text.tpl new file mode 100644 index 00000000..68ba7396 --- /dev/null +++ b/templates/Froxlor/formfields/text.tpl @@ -0,0 +1,4 @@ + + {$label} + + diff --git a/templates/Froxlor/froxlor.css b/templates/Froxlor/froxlor.css new file mode 100644 index 00000000..cb7d2d05 --- /dev/null +++ b/templates/Froxlor/froxlor.css @@ -0,0 +1,687 @@ +@charset "UTF-8"; + +* { + font-family: Verdana, Verdana, Geneva, sans-serif; +} + +html,body { + font-size: 12px; +} + +/*Opera Fix*/ +body:before { + content: ""; + float: left; + width: 0; + margin-top: -32767px; +} + +body { + background-color: #eeeeee; + margin: 0; + padding: 0; +} + +article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { + display:block; +} + +.dark { + background: #dddddd; + border-bottom: 1px solid #999999; + -webkit-border-top-left-radius: 20px; + -moz-border-radius-topleft: 20px; + border-top-left-radius: 20px; +} + +header img { + padding: 5px 0 5px 10px; +} + +h1 { + display: none; +} + +h2 { + font-size: 140%; + /*margin-left: 14px;*/ + margin:0; + margin-bottom: 1em; + padding: 0; +} + +img { + border: 0; + vertical-align: middle; +} + +td a { + text-decoration: none; +} + +.bradius { + -webkit-border-top-left-radius: 20px; + -webkit-border-bottom-right-radius: 20px; + -moz-border-radius-topleft: 20px; + -moz-border-radius-bottomright: 20px; + border-top-left-radius: 20px; + border-bottom-right-radius: 20px; +} + +.bradiusodd { + -webkit-border-top-right-radius: 20px; + -webkit-border-bottom-left-radius: 20px; + -moz-border-radius-topright: 20px; + -moz-border-radius-bottomleft: 20px; + border-top-right-radius: 20px; + border-bottom-left-radius: 20px +} + +.topheader { + background: #cccccc url('/images/Froxlor/header_g.png') 0 bottom repeat-x; + padding-left: 5px; + padding-top: 2px; + margin-bottom: 12px; +} + +nav { + float: left; + width: 230px; + margin: 10px 20px 0 0; +} + +footer { + clear: both; + text-align: center; + color: #000000; + font-size: 11px; + margin-top: 10px; + margin-bottom: 10px; +} + +footer a,footer a:active,footer a:visited { + text-decoration: none; + color: #000000; +} + +footer a:hover { + text-decoration: underline; +} + +.login { + background-color: #fff; + margin-top: 9%; + margin-left: auto; + margin-right: auto; + margin-bottom: 12px; + width: 600px; + border: 1px solid #999999; +} + +.install { + background-color: #fff; + margin-top: 20px; + margin-left: auto; + margin-right: auto; + margin-bottom: 12px; + width: 800px; + border: 1px solid #999999; +} + +.fullform,.midform,.tinyform { + border: 1px solid #666; + background-color: #f8f8f8; +} + +.tinyform input { + width: 50%; +} + +.tinyform input[type="checkbox"] { + width: auto; +} + +.fullform,.midform,.installsec { + margin-top: 10px; + padding: 0; + text-align: left; +} + +.installsec table { + width: 100%; + padding: 0 10px 0 10px; + border-spacing: 4px; +} + +.installsec h2 { + margin-left: 15px; +} + +.installstatus { + width: 150px; +} + +.tinyform,.loginsec { + margin-top: 10px; + padding: 10px 0; + text-align: center; +} + +.fullform { + width: 90%; + margin: 0 auto; + text-align: left; +} + +.midform,.installsec form { + width: 600px; + margin: 0 auto; + text-align: left; +} + +.tinyform,.loginsec form { + width: 400px; + margin: 0 auto; + text-align: left; +} + +.installsec fieldset,.loginsec fieldset { + border: 0; + float: left; + clear: left; + width: 100%; + margin: 0 0 1.5em 0; + padding: 0; +} + +.fullform fieldset,.midform fieldset,.tinyform fieldset { + border: 0; + width: 100%; + margin: 0 0 1.5em 0; + padding: 0; +} + +.fullform legend,.installsec legend,.loginsec legend,.midform legend,.tinyform legend { + display: none; +} + +.fullform label { + float: left; + width: 26em; +/* margin-right: 1em; */ + margin-top: 6px; + text-align: right; +} + +.installsec label { + float: left; + width: 26em; + margin-right: 1em; + margin-top: 6px; + text-align: left; +} + +.midform label,.tinyform label,.loginsec label { + float: left; + width: 10em; + margin-right: 1em; + margin-top: 6px; + text-align: right; +} + +.fullform textarea,.midform textarea { + width: 60%; +} + +.loginsec input[type="text"],.loginsec input[type="password"] { + width: 183px; +} + +.tinyform select,.loginsec select { + width: 211px; +} + +.tinyform p.submit,.loginsec p.submit { + padding-right: 18px; +} + +p.submit { + text-align: right; + padding-right: 46px; +} + +.installsec aside,.loginsec aside { + border-top: 1px solid #999999; + clear: both; + float: none; + width: auto; + text-align: left; + padding-top: 10px; + padding-left: 10px; +} + +.messagewrapper { + width: 650px; + margin: 0 auto; + padding: 120px 0 0 0; + overflow: hidden; +} + +.messagewrapperfull { + width: 100%; + margin: 0 auto; + padding: 0; + overflow: hidden; +} + +.overviewsearch { + position: absolute; + top: 120px; + right: 20px; + font-size: 80%; +} + +.overviewadd { + padding: 10px; + font-weight: bold; +} + +/* + * error message display + */ +.errorcontainer { + background: url('/images/Froxlor/icons/bad.png') 10px center no-repeat #ffedef; + border: 1px solid #ffc2ca; + padding: 10px 10px 10px 68px !important; + margin: .75em !important; + text-align: left !important; + overflow: hidden; +} + +.errortitle { + font-weight: bold; + color: #c00 !important; +} + +.error { + font-weight: normal !important; + color: #c00 !important; +} + +/* + * warning message display + */ +.warningcontainer { + background: url('/images/Froxlor/icons/warning.png') 10px center no-repeat #fffecc; + border: 1px solid #f3c37e; + padding: 10px 10px 10px 68px !important; + margin: .75em !important; + text-align: left !important; + overflow: hidden; +} + +.warningtitle { + font-weight: bold; + color: #D57D00; +} + +.warning { + color: #D57D00 !important; +} + +/* + * success message display + */ +.successcontainer { + background: url('/images/Froxlor/icons/ok.png') 10px center no-repeat #E2F9E3; + border: 1px solid #9C9; + padding: 10px 10px 10px 68px !important; + margin: .75em !important; + text-align: left !important; + overflow: hidden; +} + +.successtitle { + font-weight: bold; + color: #060 !important; +} + +.success { + font-weight: normal !important; +} + +/* + * neutral/info message display + */ +.neutralcontainer { + background: url('/images/Froxlor/icons/info.png') 10px center no-repeat #d2eaf6; + border: 1px solid #b7d8ed; + padding: 10px 10px 10px 68px !important; + margin: .75em !important; + text-align: left !important; + overflow: hidden; +} + +.neutraltitle { + font-weight: bold; + color: #3188c1 !important; +} + +.neutral { + font-weight: normal !important; + color: #3188c1 !important; +} + +/* std hyperlink */ +a,a:active,a:visited { + color: #176fa1; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +.infotext { + font-size: 11px; +} + +/* navigation */ +.menuelement { + margin-top: 4px; + margin-right: 0; + margin-bottom: 8px; + margin-left: 12px; + padding: 4px 0 0 8px; + border: 1px solid #666666; + background-color: #fff; +} + +.menuelement h4 { + background: transparent url('/images/Froxlor/icons/tag_blue.png') no-repeat center left; + margin: 0; + padding: 0 0 0 20px; +} + +.menuelement ul { + list-style: none; + margin: 3px 0 8px 0; + padding: 0; +} + +.menuelement ul li { + margin: 0 0 3px 20px; + padding: 0; +} + +/* + * main container + */ +.main { /* same value as nav-width */ + margin-left: 240px; + margin-right: 15px; + margin-top: 26px; + margin-bottom: 0; + background-color: #fff; + padding: 10px; + border: 1px solid #666; + min-height: 600px; + background: -webkit-gradient(linear, left top, right top, color-stop(0.16, rgb(220,220,220)), color-stop(1, rgb(255,255,255))); + background: -moz-linear-gradient(left center, rgb(220,220,220) 16%, rgb(255,255,255) 100%); + /* For Internet Explorer 5.5 - 7 */ + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#dcdcdc, endColorStr=#ffffff, GradientType=1); + /* For Internet Explorer 8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#dcdcdc, endColorstr=#ffffff, GradientType=1)"; +} + +.noborder { + width: 100%; + border-spacing: 0; + background-color: #f8f8f8; + border-collapse:separate; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #666; +} + +.noborder td { + border: 0; +} + +table { + width: 100%; + border-spacing: 0; + background-color: #f8f8f8; + border-top: 0; + border-left: 1px solid #666; + border-bottom: 1px solid #666; + border-collapse:separate; +} + +table thead th { + color: #fff; + background-color: #176fa1; + border: 1px solid #176fa1; + -webkit-border-top-right-radius: 20px; + -webkit-border-bottom-left-radius: 20px; + -moz-border-radius-topright: 20px; + -moz-border-radius-bottomleft: 20px; + border-top-right-radius: 20px; + border-bottom-left-radius: 20px; +} + +table tbody td { + border-right: 1px solid #666; +} + +.formtable { + width: 100%; + border-spacing: 0; + background-color: #f8f8f8; + border: 0; + border-collapse:separate; + margin: 15px 0 0 0; +} + +.formtable tbody td { + border: 0; + border-bottom: 1px dotted #ccc; +} + +.formlabeltd { + width: 350px; +} + +.formtable label { + float: none; + display: block; + padding: 0; + margin: 0; + width: 100%; + text-align: left; +} + +.overviewcustomerextras,.overviewcustomerextras tbody td { + line-height: 11px; + font-size: 10px; + border: 0; +} + +td { + padding-top: 5px; + padding-left: 10px; + padding-bottom: 5px; +} + +table tfoot td { + border-right: 1px solid #666; +} + +.tfootleft { + text-align: left; +} + +.maintitle { + padding-top: 20px; +} + +/* input elements */ +input { + background: #dae7ee url('/images/Froxlor/icons/text_align_left.png') no-repeat 5px 4px; + padding: 2px 4px 2px 22px; + border: 1px solid #666666; + height: 22px; + -moz-border-radius: 5px; + -khtml-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +textarea { + background: #dae7ee url('/images/Froxlor/icons/text_align_left.png') no-repeat 5px 4px; + padding: 4px 4px 2px 22px; + border: 1px solid #666666; + -moz-border-radius: 5px; + -khtml-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +input[type="password"] { + background: #dae7ee url('/images/Froxlor/icons/password.png') no-repeat 4px 4px; +} + +input[type="button"],input[type="submit"],input[type="reset"] { + background: #ccc; + padding: 4px 10px; + margin: 0 30px 0 0; + height: 30px; + border: 1px solid #999999; + -moz-border-radius: 5px; + -khtml-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +input[type="submit"] { + color: green; + background: #ccc url('/images/Froxlor/icons/button_ok.png') no-repeat 4px 8px; + padding-left: 20px; +} + +input[class="nobutton"], +input[type="reset"] { + color: red; + background: #ccc url('/images/Froxlor/icons/cancel.png') no-repeat 4px 8px; + padding-left: 20px; +} + +select { + background: #dae7ee; + padding: 4px; + border: 1px solid #666666; +/* height: 30px;*/ + -moz-border-radius: 5px; + -khtml-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.customer_add { + margin-top: 15px; +} + +.dboarditem { + float: left; + width: 400px; + margin-top: 4px; + margin-right: 0; + margin-bottom: 8px; + margin-left: 12px; + padding: 4px 0 4px 8px; + border: 1px solid #666; + background-color: #f8f8f8; +} + +.dboarditemfull { +/* clear: both; */ + position:relative; + overflow:hidden; + top: 10px; + width: 96%; + margin-top: 4px; + margin-right: 0; + margin-bottom: 18px; + margin-left: 12px; + padding: 4px 0 4px 8px; + border: 1px solid #666; + background-color: #f8f8f8; +} + +.dboarditem table,.dboarditemfull table { + width: 95%; + border: 0; +} + +.dboarditem td,.dboarditemfull td { + border-right: 0; + border-bottom: 1px dotted #ccc; +} + +.cronjobtask { + list-style: url('/images/Froxlor/icons/clock.png') inside; + margin: 0; + padding: 0; +} + +.overviewheading { + vertical-align: top; + line-height: 36px; + height: 36px; +} + +.overviewheading h3 { + display: inline; +} + +/* SINGLE PROGRESS BAR */ +.progressBar { + width:216px; + height:21px; + position:relative; + top: -8px; +} + +.progressBar span { + position:absolute; + display:block; + width:200px; + height:15px; + background:url('/images/Froxlor/bar.gif') no-repeat 0 0; + top:8px; + left:8px; + overflow:hidden; + text-indent:-8000px; +} + +.progressBar span.redbar { + background:url('/images/Froxlor/barred.gif') no-repeat 0 0; +} + +.progressBar span.greybar { + background:url('/images/Froxlor/bargrey.gif') no-repeat 0 0; +} + +.progressBar em { + position:absolute; + display:block; + width:200px; + height:15px; + background:url('/images/Froxlor/bg_cover.gif') repeat-x 0 0; + top:0; +} + +.maintable { + width: 90%; +} diff --git a/templates/Froxlor/froxlor_ie.css b/templates/Froxlor/froxlor_ie.css new file mode 100644 index 00000000..f35de74b --- /dev/null +++ b/templates/Froxlor/froxlor_ie.css @@ -0,0 +1,18 @@ +@charset "UTF-8"; + +/* input elements */ +input { + padding: 4px 4px 0px 24px; +} + +input[type="submit"],input[class="nobutton"],input[type="reset"] { + padding-left: 24px; +} + +.midform input[type="file"] { + width: 90%; +} + +table thead th { + border-right: 1px solid #333; +} diff --git a/templates/Froxlor/header.tpl b/templates/Froxlor/header.tpl new file mode 100644 index 00000000..e6fde870 --- /dev/null +++ b/templates/Froxlor/header.tpl @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + <if isset($userinfo['loginname']) && $userinfo['loginname'] != ''>{$userinfo['loginname']} - </if>Froxlor Server Management Panel + + + + +
    +
    +

    Froxlor Server Management Panel

    +
    + Froxlor Server Management Panel +
    + + +
    + + +
    + +
    + diff --git a/templates/Froxlor/js/froxlor.js b/templates/Froxlor/js/froxlor.js new file mode 100644 index 00000000..1c229973 --- /dev/null +++ b/templates/Froxlor/js/froxlor.js @@ -0,0 +1,32 @@ +$(document).ready(function(){ + // make rel="external" links open in a new window + $("a[rel='external']").attr('target', '_blank'); + $(".main").css('min-height', $("nav").height() - 34); + $(".dboarditem:last").css('min-height', $(".dboarditem:first").height()); + + // set focus on username-field if on loginpage + if($(".loginpage").length != 0) { + $("#loginname").focus(); + } + + if($("table.formtable").length != 0) { + $("table.formtable tr").hover(function() { + $(this).css("background-color", "#fff"); + }, + function() { + $(this).css("background-color", "#f8f8f8"); + } + ); + } + + if($("table.aps").length != 0) { + $("table.aps tr").hover(function() { + $(this).css("background-color", "#fff"); + }, + function() { + $(this).css("background-color", "#f8f8f8"); + } + ); + } + +}); diff --git a/templates/Froxlor/js/jquery.min.js b/templates/Froxlor/js/jquery.min.js new file mode 100644 index 00000000..8f3ca2e2 --- /dev/null +++ b/templates/Froxlor/js/jquery.min.js @@ -0,0 +1,167 @@ +/*! + * jQuery JavaScript Library v1.4.4 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Nov 11 19:04:53 2010 -0500 + */ +(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h= +h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;kd)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, +"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, +e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, +"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ +a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, +C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, +s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, +j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, +toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== +-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; +if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", +b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& +!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& +l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H
    a";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), +k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, +scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= +false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= +1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="
    ";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="
    t
    ";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= +"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= +c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); +else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; +if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, +attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& +b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; +c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, +arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= +d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ +c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== +8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== +"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ +d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= +B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== +"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== +0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); +(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; +break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, +q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= +l;g.sort(w);if(h)for(var i=1;i0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, +m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== +true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== +g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return in[3]-0},nth:function(g,i,n){return n[3]- +0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== +i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; +if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, +g);else if(typeof g.length==="number")for(var p=g.length;n";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); +n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& +function(){var g=k,i=t.createElement("div");i.innerHTML="

    ";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| +p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= +t.createElement("div");g.innerHTML="
    ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? +function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n0)for(var h=d;h0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= +h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): +c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, +2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, +b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& +e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/\s]+\/)>/g,P={option:[1, +""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div
    ","
    "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; +else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", +prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]===""&&!x?r.childNodes:[];for(o=k.length- +1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); +d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, +jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, +zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), +h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); +if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= +d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; +e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/)<[^<]*)*<\/script>/gi, +ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== +"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("
    ").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& +!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, +getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", +script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| +!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= +false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; +A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", +b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& +c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| +c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= +encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", +[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), +e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); +if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", +3),a,b,d);else{d=0;for(var e=this.length;d=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, +d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* +Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} +var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; +this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| +this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= +c.timers,b=0;b-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, +e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& +c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); +c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ +b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); diff --git a/templates/Froxlor/login/fpwd.tpl b/templates/Froxlor/login/fpwd.tpl new file mode 100644 index 00000000..1764e47d --- /dev/null +++ b/templates/Froxlor/login/fpwd.tpl @@ -0,0 +1,37 @@ +$header + +$footer + diff --git a/templates/Froxlor/login/login.tpl b/templates/Froxlor/login/login.tpl new file mode 100644 index 00000000..1525f7a7 --- /dev/null +++ b/templates/Froxlor/login/login.tpl @@ -0,0 +1,59 @@ +$header + +$footer diff --git a/templates/Froxlor/misc/alreadyinstalledhint.tpl b/templates/Froxlor/misc/alreadyinstalledhint.tpl new file mode 100644 index 00000000..95f433e9 --- /dev/null +++ b/templates/Froxlor/misc/alreadyinstalledhint.tpl @@ -0,0 +1,38 @@ + + + + + + + + + + + Froxlor Server Management Panel - Installation + + +
    + +
    + + + + diff --git a/templates/Froxlor/misc/configurehint.tpl b/templates/Froxlor/misc/configurehint.tpl new file mode 100644 index 00000000..b9aee733 --- /dev/null +++ b/templates/Froxlor/misc/configurehint.tpl @@ -0,0 +1,38 @@ + + + + + + + + + + + Froxlor Server Management Panel - Installation + + +
    + +
    + + + + diff --git a/templates/Froxlor/misc/error.tpl b/templates/Froxlor/misc/error.tpl new file mode 100644 index 00000000..038b2d2d --- /dev/null +++ b/templates/Froxlor/misc/error.tpl @@ -0,0 +1,8 @@ +$header +
    +
    +
    {$lng['error']['error']}
    +
    $error
    +
    +
    +$footer diff --git a/templates/Froxlor/misc/form/input_text.tpl b/templates/Froxlor/misc/form/input_text.tpl new file mode 100644 index 00000000..2cd8b1d6 --- /dev/null +++ b/templates/Froxlor/misc/form/input_text.tpl @@ -0,0 +1 @@ +{$ulfield} diff --git a/templates/Froxlor/misc/form/input_textarea.tpl b/templates/Froxlor/misc/form/input_textarea.tpl new file mode 100644 index 00000000..c622fc6f --- /dev/null +++ b/templates/Froxlor/misc/form/input_textarea.tpl @@ -0,0 +1 @@ + diff --git a/templates/Froxlor/misc/form/table_row.tpl b/templates/Froxlor/misc/form/table_row.tpl new file mode 100644 index 00000000..9115adf2 --- /dev/null +++ b/templates/Froxlor/misc/form/table_row.tpl @@ -0,0 +1,12 @@ +
    + + + + + diff --git a/templates/Froxlor/misc/form/table_section.tpl b/templates/Froxlor/misc/form/table_section.tpl new file mode 100644 index 00000000..7340dbb0 --- /dev/null +++ b/templates/Froxlor/misc/form/table_section.tpl @@ -0,0 +1,9 @@ + + + + diff --git a/templates/Froxlor/misc/htmlarrowcode.tpl b/templates/Froxlor/misc/htmlarrowcode.tpl new file mode 100644 index 00000000..ff4d717f --- /dev/null +++ b/templates/Froxlor/misc/htmlarrowcode.tpl @@ -0,0 +1,6 @@ + + + + + + diff --git a/templates/Froxlor/misc/htmlsearchcode.tpl b/templates/Froxlor/misc/htmlsearchcode.tpl new file mode 100644 index 00000000..247a1bda --- /dev/null +++ b/templates/Froxlor/misc/htmlsearchcode.tpl @@ -0,0 +1,6 @@ +{$lng['panel']['search']}:  +  +  + diff --git a/templates/Froxlor/misc/htmlsortcode.tpl b/templates/Froxlor/misc/htmlsortcode.tpl new file mode 100644 index 00000000..99793519 --- /dev/null +++ b/templates/Froxlor/misc/htmlsortcode.tpl @@ -0,0 +1,7 @@ + +{$breakorws} +  diff --git a/templates/Froxlor/misc/question_yesno.tpl b/templates/Froxlor/misc/question_yesno.tpl new file mode 100644 index 00000000..7b33eee8 --- /dev/null +++ b/templates/Froxlor/misc/question_yesno.tpl @@ -0,0 +1,19 @@ +$header +
    +
    +
    +
    {$lng['question']['question']}
    +
    + $text +
    + + + {$hiddenparams} +   + +
    +
    +
    + +
    +$footer diff --git a/templates/Froxlor/misc/question_yesno_checkbox.tpl b/templates/Froxlor/misc/question_yesno_checkbox.tpl new file mode 100644 index 00000000..02ad6c77 --- /dev/null +++ b/templates/Froxlor/misc/question_yesno_checkbox.tpl @@ -0,0 +1,20 @@ +$header +
    +
    +
    +
    {$lng['question']['question']}
    +
    + $text +
    $checkbox
    +
    + + + {$hiddenparams} +   + +
    +
    +
    + +
    +$footer diff --git a/templates/Froxlor/misc/success.tpl b/templates/Froxlor/misc/success.tpl new file mode 100644 index 00000000..d5fd4d46 --- /dev/null +++ b/templates/Froxlor/misc/success.tpl @@ -0,0 +1,13 @@ +$header +
    +
    +
    {$lng['success']['success']}
    +
    + $success_message + +

    {$lng['success']['clickheretocontinue']} +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/navigation_element.tpl b/templates/Froxlor/navigation_element.tpl new file mode 100644 index 00000000..d3159452 --- /dev/null +++ b/templates/Froxlor/navigation_element.tpl @@ -0,0 +1,6 @@ + diff --git a/templates/Froxlor/navigation_link.tpl b/templates/Froxlor/navigation_link.tpl new file mode 100644 index 00000000..7053cc71 --- /dev/null +++ b/templates/Froxlor/navigation_link.tpl @@ -0,0 +1 @@ +
  • {$completeLink}
  • diff --git a/templates/admin/admins/admins_add.tpl b/templates/admin/admins/admins_add.tpl deleted file mode 100644 index 11576a81..00000000 --- a/templates/admin/admins/admins_add.tpl +++ /dev/null @@ -1,147 +0,0 @@ -$header - - - - - -
    + {$data_field} +
    + {$title} {$title} + + + +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['admin_add']}
    -  {$lng['admin']['accountdata']} - - -
    {$lng['login']['username']}: *
    {$lng['login']['password']}: *
    {$lng['login']['language']}:
    -  {$lng['admin']['contactdata']} - - -
    {$lng['customer']['name']}: **
    {$lng['customer']['email']}: *
    -  {$lng['admin']['servicedata']} - - -
    {$lng['serversettings']['ipaddress']['title']}:
    {$lng['admin']['change_serversettings']}$change_serversettings
    {$lng['admin']['customers']}: * {$customers_ul}
    {$lng['admin']['customers_see_all']}$customers_see_all
    {$lng['admin']['domains']}: * {$domains_ul}
    {$lng['admin']['domains_see_all']}$domains_see_all
    {$lng['admin']['caneditphpsettings']}$caneditphpsettings
    {$lng['customer']['diskspace']}: * {$diskspace_ul}
    {$lng['customer']['traffic']}: * {$traffic_ul}
    {$lng['customer']['subdomains']}: * {$subdomains_ul}
    {$lng['customer']['emails']}: * {$emails_ul}
    {$lng['customer']['accounts']}: * {$email_accounts_ul}
    {$lng['customer']['forwarders']}: * {$email_forwarders_ul}
    {$lng['customer']['email_quota']}: * {$email_quota_ul}
    {$lng['customer']['autoresponder']}: {$email_autoresponder_ul}
    {$lng['customer']['ftps']}: * {$ftps_ul}
    {$lng['customer']['tickets']}: * {$tickets_ul}
    {$lng['customer']['mysqls']}: * {$mysqls_ul}
    {$lng['aps']['canmanagepackages']}:$can_manage_aps_packages
    {$lng['aps']['numberofapspackages']}: {$number_of_aps_packages_ul}
    - -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/admins/admins_edit.tpl b/templates/admin/admins/admins_edit.tpl deleted file mode 100644 index 5cc8d3ad..00000000 --- a/templates/admin/admins/admins_edit.tpl +++ /dev/null @@ -1,174 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['admin_edit']}
    -  {$lng['admin']['accountdata']} - - -
    {$lng['login']['username']}:{$result['loginname']}
    {$lng['error']['youcanteditallfieldsofyourself']}
    {$lng['admin']['deactivated_user']}?$deactivated
    {$lng['login']['password']} ({$lng['panel']['emptyfornochanges']}):
    {$lng['login']['language']}:
    -  {$lng['admin']['contactdata']} - - -
    {$lng['customer']['name']}: **
    {$lng['customer']['email']}: *
    {$lng['error']['youcanteditallfieldsofyourself']}
    -  {$lng['admin']['servicedata']} - - -
    {$lng['serversettings']['ipaddress']['title']}:
    {$lng['admin']['change_serversettings']}$change_serversettings
    {$lng['admin']['customers']}: * {$customers_ul}
    {$lng['admin']['customers_see_all']}$customers_see_all
    {$lng['admin']['domains']}: * {$domains_ul}
    {$lng['admin']['domains_see_all']}$domains_see_all
    {$lng['admin']['caneditphpsettings']}$caneditphpsettings
    {$lng['customer']['diskspace']}: * {$diskspace_ul}
    {$lng['customer']['traffic']}: * {$traffic_ul}
    {$lng['customer']['subdomains']}: * {$subdomains_ul}
    {$lng['customer']['emails']}: * {$emails_ul}
    {$lng['customer']['accounts']}: * {$email_accounts_ul}
    {$lng['customer']['forwarders']}: * {$email_forwarders_ul}
    {$lng['customer']['email_quota']}: * {$email_quota_ul}
    {$lng['customer']['autoresponder']}: {$email_autoresponder_ul}
    {$lng['customer']['ftps']}: * {$ftps_ul}
    {$lng['customer']['tickets']}: * {$tickets_ul}
    {$lng['customer']['mysqls']}: * {$mysqls_ul}
    {$lng['aps']['canmanagepackages']}:$can_manage_aps_packages
    {$lng['aps']['numberofapspackages']}: {$number_of_aps_packages_ul}
    -
    -
    - - - - - - - -
    *: {$lng['admin']['valuemandatory']}
    **: {$lng['admin']['valuemandatorycompany']}
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/configfiles/choose.tpl b/templates/admin/configfiles/choose.tpl deleted file mode 100644 index 73ea2539..00000000 --- a/templates/admin/configfiles/choose.tpl +++ /dev/null @@ -1,10 +0,0 @@ -$header - - - - - $distributions -
     {$lng['admin']['configfiles']['serverconfiguration']} [{$lng['admin']['configfiles']['wizard']}]
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/configfiles/configfiles.tpl b/templates/admin/configfiles/configfiles.tpl deleted file mode 100644 index 33e25a8f..00000000 --- a/templates/admin/configfiles/configfiles.tpl +++ /dev/null @@ -1,15 +0,0 @@ -$header - - - - - {$configpage} - - - - - -
     {$configfiles[$distribution]['label']} » {$configfiles[$distribution]['services'][$service]['label']} » {$configfiles[$distribution]['services'][$service]['daemons'][$daemon]['label']} [{$lng['panel']['back']}]
    {$lng['admin']['configfiles']['restart']}

    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/cronjobs/cronjob_edit.tpl b/templates/admin/cronjobs/cronjob_edit.tpl deleted file mode 100644 index be9e9d1a..00000000 --- a/templates/admin/cronjobs/cronjob_edit.tpl +++ /dev/null @@ -1,48 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['cronjob_edit']}
    -  {$lng['cronjob']['cronjobsettings']} - - -
    Cronjob:{$result['cronfile']}
    {$lng['admin']['activated']}:{$isactive}
    {$lng['cronjob']['cronjobinterval']}: -   - -
    - -
    -
    -
    -
    -$footer diff --git a/templates/admin/customers/customers_add.tpl b/templates/admin/customers/customers_add.tpl deleted file mode 100644 index 9bad6a09..00000000 --- a/templates/admin/customers/customers_add.tpl +++ /dev/null @@ -1,189 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['customer_add']}
    -  {$lng['admin']['accountdata']} - - -
    {$lng['login']['username']}:
    {$lng['admin']['stdsubdomain_add']}?$createstdsubdomain
    {$lng['admin']['store_defaultindex']}?$store_defaultindex
    {$lng['login']['password']}:
    {$lng['admin']['sendpassword']}?$sendpassword
    {$lng['login']['language']}:
    -  {$lng['admin']['contactdata']} - - -
    {$lng['customer']['name']}: **
    {$lng['customer']['firstname']}: **
    {$lng['customer']['company']}: **
    {$lng['customer']['street']}:
    {$lng['customer']['zipcode']}:
    {$lng['customer']['city']}:
    {$lng['customer']['phone']}:
    {$lng['customer']['fax']}:
    {$lng['customer']['email']}: *
    {$lng['customer']['customernumber']}:
    -  {$lng['admin']['servicedata']} - - -
    {$lng['customer']['diskspace']}: * {$diskspace_ul}
    {$lng['customer']['traffic']}: * {$traffic_ul}
    {$lng['customer']['subdomains']}: * {$subdomains_ul}
    {$lng['customer']['emails']}: * {$emails_ul}
    {$lng['customer']['accounts']}: * {$email_accounts_ul}
    {$lng['customer']['forwarders']}: * {$email_forwarders_ul}
    {$lng['customer']['email_quota']}: * {$email_quota_ul}
    {$lng['customer']['autoresponder']}: {$email_autoresponder_ul}
    {$lng['customer']['email_imap']}: *$email_imap
    {$lng['customer']['email_pop3']}: *$email_pop3
    {$lng['customer']['ftps']}: * {$ftps_ul}
    {$lng['customer']['tickets']}: * {$tickets_ul}
    {$lng['customer']['mysqls']}: * {$mysqls_ul}
    {$lng['admin']['phpenabled']}?$phpenabled
    {$lng['admin']['perlenabled']}?$perlenabled
    {$lng['aps']['numberofapspackages']}: {$number_of_aps_packages_ul}
    - -
    -
    -
    - - - - - - - -
    *: {$lng['admin']['valuemandatory']}
    **: {$lng['admin']['valuemandatorycompany']}
    -
    -
    -$footer diff --git a/templates/admin/customers/customers_edit.tpl b/templates/admin/customers/customers_edit.tpl deleted file mode 100644 index 92e857ce..00000000 --- a/templates/admin/customers/customers_edit.tpl +++ /dev/null @@ -1,190 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['customer_edit']}
    -  {$lng['admin']['accountdata']} - - -
    {$lng['login']['username']}:{$result['loginname']}
    {$lng['customer']['documentroot']}:{$result['documentroot']}
    {$lng['admin']['stdsubdomain_add']}?
    ({$result['loginname']}.{$settings['system']['hostname']})
    $createstdsubdomain
    {$lng['admin']['deactivated_user']}?$deactivated
    {$lng['login']['password']} ({$lng['panel']['emptyfornochanges']}):
    {$lng['login']['language']}:
    -  {$lng['admin']['contactdata']} - - -
    {$lng['customer']['name']}: **
    {$lng['customer']['firstname']}: **
    {$lng['customer']['company']}: **
    {$lng['customer']['street']}:
    {$lng['customer']['zipcode']}:
    {$lng['customer']['city']}:
    {$lng['customer']['phone']}:
    {$lng['customer']['fax']}:
    {$lng['customer']['email']}: *
    {$lng['customer']['customernumber']}:
    -  {$lng['admin']['servicedata']} - - -
    {$lng['customer']['diskspace']}: * {$diskspace_ul}
    {$lng['customer']['traffic']}: * {$traffic_ul}
    {$lng['customer']['subdomains']}: * {$subdomains_ul}
    {$lng['customer']['emails']}: * {$emails_ul}
    {$lng['customer']['accounts']}: * {$email_accounts_ul}
    {$lng['customer']['forwarders']}: * {$email_forwarders_ul}
    {$lng['customer']['email_quota']} ({$lng['panel']['megabyte']}): * {$email_quota_ul}
    {$lng['customer']['autoresponder']}: {$email_autoresponder_ul}
    {$lng['customer']['email_imap']}: *$email_imap
    {$lng['customer']['email_pop3']}: *$email_pop3
    {$lng['customer']['ftps']}: * {$ftps_ul}
    {$lng['customer']['tickets']}: * {$tickets_ul}
    {$lng['customer']['mysqls']}: * {$mysqls_ul}
    {$lng['admin']['phpenabled']}?$phpenabled
    {$lng['admin']['perlenabled']}?$perlenabled
    {$lng['aps']['numberofapspackages']}: {$number_of_aps_packages_ul}
    - -
    -
    -
    - - - - - - - -
    *: {$lng['admin']['valuemandatory']}
    **: {$lng['admin']['valuemandatorycompany']}
    -
    -
    -$footer diff --git a/templates/admin/domains/domains_add.tpl b/templates/admin/domains/domains_add.tpl deleted file mode 100644 index 6ef06d73..00000000 --- a/templates/admin/domains/domains_add.tpl +++ /dev/null @@ -1,190 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['domain_add']}
    -  {$lng['domains']['domainsettings']} - - -
    Domain:
    {$lng['admin']['customer']}:
    {$lng['admin']['admin']}:
    {$lng['domains']['aliasdomain']}:
    {$lng['domains']['issubof']}:
    {$lng['domains']['issubofinfo']}
    {$lng['admin']['domain_edit']}:$caneditdomain
    {$lng['domains']['add_date']}: ({$lng['panel']['dateformat']}){$add_date}
    {$lng['domains']['registration_date']}: ({$lng['panel']['dateformat']})
    -  {$lng['admin']['webserversettings']} - - -
    DocumentRoot:
    ({$lng['panel']['emptyfordefault']})
    IP/Port:
    SSL:$ssl
    SSL Redirect:$ssl_redirect
    SSL IP/Port:
    {$lng['panel']['nosslipsavailable']}
    {$lng['admin']['wwwserveralias']}:$wwwserveralias
    Speciallogfile:$speciallogfile
    {$lng['admin']['ownvhostsettings']}:
    {$lng['serversettings']['default_vhostconf']['description']}
    -  {$lng['admin']['phpserversettings']} - - -
    OpenBasedir:$openbasedir
    Safemode:$safemode
    {$lng['admin']['phpsettings']['title']}
    {$lng['admin']['mod_fcgid_starter']['title']}
    {$lng['admin']['mod_fcgid_maxrequests']['title']}
    -  {$lng['admin']['nameserversettings']} - - -
    Nameserver:$isbinddomain
    Zonefile:
    ({$lng['panel']['emptyfordefault']})
    -  {$lng['admin']['mailserversettings']} - - -
    {$lng['admin']['emaildomain']}:$isemaildomain
    {$lng['admin']['email_only']}:$email_only
    {$lng['admin']['subdomainforemail']}:
    DomainKeys:$dkim
    - -
    -
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/domains/domains_edit.tpl b/templates/admin/domains/domains_edit.tpl deleted file mode 100644 index 7486830f..00000000 --- a/templates/admin/domains/domains_edit.tpl +++ /dev/null @@ -1,201 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['domain_edit']}
    -  {$lng['domains']['domainsettings']} - - -
    Domain:{$result['domain']}
    {$lng['admin']['customer']}:{$result['customername']}
    {$lng['admin']['admin']}:{$result['adminname']}
    {$lng['domains']['aliasdomain']}:
    {$lng['domains']['issubof']}:
    {$lng['domains']['issubofinfo']}
    {$lng['domains']['associated_with_domain']}:{$subdomains} {$lng['customer']['subdomains']}, {$alias_check} {$lng['domains']['aliasdomains']}, {$emails} {$lng['customer']['emails']}, {$email_accounts} {$lng['customer']['accounts']}, {$email_forwarders} {$lng['customer']['forwarders']}
    {$lng['admin']['domain_edit']}:$caneditdomain
    {$lng['domains']['add_date']}: ({$lng['panel']['dateformat']}){$result['add_date']}
    {$lng['domains']['registration_date']}: ({$lng['panel']['dateformat']})
    -  {$lng['admin']['webserversettings']} - - -
    DocumentRoot:
    ({$lng['panel']['emptyfordefault']})
    IP/Port:
    SSL:$ssl
    SSL Redirect:$ssl_redirect
    SSL IP/Port:
    {$lng['panel']['nosslipsavailable']}
    {$lng['admin']['wwwserveralias']}:$wwwserveralias
    Speciallogfile:$speciallogfile
    {$lng['admin']['ownvhostsettings']}:
    {$lng['serversettings']['default_vhostconf']['description']}
    {$lng['admin']['specialsettingsforsubdomains']}:
    {$lng['serversettings']['specialsettingsforsubdomains']['description']}
    {$specialsettingsforsubdomains}
    -  {$lng['admin']['phpserversettings']} - - -
    OpenBasedir:$openbasedir
    Safemode:$safemode
    {$lng['admin']['phpsettings']['title']}
    {$lng['admin']['mod_fcgid_starter']['title']}
    {$lng['admin']['mod_fcgid_maxrequests']['title']}
    -  {$lng['admin']['nameserversettings']} - - -
    Nameserver:$isbinddomain
    Zonefile:
    ({$lng['panel']['emptyfordefault']})
    -  {$lng['admin']['mailserversettings']} - - -
    {$lng['admin']['emaildomain']}:$isemaildomain
    {$lng['admin']['email_only']}:$email_only
    {$lng['admin']['subdomainforemail']}:
    DomainKeys:$dkim
    - -
    -
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/ipsandports/ipsandports_add.tpl b/templates/admin/ipsandports/ipsandports_add.tpl deleted file mode 100644 index 49d83f5b..00000000 --- a/templates/admin/ipsandports/ipsandports_add.tpl +++ /dev/null @@ -1,117 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['ipsandports']['add']}
    -  {$lng['admin']['ipsandports']['ipandport']} - - -
    {$lng['admin']['ipsandports']['ip']}:
    {$lng['admin']['ipsandports']['port']}:
    -  {$lng['admin']['ipsandports']['webserverdefaultconfig']} - - -
    {$lng['admin']['ipsandports']['create_listen_statement']}:$listen_statement
    {$lng['admin']['ipsandports']['create_namevirtualhost_statement']}: -
    {$lng['panel']['not_supported']}lighttpd
    -
    $namevirtualhost_statement
    {$lng['admin']['ipsandports']['create_vhostcontainer']}: -
    {$lng['panel']['not_supported']}lighttpd
    -
    $vhostcontainer
    {$lng['admin']['ipsandports']['docroot']['title']}:
    {$lng['admin']['ipsandports']['docroot']['description']}
    {$lng['admin']['ownvhostsettings']}:
    {$lng['serversettings']['default_vhostconf']['description']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['admin']['ipsandports']['create_vhostcontainer_servername_statement']}: -
    {$lng['panel']['not_supported']}lighttpd
    -
    $vhostcontainer_servername_statement
    -  {$lng['admin']['ipsandports']['webserverdomainconfig']} - - -
    {$lng['admin']['ipsandports']['default_vhostconf_domain']}:
    {$lng['serversettings']['default_vhostconf']['description']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    -  {$lng['admin']['ipsandports']['webserverssldomainconfig']} - - -
    {$lng['admin']['ipsandports']['enable_ssl']}$enable_ssl
    {$lng['admin']['ipsandports']['ssl_cert_file']}:
    {$lng['admin']['ipsandports']['ssl_key_file']}:
    {$lng['admin']['ipsandports']['ssl_ca_file']}:
    {$lng['admin']['ipsandports']['ssl_cert_chainfile']}:
    -
    -
    -
    -$footer diff --git a/templates/admin/ipsandports/ipsandports_edit.tpl b/templates/admin/ipsandports/ipsandports_edit.tpl deleted file mode 100644 index 3566fbdf..00000000 --- a/templates/admin/ipsandports/ipsandports_edit.tpl +++ /dev/null @@ -1,114 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['admin']['ipsandports']['edit']}
    -  {$lng['admin']['ipsandports']['ipandport']} - - -
    {$lng['admin']['ipsandports']['ip']}:
    {$lng['admin']['ipsandports']['port']}:
    -  {$lng['admin']['ipsandports']['webserverdefaultconfig']} - - -
    {$lng['admin']['ipsandports']['create_listen_statement']}:$listen_statement
    {$lng['admin']['ipsandports']['create_namevirtualhost_statement']}: -
    {$lng['panel']['not_supported']}lighttpd
    -
    $namevirtualhost_statement
    {$lng['admin']['ipsandports']['create_vhostcontainer']}:$vhostcontainer
    {$lng['admin']['ipsandports']['docroot']['title']}:
    {$lng['admin']['ipsandports']['docroot']['description']}
    {$lng['admin']['ownvhostsettings']}:
    {$lng['serversettings']['default_vhostconf']['description']}
    {$lng['admin']['ipsandports']['create_vhostcontainer_servername_statement']}: -
    {$lng['panel']['not_supported']}lighttpd
    -
    $vhostcontainer_servername_statement
    -  {$lng['admin']['ipsandports']['webserverdomainconfig']} - - -
    {$lng['admin']['ipsandports']['default_vhostconf_domain']}:
    {$lng['serversettings']['default_vhostconf']['description']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    -  {$lng['admin']['ipsandports']['webserverssldomainconfig']} - - -
    {$lng['admin']['ipsandports']['enable_ssl']}$enable_ssl
    {$lng['admin']['ipsandports']['ssl_cert_file']}:
    {$lng['admin']['ipsandports']['ssl_key_file']}:
    {$lng['admin']['ipsandports']['ssl_ca_file']}:
    {$lng['admin']['ipsandports']['ssl_cert_chainfile']}:
    -
    -
    -
    -$footer diff --git a/templates/admin/ticket/tickets_editcategory.tpl b/templates/admin/ticket/tickets_editcategory.tpl deleted file mode 100644 index 5b4c125e..00000000 --- a/templates/admin/ticket/tickets_editcategory.tpl +++ /dev/null @@ -1,26 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - - -
     {$lng['ticket']['ticket_editcateory']}
    {$lng['ticket']['category']}:
    {$lng['ticket']['logicalorder']}:
    {$lng['ticket']['orderdesc']}
    -
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/admin/ticket/tickets_newcategory.tpl b/templates/admin/ticket/tickets_newcategory.tpl deleted file mode 100644 index 80020677..00000000 --- a/templates/admin/ticket/tickets_newcategory.tpl +++ /dev/null @@ -1,25 +0,0 @@ -$header -
    - - - - - - - - - - - - - - - - - - -
     {$lng['ticket']['ticket_newcateory']}
    {$lng['ticket']['category']}:
    {$lng['ticket']['logicalorder']}:
    {$lng['ticket']['orderdesc']}
    -
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/customer/traffic/traffic_month.tpl b/templates/customer/traffic/traffic_month.tpl deleted file mode 100644 index 7e732967..00000000 --- a/templates/customer/traffic/traffic_month.tpl +++ /dev/null @@ -1,5 +0,0 @@ - - {$traf['day']}.   -

    - {$traf['byte']} - diff --git a/templates/customer/traffic/traffic_traffic.tpl b/templates/customer/traffic/traffic_traffic.tpl deleted file mode 100644 index f354eb62..00000000 --- a/templates/customer/traffic/traffic_traffic.tpl +++ /dev/null @@ -1,7 +0,0 @@ - - - {$traf['monthname']} - - {$traf['ftptext']}
    {$traf['httptext']}
    {$traf['mailtext']} - {$traf['byte']} - diff --git a/templates/misc/error.tpl b/templates/misc/error.tpl deleted file mode 100644 index a8714263..00000000 --- a/templates/misc/error.tpl +++ /dev/null @@ -1,13 +0,0 @@ -$header - - - - - - - - -
      {$lng['error']['error']}
    $error
    -
    -
    -$footer \ No newline at end of file diff --git a/templates/navigation_link.tpl b/templates/navigation_link.tpl deleted file mode 100644 index b6e95f50..00000000 --- a/templates/navigation_link.tpl +++ /dev/null @@ -1,2 +0,0 @@ -   {$completeLink} -
    \ No newline at end of file From 57d52bd59e77666441f8284d1c633bf2ff82c29a Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 10:34:14 +0100 Subject: [PATCH 02/48] merge/add new formfield-files for re-design Signed-off-by: Michael Kaufmann (d00p) --- .../admin/admin/formfield.admin_add.php | 211 +++++++++++++++ .../admin/admin/formfield.admin_edit.php | 221 ++++++++++++++++ .../cronjobs/formfield.cronjobs_edit.php | 51 ++++ .../admin/customer/formfield.customer_add.php | 233 +++++++++++++++++ .../customer/formfield.customer_edit.php | 244 ++++++++++++++++++ .../admin/domains/formfield.domains_add.php | 211 +++++++++++++++ .../admin/domains/formfield.domains_edit.php | 233 +++++++++++++++++ .../ipsandports/formfield.ipsandports_add.php | 121 +++++++++ .../formfield.ipsandports_edit.php | 130 ++++++++++ .../phpconfig/formfield.phpconfig_add.php | 65 +++++ .../phpconfig/formfield.phpconfig_edit.php | 68 +++++ .../templates/formfield.filetemplate_add.php | 42 +++ .../templates/formfield.filetemplate_edit.php | 44 ++++ .../templates/formfield.template_add.php | 52 ++++ .../templates/formfield.template_edit.php | 55 ++++ .../admin/ticket/formfield.category_edit.php | 44 ++++ .../admin/ticket/formfield.category_new.php | 43 +++ .../admin/ticket/formfield.ticket_new.php | 58 +++++ .../admin/ticket/formfield.ticket_reply.php | 54 ++++ 19 files changed, 2180 insertions(+) create mode 100644 lib/formfields/admin/admin/formfield.admin_add.php create mode 100644 lib/formfields/admin/admin/formfield.admin_edit.php create mode 100644 lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php create mode 100644 lib/formfields/admin/customer/formfield.customer_add.php create mode 100644 lib/formfields/admin/customer/formfield.customer_edit.php create mode 100644 lib/formfields/admin/domains/formfield.domains_add.php create mode 100644 lib/formfields/admin/domains/formfield.domains_edit.php create mode 100644 lib/formfields/admin/ipsandports/formfield.ipsandports_add.php create mode 100644 lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php create mode 100644 lib/formfields/admin/phpconfig/formfield.phpconfig_add.php create mode 100644 lib/formfields/admin/phpconfig/formfield.phpconfig_edit.php create mode 100644 lib/formfields/admin/templates/formfield.filetemplate_add.php create mode 100644 lib/formfields/admin/templates/formfield.filetemplate_edit.php create mode 100644 lib/formfields/admin/templates/formfield.template_add.php create mode 100644 lib/formfields/admin/templates/formfield.template_edit.php create mode 100644 lib/formfields/admin/ticket/formfield.category_edit.php create mode 100644 lib/formfields/admin/ticket/formfield.category_new.php create mode 100644 lib/formfields/admin/ticket/formfield.ticket_new.php create mode 100644 lib/formfields/admin/ticket/formfield.ticket_reply.php diff --git a/lib/formfields/admin/admin/formfield.admin_add.php b/lib/formfields/admin/admin/formfield.admin_add.php new file mode 100644 index 00000000..70ca9851 --- /dev/null +++ b/lib/formfields/admin/admin/formfield.admin_add.php @@ -0,0 +1,211 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.admin_add.php 104 2010-12-08 07:23:22Z d00p $ + */ + +return array( + 'admin_add' => array( + 'title' => $lng['admin']['admin_add'], + 'image' => 'icons/add_user.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['accountdata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'loginname' => array( + 'label' => $lng['login']['username'], + 'type' => 'text', + 'mandatory' => true + ), + 'admin_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password', + 'mandatory' => true + ), + 'def_language' => array( + 'label' => $lng['login']['language'], + 'type' => 'select', + 'select_var' => $language_options + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['contactdata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'name' => array( + 'label' => $lng['customer']['name'], + 'type' => 'text', + 'mandatory' => true + ), + 'email' => array( + 'label' => $lng['customer']['email'], + 'type' => 'text', + 'mandatory' => true + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['servicedata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'ipaddress' => array( + 'label' => $lng['serversettings']['ipaddress']['title'], + 'type' => 'select', + 'select_var' => $ipaddress + ), + 'change_serversettings' => array( + 'label' => $lng['admin']['change_serversettings'], + 'type' => 'yesno', + 'yesno_var' => $change_serversettings, + ), + 'customers' => array( + 'label' => $lng['admin']['customers'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $customers_ul + ), + 'customers_see_all' => array( + 'label' => $lng['admin']['customers_see_all'], + 'type' => 'yesno', + 'yesno_var' => $customers_see_all, + ), + 'domains' => array( + 'label' => $lng['admin']['domains'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $domains_ul + ), + 'domains_see_all' => array( + 'label' => $lng['admin']['domains_see_all'], + 'type' => 'yesno', + 'yesno_var' => $domains_see_all, + ), + 'caneditphpsettings' => array( + 'label' => $lng['admin']['caneditphpsettings'], + 'type' => 'yesno', + 'yesno_var' => $caneditphpsettings, + ), + 'diskspace' => array( + 'label' => $lng['customer']['diskspace'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 6, + 'mandatory' => true, + 'ul_field' => $diskspace_ul + ), + 'traffic' => array( + 'label' => $lng['customer']['traffic'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 4, + 'mandatory' => true, + 'ul_field' => $traffic_ul + ), + 'subdomains' => array( + 'label' => $lng['customer']['subdomains'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $subdomains_ul + ), + 'emails' => array( + 'label' => $lng['customer']['emails'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $emails_ul + ), + 'email_accounts' => array( + 'label' => $lng['customer']['accounts'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_accounts_ul + ), + 'email_forwarders' => array( + 'label' => $lng['customer']['forwarders'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_forwarders_ul + ), + 'email_quota' => array( + 'label' => $lng['customer']['email_quota'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['system']['mail_quota_enabled'], + 'mandatory' => true, + 'ul_field' => $email_quota_ul + ), + 'email_autoresponder' => array( + 'label' => $lng['customer']['autoresponder'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['autoresponder']['autoresponder_active'], + 'ul_field' => $email_autoresponder_ul + ), + 'ftps' => array( + 'label' => $lng['customer']['ftps'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'ul_field' => $ftps_ul + ), + 'tickets' => array( + 'label' => $lng['customer']['tickets'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['ticket']['enabled'], + 'ul_field' => $tickets_ul + ), + 'mysqls' => array( + 'label' => $lng['customer']['mysqls'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $mysqls_ul + ), + 'can_manage_aps_packages' => array( + 'label' => $lng['aps']['canmanagepackages'], + 'type' => 'yesno', + 'yesno_var' => $can_manage_aps_packages, + 'visible' => $settings['aps']['aps_active'] + ), + 'number_of_aps_packages' => array( + 'label' => $lng['aps']['numberofapspackages'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['aps']['aps_active'], + 'ul_field' => $number_of_aps_packages_ul + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/admin/formfield.admin_edit.php b/lib/formfields/admin/admin/formfield.admin_edit.php new file mode 100644 index 00000000..012077d1 --- /dev/null +++ b/lib/formfields/admin/admin/formfield.admin_edit.php @@ -0,0 +1,221 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.admin_edit.php 104 2010-12-08 07:23:22Z d00p $ + */ + +return array( + 'admin_edit' => array( + 'title' => $lng['admin']['admin_edit'], + 'image' => 'icons/user_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['accountdata'], + 'image' => 'icons/user_edit.png', + 'fields' => array( + 'loginname' => array( + 'label' => $lng['login']['username'], + 'type' => 'label', + 'value' => $result['loginname'] + ), + 'deactivated' => array( + 'label' => $lng['admin']['deactivated_user'], + 'type' => 'yesno', + 'yesno_var' => $deactivated, + 'visible' => ($result['adminid'] == $userinfo['userid'] ? false : true) + ), + 'admin_password' => array( + 'label' => $lng['login']['password'].' ('.$lng['panel']['emptyfornochanges'].')', + 'type' => 'password', + 'visible' => ($result['adminid'] == $userinfo['userid'] ? false : true) + ), + 'def_language' => array( + 'label' => $lng['login']['language'], + 'type' => 'select', + 'select_var' => $language_options, + 'visible' => ($result['adminid'] == $userinfo['userid'] ? false : true) + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['contactdata'], + 'image' => 'icons/user_edit.png', + 'fields' => array( + 'name' => array( + 'label' => $lng['customer']['name'], + 'type' => 'text', + 'mandatory' => true, + 'value' => $result['name'] + ), + 'email' => array( + 'label' => $lng['customer']['email'], + 'type' => 'text', + 'mandatory' => true, + 'value' => $result['email'] + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['servicedata'], + 'image' => 'icons/add_user.png', + 'visible' => ($result['adminid'] != $userinfo['userid'] ? true : false), + 'fields' => array( + 'ipaddress' => array( + 'label' => $lng['serversettings']['ipaddress']['title'], + 'type' => 'select', + 'select_var' => $ipaddress + ), + 'change_serversettings' => array( + 'label' => $lng['admin']['change_serversettings'], + 'type' => 'yesno', + 'yesno_var' => $change_serversettings, + ), + 'customers' => array( + 'label' => $lng['admin']['customers'], + 'type' => 'textul', + 'value' => $result['customers'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $customers_ul + ), + 'customers_see_all' => array( + 'label' => $lng['admin']['customers_see_all'], + 'type' => 'yesno', + 'yesno_var' => $customers_see_all, + ), + 'domains' => array( + 'label' => $lng['admin']['domains'], + 'type' => 'textul', + 'value' => $result['domains'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $domains_ul + ), + 'domains_see_all' => array( + 'label' => $lng['admin']['domains_see_all'], + 'type' => 'yesno', + 'yesno_var' => $domains_see_all, + ), + 'caneditphpsettings' => array( + 'label' => $lng['admin']['caneditphpsettings'], + 'type' => 'yesno', + 'yesno_var' => $caneditphpsettings, + ), + 'diskspace' => array( + 'label' => $lng['customer']['diskspace'], + 'type' => 'textul', + 'value' => $result['diskspace'], + 'maxlength' => 6, + 'mandatory' => true, + 'ul_field' => $diskspace_ul + ), + 'traffic' => array( + 'label' => $lng['customer']['traffic'], + 'type' => 'textul', + 'value' => $result['traffic'], + 'maxlength' => 4, + 'mandatory' => true, + 'ul_field' => $traffic_ul + ), + 'subdomains' => array( + 'label' => $lng['customer']['subdomains'], + 'type' => 'textul', + 'value' => $result['subdomains'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $subdomains_ul + ), + 'emails' => array( + 'label' => $lng['customer']['emails'], + 'type' => 'textul', + 'value' => $result['emails'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $emails_ul + ), + 'email_accounts' => array( + 'label' => $lng['customer']['accounts'], + 'type' => 'textul', + 'value' => $result['email_accounts'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_accounts_ul + ), + 'email_forwarders' => array( + 'label' => $lng['customer']['forwarders'], + 'type' => 'textul', + 'value' => $result['email_forwarders'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_forwarders_ul + ), + 'email_quota' => array( + 'label' => $lng['customer']['email_quota'], + 'type' => 'textul', + 'value' => $result['email_quota'], + 'maxlength' => 9, + 'visible' => $settings['system']['mail_quota_enabled'], + 'mandatory' => true, + 'ul_field' => $email_quota_ul + ), + 'email_autoresponder' => array( + 'label' => $lng['customer']['autoresponder'], + 'type' => 'textul', + 'value' => $result['email_autoresponder'], + 'maxlength' => 9, + 'visible' => $settings['autoresponder']['autoresponder_active'], + 'ul_field' => $email_autoresponder_ul + ), + 'ftps' => array( + 'label' => $lng['customer']['ftps'], + 'type' => 'textul', + 'value' => $result['ftps'], + 'maxlength' => 9, + 'ul_field' => $ftps_ul + ), + 'tickets' => array( + 'label' => $lng['customer']['tickets'], + 'type' => 'textul', + 'value' => $result['tickets'], + 'maxlength' => 9, + 'visible' => $settings['ticket']['enabled'], + 'ul_field' => $tickets_ul + ), + 'mysqls' => array( + 'label' => $lng['customer']['mysqls'], + 'type' => 'textul', + 'value' => $result['mysqls'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $mysqls_ul + ), + 'can_manage_aps_packages' => array( + 'label' => $lng['aps']['canmanagepackages'], + 'type' => 'yesno', + 'yesno_var' => $can_manage_aps_packages, + 'visible' => $settings['aps']['aps_active'] + ), + 'number_of_aps_packages' => array( + 'label' => $lng['aps']['numberofapspackages'], + 'type' => 'textul', + 'value' => $result['aps_packages'], + 'maxlength' => 9, + 'visible' => $settings['aps']['aps_active'], + 'ul_field' => $number_of_aps_packages_ul + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php b/lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php new file mode 100644 index 00000000..c121e55a --- /dev/null +++ b/lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php @@ -0,0 +1,51 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.cronjobs_edit.php 105 2010-12-09 08:02:33Z d00p $ + */ + +return array( + 'cronjobs_edit' => array( + 'title' => $lng['admin']['cronjob_edit'], + 'image' => 'icons/clock_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['cronjob']['cronjobsettings'], + 'image' => 'icons/clock_edit.png', + 'fields' => array( + 'cronfile' => array( + 'label' => 'Cronjob', + 'type' => ($change_cronfile == 1 ? 'text' : 'label'), + 'value' => $result['cronfile'] + ), + 'isactive' => array( + 'label' => $lng['admin']['activated'], + 'type' => 'yesno', + 'yesno_var' => $isactive + ), + 'interval_value' => array( + 'label' => $lng['cronjob']['cronjobintervalv'], + 'type' => 'text', + 'value' => $interval_value + ), + 'interval_interval' => array( + 'label' => $lng['cronjob']['cronjobinterval'], + 'type' => 'select', + 'select_var' => $interval_interval + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/customer/formfield.customer_add.php b/lib/formfields/admin/customer/formfield.customer_add.php new file mode 100644 index 00000000..5b326fa5 --- /dev/null +++ b/lib/formfields/admin/customer/formfield.customer_add.php @@ -0,0 +1,233 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.customer_add.php 96 2010-12-07 11:53:52Z d00p $ + */ + +return array( + 'customer_add' => array( + 'title' => $lng['admin']['customer_add'], + 'image' => 'icons/add_user.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['accountdata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'new_loginname' => array( + 'label' => $lng['login']['username'], + 'type' => 'text' + ), + 'createstdsubdomain' => array( + 'label' => $lng['admin']['stdsubdomain_add'].'?', + 'type' => 'yesno', + 'yesno_var' => $createstdsubdomain + ), + 'store_defaultindex' => array( + 'label' => $lng['admin']['store_defaultindex'].'?', + 'type' => 'yesno', + 'yesno_var' => $store_defaultindex + ), + 'new_customer_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password' + ), + 'sendpassword' => array( + 'label' => $lng['admin']['sendpassword'], + 'type' => 'yesno', + 'yesno_var' => $sendpassword + ), + 'def_language' => array( + 'label' => $lng['login']['language'], + 'type' => 'select', + 'select_var' => $language_options + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['contactdata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'name' => array( + 'label' => $lng['customer']['name'], + 'type' => 'text', + 'mandatory_ex' => true + ), + 'firstname' => array( + 'label' => $lng['customer']['firstname'], + 'type' => 'text', + 'mandatory_ex' => true + ), + 'company' => array( + 'label' => $lng['customer']['company'], + 'type' => 'text', + 'mandatory_ex' => true + ), + 'street' => array( + 'label' => $lng['customer']['street'], + 'type' => 'text' + ), + 'zipcode' => array( + 'label' => $lng['customer']['zipcode'], + 'type' => 'text' + ), + 'city' => array( + 'label' => $lng['customer']['city'], + 'type' => 'text' + ), + 'phone' => array( + 'label' => $lng['customer']['phone'], + 'type' => 'text' + ), + 'fax' => array( + 'label' => $lng['customer']['fax'], + 'type' => 'text' + ), + 'email' => array( + 'label' => $lng['customer']['email'], + 'type' => 'text', + 'mandatory' => true + ), + 'customernumber' => array( + 'label' => $lng['customer']['customernumber'], + 'type' => 'text' + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['servicedata'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'diskspace' => array( + 'label' => $lng['customer']['diskspace'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 6, + 'mandatory' => true, + 'ul_field' => $diskspace_ul + ), + 'traffic' => array( + 'label' => $lng['customer']['traffic'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 4, + 'mandatory' => true, + 'ul_field' => $traffic_ul + ), + 'subdomains' => array( + 'label' => $lng['customer']['subdomains'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $subdomains_ul + ), + 'emails' => array( + 'label' => $lng['customer']['emails'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $emails_ul + ), + 'email_accounts' => array( + 'label' => $lng['customer']['accounts'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_accounts_ul + ), + 'email_forwarders' => array( + 'label' => $lng['customer']['forwarders'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_forwarders_ul + ), + 'email_quota' => array( + 'label' => $lng['customer']['email_quota'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['system']['mail_quota_enabled'], + 'mandatory' => true, + 'ul_field' => $email_quota_ul + ), + 'email_autoresponder' => array( + 'label' => $lng['customer']['autoresponder'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['autoresponder']['autoresponder_active'], + 'ul_field' => $email_autoresponder_ul + ), + 'email_imap' => array( + 'label' => $lng['customer']['email_imap'], + 'type' => 'yesno', + 'yesno_var' => $email_imap, + 'mandatory' => true + ), + 'email_pop3' => array( + 'label' => $lng['customer']['email_pop3'], + 'type' => 'yesno', + 'yesno_var' => $email_pop3, + 'mandatory' => true + ), + 'ftps' => array( + 'label' => $lng['customer']['ftps'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'ul_field' => $ftps_ul + ), + 'tickets' => array( + 'label' => $lng['customer']['tickets'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['ticket']['enabled'], + 'ul_field' => $tickets_ul + ), + 'mysqls' => array( + 'label' => $lng['customer']['mysqls'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $mysqls_ul + ), + 'phpenabled' => array( + 'label' => $lng['admin']['phpenabled'].'?', + 'type' => 'yesno', + 'yesno_var' => $phpenabled + ), + 'perlenabled' => array( + 'label' => $lng['admin']['perlenabled'].'?', + 'type' => 'yesno', + 'yesno_var' => $perlenabled + ), + 'number_of_aps_packages' => array( + 'label' => $lng['aps']['numberofapspackages'], + 'type' => 'textul', + 'value' => 0, + 'maxlength' => 9, + 'visible' => $settings['aps']['aps_active'], + 'ul_field' => $number_of_aps_packages_ul + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/customer/formfield.customer_edit.php b/lib/formfields/admin/customer/formfield.customer_edit.php new file mode 100644 index 00000000..9d23da52 --- /dev/null +++ b/lib/formfields/admin/customer/formfield.customer_edit.php @@ -0,0 +1,244 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.customer_edit.php 100 2010-12-07 12:20:17Z d00p $ + */ + +return array( + 'customer_edit' => array( + 'title' => $lng['admin']['customer_edit'], + 'image' => 'icons/user_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['accountdata'], + 'image' => 'icons/user_edit.png', + 'fields' => array( + 'loginname' => array( + 'label' => $lng['login']['username'], + 'type' => 'label', + 'value' => $result['loginname'] + ), + 'documentroot' => array( + 'label' => $lng['customer']['documentroot'], + 'type' => 'label', + 'value' => $result['documentroot'] + ), + 'createstdsubdomain' => array( + 'label' => $lng['admin']['stdsubdomain_add'].'?', + 'type' => 'yesno', + 'yesno_var' => $createstdsubdomain + ), + 'deactivated' => array( + 'label' => $lng['admin']['deactivated_user'], + 'type' => 'yesno', + 'yesno_var' => $deactivated + ), + 'new_customer_password' => array( + 'label' => $lng['login']['password'].' ('.$lng['panel']['emptyfornochanges'].')', + 'type' => 'password' + ), + 'def_language' => array( + 'label' => $lng['login']['language'], + 'type' => 'select', + 'select_var' => $language_options + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['contactdata'], + 'image' => 'icons/user_edit.png', + 'fields' => array( + 'name' => array( + 'label' => $lng['customer']['name'], + 'type' => 'text', + 'mandatory_ex' => true, + 'value' => $result['name'] + ), + 'firstname' => array( + 'label' => $lng['customer']['firstname'], + 'type' => 'text', + 'mandatory_ex' => true, + 'value' => $result['firstname'] + ), + 'company' => array( + 'label' => $lng['customer']['company'], + 'type' => 'text', + 'mandatory_ex' => true, + 'value' => $result['company'] + ), + 'street' => array( + 'label' => $lng['customer']['street'], + 'type' => 'text', + 'value' => $result['street'] + ), + 'zipcode' => array( + 'label' => $lng['customer']['zipcode'], + 'type' => 'text', + 'value' => $result['zipcode'] + ), + 'city' => array( + 'label' => $lng['customer']['city'], + 'type' => 'text', + 'value' => $result['city'] + ), + 'phone' => array( + 'label' => $lng['customer']['phone'], + 'type' => 'text', + 'value' => $result['phone'] + ), + 'fax' => array( + 'label' => $lng['customer']['fax'], + 'type' => 'text', + 'value' => $result['fax'] + ), + 'email' => array( + 'label' => $lng['customer']['email'], + 'type' => 'text', + 'mandatory' => true, + 'value' => $result['email'] + ), + 'customernumber' => array( + 'label' => $lng['customer']['customernumber'], + 'type' => 'text', + 'value' => $result['customernumber'] + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['servicedata'], + 'image' => 'icons/user_edit.png', + 'fields' => array( + 'diskspace' => array( + 'label' => $lng['customer']['diskspace'], + 'type' => 'textul', + 'value' => $result['diskspace'], + 'maxlength' => 6, + 'mandatory' => true, + 'ul_field' => $diskspace_ul + ), + 'traffic' => array( + 'label' => $lng['customer']['traffic'], + 'type' => 'textul', + 'value' => $result['traffic'], + 'maxlength' => 4, + 'mandatory' => true, + 'ul_field' => $traffic_ul + ), + 'subdomains' => array( + 'label' => $lng['customer']['subdomains'], + 'type' => 'textul', + 'value' => $result['subdomains'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $subdomains_ul + ), + 'emails' => array( + 'label' => $lng['customer']['emails'], + 'type' => 'textul', + 'value' => $result['emails'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $emails_ul + ), + 'email_accounts' => array( + 'label' => $lng['customer']['accounts'], + 'type' => 'textul', + 'value' => $result['email_accounts'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_accounts_ul + ), + 'email_forwarders' => array( + 'label' => $lng['customer']['forwarders'], + 'type' => 'textul', + 'value' => $result['email_forwarders'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $email_forwarders_ul + ), + 'email_quota' => array( + 'label' => $lng['customer']['email_quota'], + 'type' => 'textul', + 'value' => $result['email_quota'], + 'maxlength' => 9, + 'visible' => $settings['system']['mail_quota_enabled'], + 'mandatory' => true, + 'ul_field' => $email_quota_ul + ), + 'email_autoresponder' => array( + 'label' => $lng['customer']['autoresponder'], + 'type' => 'textul', + 'value' => $result['email_autoresponder'], + 'maxlength' => 9, + 'visible' => $settings['autoresponder']['autoresponder_active'], + 'ul_field' => $email_autoresponder_ul + ), + 'email_imap' => array( + 'label' => $lng['customer']['email_imap'], + 'type' => 'yesno', + 'yesno_var' => $email_imap, + 'mandatory' => true + ), + 'email_pop3' => array( + 'label' => $lng['customer']['email_pop3'], + 'type' => 'yesno', + 'yesno_var' => $email_pop3, + 'mandatory' => true + ), + 'ftps' => array( + 'label' => $lng['customer']['ftps'], + 'type' => 'textul', + 'value' => $result['ftps'], + 'maxlength' => 9, + 'ul_field' => $ftps_ul + ), + 'tickets' => array( + 'label' => $lng['customer']['tickets'], + 'type' => 'textul', + 'value' => $result['tickets'], + 'maxlength' => 9, + 'visible' => $settings['ticket']['enabled'], + 'ul_field' => $tickets_ul + ), + 'mysqls' => array( + 'label' => $lng['customer']['mysqls'], + 'type' => 'textul', + 'value' => $result['mysqls'], + 'maxlength' => 9, + 'mandatory' => true, + 'ul_field' => $mysqls_ul + ), + 'phpenabled' => array( + 'label' => $lng['admin']['phpenabled'].'?', + 'type' => 'yesno', + 'yesno_var' => $phpenabled + ), + 'perlenabled' => array( + 'label' => $lng['admin']['perlenabled'].'?', + 'type' => 'yesno', + 'yesno_var' => $perlenabled + ), + 'number_of_aps_packages' => array( + 'label' => $lng['aps']['numberofapspackages'], + 'type' => 'textul', + 'value' => $result['aps_packages'], + 'maxlength' => 9, + 'visible' => $settings['aps']['aps_active'], + 'ul_field' => $number_of_aps_packages_ul + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/domains/formfield.domains_add.php b/lib/formfields/admin/domains/formfield.domains_add.php new file mode 100644 index 00000000..22ce7863 --- /dev/null +++ b/lib/formfields/admin/domains/formfield.domains_add.php @@ -0,0 +1,211 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'domain_add' => array( + 'title' => $lng['admin']['domain_add'], + 'image' => 'icons/add_domain.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['domains']['domainsettings'], + 'image' => 'icons/add_domain.png', + 'fields' => array( + 'domain' => array( + 'label' => 'Domain', + 'type' => 'text' + ), + 'customerid' => array( + 'label' => $lng['admin']['customer'], + 'type' => 'select', + 'select_var' => $customers + ), + 'adminid' => array( + 'visible' => ($userinfo['customers_see_all'] == '1' ? true : false), + 'label' => $lng['admin']['admin'], + 'type' => 'select', + 'select_var' => $admins + ), + 'alias' => array( + 'label' => $lng['domains']['aliasdomain'], + 'type' => 'select', + 'select_var' => $domains + ), + 'issubof' => array( + 'label' => $lng['domains']['issubof'], + 'desc' => $lng['domains']['issubofinfo'], + 'type' => 'select', + 'select_var' => $subtodomains + ), + 'caneditdomain' => array( + 'label' => $lng['admin']['domain_edit'], + 'type' => 'yesno', + 'yesno_var' => $caneditdomain + ), + 'add_date' => array( + 'label' => $lng['domains']['add_date'], + 'desc' => $lng['panel']['dateformat'], + 'type' => 'label', + 'value' => $add_date + ), + 'registration_date' => array( + 'label' => $lng['domains']['registration_date'], + 'desc' => $lng['panel']['dateformat'], + 'type' => 'text', + 'size' => 10 + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['webserversettings'], + 'image' => 'icons/add_domain.png', + 'fields' => array( + 'documentroot' => array( + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'label' => 'DocumentRoot', + 'desc' => $lng['panel']['emptyfordefault'], + 'type' => 'text' + ), + 'ipandport' => array( + 'label' => 'IP/Port', + 'type' => 'select', + 'select_var' => $ipsandports, + ), + 'ssl' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL', + 'type' => 'yesno', + 'yesno_var' => $ssl + ), + 'ssl_redirect' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL Redirect', + 'type' => 'yesno', + 'yesno_var' => $ssl_redirect + ), + 'ssl_ipandport' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL IP/Port', + 'type' => 'select', + 'select_var' => $ssl_ipsandports + ), + 'no_ssl_available_info' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports == '' ? true : false) : false), + 'label' => 'SSL', + 'type' => 'label', + 'value' => $lng['panel']['nosslipsavailable'] + ), + 'wwwserveralias' => array( + 'label' => $lng['admin']['wwwserveralias'], + 'type' => 'yesno', + 'yesno_var' => $wwwserveralias + ), + 'speciallogfile' => array( + 'label' => 'Speciallogfile', + 'type' => 'yesno', + 'yesno_var' => $speciallogfile + ), + 'specialsettings' => array( + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ownvhostsettings'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['phpserversettings'], + 'image' => 'icons/add_domain.png', + 'visible' => (($userinfo['change_serversettings'] == '1' || $userinfo['caneditphpsettings'] == '1') ? true : false), + 'fields' => array( + 'openbasedir' => array( + 'label' => 'OpenBasedir', + 'type' => 'yesno', + 'yesno_var' => $openbasedir + ), + 'safemode' => array( + 'label' => 'Safemode', + 'type' => 'yesno', + 'yesno_var' => $safemode + ), + 'phpsettingid' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['phpsettings']['title'], + 'type' => 'select', + 'select_var' => $phpconfigs + ), + 'mod_fcgid_starter' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['mod_fcgid_starter']['title'], + 'type' => 'text' + ), + 'mod_fcgid_maxrequests' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['mod_fcgid_maxrequests']['title'], + 'type' => 'text' + ) + ) + ), + 'section_d' => array( + 'title' => $lng['admin']['nameserversettings'], + 'image' => 'icons/add_domain.png', + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'fields' => array( + 'isbinddomain' => array( + 'label' => 'Nameserver', + 'type' => 'yesno', + 'yesno_var' => $isbinddomain + ), + 'zonefile' => array( + 'label' => 'Zonefile', + 'desc' => $lng['panel']['emptyfordefault'], + 'type' => 'text' + ) + ) + ), + 'section_e' => array( + 'title' => $lng['admin']['mailserversettings'], + 'image' => 'icons/add_domain.png', + 'fields' => array( + 'isemaildomain' => array( + 'label' => $lng['admin']['emaildomain'], + 'type' => 'yesno', + 'yesno_var' => $isemaildomain + ), + 'email_only' => array( + 'label' => $lng['admin']['email_only'], + 'type' => 'yesno', + 'yesno_var' => $email_only + ), + 'subcanemaildomain' => array( + 'label' => $lng['admin']['subdomainforemail'], + 'type' => 'select', + 'select_var' => $subcanemaildomain + ), + 'dkim' => array( + 'visible' => ($settings['dkim']['use_dkim'] == '1' ? true : false), + 'label' => 'DomainKeys', + 'type' => 'yesno', + 'yesno_var' => $dkim + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/domains/formfield.domains_edit.php b/lib/formfields/admin/domains/formfield.domains_edit.php new file mode 100644 index 00000000..91209dfe --- /dev/null +++ b/lib/formfields/admin/domains/formfield.domains_edit.php @@ -0,0 +1,233 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_edit.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'domain_edit' => array( + 'title' => $lng['admin']['domain_edit'], + 'image' => 'icons/domain_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['domains']['domainsettings'], + 'image' => 'icons/domain_edit.png', + 'fields' => array( + 'domain' => array( + 'label' => 'Domain', + 'type' => 'label', + 'value' => $result['domain'] + ), + 'customerid' => array( + 'label' => $lng['admin']['customer'], + 'type' => ($settings['panel']['allow_domain_change_customer'] == '1' ? 'select' : 'label'), + 'select_var' => (isset($customers) ? $customers : null), + 'value' => (isset($result['customername']) ? $result['customername'] : null) + ), + 'adminid' => array( + 'visible' => ($userinfo['customers_see_all'] == '1' ? true : false), + 'label' => $lng['admin']['admin'], + 'type' => ($settings['panel']['allow_domain_change_admin'] == '1' ? 'select' : 'label'), + 'select_var' => (isset($admins) ? $admins : null), + 'value' => (isset($result['adminname']) ? $result['adminname'] : null) + ), + 'alias' => array( + 'visible' => ($alias_check == '0' ? true : false), + 'label' => $lng['domains']['aliasdomain'], + 'type' => 'select', + 'select_var' => $domains + ), + 'issubof' => array( + 'label' => $lng['domains']['issubof'], + 'desc' => $lng['domains']['issubofinfo'], + 'type' => 'select', + 'select_var' => $subtodomains + ), + 'associated_info' => array( + 'label' => $lng['domains']['associated_with_domain'], + 'type' => 'label', + 'value' => $subdomains.' '.$lng['customer']['subdomains'].', '.$alias_check.' '.$lng['domains']['aliasdomains'].', '.$emails.' '.$lng['customer']['emails'].', '.$email_accounts.' '.$lng['customer']['accounts'].', '.$email_forwarders.' '.$lng['customer']['forwarders'] + ), + 'caneditdomain' => array( + 'label' => $lng['admin']['domain_edit'], + 'type' => 'yesno', + 'yesno_var' => $caneditdomain + ), + 'add_date' => array( + 'label' => $lng['domains']['add_date'], + 'desc' => $lng['panel']['dateformat'], + 'type' => 'label', + 'value' => $result['add_date'] + ), + 'registration_date' => array( + 'label' => $lng['domains']['registration_date'], + 'desc' => $lng['panel']['dateformat'], + 'type' => 'text', + 'value' => $result['registration_date'], + 'size' => 10 + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['webserversettings'], + 'image' => 'icons/domain_edit.png', + 'fields' => array( + 'documentroot' => array( + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'label' => 'DocumentRoot', + 'desc' => $lng['panel']['emptyfordefault'], + 'type' => 'text', + 'value' => $result['documentroot'] + ), + 'ipandport' => array( + 'label' => 'IP/Port', + 'type' => 'select', + 'select_var' => $ipsandports, + ), + 'ssl' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL', + 'type' => 'yesno', + 'yesno_var' => $ssl + ), + 'ssl_redirect' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL Redirect', + 'type' => 'yesno', + 'yesno_var' => $ssl_redirect + ), + 'ssl_ipandport' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports != '' ? true : false) : false), + 'label' => 'SSL IP/Port', + 'type' => 'select', + 'select_var' => $ssl_ipsandports + ), + 'no_ssl_available_info' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? ($ssl_ipsandports == '' ? true : false) : false), + 'label' => 'SSL', + 'type' => 'label', + 'value' => $lng['panel']['nosslipsavailable'] + ), + 'wwwserveralias' => array( + 'label' => $lng['admin']['wwwserveralias'], + 'type' => 'yesno', + 'yesno_var' => $wwwserveralias + ), + 'speciallogfile' => array( + 'label' => 'Speciallogfile', + 'type' => 'label', + 'value' => $speciallogfile + ), + 'specialsettings' => array( + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ownvhostsettings'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'value' => $result['specialsettings'], + 'cols' => 60, + 'rows' => 12 + ), + 'specialsettingsforsubdomains' => array( + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'label' => $lng['admin']['specialsettingsforsubdomains'], + 'desc' => $lng['serversettings']['specialsettingsforsubdomains']['description'], + 'type' => 'yesno', + 'yesno_var' => $specialsettingsforsubdomains + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['phpserversettings'], + 'image' => 'icons/domain_edit.png', + 'visible' => (($userinfo['change_serversettings'] == '1' || $userinfo['caneditphpsettings'] == '1') ? true : false), + 'fields' => array( + 'openbasedir' => array( + 'label' => 'OpenBasedir', + 'type' => 'yesno', + 'yesno_var' => $openbasedir + ), + 'safemode' => array( + 'label' => 'Safemode', + 'type' => 'yesno', + 'yesno_var' => $safemode + ), + 'phpsettingid' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['phpsettings']['title'], + 'type' => 'select', + 'select_var' => $phpconfigs + ), + 'mod_fcgid_starter' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['mod_fcgid_starter']['title'], + 'type' => 'text', + 'value' => ((int)$result['mod_fcgid_starter'] != - 1 ? $result['mod_fcgid_starter'] : '') + ), + 'mod_fcgid_maxrequests' => array( + 'visible' => ((int)$settings['system']['mod_fcgid'] == 1 ? true : false), + 'label' => $lng['admin']['mod_fcgid_maxrequests']['title'], + 'type' => 'text', + 'value' => ((int)$result['mod_fcgid_maxrequests'] != - 1 ? $result['mod_fcgid_maxrequests'] : '') + ) + ) + ), + 'section_d' => array( + 'title' => $lng['admin']['nameserversettings'], + 'image' => 'icons/domain_edit.png', + 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), + 'fields' => array( + 'isbinddomain' => array( + 'label' => 'Nameserver', + 'type' => 'yesno', + 'yesno_var' => $isbinddomain + ), + 'zonefile' => array( + 'label' => 'Zonefile', + 'desc' => $lng['panel']['emptyfordefault'], + 'type' => 'text', + 'value' => $result['zonefile'] + ) + ) + ), + 'section_e' => array( + 'title' => $lng['admin']['mailserversettings'], + 'image' => 'icons/domain_edit.png', + 'fields' => array( + 'isemaildomain' => array( + 'label' => $lng['admin']['emaildomain'], + 'type' => 'yesno', + 'yesno_var' => $isemaildomain + ), + 'email_only' => array( + 'label' => $lng['admin']['email_only'], + 'type' => 'yesno', + 'yesno_var' => $email_only + ), + 'subcanemaildomain' => array( + 'label' => $lng['admin']['subdomainforemail'], + 'type' => 'select', + 'select_var' => $subcanemaildomain + ), + 'dkim' => array( + 'visible' => ($settings['dkim']['use_dkim'] == '1' ? true : false), + 'label' => 'DomainKeys', + 'type' => 'yesno', + 'yesno_var' => $dkim + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ipsandports/formfield.ipsandports_add.php b/lib/formfields/admin/ipsandports/formfield.ipsandports_add.php new file mode 100644 index 00000000..1af03726 --- /dev/null +++ b/lib/formfields/admin/ipsandports/formfield.ipsandports_add.php @@ -0,0 +1,121 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.ipsandports_add.php 111 2010-12-14 07:48:33Z d00p $ + */ + +return array( + 'ipsandports_add' => array( + 'title' => $lng['admin']['ipsandports']['add'], + 'image' => 'icons/ipsports_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['ipsandports']['ipandport'], + 'image' => 'icons/ipsports_add.png', + 'fields' => array( + 'ip' => array( + 'label' => $lng['admin']['ipsandports']['ip'], + 'type' => 'text' + ), + 'port' => array( + 'label' => $lng['admin']['ipsandports']['port'], + 'type' => 'text', + 'size' => 5 + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['ipsandports']['webserverdefaultconfig'], + 'image' => 'icons/ipsports_add.png', + 'fields' => array( + 'listen_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_listen_statement'], + 'type' => 'yesno', + 'yesno_var' => $listen_statement + ), + 'namevirtualhost_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_namevirtualhost_statement'], + 'type' => 'yesno', + 'yesno_var' => $namevirtualhost_statement, + ), + 'vhostcontainer' => array( + 'label' => $lng['admin']['ipsandports']['create_vhostcontainer'], + 'type' => 'yesno', + 'yesno_var' => $vhostcontainer + ), + 'docroot' => array( + 'label' => $lng['admin']['ipsandports']['docroot']['title'], + 'desc' => $lng['admin']['ipsandports']['docroot']['description'], + 'type' => 'text' + ), + 'specialsettings' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ownvhostsettings'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ), + 'vhostcontainer_servername_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_vhostcontainer_servername_statement'], + 'type' => 'yesno', + 'yesno_var' => $vhostcontainer_servername_statement + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['ipsandports']['webserverdomainconfig'], + 'image' => 'icons/ipsports_add.png', + 'fields' => array( + 'default_vhostconf_domain' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ipsandports']['default_vhostconf_domain'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ), + 'section_d' => array( + 'title' => $lng['admin']['ipsandports']['webserverssldomainconfig'], + 'image' => 'icons/ipsports_add.png', + 'visible' => ($settings['system']['use_ssl'] == 1 ? true : false), + 'fields' => array( + 'ssl' => array( + 'label' => $lng['admin']['ipsandports']['enable_ssl'], + 'type' => 'yesno', + 'yesno_var' => $enable_ssl + ), + 'ssl_cert_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_cert_file'], + 'type' => 'text' + ), + 'ssl_key_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_key_file'], + 'type' => 'text' + ), + 'ssl_ca_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_ca_file'], + 'type' => 'text' + ), + 'ssl_cert_chainfile' => array( + 'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'], + 'type' => 'text' + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php b/lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php new file mode 100644 index 00000000..dcee8aa7 --- /dev/null +++ b/lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php @@ -0,0 +1,130 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.ipsandports_edit.php 111 2010-12-14 07:48:33Z d00p $ + */ + +return array( + 'ipsandports_edit' => array( + 'title' => $lng['admin']['ipsandports']['edit'], + 'image' => 'icons/ipsports_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['ipsandports']['ipandport'], + 'image' => 'icons/ipsports_add.png', + 'fields' => array( + 'ip' => array( + 'label' => $lng['admin']['ipsandports']['ip'], + 'type' => 'text', + 'value' => $result['ip'] + ), + 'port' => array( + 'label' => $lng['admin']['ipsandports']['port'], + 'type' => 'text', + 'value' => $result['port'], + 'size' => 5 + ) + ) + ), + 'section_b' => array( + 'title' => $lng['admin']['ipsandports']['webserverdefaultconfig'], + 'image' => 'icons/ipsports_edit.png', + 'fields' => array( + 'listen_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_listen_statement'], + 'type' => 'yesno', + 'yesno_var' => $listen_statement + ), + 'namevirtualhost_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_namevirtualhost_statement'], + 'type' => 'yesno', + 'yesno_var' => $namevirtualhost_statement, + ), + 'vhostcontainer' => array( + 'label' => $lng['admin']['ipsandports']['create_vhostcontainer'], + 'type' => 'yesno', + 'yesno_var' => $vhostcontainer + ), + 'docroot' => array( + 'label' => $lng['admin']['ipsandports']['docroot']['title'], + 'desc' => $lng['admin']['ipsandports']['docroot']['description'], + 'type' => 'text', + 'value' => $result['docroot'] + ), + 'specialsettings' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ownvhostsettings'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ), + 'vhostcontainer_servername_statement' => array( + 'label' => $lng['admin']['ipsandports']['create_vhostcontainer_servername_statement'], + 'type' => 'yesno', + 'yesno_var' => $vhostcontainer_servername_statement, + 'value' => $result['specialsettings'] + ) + ) + ), + 'section_c' => array( + 'title' => $lng['admin']['ipsandports']['webserverdomainconfig'], + 'image' => 'icons/ipsports_edit.png', + 'fields' => array( + 'default_vhostconf_domain' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['ipsandports']['default_vhostconf_domain'], + 'desc' => $lng['serversettings']['default_vhostconf']['description'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12, + 'value' => $result['default_vhostconf_domain'] + ) + ) + ), + 'section_d' => array( + 'title' => $lng['admin']['ipsandports']['webserverssldomainconfig'], + 'image' => 'icons/ipsports_edit.png', + 'visible' => ($settings['system']['use_ssl'] == 1 ? true : false), + 'fields' => array( + 'ssl' => array( + 'label' => $lng['admin']['ipsandports']['enable_ssl'], + 'type' => 'yesno', + 'yesno_var' => $enable_ssl + ), + 'ssl_cert_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_cert_file'], + 'type' => 'text', + 'value' => $result['ssl_cert_file'] + ), + 'ssl_key_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_key_file'], + 'type' => 'text', + 'value' => $result['ssl_key_file'] + ), + 'ssl_ca_file' => array( + 'label' => $lng['admin']['ipsandports']['ssl_ca_file'], + 'type' => 'text', + 'value' => $result['ssl_ca_file'] + ), + 'ssl_cert_chainfile' => array( + 'label' => $lng['admin']['ipsandports']['ssl_cert_chainfile'], + 'type' => 'text', + 'value' => $result['ssl_cert_chainfile'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/phpconfig/formfield.phpconfig_add.php b/lib/formfields/admin/phpconfig/formfield.phpconfig_add.php new file mode 100644 index 00000000..fc3dfcec --- /dev/null +++ b/lib/formfields/admin/phpconfig/formfield.phpconfig_add.php @@ -0,0 +1,65 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.phpconfig_add.php 114 2010-12-21 07:02:45Z d00p $ + */ + +return array( + 'phpconfig_add' => array( + 'title' => $lng['admin']['phpsettings']['addsettings'], + 'image' => 'icons/phpsettings_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['phpsettings']['addsettings'], + 'image' => 'icons/phpsettings_add.png', + 'fields' => array( + 'description' => array( + 'label' => $lng['admin']['phpsettings']['description'], + 'type' => 'text', + 'maxlength' => 50 + ), + 'binary' => array( + 'label' => $lng['admin']['phpsettings']['binary'], + 'type' => 'text', + 'maxlength' => 255, + 'value' => '/usr/bin/php-cgi' + ), + 'file_extensions' => array( + 'label' => $lng['admin']['phpsettings']['file_extensions'], + 'desc' => $lng['admin']['phpsettings']['file_extensions_note'], + 'type' => 'text', + 'maxlength' => 255, + 'value' => 'php' + ), + 'mod_fcgid_starter' => array( + 'label' => $lng['admin']['mod_fcgid_starter']['title'], + 'type' => 'text' + ), + 'mod_fcgid_maxrequests' => array( + 'label' => $lng['admin']['mod_fcgid_maxrequests']['title'], + 'type' => 'text' + ), + 'phpsettings' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['phpsettings']['phpinisettings'], + 'type' => 'textarea', + 'cols' => 80, + 'rows' => 20, + 'value' => $result['phpsettings'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/phpconfig/formfield.phpconfig_edit.php b/lib/formfields/admin/phpconfig/formfield.phpconfig_edit.php new file mode 100644 index 00000000..a9005d29 --- /dev/null +++ b/lib/formfields/admin/phpconfig/formfield.phpconfig_edit.php @@ -0,0 +1,68 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.phpconfig_edit.php 115 2010-12-21 07:09:28Z d00p $ + */ + +return array( + 'phpconfig_edit' => array( + 'title' => $lng['admin']['phpsettings']['editsettings'], + 'image' => 'icons/phpsettings_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['phpsettings']['editsettings'], + 'image' => 'icons/phpsettings_edit.png', + 'fields' => array( + 'description' => array( + 'label' => $lng['admin']['phpsettings']['description'], + 'type' => 'text', + 'maxlength' => 50, + 'value' => $result['description'] + ), + 'binary' => array( + 'label' => $lng['admin']['phpsettings']['binary'], + 'type' => 'text', + 'maxlength' => 255, + 'value' => $result['binary'] + ), + 'file_extensions' => array( + 'label' => $lng['admin']['phpsettings']['file_extensions'], + 'desc' => $lng['admin']['phpsettings']['file_extensions_note'], + 'type' => 'text', + 'maxlength' => 255, + 'value' => $result['file_extensions'] + ), + 'mod_fcgid_starter' => array( + 'label' => $lng['admin']['mod_fcgid_starter']['title'], + 'type' => 'text', + 'value' => ((int)$result['mod_fcgid_starter'] != - 1 ? $result['mod_fcgid_starter'] : '') + ), + 'mod_fcgid_maxrequests' => array( + 'label' => $lng['admin']['mod_fcgid_maxrequests']['title'], + 'type' => 'text', + 'value' => ((int)$result['mod_fcgid_maxrequests'] != - 1 ? $result['mod_fcgid_maxrequests'] : '') + ), + 'phpsettings' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['admin']['phpsettings']['phpinisettings'], + 'type' => 'textarea', + 'cols' => 80, + 'rows' => 20, + 'value' => $result['phpsettings'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/templates/formfield.filetemplate_add.php b/lib/formfields/admin/templates/formfield.filetemplate_add.php new file mode 100644 index 00000000..2b9ca7ee --- /dev/null +++ b/lib/formfields/admin/templates/formfield.filetemplate_add.php @@ -0,0 +1,42 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.filetemplate_add.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'filetemplate_add' => array( + 'title' => $lng['admin']['templates']['template_add'], + 'image' => 'icons/templates_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['templates']['template_add'], + 'image' => 'icons/templates_add.png', + 'fields' => array( + 'template' => array( + 'label' => $lng['admin']['templates']['action'], + 'type' => 'select', + 'select_var' => $free_templates + ), + 'filecontent' => array( + 'label' => $lng['admin']['templates']['filecontent'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/templates/formfield.filetemplate_edit.php b/lib/formfields/admin/templates/formfield.filetemplate_edit.php new file mode 100644 index 00000000..18dadee0 --- /dev/null +++ b/lib/formfields/admin/templates/formfield.filetemplate_edit.php @@ -0,0 +1,44 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.filetemplate_edit.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'filetemplate_edit' => array( + 'title' => $lng['admin']['templates']['template_edit'], + 'image' => 'icons/templates_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['templates']['template_edit'], + 'image' => 'icons/templates_edit.png', + 'fields' => array( + 'template' => array( + 'label' => $lng['admin']['templates']['action'], + 'type' => 'hidden', + 'value' => $lng['admin']['templates'][$row['varname']], + 'display' => $lng['admin']['templates'][$row['varname']] + ), + 'filecontent' => array( + 'label' => $lng['admin']['templates']['filecontent'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12, + 'value' => $row['value'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/templates/formfield.template_add.php b/lib/formfields/admin/templates/formfield.template_add.php new file mode 100644 index 00000000..9f1c259c --- /dev/null +++ b/lib/formfields/admin/templates/formfield.template_add.php @@ -0,0 +1,52 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.template_add.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'template_add' => array( + 'title' => $lng['admin']['templates']['template_add'], + 'image' => 'icons/templates_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['templates']['template_add'], + 'image' => 'icons/templates_add.png', + 'fields' => array( + 'language' => array( + 'label' => $lng['login']['language'], + 'type' => 'hidden', + 'value' => $language, + 'display' => $language + ), + 'template' => array( + 'label' => $lng['admin']['templates']['action'], + 'type' => 'select', + 'select_var' => $template_options + ), + 'subject' => array( + 'label' => $lng['admin']['templates']['subject'], + 'type' => 'text' + ), + 'mailbody' => array( + 'label' => $lng['admin']['templates']['mailbody'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/templates/formfield.template_edit.php b/lib/formfields/admin/templates/formfield.template_edit.php new file mode 100644 index 00000000..280a3d13 --- /dev/null +++ b/lib/formfields/admin/templates/formfield.template_edit.php @@ -0,0 +1,55 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.template_edit.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'template_edit' => array( + 'title' => $lng['admin']['templates']['template_edit'], + 'image' => 'icons/templates_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['admin']['templates']['template_edit'], + 'image' => 'icons/templates_edit.png', + 'fields' => array( + 'language' => array( + 'label' => $lng['login']['language'], + 'type' => 'hidden', + 'value' => $language, + 'display' => $language + ), + 'template' => array( + 'label' => $lng['admin']['templates']['action'], + 'type' => 'hidden', + 'value' => $template, + 'display' => $template + ), + 'subject' => array( + 'label' => $lng['admin']['templates']['subject'], + 'type' => 'text', + 'value' => $subject + ), + 'mailbody' => array( + 'label' => $lng['admin']['templates']['mailbody'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12, + 'value' => $mailbody + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ticket/formfield.category_edit.php b/lib/formfields/admin/ticket/formfield.category_edit.php new file mode 100644 index 00000000..ea7f65e5 --- /dev/null +++ b/lib/formfields/admin/ticket/formfield.category_edit.php @@ -0,0 +1,44 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.category_edit.php 128 2010-12-21 08:45:13Z d00p $ + */ + +return array( + 'category_edit' => array( + 'title' => $lng['ticket']['ticket_editcateory'], + 'image' => 'icons/category_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ticket']['ticket_editcateory'], + 'image' => 'icons/category_edit.png', + 'fields' => array( + 'category' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'text', + 'maxlength' => 50, + 'value' => $row['name'] + ), + 'logicalorder' => array( + 'label' => $lng['ticket']['logicalorder'], + 'desc' => $lng['ticket']['orderdesc'], + 'type' => 'text', + 'maxlength' => 3, + 'value' => $row['logicalorder'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ticket/formfield.category_new.php b/lib/formfields/admin/ticket/formfield.category_new.php new file mode 100644 index 00000000..3e6d774d --- /dev/null +++ b/lib/formfields/admin/ticket/formfield.category_new.php @@ -0,0 +1,43 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.category_new.php 127 2010-12-21 08:41:31Z d00p $ + */ + +return array( + 'category_new' => array( + 'title' => $lng['ticket']['ticket_newcateory'], + 'image' => 'icons/category_new.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ticket']['ticket_newcateory'], + 'image' => 'icons/category_new.png', + 'fields' => array( + 'category' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'text', + 'maxlength' => 50 + ), + 'logicalorder' => array( + 'label' => $lng['ticket']['logicalorder'], + 'desc' => $lng['ticket']['orderdesc'], + 'type' => 'text', + 'maxlength' => 3, + 'value' => $order + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ticket/formfield.ticket_new.php b/lib/formfields/admin/ticket/formfield.ticket_new.php new file mode 100644 index 00000000..8d26dab6 --- /dev/null +++ b/lib/formfields/admin/ticket/formfield.ticket_new.php @@ -0,0 +1,58 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.ticket_new.php 116 2010-12-21 07:16:35Z d00p $ + */ + +return array( + 'ticket_new' => array( + 'title' => $lng['ticket']['ticket_new'], + 'image' => 'icons/ticket_new.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ticket']['ticket_new'], + 'image' => 'icons/ticket_new.png', + 'fields' => array( + 'customer' => array( + 'label' => $lng['ticket']['customer'], + 'type' => 'select', + 'select_var' => $customers + ), + 'subject' => array( + 'label' => $lng['ticket']['subject'], + 'type' => 'text', + 'maxlength' => 70 + ), + 'priority' => array( + 'label' => $lng['ticket']['priority'], + 'type' => 'select', + 'select_var' => $priorities + ), + 'category' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'select', + 'select_var' => $categories + ), + 'message' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['ticket']['message'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/admin/ticket/formfield.ticket_reply.php b/lib/formfields/admin/ticket/formfield.ticket_reply.php new file mode 100644 index 00000000..423afc51 --- /dev/null +++ b/lib/formfields/admin/ticket/formfield.ticket_reply.php @@ -0,0 +1,54 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.ticket_reply.php 117 2010-12-21 07:26:58Z d00p $ + */ + +return array( + 'ticket_reply' => array( + 'title' => $lng['ticket']['ticket_reply'], + 'image' => 'icons/ticket_reply.png', + 'sections' => array( + 'section_a' => array( + 'visible' => ($isclosed == 0 ? true : false), + 'title' => $lng['ticket']['ticket_reply'], + 'image' => 'icons/ticket_reply.png', + 'fields' => array( + 'subject' => array( + 'label' => $lng['ticket']['subject'], + 'type' => 'text', + 'value' => 'Re: '.$subject + ), + 'priority' => array( + 'label' => $lng['ticket']['priority'], + 'type' => 'select', + 'select_var' => $priorities + ), + 'category' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'label', + 'value' => $row['name'] + ), + 'message' => array( + 'style' => 'vertical-align:top;', + 'label' => $lng['ticket']['message'], + 'type' => 'textarea', + 'cols' => 60, + 'rows' => 12 + ) + ) + ) + ) + ) +); From 7b6b1452291c3ccde34e2179ba8a2fd0e46f47c5 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 10:38:47 +0100 Subject: [PATCH 03/48] add more new files for re-design Signed-off-by: Michael Kaufmann (d00p) --- lib/classes/output/class.Minify_HTML.php | 246 +++++++++++++++++++ lib/classes/output/class.htmlform.php | 168 +++++++++++++ lib/functions/froxlor/function.getThemes.php | 45 ++++ 3 files changed, 459 insertions(+) create mode 100644 lib/classes/output/class.Minify_HTML.php create mode 100644 lib/classes/output/class.htmlform.php create mode 100644 lib/functions/froxlor/function.getThemes.php diff --git a/lib/classes/output/class.Minify_HTML.php b/lib/classes/output/class.Minify_HTML.php new file mode 100644 index 00000000..9deff776 --- /dev/null +++ b/lib/classes/output/class.Minify_HTML.php @@ -0,0 +1,246 @@ + + */ +class Minify_HTML { + + /** + * "Minify" an HTML page + * + * @param string $html + * + * @param array $options + * + * 'cssMinifier' : (optional) callback function to process content of STYLE + * elements. + * + * 'jsMinifier' : (optional) callback function to process content of SCRIPT + * elements. Note: the type attribute is ignored. + * + * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If + * unset, minify will sniff for an XHTML doctype. + * + * @return string + */ + public static function minify($html, $options = array()) { + $min = new Minify_HTML($html, $options); + return $min->process(); + } + + + /** + * Create a minifier object + * + * @param string $html + * + * @param array $options + * + * 'cssMinifier' : (optional) callback function to process content of STYLE + * elements. + * + * 'jsMinifier' : (optional) callback function to process content of SCRIPT + * elements. Note: the type attribute is ignored. + * + * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If + * unset, minify will sniff for an XHTML doctype. + * + * @return null + */ + public function __construct($html, $options = array()) + { + $this->_html = str_replace("\r\n", "\n", trim($html)); + if (isset($options['xhtml'])) { + $this->_isXhtml = (bool)$options['xhtml']; + } + if (isset($options['cssMinifier'])) { + $this->_cssMinifier = $options['cssMinifier']; + } + if (isset($options['jsMinifier'])) { + $this->_jsMinifier = $options['jsMinifier']; + } + } + + + /** + * Minify the markeup given in the constructor + * + * @return string + */ + public function process() + { + if ($this->_isXhtml === null) { + $this->_isXhtml = (false !== strpos($this->_html, '_replacementHash = 'MINIFYHTML' . md5($_SERVER['REQUEST_TIME']); + $this->_placeholders = array(); + + // replace SCRIPTs (and minify) with placeholders + $this->_html = preg_replace_callback( + '/(\\s*)(]*?>)([\\s\\S]*?)<\\/script>(\\s*)/i' + ,array($this, '_removeScriptCB') + ,$this->_html); + + // replace STYLEs (and minify) with placeholders + $this->_html = preg_replace_callback( + '/\\s*(]*?>)([\\s\\S]*?)<\\/style>\\s*/i' + ,array($this, '_removeStyleCB') + ,$this->_html); + + // remove HTML comments (not containing IE conditional comments). + $this->_html = preg_replace_callback( + '//' + ,array($this, '_commentCB') + ,$this->_html); + + // replace PREs with placeholders + $this->_html = preg_replace_callback('/\\s*(]*?>[\\s\\S]*?<\\/pre>)\\s*/i' + ,array($this, '_removePreCB') + ,$this->_html); + + // replace TEXTAREAs with placeholders + $this->_html = preg_replace_callback( + '/\\s*(]*?>[\\s\\S]*?<\\/textarea>)\\s*/i' + ,array($this, '_removeTextareaCB') + ,$this->_html); + + // trim each line. + // @todo take into account attribute values that span multiple lines. + $this->_html = preg_replace('/^\\s+|\\s+$/m', '', $this->_html); + + // remove ws around block/undisplayed elements + $this->_html = preg_replace('/\\s+(<\\/?(?:area|base(?:font)?|blockquote|body' + .'|caption|center|cite|col(?:group)?|dd|dir|div|dl|dt|fieldset|form' + .'|frame(?:set)?|h[1-6]|head|hr|html|legend|li|link|map|menu|meta' + .'|ol|opt(?:group|ion)|p|param|t(?:able|body|head|d|h||r|foot|itle)' + .'|ul)\\b[^>]*>)/i', '$1', $this->_html); + + // remove ws outside of all elements + $this->_html = preg_replace_callback( + '/>([^<]+)_html); + + // use newlines before 1st attribute in open tags (to limit line lengths) + $this->_html = preg_replace('/(<[a-z\\-]+)\\s+([^>]+>)/i', "$1\n$2", $this->_html); + + // fill placeholders + $this->_html = str_replace( + array_keys($this->_placeholders) + ,array_values($this->_placeholders) + ,$this->_html + ); + return $this->_html; + } + + protected function _commentCB($m) + { + return (0 === strpos($m[1], '[') || false !== strpos($m[1], '_replacementHash . count($this->_placeholders) . '%'; + $this->_placeholders[$placeholder] = $content; + return $placeholder; + } + + protected $_isXhtml = null; + protected $_replacementHash = null; + protected $_placeholders = array(); + protected $_cssMinifier = null; + protected $_jsMinifier = null; + + protected function _outsideTagCB($m) + { + return '>' . preg_replace('/^\\s+|\\s+$/', ' ', $m[1]) . '<'; + } + + protected function _removePreCB($m) + { + return $this->_reservePlace($m[1]); + } + + protected function _removeTextareaCB($m) + { + return $this->_reservePlace($m[1]); + } + + protected function _removeStyleCB($m) + { + $openStyle = $m[1]; + $css = $m[2]; + // remove HTML comments + $css = preg_replace('/(?:^\\s*\\s*$)/', '', $css); + + // remove CDATA section markers + $css = $this->_removeCdata($css); + + // minify + $minifier = $this->_cssMinifier + ? $this->_cssMinifier + : 'trim'; + $css = call_user_func($minifier, $css); + + return $this->_reservePlace($this->_needsCdata($css) + ? "{$openStyle}/**/" + : "{$openStyle}{$css}" + ); + } + + protected function _removeScriptCB($m) + { + $openScript = $m[2]; + $js = $m[3]; + + // whitespace surrounding? preserve at least one space + $ws1 = ($m[1] === '') ? '' : ' '; + $ws2 = ($m[4] === '') ? '' : ' '; + + // remove HTML comments (and ending "//" if present) + $js = preg_replace('/(?:^\\s*\\s*$)/', '', $js); + + // remove CDATA section markers + $js = $this->_removeCdata($js); + + // minify + $minifier = $this->_jsMinifier + ? $this->_jsMinifier + : 'trim'; + $js = call_user_func($minifier, $js); + + return $this->_reservePlace($this->_needsCdata($js) + ? "{$ws1}{$openScript}/**/{$ws2}" + : "{$ws1}{$openScript}{$js}{$ws2}" + ); + } + + protected function _removeCdata($str) + { + return (false !== strpos($str, ''), '', $str) + : $str; + } + + protected function _needsCdata($str) + { + return ($this->_isXhtml && preg_match('/(?:[<&]|\\-\\-|\\]\\]>)/', $str)); + } +} + diff --git a/lib/classes/output/class.htmlform.php b/lib/classes/output/class.htmlform.php new file mode 100644 index 00000000..4f9a5b6f --- /dev/null +++ b/lib/classes/output/class.htmlform.php @@ -0,0 +1,168 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Classes + * @version $Id: class.htmlform.php 130 2010-12-22 00:54:11Z d00p $ + */ + +class htmlform +{ + /** + * internal tmp-variable to store form + * @var string + */ + private static $_form = ''; + private static $_filename = ''; + + public static function genHTMLForm($data = array()) + { + global $lng; + + self::$_form = ''; + + foreach($data as $fdata) + { + $sections = $fdata['sections']; + + foreach($sections as $section) + { + /* + * here be section title & image + */ + $title = $section['title']; + $image = $section['image']; + + if(isset($section['visible']) && $section['visible'] === false) + { + continue; + } + + eval("self::\$_form .= \"" . getTemplate("misc/form/table_section", "1") . "\";"); + + foreach($section['fields'] as $fieldname => $fielddata) + { + if(isset($fielddata['visible']) && $fielddata['visible'] === false) + { + continue; + } + + $label = $fielddata['label']; + $desc = (isset($fielddata['desc']) ? $fielddata['desc'] : ''); + $style = (isset($fielddata['style']) ? ' style="'.$fielddata['style'].'"' : ''); + $mandatory = self::_getMandatoryFlag($fielddata); + $data_field = self::_parseDataField($fieldname, $fielddata); + $data_field = str_replace("\n", "", $data_field); + $data_field = str_replace("\t", "", $data_field); + eval("self::\$_form .= \"" . getTemplate("misc/form/table_row", "1") . "\";"); + } + } + } + + return self::$_form; + } + + private static function _parseDataField($fieldname, $data = array()) + { + switch($data['type']) + { + case 'text': + return self::_textBox($fieldname, $data); break; + case 'textul': + return self::_textBox($fieldname, $data, 'text', true); break; + case 'password': + return self::_textBox($fieldname, $data, 'password'); break; + case 'hidden': + return self::_textBox($fieldname, $data, 'hidden'); break; + case 'yesno': + return self::_yesnoBox($data); break; + case 'select': + return self::_selectBox($fieldname, $data); break; + case 'label': + return self::_labelField($data); break; + case 'textarea': + return self::_textArea($fieldname, $data); break; + } + } + + private static function _getMandatoryFlag($data = array()) + { + if(isset($data['mandatory'])) + { + return ' *'; + } + elseif(isset($data['mandatory_ex'])) + { + return ' **'; + } + return ''; + } + + private static function _textBox($fieldname = '', $data = array(), $type = 'text', $unlimited = false) + { + $return = ''; + $extras = ''; + if(isset($data['maxlength'])) { + $extras .= ' maxlength="'.$data['maxlength'].'"'; + } + if(isset($data['size'])) { + $extras .= ' size="'.$data['size'].'"'; + } + + $value = isset($data['value']) ? $data['value'] : ''; + $ulfield = ($unlimited == true ? ' '.$data['ul_field'] : ''); + if(isset($data['display']) && $data['display'] != '') + { + $ulfield = ''.$data['display'].''; + } + + eval("\$return = \"" . getTemplate("misc/form/input_text", "1") . "\";"); + return $return; + } + + private static function _textArea($fieldname = '', $data = array()) + { + $return = ''; + $extras = ''; + if(isset($data['cols'])) { + $extras .= ' cols="'.$data['cols'].'"'; + } + if(isset($data['rows'])) { + $extras .= ' rows="'.$data['rows'].'"'; + } + $value = isset($data['value']) ? $data['value'] : ''; + + eval("\$return = \"" . getTemplate("misc/form/input_textarea", "1") . "\";"); + return $return; + } + + private static function _yesnoBox($data = array()) + { + return $data['yesno_var']; + } + + private static function _labelField($data = array()) + { + return $data['value']; + } + + private static function _selectBox($fieldname = '', $data = array()) + { + return ''; + } +} diff --git a/lib/functions/froxlor/function.getThemes.php b/lib/functions/froxlor/function.getThemes.php new file mode 100644 index 00000000..d15e92a6 --- /dev/null +++ b/lib/functions/froxlor/function.getThemes.php @@ -0,0 +1,45 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Functions + * @version $Id: function.getThemes.php 5 2010-11-08 09:35:26Z d00p $ + */ + +/** + * returns an array for the settings-array + * + * @return array + */ +function getThemes() +{ + $themespath = makeCorrectDir(dirname(dirname(dirname(dirname(__FILE__)))).'/templates/'); + $themes_available = array(); + + if (is_dir($themespath)) + { + $its = new DirectoryIterator($themespath); + + foreach ($its as $it) + { + if ($it->isDir() + && $it->getFilename() != '.' + && $it->getFilename() != '..' + && $it->getFilename() != '.svn' + && $it->getFilename() != 'misc' + ) { + $themes_available[] = $it->getFilename(); + } + } + } + return $themes_available; +} From 43770d37e1439a98a59fb0a817cca1a590243520 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 12:53:24 +0100 Subject: [PATCH 04/48] manually merged re-design changes to 80% of the files Signed-off-by: Michael Kaufmann (d00p) --- actions/admin/settings/100.panel.php | 19 +- admin_admins.php | 64 ++- admin_cronjobs.php | 10 +- admin_customers.php | 71 ++- admin_domains.php | 13 + admin_index.php | 31 +- admin_ipsandports.php | 14 + admin_logger.php | 6 +- admin_phpsettings.php | 15 + admin_settings.php | 2 +- admin_templates.php | 32 +- admin_tickets.php | 26 ++ customer_autoresponder.php | 4 +- customer_index.php | 30 +- index.php | 18 +- install/froxlor.sql | 4 + install/install.php | 404 +++++++++--------- install/lng/english.lng.php | 1 + install/lng/french.lng.php | 1 + install/lng/german.lng.php | 1 + .../updates/froxlor/0.9/update_0.9.inc.php | 23 + .../preconfig/0.9/preconfig_0.9.inc.php | 14 + 22 files changed, 572 insertions(+), 231 deletions(-) diff --git a/actions/admin/settings/100.panel.php b/actions/admin/settings/100.panel.php index bc7f00a9..9bb4a0a5 100644 --- a/actions/admin/settings/100.panel.php +++ b/actions/admin/settings/100.panel.php @@ -32,6 +32,17 @@ return array( 'option_options_method' => 'getLanguages', 'save_method' => 'storeSettingField', ), + 'panel_default_theme' => array( + 'label' => $lng['serversettings']['default_theme'], + 'settinggroup' => 'panel', + 'varname' => 'default_theme', + 'type' => 'option', + 'default' => 'Froxlor', + 'option_mode' => 'one', + 'option_options' => array('Classic' => 'Classic', 'Froxlor' => 'Froxlor'), + /* 'option_options_method' => 'getThemes', // iterate through templates/ and dynamically display all folders found */ + 'save_method' => 'storeSettingField', + ), 'panel_natsorting' => array( 'label' => $lng['serversettings']['natsorting'], 'settinggroup' => 'panel', @@ -151,14 +162,6 @@ return array( 'default' => false, 'save_method' => 'storeSettingField', ), - 'admin_froxlor_graphic' => array( - 'label' => $lng['admin']['froxlor_graphic'], - 'settinggroup' => 'admin', - 'varname' => 'froxlor_graphic', - 'type' => 'string', - 'default' => '', - 'save_method' => 'storeSettingField', - ), 'panel_allow_domain_change_admin' => array( 'label' => $lng['serversettings']['panel_allow_domain_change_admin'], 'settinggroup' => 'panel', diff --git a/admin_admins.php b/admin_admins.php index eeb5c8e5..75f3603e 100644 --- a/admin_admins.php +++ b/admin_admins.php @@ -14,7 +14,7 @@ * @author Froxlor team (2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Panel - * @version $Id$ + * @version $Id: admin_admins.php 101 2010-12-08 07:03:42Z d00p $ */ define('AREA', 'admin'); @@ -47,6 +47,7 @@ if($page == 'admins' 'diskspace_used' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')', 'traffic' => $lng['customer']['traffic'], 'traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')', +/* 'mysqls' => $lng['customer']['mysqls'], 'mysqls_used' => $lng['customer']['mysqls'] . ' (' . $lng['panel']['used'] . ')', 'ftps' => $lng['customer']['ftps'], @@ -66,6 +67,7 @@ if($page == 'admins' 'email_autoresponder' => $lng['customer']['autoresponder'], 'email_autoresponder_used' => $lng['customer']['autoresponder'] . ' (' . $lng['panel']['used'] . ')', 'deactivated' => $lng['admin']['deactivated'] +*/ ); $paging = new paging($userinfo, $db, TABLE_PANEL_ADMINS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $admins = ''; @@ -86,6 +88,19 @@ if($page == 'admins' $row['traffic'] = round($row['traffic'] / (1024 * 1024), $settings['panel']['decimal_places']); $row['diskspace_used'] = round($row['diskspace_used'] / 1024, $settings['panel']['decimal_places']); $row['diskspace'] = round($row['diskspace'] / 1024, $settings['panel']['decimal_places']); + + /** + * percent-values for progressbar + */ + if($row['diskspace'] > 0) { + $percent = round(($row['diskspace_used']*100)/$row['diskspace'], 2); + $doublepercent = round($percent*2, 2); + } else { + $percent = 0; + $doublepercent = 0; + } + /* */ + $row = str_replace_array('-1', 'UL', $row, 'customers domains diskspace traffic mysqls emails email_accounts email_forwarders email_quota email_autoresponder ftps subdomains tickets'); $row = htmlentities_array($row); eval("\$admins.=\"" . getTemplate("admins/admins_admin") . "\";"); @@ -360,8 +375,38 @@ if($page == 'admins' $change_serversettings = '0'; } - $result = $db->query("INSERT INTO `" . TABLE_PANEL_ADMINS . "` (`loginname`, `password`, `name`, `email`, `def_language`, `change_serversettings`, `customers`, `customers_see_all`, `domains`, `domains_see_all`, `caneditphpsettings`, `diskspace`, `traffic`, `subdomains`, `emails`, `email_accounts`, `email_forwarders`, `email_quota`, `ftps`, `tickets`, `mysqls`, `ip`, `can_manage_aps_packages`, `aps_packages`, `email_autoresponder`) - VALUES ('" . $db->escape($loginname) . "', '" . md5($password) . "', '" . $db->escape($name) . "', '" . $db->escape($email) . "','" . $db->escape($def_language) . "', '" . $db->escape($change_serversettings) . "', '" . $db->escape($customers) . "', '" . $db->escape($customers_see_all) . "', '" . $db->escape($domains) . "', '" . $db->escape($domains_see_all) . "', '" . (int)$caneditphpsettings . "', '" . $db->escape($diskspace) . "', '" . $db->escape($traffic) . "', '" . $db->escape($subdomains) . "', '" . $db->escape($emails) . "', '" . $db->escape($email_accounts) . "', '" . $db->escape($email_forwarders) . "', '" . $db->escape($email_quota) . "', '" . $db->escape($ftps) . "', '" . $db->escape($tickets) . "', '" . $db->escape($mysqls) . "', '" . (int)$ipaddress . "', " . (int)$can_manage_aps_packages . ", " . (int)$number_of_aps_packages . ", " . $db->escape($email_autoresponder) . ")"); + $_theme = $settings['panel']['default_theme']; + + $result = $db->query("INSERT INTO + `" . TABLE_PANEL_ADMINS . "` + SET + `loginname` = '" . $db->escape($loginname) . "', + `password` = '" . md5($password) . "', + `name` = '" . $db->escape($name) . "', + `email` = '" . $db->escape($email) . "', + `def_language` = '" . $db->escape($def_language) . "', + `change_serversettings` = '" . $db->escape($change_serversettings) . "', + `customers` = '" . $db->escape($customers) . "', + `customers_see_all` = '" . $db->escape($customers_see_all) . "', + `domains` = '" . $db->escape($domains) . "', + `domains_see_all` = '" . $db->escape($domains_see_all) . "', + `caneditphpsettings` = '" . (int)$caneditphpsettings . "', + `diskspace` = '" . $db->escape($diskspace) . "', + `traffic` = '" . $db->escape($traffic) . "', + `subdomains` = '" . $db->escape($subdomains) . "', + `emails` = '" . $db->escape($emails) . "', + `email_accounts` = '" . $db->escape($email_accounts) . "', + `email_forwarders` = '" . $db->escape($email_forwarders) . "', + `email_quota` = '" . $db->escape($email_quota) . "', + `ftps` = '" . $db->escape($ftps) . "', + `tickets` = '" . $db->escape($tickets) . "', + `mysqls` = '" . $db->escape($mysqls) . "', + `ip` = '" . (int)$ipaddress . "', + `can_manage_aps_packages` = '" . (int)$can_manage_aps_packages . "', + `aps_packages` = '" . (int)$number_of_aps_packages . "', + `email_autoresponder` = '" . $db->escape($email_autoresponder) . "', + `theme` = '".$db->escape($_theme)."'; + "); $adminid = $db->insert_id(); $log->logAction(ADM_ACTION, LOG_INFO, "added admin '" . $loginname . "'"); redirectTo($filename, Array('page' => $page, 's' => $s)); @@ -414,6 +459,12 @@ if($page == 'admins' $can_manage_aps_packages = makeyesno('can_manage_aps_packages', '1', '0', '0'); $number_of_aps_packages_ul = makecheckbox('number_of_aps_packages_ul', $lng['customer']['unlimited'], '-1', false, '0', true, true); + $admin_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/admin/formfield.admin_add.php'; + $admin_add_form = htmlform::genHTMLForm($admin_add_data); + + $title = $admin_add_data['admin_add']['title']; + $image = $admin_add_data['admin_add']['image']; + eval("echo \"" . getTemplate("admins/admins_add") . "\";"); } } @@ -786,6 +837,13 @@ if($page == 'admins' $can_manage_aps_packages = makeyesno('can_manage_aps_packages', '1', '0', $result['can_manage_aps_packages']); $result = htmlentities_array($result); + + $admin_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/admin/formfield.admin_edit.php'; + $admin_edit_form = htmlform::genHTMLForm($admin_edit_data); + + $title = $admin_edit_data['admin_edit']['title']; + $image = $admin_edit_data['admin_edit']['image']; + eval("echo \"" . getTemplate("admins/admins_edit") . "\";"); } } diff --git a/admin_cronjobs.php b/admin_cronjobs.php index 164560ed..e1025a68 100644 --- a/admin_cronjobs.php +++ b/admin_cronjobs.php @@ -12,7 +12,7 @@ * @author Froxlor team (2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Panel - * @version $Id$ + * @version $Id: admin_cronjobs.php 105 2010-12-09 08:02:33Z d00p $ */ define('AREA', 'admin'); @@ -140,7 +140,13 @@ if($page == 'cronjobs' { $change_cronfile = true; } - + + $cronjobs_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php'; + $cronjobs_edit_form = htmlform::genHTMLForm($cronjobs_edit_data); + + $title = $cronjobs_edit_data['cronjobs_edit']['title']; + $image = $cronjobs_edit_data['cronjobs_edit']['image']; + eval("echo \"" . getTemplate("cronjobs/cronjob_edit") . "\";"); } } diff --git a/admin_customers.php b/admin_customers.php index 1782a808..237635c8 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -50,7 +50,8 @@ if($page == 'customers' 'c.diskspace' => $lng['customer']['diskspace'], 'c.diskspace_used' => $lng['customer']['diskspace'] . ' (' . $lng['panel']['used'] . ')', 'c.traffic' => $lng['customer']['traffic'], - 'c.traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')', + 'c.traffic_used' => $lng['customer']['traffic'] . ' (' . $lng['panel']['used'] . ')' +/* 'c.mysqls' => $lng['customer']['mysqls'], 'c.mysqls_used' => $lng['customer']['mysqls'] . ' (' . $lng['panel']['used'] . ')', 'c.ftps' => $lng['customer']['ftps'], @@ -69,8 +70,10 @@ if($page == 'customers' 'c.lastlogin_succ' => $lng['admin']['lastlogin_succ'], 'c.phpenabled' => $lng['admin']['phpenabled'], 'c.perlenabled' => $lng['admin']['perlenabled'] +*/ ); +/* if($settings['ticket']['enabled'] == 1) { $fields['c.tickets'] = $lng['customer']['tickets']; @@ -82,6 +85,7 @@ if($page == 'customers' $fields['c.email_autoresponder'] = $lng['customer']['autoresponder']; $fields['c.email_autoresponder_used'] = $lng['customer']['autoresponder'] . ' (' . $lng['panel']['used'] . ')'; } +*/ $paging = new paging($userinfo, $db, TABLE_PANEL_CUSTOMERS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $customers = ''; @@ -106,6 +110,17 @@ if($page == 'customers' $row['diskspace'] = round($row['diskspace'] / 1024, $settings['panel']['decimal_places']); $last_login = ((int)$row['lastlogin_succ'] == 0) ? $lng['panel']['neverloggedin'] : date('d.m.Y', $row['lastlogin_succ']); + /** + * percent-values for progressbar + */ + if ($row['diskspace'] > 0) { + $percent = round(($row['diskspace_used']*100)/$row['diskspace'], 2); + $doublepercent = round($percent*2, 2); + } else { + $percent = 0; + $doublepercent = 0; + } + $column_style = ''; $unlock_link = ''; if($row['loginfail_count'] >= $settings['login']['maxloginattempts'] @@ -598,7 +613,45 @@ if($page == 'customers' $password = substr(md5(uniqid(microtime(), 1)), 12, 6); } - $result = $db->query("INSERT INTO `" . TABLE_PANEL_CUSTOMERS . "` (`adminid`, `loginname`, `password`, `name`, `firstname`, `company`, `street`, `zipcode`, `city`, `phone`, `fax`, `email`, `customernumber`, `def_language`, `documentroot`, `guid`, `diskspace`, `traffic`, `subdomains`, `emails`, `email_accounts`, `email_forwarders`, `email_quota`, `ftps`, `tickets`, `mysqls`, `standardsubdomain`, `phpenabled`, `imap`, `pop3`, `aps_packages`, `perlenabled`, `email_autoresponder`) VALUES ('" . (int)$userinfo['adminid'] . "', '" . $db->escape($loginname) . "', '" . md5($password) . "', '" . $db->escape($name) . "', '" . $db->escape($firstname) . "', '" . $db->escape($company) . "', '" . $db->escape($street) . "', '" . $db->escape($zipcode) . "', '" . $db->escape($city) . "', '" . $db->escape($phone) . "', '" . $db->escape($fax) . "', '" . $db->escape($email) . "', '" . $db->escape($customernumber) . "','" . $db->escape($def_language) . "', '" . $db->escape($documentroot) . "', '" . $db->escape($guid) . "', '" . $db->escape($diskspace) . "', '" . $db->escape($traffic) . "', '" . $db->escape($subdomains) . "', '" . $db->escape($emails) . "', '" . $db->escape($email_accounts) . "', '" . $db->escape($email_forwarders) . "', '" . $db->escape($email_quota) . "', '" . $db->escape($ftps) . "', '" . $db->escape($tickets) . "', '" . $db->escape($mysqls) . "', '0', '" . $db->escape($phpenabled) . "', '" . $db->escape($email_imap) . "', '" . $db->escape($email_pop3) . "', '" . (int)$number_of_aps_packages . "', '" . $db->escape($perlenabled) . "', '" . $db->escape($email_autoresponder) . "')"); + $_theme = $settings['panel']['default_theme']; + + $result = $db->query( + "INSERT INTO `" . TABLE_PANEL_CUSTOMERS . "` SET + `adminid` = '" . (int)$userinfo['adminid'] . "', + `loginname` = '" . $db->escape($loginname) . "', + `password` = '" . md5($password) . "', + `name` = '" . $db->escape($name) . "', + `firstname` = '" . $db->escape($firstname) . "', + `company` = '" . $db->escape($company) . "', + `street` = '" . $db->escape($street) . "', + `zipcode` = '" . $db->escape($zipcode) . "', + `city` = '" . $db->escape($city) . "', + `phone` = '" . $db->escape($phone) . "', + `fax` = '" . $db->escape($fax) . "', + `email` = '" . $db->escape($email) . "', + `customernumber` = '" . $db->escape($customernumber) . "', + `def_language` = '" . $db->escape($def_language) . "', + `documentroot` = '" . $db->escape($documentroot) . "', + `guid` = '" . $db->escape($guid) . "', + `diskspace` = '" . $db->escape($diskspace) . "', + `traffic` = '" . $db->escape($traffic) . "', + `subdomains` = '" . $db->escape($subdomains) . "', + `emails` = '" . $db->escape($emails) . "', + `email_accounts` = '" . $db->escape($email_accounts) . "', + `email_forwarders` = '" . $db->escape($email_forwarders) . "', + `email_quota` = '" . $db->escape($email_quota) . "', + `ftps` = '" . $db->escape($ftps) . "', + `tickets` = '" . $db->escape($tickets) . "', + `mysqls` = '" . $db->escape($mysqls) . "', + `standardsubdomain` = '0', + `phpenabled` = '" . $db->escape($phpenabled) . "', + `imap` = '" . $db->escape($email_imap) . "', + `pop3` = '" . $db->escape($email_pop3) . "', + `aps_packages` = '" . (int)$number_of_aps_packages . "', + `perlenabled` = '" . $db->escape($perlenabled) . "', + `email_autoresponder` = '" . $db->escape($email_autoresponder) . "', + `theme` = '" . $db->escape($_theme) . "'" + ); $customerid = $db->insert_id(); $admin_update_query = "UPDATE `" . TABLE_PANEL_ADMINS . "` SET `customers_used` = `customers_used` + 1"; @@ -806,6 +859,13 @@ if($page == 'customers' $phpenabled = makeyesno('phpenabled', '1', '0', '1'); $perlenabled = makeyesno('perlenabled', '1', '0', '0'); $store_defaultindex = makeyesno('store_defaultindex', '1', '0', '1'); + + $customer_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/customer/formfield.customer_add.php'; + $customer_add_form = htmlform::genHTMLForm($customer_add_data); + + $title = $customer_add_data['customer_add']['title']; + $image = $customer_add_data['customer_add']['image']; + eval("echo \"" . getTemplate("customers/customers_add") . "\";"); } } @@ -1378,6 +1438,13 @@ if($page == 'customers' $email_pop3 = makeyesno('email_pop3', '1', '0', $result['pop3']); $result = htmlentities_array($result); + + $customer_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/customer/formfield.customer_edit.php'; + $customer_edit_form = htmlform::genHTMLForm($customer_edit_data); + + $title = $customer_edit_data['customer_edit']['title']; + $image = $customer_edit_data['customer_edit']['image']; + eval("echo \"" . getTemplate("customers/customers_edit") . "\";"); } } diff --git a/admin_domains.php b/admin_domains.php index 5632e276..e898f848 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -669,6 +669,12 @@ if($page == 'domains' $ssl_redirect = makeyesno('ssl_redirect', '1', '0', '0'); $add_date = date('Y-m-d'); + $domain_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/domains/formfield.domains_add.php'; + $domain_add_form = htmlform::genHTMLForm($domain_add_data); + + $title = $domain_add_data['domain_add']['title']; + $image = $domain_add_data['domain_add']['image']; + eval("echo \"" . getTemplate("domains/domains_add") . "\";"); } } @@ -1208,6 +1214,13 @@ if($page == 'domains' $specialsettingsforsubdomains = makeyesno('specialsettingsforsubdomains', '1', '0', '1'); $result = htmlentities_array($result); + + $domain_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/domains/formfield.domains_edit.php'; + $domain_edit_form = htmlform::genHTMLForm($domain_edit_data); + + $title = $domain_edit_data['domain_edit']['title']; + $image = $domain_edit_data['domain_edit']['image']; + eval("echo \"" . getTemplate("domains/domains_edit") . "\";"); } } diff --git a/admin_index.php b/admin_index.php index a0155df9..0eb23488 100644 --- a/admin_index.php +++ b/admin_index.php @@ -295,5 +295,34 @@ elseif($page == 'change_language') eval("echo \"" . getTemplate("index/change_language") . "\";"); } } +elseif($page == 'change_theme') +{ + if(isset($_POST['send']) + && $_POST['send'] == 'send' + ) { + $theme = validate($_POST['theme'], 'theme'); -?> + $db->query("UPDATE `" . TABLE_PANEL_ADMINS . "` SET `theme`='" . $db->escape($theme) . "' WHERE `adminid`='" . (int)$userinfo['adminid'] . "'"); + $db->query("UPDATE `" . TABLE_PANEL_SESSIONS . "` SET `theme`='" . $db->escape($theme) . "' WHERE `hash`='" . $db->escape($s) . "'"); + + $log->logAction(ADM_ACTION, LOG_NOTICE, "changed his/her theme to '" . $theme . "'"); + redirectTo($filename, Array('s' => $s)); + } + else + { + $theme_options = ''; + + $default_theme = $settings['panel']['default_theme']; + if($userinfo['theme'] != '') { + $default_theme = $userinfo['theme']; + } + + $themes_avail = getThemes(); + foreach($themes_avail as $t) + { + $theme_options.= makeoption($t, $t, $default_theme, true); + } + + eval("echo \"" . getTemplate("index/change_theme") . "\";"); + } +} diff --git a/admin_ipsandports.php b/admin_ipsandports.php index 9260889f..ace5848f 100644 --- a/admin_ipsandports.php +++ b/admin_ipsandports.php @@ -256,6 +256,13 @@ if($page == 'ipsandports' $namevirtualhost_statement = makeyesno('namevirtualhost_statement', '1', '0', '1'); $vhostcontainer = makeyesno('vhostcontainer', '1', '0', '1'); $vhostcontainer_servername_statement = makeyesno('vhostcontainer_servername_statement', '1', '0', '1'); + + $ipsandports_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/ipsandports/formfield.ipsandports_add.php'; + $ipsandports_add_form = htmlform::genHTMLForm($ipsandports_add_data); + + $title = $ipsandports_add_data['ipsandports_add']['title']; + $image = $ipsandports_add_data['ipsandports_add']['image']; + eval("echo \"" . getTemplate("ipsandports/ipsandports_add") . "\";"); } } @@ -396,6 +403,13 @@ if($page == 'ipsandports' $namevirtualhost_statement = makeyesno('namevirtualhost_statement', '1', '0', $result['namevirtualhost_statement']); $vhostcontainer = makeyesno('vhostcontainer', '1', '0', $result['vhostcontainer']); $vhostcontainer_servername_statement = makeyesno('vhostcontainer_servername_statement', '1', '0', $result['vhostcontainer_servername_statement']); + + $ipsandports_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/ipsandports/formfield.ipsandports_edit.php'; + $ipsandports_edit_form = htmlform::genHTMLForm($ipsandports_edit_data); + + $title = $ipsandports_edit_data['ipsandports_edit']['title']; + $image = $ipsandports_edit_data['ipsandports_edit']['image']; + eval("echo \"" . getTemplate("ipsandports/ipsandports_edit") . "\";"); } } diff --git a/admin_logger.php b/admin_logger.php index 74fc5847..da849a60 100644 --- a/admin_logger.php +++ b/admin_logger.php @@ -31,10 +31,10 @@ if($page == 'log' if($action == '') { $fields = array( - 'action' => $lng['logger']['action'], 'date' => $lng['logger']['date'], 'type' => $lng['logger']['type'], - 'user' => $lng['logger']['user'] + 'user' => $lng['logger']['user'], + 'text' => $lng['logger']['action'] ); $paging = new paging($userinfo, $db, TABLE_PANEL_LOG, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging->sortfield = 'date'; @@ -167,5 +167,3 @@ if($page == 'log' } } } - -?> \ No newline at end of file diff --git a/admin_phpsettings.php b/admin_phpsettings.php index 3d6606f1..2213f84f 100644 --- a/admin_phpsettings.php +++ b/admin_phpsettings.php @@ -39,6 +39,7 @@ if($page == 'overview') if($action == '') { $tablecontent = ''; + $count = 0; $result = $db->query("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "`"); while($row = $db->fetch_array($result)) @@ -68,6 +69,7 @@ if($page == 'overview') $domains = $lng['admin']['phpsettings']['notused']; } + $count ++; eval("\$tablecontent.=\"" . getTemplate("phpconfig/overview_overview") . "\";"); } @@ -103,6 +105,13 @@ if($page == 'overview') else { $result = $db->query_first("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "` WHERE `id` = 1"); + + $phpconfig_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/phpconfig/formfield.phpconfig_add.php'; + $phpconfig_add_form = htmlform::genHTMLForm($phpconfig_add_data); + + $title = $phpconfig_add_data['phpconfig_add']['title']; + $image = $phpconfig_add_data['phpconfig_add']['image']; + eval("echo \"" . getTemplate("phpconfig/overview_add") . "\";"); } } @@ -172,6 +181,12 @@ if($page == 'overview') } else { + $phpconfig_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/phpconfig/formfield.phpconfig_edit.php'; + $phpconfig_edit_form = htmlform::genHTMLForm($phpconfig_edit_data); + + $title = $phpconfig_edit_data['phpconfig_edit']['title']; + $image = $phpconfig_edit_data['phpconfig_edit']['image']; + eval("echo \"" . getTemplate("phpconfig/overview_edit") . "\";"); } } diff --git a/admin_settings.php b/admin_settings.php index 5ae50347..cadf10ca 100644 --- a/admin_settings.php +++ b/admin_settings.php @@ -119,7 +119,7 @@ elseif($page == 'rebuildconfigs' inserttask('1'); inserttask('4'); inserttask('5'); - redirectTo('admin_index.php', array('s' => $s)); + standard_success('rebuildingconfigs', '', array('filename' => 'admin_index.php')); } else { diff --git a/admin_templates.php b/admin_templates.php index bd25a008..e2469e0a 100644 --- a/admin_templates.php +++ b/admin_templates.php @@ -152,7 +152,7 @@ elseif($action == 'delete' } } } -elseif($action == 'delete' +elseif($action == 'deletef' && $id != 0) { //file templates @@ -209,6 +209,12 @@ elseif($action == 'add') $template_options.= makeoption($lng['admin']['templates'][$template], $template, NULL, true); } + $template_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/templates/formfield.template_add.php'; + $template_add_form = htmlform::genHTMLForm($template_add_data); + + $title = $template_add_data['template_add']['title']; + $image = $template_add_data['template_add']['image']; + eval("echo \"" . getTemplate("templates/templates_add_2") . "\";"); } elseif(isset($_POST['send']) @@ -312,6 +318,12 @@ elseif($action == 'add') $free_templates.= makeoption($lng['admin']['templates'][$template], $template, '', true); } + $filetemplate_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/templates/formfield.filetemplate_add.php'; + $filetemplate_add_form = htmlform::genHTMLForm($filetemplate_add_data); + + $title = $filetemplate_add_data['filetemplate_add']['title']; + $image = $filetemplate_add_data['filetemplate_add']['image']; + eval("echo \"" . getTemplate("templates/filetemplates_add") . "\";"); } } @@ -344,11 +356,18 @@ elseif($action == 'edit' $result = $db->query_first("SELECT `language`, `varname`, `value` FROM `" . TABLE_PANEL_TEMPLATES . "` WHERE `id`='$mailbodyid'"); $result = htmlentities_array($result); $mailbody = $result['value']; + + $template_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/templates/formfield.template_edit.php'; + $template_edit_form = htmlform::genHTMLForm($template_edit_data); + + $title = $template_edit_data['template_edit']['title']; + $image = $template_edit_data['template_edit']['image']; + eval("echo \"" . getTemplate("templates/templates_edit") . "\";"); } } } -elseif($action == 'edit' +elseif($action == 'editf' && $id != 0) { //file templates @@ -372,6 +391,13 @@ elseif($action == 'edit' else { $row = htmlentities_array($row); + + $filetemplate_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/templates/formfield.filetemplate_edit.php'; + $filetemplate_edit_form = htmlform::genHTMLForm($filetemplate_edit_data); + + $title = $filetemplate_edit_data['filetemplate_edit']['title']; + $image = $filetemplate_edit_data['filetemplate_edit']['image']; + eval("echo \"" . getTemplate("templates/filetemplates_edit") . "\";"); } } @@ -381,5 +407,3 @@ elseif($action == 'edit' exit; } } - -?> \ No newline at end of file diff --git a/admin_tickets.php b/admin_tickets.php index b140fc17..27f35ba6 100644 --- a/admin_tickets.php +++ b/admin_tickets.php @@ -227,6 +227,13 @@ if($page == 'tickets' $priorities = makeoption($lng['ticket']['unf_high'], '1', $settings['ticket']['default_priority']); $priorities.= makeoption($lng['ticket']['unf_normal'], '2', $settings['ticket']['default_priority']); $priorities.= makeoption($lng['ticket']['unf_low'], '3', $settings['ticket']['default_priority']); + + $ticket_new_data = include_once dirname(__FILE__).'/lib/formfields/admin/ticket/formfield.ticket_new.php'; + $ticket_new_form = htmlform::genHTMLForm($ticket_new_data); + + $title = $ticket_new_data['ticket_new']['title']; + $image = $ticket_new_data['ticket_new']['image']; + eval("echo \"" . getTemplate("ticket/tickets_new") . "\";"); } } @@ -338,6 +345,11 @@ if($page == 'tickets' $ticket_replies_count = $db->num_rows($andere) + 1; // don't forget the main-ticket! + $ticket_reply_data = include_once dirname(__FILE__).'/lib/formfields/admin/ticket/formfield.ticket_reply.php'; + $ticket_reply_form = htmlform::genHTMLForm($ticket_reply_data); + + $title = $ticket_reply_data['ticket_reply']['title']; + $image = $ticket_reply_data['ticket_reply']['image']; eval("echo \"" . getTemplate("ticket/tickets_reply") . "\";"); } @@ -491,6 +503,13 @@ elseif($page == 'categories' else { $order = ticket::getHighestOrderNumber($db) + 1; + + $category_new_data = include_once dirname(__FILE__).'/lib/formfields/admin/ticket/formfield.category_new.php'; + $category_new_form = htmlform::genHTMLForm($category_new_data); + + $title = $category_new_data['category_new']['title']; + $image = $category_new_data['category_new']['image']; + eval("echo \"" . getTemplate("ticket/tickets_newcategory") . "\";"); } } @@ -522,6 +541,13 @@ elseif($page == 'categories' else { $row = $db->query_first('SELECT * FROM `' . TABLE_PANEL_TICKET_CATS . '` WHERE `id` = "' . (int)$id . '"'); + + $category_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/ticket/formfield.category_edit.php'; + $category_edit_form = htmlform::genHTMLForm($category_edit_data); + + $title = $category_edit_data['category_edit']['title']; + $image = $category_edit_data['category_edit']['image']; + eval("echo \"" . getTemplate("ticket/tickets_editcategory") . "\";"); } } diff --git a/customer_autoresponder.php b/customer_autoresponder.php index 616b004d..c0c6e1be 100644 --- a/customer_autoresponder.php +++ b/customer_autoresponder.php @@ -279,6 +279,7 @@ if($action == "delete") else { $autoresponder = ''; + $count = 0; $result = $db->query("SELECT * FROM `" . TABLE_MAIL_AUTORESPONDER . "` WHERE `customerid` = '" . (int)$userinfo['customerid'] . "' ORDER BY email ASC"); while($row = $db->fetch_array($result)) @@ -300,9 +301,8 @@ else $activated_date = date('d-m-Y', $row['date_from']) . ' - ' . date('d-m-Y', $row['date_until']); } eval("\$autoresponder.=\"" . getTemplate("email/autoresponder_autoresponder") . "\";"); + $count++; } eval("echo \"" . getTemplate("email/autoresponder") . "\";"); } - -?> \ No newline at end of file diff --git a/customer_index.php b/customer_index.php index 1593442c..808bbea2 100644 --- a/customer_index.php +++ b/customer_index.php @@ -185,5 +185,33 @@ elseif($page == 'change_language') eval("echo \"" . getTemplate("index/change_language") . "\";"); } } +elseif($page == 'change_theme') +{ + if(isset($_POST['send']) + && $_POST['send'] == 'send' + ) { + $theme = validate($_POST['theme'], 'theme'); + + $db->query("UPDATE `" . TABLE_PANEL_CUSTOMERS . "` SET `theme`='" . $db->escape($theme) . "' WHERE `customerid`='" . (int)$userinfo['customerid'] . "'"); + $db->query("UPDATE `" . TABLE_PANEL_SESSIONS . "` SET `theme`='" . $db->escape($theme) . "' WHERE `hash`='" . $db->escape($s) . "'"); + $log->logAction(USR_ACTION, LOG_NOTICE, "changed default theme to '" . $theme . "'"); + redirectTo($filename, Array('s' => $s)); + } + else + { + $theme_options = ''; -?> + $default_theme = $settings['panel']['default_theme']; + if($userinfo['theme'] != '') { + $default_theme = $userinfo['theme']; + } + + $themes_avail = getThemes(); + foreach($themes_avail as $t) + { + $theme_options.= makeoption($t, $t, $default_theme, true); + } + + eval("echo \"" . getTemplate("index/change_theme") . "\";"); + } +} diff --git a/index.php b/index.php index 6b897a86..10debf61 100644 --- a/index.php +++ b/index.php @@ -177,12 +177,20 @@ if($action == 'login') $language = $settings['panel']['standardlanguage']; } + if(isset($userinfo['theme']) && $userinfo['theme'] != '') { + $theme = $userinfo['theme']; + } + else + { + $theme = $settings['panel']['default_theme']; + } + if($settings['session']['allow_multiple_login'] != '1') { $db->query("DELETE FROM `" . TABLE_PANEL_SESSIONS . "` WHERE `userid` = '" . (int)$userinfo['userid'] . "' AND `adminsession` = '" . $db->escape($userinfo['adminsession']) . "'"); } - $db->query("INSERT INTO `" . TABLE_PANEL_SESSIONS . "` (`hash`, `userid`, `ipaddress`, `useragent`, `lastactivity`, `language`, `adminsession`) VALUES ('" . $db->escape($s) . "', '" . (int)$userinfo['userid'] . "', '" . $db->escape($remote_addr) . "', '" . $db->escape($http_user_agent) . "', '" . time() . "', '" . $db->escape($language) . "', '" . $db->escape($userinfo['adminsession']) . "')"); + $db->query("INSERT INTO `" . TABLE_PANEL_SESSIONS . "` (`hash`, `userid`, `ipaddress`, `useragent`, `lastactivity`, `language`, `adminsession`, `theme`) VALUES ('" . $db->escape($s) . "', '" . (int)$userinfo['userid'] . "', '" . $db->escape($remote_addr) . "', '" . $db->escape($http_user_agent) . "', '" . time() . "', '" . $db->escape($language) . "', '" . $db->escape($userinfo['adminsession']) . "', '" . $db->escape($theme) . "')"); if($userinfo['adminsession'] == '1') { @@ -221,6 +229,7 @@ if($action == 'login') $smessage = isset($_GET['showmessage']) ? (int)$_GET['showmessage'] : 0; $message = ''; + $successmessage = ''; switch($smessage) { @@ -369,9 +378,12 @@ if($action == 'forgotpwd') unset($user); } } + else + { + $message = $lng['login']['usernotfound']; + } } - if($adminchecked) { if($settings['panel']['allow_preset_admin'] != '1') @@ -390,5 +402,3 @@ if($action == 'forgotpwd') eval("echo \"" . getTemplate("fpwd") . "\";"); } - -?> diff --git a/install/froxlor.sql b/install/froxlor.sql index f2762aa7..119a529f 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -166,6 +166,7 @@ CREATE TABLE `panel_admins` ( `aps_packages_used` int(5) NOT NULL default '0', `email_autoresponder` int(5) NOT NULL default '0', `email_autoresponder_used` int(5) NOT NULL default '0', + `theme` varchar(255) NOT NULL default 'Froxlor', PRIMARY KEY (`adminid`), UNIQUE KEY `loginname` (`loginname`) ) ENGINE=MyISAM ; @@ -232,6 +233,7 @@ CREATE TABLE `panel_customers` ( `perlenabled` tinyint(1) NOT NULL default '0', `email_autoresponder` int(5) NOT NULL default '0', `email_autoresponder_used` int(5) NOT NULL default '0', + `theme` varchar(255) NOT NULL default 'Froxlor', PRIMARY KEY (`customerid`), UNIQUE KEY `loginname` (`loginname`) ) ENGINE=MyISAM ; @@ -413,6 +415,7 @@ CREATE TABLE `panel_sessions` ( `formtoken` char(32) NOT NULL default '', `language` varchar(64) NOT NULL default '', `adminsession` tinyint(1) unsigned NOT NULL default '0', + `theme` varchar(255) NOT NULL default '', PRIMARY KEY (`hash`), KEY `userid` (`userid`) ) TYPE=HEAP; @@ -614,6 +617,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (173, 'system', 'report_enable', '1'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (174, 'system', 'report_webmax', '90'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (175, 'system', 'report_trafficmax', '90'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (176, 'panel', 'default_theme', 'Froxlor'); # -------------------------------------------------------- diff --git a/install/install.php b/install/install.php index 93063bbb..c9cd4b2a 100644 --- a/install/install.php +++ b/install/install.php @@ -37,9 +37,10 @@ if(file_exists('../lib/userdata.inc.php')) require ('../lib/userdata.inc.php'); if(isset($sql) - && is_array($sql)) - { - die('Sorry, Froxlor is already configured...'); + && is_array($sql) + ) { + $installed_hint = file_get_contents('../templates/Froxlor/misc/alreadyinstalledhint.tpl'); + die($installed_hint); } } @@ -94,58 +95,45 @@ if(file_exists('./lng/' . $language . '.lng.php')) * BEGIN FUNCTIONS ----------------------------------------------- */ -function page_header() -{ - +function page_header() { ?> - - + + - - - Froxlor + + + + + + + + Froxlor Server Management Panel - Installation + - - - - - - - - -
     
    - - - - -
    -
    -
    + +
    -
    - - - - -
    - +
    + + \n\t\t\t$text"; + echo ''.$text; } else { - echo " $text\n\t\t\n"; + echo ' + '.$text.' + '; } } -function requirement_checks() -{ +function requirement_checks() { + global $lng; page_header(); ?> - - - - +
    +
    + Froxlor Server Management Panel +
    + +
    +

    Requirements

    +
     Froxlor Installation
    +
    + - - -
    - - - +

    + +

    +

    + +

    - - -
    - - - +

    + +

    +

    + +

    - -
    -
    +
    +
    - - - - +
    +
    + Froxlor Server Management Panel +
    + +
    +

    Installation

    +
     Froxlor Installation
    - - - -
    -
    - -
    -
    -
    + +

    + +

    +

    + +

    + + -
    - - - - - - - - - - - - - - - -
     
    : - + -
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
    :
    :
    >:
    >:
    >:
    >:
     
    :
    >:
    >:
     
    >:
    >:
    >:/>Apache2 
    />Lighttpd2 
    />Nginx
    >:
    >:
    -
    -
    -
    +

    +

    + + +

    + + + + +
    +

    +
    +
    + Froxlor - Install +

    + +

    +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    + +

    +

    +   + +

    +

    +   + +

    +

    +   + +

    +

    + +

    +

    +   + +

    +

    +   + +

    +

    +   + />Apache2 +

    +

    +   + />ligHTTPd +

    +

    +   + +

    +

    +   + +

    +

    + + + + +

    +
    +
    + +
    + diff --git a/install/lng/english.lng.php b/install/lng/english.lng.php index 6cfac351..68c8df3a 100644 --- a/install/lng/english.lng.php +++ b/install/lng/english.lng.php @@ -42,6 +42,7 @@ $lng['install']['httpuser'] = 'HTTP username'; $lng['install']['httpgroup'] = 'HTTP groupname'; $lng['install']['apacheversion'] = 'Apacheversion'; $lng['install']['next'] = 'Next'; +$lng['install']['installdata'] = 'Installation - Data'; /** * Progress diff --git a/install/lng/french.lng.php b/install/lng/french.lng.php index d80297bf..9ec47bf4 100644 --- a/install/lng/french.lng.php +++ b/install/lng/french.lng.php @@ -41,6 +41,7 @@ $lng['install']['servername'] = 'Nom du serveur (FQDN)'; $lng['install']['serverip'] = 'Adresse IP du serveur'; $lng['install']['apacheversion'] = 'Version du serveur Apache'; $lng['install']['next'] = 'Continuer'; +$lng['install']['installdata'] = 'Installation - Data'; /** * Progress diff --git a/install/lng/german.lng.php b/install/lng/german.lng.php index 755402cd..07e06288 100644 --- a/install/lng/german.lng.php +++ b/install/lng/german.lng.php @@ -40,6 +40,7 @@ $lng['install']['servername'] = 'Servername (FQDN)'; $lng['install']['serverip'] = 'Server-IP'; $lng['install']['apacheversion'] = 'Apacheversion'; $lng['install']['next'] = 'Fortfahren'; +$lng['install']['installdata'] = 'Installation - Daten'; /** * Progress diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index f3cb8976..6b2e646d 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -1443,3 +1443,26 @@ if(isFroxlorVersion('0.9.17')) updateToVersion('0.9.18-svn1'); } + +if(isFroxlorVersion('0.9.18-svn1')) +{ + showUpdateStep("Updating from 0.9.18-svn1 to 0.9.18-svn2", false); + + $update_default_theme = isset($_POST['update_default_theme']) ? $_POST['update_default_theme'] : 'Froxlor'; + + showUpdateStep("Adding new settings for themes"); + $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'default_theme', '".$db->escape($update_default_theme)."');"); + lastStepStatus(0); + + showUpdateStep("Delete old setting for header-graphic"); + $db->query("DELETE FROM `" . TABLE_PANEL_SETTINGS . "` WHERE `settinggroup`='admin' AND `varname` = 'froxlor_graphic';"); + lastStepStatus(0); + + showUpdateStep("Updating table layouts"); + $db->query("ALTER TABLE `".TABLE_PANEL_ADMINS."` ADD `theme` varchar(255) NOT NULL default 'Froxlor' AFTER `email_autoresponder_used`;"); + $db->query("ALTER TABLE `".TABLE_PANEL_CUSTOMERS."` ADD `theme` varchar(255) NOT NULL default 'Froxlor' AFTER `email_autoresponder_used`;"); + $db->query("ALTER TABLE `".TABLE_PANEL_SESSIONS."` ADD `theme` varchar(255) NOT NULL default '' AFTER `adminsession`;"); + lastStepStatus(0); + + updateToVersion('0.9.18-svn2'); +} diff --git a/install/updates/preconfig/0.9/preconfig_0.9.inc.php b/install/updates/preconfig/0.9/preconfig_0.9.inc.php index a29cd1c2..78754d24 100644 --- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php +++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php @@ -415,4 +415,18 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version) $question.= '
    '; eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); } + + if(versionInUpdate($current_version, '0.9.18-svn2')) + { + $has_preconfig = true; + $description = 'As you can (obviously) see, Froxlor now comes with a new theme. You also have the possibility to switch back to "Classic" if you want to.'; + $question = 'Select default panel theme: '; + $question.= ''; + eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";"); + } } From bee19fabfae4447d5dfc50e6867cb40809a7b3f8 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 13:17:24 +0100 Subject: [PATCH 05/48] merged more of the re-design files to current state Signed-off-by: Michael Kaufmann (d00p) --- install/froxlor.sql | 2 +- lib/classes/aps/class.ApsParser.php | 43 ++++++++-------- lib/classes/output/class.paging.php | 38 ++++++++------ .../froxlor/function.CronjobFunctions.php | 27 +++++----- .../froxlor/function.updateCounters.php | 5 +- lib/functions/output/function.getTemplate.php | 16 ++++-- lib/functions/output/function.makeyesno.php | 2 +- lib/init.php | 49 +++++++++---------- lib/navigation/00.froxlor.main.php | 11 ++++- lib/tables.inc.php | 4 +- lng/english.lng.php | 9 +++- lng/german.lng.php | 7 +++ 12 files changed, 121 insertions(+), 92 deletions(-) diff --git a/install/froxlor.sql b/install/froxlor.sql index 119a529f..fded409e 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -465,7 +465,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.18-svn1'); +INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.18-svn2'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3'); INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900'); diff --git a/lib/classes/aps/class.ApsParser.php b/lib/classes/aps/class.ApsParser.php index efb58382..87b12bc0 100644 --- a/lib/classes/aps/class.ApsParser.php +++ b/lib/classes/aps/class.ApsParser.php @@ -911,7 +911,7 @@ class ApsParser if($Error == 1) { - self::InfoBox($lng['aps']['nospecialchars']); + self::InfoBox($lng['aps']['nospecialchars'], 1); } elseif($Error == 2) { @@ -948,11 +948,11 @@ class ApsParser { if($this->db->num_rows($result) == 1) { - self::InfoBox(sprintf($lng['aps']['searchoneresult'], $this->db->num_rows($result))); + self::InfoBox(sprintf($lng['aps']['searchoneresult'], $this->db->num_rows($result)), 2); } else { - self::InfoBox(sprintf($lng['aps']['searchmultiresult'], $this->db->num_rows($result))); + self::InfoBox(sprintf($lng['aps']['searchmultiresult'], $this->db->num_rows($result)), 2); } while($Row = $this->db->fetch_array($result)) @@ -996,7 +996,7 @@ class ApsParser //skip if parse of xml has failed if($Xml == false)continue; - $Icon = './images/default.png'; + $Icon = './images/Classic/default.png'; $this->aps_version = isset($Xml->attributes()->version) ? (string)$Xml->attributes()->version : '1.0'; @@ -1162,7 +1162,7 @@ class ApsParser if($this->db->num_rows($result) == 0) { - self::InfoBox($lng['aps']['erroronnewinstance']); + self::InfoBox($lng['aps']['erroronnewinstance'], 1); return false; } @@ -1194,7 +1194,7 @@ class ApsParser //update used counter for packages $this->db->query('UPDATE `' . TABLE_PANEL_CUSTOMERS . '` SET `aps_packages_used` = `aps_packages_used` + 1 WHERE `customerid` = ' . (int)$CustomerId); - self::InfoBox(sprintf($lng['aps']['successonnewinstance'], $Xml->name)); + self::InfoBox(sprintf($lng['aps']['successonnewinstance'], $Xml->name), 2); unset($Xml); } @@ -1735,7 +1735,7 @@ class ApsParser $Output.= '
  • ' . $Entry . '
  • '; } - self::InfoBox(sprintf($lng['aps']['erroronscan'], $Xml->name, $Output)); + self::InfoBox(sprintf($lng['aps']['erroronscan'], $Xml->name, $Output), 1); return false; } else @@ -1819,11 +1819,11 @@ class ApsParser if($Newer == 1) { - self::InfoBox(sprintf($lng['aps']['successpackageupdate'], $Xml->name)); + self::InfoBox(sprintf($lng['aps']['successpackageupdate'], $Xml->name), 2); } else { - self::InfoBox(sprintf($lng['aps']['successpackageinstall'], $Xml->name)); + self::InfoBox(sprintf($lng['aps']['successpackageinstall'], $Xml->name), 2); } unset($Xml); @@ -1870,11 +1870,11 @@ class ApsParser if(!isset($this->userinfo['customerid'])) { - self::InfoBox(sprintf($lng['aps']['initerror'], $Error)); + self::InfoBox(sprintf($lng['aps']['initerror'], $Error), 1); } else { - self::InfoBox($lng['aps']['initerror_customer']); + self::InfoBox($lng['aps']['initerror_customer'], 1); } return; @@ -2139,11 +2139,11 @@ class ApsParser { if($i == $_GET['page']) { - echo ('' . $i . ''); + echo ('' . $i . ' '); } else { - echo ('' . $i . ''); + echo ('' . $i . ' '); } } @@ -2177,7 +2177,7 @@ class ApsParser echo ('

    '); for ($i = 1;$i < $Pages + 1;$i++) { - echo ('' . $i . ''); + echo ('' . $i . ' '); } echo ('
    '); @@ -2935,7 +2935,7 @@ class ApsParser //icon for package - $Icon = './images/default.png'; + $Icon = './images/Classic/default.png'; if($this->aps_version != '1.0') { @@ -3342,7 +3342,7 @@ class ApsParser //return if parse of xml file has failed if($Xml == false)return false; - $Icon = './images/default.png'; + $Icon = './images/Classic/default.png'; $this->aps_version = isset($Xml->attributes()->version) ? (string)$Xml->attributes()->version : '1.0'; @@ -3551,15 +3551,14 @@ class ApsParser /** * show a nice looking infobox * - * @param message message to display in beautifull layout + * @param string $Message message to display in beautifull layout + * @param int $Type 0 = warning, 1 = errror, 2 = success + * */ - - private function InfoBox($Message) + private function InfoBox($Message, $Type = 0) { global $lng, $filename, $s, $page, $action; - //shows a box with informations - eval("echo \"" . getTemplate("aps/infobox") . "\";"); } @@ -3574,5 +3573,3 @@ class ApsParser return '
    ' . $Error . '
    '; } } - -?> \ No newline at end of file diff --git a/lib/classes/output/class.paging.php b/lib/classes/output/class.paging.php index c3180a26..b6a5094f 100644 --- a/lib/classes/output/class.paging.php +++ b/lib/classes/output/class.paging.php @@ -392,19 +392,22 @@ class paging function getHtmlSortCode($lng, $break = false) { - $sortcode = '' . ($break ? '
    ' : ' ') . ' '; + eval("\$sortcode =\"" . getTemplate("misc/htmlsortcode", '1') . "\";"); return $sortcode; } @@ -421,14 +424,18 @@ class paging if($field != '' && isset($this->fields[$field])) { - $arrowcode = ''; + $baseurl = htmlspecialchars($baseurl); + $fieldname = htmlspecialchars($field); + eval("\$arrowcode =\"" . getTemplate("misc/htmlarrowcode", '1') . "\";"); } else { + $baseurl = htmlspecialchars($baseurl); $arrowcode = array(); foreach($this->fields as $fieldname => $fieldcaption) { - $arrowcode[$fieldname] = ''; + $fieldname = htmlspecialchars($fieldname); + eval("\$arrowcode[\$fieldname] =\"" . getTemplate("misc/htmlarrowcode", '1') . "\";"); } } @@ -444,14 +451,15 @@ class paging function getHtmlSearchCode($lng) { - $sortcode = $lng['panel']['search'] . ':   '; - return $sortcode; + eval("\$searchcode =\"" . getTemplate("misc/htmlsearchcode", '1') . "\";"); + return $searchcode; } /** @@ -493,16 +501,16 @@ class paging $stop = $pages; } - $pagingcode = '« < '; + $pagingcode = '« < '; for ($i = $start;$i <= $stop;$i++) { if($i != $this->pageno) { - $pagingcode.= ' ' . $i . ' '; + $pagingcode.= ' ' . $i . ' '; } else { - $pagingcode.= ' ' . $i . ' '; + $pagingcode.= ' ' . $i . '/nbsp;'; } } diff --git a/lib/functions/froxlor/function.CronjobFunctions.php b/lib/functions/froxlor/function.CronjobFunctions.php index 3815619c..a081327f 100644 --- a/lib/functions/froxlor/function.CronjobFunctions.php +++ b/lib/functions/froxlor/function.CronjobFunctions.php @@ -123,11 +123,11 @@ function getCronjobsLastRun() if($row['lastrun'] > 0) { $lastrun = date('d.m.Y H:i:s', $row['lastrun']); } - - $cronjobs_last_run .= ' - '.$lng['crondesc'][$row['desc_lng_key']].': - '.$lastrun.' - '; + + $text = $lng['crondesc'][$row['desc_lng_key']]; + $value = $lastrun; + + eval("\$cronjobs_last_run .= \"" . getTemplate("index/overview_item") . "\";"); } return $cronjobs_last_run; @@ -153,10 +153,7 @@ function getOutstandingTasks() $query = "SELECT * FROM `".TABLE_PANEL_TASKS."` ORDER BY `type` ASC"; $result = $db->query($query); - $outstanding_tasks = ' - '.$lng['tasks']['outstanding_tasks'].': -
      '; - + $value = '
        '; $tasks = ''; while($row = $db->fetch_array($result)) { @@ -272,12 +269,14 @@ function getOutstandingTasks() } if(trim($tasks) == '') { - $outstanding_tasks .= '
      • '.$lng['tasks']['noneoutstanding'].'
      • '; + $value .= '
      • '.$lng['tasks']['noneoutstanding'].'
      • '; } else { - $outstanding_tasks .= $tasks; + $value .= $tasks; } - - $outstanding_tasks .= '
      '; - + + $value .= '
    '; + $text = $lng['tasks']['outstanding_tasks']; + eval("\$outstanding_tasks = \"" . getTemplate("index/overview_item") . "\";"); + return $outstanding_tasks; } diff --git a/lib/functions/froxlor/function.updateCounters.php b/lib/functions/froxlor/function.updateCounters.php index e4d6cf52..7ab5549f 100644 --- a/lib/functions/froxlor/function.updateCounters.php +++ b/lib/functions/froxlor/function.updateCounters.php @@ -332,14 +332,15 @@ function updateCounters($returndebuginfo = false) $admin_resources[$admin['adminid']]['aps_packages_used'] = 0; } - $admin['aps_packages_used_new'] = $admin_resources[$admin['adminid']]['aps_packages_used']; + $admin['subdomains_used_new'] = $admin_resources[$admin['adminid']]['subdomains_used']; if(!isset($admin_resources[$admin['adminid']]['aps_packages_used'])) { $admin_resources[$admin['adminid']]['aps_packages_used'] = 0; } - $admin['subdomains_used_new'] = $admin_resources[$admin['adminid']]['subdomains_used']; + $admin['aps_packages_used_new'] = $admin_resources[$admin['adminid']]['aps_packages_used']; + $db->query('UPDATE `' . TABLE_PANEL_ADMINS . '` SET diff --git a/lib/functions/output/function.getTemplate.php b/lib/functions/output/function.getTemplate.php index fbcbd23c..d001e553 100644 --- a/lib/functions/output/function.getTemplate.php +++ b/lib/functions/output/function.getTemplate.php @@ -28,16 +28,21 @@ function getTemplate($template, $noarea = 0) { - global $templatecache; + global $templatecache, $theme; + + if(!isset($theme) || $theme == '') + { + $theme = 'Froxlor'; + } if($noarea != 1) { $template = AREA . '/' . $template; } - if(!isset($templatecache[$template])) + if(!isset($templatecache[$theme][$template])) { - $filename = './templates/' . $template . '.tpl'; + $filename = './templates/' . $theme . '/' . $template . '.tpl'; if(file_exists($filename) && is_readable($filename)) @@ -56,8 +61,9 @@ function getTemplate($template, $noarea = 0) $templatefile = 'TEMPLATE NOT FOUND: ' . $filename; } - $templatecache[$template] = $templatefile; + $output = $templatefile; // Minify_HTML::minify($templatefile, array('cssMinifier', 'jsMinifier')); + $templatecache[$theme][$template] = $output; } - return $templatecache[$template]; + return $templatecache[$theme][$template]; } diff --git a/lib/functions/output/function.makeyesno.php b/lib/functions/output/function.makeyesno.php index 6b29584b..da2305be 100644 --- a/lib/functions/output/function.makeyesno.php +++ b/lib/functions/output/function.makeyesno.php @@ -39,5 +39,5 @@ function makeyesno($name, $yesvalue, $novalue = '', $yesselected = '', $disabled } else { $d = ''; } - return ''; + return ''; } diff --git a/lib/init.php b/lib/init.php index d33f0530..ebe65fb1 100644 --- a/lib/init.php +++ b/lib/init.php @@ -49,7 +49,7 @@ $filename = basename($_SERVER['PHP_SELF']); if(!file_exists('./lib/userdata.inc.php')) { - $config_hint = file_get_contents('./templates/misc/configurehint.tpl'); + $config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl'); die($config_hint); } @@ -67,7 +67,7 @@ require ('./lib/userdata.inc.php'); if(!isset($sql) || !is_array($sql)) { - $config_hint = file_get_contents('./templates/misc/configurehint.tpl'); + $config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl'); die($config_hint); } @@ -161,23 +161,6 @@ if(get_magic_quotes_gpc()) $settings_data = loadConfigArrayDir('./actions/admin/settings/'); $settings = loadSettings($settings_data, $db); -/* - * when upgrading from syscp, the header-graphic gets lost - */ -if(!isset($settings['admin']['froxlor_graphic']) - || $settings['admin']['froxlor_graphic'] == '' -) { - if(isset($settings['admin']['syscp_graphic']) - && $settings['admin']['syscp_graphic'] != '' - ){ - $settings['admin']['froxlor_graphic'] = $settings['admin']['syscp_graphic']; - } - else - { - $settings['admin']['froxlor_graphic'] = 'images/header.gif'; - } -} - /** * SESSION MANAGEMENT */ @@ -261,19 +244,16 @@ $langs = array(); $languages = array(); // query the whole table - $query = 'SELECT * FROM `' . TABLE_PANEL_LANGUAGE . '` '; $result = $db->query($query); // presort languages - while($row = $db->fetch_array($result)) { $langs[$row['language']][] = $row; } // buildup $languages for the login screen - foreach($langs as $key => $value) { $languages[$key] = $key; @@ -306,7 +286,6 @@ else } // include every english language file we can get - foreach($langs['English'] as $key => $value) { include_once makeSecurePath($value['file']); @@ -322,6 +301,28 @@ if($language != 'English') } } +/** + * global Theme-variable + */ +$theme = isset($settings['panel']['default_theme']) ? $settings['panel']['default_theme'] : 'Froxlor'; + +/** + * overwrite with customer/admin theme if defined + */ +if(isset($userinfo['theme']) && $userinfo['theme'] != $theme) +{ + $theme = $userinfo['theme']; +} + +/* + * check for custom header-graphic + */ +$hl_path = 'images/'.$theme; +$header_logo = $hl_path.'/logo.png'; +if(file_exists($hl_path.'/logo_custom.png')) { + $header_logo = $hl_path.'/logo_custom.png'; +} + /** * Redirects to index.php (login page) if no session exists */ @@ -455,5 +456,3 @@ if(PHPMailer::ValidateAddress($settings['panel']['adminmail']) !== false) $mail->AddReplyTo($settings['panel']['adminmail_return'], $settings['panel']['adminmail_defname']); } } - -?> diff --git a/lib/navigation/00.froxlor.main.php b/lib/navigation/00.froxlor.main.php index a9e08637..3531e7e2 100644 --- a/lib/navigation/00.froxlor.main.php +++ b/lib/navigation/00.froxlor.main.php @@ -21,7 +21,7 @@ return array ( 'customer' => array ( 'index' => array ( 'url' => 'customer_index.php', - 'label' => $lng['menue']['main']['main'], + 'label' => $lng['admin']['overview'], 'elements' => array ( array ( 'label' => $lng['menue']['main']['username'], @@ -34,6 +34,10 @@ return array ( 'url' => 'customer_index.php?page=change_language', 'label' => $lng['menue']['main']['changelanguage'], ), + array ( + 'url' => 'customer_index.php?page=change_theme', + 'label' => $lng['menue']['main']['changetheme'], + ), array ( 'url' => 'customer_index.php?action=logout', 'label' => $lng['login']['logout'], @@ -154,6 +158,10 @@ return array ( 'url' => 'admin_index.php?page=change_language', 'label' => $lng['menue']['main']['changelanguage'], ), + array ( + 'url' => 'admin_index.php?page=change_theme', + 'label' => $lng['menue']['main']['changetheme'], + ), array ( 'url' => 'admin_index.php?action=logout', 'label' => $lng['login']['logout'], @@ -250,4 +258,3 @@ return array ( ), ), ); -?> \ No newline at end of file diff --git a/lib/tables.inc.php b/lib/tables.inc.php index 9e72bd3e..f1bc3c8a 100644 --- a/lib/tables.inc.php +++ b/lib/tables.inc.php @@ -73,8 +73,6 @@ define('PACKAGE_ENABLED', 2); // VERSION INFO -$version = '0.9.18-svn1'; +$version = '0.9.18-svn2'; $dbversion = '2'; $branding = ''; - -?> diff --git a/lng/english.lng.php b/lng/english.lng.php index 080da75e..57a4805e 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -70,7 +70,7 @@ $lng['customer']['forwarders'] = 'E-mail-Forwarders'; $lng['customer']['ftps'] = 'FTP-Accounts'; $lng['customer']['subdomains'] = 'Sub-Domain'; $lng['customer']['domains'] = 'Domain'; -$lng['customer']['unlimited'] = 'unlimited'; +$lng['customer']['unlimited'] = '∞'; /** * Customermenue @@ -1332,6 +1332,7 @@ $lng['cronmgmt']['weeks'] = 'weeks'; $lng['cronmgmt']['months'] = 'months'; $lng['admin']['cronjob_edit'] = 'Edit cronjob'; $lng['cronjob']['cronjobsettings'] = 'Cronjob settings'; +$lng['cronjob']['cronjobintervalv'] = 'Runtime interval value'; $lng['cronjob']['cronjobinterval'] = 'Runtime interval'; $lng['panel']['options'] = 'options'; $lng['admin']['warning'] = 'WARNING - Please note!'; @@ -1566,3 +1567,9 @@ $lng['mysql']['database_edit'] = 'Edit database'; // ADDED IN FROXLOR 0.9.18 $lng['error']['domains_cantdeletedomainwithaliases'] = 'You cannot delete a domain which is used for alias-domains. You have to delete the aliases first.'; +$lng['serversettings']['default_theme'] = 'Default theme'; +$lng['menue']['main']['changetheme'] = 'Change theme'; +$lng['panel']['theme'] = 'Theme'; +$lng['success']['rebuildingconfigs'] = 'Successfully inserted tasks for rebuild configfiles'; +$lng['panel']['variable'] = 'Variable'; +$lng['panel']['description'] = 'Description'; diff --git a/lng/german.lng.php b/lng/german.lng.php index 37db6fbd..4e3b49f0 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1311,6 +1311,7 @@ $lng['cronmgmt']['weeks'] = 'Wochen'; $lng['cronmgmt']['months'] = 'Monate'; $lng['admin']['cronjob_edit'] = 'Cronjob bearbeiten'; $lng['cronjob']['cronjobsettings'] = 'Cronjob Einstellungen'; +$lng['cronjob']['cronjobintervalv'] = 'Laufzeit-Intervall Wert'; $lng['cronjob']['cronjobinterval'] = 'Laufzeit-Intervall'; $lng['panel']['options'] = 'Optionen'; $lng['admin']['warning'] = 'ACHTUNG - Wichtiger Hinweis!'; @@ -1548,3 +1549,9 @@ $lng['mysql']['database_edit'] = 'Datenbank bearbeiten'; // ADDED IN FROXLOR 0.9.18 $lng['error']['domains_cantdeletedomainwithaliases'] = 'Sie können keine Domain löschen, die noch von Alias-Domains verwendet wird. Löschen Sie zuerst alle Alias-Domains dieser Domain.'; +$lng['serversettings']['default_theme'] = 'Standard Theme'; +$lng['menue']['main']['changetheme'] = 'Theme wechseln'; +$lng['panel']['theme'] = 'Theme'; +$lng['success']['rebuildingconfigs'] = 'Task für das Neuerstellen der Konfigurationen wurde erfolgreich eingetragen'; +$lng['panel']['variable'] = 'Variable'; +$lng['panel']['description'] = 'Beschreibung'; From a4dba36f82c9f6bd29b02d8f6e93ade63555e603 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 14:00:22 +0100 Subject: [PATCH 06/48] beautify message if there are no customers to add a new ticket for Signed-off-by: Michael Kaufmann (d00p) --- templates/Froxlor/admin/ticket/tickets.tpl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/templates/Froxlor/admin/ticket/tickets.tpl b/templates/Froxlor/admin/ticket/tickets.tpl index 4eb0eca2..b7e3498c 100644 --- a/templates/Froxlor/admin/ticket/tickets.tpl +++ b/templates/Froxlor/admin/ticket/tickets.tpl @@ -62,10 +62,12 @@ $header - +
    +
    {$lng['admin']['warning']}
    + +
    From c949c153edf784925dc7685aa878358a3530b7a6 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 8 Feb 2011 14:03:18 +0100 Subject: [PATCH 07/48] fix undefined index in classic-theme Signed-off-by: Michael Kaufmann (d00p) --- admin_admins.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin_admins.php b/admin_admins.php index 75f3603e..e218f1a0 100644 --- a/admin_admins.php +++ b/admin_admins.php @@ -66,8 +66,8 @@ if($page == 'admins' 'email_quota_used' => $lng['customer']['email_quota'] . ' (' . $lng['panel']['used'] . ')', 'email_autoresponder' => $lng['customer']['autoresponder'], 'email_autoresponder_used' => $lng['customer']['autoresponder'] . ' (' . $lng['panel']['used'] . ')', - 'deactivated' => $lng['admin']['deactivated'] */ + 'deactivated' => $lng['admin']['deactivated'] ); $paging = new paging($userinfo, $db, TABLE_PANEL_ADMINS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $admins = ''; From 80379232a966c3b6d6cebc042445b5ee4b5da0d0 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Tue, 8 Feb 2011 15:35:08 +0100 Subject: [PATCH 08/48] Remove IDs from settings, makes merging easier --- install/froxlor.sql | 341 ++++++++++++++++++++++---------------------- 1 file changed, 170 insertions(+), 171 deletions(-) diff --git a/install/froxlor.sql b/install/froxlor.sql index fded409e..38d7c77d 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -447,177 +447,176 @@ CREATE TABLE `panel_settings` ( # Dumping data for table `panel_settings` # -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (1, 'session', 'sessiontimeout', '600'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (2, 'panel', 'adminmail', 'admin@SERVERNAME'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (3, 'panel', 'phpmyadmin_url', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (5, 'customer', 'accountprefix', 'web'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (6, 'customer', 'ftpprefix', 'ftp'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (7, 'customer', 'mysqlprefix', 'sql'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (8, 'system', 'lastaccountnumber', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (9, 'system', 'lastguid', '9999'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (10, 'system', 'documentroot_prefix', '/var/customers/webs/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (11, 'system', 'logfiles_directory', '/var/customers/logs/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (12, 'system', 'ipaddress', 'SERVERIP'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (14, 'system', 'apachereload_command', '/etc/init.d/apache reload'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (15, 'system', 'last_traffic_run', '000000'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (16, 'system', 'vmail_uid', '2000'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (17, 'system', 'vmail_gid', '2000'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.18-svn2'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (26, 'panel', 'webmail_url', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (27, 'panel', 'webftp_url', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (28, 'panel', 'standardlanguage', 'English'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (29, 'system', 'mysql_access_host', 'localhost'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (30, 'panel', 'pathedit', 'Manual'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (32, 'system', 'lastcronrun', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (33, 'panel', 'paging', '20'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (34, 'system', 'defaultip', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (35, 'system', 'phpappendopenbasedir', '/tmp/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (36, 'panel', 'natsorting', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (37, 'system', 'deactivateddocroot', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (38, 'system', 'mailpwcleartext', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (39, 'system', 'last_tasks_run', '000000'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (40, 'customer', 'ftpatdomain', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (41, 'system', 'nameservers', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (42, 'system', 'mxservers', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (43, 'system', 'mod_log_sql', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (44, 'system', 'mod_fcgid', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (45, 'panel', 'sendalternativemail', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (46, 'system', 'apacheconf_vhost', '/etc/apache/vhosts.conf'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (47, 'system', 'apacheconf_diroptions', '/etc/apache/diroptions.conf'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (48, 'system', 'apacheconf_htpasswddir', '/etc/apache/htpasswd/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (49, 'system', 'webalizer_quiet', '2'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (50, 'ticket', 'noreply_email', 'NO-REPLY@SERVERNAME'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (51, 'ticket', 'worktime_all', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (52, 'ticket', 'worktime_begin', '00:00'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (53, 'ticket', 'worktime_end', '23:59'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (54, 'ticket', 'worktime_sat', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (55, 'ticket', 'worktime_sun', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (56, 'ticket', 'archiving_days', '5'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (57, 'system', 'last_archive_run', '000000'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (58, 'ticket', 'enabled', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (59, 'ticket', 'concurrently_open', '5'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (60, 'ticket', 'noreply_name', 'Froxlor Support'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (61, 'system', 'mod_fcgid_configdir', '/var/www/php-fcgi-scripts'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (62, 'system', 'mod_fcgid_tmpdir', '/var/customers/tmp'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (63, 'ticket', 'reset_cycle', '2'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (64, 'panel', 'no_robots', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (65, 'logger', 'enabled', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (66, 'logger', 'log_cron', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (67, 'logger', 'logfile', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (68, 'logger', 'logtypes', 'syslog,mysql'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (69, 'logger', 'severity', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (70, 'system', 'ssl_cert_file', '/etc/apache2/apache2.pem'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (71, 'system', 'use_ssl', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (72, 'system', 'openssl_cnf', '[ req ]\r\ndefault_bits = 1024\r\ndistinguished_name = req_distinguished_name\r\nattributes = req_attributes\r\nprompt = no\r\noutput_password =\r\ninput_password =\r\n[ req_distinguished_name ]\r\nC = DE\r\nST = froxlor\r\nL = froxlor \r\nO = Testcertificate\r\nOU = froxlor \r\nCN = @@domain_name@@\r\nemailAddress = @@email@@ \r\n[ req_attributes ]\r\nchallengePassword =\r\n'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (73, 'system', 'default_vhostconf', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (74, 'system', 'mail_quota_enabled', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (75, 'system', 'mail_quota', '100'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (76, 'panel', 'decimal_places', '4'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (77, 'dkim', 'use_dkim', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (78, 'system', 'webalizer_enabled', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (79, 'system', 'awstats_enabled', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (80, 'dkim', 'dkim_prefix', '/etc/postfix/dkim/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (81, 'dkim', 'dkim_domains', 'domains'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (82, 'dkim', 'dkim_dkimkeys', 'dkim-keys.conf'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (83, 'dkim', 'dkimrestart_command', '/etc/init.d/dkim-filter restart'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (84, 'panel', 'unix_names', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (85, 'panel', 'allow_preset', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (86, 'panel', 'allow_preset_admin', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (87, 'system', 'httpuser', 'www-data'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (88, 'system', 'httpgroup', 'www-data'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (89, 'system', 'webserver', 'apache2'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (90, 'autoresponder', 'autoresponder_active', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (91, 'autoresponder', 'last_autoresponder_run', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (92, 'admin', 'show_version_login', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (93, 'admin', 'show_version_footer', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (94, 'admin', 'froxlor_graphic', 'images/header.gif'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (95, 'system', 'mod_fcgid_wrapper', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (96, 'system', 'mod_fcgid_starter', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (97, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (98, 'system', 'index_file_extension', 'html'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (99, 'aps', 'items_per_page', '20'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (100, 'aps', 'upload_fields', '5'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (101, 'aps', 'aps_active', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (102, 'aps', 'php-extension', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (103, 'aps', 'php-configuration', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (104, 'aps', 'webserver-htaccess', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (105, 'aps', 'php-function', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (106, 'aps', 'webserver-module', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (108, 'session', 'allow_multiple_login', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (109, 'panel', 'allow_domain_change_admin', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (110, 'panel', 'allow_domain_change_customer', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (111, 'system', 'mod_fcgid_maxrequests', '250'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (112, 'system','ssl_key_file','/etc/apache2/apache2.key'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (113, 'system','ssl_ca_file', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (114, 'panel', 'frontend', 'froxlor'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (115, 'spf', 'use_spf', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (116, 'spf', 'spf_entry', '@ IN TXT "v=spf1 a mx -all"'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (117, 'system', 'debug_cron', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (118, 'panel', 'password_min_length', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (119, 'system', 'store_index_file_subs', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (120, 'panel', 'adminmail_defname', 'Froxlor Administrator'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (121, 'panel', 'adminmail_return', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (122, 'dkim', 'dkim_algorithm', 'all'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (123, 'dkim', 'dkim_add_adsp', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (124, 'dkim', 'dkim_keylength', '1024'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (125, 'dkim', 'dkim_servicetype', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (126, 'dkim', 'dkim_add_adsppolicy', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (127, 'dkim', 'dkim_notes', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (128, 'system', 'stdsubdomain', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (129, 'system', 'awstats_path', '/usr/bin/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (130, 'system', 'awstats_conf', '/etc/awstats/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (131, 'system', 'defaultttl', '604800'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (132, 'defaultwebsrverrhandler', 'enabled', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (133, 'defaultwebsrverrhandler', 'err401', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (134, 'defaultwebsrverrhandler', 'err403', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (135, 'defaultwebsrverrhandler', 'err404', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (136, 'defaultwebsrverrhandler', 'err500', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (137, 'ticket', 'default_priority', '2'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (138, 'system', 'mod_fcgid_defaultini', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (139, 'system', 'ftpserver', 'proftpd'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (140, 'customredirect', 'enabled', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (141, 'customredirect', 'default', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (142, 'system', 'dns_createmailentry', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (143, 'system', 'froxlordirectlyviahostname', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (144, 'panel', 'password_regex', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (145, 'system', 'perl_path', '/usr/bin/perl'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (146, 'system', 'mod_fcgid_ownvhost', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (147, 'system', 'mod_fcgid_httpuser', 'froxlorlocal'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (148, 'system', 'mod_fcgid_httpgroup', 'froxlorlocal'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (149, 'perl', 'suexecworkaround', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (150, 'perl', 'suexecpath', '/var/www/cgi-bin/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (151, 'system', 'awstats_awstatspath', '/usr/bin/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (152, 'system', 'mod_fcgid_defaultini_ownvhost', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (153, 'system', 'awstats_icons', '/usr/share/awstats/icon/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (154, 'system', 'ssl_cert_chainfile', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (155, 'login', 'domain_login', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (156, 'system', 'nginx_php_backend', '127.0.0.1:8888'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (157, 'system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (158, 'system', 'phpreload_command', ''); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (159, 'phpfpm', 'enabled', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (160, 'phpfpm', 'configdir', '/etc/php-fpm.d/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (161, 'phpfpm', 'reload', '/etc/init.d/php-fpm restart'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (162, 'phpfpm', 'pm', 'static'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (163, 'phpfpm', 'max_children', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (164, 'phpfpm', 'start_servers', '20'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (165, 'phpfpm', 'min_spare_servers', '5'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (166, 'phpfpm', 'max_spare_servers', '35'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (167, 'phpfpm', 'max_requests', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (168, 'phpfpm', 'tmpdir', '/var/customers/tmp/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (169, 'phpfpm', 'peardir', '/usr/share/php/:/usr/share/php5/'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (170, 'phpfpm', 'enabled_ownvhost', '0'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (171, 'phpfpm', 'vhost_httpuser', 'froxlorlocal'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (172, 'phpfpm', 'vhost_httpgroup', 'froxlorlocal'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (173, 'system', 'report_enable', '1'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (174, 'system', 'report_webmax', '90'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (175, 'system', 'report_trafficmax', '90'); -INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (176, 'panel', 'default_theme', 'Froxlor'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('session', 'sessiontimeout', '600'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'adminmail', 'admin@SERVERNAME'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'phpmyadmin_url', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customer', 'accountprefix', 'web'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customer', 'ftpprefix', 'ftp'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customer', 'mysqlprefix', 'sql'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'lastaccountnumber', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'lastguid', '9999'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'documentroot_prefix', '/var/customers/webs/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'logfiles_directory', '/var/customers/logs/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'ipaddress', 'SERVERIP'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'apachereload_command', '/etc/init.d/apache reload'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'last_traffic_run', '000000'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'vmail_uid', '2000'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'vmail_gid', '2000'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'vmail_homedir', '/var/customers/mail/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'bindconf_directory', '/etc/bind/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'bindreload_command', '/etc/init.d/bind9 reload'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'version', '0.9.18-svn2'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'hostname', 'SERVERNAME'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('login', 'maxloginattempts', '3'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('login', 'deactivatetime', '900'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'webmail_url', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'webftp_url', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'standardlanguage', 'English'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mysql_access_host', 'localhost'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'pathedit', 'Manual'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'lastcronrun', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'paging', '20'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'defaultip', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'phpappendopenbasedir', '/tmp/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'natsorting', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'deactivateddocroot', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mailpwcleartext', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'last_tasks_run', '000000'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customer', 'ftpatdomain', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'nameservers', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mxservers', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_log_sql', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'sendalternativemail', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'apacheconf_vhost', '/etc/apache/vhosts.conf'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'apacheconf_diroptions', '/etc/apache/diroptions.conf'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'apacheconf_htpasswddir', '/etc/apache/htpasswd/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'webalizer_quiet', '2'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'noreply_email', 'NO-REPLY@SERVERNAME'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'worktime_all', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'worktime_begin', '00:00'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'worktime_end', '23:59'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'worktime_sat', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'worktime_sun', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'archiving_days', '5'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'last_archive_run', '000000'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'enabled', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'concurrently_open', '5'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'noreply_name', 'Froxlor Support'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_configdir', '/var/www/php-fcgi-scripts'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_tmpdir', '/var/customers/tmp'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'reset_cycle', '2'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'no_robots', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('logger', 'enabled', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('logger', 'log_cron', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('logger', 'logfile', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('logger', 'logtypes', 'syslog,mysql'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('logger', 'severity', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'ssl_cert_file', '/etc/apache2/apache2.pem'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'use_ssl', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'openssl_cnf', '[ req ]\r\ndefault_bits = 1024\r\ndistinguished_name = req_distinguished_name\r\nattributes = req_attributes\r\nprompt = no\r\noutput_password =\r\ninput_password =\r\n[ req_distinguished_name ]\r\nC = DE\r\nST = froxlor\r\nL = froxlor \r\nO = Testcertificate\r\nOU = froxlor \r\nCN = @@domain_name@@\r\nemailAddress = @@email@@ \r\n[ req_attributes ]\r\nchallengePassword =\r\n'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'default_vhostconf', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mail_quota_enabled', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mail_quota', '100'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'decimal_places', '4'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'use_dkim', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'webalizer_enabled', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_enabled', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_prefix', '/etc/postfix/dkim/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_domains', 'domains'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_dkimkeys', 'dkim-keys.conf'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkimrestart_command', '/etc/init.d/dkim-filter restart'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'unix_names', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'allow_preset', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'allow_preset_admin', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'httpuser', 'www-data'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'httpgroup', 'www-data'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'webserver', 'apache2'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('autoresponder', 'autoresponder_active', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('autoresponder', 'last_autoresponder_run', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('admin', 'show_version_login', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('admin', 'show_version_footer', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_wrapper', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_starter', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'index_file_extension', 'html'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'items_per_page', '20'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'upload_fields', '5'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'aps_active', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'php-extension', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'php-configuration', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'webserver-htaccess', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'php-function', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('aps', 'webserver-module', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('session', 'allow_multiple_login', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'allow_domain_change_admin', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'allow_domain_change_customer', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_maxrequests', '250'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system','ssl_key_file','/etc/apache2/apache2.key'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system','ssl_ca_file', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'frontend', 'froxlor'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('spf', 'use_spf', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('spf', 'spf_entry', '@ IN TXT "v=spf1 a mx -all"'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'debug_cron', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'password_min_length', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'store_index_file_subs', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'adminmail_defname', 'Froxlor Administrator'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'adminmail_return', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_algorithm', 'all'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_add_adsp', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_keylength', '1024'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_servicetype', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_add_adsppolicy', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('dkim', 'dkim_notes', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'stdsubdomain', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_path', '/usr/bin/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_conf', '/etc/awstats/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'defaultttl', '604800'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'enabled', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err401', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err403', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err404', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('defaultwebsrverrhandler', 'err500', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('ticket', 'default_priority', '2'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_defaultini', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'ftpserver', 'proftpd'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customredirect', 'enabled', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('customredirect', 'default', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'dns_createmailentry', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'froxlordirectlyviahostname', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'password_regex', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_path', '/usr/bin/perl'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_ownvhost', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpuser', 'froxlorlocal'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpgroup', 'froxlorlocal'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecworkaround', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('perl', 'suexecpath', '/var/www/cgi-bin/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_awstatspath', '/usr/bin/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_defaultini_ownvhost', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'awstats_icons', '/usr/share/awstats/icon/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'ssl_cert_chainfile', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('login', 'domain_login', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'nginx_php_backend', '127.0.0.1:8888'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'phpreload_command', ''); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'enabled', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'configdir', '/etc/php-fpm.d/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'reload', '/etc/init.d/php-fpm restart'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'pm', 'static'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_children', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'start_servers', '20'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'min_spare_servers', '5'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_spare_servers', '35'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'max_requests', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'tmpdir', '/var/customers/tmp/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'peardir', '/usr/share/php/:/usr/share/php5/'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'enabled_ownvhost', '0'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'vhost_httpuser', 'froxlorlocal'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'vhost_httpgroup', 'froxlorlocal'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_enable', '1'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_webmax', '90'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('system', 'report_trafficmax', '90'); +INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'default_theme', 'Froxlor'); # -------------------------------------------------------- From 0a2fed06cbee0cfb93f902560cc19b50a0519822 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Wed, 9 Feb 2011 10:56:12 +0100 Subject: [PATCH 09/48] test Signed-off-by: Michael Kaufmann (d00p) --- install/updatesql.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/install/updatesql.php b/install/updatesql.php index 8e2beec3..5f5f7ab6 100644 --- a/install/updatesql.php +++ b/install/updatesql.php @@ -105,5 +105,3 @@ if(isFroxlor()) $filelog->logAction(ADM_ACTION, LOG_WARNING, '--------------- END LOG ---------------'); unset($filelog); } - -?> From 885bf7e88c9f7779c14d9713ab40e5696e42ecb7 Mon Sep 17 00:00:00 2001 From: Andreas Burchert Date: Fri, 11 Feb 2011 22:08:22 +0100 Subject: [PATCH 10/48] Added customer/domain formfields. --- .../domains/formfield.domains_add.php | 78 +++++++++++++++ .../domains/formfield.domains_edit.php | 97 +++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 lib/formfields/customer/domains/formfield.domains_add.php create mode 100644 lib/formfields/customer/domains/formfield.domains_edit.php diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php new file mode 100644 index 00000000..7d63ff7b --- /dev/null +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -0,0 +1,78 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'domain_add' => array( + 'title' => $lng['domains']['subdomain_add'], + 'image' => 'icons/add_domain.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['domains']['subdomain_add'], + 'image' => 'icons/add_domain.png', + 'fields' => array( + 'domain' => array( + 'label' => $lng['domains']['domainname'], + 'type' => 'text' + ), + 'aliasdomain' => array( + 'label' => $lng['domains']['aliasdomain'], + 'type' => 'select', + 'select_var' => $aliasdomains + ), + 'pathedit' => array( + 'visible' => ($settings['panel']['pathedit'] != 'Dropdown' ? true : false), + 'label' => $lng['panel']['pathorurl'], + 'desc' => $lng['panel']['pathDescription'], // TODO was ist mit: $lng['panel']['pathDescriptionEx'] ? + 'type' => 'text', + 'value' => $pathSelect + ), + 'pathedit_dropdown' => array( + 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'label' => $lng['panel']['path'], + 'type' => 'text', + 'value' => $pathSelect + ), + 'pathedit_dropdown2' => array( + 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'label' => $lng['panel']['urloverridespath'], + 'type' => 'text', + 'value' => $urlvalue, + 'size' => 30 + ), + 'apache2_customerRedirect' => array( + 'visible' => (($settings['system']['webserver'] == 'apache2' && $settings['customredirect']['enabled'] == '1') ? true : false), + 'label' => $lng['domains']['redirectifpathisurl'], + 'desc' => $lng['domains']['redirectifpathisurlinfo'], + 'type' => 'select', + 'select_var' => $redirectcode + ), + 'ssl' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), + 'label' => 'SSL Redirect', + 'type' => 'text', + 'yesno_var' => $ssl_redirect + ), + 'openbasedir' => array( + 'label' => $lng['domain']['openbasedirpath'], + 'type' => 'select', + 'select_var' => $openbasedir + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/domains/formfield.domains_edit.php b/lib/formfields/customer/domains/formfield.domains_edit.php new file mode 100644 index 00000000..e81eb8e8 --- /dev/null +++ b/lib/formfields/customer/domains/formfield.domains_edit.php @@ -0,0 +1,97 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_edit.php 130 2010-12-22 00:54:11Z d00p $ + */ + +return array( + 'domain_edit' => array( + 'title' => $lng['domains']['subdomain_edit'], + 'image' => 'icons/domain_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['domains']['subdomain_edit'], + 'image' => 'icons/domain_edit.png', + 'fields' => array( + 'domain' => array( + 'label' => $lng['domains']['domainname'], + 'type' => 'label', + 'value' => $result['domain'] + ), + 'dns' => array( + 'label' => $lng['dns']['destinationip'], + 'type' => 'label', + 'value' => $domainip + ), + 'alias_check' => array( + 'visible' => ($alias_check == '0' ? true : false), + 'label' => $lng['domains']['aliasdomain'], + 'type' => 'select', + 'select_var' => $domains + ), + 'pathedit' => array( + 'visible' => ($settings['panel']['pathedit'] != 'Dropdown' ? true : false), + 'label' => $lng['panel']['pathorurl'], + 'desc' => $lng['panel']['pathDescription'], // TODO was ist mit: $lng['panel']['pathDescriptionEx'] ? + 'type' => 'text', + 'value' => $pathSelect + ), + 'pathedit_dropdown' => array( + 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'label' => $lng['panel']['path'], + 'type' => 'text', + 'value' => $pathSelect + ), + 'pathedit_dropdown2' => array( + 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'label' => $lng['panel']['urloverridespath'], + 'type' => 'text', + 'value' => $urlvalue, + 'size' => 30 + ), + 'apache2_customerRedirect' => array( + 'visible' => (($settings['system']['webserver'] == 'apache2' && $settings['customredirect']['enabled'] == '1') ? true : false), + 'label' => $lng['domains']['redirectifpathisurl'], + 'desc' => $lng['domains']['redirectifpathisurlinfo'], + 'type' => 'select', + 'select_var' => $redirectcode + ), + 'parentdomain' => array( + 'visible' => (($result['parentdomainid'] == '0' && $userinfo['subdomains'] != '0') ? true : false), + 'label' => $lng['domains']['wildcarddomain'], + 'type' => 'label', + 'value' => $iswildcarddomain + ), + 'emaildomain' => array( + 'visible' => ((( $result['subcanemaildomain'] == '1' || $result['subcanemaildomain'] == '2' ) && $result['parentdomainid'] != '0') ? true : false), + 'label' => 'Emaildomain', + 'type' => 'label', + 'value' => $isemaildomain + ), + 'ssl' => array( + 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), + 'label' => 'SSL Redirect', + 'type' => 'label', + 'value' => $ssl_redirect + ), + 'openbasedir' => array( + 'label' => $lng['domain']['openbasedirpath'], + 'type' => 'select', + 'select_var' => $openbasedir + ) + ) + ) + ) + ) +); From 8cb615df5fdb1d6756fc9ebe80926f53b62b3e24 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 15:15:55 +0100 Subject: [PATCH 11/48] Converted customer -> mysql to new formbuilder --- customer_mysql.php | 12 +++++ lib/.gitignore | 1 + .../customer/mysql/formfield.mysql_add.php | 49 ++++++++++++++++++ .../customer/mysql/formfield.mysql_edit.php | 50 +++++++++++++++++++ .../Froxlor/customer/mysql/mysqls_add.tpl | 49 ++++++------------ .../Froxlor/customer/mysql/mysqls_edit.tpl | 48 ++++++------------ 6 files changed, 142 insertions(+), 67 deletions(-) create mode 100644 lib/.gitignore create mode 100644 lib/formfields/customer/mysql/formfield.mysql_add.php create mode 100644 lib/formfields/customer/mysql/formfield.mysql_edit.php diff --git a/customer_mysql.php b/customer_mysql.php index 4e5e56c4..e5b9d16c 100644 --- a/customer_mysql.php +++ b/customer_mysql.php @@ -256,6 +256,12 @@ elseif($page == 'mysqls') $sendinfomail = makeyesno('sendinfomail', '1', '0', '0'); + $mysql_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/mysql/formfield.mysql_add.php'; + $mysql_add_form = htmlform::genHTMLForm($mysql_add_data); + + $title = $mysql_add_data['mysql_add']['title']; + $image = $mysql_add_data['mysql_add']['image']; + eval("echo \"" . getTemplate("mysql/mysqls_add") . "\";"); } } @@ -307,6 +313,12 @@ elseif($page == 'mysqls') } else { + $mysql_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/mysql/formfield.mysql_edit.php'; + $mysql_edit_form = htmlform::genHTMLForm($mysql_edit_data); + + $title = $mysql_edit_data['mysql_edit']['title']; + $image = $mysql_edit_data['mysql_edit']['image']; + eval("echo \"" . getTemplate("mysql/mysqls_edit") . "\";"); } } diff --git a/lib/.gitignore b/lib/.gitignore new file mode 100644 index 00000000..015be9fe --- /dev/null +++ b/lib/.gitignore @@ -0,0 +1 @@ +userdata.inc.php diff --git a/lib/formfields/customer/mysql/formfield.mysql_add.php b/lib/formfields/customer/mysql/formfield.mysql_add.php new file mode 100644 index 00000000..adb166fb --- /dev/null +++ b/lib/formfields/customer/mysql/formfield.mysql_add.php @@ -0,0 +1,49 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'mysql_add' => array( + 'title' => $lng['mysql']['database_create'], + 'image' => 'icons/mysql_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['mysql']['database_create'], + 'image' => 'icons/mysql_add.png', + 'fields' => array( + 'description' => array( + 'label' => $lng['mysql']['databasedescription'], + 'type' => 'text', + ), + 'mysql_server' => array( + 'visible' => (1 < count($sql_root) ? true : false), + 'label' => $lng['mysql']['mysql_server'], + 'type' => 'select', + 'select_var' => $mysql_servers, + ), + 'mysql_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password', + ), + 'sendinfomail' => array( + 'label' => $lng['customer']['sendinfomail'], + 'type' => 'yesno', + 'yesno_var' => $sendinfomail, + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/mysql/formfield.mysql_edit.php b/lib/formfields/customer/mysql/formfield.mysql_edit.php new file mode 100644 index 00000000..bd812fae --- /dev/null +++ b/lib/formfields/customer/mysql/formfield.mysql_edit.php @@ -0,0 +1,50 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'mysql_edit' => array( + 'title' => $lng['mysql']['database_edit'], + 'image' => 'icons/mysql_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['mysql']['database_edit'], + 'image' => 'icons/mysql_edit.png', + 'fields' => array( + 'databasename' => array( + 'label' => $lng['mysql']['databasename'], + 'type' => 'label', + 'value' => $result['databasename'], + ), + 'description' => array( + 'label' => $lng['mysql']['databasedescription'], + 'type' => 'text', + 'value' => $result['description'], + ), + 'mysql_server' => array( + 'visible' => (1 < count($sql_root) ? true : false), + 'label' => $lng['mysql']['mysql_server'], + 'type' => 'label', + 'value' => $sql_root[$result['dbserver']]['caption'] + ), + 'mysql_password' => array( + 'label' => $lng['changepassword']['new_password_ifnotempty'], + 'type' => 'password', + ), + ) + ) + ) + ) +); diff --git a/templates/Froxlor/customer/mysql/mysqls_add.tpl b/templates/Froxlor/customer/mysql/mysqls_add.tpl index 309882ce..c1168dae 100644 --- a/templates/Froxlor/customer/mysql/mysqls_add.tpl +++ b/templates/Froxlor/customer/mysql/mysqls_add.tpl @@ -1,43 +1,23 @@ $header -
    -
    -

    - {$lng['mysql']['database_create']}  - {$lng['mysql']['database_create']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['mysql']['database_create']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - + {$mysql_add_form}
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}
    -

    +

    @@ -45,6 +25,7 @@ $header

    -
    -
    + +
    +
    $footer diff --git a/templates/Froxlor/customer/mysql/mysqls_edit.tpl b/templates/Froxlor/customer/mysql/mysqls_edit.tpl index 2a93c9f5..a5426538 100644 --- a/templates/Froxlor/customer/mysql/mysqls_edit.tpl +++ b/templates/Froxlor/customer/mysql/mysqls_edit.tpl @@ -1,50 +1,32 @@ $header -
    -
    -

    - {$lng['mysql']['database_edit']}  - {$lng['mysql']['database_edit']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['mysql']['database_edit']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - + {$mysql_edit_form}
    {$lng['mysql']['databasename']}:{$result['databasename']}
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:{$sql_root[$result['dbserver']]['caption']}
    {$lng['changepassword']['new_password_ifnotempty']}:

    +

    -
    -
    + +
    +
    $footer From 3f93044121949b19e3457f2020800f2b8ed39fdb Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 15:47:37 +0100 Subject: [PATCH 12/48] add formields for email stuff --- .../domains/formfield.domains_add.php | 2 +- .../formfield.emails_accountchangepasswd.php | 40 ++++++++++++ .../formfield.emails_accountchangequota.php | 41 ++++++++++++ .../customer/email/formfield.emails_add.php | 45 +++++++++++++ .../email/formfield.emails_addaccount.php | 52 +++++++++++++++ .../email/formfield.emails_addforwarder.php | 40 ++++++++++++ .../customer/email/formfield.emails_edit.php | 64 +++++++++++++++++++ 7 files changed, 283 insertions(+), 1 deletion(-) create mode 100644 lib/formfields/customer/email/formfield.emails_accountchangepasswd.php create mode 100644 lib/formfields/customer/email/formfield.emails_accountchangequota.php create mode 100644 lib/formfields/customer/email/formfield.emails_add.php create mode 100644 lib/formfields/customer/email/formfield.emails_addaccount.php create mode 100644 lib/formfields/customer/email/formfield.emails_addforwarder.php create mode 100644 lib/formfields/customer/email/formfield.emails_edit.php diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index 7d63ff7b..45a9b92b 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -63,7 +63,7 @@ return array( 'ssl' => array( 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), 'label' => 'SSL Redirect', - 'type' => 'text', + 'type' => 'yesno', 'yesno_var' => $ssl_redirect ), 'openbasedir' => array( diff --git a/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php b/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php new file mode 100644 index 00000000..da72cf02 --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php @@ -0,0 +1,40 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_accountchangepasswd' => array( + 'title' => $lng['menue']['main']['changepassword'], + 'image' => 'icons/email_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['menue']['main']['changepassword'], + 'image' => 'icons/email_edit.png', + 'fields' => array( + 'email_full' => array( + 'label' => $lng['emails']['emailaddress'], + 'type' => 'label', + 'value' => $result['email_full'] + ), + 'email_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password' + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/email/formfield.emails_accountchangequota.php b/lib/formfields/customer/email/formfield.emails_accountchangequota.php new file mode 100644 index 00000000..28e9da70 --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_accountchangequota.php @@ -0,0 +1,41 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_accountchangequota' => array( + 'title' => $lng['emails']['quota_edit'], + 'image' => 'icons/email_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['emails']['quota_edit'], + 'image' => 'icons/email_edit.png', + 'fields' => array( + 'email_full' => array( + 'label' => $lng['emails']['emailaddress'], + 'type' => 'label', + 'value' => $result['email_full'] + ), + 'email_quota' => array( + 'label' => $lng['emails']['quota'].' ('.$lng['panel']['megabyte'].')', + 'type' => 'text', + 'value' => $result['quota'] + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/email/formfield.emails_add.php b/lib/formfields/customer/email/formfield.emails_add.php new file mode 100644 index 00000000..5ea85d68 --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_add.php @@ -0,0 +1,45 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_add' => array( + 'title' => $lng['emails']['emails_add'], + 'image' => 'icons/email_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['emails']['emails_add'], + 'image' => 'icons/email_add.png', + 'fields' => array( + 'email_part' => array( + 'label' => $lng['emails']['emailaddress'], + 'type' => 'text' + ), + 'domain' => array( + 'label' => '@TODO up to email-part', + 'type' => 'select', + 'select_var' => $domains + ), + 'pathedit' => array( + 'label' => $lng['emails']['iscatchall'], + 'type' => 'yesno', + 'yesno_var' => $iscatchall + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/email/formfield.emails_addaccount.php b/lib/formfields/customer/email/formfield.emails_addaccount.php new file mode 100644 index 00000000..895b682e --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_addaccount.php @@ -0,0 +1,52 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_addaccount' => array( + 'title' => $lng['emails']['account_add'], + 'image' => 'icons/email_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['emails']['account_add'], + 'image' => 'icons/email_add.png', + 'fields' => array( + 'email_full' => array( + 'label' => $lng['emails']['emailaddress'], + 'type' => 'label', + 'value' => $result['email_full'] + ), + 'email_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password' + ), + 'email_quota' => array( + 'visible' => $settings['system']['mail_quota_enabled'], + 'label' => $lng['emails']['quota'], + 'desc' => $lng['panel']['megabyte'], + 'type' => 'text', + 'value' => $quota + ), + 'alternative_email' => array( + 'visible' => $settings['panel']['sendalternativemail'], + 'label' => $lng['emails']['alternative_emailaddress'], + 'type' => 'text' + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/email/formfield.emails_addforwarder.php b/lib/formfields/customer/email/formfield.emails_addforwarder.php new file mode 100644 index 00000000..9532bd68 --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_addforwarder.php @@ -0,0 +1,40 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_addforwarder' => array( + 'title' => $lng['emails']['forwarder_add'], + 'image' => 'icons/add_autoresponder.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['emails']['forwarder_add'], + 'image' => 'icons/add_autoresponder.png', + 'fields' => array( + 'email_full' => array( + 'label' => $lng['emails']['from'], + 'type' => 'label', + 'value' => $result['email_full'] + ), + 'destination' => array( + 'label' => $lng['emails']['to'], + 'type' => 'text' + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/email/formfield.emails_edit.php b/lib/formfields/customer/email/formfield.emails_edit.php new file mode 100644 index 00000000..9a45d847 --- /dev/null +++ b/lib/formfields/customer/email/formfield.emails_edit.php @@ -0,0 +1,64 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'emails_edit' => array( + 'title' => $lng['emails']['emails_edit'], + 'image' => 'icons/email_edit.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['emails']['emails_edit'], + 'image' => 'icons/email_edit.png', + 'fields' => array( + 'email_full' => array( + 'label' => $lng['emails']['emailaddress'], + 'type' => 'label', + 'value' => $result['email_full'] + ), + 'account_yes' => array( + 'visible' => ($result['popaccountid'] != 0 ? true : false), + 'label' => $lng['emails']['account'], + 'type' => 'label', + 'value' => $lng['panel']['yes'].' ['.$lng['menue']['main']['changepassword'].'] ['.$lng['emails']['account_delete'].']' + ), + 'account_no' => array( + 'visible' => ($result['popaccountid'] == 0 ? true : false), + 'label' => $lng['emails']['account'], + 'type' => 'label', + 'value' => $lng['panel']['no'].' ['.$lng['emails']['account_add'].']' + ), + 'mail_quota' => array( + 'visible' => ($result['popaccountid'] != 0 && $settings['system']['mail_quota_enabled']), + 'label' => $lng['customer']['email_quota'], + 'type' => 'label', + 'value' => $result['quota'].' '.$lng['panel']['megabyte'].' ['.$lng['emails']['quota_edit'].']' + ), + 'mail_catchall' => array( + 'label' => $lng['emails']['catchall'], + 'type' => 'label', + 'value' => ($result['iscatchall'] == 0 ? $lng['panel']['no'] : $lng['panel']['yes']).' ['.$lng['panel']['toggle'].']' + ), + 'mail_fwds' => array( + 'label' => $lng['emails']['forwarders'].' ('.$forwarders_count.')', + 'type' => 'label', + 'value' => $forwarders.' '.$lng['emails']['forwarder_add'].'' + ) + ) + ) + ) + ) +); From 26aed64bf82f2d4d9c89199fdf451cb4ab266bd0 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 16:08:05 +0100 Subject: [PATCH 13/48] Converted customer -> ftp to new formbuilder Signed-off-by: Florian Aders (EleRas) --- customer_ftp.php | 14 ++++- .../customer/ftp/formfield.ftp_add.php | 56 ++++++++++++++++++ .../customer/ftp/formfield.ftp_edit.php | 57 +++++++++++++++++++ .../customer/mysql/formfield.mysql_add.php | 4 +- .../customer/mysql/formfield.mysql_edit.php | 4 +- .../Froxlor/customer/ftp/accounts_add.tpl | 51 +++++------------ .../Froxlor/customer/ftp/accounts_edit.tpl | 51 +++++------------ 7 files changed, 158 insertions(+), 79 deletions(-) create mode 100644 lib/formfields/customer/ftp/formfield.ftp_add.php create mode 100644 lib/formfields/customer/ftp/formfield.ftp_edit.php diff --git a/customer_ftp.php b/customer_ftp.php index bc591acf..207fb60d 100644 --- a/customer_ftp.php +++ b/customer_ftp.php @@ -270,6 +270,12 @@ elseif($page == 'accounts') $sendinfomail = makeyesno('sendinfomail', '1', '0', '0'); + $ftp_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/ftp/formfield.ftp_add.php'; + $ftp_add_form = htmlform::genHTMLForm($ftp_add_data); + + $title = $ftp_add_data['ftp_add']['title']; + $image = $ftp_add_data['ftp_add']['image']; + eval("echo \"" . getTemplate("ftp/accounts_add") . "\";"); } } @@ -352,7 +358,13 @@ elseif($page == 'accounts') $domains.= makeoption($idna_convert->decode($row_domain['domain']), $row_domain['domain']); } } - + + $ftp_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/ftp/formfield.ftp_edit.php'; + $ftp_edit_form = htmlform::genHTMLForm($ftp_edit_data); + + $title = $ftp_edit_data['ftp_edit']['title']; + $image = $ftp_edit_data['ftp_edit']['image']; + eval("echo \"" . getTemplate("ftp/accounts_edit") . "\";"); } } diff --git a/lib/formfields/customer/ftp/formfield.ftp_add.php b/lib/formfields/customer/ftp/formfield.ftp_add.php new file mode 100644 index 00000000..a020cef3 --- /dev/null +++ b/lib/formfields/customer/ftp/formfield.ftp_add.php @@ -0,0 +1,56 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'ftp_add' => array( + 'title' => $lng['ftp']['account_add'], + 'image' => 'icons/add_user.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ftp']['account_add'], + 'image' => 'icons/add_user.png', + 'fields' => array( + 'ftp_username' => array( + 'visible' => ($settings['customer']['ftpatdomain'] == '1' ? true : false), + 'label' => $lng['login']['username'], + 'type' => 'text' + ), + 'ftp_domain' => array( + 'visible' => ($settings['customer']['ftpatdomain'] == '1' ? true : false), + 'label' => $lng['domains']['domainname'], + 'type' => 'select', + 'select_var' => (isset($domains) ? $domains : ""), + ), + 'path' => array( + 'label' => $lng['panel']['path'], + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect, + ), + 'ftp_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password', + ), + 'sendinfomail' => array( + 'label' => $lng['customer']['sendinfomail'], + 'type' => 'yesno', + 'yesno_var' => $sendinfomail, + ), + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/ftp/formfield.ftp_edit.php b/lib/formfields/customer/ftp/formfield.ftp_edit.php new file mode 100644 index 00000000..c7054516 --- /dev/null +++ b/lib/formfields/customer/ftp/formfield.ftp_edit.php @@ -0,0 +1,57 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'ftp_edit' => array( + 'title' => $lng['ftp']['account_edit'], + 'image' => 'icons/edit_user.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ftp']['account_edit'], + 'image' => 'icons/edit_user.png', + 'fields' => array( + 'username' => array( + 'label' => $lng['login']['username'], + 'type' => 'label', + 'value' => $result['username'], + ), + 'ftp_username' => array( + 'visible' => ($settings['customer']['ftpatdomain'] == '1' ? true : false), + 'label' => $lng['login']['username'], + 'type' => 'text' + ), + 'ftp_domain' => array( + 'visible' => ($settings['customer']['ftpatdomain'] == '1' ? true : false), + 'label' => $lng['domains']['domainname'], + 'type' => 'select', + 'select_var' => (isset($domains) ? $domains : ""), + ), + 'path' => array( + 'label' => $lng['panel']['path'], + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : NULL), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect + ), + 'ftp_password' => array( + 'label' => $lng['login']['password'], + 'desc' => $lng['ftp']['editpassdescription'], + 'type' => 'password', + ), + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/mysql/formfield.mysql_add.php b/lib/formfields/customer/mysql/formfield.mysql_add.php index adb166fb..efa46b91 100644 --- a/lib/formfields/customer/mysql/formfield.mysql_add.php +++ b/lib/formfields/customer/mysql/formfield.mysql_add.php @@ -17,11 +17,11 @@ return array( 'mysql_add' => array( 'title' => $lng['mysql']['database_create'], - 'image' => 'icons/mysql_add.png', + 'image' => 'icons/add_mysql.png', 'sections' => array( 'section_a' => array( 'title' => $lng['mysql']['database_create'], - 'image' => 'icons/mysql_add.png', + 'image' => 'icons/add_mysql.png', 'fields' => array( 'description' => array( 'label' => $lng['mysql']['databasedescription'], diff --git a/lib/formfields/customer/mysql/formfield.mysql_edit.php b/lib/formfields/customer/mysql/formfield.mysql_edit.php index bd812fae..617a1c03 100644 --- a/lib/formfields/customer/mysql/formfield.mysql_edit.php +++ b/lib/formfields/customer/mysql/formfield.mysql_edit.php @@ -17,11 +17,11 @@ return array( 'mysql_edit' => array( 'title' => $lng['mysql']['database_edit'], - 'image' => 'icons/mysql_edit.png', + 'image' => 'icons/edit_mysql.png', 'sections' => array( 'section_a' => array( 'title' => $lng['mysql']['database_edit'], - 'image' => 'icons/mysql_edit.png', + 'image' => 'icons/edit_mysql.png', 'fields' => array( 'databasename' => array( 'label' => $lng['mysql']['databasename'], diff --git a/templates/Froxlor/customer/ftp/accounts_add.tpl b/templates/Froxlor/customer/ftp/accounts_add.tpl index 3b16c280..92444d4c 100644 --- a/templates/Froxlor/customer/ftp/accounts_add.tpl +++ b/templates/Froxlor/customer/ftp/accounts_add.tpl @@ -1,44 +1,20 @@ $header -
    -
    -

    - {$lng['ftp']['account_add']}  - {$lng['ftp']['account_add']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['ftp']['account_add']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - - - - - + {$ftp_add_form}
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}

    @@ -49,6 +25,7 @@ $header

    -
    -
    + +
    +
    $footer diff --git a/templates/Froxlor/customer/ftp/accounts_edit.tpl b/templates/Froxlor/customer/ftp/accounts_edit.tpl index 336f3956..9b21bc48 100644 --- a/templates/Froxlor/customer/ftp/accounts_edit.tpl +++ b/templates/Froxlor/customer/ftp/accounts_edit.tpl @@ -1,44 +1,20 @@ $header -
    -
    -

    - {$lng['ftp']['account_edit']}  - {$lng['ftp']['account_edit']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['ftp']['account_edit']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - - - - - + {$ftp_edit_form}
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['ftp']['editpassdescription']}

    @@ -49,6 +25,7 @@ $header

    -
    -
    + +
    +
    $footer From 9e798c636201320b484070e6028d989eea8dbd3a Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 16:13:57 +0100 Subject: [PATCH 14/48] add formfields for customer_extras --- .../extras/formfield.htaccess_add.php | 65 ++++++++++++++++++ .../extras/formfield.htaccess_edit.php | 67 +++++++++++++++++++ .../extras/formfield.htpasswd_add.php | 49 ++++++++++++++ .../extras/formfield.htpasswd_edit.php | 50 ++++++++++++++ 4 files changed, 231 insertions(+) create mode 100644 lib/formfields/customer/extras/formfield.htaccess_add.php create mode 100644 lib/formfields/customer/extras/formfield.htaccess_edit.php create mode 100644 lib/formfields/customer/extras/formfield.htpasswd_add.php create mode 100644 lib/formfields/customer/extras/formfield.htpasswd_edit.php diff --git a/lib/formfields/customer/extras/formfield.htaccess_add.php b/lib/formfields/customer/extras/formfield.htaccess_add.php new file mode 100644 index 00000000..81a58a61 --- /dev/null +++ b/lib/formfields/customer/extras/formfield.htaccess_add.php @@ -0,0 +1,65 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'htaccess_add' => array( + 'title' => $lng['extras']['pathoptions_add'], + 'image' => 'icons/add_htpasswd.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['extras']['pathoptions_add'], + 'image' => 'icons/add_htpasswd.png', + 'fields' => array( + 'path' => array( + 'label' => $lng['panel']['path'], + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect + ), + 'options_indexes' => array( + 'label' => $lng['extras']['directory_browsing'], + 'type' => 'yesno', + 'yesno_var' => $options_indexes + ), + 'error404path' => array( + 'label' => $lng['extras']['errordocument404path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text' + ), + 'error403path' => array( + 'visible' => ($settings['system']['webserver'] == 'apache2'), + 'label' => $lng['extras']['errordocument403path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text' + ), + 'error500path' => array( + 'visible' => ($settings['system']['webserver'] == 'apache2'), + 'label' => $lng['extras']['errordocument500path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text' + ), + 'options_cgi' => array( + 'visible' => ($cperlenabled == 1), + 'label' => $lng['extras']['execute_perl'], + 'type' => 'yesno', + 'yesno_var' => $options_cgi + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/extras/formfield.htaccess_edit.php b/lib/formfields/customer/extras/formfield.htaccess_edit.php new file mode 100644 index 00000000..8a4cf558 --- /dev/null +++ b/lib/formfields/customer/extras/formfield.htaccess_edit.php @@ -0,0 +1,67 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'htaccess_edit' => array( + 'title' => $lng['extras']['pathoptions_edit'], + 'image' => 'icons/edit_htpasswd.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['extras']['pathoptions_edit'], + 'image' => 'icons/edit_htpasswd.png', + 'fields' => array( + 'path' => array( + 'label' => $lng['panel']['path'], + 'type' => 'label', + 'value' => $result['path'] + ), + 'options_indexes' => array( + 'label' => $lng['extras']['directory_browsing'], + 'type' => 'yesno', + 'yesno_var' => $options_indexes + ), + 'error404path' => array( + 'label' => $lng['extras']['errordocument404path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text', + 'value' => $result['error404path'] + ), + 'error403path' => array( + 'visible' => ($settings['system']['webserver'] == 'apache2'), + 'label' => $lng['extras']['errordocument403path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text', + 'value' => $result['error403path'] + ), + 'error500path' => array( + 'visible' => ($settings['system']['webserver'] == 'apache2'), + 'label' => $lng['extras']['errordocument500path'], + 'desc' => $lng['panel']['descriptionerrordocument'], + 'type' => 'text', + 'value' => $result['error500path'] + ), + 'options_cgi' => array( + 'visible' => ($cperlenabled == 1), + 'label' => $lng['extras']['execute_perl'], + 'type' => 'yesno', + 'yesno_var' => $options_cgi + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/extras/formfield.htpasswd_add.php b/lib/formfields/customer/extras/formfield.htpasswd_add.php new file mode 100644 index 00000000..441f2f37 --- /dev/null +++ b/lib/formfields/customer/extras/formfield.htpasswd_add.php @@ -0,0 +1,49 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'htpasswd_add' => array( + 'title' => $lng['extras']['directoryprotection_add'], + 'image' => 'icons/add_htpasswd.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['extras']['directoryprotection_add'], + 'image' => 'icons/add_htpasswd.png', + 'fields' => array( + 'path' => array( + 'label' => $lng['panel']['path'], + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect + ), + 'username' => array( + 'label' => $lng['login']['username'], + 'type' => 'text' + ), + 'directory_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password' + ), + 'directory_authname' => array( + 'label' => $lng['extras']['htpasswdauthname'], + 'type' => 'text' + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/extras/formfield.htpasswd_edit.php b/lib/formfields/customer/extras/formfield.htpasswd_edit.php new file mode 100644 index 00000000..2be420f3 --- /dev/null +++ b/lib/formfields/customer/extras/formfield.htpasswd_edit.php @@ -0,0 +1,50 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + */ + +return array( + 'htpasswd_edit' => array( + 'title' => $lng['extras']['directoryprotection_add'], + 'image' => 'icons/add_htpasswd.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['extras']['directoryprotection_add'], + 'image' => 'icons/add_htpasswd.png', + 'fields' => array( + 'path' => array( + 'label' => $lng['panel']['path'], + 'type' => 'label', + 'value' => $result['path'] + ), + 'username' => array( + 'label' => $lng['login']['username'], + 'type' => 'label', + 'value' => $result['username'] + ), + 'directory_password' => array( + 'label' => $lng['login']['password'], + 'type' => 'password' + ), + 'directory_authname' => array( + 'label' => $lng['extras']['htpasswdauthname'], + 'type' => 'text', + 'value' => $result['authname'] + ) + ) + ) + ) + ) +); From 0b20a154f548e61894bf90d97c7b5a693af7dc5c Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 12 Feb 2011 16:18:24 +0100 Subject: [PATCH 15/48] Finished email stuff. --- customer_email.php | 42 ++++++++++++ .../Froxlor/customer/email/account_add.tpl | 24 +------ .../customer/email/account_changepw.tpl | 52 +++++++------- .../customer/email/account_changequota.tpl | 52 +++++++------- .../customer/email/autoresponder_add.tpl | 68 ++++++++----------- .../Froxlor/customer/email/emails_add.tpl | 12 +--- .../Froxlor/customer/email/emails_edit.tpl | 38 +---------- .../Froxlor/customer/email/forwarder_add.tpl | 12 +--- 8 files changed, 130 insertions(+), 170 deletions(-) diff --git a/customer_email.php b/customer_email.php index adc0b8d2..3099d1fd 100644 --- a/customer_email.php +++ b/customer_email.php @@ -282,6 +282,13 @@ elseif($page == 'emails') } $iscatchall = makeyesno('iscatchall', '1', '0', '0'); + + $email_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_edit.php'; + $email_add_form = htmlform::genHTMLForm($email_add_form); + + $title = $email_add_form['emails_edit']['title']; + $image = $email_add_form['emails_edit']['image']; + eval("echo \"" . getTemplate("email/emails_add") . "\";"); } } @@ -321,6 +328,13 @@ elseif($page == 'emails') $destinations_count = count($result['destination']); $result = htmlentities_array($result); + + $email_edit_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_edit.php'; + $email_edit_form = htmlform::genHTMLForm($email_edit_form); + + $title = $email_edit_form['emails_edit']['title']; + $image = $email_edit_form['emails_edit']['image']; + eval("echo \"" . getTemplate("email/emails_edit") . "\";"); } } @@ -505,6 +519,13 @@ elseif($page == 'accounts') $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); $quota = $settings['system']['mail_quota']; + + $account_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_addaccount.php'; + $account_add_form = htmlform::genHTMLForm($account_add_form); + + $title = $account_add_form['emails_addaccount']['title']; + $image = $account_add_form['emails_addaccount']['image']; + eval("echo \"" . getTemplate("email/account_add") . "\";"); } } @@ -543,6 +564,13 @@ elseif($page == 'accounts') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); + + $account_changepw = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php'; + $account_changepw = htmlform::genHTMLForm($account_changepw); + + $title = $account_changepw['emails_accountchangepasswd']['title']; + $image = $account_changepw['emails_accountchangepasswd']['image']; + eval("echo \"" . getTemplate("email/account_changepw") . "\";"); } } @@ -584,6 +612,13 @@ elseif($page == 'accounts') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); + + $quota_edit = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangequota.php'; + $quota_edit = htmlform::genHTMLForm($quota_edit); + + $title = $quota_edit['emails_accountchangequota']['title']; + $image = $quota_edit['emails_accountchangequota']['image']; + eval("echo \"" . getTemplate("email/account_changequota") . "\";"); } } @@ -678,6 +713,13 @@ elseif($page == 'forwarders') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); + + $forwarder_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/emails/formfield.emails_addforwarder.php'; + $forwarder_add_form = htmlform::genHTMLForm($forwarder_add_form); + + $title = $forwarder_add_form['emails_addforwarder']['title']; + $image = $forwarder_add_form['emails_addforwarder']['image']; + eval("echo \"" . getTemplate("email/forwarder_add") . "\";"); } } diff --git a/templates/Froxlor/customer/email/account_add.tpl b/templates/Froxlor/customer/email/account_add.tpl index d2b25f2b..87e1a1e7 100644 --- a/templates/Froxlor/customer/email/account_add.tpl +++ b/templates/Froxlor/customer/email/account_add.tpl @@ -14,29 +14,7 @@ $header Froxlor - {$lng['emails']['emails_add']} - - - - - - - - - - - - - - - - - - - - - - - + {$account_add_form}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['login']['password']}:
    {$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
    {$lng['emails']['alternative_emailaddress']}:

    diff --git a/templates/Froxlor/customer/email/account_changepw.tpl b/templates/Froxlor/customer/email/account_changepw.tpl index 1c42a6d9..9a211a30 100644 --- a/templates/Froxlor/customer/email/account_changepw.tpl +++ b/templates/Froxlor/customer/email/account_changepw.tpl @@ -1,26 +1,30 @@ $header -

    - - - - - - - - - - - - - - - - - - - -
     {$lng['menue']['main']['changepassword']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['login']['password']}:
    -
    -
    -
    +
    +
    +

    + {$lng['menue']['main']['changepassword']}  + {$lng['menue']['main']['changepassword']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['menue']['main']['changepassword']} + + + {$account_changepw} +
    + +

    + + + + +

    +
    +
    +
    +
    $footer \ No newline at end of file diff --git a/templates/Froxlor/customer/email/account_changequota.tpl b/templates/Froxlor/customer/email/account_changequota.tpl index b39d30c7..8f96bddd 100644 --- a/templates/Froxlor/customer/email/account_changequota.tpl +++ b/templates/Froxlor/customer/email/account_changequota.tpl @@ -1,26 +1,30 @@ $header -
    - - - - - - - - - - - - - - - - - - - -
     {$lng['emails']['quota_edit']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
    -
    -
    -
    +
    +
    +

    + {$lng['emails']['quota_edit']}  + {$lng['emails']['quota_edit']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['quota_edit']} + + + {$quota_edit} +
    + +

    + + + + +

    +
    +
    +
    +
    $footer \ No newline at end of file diff --git a/templates/Froxlor/customer/email/autoresponder_add.tpl b/templates/Froxlor/customer/email/autoresponder_add.tpl index d3df8fae..d0588985 100644 --- a/templates/Froxlor/customer/email/autoresponder_add.tpl +++ b/templates/Froxlor/customer/email/autoresponder_add.tpl @@ -1,42 +1,30 @@ $header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['autoresponder']['autoresponder_new']}
    {$lng['autoresponder']['account']}:
    {$lng['autoresponder']['active']}:
    {$lng['autoresponder']['date_from']} (dd-mm-yyyy): {$date_from_off}
    {$lng['autoresponder']['date_until']} (dd-mm-yyyy): {$date_until_off}
    {$lng['autoresponder']['subject']}:
    {$lng['autoresponder']['message']}:
    -
    -
    -
    +
    +
    +

    + {$lng['autoresponder']['autoresponder_new']}  + {$lng['autoresponder']['autoresponder_new']} +

    +
    + +
    + +
    +
    + Froxlor - {$lng['emails']['forwarder_add']} + + + {$autoresponder_add_form} +
    + +

    + + + + +

    +
    +
    +
    +
    $footer \ No newline at end of file diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl index 8debbeaa..8559dc2f 100644 --- a/templates/Froxlor/customer/email/emails_add.tpl +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -23,17 +23,7 @@ $header Froxlor - {$lng['emails']['emails_add']} - - - - - - - - - - - + {$email_add_form}
    {$lng['emails']['emailaddress']}: @
    {$lng['emails']['iscatchall']}$iscatchall

    diff --git a/templates/Froxlor/customer/email/emails_edit.tpl b/templates/Froxlor/customer/email/emails_edit.tpl index 9e702951..fc259a61 100644 --- a/templates/Froxlor/customer/email/emails_edit.tpl +++ b/templates/Froxlor/customer/email/emails_edit.tpl @@ -14,43 +14,7 @@ $header Froxlor - {$lng['emails']['emails_edit']} - - - - - - - - - - - - - - - - - - - - - - + {$email_edit_form}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['emails']['account']}: - - {$lng['panel']['yes']} [{$lng['menue']['main']['changepassword']}] [{$lng['emails']['account_delete']}] - - - {$lng['panel']['no']} [{$lng['emails']['account_add']}] - -
    {$lng['customer']['email_quota']}:{$result['quota']} {$lng['panel']['megabyte']} [{$lng['emails']['quota_edit']}]
    {$lng['emails']['catchall']}: - - {$lng['panel']['yes']} - - - {$lng['panel']['no']} - - [{$lng['panel']['toggle']}] -
    {$lng['emails']['forwarders']} ({$forwarders_count}):$forwarders{$lng['emails']['forwarder_add']}

    diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl index 4d60a9f7..509b7258 100644 --- a/templates/Froxlor/customer/email/forwarder_add.tpl +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -14,17 +14,7 @@ $header Froxlor - {$lng['emails']['forwarder_add']} - - - - - - - - - - - + {$forwarder_add_form}
    {$lng['emails']['from']}:{$result['email_full']}
    {$lng['emails']['to']}:
     

    From 44febee3579ad389754a187d400e1d6517f479e8 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 16:42:25 +0100 Subject: [PATCH 16/48] use htaccess-formfields --- customer_extras.php | 14 +++++ .../Froxlor/customer/extras/htaccess_add.tpl | 63 +++++-------------- .../Froxlor/customer/extras/htaccess_edit.tpl | 61 +++++------------- 3 files changed, 45 insertions(+), 93 deletions(-) diff --git a/customer_extras.php b/customer_extras.php index a6b1d3f9..df451cb4 100644 --- a/customer_extras.php +++ b/customer_extras.php @@ -357,6 +357,13 @@ elseif($page == 'htaccess') $options_indexes = makeyesno('options_indexes', '1', '0', '0'); $cperlenabled = customerHasPerlEnabled($userinfo['customerid']); $options_cgi = makeyesno('options_cgi', '1', '0', '0'); + + $htaccess_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/extras/formfield.htaccess_add.php'; + $htaccess_add_form = htmlform::genHTMLForm($htaccess_add_data); + + $title = $htaccess_add_data['htaccess_add']['title']; + $image = $htaccess_add_data['htaccess_add']['image']; + eval("echo \"" . getTemplate("extras/htaccess_add") . "\";"); } } @@ -418,6 +425,13 @@ elseif($page == 'htaccess') $cperlenabled = customerHasPerlEnabled($userinfo['customerid']); $options_cgi = makeyesno('options_cgi', '1', '0', $result['options_cgi']); $result = htmlentities_array($result); + + $htaccess_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/extras/formfield.htaccess_edit.php'; + $htaccess_edit_form = htmlform::genHTMLForm($htaccess_edit_data); + + $title = $htaccess_edit_data['htaccess_edit']['title']; + $image = $htaccess_edit_data['htaccess_edit']['image']; + eval("echo \"" . getTemplate("extras/htaccess_edit") . "\";"); } } diff --git a/templates/Froxlor/customer/extras/htaccess_add.tpl b/templates/Froxlor/customer/extras/htaccess_add.tpl index 0271baea..14eca14d 100644 --- a/templates/Froxlor/customer/extras/htaccess_add.tpl +++ b/templates/Froxlor/customer/extras/htaccess_add.tpl @@ -1,55 +1,20 @@ $header -

    -
    -

    - {$lng['extras']['pathoptions_add']}  - {$lng['extras']['pathoptions_add']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['extras']['pathoptions_add']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {$htaccess_add_form}
    - {$lng['panel']['path']}:
    - {$lng['panel']['pathDescription']} -
    {$pathSelect}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['execute_perl']}:$options_cgi

    @@ -60,6 +25,8 @@ $header

    -
    -
    + +
    + +
    $footer diff --git a/templates/Froxlor/customer/extras/htaccess_edit.tpl b/templates/Froxlor/customer/extras/htaccess_edit.tpl index d1b0cc17..828b4b4d 100644 --- a/templates/Froxlor/customer/extras/htaccess_edit.tpl +++ b/templates/Froxlor/customer/extras/htaccess_edit.tpl @@ -1,62 +1,33 @@ $header -
    -
    -

    - {$lng['extras']['pathoptions_edit']}  - {$lng['extras']['pathoptions_edit']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor -  + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {$htaccess_edit_form}
    {$lng['panel']['path']}:{$result['path']}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['execute_perl']}:$options_cgi

    +

    -
    -
    + +
    + +
    $footer From 3e83ae8a6ebd98c1177e5b3d771a46988a58e1f0 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 16:47:07 +0100 Subject: [PATCH 17/48] use htpasswd-formfields --- customer_extras.php | 14 ++++++ .../Froxlor/customer/extras/htpasswds_add.tpl | 49 ++++++------------- .../customer/extras/htpasswds_edit.tpl | 47 ++++++------------ 3 files changed, 45 insertions(+), 65 deletions(-) diff --git a/customer_extras.php b/customer_extras.php index df451cb4..b49e3052 100644 --- a/customer_extras.php +++ b/customer_extras.php @@ -161,6 +161,13 @@ elseif($page == 'htpasswds') else { $pathSelect = makePathfield($userinfo['documentroot'], $userinfo['guid'], $userinfo['guid'], $settings['panel']['pathedit']); + + $htpasswd_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/extras/formfield.htpasswd_add.php'; + $htpasswd_add_form = htmlform::genHTMLForm($htpasswd_add_data); + + $title = $htpasswd_add_data['htpasswd_add']['title']; + $image = $htpasswd_add_data['htpasswd_add']['image']; + eval("echo \"" . getTemplate("extras/htpasswds_add") . "\";"); } } @@ -220,6 +227,13 @@ elseif($page == 'htpasswds') } $result = htmlentities_array($result); + + $htpasswd_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/extras/formfield.htpasswd_edit.php'; + $htpasswd_edit_form = htmlform::genHTMLForm($htpasswd_edit_data); + + $title = $htpasswd_edit_data['htpasswd_edit']['title']; + $image = $htpasswd_edit_data['htpasswd_edit']['image']; + eval("echo \"" . getTemplate("extras/htpasswds_edit") . "\";"); } } diff --git a/templates/Froxlor/customer/extras/htpasswds_add.tpl b/templates/Froxlor/customer/extras/htpasswds_add.tpl index 9b85ee14..87404177 100644 --- a/templates/Froxlor/customer/extras/htpasswds_add.tpl +++ b/templates/Froxlor/customer/extras/htpasswds_add.tpl @@ -1,41 +1,20 @@ $header -
    -
    -

    - {$lng['extras']['directoryprotection_add']}  - {$lng['extras']['directoryprotection_add']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['extras']['directoryprotection_add']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - + {$htpasswd_add_form}
    - {$lng['panel']['path']}:
    - {$lng['panel']['pathDescription']} -
    {$pathSelect}
    {$lng['login']['username']}:
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:

    @@ -46,6 +25,8 @@ $header

    -
    -
    + +
    + +
    $footer diff --git a/templates/Froxlor/customer/extras/htpasswds_edit.tpl b/templates/Froxlor/customer/extras/htpasswds_edit.tpl index eab2c101..8b848dc3 100644 --- a/templates/Froxlor/customer/extras/htpasswds_edit.tpl +++ b/templates/Froxlor/customer/extras/htpasswds_edit.tpl @@ -1,48 +1,33 @@ $header -
    -
    -

    - {$lng['extras']['directoryprotection_edit']}  - {$lng['extras']['directoryprotection_edit']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['extras']['directoryprotection_edit']} + Froxlor - {$title} - - - - - - - - - - - - - - - - - - - + {$htpasswd_edit_form}
    {$lng['panel']['path']}:{$result['path']}
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:

    +

    -
    -
    + +
    + +
    $footer From f3d505170a82f292984cf322d101fb979bc80744 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:17:13 +0100 Subject: [PATCH 18/48] bugfix customer_email formfield integration --- customer_email.php | 22 +++++++++++----------- lib/navigation/00.froxlor.main.php | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/customer_email.php b/customer_email.php index 3099d1fd..635f0446 100644 --- a/customer_email.php +++ b/customer_email.php @@ -282,13 +282,13 @@ elseif($page == 'emails') } $iscatchall = makeyesno('iscatchall', '1', '0', '0'); - - $email_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_edit.php'; - $email_add_form = htmlform::genHTMLForm($email_add_form); - $title = $email_add_form['emails_edit']['title']; - $image = $email_add_form['emails_edit']['image']; - + $email_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_add.php'; + $email_add_form = htmlform::genHTMLForm($email_add_data); + + $title = $email_add_data['emails_add']['title']; + $image = $email_add_data['emails_add']['image']; + eval("echo \"" . getTemplate("email/emails_add") . "\";"); } } @@ -328,12 +328,12 @@ elseif($page == 'emails') $destinations_count = count($result['destination']); $result = htmlentities_array($result); - - $email_edit_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_edit.php'; - $email_edit_form = htmlform::genHTMLForm($email_edit_form); - $title = $email_edit_form['emails_edit']['title']; - $image = $email_edit_form['emails_edit']['image']; + $email_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_edit.php'; + $email_edit_form = htmlform::genHTMLForm($email_edit_data); + + $title = $email_edit_data['emails_edit']['title']; + $image = $email_edit_data['emails_edit']['image']; eval("echo \"" . getTemplate("email/emails_edit") . "\";"); } diff --git a/lib/navigation/00.froxlor.main.php b/lib/navigation/00.froxlor.main.php index 3531e7e2..931d8252 100644 --- a/lib/navigation/00.froxlor.main.php +++ b/lib/navigation/00.froxlor.main.php @@ -56,7 +56,7 @@ return array ( array ( 'url' => 'customer_email.php?page=emails&action=add', 'label' => $lng['emails']['emails_add'], - 'required_resources' => 'emails', + 'required_resources' => 'emails' ), array ( 'url' => 'customer_autoresponder.php', From a807ffd91845736fbb3a5b7977e4eb9ad53c5e9f Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:24:07 +0100 Subject: [PATCH 19/48] fix more customer_email formfiled usage --- customer_email.php | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/customer_email.php b/customer_email.php index 635f0446..73ac20e0 100644 --- a/customer_email.php +++ b/customer_email.php @@ -519,13 +519,13 @@ elseif($page == 'accounts') $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); $quota = $settings['system']['mail_quota']; - - $account_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_addaccount.php'; - $account_add_form = htmlform::genHTMLForm($account_add_form); - $title = $account_add_form['emails_addaccount']['title']; - $image = $account_add_form['emails_addaccount']['image']; - + $account_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_addaccount.php'; + $account_add_form = htmlform::genHTMLForm($account_add_data); + + $title = $account_add_data['emails_addaccount']['title']; + $image = $account_add_data['emails_addaccount']['image']; + eval("echo \"" . getTemplate("email/account_add") . "\";"); } } @@ -564,13 +564,13 @@ elseif($page == 'accounts') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); - - $account_changepw = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php'; - $account_changepw = htmlform::genHTMLForm($account_changepw); - $title = $account_changepw['emails_accountchangepasswd']['title']; - $image = $account_changepw['emails_accountchangepasswd']['image']; - + $account_changepw_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangepasswd.php'; + $account_changepw_form = htmlform::genHTMLForm($account_changepw_data); + + $title = $account_changepw_data['emails_accountchangepasswd']['title']; + $image = $account_changepw_data['emails_accountchangepasswd']['image']; + eval("echo \"" . getTemplate("email/account_changepw") . "\";"); } } @@ -612,12 +612,12 @@ elseif($page == 'accounts') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); - - $quota_edit = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangequota.php'; - $quota_edit = htmlform::genHTMLForm($quota_edit); - $title = $quota_edit['emails_accountchangequota']['title']; - $image = $quota_edit['emails_accountchangequota']['image']; + $quota_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_accountchangequota.php'; + $quota_edit_form = htmlform::genHTMLForm($quota_edit_data); + + $title = $quota_edit_data['emails_accountchangequota']['title']; + $image = $quota_edit_data['emails_accountchangequota']['image']; eval("echo \"" . getTemplate("email/account_changequota") . "\";"); } @@ -713,13 +713,13 @@ elseif($page == 'forwarders') { $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); - - $forwarder_add_form = include_once dirname(__FILE__).'/lib/formfields/customer/emails/formfield.emails_addforwarder.php'; - $forwarder_add_form = htmlform::genHTMLForm($forwarder_add_form); - $title = $forwarder_add_form['emails_addforwarder']['title']; - $image = $forwarder_add_form['emails_addforwarder']['image']; - + $forwarder_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/emails/formfield.emails_addforwarder.php'; + $forwarder_add_form = htmlform::genHTMLForm($forwarder_add_data); + + $title = $forwarder_add_data['emails_addforwarder']['title']; + $image = $forwarder_add_data['emails_addforwarder']['image']; + eval("echo \"" . getTemplate("email/forwarder_add") . "\";"); } } From 87b15ce57d6ca5df2adadf18870fd4578e55e5b3 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:32:36 +0100 Subject: [PATCH 20/48] fix more templates for fieldform usage --- .../Froxlor/customer/email/account_add.tpl | 28 +++++----- .../customer/email/account_changepw.tpl | 55 ++++++++++--------- .../customer/email/account_changequota.tpl | 55 ++++++++++--------- .../Froxlor/customer/email/emails_add.tpl | 52 +++++++++--------- .../Froxlor/customer/email/emails_edit.tpl | 11 ++-- .../Froxlor/customer/email/forwarder_add.tpl | 8 +-- 6 files changed, 109 insertions(+), 100 deletions(-) diff --git a/templates/Froxlor/customer/email/account_add.tpl b/templates/Froxlor/customer/email/account_add.tpl index 87e1a1e7..684f25cd 100644 --- a/templates/Froxlor/customer/email/account_add.tpl +++ b/templates/Froxlor/customer/email/account_add.tpl @@ -1,20 +1,20 @@ $header -
    -
    -

    - {$lng['emails']['account_add']}  - {$lng['emails']['account_add']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    - Froxlor - {$lng['emails']['emails_add']} + Froxlor - {$title} - {$account_add_form} + {$account_add_form}

    @@ -25,6 +25,8 @@ $header

    -
    -
    + +
    + +
    $footer diff --git a/templates/Froxlor/customer/email/account_changepw.tpl b/templates/Froxlor/customer/email/account_changepw.tpl index 9a211a30..3a5a7ea7 100644 --- a/templates/Froxlor/customer/email/account_changepw.tpl +++ b/templates/Froxlor/customer/email/account_changepw.tpl @@ -1,30 +1,33 @@ $header -
    -
    -

    - {$lng['menue']['main']['changepassword']}  - {$lng['menue']['main']['changepassword']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    -
    -
    - Froxlor - {$lng['menue']['main']['changepassword']} +
    - - {$account_changepw} -
    + +
    + Froxlor - {$title} -

    - - - - -

    -
    - -
    -
    -$footer \ No newline at end of file + + {$account_changepw_form} +
    + +

    + + + + + +

    + + + +
    + +
    +$footer diff --git a/templates/Froxlor/customer/email/account_changequota.tpl b/templates/Froxlor/customer/email/account_changequota.tpl index 8f96bddd..5550e05b 100644 --- a/templates/Froxlor/customer/email/account_changequota.tpl +++ b/templates/Froxlor/customer/email/account_changequota.tpl @@ -1,30 +1,33 @@ $header -
    -
    -

    - {$lng['emails']['quota_edit']}  - {$lng['emails']['quota_edit']} -

    -
    - -
    +
    +
    +

    + {$title}  + {$title} +

    +
    -
    -
    - Froxlor - {$lng['emails']['quota_edit']} +
    - - {$quota_edit} -
    + +
    + Froxlor - {$title} -

    - - - - -

    -
    - -
    -
    -$footer \ No newline at end of file + + {$quota_edit_form} +
    + +

    + + + + + +

    + + + +
    + +
    +$footer diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl index 8559dc2f..13548d2c 100644 --- a/templates/Froxlor/customer/email/emails_add.tpl +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -7,33 +7,33 @@ $header

    {$lng['emails']['noemaildomainaddedyet']}
    - -
    -

    - {$lng['emails']['emails_add']}  - {$lng['emails']['emails_add']} -

    -
    +
    +

    + {$title}  + {$title} +

    +
    + +
    -
    - -
    -
    - Froxlor - {$lng['emails']['emails_add']} - - - {$email_add_form} -
    - -

    - - - - -

    -
    -
    -
    +
    +
    + Froxlor - {$lng['emails']['emails_add']} + + + {$email_add_form} +
    + +

    + + + + +

    +
    +
    +
    + $footer diff --git a/templates/Froxlor/customer/email/emails_edit.tpl b/templates/Froxlor/customer/email/emails_edit.tpl index fc259a61..883e776b 100644 --- a/templates/Froxlor/customer/email/emails_edit.tpl +++ b/templates/Froxlor/customer/email/emails_edit.tpl @@ -2,25 +2,26 @@ $header

    - {$lng['emails']['emails_edit']}  - {$lng['emails']['emails_edit']} + {$title}  + {$title}

    - +
    - Froxlor - {$lng['emails']['emails_edit']} + Froxlor - {$lng['emails']['emails_add']} - {$email_edit_form} + {$email_edit_form}

    +

    diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl index 509b7258..b0a2564f 100644 --- a/templates/Froxlor/customer/email/forwarder_add.tpl +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -2,16 +2,16 @@ $header

    - {$lng['emails']['forwarder_add']}  - {$lng['emails']['forwarder_add']} + {$title}  + {$title}

    - +
    - Froxlor - {$lng['emails']['forwarder_add']} + Froxlor - {$lng['emails']['emails_add']} {$forwarder_add_form} From fea75e2c2fc8d0b9f816164d1d70230067c72d94 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:34:20 +0100 Subject: [PATCH 21/48] fix even more templates --- templates/Froxlor/customer/email/account_add.tpl | 1 + templates/Froxlor/customer/email/forwarder_add.tpl | 1 + 2 files changed, 2 insertions(+) diff --git a/templates/Froxlor/customer/email/account_add.tpl b/templates/Froxlor/customer/email/account_add.tpl index 684f25cd..35c9f233 100644 --- a/templates/Froxlor/customer/email/account_add.tpl +++ b/templates/Froxlor/customer/email/account_add.tpl @@ -21,6 +21,7 @@ $header +

    diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl index b0a2564f..58978e31 100644 --- a/templates/Froxlor/customer/email/forwarder_add.tpl +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -21,6 +21,7 @@ $header +

    From 9ddd3a2a5806a9a58a06d2ec2f73bfb1f5fffa07 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:42:02 +0100 Subject: [PATCH 22/48] fix typo --- customer_email.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customer_email.php b/customer_email.php index 73ac20e0..a7255f90 100644 --- a/customer_email.php +++ b/customer_email.php @@ -714,7 +714,7 @@ elseif($page == 'forwarders') $result['email_full'] = $idna_convert->decode($result['email_full']); $result = htmlentities_array($result); - $forwarder_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/emails/formfield.emails_addforwarder.php'; + $forwarder_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/email/formfield.emails_addforwarder.php'; $forwarder_add_form = htmlform::genHTMLForm($forwarder_add_data); $title = $forwarder_add_data['emails_addforwarder']['title']; From cc96aef50f2d7841120705669560c069e23ae761 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 17:48:54 +0100 Subject: [PATCH 23/48] fix integration of formfields in customer-domains --- customer_domains.php | 13 +++ .../Froxlor/customer/domains/domains_add.tpl | 85 +++++---------- .../Froxlor/customer/domains/domains_edit.tpl | 103 +++++------------- .../Froxlor/customer/email/emails_add.tpl | 4 +- 4 files changed, 73 insertions(+), 132 deletions(-) diff --git a/customer_domains.php b/customer_domains.php index 8b6cbce7..6028311c 100644 --- a/customer_domains.php +++ b/customer_domains.php @@ -381,6 +381,13 @@ elseif($page == 'domains') $ssl_redirect = makeyesno('ssl_redirect', '1', '0', $result['ssl_redirect']); $openbasedir = makeoption($lng['domain']['docroot'], 0, NULL, true) . makeoption($lng['domain']['homedir'], 1, NULL, true); $pathSelect = makePathfield($userinfo['documentroot'], $userinfo['guid'], $userinfo['guid'], $settings['panel']['pathedit']); + + $subdomain_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/domains/formfield.domains_add.php'; + $subdomain_add_form = htmlform::genHTMLForm($subdomain_add_data); + + $title = $subdomain_add_data['domain_add']['title']; + $image = $subdomain_add_data['domain_add']['image']; + eval("echo \"" . getTemplate("domains/domains_add") . "\";"); } } @@ -569,6 +576,12 @@ elseif($page == 'domains') $domainip = $result_ipandport['ip']; $result = htmlentities_array($result); + $subdomain_edit_data = include_once dirname(__FILE__).'/lib/formfields/customer/domains/formfield.domains_edit.php'; + $subdomain_edit_form = htmlform::genHTMLForm($subdomain_edit_data); + + $title = $subdomain_edit_data['domain_edit']['title']; + $image = $subdomain_edit_data['domain_edit']['image']; + eval("echo \"" . getTemplate("domains/domains_edit") . "\";"); } } diff --git a/templates/Froxlor/customer/domains/domains_add.tpl b/templates/Froxlor/customer/domains/domains_add.tpl index 419a1ec6..6107bcd1 100644 --- a/templates/Froxlor/customer/domains/domains_add.tpl +++ b/templates/Froxlor/customer/domains/domains_add.tpl @@ -1,57 +1,30 @@ $header - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['domains']['subdomain_add']}
    {$lng['domains']['domainname']}: .
    {$lng['domains']['aliasdomain']}:
    {$lng['panel']['pathorurl']}:
    {$lng['panel']['pathDescription']}{$lng['panel']['pathDescriptionEx']}
    {$pathSelect}
    {$lng['panel']['path']}:{$pathSelect}
    {$lng['panel']['urloverridespath']}:
    {$lng['domains']['redirectifpathisurl']}:
    {$lng['domains']['redirectifpathisurlinfo']}
    SSL Redirect:$ssl_redirect
    {$lng['domain']['openbasedirpath']}:
    - -
    -
    -$footer \ No newline at end of file +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$subdomain_add_form} +
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/domains/domains_edit.tpl b/templates/Froxlor/customer/domains/domains_edit.tpl index e253c72a..9959d727 100644 --- a/templates/Froxlor/customer/domains/domains_edit.tpl +++ b/templates/Froxlor/customer/domains/domains_edit.tpl @@ -1,76 +1,31 @@ $header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['domains']['subdomain_edit']}
    {$lng['domains']['domainname']}:{$result['domain']}
    {$lng['dns']['destinationip']}:{$domainip}
    {$lng['domains']['aliasdomain']}:
    {$lng['panel']['pathorurl']}:
    {$lng['panel']['pathDescription']}{$lng['panel']['pathDescriptionEx']}
    {$pathSelect}
    {$lng['panel']['path']}:{$pathSelect}
    {$lng['panel']['urloverridespath']}:
    {$lng['domains']['redirectifpathisurl']}:
    {$lng['domains']['redirectifpathisurlinfo']}
    {$lng['domains']['wildcarddomain']}$iswildcarddomain
    Emaildomain:$isemaildomain
    SSL Redirect:$ssl_redirect
    {$lng['domain']['openbasedirpath']}:
    -
    -
    -
    +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$subdomain_edit_form} +
    + +

    + + + + + +

    +
    +
    +
    +
    $footer diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl index 13548d2c..edd12d12 100644 --- a/templates/Froxlor/customer/email/emails_add.tpl +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -19,8 +19,8 @@ $header
    - Froxlor - {$lng['emails']['emails_add']} - + Froxlor - {$title} + {$email_add_form}
    From b8ab1edc5634f99244180a21ab9c7364e30e9cce Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 18:16:54 +0100 Subject: [PATCH 24/48] fix domain-formfields --- .../domains/formfield.domains_add.php | 34 ++++++-------- .../domains/formfield.domains_edit.php | 44 ++++++++----------- 2 files changed, 31 insertions(+), 47 deletions(-) diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index 45a9b92b..e1bda09b 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -12,61 +12,53 @@ * @author Froxlor team (2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Formfields - * @version $Id: formfield.domains_add.php 112 2010-12-14 12:11:20Z d00p $ + * @version $Id: formfield.domains_edit.php 130 2010-12-22 00:54:11Z d00p $ */ return array( 'domain_add' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'fields' => array( 'domain' => array( 'label' => $lng['domains']['domainname'], 'type' => 'text' ), - 'aliasdomain' => array( + 'alias' => array( 'label' => $lng['domains']['aliasdomain'], 'type' => 'select', 'select_var' => $aliasdomains ), - 'pathedit' => array( - 'visible' => ($settings['panel']['pathedit'] != 'Dropdown' ? true : false), - 'label' => $lng['panel']['pathorurl'], - 'desc' => $lng['panel']['pathDescription'], // TODO was ist mit: $lng['panel']['pathDescriptionEx'] ? - 'type' => 'text', - 'value' => $pathSelect - ), - 'pathedit_dropdown' => array( - 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'path' => array( 'label' => $lng['panel']['path'], - 'type' => 'text', - 'value' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect ), - 'pathedit_dropdown2' => array( + 'url' => array( 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), 'label' => $lng['panel']['urloverridespath'], 'type' => 'text', - 'value' => $urlvalue, - 'size' => 30 + 'value' => $urlvalue ), - 'apache2_customerRedirect' => array( + 'redirectcode' => array( 'visible' => (($settings['system']['webserver'] == 'apache2' && $settings['customredirect']['enabled'] == '1') ? true : false), 'label' => $lng['domains']['redirectifpathisurl'], 'desc' => $lng['domains']['redirectifpathisurlinfo'], 'type' => 'select', 'select_var' => $redirectcode ), - 'ssl' => array( + 'ssl_redirect' => array( 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), 'label' => 'SSL Redirect', 'type' => 'yesno', 'yesno_var' => $ssl_redirect ), - 'openbasedir' => array( + 'openbasedir_path' => array( 'label' => $lng['domain']['openbasedirpath'], 'type' => 'select', 'select_var' => $openbasedir diff --git a/lib/formfields/customer/domains/formfield.domains_edit.php b/lib/formfields/customer/domains/formfield.domains_edit.php index e81eb8e8..1abb0f8f 100644 --- a/lib/formfields/customer/domains/formfield.domains_edit.php +++ b/lib/formfields/customer/domains/formfield.domains_edit.php @@ -34,58 +34,50 @@ return array( 'type' => 'label', 'value' => $domainip ), - 'alias_check' => array( + 'alias' => array( 'visible' => ($alias_check == '0' ? true : false), 'label' => $lng['domains']['aliasdomain'], 'type' => 'select', 'select_var' => $domains ), - 'pathedit' => array( - 'visible' => ($settings['panel']['pathedit'] != 'Dropdown' ? true : false), - 'label' => $lng['panel']['pathorurl'], - 'desc' => $lng['panel']['pathDescription'], // TODO was ist mit: $lng['panel']['pathDescriptionEx'] ? - 'type' => 'text', - 'value' => $pathSelect - ), - 'pathedit_dropdown' => array( - 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), + 'path' => array( 'label' => $lng['panel']['path'], - 'type' => 'text', - 'value' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), + 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), + 'select_var' => $pathSelect ), - 'pathedit_dropdown2' => array( + 'url' => array( 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), 'label' => $lng['panel']['urloverridespath'], 'type' => 'text', - 'value' => $urlvalue, - 'size' => 30 + 'value' => $urlvalue ), - 'apache2_customerRedirect' => array( + 'redirectcode' => array( 'visible' => (($settings['system']['webserver'] == 'apache2' && $settings['customredirect']['enabled'] == '1') ? true : false), 'label' => $lng['domains']['redirectifpathisurl'], 'desc' => $lng['domains']['redirectifpathisurlinfo'], 'type' => 'select', 'select_var' => $redirectcode ), - 'parentdomain' => array( + 'iswildcarddomain' => array( 'visible' => (($result['parentdomainid'] == '0' && $userinfo['subdomains'] != '0') ? true : false), 'label' => $lng['domains']['wildcarddomain'], - 'type' => 'label', - 'value' => $iswildcarddomain + 'type' => 'yesno', + 'yesno_var' => $iswildcarddomain ), - 'emaildomain' => array( + 'isemaildomain' => array( 'visible' => ((( $result['subcanemaildomain'] == '1' || $result['subcanemaildomain'] == '2' ) && $result['parentdomainid'] != '0') ? true : false), 'label' => 'Emaildomain', - 'type' => 'label', - 'value' => $isemaildomain + 'type' => 'yesno', + 'yesno_var' => $isemaildomain ), - 'ssl' => array( + 'ssl_redirect' => array( 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), 'label' => 'SSL Redirect', - 'type' => 'label', - 'value' => $ssl_redirect + 'type' => 'yesno', + 'yesno_var' => $ssl_redirect ), - 'openbasedir' => array( + 'openbasedir_path' => array( 'label' => $lng['domain']['openbasedirpath'], 'type' => 'select', 'select_var' => $openbasedir From b13d20d44c71a3735467cd34f29f3d6106cd9630 Mon Sep 17 00:00:00 2001 From: "Andreas Burchert (scarya)" Date: Sat, 12 Feb 2011 18:20:22 +0100 Subject: [PATCH 25/48] Fixed email templates in design: Classic, Froxlor --- .../Classic/customer/email/account_add.tpl | 26 +----------- .../customer/email/account_changepw.tpl | 14 +------ .../customer/email/account_changequota.tpl | 14 +------ .../customer/email/autoresponder_add.tpl | 32 +-------------- .../customer/email/autoresponder_edit.tpl | 2 +- .../Classic/customer/email/emails_add.tpl | 20 +--------- .../Classic/customer/email/emails_edit.tpl | 40 +------------------ .../Classic/customer/email/forwarder_add.tpl | 14 +------ .../customer/email/autoresponder_add.tpl | 6 +-- .../Froxlor/customer/email/emails_add.tpl | 6 +-- .../Froxlor/customer/email/emails_edit.tpl | 6 +-- .../Froxlor/customer/email/forwarder_add.tpl | 6 +-- 12 files changed, 27 insertions(+), 159 deletions(-) diff --git a/templates/Classic/customer/email/account_add.tpl b/templates/Classic/customer/email/account_add.tpl index 9ee1b5a4..2bb422e5 100644 --- a/templates/Classic/customer/email/account_add.tpl +++ b/templates/Classic/customer/email/account_add.tpl @@ -6,31 +6,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - + + {$account_add_form}
     {$lng['emails']['account_add']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['login']['password']}:
    {$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
    {$lng['emails']['alternative_emailaddress']}:
    $title {$title}

    diff --git a/templates/Classic/customer/email/account_changepw.tpl b/templates/Classic/customer/email/account_changepw.tpl index 1ac9aec3..34971069 100644 --- a/templates/Classic/customer/email/account_changepw.tpl +++ b/templates/Classic/customer/email/account_changepw.tpl @@ -6,19 +6,9 @@ $header - - - - - - - - - - - - + + {$account_changepw}
     {$lng['menue']['main']['changepassword']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['login']['password']}:
    {$title} {$title}

    diff --git a/templates/Classic/customer/email/account_changequota.tpl b/templates/Classic/customer/email/account_changequota.tpl index ce53923c..a4f032b9 100644 --- a/templates/Classic/customer/email/account_changequota.tpl +++ b/templates/Classic/customer/email/account_changequota.tpl @@ -6,19 +6,9 @@ $header - - - - - - - - - - - - + + {$quota_edit}
     {$lng['emails']['quota_edit']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['emails']['quota']} ({$lng['panel']['megabyte']}):
    {$title} {$title}

    diff --git a/templates/Classic/customer/email/autoresponder_add.tpl b/templates/Classic/customer/email/autoresponder_add.tpl index 7186e9c9..31879d01 100644 --- a/templates/Classic/customer/email/autoresponder_add.tpl +++ b/templates/Classic/customer/email/autoresponder_add.tpl @@ -4,37 +4,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$autoresponder_add_form}
     {$lng['autoresponder']['autoresponder_new']}
    {$lng['autoresponder']['account']}:
    {$lng['autoresponder']['active']}:
    {$lng['autoresponder']['date_from']} (dd-mm-yyyy): {$date_from_off}
    {$lng['autoresponder']['date_until']} (dd-mm-yyyy): {$date_until_off}
    {$lng['autoresponder']['subject']}:
    {$lng['autoresponder']['message']}:
    {$title} {$title}

    diff --git a/templates/Classic/customer/email/autoresponder_edit.tpl b/templates/Classic/customer/email/autoresponder_edit.tpl index 5f82e6b1..cd9f9ddf 100644 --- a/templates/Classic/customer/email/autoresponder_edit.tpl +++ b/templates/Classic/customer/email/autoresponder_edit.tpl @@ -5,7 +5,7 @@ $header - + diff --git a/templates/Classic/customer/email/emails_add.tpl b/templates/Classic/customer/email/emails_add.tpl index 44a0852a..a2da73cb 100644 --- a/templates/Classic/customer/email/emails_add.tpl +++ b/templates/Classic/customer/email/emails_add.tpl @@ -5,25 +5,9 @@ $header
     {$lng['autoresponder']['autoresponder_edit']}{$title} {$title}
    {$lng['autoresponder']['account']}:
    - + - - - - - - - - - - - - - - - - - + {$email_add_form}
     {$lng['emails']['emails_add']}$title {$title}
    {$lng['emails']['emailaddress']}: @
    {$lng['emails']['iscatchall']}$iscatchall
    {$lng['emails']['noemaildomainaddedyet']}

    diff --git a/templates/Classic/customer/email/emails_edit.tpl b/templates/Classic/customer/email/emails_edit.tpl index 3b3f8245..3f6cc570 100644 --- a/templates/Classic/customer/email/emails_edit.tpl +++ b/templates/Classic/customer/email/emails_edit.tpl @@ -1,45 +1,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - - + + {$email_edit_form}
     {$lng['emails']['emails_edit']}
    {$lng['emails']['emailaddress']}:{$result['email_full']}
    {$lng['emails']['account']}: - - {$lng['panel']['yes']} [{$lng['menue']['main']['changepassword']}] [{$lng['emails']['account_delete']}] - - - {$lng['panel']['no']} [{$lng['emails']['account_add']}] - -
    {$lng['customer']['email_quota']}:{$result['quota']} {$lng['panel']['megabyte']} [{$lng['emails']['quota_edit']}]
    {$lng['emails']['catchall']}: - - {$lng['panel']['yes']} - - - {$lng['panel']['no']} - - [{$lng['panel']['toggle']}] -
    {$lng['emails']['forwarders']} ({$forwarders_count}):$forwarders{$lng['emails']['forwarder_add']}{$title} {$title}


    diff --git a/templates/Classic/customer/email/forwarder_add.tpl b/templates/Classic/customer/email/forwarder_add.tpl index 7ec80417..4c0dcf1e 100644 --- a/templates/Classic/customer/email/forwarder_add.tpl +++ b/templates/Classic/customer/email/forwarder_add.tpl @@ -6,19 +6,9 @@ $header - - - - - - - - - - - - + + {$forwarder_add_form}
     {$lng['emails']['forwarder_add']}
    {$lng['emails']['from']}:{$result['email_full']}
    {$lng['emails']['to']}:
     {$title} {$title}

    diff --git a/templates/Froxlor/customer/email/autoresponder_add.tpl b/templates/Froxlor/customer/email/autoresponder_add.tpl index d0588985..7268a1c9 100644 --- a/templates/Froxlor/customer/email/autoresponder_add.tpl +++ b/templates/Froxlor/customer/email/autoresponder_add.tpl @@ -2,8 +2,8 @@ $header

    - {$lng['autoresponder']['autoresponder_new']}  - {$lng['autoresponder']['autoresponder_new']} + {$title}  + {$title}

    @@ -11,7 +11,7 @@ $header
    - Froxlor - {$lng['emails']['forwarder_add']} + Froxlor - {$title} {$autoresponder_add_form} diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl index 8559dc2f..15764fc8 100644 --- a/templates/Froxlor/customer/email/emails_add.tpl +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -11,8 +11,8 @@ $header

    - {$lng['emails']['emails_add']}  - {$lng['emails']['emails_add']} +   + {$title}

    @@ -20,7 +20,7 @@ $header
    - Froxlor - {$lng['emails']['emails_add']} + Froxlor - {$title}
    {$email_add_form} diff --git a/templates/Froxlor/customer/email/emails_edit.tpl b/templates/Froxlor/customer/email/emails_edit.tpl index fc259a61..f55604fe 100644 --- a/templates/Froxlor/customer/email/emails_edit.tpl +++ b/templates/Froxlor/customer/email/emails_edit.tpl @@ -2,8 +2,8 @@ $header

    - {$lng['emails']['emails_edit']}  - {$lng['emails']['emails_edit']} + {$title}  + {$title}

    @@ -11,7 +11,7 @@ $header
    - Froxlor - {$lng['emails']['emails_edit']} + Froxlor - {$title}
    {$email_edit_form} diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl index 509b7258..e075bdbc 100644 --- a/templates/Froxlor/customer/email/forwarder_add.tpl +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -2,8 +2,8 @@ $header

    - {$lng['emails']['forwarder_add']}  - {$lng['emails']['forwarder_add']} + {$title}  + {$title}

    @@ -11,7 +11,7 @@ $header
    - Froxlor - {$lng['emails']['forwarder_add']} + Froxlor - {$title}
    {$forwarder_add_form} From 8e83c5f7883622cb7607fb5171c323c720b1b462 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sat, 12 Feb 2011 18:27:32 +0100 Subject: [PATCH 26/48] bugfix domain-formfields (again) --- .../customer/domains/formfield.domains_add.php | 10 +++++++--- templates/Classic/customer/domains/domains_add.tpl | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index e1bda09b..ad88b3d3 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -24,10 +24,15 @@ return array( 'title' => $lng['domains']['subdomain_add'], 'image' => 'icons/domain_add.png', 'fields' => array( - 'domain' => array( + 'subdomain' => array( 'label' => $lng['domains']['domainname'], 'type' => 'text' ), + 'domain' => array( + 'label' => '@TODO up to subdomain-part', + 'type' => 'select', + 'select_var' => $domains + ), 'alias' => array( 'label' => $lng['domains']['aliasdomain'], 'type' => 'select', @@ -42,8 +47,7 @@ return array( 'url' => array( 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), 'label' => $lng['panel']['urloverridespath'], - 'type' => 'text', - 'value' => $urlvalue + 'type' => 'text' ), 'redirectcode' => array( 'visible' => (($settings['system']['webserver'] == 'apache2' && $settings['customredirect']['enabled'] == '1') ? true : false), diff --git a/templates/Classic/customer/domains/domains_add.tpl b/templates/Classic/customer/domains/domains_add.tpl index 7dfe3990..d9862601 100644 --- a/templates/Classic/customer/domains/domains_add.tpl +++ b/templates/Classic/customer/domains/domains_add.tpl @@ -28,7 +28,7 @@ $header - + From 0cfc75976fcad5af4611f697deae5287349b8814 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 18:33:59 +0100 Subject: [PATCH 27/48] Fixing customer -> ftp in classic layout Signed-off-by: Florian Aders (EleRas) --- .../Classic/customer/ftp/accounts_add.tpl | 28 ++--------------- .../Classic/customer/ftp/accounts_edit.tpl | 30 ++----------------- .../Froxlor/customer/ftp/accounts_edit.tpl | 1 + 3 files changed, 6 insertions(+), 53 deletions(-) diff --git a/templates/Classic/customer/ftp/accounts_add.tpl b/templates/Classic/customer/ftp/accounts_add.tpl index 9ff4d23b..795f6c7a 100644 --- a/templates/Classic/customer/ftp/accounts_add.tpl +++ b/templates/Classic/customer/ftp/accounts_add.tpl @@ -5,33 +5,9 @@ $header
    {$lng['panel']['urloverridespath']}:
    - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$ftp_add_form}
     {$lng['ftp']['account_add']}
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}
     {$title}

    diff --git a/templates/Classic/customer/ftp/accounts_edit.tpl b/templates/Classic/customer/ftp/accounts_edit.tpl index d092f66c..0d00707d 100644 --- a/templates/Classic/customer/ftp/accounts_edit.tpl +++ b/templates/Classic/customer/ftp/accounts_edit.tpl @@ -6,35 +6,11 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$ftp_edit_form}
     {$lng['ftp']['account_edit']}
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['username']}:
    {$lng['domains']['domainname']}:
    {$lng['panel']['path']}:
    {$lng['panel']['pathDescription']}
    {$pathSelect}
    {$lng['login']['password']}:
    {$lng['ftp']['editpassdescription']}
     {$title}


    -$footer \ No newline at end of file +$footer diff --git a/templates/Froxlor/customer/ftp/accounts_edit.tpl b/templates/Froxlor/customer/ftp/accounts_edit.tpl index 9b21bc48..f6158a18 100644 --- a/templates/Froxlor/customer/ftp/accounts_edit.tpl +++ b/templates/Froxlor/customer/ftp/accounts_edit.tpl @@ -22,6 +22,7 @@ $header +

    From 8032addc0af58146758d4953faf5005c52d26d44 Mon Sep 17 00:00:00 2001 From: "Andreas Burchert (scarya)" Date: Sat, 12 Feb 2011 18:36:00 +0100 Subject: [PATCH 28/48] Finished template for Classic: extras --- .../Classic/customer/extras/htaccess_add.tpl | 39 +------------------ .../Classic/customer/extras/htaccess_edit.tpl | 36 +---------------- .../Classic/customer/extras/htpasswds_add.tpl | 25 +----------- .../customer/extras/htpasswds_edit.tpl | 22 +---------- 4 files changed, 8 insertions(+), 114 deletions(-) diff --git a/templates/Classic/customer/extras/htaccess_add.tpl b/templates/Classic/customer/extras/htaccess_add.tpl index 69025abb..0377bb7c 100644 --- a/templates/Classic/customer/extras/htaccess_add.tpl +++ b/templates/Classic/customer/extras/htaccess_add.tpl @@ -5,44 +5,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$htaccess_add_form}
     {$lng['extras']['pathoptions_add']}
    - {$lng['panel']['path']}:
    - {$lng['panel']['pathDescription']} -
    {$pathSelect}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['execute_perl']}:$options_cgi
    {$title} {$title}

    diff --git a/templates/Classic/customer/extras/htaccess_edit.tpl b/templates/Classic/customer/extras/htaccess_edit.tpl index 1579e35a..c14936d7 100644 --- a/templates/Classic/customer/extras/htaccess_edit.tpl +++ b/templates/Classic/customer/extras/htaccess_edit.tpl @@ -6,41 +6,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + {$htaccess_edit_form}
     {$lng['extras']['pathoptions_edit']}
    {$lng['panel']['path']}:{$result['path']}
    {$lng['extras']['directory_browsing']}:$options_indexes
    {$lng['extras']['errordocument404path']}:
    {$lng['panel']['descriptionerrordocument']}
    {$lng['extras']['errordocument403path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['errordocument500path']}:
    {$lng['panel']['descriptionerrordocument']} -
    {$lng['panel']['not_supported']}lighttpd
    -
    {$lng['extras']['execute_perl']}:$options_cgi
    {$title} {$title}

    diff --git a/templates/Classic/customer/extras/htpasswds_add.tpl b/templates/Classic/customer/extras/htpasswds_add.tpl index 60c9eae7..cd75df0e 100644 --- a/templates/Classic/customer/extras/htpasswds_add.tpl +++ b/templates/Classic/customer/extras/htpasswds_add.tpl @@ -5,30 +5,9 @@ $header - - - - - - - - - - - - - - - - - - - - + + {$htpasswd_add_form}
     {$lng['extras']['directoryprotection_add']}
    - {$lng['panel']['path']}:
    - {$lng['panel']['pathDescription']} -
    {$pathSelect}
    {$lng['login']['username']}:
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:
    {$title} {$title}

    diff --git a/templates/Classic/customer/extras/htpasswds_edit.tpl b/templates/Classic/customer/extras/htpasswds_edit.tpl index 0dd6af31..290d2331 100644 --- a/templates/Classic/customer/extras/htpasswds_edit.tpl +++ b/templates/Classic/customer/extras/htpasswds_edit.tpl @@ -6,27 +6,9 @@ $header - - - - - - - - - - - - - - - - - - - - + + {$htpasswd_edit_form}
     {$lng['extras']['directoryprotection_edit']}
    {$lng['panel']['path']}:{$result['path']}
    {$lng['login']['username']}:{$result['username']}
    {$lng['login']['password']}:
    {$lng['extras']['htpasswdauthname']}:
    {$title} {$title}

    From ed4acb01185e42f2d6b016b29c197c3229a9694b Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 18:37:11 +0100 Subject: [PATCH 29/48] Fixing forms in customer -> mysql classic template Signed-off-by: Florian Aders (EleRas) --- .../Classic/customer/mysql/mysqls_add.tpl | 26 +++---------------- .../Classic/customer/mysql/mysqls_edit.tpl | 24 ++--------------- 2 files changed, 5 insertions(+), 45 deletions(-) diff --git a/templates/Classic/customer/mysql/mysqls_add.tpl b/templates/Classic/customer/mysql/mysqls_add.tpl index 6e7134e1..6fb61ce6 100644 --- a/templates/Classic/customer/mysql/mysqls_add.tpl +++ b/templates/Classic/customer/mysql/mysqls_add.tpl @@ -5,31 +5,11 @@ $header - - - - - - - - - - - - - - - - - - - - - - + + {$mysql_add_form}
     {$lng['mysql']['database_create']}
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:
    {$lng['login']['password']}:
    {$lng['customer']['sendinfomail']}:{$sendinfomail}
     {$title}


    -$footer \ No newline at end of file +$footer diff --git a/templates/Classic/customer/mysql/mysqls_edit.tpl b/templates/Classic/customer/mysql/mysqls_edit.tpl index 361be8a6..bdd27005 100644 --- a/templates/Classic/customer/mysql/mysqls_edit.tpl +++ b/templates/Classic/customer/mysql/mysqls_edit.tpl @@ -6,29 +6,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - + + {$mysql_edit_form}
     {$lng['mysql']['database_edit']}
    {$lng['mysql']['databasename']}:{$result['databasename']}
    {$lng['mysql']['databasedescription']}:
    {$lng['mysql']['mysql_server']}:{$sql_root[$result['dbserver']]['caption']}
    {$lng['changepassword']['new_password_ifnotempty']}:
     {$title}

    From 382cf45e081f992bb0c45deb9047c1926b47f6fb Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 18:54:44 +0100 Subject: [PATCH 30/48] Changing customer -> ticket to new formfield - stuff Signed-off-by: Florian Aders (EleRas) --- customer_tickets.php | 13 +++ .../customer/ticket/formfield.ticket_add.php | 50 ++++++++++ .../ticket/formfield.ticket_reply.php | 51 ++++++++++ .../Classic/customer/ticket/tickets_new.tpl | 26 +----- .../Classic/customer/ticket/tickets_reply.tpl | 26 +----- .../Froxlor/customer/ticket/tickets_new.tpl | 64 ++++++------- .../Froxlor/customer/ticket/tickets_reply.tpl | 92 +++++++++---------- 7 files changed, 192 insertions(+), 130 deletions(-) create mode 100644 lib/formfields/customer/ticket/formfield.ticket_add.php create mode 100644 lib/formfields/customer/ticket/formfield.ticket_reply.php diff --git a/customer_tickets.php b/customer_tickets.php index ad90d428..9e7f844a 100644 --- a/customer_tickets.php +++ b/customer_tickets.php @@ -247,6 +247,13 @@ elseif($page == 'tickets') } $ticketsopen = (int)$opentickets['count']; + + $ticket_add_data = include_once dirname(__FILE__).'/lib/formfields/customer/ticket/formfield.ticket_add.php'; + $ticket_add_form = htmlform::genHTMLForm($ticket_add_data); + + $title = $ticket_add_data['ticket_add']['title']; + $image = $ticket_add_data['ticket_add']['image']; + eval("echo \"" . getTemplate("ticket/tickets_new") . "\";"); } } @@ -360,6 +367,12 @@ elseif($page == 'tickets') // don't forget the main-ticket! + $ticket_reply_data = include_once dirname(__FILE__).'/lib/formfields/customer/ticket/formfield.ticket_reply.php'; + $ticket_reply_form = htmlform::genHTMLForm($ticket_reply_data); + + $title = $ticket_reply_data['ticket_reply']['title']; + $image = $ticket_reply_data['ticket_reply']['image']; + eval("echo \"" . getTemplate("ticket/tickets_reply") . "\";"); } } diff --git a/lib/formfields/customer/ticket/formfield.ticket_add.php b/lib/formfields/customer/ticket/formfield.ticket_add.php new file mode 100644 index 00000000..d88b69f5 --- /dev/null +++ b/lib/formfields/customer/ticket/formfield.ticket_add.php @@ -0,0 +1,50 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'ticket_add' => array( + 'title' => $lng['ticket']['ticket_new'], + 'image' => 'icons/ticket_add.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ticket']['ticket_new'], + 'image' => 'icons/ticket_add.png', + 'fields' => array( + 'subject' => array( + 'label' => $lng['ticket']['subject'], + 'type' => 'text', + ), + 'priority' => array( + 'label' => $lng['ticket']['priority'], + 'type' => 'select', + 'select_var' => $priorities, + ), + 'categories' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'select', + 'select_var' => $categories, + ), + 'message' => array( + 'label' => $lng['ticket']['message'], + 'type' => 'textarea', + 'rows' => 12, + 'cols' => 60, + ) + ) + ) + ) + ) +); diff --git a/lib/formfields/customer/ticket/formfield.ticket_reply.php b/lib/formfields/customer/ticket/formfield.ticket_reply.php new file mode 100644 index 00000000..698e55d6 --- /dev/null +++ b/lib/formfields/customer/ticket/formfield.ticket_reply.php @@ -0,0 +1,51 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Formfields + */ + +return array( + 'ticket_reply' => array( + 'title' => $lng['ticket']['ticket_reply'], + 'image' => 'icons/ticket_reply.png', + 'sections' => array( + 'section_a' => array( + 'title' => $lng['ticket']['ticket_reply'], + 'image' => 'icons/ticket_reply.png', + 'fields' => array( + 'subject' => array( + 'label' => $lng['ticket']['subject'], + 'type' => 'text', + 'value' => "Re: $subject", + ), + 'priority' => array( + 'label' => $lng['ticket']['priority'], + 'type' => 'select', + 'select_var' => $priorities, + ), + 'category' => array( + 'label' => $lng['ticket']['category'], + 'type' => 'label', + 'value' => $row['name'], + ), + 'message' => array( + 'label' => $lng['ticket']['message'], + 'type' => 'textarea', + 'rows' => 12, + 'cols' => 60, + ), + ) + ) + ) + ) +); diff --git a/templates/Classic/customer/ticket/tickets_new.tpl b/templates/Classic/customer/ticket/tickets_new.tpl index 21d13b3d..283738de 100644 --- a/templates/Classic/customer/ticket/tickets_new.tpl +++ b/templates/Classic/customer/ticket/tickets_new.tpl @@ -5,31 +5,11 @@ $header - - - - - - - - - - - - - - - - - - - - - - + + {$ticket_add_form}
     {$lng['ticket']['ticket_new']}
    {$lng['ticket']['subject']}:
    {$lng['ticket']['priority']}:
    {$lng['ticket']['category']}:
    {$lng['ticket']['message']}:
     {$title}


    -$footer \ No newline at end of file +$footer diff --git a/templates/Classic/customer/ticket/tickets_reply.tpl b/templates/Classic/customer/ticket/tickets_reply.tpl index fe2183aa..ab0e613d 100644 --- a/templates/Classic/customer/ticket/tickets_reply.tpl +++ b/templates/Classic/customer/ticket/tickets_reply.tpl @@ -10,29 +10,9 @@ $header - - - - - - - - - - - - - - - - - - - - - - + + {$ticket_reply_form}
     {$lng['ticket']['ticket_reply']}
    {$lng['ticket']['subject']}:
    {$lng['ticket']['priority']}:
    {$lng['ticket']['category']}:{$row['name']}
    {$lng['ticket']['message']}:
     {$title}
    @@ -48,4 +28,4 @@ $header

    -$footer \ No newline at end of file +$footer diff --git a/templates/Froxlor/customer/ticket/tickets_new.tpl b/templates/Froxlor/customer/ticket/tickets_new.tpl index 83be09b3..495a5015 100644 --- a/templates/Froxlor/customer/ticket/tickets_new.tpl +++ b/templates/Froxlor/customer/ticket/tickets_new.tpl @@ -1,35 +1,31 @@ $header -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['ticket']['ticket_new']}
    {$lng['ticket']['subject']}:
    {$lng['ticket']['priority']}:
    {$lng['ticket']['category']}:
    {$lng['ticket']['message']}:
    -
    -
    -
    -$footer \ No newline at end of file +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$ticket_add_form} +
    + +

    + + + + +

    +
    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/customer/ticket/tickets_reply.tpl b/templates/Froxlor/customer/ticket/tickets_reply.tpl index 7ccdf2c3..bce91972 100644 --- a/templates/Froxlor/customer/ticket/tickets_reply.tpl +++ b/templates/Froxlor/customer/ticket/tickets_reply.tpl @@ -1,51 +1,43 @@ $header -
    - - - - - - $ticket_replies - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     {$lng['ticket']['ticket_reply']}
    {$lng['ticket']['subject']}:
    {$lng['ticket']['priority']}:
    {$lng['ticket']['category']}:{$row['name']}
    {$lng['ticket']['message']}:
    -
    - - - - - - - - -
     {$lng['ticket']['ticket_reopen']}
    {$lng['ticket']['ticket_reopen']}
    -
    -
    -
    -
    -$footer \ No newline at end of file +
    +
    +

    + {$title}  + {$title} +

    +
    + + +
    + $ticket_replies +
    +
    + +
    + +
    +
    + Froxlor - {$title} + + + + {$ticket_reply_form} +
    +
    + + {$lng['ticket']['ticket_reopen']} + + +

    + + + + + +

    +
    +
    + +
    +
    +$footer From 014e350a9e719abad814c8d2ef6d494ebd5108b3 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 19:54:31 +0100 Subject: [PATCH 31/48] It's 2011 :P Signed-off-by: Florian Aders (EleRas) --- templates/Classic/footer.tpl | 2 +- templates/Froxlor/footer.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/Classic/footer.tpl b/templates/Classic/footer.tpl index d98325a4..b16bbe35 100644 --- a/templates/Classic/footer.tpl +++ b/templates/Classic/footer.tpl @@ -8,7 +8,7 @@ {$version}{$branding} - © 2009-2010 by the Froxlor Team + © 2009-2011 by the Froxlor Team
    Theme based on work by: Luca Piona and Luca Longinotti
    {$lng['panel']['translator']}: {$lng['translator']} diff --git a/templates/Froxlor/footer.tpl b/templates/Froxlor/footer.tpl index 60ffa9d5..90453d0a 100644 --- a/templates/Froxlor/footer.tpl +++ b/templates/Froxlor/footer.tpl @@ -4,7 +4,7 @@ {$version}{$branding} - © 2009-2010 by the Froxlor Team + © 2009-2011 by the Froxlor Team
    {$lng['panel']['translator']}: {$lng['translator']} From 0b38e192d4b9208ff3272029ea4d19557755b06e Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sat, 12 Feb 2011 20:03:08 +0100 Subject: [PATCH 32/48] Now with the auto-date-setter Signed-off-by: Florian Aders (EleRas) --- templates/Classic/footer.tpl | 2 +- templates/Froxlor/footer.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/Classic/footer.tpl b/templates/Classic/footer.tpl index b16bbe35..c5a9491c 100644 --- a/templates/Classic/footer.tpl +++ b/templates/Classic/footer.tpl @@ -8,7 +8,7 @@ {$version}{$branding} - © 2009-2011 by the Froxlor Team + © 2009-{$current_year} by the Froxlor Team
    Theme based on work by: Luca Piona and Luca Longinotti
    {$lng['panel']['translator']}: {$lng['translator']} diff --git a/templates/Froxlor/footer.tpl b/templates/Froxlor/footer.tpl index 90453d0a..634ea4c7 100644 --- a/templates/Froxlor/footer.tpl +++ b/templates/Froxlor/footer.tpl @@ -4,7 +4,7 @@ {$version}{$branding} - © 2009-2011 by the Froxlor Team + © 2009-{$current_year} by the Froxlor Team

    {$lng['panel']['translator']}: {$lng['translator']} From 840d9f59159a79f23e6483fd20c94c6825a5c739 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Sun, 13 Feb 2011 12:33:10 +0100 Subject: [PATCH 33/48] fix unmerged templates to use actual $lng-values --- templates/Classic/admin/templates/templates_add_2.tpl | 4 ++-- templates/Classic/admin/templates/templates_edit.tpl | 4 ++-- templates/Froxlor/admin/templates/templates_add_2.tpl | 2 +- templates/Froxlor/admin/templates/templates_edit.tpl | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/Classic/admin/templates/templates_add_2.tpl b/templates/Classic/admin/templates/templates_add_2.tpl index da724f8a..6ba15a5a 100644 --- a/templates/Classic/admin/templates/templates_add_2.tpl +++ b/templates/Classic/admin/templates/templates_add_2.tpl @@ -96,7 +96,7 @@ $header {$lng['admin']['templates']['PASSWORD']} - {$lng['admin']['templates']['trafficninetypercent']} + {$lng['admin']['templates']['trafficmaxpercent']} {TRAFFIC}: @@ -179,4 +179,4 @@ $header

    -$footer \ No newline at end of file +$footer diff --git a/templates/Classic/admin/templates/templates_edit.tpl b/templates/Classic/admin/templates/templates_edit.tpl index a805e6db..6dd1d4ba 100644 --- a/templates/Classic/admin/templates/templates_edit.tpl +++ b/templates/Classic/admin/templates/templates_edit.tpl @@ -98,7 +98,7 @@ $header {$lng['admin']['templates']['PASSWORD']} - {$lng['admin']['templates']['trafficninetypercent']} + {$lng['admin']['templates']['trafficmaxpercent']} {TRAFFIC}: @@ -181,4 +181,4 @@ $header

    -$footer \ No newline at end of file +$footer diff --git a/templates/Froxlor/admin/templates/templates_add_2.tpl b/templates/Froxlor/admin/templates/templates_add_2.tpl index 3ee8b746..2b7fb739 100644 --- a/templates/Froxlor/admin/templates/templates_add_2.tpl +++ b/templates/Froxlor/admin/templates/templates_add_2.tpl @@ -120,7 +120,7 @@ $header - {$lng['admin']['templates']['trafficninetypercent']} + {$lng['admin']['templates']['trafficmaxpercent']} diff --git a/templates/Froxlor/admin/templates/templates_edit.tpl b/templates/Froxlor/admin/templates/templates_edit.tpl index 77b3faab..fff660ae 100644 --- a/templates/Froxlor/admin/templates/templates_edit.tpl +++ b/templates/Froxlor/admin/templates/templates_edit.tpl @@ -121,7 +121,7 @@ $header - {$lng['admin']['templates']['trafficninetypercent']} + {$lng['admin']['templates']['trafficmaxpercent']} From a0406c9749a0136fd8e0915a8ae9b45137be189f Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 12:41:50 +0100 Subject: [PATCH 34/48] Fixed naming of icon in add domain Signed-off-by: Florian Aders (EleRas) --- lib/formfields/customer/domains/formfield.domains_add.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index ad88b3d3..bf0dbc7e 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -18,11 +18,11 @@ return array( 'domain_add' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/domain_add.png', + 'image' => 'icons/add_domain.png', 'sections' => array( 'section_a' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/domain_add.png', + 'image' => 'icons/add_domain.png', 'fields' => array( 'subdomain' => array( 'label' => $lng['domains']['domainname'], From f85d983c847aecc2e25837957d9be4303856d561 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 12:45:19 +0100 Subject: [PATCH 35/48] Fixed naming of icon in FTP edit Signed-off-by: Florian Aders (EleRas) --- lib/formfields/customer/ftp/formfield.ftp_edit.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/formfields/customer/ftp/formfield.ftp_edit.php b/lib/formfields/customer/ftp/formfield.ftp_edit.php index c7054516..42199ff9 100644 --- a/lib/formfields/customer/ftp/formfield.ftp_edit.php +++ b/lib/formfields/customer/ftp/formfield.ftp_edit.php @@ -17,11 +17,11 @@ return array( 'ftp_edit' => array( 'title' => $lng['ftp']['account_edit'], - 'image' => 'icons/edit_user.png', + 'image' => 'icons/user_edit.png', 'sections' => array( 'section_a' => array( 'title' => $lng['ftp']['account_edit'], - 'image' => 'icons/edit_user.png', + 'image' => 'icons/user_edit.png', 'fields' => array( 'username' => array( 'label' => $lng['login']['username'], From 107c84fdbca4f7e37ba100a1b4bae7373d3ec3b2 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 12:48:21 +0100 Subject: [PATCH 36/48] Fixed typo in customer -> add ticket form Signed-off-by: Florian Aders (EleRas) --- lib/formfields/customer/ticket/formfield.ticket_add.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/formfields/customer/ticket/formfield.ticket_add.php b/lib/formfields/customer/ticket/formfield.ticket_add.php index d88b69f5..be86b2da 100644 --- a/lib/formfields/customer/ticket/formfield.ticket_add.php +++ b/lib/formfields/customer/ticket/formfield.ticket_add.php @@ -32,7 +32,7 @@ return array( 'type' => 'select', 'select_var' => $priorities, ), - 'categories' => array( + 'category' => array( 'label' => $lng['ticket']['category'], 'type' => 'select', 'select_var' => $categories, From 61d5d4a1509669a375a1ede1e4d3fc2e38e8c282 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 12:52:12 +0100 Subject: [PATCH 37/48] Fixed naming of icon in MySQL edit Signed-off-by: Florian Aders (EleRas) --- lib/formfields/customer/mysql/formfield.mysql_edit.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/formfields/customer/mysql/formfield.mysql_edit.php b/lib/formfields/customer/mysql/formfield.mysql_edit.php index 617a1c03..bd812fae 100644 --- a/lib/formfields/customer/mysql/formfield.mysql_edit.php +++ b/lib/formfields/customer/mysql/formfield.mysql_edit.php @@ -17,11 +17,11 @@ return array( 'mysql_edit' => array( 'title' => $lng['mysql']['database_edit'], - 'image' => 'icons/edit_mysql.png', + 'image' => 'icons/mysql_edit.png', 'sections' => array( 'section_a' => array( 'title' => $lng['mysql']['database_edit'], - 'image' => 'icons/edit_mysql.png', + 'image' => 'icons/mysql_edit.png', 'fields' => array( 'databasename' => array( 'label' => $lng['mysql']['databasename'], From cc1b45ac6e99717d2bf47935d8a68ca681a9ee95 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 13:10:11 +0100 Subject: [PATCH 38/48] Readded files which were deleted during broken merge 7b01cb47de0093cd61988e747cd6dd4c251f459e Signed-off-by: Florian Aders (EleRas) --- .../Froxlor/customer/email/emails_add.tpl | 39 +++++++++++++++++++ .../Froxlor/customer/email/emails_edit.tpl | 31 +++++++++++++++ .../Froxlor/customer/email/forwarder_add.tpl | 31 +++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 templates/Froxlor/customer/email/emails_add.tpl create mode 100644 templates/Froxlor/customer/email/emails_edit.tpl create mode 100644 templates/Froxlor/customer/email/forwarder_add.tpl diff --git a/templates/Froxlor/customer/email/emails_add.tpl b/templates/Froxlor/customer/email/emails_add.tpl new file mode 100644 index 00000000..2ccddbaf --- /dev/null +++ b/templates/Froxlor/customer/email/emails_add.tpl @@ -0,0 +1,39 @@ +$header +
    + +
    +
    +
    {$lng['admin']['warning']}
    +

    {$lng['emails']['noemaildomainaddedyet']}
    +
    +
    +
    + +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$email_add_form} +
    + +

    + + + + +

    +
    +
    +
    +
    +$footer diff --git a/templates/Froxlor/customer/email/emails_edit.tpl b/templates/Froxlor/customer/email/emails_edit.tpl new file mode 100644 index 00000000..81f78645 --- /dev/null +++ b/templates/Froxlor/customer/email/emails_edit.tpl @@ -0,0 +1,31 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$email_edit_form} +
    + +

    + + + + +

    +
    +
    + +
    +
    +$footer diff --git a/templates/Froxlor/customer/email/forwarder_add.tpl b/templates/Froxlor/customer/email/forwarder_add.tpl new file mode 100644 index 00000000..90cb5861 --- /dev/null +++ b/templates/Froxlor/customer/email/forwarder_add.tpl @@ -0,0 +1,31 @@ +$header +
    +
    +

    + {$title}  + {$title} +

    +
    + +
    + +
    +
    + Froxlor - {$title} + + + {$forwarder_add_form} +
    + +

    + + + + +

    +
    +
    + +
    +
    +$footer From 88d0fe5752c54195e49e7dedf02d6f3618ab4b44 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 18:01:41 +0100 Subject: [PATCH 39/48] Fixing customer ticket reply - view Signed-off-by: Florian Aders (EleRas) --- .../Froxlor/customer/ticket/tickets_reply.tpl | 4 +-- .../customer/ticket/tickets_tickets_list.tpl | 26 +++++++++++-------- .../customer/ticket/tickets_tickets_main.tpl | 26 +++++++++++-------- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/templates/Froxlor/customer/ticket/tickets_reply.tpl b/templates/Froxlor/customer/ticket/tickets_reply.tpl index bce91972..1b1dc4de 100644 --- a/templates/Froxlor/customer/ticket/tickets_reply.tpl +++ b/templates/Froxlor/customer/ticket/tickets_reply.tpl @@ -8,9 +8,7 @@ $header -
    - $ticket_replies -
    + $ticket_replies
    diff --git a/templates/Froxlor/customer/ticket/tickets_tickets_list.tpl b/templates/Froxlor/customer/ticket/tickets_tickets_list.tpl index 31dec034..f8269f3f 100644 --- a/templates/Froxlor/customer/ticket/tickets_tickets_list.tpl +++ b/templates/Froxlor/customer/ticket/tickets_tickets_list.tpl @@ -1,11 +1,15 @@ - - - - - - - - - - -
      {$lastchange} von {$by}
    {$subject}
    {$message}
    \ No newline at end of file +
    + + + + + + + + + + +
    {$lastchange} {$lng['ticket']['by']} {$by}
    {$subject}
    {$message}
    +

    +
    +
    diff --git a/templates/Froxlor/customer/ticket/tickets_tickets_main.tpl b/templates/Froxlor/customer/ticket/tickets_tickets_main.tpl index 4eb04acf..2f743bb3 100644 --- a/templates/Froxlor/customer/ticket/tickets_tickets_main.tpl +++ b/templates/Froxlor/customer/ticket/tickets_tickets_main.tpl @@ -1,11 +1,15 @@ - - - - - - - - - - -
      {$dt} von {$by} ({$status})
    {$subject}
    {$message}
    \ No newline at end of file +
    + + + + + + + + + + +
    {$dt} {$lng['ticket']['by']} {$by} ({$status})
    {$subject}
    {$message}
    +
    +
    +
    From 4400125c7eef6b1f81cff8352b1077b2fe951c87 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 18:36:56 +0100 Subject: [PATCH 40/48] Fixed icon naming Signed-off-by: Florian Aders (EleRas) --- ...{add_autoresponder.png => autoresponder_add.png} | Bin .../icons/{add_domain.png => domain_add.png} | Bin .../icons/{edit_group.png => group_edit.png} | Bin .../icons/{add_htaccess.png => htaccess_add.png} | Bin .../icons/{add_htpasswd.png => htpasswd_add.png} | Bin .../icons/{edit_htpasswd.png => htpasswd_edit.png} | Bin .../Froxlor/icons/{add_mysql.png => mysql_add.png} | Bin .../icons/{answer_ticket.png => ticket_answer.png} | Bin ...archive_search.png => ticket_archive_search.png} | Bin .../icons/{close_ticket.png => ticket_close.png} | Bin .../icons/{reopen_ticket.png => ticket_reopen.png} | Bin .../icons/{show_ticket.png => ticket_show.png} | Bin images/Froxlor/icons/{add_user.png => user_add.png} | Bin lib/formfields/admin/admin/formfield.admin_add.php | 8 ++++---- lib/formfields/admin/admin/formfield.admin_edit.php | 2 +- .../admin/customer/formfield.customer_add.php | 8 ++++---- .../admin/domains/formfield.domains_add.php | 12 ++++++------ .../customer/domains/formfield.domains_add.php | 4 ++-- .../email/formfield.emails_addforwarder.php | 4 ++-- .../customer/extras/formfield.htaccess_add.php | 4 ++-- .../customer/extras/formfield.htaccess_edit.php | 4 ++-- .../customer/extras/formfield.htpasswd_edit.php | 4 ++-- lib/formfields/customer/ftp/formfield.ftp_add.php | 4 ++-- .../customer/mysql/formfield.mysql_add.php | 4 ++-- templates/Froxlor/admin/admins/admins.tpl | 6 +++--- templates/Froxlor/admin/customers/customers.tpl | 6 +++--- templates/Froxlor/admin/domains/domains.tpl | 4 ++-- templates/Froxlor/admin/ticket/archive.tpl | 2 +- templates/Froxlor/admin/ticket/archived_tickets.tpl | 2 +- templates/Froxlor/admin/ticket/tickets_tickets.tpl | 8 ++++---- templates/Froxlor/customer/domains/domainlist.tpl | 4 ++-- templates/Froxlor/customer/email/autoresponder.tpl | 4 ++-- templates/Froxlor/customer/extras/htaccess.tpl | 4 ++-- templates/Froxlor/customer/extras/htpasswds.tpl | 4 ++-- templates/Froxlor/customer/ftp/accounts.tpl | 6 +++--- templates/Froxlor/customer/mysql/mysqls.tpl | 4 ++-- .../Froxlor/customer/ticket/tickets_tickets.tpl | 8 ++++---- 37 files changed, 60 insertions(+), 60 deletions(-) rename images/Froxlor/icons/{add_autoresponder.png => autoresponder_add.png} (100%) rename images/Froxlor/icons/{add_domain.png => domain_add.png} (100%) rename images/Froxlor/icons/{edit_group.png => group_edit.png} (100%) rename images/Froxlor/icons/{add_htaccess.png => htaccess_add.png} (100%) rename images/Froxlor/icons/{add_htpasswd.png => htpasswd_add.png} (100%) rename images/Froxlor/icons/{edit_htpasswd.png => htpasswd_edit.png} (100%) rename images/Froxlor/icons/{add_mysql.png => mysql_add.png} (100%) rename images/Froxlor/icons/{answer_ticket.png => ticket_answer.png} (100%) rename images/Froxlor/icons/{archive_search.png => ticket_archive_search.png} (100%) rename images/Froxlor/icons/{close_ticket.png => ticket_close.png} (100%) rename images/Froxlor/icons/{reopen_ticket.png => ticket_reopen.png} (100%) rename images/Froxlor/icons/{show_ticket.png => ticket_show.png} (100%) rename images/Froxlor/icons/{add_user.png => user_add.png} (100%) diff --git a/images/Froxlor/icons/add_autoresponder.png b/images/Froxlor/icons/autoresponder_add.png similarity index 100% rename from images/Froxlor/icons/add_autoresponder.png rename to images/Froxlor/icons/autoresponder_add.png diff --git a/images/Froxlor/icons/add_domain.png b/images/Froxlor/icons/domain_add.png similarity index 100% rename from images/Froxlor/icons/add_domain.png rename to images/Froxlor/icons/domain_add.png diff --git a/images/Froxlor/icons/edit_group.png b/images/Froxlor/icons/group_edit.png similarity index 100% rename from images/Froxlor/icons/edit_group.png rename to images/Froxlor/icons/group_edit.png diff --git a/images/Froxlor/icons/add_htaccess.png b/images/Froxlor/icons/htaccess_add.png similarity index 100% rename from images/Froxlor/icons/add_htaccess.png rename to images/Froxlor/icons/htaccess_add.png diff --git a/images/Froxlor/icons/add_htpasswd.png b/images/Froxlor/icons/htpasswd_add.png similarity index 100% rename from images/Froxlor/icons/add_htpasswd.png rename to images/Froxlor/icons/htpasswd_add.png diff --git a/images/Froxlor/icons/edit_htpasswd.png b/images/Froxlor/icons/htpasswd_edit.png similarity index 100% rename from images/Froxlor/icons/edit_htpasswd.png rename to images/Froxlor/icons/htpasswd_edit.png diff --git a/images/Froxlor/icons/add_mysql.png b/images/Froxlor/icons/mysql_add.png similarity index 100% rename from images/Froxlor/icons/add_mysql.png rename to images/Froxlor/icons/mysql_add.png diff --git a/images/Froxlor/icons/answer_ticket.png b/images/Froxlor/icons/ticket_answer.png similarity index 100% rename from images/Froxlor/icons/answer_ticket.png rename to images/Froxlor/icons/ticket_answer.png diff --git a/images/Froxlor/icons/archive_search.png b/images/Froxlor/icons/ticket_archive_search.png similarity index 100% rename from images/Froxlor/icons/archive_search.png rename to images/Froxlor/icons/ticket_archive_search.png diff --git a/images/Froxlor/icons/close_ticket.png b/images/Froxlor/icons/ticket_close.png similarity index 100% rename from images/Froxlor/icons/close_ticket.png rename to images/Froxlor/icons/ticket_close.png diff --git a/images/Froxlor/icons/reopen_ticket.png b/images/Froxlor/icons/ticket_reopen.png similarity index 100% rename from images/Froxlor/icons/reopen_ticket.png rename to images/Froxlor/icons/ticket_reopen.png diff --git a/images/Froxlor/icons/show_ticket.png b/images/Froxlor/icons/ticket_show.png similarity index 100% rename from images/Froxlor/icons/show_ticket.png rename to images/Froxlor/icons/ticket_show.png diff --git a/images/Froxlor/icons/add_user.png b/images/Froxlor/icons/user_add.png similarity index 100% rename from images/Froxlor/icons/add_user.png rename to images/Froxlor/icons/user_add.png diff --git a/lib/formfields/admin/admin/formfield.admin_add.php b/lib/formfields/admin/admin/formfield.admin_add.php index 70ca9851..a35b25c4 100644 --- a/lib/formfields/admin/admin/formfield.admin_add.php +++ b/lib/formfields/admin/admin/formfield.admin_add.php @@ -18,11 +18,11 @@ return array( 'admin_add' => array( 'title' => $lng['admin']['admin_add'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['admin']['accountdata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'loginname' => array( 'label' => $lng['login']['username'], @@ -43,7 +43,7 @@ return array( ), 'section_b' => array( 'title' => $lng['admin']['contactdata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'name' => array( 'label' => $lng['customer']['name'], @@ -59,7 +59,7 @@ return array( ), 'section_c' => array( 'title' => $lng['admin']['servicedata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'ipaddress' => array( 'label' => $lng['serversettings']['ipaddress']['title'], diff --git a/lib/formfields/admin/admin/formfield.admin_edit.php b/lib/formfields/admin/admin/formfield.admin_edit.php index 012077d1..e23598b7 100644 --- a/lib/formfields/admin/admin/formfield.admin_edit.php +++ b/lib/formfields/admin/admin/formfield.admin_edit.php @@ -68,7 +68,7 @@ return array( ), 'section_c' => array( 'title' => $lng['admin']['servicedata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'visible' => ($result['adminid'] != $userinfo['userid'] ? true : false), 'fields' => array( 'ipaddress' => array( diff --git a/lib/formfields/admin/customer/formfield.customer_add.php b/lib/formfields/admin/customer/formfield.customer_add.php index 5b326fa5..6c7e30bc 100644 --- a/lib/formfields/admin/customer/formfield.customer_add.php +++ b/lib/formfields/admin/customer/formfield.customer_add.php @@ -18,11 +18,11 @@ return array( 'customer_add' => array( 'title' => $lng['admin']['customer_add'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['admin']['accountdata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'new_loginname' => array( 'label' => $lng['login']['username'], @@ -56,7 +56,7 @@ return array( ), 'section_b' => array( 'title' => $lng['admin']['contactdata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'name' => array( 'label' => $lng['customer']['name'], @@ -106,7 +106,7 @@ return array( ), 'section_c' => array( 'title' => $lng['admin']['servicedata'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'diskspace' => array( 'label' => $lng['customer']['diskspace'], diff --git a/lib/formfields/admin/domains/formfield.domains_add.php b/lib/formfields/admin/domains/formfield.domains_add.php index 22ce7863..93dddf35 100644 --- a/lib/formfields/admin/domains/formfield.domains_add.php +++ b/lib/formfields/admin/domains/formfield.domains_add.php @@ -18,11 +18,11 @@ return array( 'domain_add' => array( 'title' => $lng['admin']['domain_add'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['domains']['domainsettings'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'fields' => array( 'domain' => array( 'label' => 'Domain', @@ -71,7 +71,7 @@ return array( ), 'section_b' => array( 'title' => $lng['admin']['webserversettings'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'fields' => array( 'documentroot' => array( 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), @@ -131,7 +131,7 @@ return array( ), 'section_c' => array( 'title' => $lng['admin']['phpserversettings'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'visible' => (($userinfo['change_serversettings'] == '1' || $userinfo['caneditphpsettings'] == '1') ? true : false), 'fields' => array( 'openbasedir' => array( @@ -164,7 +164,7 @@ return array( ), 'section_d' => array( 'title' => $lng['admin']['nameserversettings'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'visible' => ($userinfo['change_serversettings'] == '1' ? true : false), 'fields' => array( 'isbinddomain' => array( @@ -181,7 +181,7 @@ return array( ), 'section_e' => array( 'title' => $lng['admin']['mailserversettings'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'fields' => array( 'isemaildomain' => array( 'label' => $lng['admin']['emaildomain'], diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index bf0dbc7e..ad88b3d3 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -18,11 +18,11 @@ return array( 'domain_add' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['domains']['subdomain_add'], - 'image' => 'icons/add_domain.png', + 'image' => 'icons/domain_add.png', 'fields' => array( 'subdomain' => array( 'label' => $lng['domains']['domainname'], diff --git a/lib/formfields/customer/email/formfield.emails_addforwarder.php b/lib/formfields/customer/email/formfield.emails_addforwarder.php index 9532bd68..e247003f 100644 --- a/lib/formfields/customer/email/formfield.emails_addforwarder.php +++ b/lib/formfields/customer/email/formfield.emails_addforwarder.php @@ -18,11 +18,11 @@ return array( 'emails_addforwarder' => array( 'title' => $lng['emails']['forwarder_add'], - 'image' => 'icons/add_autoresponder.png', + 'image' => 'icons/autoresponder_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['emails']['forwarder_add'], - 'image' => 'icons/add_autoresponder.png', + 'image' => 'icons/autoresponder_add.png', 'fields' => array( 'email_full' => array( 'label' => $lng['emails']['from'], diff --git a/lib/formfields/customer/extras/formfield.htaccess_add.php b/lib/formfields/customer/extras/formfield.htaccess_add.php index 81a58a61..57f489cb 100644 --- a/lib/formfields/customer/extras/formfield.htaccess_add.php +++ b/lib/formfields/customer/extras/formfield.htaccess_add.php @@ -18,11 +18,11 @@ return array( 'htaccess_add' => array( 'title' => $lng['extras']['pathoptions_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['extras']['pathoptions_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], diff --git a/lib/formfields/customer/extras/formfield.htaccess_edit.php b/lib/formfields/customer/extras/formfield.htaccess_edit.php index 8a4cf558..216a6114 100644 --- a/lib/formfields/customer/extras/formfield.htaccess_edit.php +++ b/lib/formfields/customer/extras/formfield.htaccess_edit.php @@ -18,11 +18,11 @@ return array( 'htaccess_edit' => array( 'title' => $lng['extras']['pathoptions_edit'], - 'image' => 'icons/edit_htpasswd.png', + 'image' => 'icons/htpasswd_edit.png', 'sections' => array( 'section_a' => array( 'title' => $lng['extras']['pathoptions_edit'], - 'image' => 'icons/edit_htpasswd.png', + 'image' => 'icons/htpasswd_edit.png', 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], diff --git a/lib/formfields/customer/extras/formfield.htpasswd_edit.php b/lib/formfields/customer/extras/formfield.htpasswd_edit.php index 2be420f3..a21b085a 100644 --- a/lib/formfields/customer/extras/formfield.htpasswd_edit.php +++ b/lib/formfields/customer/extras/formfield.htpasswd_edit.php @@ -18,11 +18,11 @@ return array( 'htpasswd_edit' => array( 'title' => $lng['extras']['directoryprotection_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['extras']['directoryprotection_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], diff --git a/lib/formfields/customer/ftp/formfield.ftp_add.php b/lib/formfields/customer/ftp/formfield.ftp_add.php index a020cef3..19475ecc 100644 --- a/lib/formfields/customer/ftp/formfield.ftp_add.php +++ b/lib/formfields/customer/ftp/formfield.ftp_add.php @@ -17,11 +17,11 @@ return array( 'ftp_add' => array( 'title' => $lng['ftp']['account_add'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['ftp']['account_add'], - 'image' => 'icons/add_user.png', + 'image' => 'icons/user_add.png', 'fields' => array( 'ftp_username' => array( 'visible' => ($settings['customer']['ftpatdomain'] == '1' ? true : false), diff --git a/lib/formfields/customer/mysql/formfield.mysql_add.php b/lib/formfields/customer/mysql/formfield.mysql_add.php index efa46b91..adb166fb 100644 --- a/lib/formfields/customer/mysql/formfield.mysql_add.php +++ b/lib/formfields/customer/mysql/formfield.mysql_add.php @@ -17,11 +17,11 @@ return array( 'mysql_add' => array( 'title' => $lng['mysql']['database_create'], - 'image' => 'icons/add_mysql.png', + 'image' => 'icons/mysql_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['mysql']['database_create'], - 'image' => 'icons/add_mysql.png', + 'image' => 'icons/mysql_add.png', 'fields' => array( 'description' => array( 'label' => $lng['mysql']['databasedescription'], diff --git a/templates/Froxlor/admin/admins/admins.tpl b/templates/Froxlor/admin/admins/admins.tpl index 68cf48f3..20d9edab 100644 --- a/templates/Froxlor/admin/admins/admins.tpl +++ b/templates/Froxlor/admin/admins/admins.tpl @@ -2,7 +2,7 @@ $header

    -   +   {$lng['admin']['admins']} ({$admincount})

    @@ -17,7 +17,7 @@ $header @@ -52,7 +52,7 @@ $header diff --git a/templates/Froxlor/admin/customers/customers.tpl b/templates/Froxlor/admin/customers/customers.tpl index f2ded955..9b70d834 100644 --- a/templates/Froxlor/admin/customers/customers.tpl +++ b/templates/Froxlor/admin/customers/customers.tpl @@ -2,7 +2,7 @@ $header

    -   +   {$lng['admin']['customers']} ({$customercount})

    @@ -17,7 +17,7 @@ $header @@ -54,7 +54,7 @@ $header diff --git a/templates/Froxlor/admin/domains/domains.tpl b/templates/Froxlor/admin/domains/domains.tpl index e55d26b9..2f4370c5 100644 --- a/templates/Froxlor/admin/domains/domains.tpl +++ b/templates/Froxlor/admin/domains/domains.tpl @@ -17,7 +17,7 @@ @@ -61,7 +61,7 @@ diff --git a/templates/Froxlor/admin/ticket/archive.tpl b/templates/Froxlor/admin/ticket/archive.tpl index a0b24ff8..c1be28c8 100644 --- a/templates/Froxlor/admin/ticket/archive.tpl +++ b/templates/Froxlor/admin/ticket/archive.tpl @@ -32,7 +32,7 @@ $header

    -   +   {$lng['ticket']['search']}

    diff --git a/templates/Froxlor/admin/ticket/archived_tickets.tpl b/templates/Froxlor/admin/ticket/archived_tickets.tpl index 43b1afad..62ce25d9 100644 --- a/templates/Froxlor/admin/ticket/archived_tickets.tpl +++ b/templates/Froxlor/admin/ticket/archived_tickets.tpl @@ -6,7 +6,7 @@ {$ticket['priority']} - {$lng['ticket']['show']} + {$lng['ticket']['show']} diff --git a/templates/Froxlor/admin/ticket/tickets_tickets.tpl b/templates/Froxlor/admin/ticket/tickets_tickets.tpl index a465fec9..f4527d98 100644 --- a/templates/Froxlor/admin/ticket/tickets_tickets.tpl +++ b/templates/Froxlor/admin/ticket/tickets_tickets.tpl @@ -8,20 +8,20 @@ - {$lng['ticket']['show']} + {$lng['ticket']['show']} - {$lng['ticket']['answer']} + {$lng['ticket']['answer']}   - {$lng['ticket']['close']} + {$lng['ticket']['close']}   - {$lng['ticket']['reopen']} + {$lng['ticket']['reopen']}   diff --git a/templates/Froxlor/customer/domains/domainlist.tpl b/templates/Froxlor/customer/domains/domainlist.tpl index 6dafb306..a5a934ec 100644 --- a/templates/Froxlor/customer/domains/domainlist.tpl +++ b/templates/Froxlor/customer/domains/domainlist.tpl @@ -17,7 +17,7 @@ @@ -51,7 +51,7 @@ diff --git a/templates/Froxlor/customer/email/autoresponder.tpl b/templates/Froxlor/customer/email/autoresponder.tpl index 67f42fb7..a9fb3417 100644 --- a/templates/Froxlor/customer/email/autoresponder.tpl +++ b/templates/Froxlor/customer/email/autoresponder.tpl @@ -11,7 +11,7 @@ @@ -33,7 +33,7 @@ diff --git a/templates/Froxlor/customer/extras/htaccess.tpl b/templates/Froxlor/customer/extras/htaccess.tpl index 86bf55a8..9a1e2a19 100644 --- a/templates/Froxlor/customer/extras/htaccess.tpl +++ b/templates/Froxlor/customer/extras/htaccess.tpl @@ -17,7 +17,7 @@ @@ -54,7 +54,7 @@

    diff --git a/templates/Froxlor/customer/extras/htpasswds.tpl b/templates/Froxlor/customer/extras/htpasswds.tpl index 3aca3a01..477828ff 100644 --- a/templates/Froxlor/customer/extras/htpasswds.tpl +++ b/templates/Froxlor/customer/extras/htpasswds.tpl @@ -17,7 +17,7 @@ @@ -50,7 +50,7 @@ diff --git a/templates/Froxlor/customer/ftp/accounts.tpl b/templates/Froxlor/customer/ftp/accounts.tpl index f54b131b..6e73f9b0 100644 --- a/templates/Froxlor/customer/ftp/accounts.tpl +++ b/templates/Froxlor/customer/ftp/accounts.tpl @@ -2,7 +2,7 @@

    -   +   {$lng['menue']['ftp']['accounts']} ({$ftps_count})

    @@ -17,7 +17,7 @@ @@ -51,7 +51,7 @@ diff --git a/templates/Froxlor/customer/mysql/mysqls.tpl b/templates/Froxlor/customer/mysql/mysqls.tpl index 765558e8..54641b9e 100644 --- a/templates/Froxlor/customer/mysql/mysqls.tpl +++ b/templates/Froxlor/customer/mysql/mysqls.tpl @@ -17,7 +17,7 @@ @@ -52,7 +52,7 @@ diff --git a/templates/Froxlor/customer/ticket/tickets_tickets.tpl b/templates/Froxlor/customer/ticket/tickets_tickets.tpl index 26330d4e..3a0b60fa 100644 --- a/templates/Froxlor/customer/ticket/tickets_tickets.tpl +++ b/templates/Froxlor/customer/ticket/tickets_tickets.tpl @@ -8,20 +8,20 @@ - {$lng['ticket']['show']} + {$lng['ticket']['show']} - {$lng['ticket']['answer']} + {$lng['ticket']['answer']}   - {$lng['ticket']['close']} + {$lng['ticket']['close']}   - {$lng['ticket']['reopen']} + {$lng['ticket']['reopen']} From 7a70257b951fa338a59bed92ef3ac0d80af80278 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Sun, 13 Feb 2011 18:40:34 +0100 Subject: [PATCH 41/48] Forgot one file in the last commit Signed-off-by: Florian Aders (EleRas) --- lib/formfields/customer/extras/formfield.htpasswd_add.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/formfields/customer/extras/formfield.htpasswd_add.php b/lib/formfields/customer/extras/formfield.htpasswd_add.php index 441f2f37..5802e040 100644 --- a/lib/formfields/customer/extras/formfield.htpasswd_add.php +++ b/lib/formfields/customer/extras/formfield.htpasswd_add.php @@ -18,11 +18,11 @@ return array( 'htpasswd_add' => array( 'title' => $lng['extras']['directoryprotection_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'sections' => array( 'section_a' => array( 'title' => $lng['extras']['directoryprotection_add'], - 'image' => 'icons/add_htpasswd.png', + 'image' => 'icons/htpasswd_add.png', 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], From 134250d1c1c274afd4c025a24b90fc3b077853c9 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Tue, 15 Feb 2011 21:14:02 +0100 Subject: [PATCH 42/48] Added icon for changetheme made by scarya Signed-off-by: Florian Aders (EleRas) --- images/Classic/changetheme.png | Bin 0 -> 19227 bytes .../Classic/customer/index/change_theme.tpl | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 images/Classic/changetheme.png diff --git a/images/Classic/changetheme.png b/images/Classic/changetheme.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7eb599a3e11cd297daf6dd1c692f35a2d53617 GIT binary patch literal 19227 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 z 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 - + From 357614992ec4fdf895c8f6aa9c82508315c8b221 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 15 Feb 2011 21:49:18 +0100 Subject: [PATCH 43/48] add missing image in 'change theme' on admin-side Signed-off-by: Michael Kaufmann (d00p) --- templates/Classic/admin/index/change_theme.tpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/Classic/admin/index/change_theme.tpl b/templates/Classic/admin/index/change_theme.tpl index 082089a5..34c100cd 100644 --- a/templates/Classic/admin/index/change_theme.tpl +++ b/templates/Classic/admin/index/change_theme.tpl @@ -3,6 +3,9 @@ $header
     {$lng['menue']['main']['changetheme']}
    + + + From ffed226a4f630bfd497f46ea6d5612a1cde41e10 Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Tue, 22 Feb 2011 20:15:42 +0100 Subject: [PATCH 44/48] Fixing typo in paging- Signed-off-by: Florian Aders (EleRas) --- lib/classes/output/class.paging.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/classes/output/class.paging.php b/lib/classes/output/class.paging.php index b6a5094f..e0c68e90 100644 --- a/lib/classes/output/class.paging.php +++ b/lib/classes/output/class.paging.php @@ -510,7 +510,7 @@ class paging } else { - $pagingcode.= ' ' . $i . '/nbsp;'; + $pagingcode.= ' ' . $i . ' '; } } From 656d725b582cb06ea92f2d5cacb3c0ef7673fb4f Mon Sep 17 00:00:00 2001 From: "Florian Aders (EleRas)" Date: Tue, 22 Feb 2011 20:49:02 +0100 Subject: [PATCH 45/48] Adding admin to customer - list Signed-off-by: Florian Aders (EleRas) --- templates/Froxlor/admin/customers/customers.tpl | 1 + templates/Froxlor/admin/customers/customers_customer.tpl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/Froxlor/admin/customers/customers.tpl b/templates/Froxlor/admin/customers/customers.tpl index 9b70d834..dea6ee51 100644 --- a/templates/Froxlor/admin/customers/customers.tpl +++ b/templates/Froxlor/admin/customers/customers.tpl @@ -29,6 +29,7 @@ $header {$lng['customer']['name']}  {$arrowcode['c.name']}  {$lng['customer']['firstname']}  {$arrowcode['c.firstname']}  {$lng['login']['username']} {$arrowcode['c.loginname']} + {$lng['admin']['admin']} {$arrowcode['a.loginname']} diff --git a/templates/Froxlor/admin/customers/customers_customer.tpl b/templates/Froxlor/admin/customers/customers_customer.tpl index b61182b4..8ae17344 100644 --- a/templates/Froxlor/admin/customers/customers_customer.tpl +++ b/templates/Froxlor/admin/customers/customers_customer.tpl @@ -7,7 +7,7 @@ {$row['company']} -  ({$row['loginname']}) +  ({$row['loginname']} | {$row['adminname']})
     {$lng['menue']['main']['changetheme']}
    {$lng['panel']['options']}
    From 6837852f52fde90c04c64cc6d8e492f0d5b23108 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Wed, 23 Feb 2011 08:47:14 +0100 Subject: [PATCH 46/48] - check for field 'theme' in table 'panel_session' as it's being used before the update, fixes #607 - add some missing css-classes for the updater Signed-off-by: Michael Kaufmann (d00p) --- index.php | 14 +++++++++++++- lib/classes/database/class.db.php | 5 +++++ templates/Froxlor/froxlor.css | 32 +++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/index.php b/index.php index 10debf61..c14332ec 100644 --- a/index.php +++ b/index.php @@ -190,7 +190,19 @@ if($action == 'login') $db->query("DELETE FROM `" . TABLE_PANEL_SESSIONS . "` WHERE `userid` = '" . (int)$userinfo['userid'] . "' AND `adminsession` = '" . $db->escape($userinfo['adminsession']) . "'"); } - $db->query("INSERT INTO `" . TABLE_PANEL_SESSIONS . "` (`hash`, `userid`, `ipaddress`, `useragent`, `lastactivity`, `language`, `adminsession`, `theme`) VALUES ('" . $db->escape($s) . "', '" . (int)$userinfo['userid'] . "', '" . $db->escape($remote_addr) . "', '" . $db->escape($http_user_agent) . "', '" . time() . "', '" . $db->escape($language) . "', '" . $db->escape($userinfo['adminsession']) . "', '" . $db->escape($theme) . "')"); + // check for field 'theme' in session-table, refs #607 + $fields = mysql_list_fields($db->getDbName(), TABLE_PANEL_SESSIONS); + $columns = mysql_num_fields($fields); + $field_array = array(); + for ($i = 0; $i < $columns; $i++) { + $field_array[] = mysql_field_name($fields, $i); + } + + if (!in_array('theme', $field_array)) { + $db->query("INSERT INTO `" . TABLE_PANEL_SESSIONS . "` (`hash`, `userid`, `ipaddress`, `useragent`, `lastactivity`, `language`, `adminsession`) VALUES ('" . $db->escape($s) . "', '" . (int)$userinfo['userid'] . "', '" . $db->escape($remote_addr) . "', '" . $db->escape($http_user_agent) . "', '" . time() . "', '" . $db->escape($language) . "', '" . $db->escape($userinfo['adminsession']) . "')"); + } else { + $db->query("INSERT INTO `" . TABLE_PANEL_SESSIONS . "` (`hash`, `userid`, `ipaddress`, `useragent`, `lastactivity`, `language`, `adminsession`, `theme`) VALUES ('" . $db->escape($s) . "', '" . (int)$userinfo['userid'] . "', '" . $db->escape($remote_addr) . "', '" . $db->escape($http_user_agent) . "', '" . time() . "', '" . $db->escape($language) . "', '" . $db->escape($userinfo['adminsession']) . "', '" . $db->escape($theme) . "')"); + } if($userinfo['adminsession'] == '1') { diff --git a/lib/classes/database/class.db.php b/lib/classes/database/class.db.php index 3d9bc652..2c786bee 100644 --- a/lib/classes/database/class.db.php +++ b/lib/classes/database/class.db.php @@ -150,6 +150,11 @@ class db return @mysql_close($this->link_id); } + function getDbName() + { + return $this->database; + } + /** * Escapes user input to be used in mysql queries * diff --git a/templates/Froxlor/froxlor.css b/templates/Froxlor/froxlor.css index cb7d2d05..06119be6 100644 --- a/templates/Froxlor/froxlor.css +++ b/templates/Froxlor/froxlor.css @@ -685,3 +685,35 @@ select { .maintable { width: 90%; } + +.update_progess +{ + padding: 2em; + text-align: left; +} + +.preconfig +{ + text-align: left; + margin-top: 20px; + margin-bottom: 5px; + margin-right: 15px; + margin-left: 15px; +} + +.preconfigitem +{ + padding: 0.15em; + border-bottom: 1px solid #cccccc; +} + +.preconfdesc +{ + display: block; + margin-bottom: 0.5em; + font-size: 120%; +} + +.strikethrough { + text-decoration: line-through; +} From ca9128bdbf09ff553dccc6a16619b12a2f852fb1 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Thu, 24 Feb 2011 10:07:38 +0100 Subject: [PATCH 47/48] - fix two TODO's where a second field has to be stuck next to the previous --- lib/classes/output/class.htmlform.php | 40 ++++++++++++++----- .../domains/formfield.domains_add.php | 8 ++-- .../customer/email/formfield.emails_add.php | 6 ++- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/lib/classes/output/class.htmlform.php b/lib/classes/output/class.htmlform.php index 4f9a5b6f..62c3db8c 100644 --- a/lib/classes/output/class.htmlform.php +++ b/lib/classes/output/class.htmlform.php @@ -48,22 +48,42 @@ class htmlform } eval("self::\$_form .= \"" . getTemplate("misc/form/table_section", "1") . "\";"); - + + $nexto = false; foreach($section['fields'] as $fieldname => $fielddata) { if(isset($fielddata['visible']) && $fielddata['visible'] === false) { continue; } - - $label = $fielddata['label']; - $desc = (isset($fielddata['desc']) ? $fielddata['desc'] : ''); - $style = (isset($fielddata['style']) ? ' style="'.$fielddata['style'].'"' : ''); - $mandatory = self::_getMandatoryFlag($fielddata); - $data_field = self::_parseDataField($fieldname, $fielddata); - $data_field = str_replace("\n", "", $data_field); - $data_field = str_replace("\t", "", $data_field); - eval("self::\$_form .= \"" . getTemplate("misc/form/table_row", "1") . "\";"); + + if ($nexto === false || (isset($fielddata['next_to']) && $nexto['field'] != $fielddata['next_to'])) { + $label = $fielddata['label']; + $desc = (isset($fielddata['desc']) ? $fielddata['desc'] : ''); + $style = (isset($fielddata['style']) ? ' style="'.$fielddata['style'].'"' : ''); + $mandatory = self::_getMandatoryFlag($fielddata); + $data_field = self::_parseDataField($fieldname, $fielddata); + $data_field = str_replace("\n", "", $data_field); + $data_field = str_replace("\t", "", $data_field); + if (isset($fielddata['has_nextto'])) { + $nexto = array('field' => $fieldname); + $data_field.='{NEXTTOFIELD_'.$fieldname.'}'; + } else { + $nexto = false; + } + eval("self::\$_form .= \"" . getTemplate("misc/form/table_row", "1") . "\";"); + } else { + $data_field = self::_parseDataField($fieldname, $fielddata); + $data_field = str_replace("\n", "", $data_field); + $data_field = str_replace("\t", "", $data_field); + $data_field = $fielddata['next_to_prefix'].$data_field; + self::$_form = str_replace( + '{NEXTTOFIELD_'.$fielddata['next_to'].'}', + $data_field, + self::$_form + ); + $nexto = false; + } } } } diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index ad88b3d3..2e0a12a2 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -26,10 +26,12 @@ return array( 'fields' => array( 'subdomain' => array( 'label' => $lng['domains']['domainname'], - 'type' => 'text' + 'type' => 'text', + 'has_nextto' => true ), 'domain' => array( - 'label' => '@TODO up to subdomain-part', + 'next_to' => 'subdomain', + 'next_to_prefix' => ' . ', 'type' => 'select', 'select_var' => $domains ), @@ -54,7 +56,7 @@ return array( 'label' => $lng['domains']['redirectifpathisurl'], 'desc' => $lng['domains']['redirectifpathisurlinfo'], 'type' => 'select', - 'select_var' => $redirectcode + 'select_var' => isset($redirectcode) ? $redirectcode : null ), 'ssl_redirect' => array( 'visible' => ($settings['system']['use_ssl'] == '1' ? true : false), diff --git a/lib/formfields/customer/email/formfield.emails_add.php b/lib/formfields/customer/email/formfield.emails_add.php index 5ea85d68..401e074f 100644 --- a/lib/formfields/customer/email/formfield.emails_add.php +++ b/lib/formfields/customer/email/formfield.emails_add.php @@ -26,10 +26,12 @@ return array( 'fields' => array( 'email_part' => array( 'label' => $lng['emails']['emailaddress'], - 'type' => 'text' + 'type' => 'text', + 'has_nextto' => true ), 'domain' => array( - 'label' => '@TODO up to email-part', + 'next_to' => 'email_part', + 'next_to_prefix' => ' @ ', 'type' => 'select', 'select_var' => $domains ), From 393a5ce57062ad78162efe97d9efc5c9f593ea20 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Thu, 24 Feb 2011 10:50:59 +0100 Subject: [PATCH 48/48] - let makePathfield return usable values for the formfield (dynamically changing between select, text and hidden, depending on settings) Signed-off-by: Michael Kaufmann (d00p) --- .../domains/formfield.domains_add.php | 6 ++-- .../domains/formfield.domains_edit.php | 6 ++-- .../extras/formfield.htaccess_add.php | 6 ++-- .../extras/formfield.htpasswd_add.php | 6 ++-- .../customer/ftp/formfield.ftp_add.php | 6 ++-- .../customer/ftp/formfield.ftp_edit.php | 6 ++-- .../filedir/function.makePathfield.php | 34 ++++++++++++++----- 7 files changed, 43 insertions(+), 27 deletions(-) diff --git a/lib/formfields/customer/domains/formfield.domains_add.php b/lib/formfields/customer/domains/formfield.domains_add.php index 2e0a12a2..d333bb07 100644 --- a/lib/formfields/customer/domains/formfield.domains_add.php +++ b/lib/formfields/customer/domains/formfield.domains_add.php @@ -42,9 +42,9 @@ return array( ), 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'url' => array( 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), diff --git a/lib/formfields/customer/domains/formfield.domains_edit.php b/lib/formfields/customer/domains/formfield.domains_edit.php index 1abb0f8f..2741e5f3 100644 --- a/lib/formfields/customer/domains/formfield.domains_edit.php +++ b/lib/formfields/customer/domains/formfield.domains_edit.php @@ -42,9 +42,9 @@ return array( ), 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'url' => array( 'visible' => ($settings['panel']['pathedit'] == 'Dropdown' ? true : false), diff --git a/lib/formfields/customer/extras/formfield.htaccess_add.php b/lib/formfields/customer/extras/formfield.htaccess_add.php index 57f489cb..9890554b 100644 --- a/lib/formfields/customer/extras/formfield.htaccess_add.php +++ b/lib/formfields/customer/extras/formfield.htaccess_add.php @@ -26,9 +26,9 @@ return array( 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'options_indexes' => array( 'label' => $lng['extras']['directory_browsing'], diff --git a/lib/formfields/customer/extras/formfield.htpasswd_add.php b/lib/formfields/customer/extras/formfield.htpasswd_add.php index 5802e040..fe936c37 100644 --- a/lib/formfields/customer/extras/formfield.htpasswd_add.php +++ b/lib/formfields/customer/extras/formfield.htpasswd_add.php @@ -26,9 +26,9 @@ return array( 'fields' => array( 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'username' => array( 'label' => $lng['login']['username'], diff --git a/lib/formfields/customer/ftp/formfield.ftp_add.php b/lib/formfields/customer/ftp/formfield.ftp_add.php index 19475ecc..bc7529c2 100644 --- a/lib/formfields/customer/ftp/formfield.ftp_add.php +++ b/lib/formfields/customer/ftp/formfield.ftp_add.php @@ -36,9 +36,9 @@ return array( ), 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect, + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'ftp_password' => array( 'label' => $lng['login']['password'], diff --git a/lib/formfields/customer/ftp/formfield.ftp_edit.php b/lib/formfields/customer/ftp/formfield.ftp_edit.php index 42199ff9..5015870e 100644 --- a/lib/formfields/customer/ftp/formfield.ftp_edit.php +++ b/lib/formfields/customer/ftp/formfield.ftp_edit.php @@ -41,9 +41,9 @@ return array( ), 'path' => array( 'label' => $lng['panel']['path'], - 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : NULL), - 'type' => ($settings['panel']['pathedit'] != 'Dropdown' ? 'text' : 'select'), - 'select_var' => $pathSelect + 'desc' => ($settings['panel']['pathedit'] != 'Dropdown' ? $lng['panel']['pathDescription'] : null).(isset($pathSelect['note']) ? '
    '.$pathSelect['value'] : ''), + 'type' => $pathSelect['type'], + 'select_var' => $pathSelect['value'] ), 'ftp_password' => array( 'label' => $lng['login']['password'], diff --git a/lib/functions/filedir/function.makePathfield.php b/lib/functions/filedir/function.makePathfield.php index f2293b85..1d5098b3 100644 --- a/lib/functions/filedir/function.makePathfield.php +++ b/lib/functions/filedir/function.makePathfield.php @@ -36,11 +36,15 @@ function makePathfield($path, $uid, $gid, $fieldType, $value = '') { global $lng; $value = str_replace($path, '', $value); - $field = ''; + $field = array(); if($fieldType == 'Manual') { - $field = ''; + $field = array( + 'type' => 'text', + 'value' => htmlspecialchars($value) + ); + } elseif($fieldType == 'Dropdown') { @@ -58,7 +62,7 @@ function makePathfield($path, $uid, $gid, $fieldType, $value = '') { if(sizeof($dirList) <= 100) { - $field = ''; + $field = array( + 'type' => 'select', + 'value' => $_field + ); } else { // remove starting slash we added // for the Dropdown, #225 $value = substr($value, 1); - $field = $lng['panel']['toomanydirs']; - $field.= '
    '; + //$field = $lng['panel']['toomanydirs']; + $field = array( + 'type' => 'text', + 'value' => htmlspecialchars($value), + 'note' => $lng['panel']['toomanydirs'] + ); } } else { - $field = $lng['panel']['dirsmissing']; - $field.= ''; + //$field = $lng['panel']['dirsmissing']; + $field = ''; + $field = array( + 'type' => 'hidden', + 'value' => '/', + 'note' => $lng['panel']['dirsmissing'] + ); } }