From 35b80040c046d75e32a3567bb8e615b3f4042b1c Mon Sep 17 00:00:00 2001 From: DSB Date: Fri, 10 Jun 2011 22:58:43 +0000 Subject: [PATCH] --- ReadMe/ReadMe.txt | 15 + ReadMe/install_deutsch.txt | 5 + ReadMe/install_english.txt | 5 + ReadMe/install_francais.txt | 6 + ReadMe/install_italiano.txt | 6 + ReadMe/license_deutsch.txt | 105 ++ ReadMe/license_english.txt | 88 + ReadMe/my_changelog.txt | 46 + config.php | 135 ++ config_overview.php | 991 +++++++++++ css/msd/icons/arrow_down.gif | Bin 0 -> 132 bytes css/msd/icons/arrow_up.gif | Bin 0 -> 131 bytes css/msd/icons/arrowdown.gif | Bin 0 -> 211 bytes css/msd/icons/arrowleft.gif | Bin 0 -> 131 bytes css/msd/icons/arrowup.gif | Bin 0 -> 208 bytes css/msd/icons/blank.gif | Bin 0 -> 43 bytes css/msd/icons/browse.gif | Bin 0 -> 991 bytes css/msd/icons/close.gif | Bin 0 -> 131 bytes css/msd/icons/delete.gif | Bin 0 -> 145 bytes css/msd/icons/edit.gif | Bin 0 -> 985 bytes css/msd/icons/gz.gif | Bin 0 -> 1468 bytes css/msd/icons/index.gif | Bin 0 -> 1003 bytes css/msd/icons/key_fulltext.gif | Bin 0 -> 998 bytes css/msd/icons/key_nokey.gif | Bin 0 -> 547 bytes css/msd/icons/key_primary.gif | Bin 0 -> 994 bytes css/msd/icons/key_unique.gif | Bin 0 -> 1001 bytes css/msd/icons/mysql_help.gif | Bin 0 -> 359 bytes css/msd/icons/notok.gif | Bin 0 -> 74 bytes css/msd/icons/ok.gif | Bin 0 -> 138 bytes css/msd/icons/openfile.gif | Bin 0 -> 154 bytes css/msd/icons/progressbar_dump.gif | Bin 0 -> 502 bytes css/msd/icons/progressbar_restore.gif | Bin 0 -> 471 bytes css/msd/icons/progressbar_speed.gif | Bin 0 -> 484 bytes css/msd/icons/rename.gif | Bin 0 -> 296 bytes css/msd/icons/search.gif | Bin 0 -> 991 bytes css/msd/icons/table_truncate.gif | Bin 0 -> 979 bytes css/msd/icons/table_truncate_reset.gif | Bin 0 -> 923 bytes css/msd/pics/bg-body.gif | Bin 0 -> 1249 bytes css/msd/pics/bg-buttons.gif | Bin 0 -> 506 bytes css/msd/pics/bg-headings.gif | Bin 0 -> 583 bytes css/msd/pics/blank.gif | Bin 0 -> 43 bytes css/msd/pics/body_bg.gif | Bin 0 -> 53 bytes css/msd/pics/h1_logo.gif | Bin 0 -> 3476 bytes css/msd/pics/logo.jpg | Bin 0 -> 2204 bytes css/msd/pics/loveyourdata.gif | Bin 0 -> 6340 bytes css/msd/pics/mainnavi.gif | Bin 0 -> 1748 bytes css/msd/pics/navi_bg.jpg | Bin 0 -> 4132 bytes css/msd/pics/overall_bg.gif | Bin 0 -> 51 bytes css/msd/pics/pagetitle.gif | Bin 0 -> 200 bytes css/msd/style.css | 587 +++++++ css/msd_green/icons/arrow_down.gif | Bin 0 -> 859 bytes css/msd_green/icons/arrow_up.gif | Bin 0 -> 857 bytes css/msd_green/icons/arrowdown.gif | Bin 0 -> 65 bytes css/msd_green/icons/arrowleft.gif | Bin 0 -> 878 bytes css/msd_green/icons/arrowup.gif | Bin 0 -> 64 bytes css/msd_green/icons/blank.gif | Bin 0 -> 43 bytes css/msd_green/icons/browse.gif | Bin 0 -> 995 bytes css/msd_green/icons/close.gif | Bin 0 -> 880 bytes css/msd_green/icons/delete.gif | Bin 0 -> 944 bytes css/msd_green/icons/edit.gif | Bin 0 -> 985 bytes css/msd_green/icons/gz.gif | Bin 0 -> 1468 bytes css/msd_green/icons/index.gif | Bin 0 -> 1003 bytes css/msd_green/icons/key_fulltext.gif | Bin 0 -> 998 bytes css/msd_green/icons/key_nokey.gif | Bin 0 -> 547 bytes css/msd_green/icons/key_primary.gif | Bin 0 -> 994 bytes css/msd_green/icons/key_unique.gif | Bin 0 -> 1001 bytes css/msd_green/icons/mysql_help.gif | Bin 0 -> 359 bytes css/msd_green/icons/nokey.gif | Bin 0 -> 1299 bytes css/msd_green/icons/notok.gif | Bin 0 -> 74 bytes css/msd_green/icons/ok.gif | Bin 0 -> 138 bytes css/msd_green/icons/openfile.gif | Bin 0 -> 941 bytes css/msd_green/icons/progressbar_dump.gif | Bin 0 -> 502 bytes css/msd_green/icons/progressbar_restore.gif | Bin 0 -> 471 bytes css/msd_green/icons/progressbar_speed.gif | Bin 0 -> 484 bytes css/msd_green/icons/rename.gif | Bin 0 -> 296 bytes css/msd_green/icons/search.gif | Bin 0 -> 540 bytes css/msd_green/icons/table_truncate.gif | Bin 0 -> 979 bytes css/msd_green/icons/table_truncate_reset.gif | Bin 0 -> 923 bytes css/msd_green/pics/body_bg.gif | Bin 0 -> 53 bytes css/msd_green/pics/h1_logo.gif | Bin 0 -> 4780 bytes css/msd_green/pics/loveyourdata.gif | Bin 0 -> 43 bytes css/msd_green/pics/mainnavi.gif | Bin 0 -> 1748 bytes css/msd_green/pics/navi_bg.jpg | Bin 0 -> 21264 bytes css/msd_green/pics/overall_bg.gif | Bin 0 -> 51 bytes css/msd_green/pics/pagetitle.gif | Bin 0 -> 200 bytes css/msd_green/style.css | 674 ++++++++ dump.php | 466 ++++++ filemanagement.php | 559 +++++++ help.php | 57 + images/blank.gif | Bin 0 -> 43 bytes images/logo.gif | Bin 0 -> 5219 bytes images/paypal-de.gif | Bin 0 -> 1356 bytes inc/define_icons.php | 27 + inc/footer.php | 6 + inc/functions.php | 692 ++++++++ inc/functions_dump.php | 545 +++++++ inc/functions_files.php | 484 ++++++ inc/functions_global.php | 1084 ++++++++++++ inc/functions_restore.php | 356 ++++ inc/functions_sql.php | 1543 ++++++++++++++++++ inc/header.php | 27 + inc/mysql.php | 470 ++++++ inc/runtime.php | 123 ++ inc/sql_importexport.php | 293 ++++ inc/sql_sqlstrings.php | 85 + inc/sql_tools.php | 176 ++ inc/sqllib.php | 53 + inc/tabellenabfrage.php | 169 ++ inc/template.php | 477 ++++++ index.php | 27 + install.php | 679 ++++++++ js/script.js | 264 +++ language/ar/help.php | 129 ++ language/ar/lang.php | 107 ++ language/ar/lang_config_overview.php | 115 ++ language/ar/lang_dump.php | 64 + language/ar/lang_filemanagement.php | 80 + language/ar/lang_help.php | 33 + language/ar/lang_install.php | 95 ++ language/ar/lang_log.php | 11 + language/ar/lang_main.php | 75 + language/ar/lang_restore.php | 23 + language/ar/lang_sql.php | 186 +++ language/ch/help.php | 124 ++ language/ch/lang.php | 104 ++ language/ch/lang_config_overview.php | 110 ++ language/ch/lang_dump.php | 49 + language/ch/lang_filemanagement.php | 75 + language/ch/lang_help.php | 30 + language/ch/lang_install.php | 84 + language/ch/lang_log.php | 9 + language/ch/lang_main.php | 68 + language/ch/lang_restore.php | 21 + language/ch/lang_sql.php | 180 ++ language/da/help.php | 128 ++ language/da/lang.php | 104 ++ language/da/lang_config_overview.php | 111 ++ language/da/lang_dump.php | 61 + language/da/lang_filemanagement.php | 84 + language/da/lang_help.php | 36 + language/da/lang_install.php | 85 + language/da/lang_log.php | 12 + language/da/lang_main.php | 71 + language/da/lang_restore.php | 21 + language/da/lang_sql.php | 180 ++ language/de/help.php | 125 ++ language/de/lang.php | 104 ++ language/de/lang_config_overview.php | 115 ++ language/de/lang_dump.php | 60 + language/de/lang_filemanagement.php | 85 + language/de/lang_help.php | 40 + language/de/lang_install.php | 93 ++ language/de/lang_log.php | 12 + language/de/lang_main.php | 75 + language/de/lang_restore.php | 24 + language/de/lang_sql.php | 180 ++ language/de_du/help.php | 124 ++ language/de_du/lang.php | 104 ++ language/de_du/lang_config_overview.php | 112 ++ language/de_du/lang_dump.php | 57 + language/de_du/lang_filemanagement.php | 82 + language/de_du/lang_help.php | 37 + language/de_du/lang_install.php | 90 + language/de_du/lang_log.php | 9 + language/de_du/lang_main.php | 72 + language/de_du/lang_restore.php | 21 + language/de_du/lang_sql.php | 180 ++ language/el/help.php | 129 ++ language/el/lang.php | 107 ++ language/el/lang_config_overview.php | 114 ++ language/el/lang_dump.php | 61 + language/el/lang_filemanagement.php | 80 + language/el/lang_help.php | 39 + language/el/lang_install.php | 93 ++ language/el/lang_log.php | 11 + language/el/lang_main.php | 74 + language/el/lang_restore.php | 24 + language/el/lang_sql.php | 183 +++ language/en/help.php | 129 ++ language/en/lang.php | 104 ++ language/en/lang_config_overview.php | 111 ++ language/en/lang_dump.php | 58 + language/en/lang_filemanagement.php | 81 + language/en/lang_help.php | 33 + language/en/lang_install.php | 90 + language/en/lang_log.php | 9 + language/en/lang_main.php | 72 + language/en/lang_restore.php | 21 + language/en/lang_sql.php | 180 ++ language/es/help.php | 160 ++ language/es/lang.php | 104 ++ language/es/lang_config_overview.php | 112 ++ language/es/lang_dump.php | 57 + language/es/lang_filemanagement.php | 81 + language/es/lang_help.php | 32 + language/es/lang_install.php | 90 + language/es/lang_log.php | 9 + language/es/lang_main.php | 72 + language/es/lang_restore.php | 21 + language/es/lang_sql.php | 180 ++ language/flags/ar.gif | Bin 0 -> 226 bytes language/flags/ch.gif | Bin 0 -> 1765 bytes language/flags/da.gif | Bin 0 -> 117 bytes language/flags/de.gif | Bin 0 -> 158 bytes language/flags/de_du.gif | Bin 0 -> 158 bytes language/flags/el.gif | Bin 0 -> 696 bytes language/flags/en.gif | Bin 0 -> 206 bytes language/flags/es.gif | Bin 0 -> 141 bytes language/flags/fr.gif | Bin 0 -> 140 bytes language/flags/index.htm | 10 + language/flags/it.gif | Bin 0 -> 140 bytes language/flags/lu.gif | Bin 0 -> 232 bytes language/flags/nl.gif | Bin 0 -> 141 bytes language/flags/pl.gif | Bin 0 -> 1121 bytes language/flags/pt.gif | Bin 0 -> 3316 bytes language/flags/pt_br.gif | Bin 0 -> 222 bytes language/flags/sw.gif | Bin 0 -> 117 bytes language/flags/tr.gif | Bin 0 -> 612 bytes language/flags/vn.gif | Bin 0 -> 207 bytes language/fr/help.php | 119 ++ language/fr/lang.php | 104 ++ language/fr/lang_config_overview.php | 114 ++ language/fr/lang_dump.php | 57 + language/fr/lang_filemanagement.php | 77 + language/fr/lang_help.php | 37 + language/fr/lang_install.php | 90 + language/fr/lang_log.php | 9 + language/fr/lang_main.php | 68 + language/fr/lang_restore.php | 21 + language/fr/lang_sql.php | 183 +++ language/it/help.php | 126 ++ language/it/lang.php | 104 ++ language/it/lang_config_overview.php | 110 ++ language/it/lang_dump.php | 56 + language/it/lang_filemanagement.php | 75 + language/it/lang_help.php | 32 + language/it/lang_install.php | 84 + language/it/lang_log.php | 9 + language/it/lang_main.php | 68 + language/it/lang_restore.php | 21 + language/it/lang_sql.php | 180 ++ language/lang_list.php | 128 ++ language/lu/help.php | 125 ++ language/lu/lang.php | 104 ++ language/lu/lang_config_overview.php | 111 ++ language/lu/lang_dump.php | 58 + language/lu/lang_filemanagement.php | 81 + language/lu/lang_help.php | 33 + language/lu/lang_install.php | 90 + language/lu/lang_log.php | 9 + language/lu/lang_main.php | 72 + language/lu/lang_restore.php | 21 + language/lu/lang_sql.php | 180 ++ language/nl/help.php | 124 ++ language/nl/lang.php | 104 ++ language/nl/lang_config_overview.php | 113 ++ language/nl/lang_dump.php | 57 + language/nl/lang_filemanagement.php | 81 + language/nl/lang_help.php | 33 + language/nl/lang_install.php | 90 + language/nl/lang_log.php | 9 + language/nl/lang_main.php | 71 + language/nl/lang_restore.php | 21 + language/nl/lang_sql.php | 180 ++ language/pl/help.php | 127 ++ language/pl/lang.php | 104 ++ language/pl/lang_config_overview.php | 111 ++ language/pl/lang_dump.php | 58 + language/pl/lang_filemanagement.php | 81 + language/pl/lang_help.php | 33 + language/pl/lang_install.php | 90 + language/pl/lang_log.php | 9 + language/pl/lang_main.php | 72 + language/pl/lang_restore.php | 21 + language/pl/lang_sql.php | 180 ++ language/pt_br/help.php | 156 ++ language/pt_br/lang.php | 104 ++ language/pt_br/lang_config_overview.php | 112 ++ language/pt_br/lang_dump.php | 58 + language/pt_br/lang_filemanagement.php | 81 + language/pt_br/lang_help.php | 36 + language/pt_br/lang_install.php | 90 + language/pt_br/lang_log.php | 9 + language/pt_br/lang_main.php | 72 + language/pt_br/lang_restore.php | 21 + language/pt_br/lang_sql.php | 180 ++ language/sw/help.php | 117 ++ language/sw/lang.php | 104 ++ language/sw/lang_config_overview.php | 112 ++ language/sw/lang_dump.php | 57 + language/sw/lang_filemanagement.php | 83 + language/sw/lang_help.php | 37 + language/sw/lang_install.php | 90 + language/sw/lang_log.php | 9 + language/sw/lang_main.php | 72 + language/sw/lang_restore.php | 21 + language/sw/lang_sql.php | 180 ++ language/tr/help.php | 124 ++ language/tr/lang.php | 104 ++ language/tr/lang_config_overview.php | 112 ++ language/tr/lang_dump.php | 56 + language/tr/lang_filemanagement.php | 76 + language/tr/lang_help.php | 36 + language/tr/lang_install.php | 90 + language/tr/lang_log.php | 9 + language/tr/lang_main.php | 68 + language/tr/lang_restore.php | 21 + language/tr/lang_sql.php | 180 ++ language/vn/help.php | 129 ++ language/vn/lang.php | 107 ++ language/vn/lang_config_overview.php | 116 ++ language/vn/lang_dump.php | 61 + language/vn/lang_filemanagement.php | 81 + language/vn/lang_help.php | 39 + language/vn/lang_install.php | 93 ++ language/vn/lang_log.php | 12 + language/vn/lang_main.php | 75 + language/vn/lang_restore.php | 24 + language/vn/lang_sql.php | 183 +++ log.php | 145 ++ main.php | 659 ++++++++ menu.php | 206 +++ msd_cron/crondump.pl | 1185 ++++++++++++++ msd_cron/perltest.pl | 125 ++ msd_cron/simpletest.pl | 21 + refresh_dblist.php | 25 + restore.php | 307 ++++ sql.php | 346 ++++ sqlbrowser/mysql_search.php | 411 +++++ sqlbrowser/sql_commands.php | 84 + sqlbrowser/sql_dataview.php | 347 ++++ sqlbrowser/sql_tables.php | 533 ++++++ sqlbrowser/sqlbox.php | 63 + sqlbrowser/templates/mysql_search.tpl | 72 + sqlbrowser/templates/sqlbox.tpl | 45 + tpl/dump_select_tables.tpl | 58 + tpl/restore_select_tables.tpl | 65 + 337 files changed, 31341 insertions(+) create mode 100644 ReadMe/ReadMe.txt create mode 100644 ReadMe/install_deutsch.txt create mode 100644 ReadMe/install_english.txt create mode 100644 ReadMe/install_francais.txt create mode 100644 ReadMe/install_italiano.txt create mode 100644 ReadMe/license_deutsch.txt create mode 100644 ReadMe/license_english.txt create mode 100644 ReadMe/my_changelog.txt create mode 100644 config.php create mode 100644 config_overview.php create mode 100644 css/msd/icons/arrow_down.gif create mode 100644 css/msd/icons/arrow_up.gif create mode 100644 css/msd/icons/arrowdown.gif create mode 100644 css/msd/icons/arrowleft.gif create mode 100644 css/msd/icons/arrowup.gif create mode 100644 css/msd/icons/blank.gif create mode 100644 css/msd/icons/browse.gif create mode 100644 css/msd/icons/close.gif create mode 100644 css/msd/icons/delete.gif create mode 100644 css/msd/icons/edit.gif create mode 100644 css/msd/icons/gz.gif create mode 100644 css/msd/icons/index.gif create mode 100644 css/msd/icons/key_fulltext.gif create mode 100644 css/msd/icons/key_nokey.gif create mode 100644 css/msd/icons/key_primary.gif create mode 100644 css/msd/icons/key_unique.gif create mode 100644 css/msd/icons/mysql_help.gif create mode 100644 css/msd/icons/notok.gif create mode 100644 css/msd/icons/ok.gif create mode 100644 css/msd/icons/openfile.gif create mode 100644 css/msd/icons/progressbar_dump.gif create mode 100644 css/msd/icons/progressbar_restore.gif create mode 100644 css/msd/icons/progressbar_speed.gif create mode 100644 css/msd/icons/rename.gif create mode 100644 css/msd/icons/search.gif create mode 100644 css/msd/icons/table_truncate.gif create mode 100644 css/msd/icons/table_truncate_reset.gif create mode 100644 css/msd/pics/bg-body.gif create mode 100644 css/msd/pics/bg-buttons.gif create mode 100644 css/msd/pics/bg-headings.gif create mode 100644 css/msd/pics/blank.gif create mode 100644 css/msd/pics/body_bg.gif create mode 100644 css/msd/pics/h1_logo.gif create mode 100644 css/msd/pics/logo.jpg create mode 100644 css/msd/pics/loveyourdata.gif create mode 100644 css/msd/pics/mainnavi.gif create mode 100644 css/msd/pics/navi_bg.jpg create mode 100644 css/msd/pics/overall_bg.gif create mode 100644 css/msd/pics/pagetitle.gif create mode 100644 css/msd/style.css create mode 100644 css/msd_green/icons/arrow_down.gif create mode 100644 css/msd_green/icons/arrow_up.gif create mode 100644 css/msd_green/icons/arrowdown.gif create mode 100644 css/msd_green/icons/arrowleft.gif create mode 100644 css/msd_green/icons/arrowup.gif create mode 100644 css/msd_green/icons/blank.gif create mode 100644 css/msd_green/icons/browse.gif create mode 100644 css/msd_green/icons/close.gif create mode 100644 css/msd_green/icons/delete.gif create mode 100644 css/msd_green/icons/edit.gif create mode 100644 css/msd_green/icons/gz.gif create mode 100644 css/msd_green/icons/index.gif create mode 100644 css/msd_green/icons/key_fulltext.gif create mode 100644 css/msd_green/icons/key_nokey.gif create mode 100644 css/msd_green/icons/key_primary.gif create mode 100644 css/msd_green/icons/key_unique.gif create mode 100644 css/msd_green/icons/mysql_help.gif create mode 100644 css/msd_green/icons/nokey.gif create mode 100644 css/msd_green/icons/notok.gif create mode 100644 css/msd_green/icons/ok.gif create mode 100644 css/msd_green/icons/openfile.gif create mode 100644 css/msd_green/icons/progressbar_dump.gif create mode 100644 css/msd_green/icons/progressbar_restore.gif create mode 100644 css/msd_green/icons/progressbar_speed.gif create mode 100644 css/msd_green/icons/rename.gif create mode 100644 css/msd_green/icons/search.gif create mode 100644 css/msd_green/icons/table_truncate.gif create mode 100644 css/msd_green/icons/table_truncate_reset.gif create mode 100644 css/msd_green/pics/body_bg.gif create mode 100644 css/msd_green/pics/h1_logo.gif create mode 100644 css/msd_green/pics/loveyourdata.gif create mode 100644 css/msd_green/pics/mainnavi.gif create mode 100644 css/msd_green/pics/navi_bg.jpg create mode 100644 css/msd_green/pics/overall_bg.gif create mode 100644 css/msd_green/pics/pagetitle.gif create mode 100644 css/msd_green/style.css create mode 100644 dump.php create mode 100644 filemanagement.php create mode 100644 help.php create mode 100644 images/blank.gif create mode 100644 images/logo.gif create mode 100644 images/paypal-de.gif create mode 100644 inc/define_icons.php create mode 100644 inc/footer.php create mode 100644 inc/functions.php create mode 100644 inc/functions_dump.php create mode 100644 inc/functions_files.php create mode 100644 inc/functions_global.php create mode 100644 inc/functions_restore.php create mode 100644 inc/functions_sql.php create mode 100644 inc/header.php create mode 100644 inc/mysql.php create mode 100644 inc/runtime.php create mode 100644 inc/sql_importexport.php create mode 100644 inc/sql_sqlstrings.php create mode 100644 inc/sql_tools.php create mode 100644 inc/sqllib.php create mode 100644 inc/tabellenabfrage.php create mode 100644 inc/template.php create mode 100644 index.php create mode 100644 install.php create mode 100644 js/script.js create mode 100644 language/ar/help.php create mode 100644 language/ar/lang.php create mode 100644 language/ar/lang_config_overview.php create mode 100644 language/ar/lang_dump.php create mode 100644 language/ar/lang_filemanagement.php create mode 100644 language/ar/lang_help.php create mode 100644 language/ar/lang_install.php create mode 100644 language/ar/lang_log.php create mode 100644 language/ar/lang_main.php create mode 100644 language/ar/lang_restore.php create mode 100644 language/ar/lang_sql.php create mode 100644 language/ch/help.php create mode 100644 language/ch/lang.php create mode 100644 language/ch/lang_config_overview.php create mode 100644 language/ch/lang_dump.php create mode 100644 language/ch/lang_filemanagement.php create mode 100644 language/ch/lang_help.php create mode 100644 language/ch/lang_install.php create mode 100644 language/ch/lang_log.php create mode 100644 language/ch/lang_main.php create mode 100644 language/ch/lang_restore.php create mode 100644 language/ch/lang_sql.php create mode 100644 language/da/help.php create mode 100644 language/da/lang.php create mode 100644 language/da/lang_config_overview.php create mode 100644 language/da/lang_dump.php create mode 100644 language/da/lang_filemanagement.php create mode 100644 language/da/lang_help.php create mode 100644 language/da/lang_install.php create mode 100644 language/da/lang_log.php create mode 100644 language/da/lang_main.php create mode 100644 language/da/lang_restore.php create mode 100644 language/da/lang_sql.php create mode 100644 language/de/help.php create mode 100644 language/de/lang.php create mode 100644 language/de/lang_config_overview.php create mode 100644 language/de/lang_dump.php create mode 100644 language/de/lang_filemanagement.php create mode 100644 language/de/lang_help.php create mode 100644 language/de/lang_install.php create mode 100644 language/de/lang_log.php create mode 100644 language/de/lang_main.php create mode 100644 language/de/lang_restore.php create mode 100644 language/de/lang_sql.php create mode 100644 language/de_du/help.php create mode 100644 language/de_du/lang.php create mode 100644 language/de_du/lang_config_overview.php create mode 100644 language/de_du/lang_dump.php create mode 100644 language/de_du/lang_filemanagement.php create mode 100644 language/de_du/lang_help.php create mode 100644 language/de_du/lang_install.php create mode 100644 language/de_du/lang_log.php create mode 100644 language/de_du/lang_main.php create mode 100644 language/de_du/lang_restore.php create mode 100644 language/de_du/lang_sql.php create mode 100644 language/el/help.php create mode 100644 language/el/lang.php create mode 100644 language/el/lang_config_overview.php create mode 100644 language/el/lang_dump.php create mode 100644 language/el/lang_filemanagement.php create mode 100644 language/el/lang_help.php create mode 100644 language/el/lang_install.php create mode 100644 language/el/lang_log.php create mode 100644 language/el/lang_main.php create mode 100644 language/el/lang_restore.php create mode 100644 language/el/lang_sql.php create mode 100644 language/en/help.php create mode 100644 language/en/lang.php create mode 100644 language/en/lang_config_overview.php create mode 100644 language/en/lang_dump.php create mode 100644 language/en/lang_filemanagement.php create mode 100644 language/en/lang_help.php create mode 100644 language/en/lang_install.php create mode 100644 language/en/lang_log.php create mode 100644 language/en/lang_main.php create mode 100644 language/en/lang_restore.php create mode 100644 language/en/lang_sql.php create mode 100644 language/es/help.php create mode 100644 language/es/lang.php create mode 100644 language/es/lang_config_overview.php create mode 100644 language/es/lang_dump.php create mode 100644 language/es/lang_filemanagement.php create mode 100644 language/es/lang_help.php create mode 100644 language/es/lang_install.php create mode 100644 language/es/lang_log.php create mode 100644 language/es/lang_main.php create mode 100644 language/es/lang_restore.php create mode 100644 language/es/lang_sql.php create mode 100644 language/flags/ar.gif create mode 100644 language/flags/ch.gif create mode 100644 language/flags/da.gif create mode 100644 language/flags/de.gif create mode 100644 language/flags/de_du.gif create mode 100644 language/flags/el.gif create mode 100644 language/flags/en.gif create mode 100644 language/flags/es.gif create mode 100644 language/flags/fr.gif create mode 100644 language/flags/index.htm create mode 100644 language/flags/it.gif create mode 100644 language/flags/lu.gif create mode 100644 language/flags/nl.gif create mode 100644 language/flags/pl.gif create mode 100644 language/flags/pt.gif create mode 100644 language/flags/pt_br.gif create mode 100644 language/flags/sw.gif create mode 100644 language/flags/tr.gif create mode 100644 language/flags/vn.gif create mode 100644 language/fr/help.php create mode 100644 language/fr/lang.php create mode 100644 language/fr/lang_config_overview.php create mode 100644 language/fr/lang_dump.php create mode 100644 language/fr/lang_filemanagement.php create mode 100644 language/fr/lang_help.php create mode 100644 language/fr/lang_install.php create mode 100644 language/fr/lang_log.php create mode 100644 language/fr/lang_main.php create mode 100644 language/fr/lang_restore.php create mode 100644 language/fr/lang_sql.php create mode 100644 language/it/help.php create mode 100644 language/it/lang.php create mode 100644 language/it/lang_config_overview.php create mode 100644 language/it/lang_dump.php create mode 100644 language/it/lang_filemanagement.php create mode 100644 language/it/lang_help.php create mode 100644 language/it/lang_install.php create mode 100644 language/it/lang_log.php create mode 100644 language/it/lang_main.php create mode 100644 language/it/lang_restore.php create mode 100644 language/it/lang_sql.php create mode 100644 language/lang_list.php create mode 100644 language/lu/help.php create mode 100644 language/lu/lang.php create mode 100644 language/lu/lang_config_overview.php create mode 100644 language/lu/lang_dump.php create mode 100644 language/lu/lang_filemanagement.php create mode 100644 language/lu/lang_help.php create mode 100644 language/lu/lang_install.php create mode 100644 language/lu/lang_log.php create mode 100644 language/lu/lang_main.php create mode 100644 language/lu/lang_restore.php create mode 100644 language/lu/lang_sql.php create mode 100644 language/nl/help.php create mode 100644 language/nl/lang.php create mode 100644 language/nl/lang_config_overview.php create mode 100644 language/nl/lang_dump.php create mode 100644 language/nl/lang_filemanagement.php create mode 100644 language/nl/lang_help.php create mode 100644 language/nl/lang_install.php create mode 100644 language/nl/lang_log.php create mode 100644 language/nl/lang_main.php create mode 100644 language/nl/lang_restore.php create mode 100644 language/nl/lang_sql.php create mode 100644 language/pl/help.php create mode 100644 language/pl/lang.php create mode 100644 language/pl/lang_config_overview.php create mode 100644 language/pl/lang_dump.php create mode 100644 language/pl/lang_filemanagement.php create mode 100644 language/pl/lang_help.php create mode 100644 language/pl/lang_install.php create mode 100644 language/pl/lang_log.php create mode 100644 language/pl/lang_main.php create mode 100644 language/pl/lang_restore.php create mode 100644 language/pl/lang_sql.php create mode 100644 language/pt_br/help.php create mode 100644 language/pt_br/lang.php create mode 100644 language/pt_br/lang_config_overview.php create mode 100644 language/pt_br/lang_dump.php create mode 100644 language/pt_br/lang_filemanagement.php create mode 100644 language/pt_br/lang_help.php create mode 100644 language/pt_br/lang_install.php create mode 100644 language/pt_br/lang_log.php create mode 100644 language/pt_br/lang_main.php create mode 100644 language/pt_br/lang_restore.php create mode 100644 language/pt_br/lang_sql.php create mode 100644 language/sw/help.php create mode 100644 language/sw/lang.php create mode 100644 language/sw/lang_config_overview.php create mode 100644 language/sw/lang_dump.php create mode 100644 language/sw/lang_filemanagement.php create mode 100644 language/sw/lang_help.php create mode 100644 language/sw/lang_install.php create mode 100644 language/sw/lang_log.php create mode 100644 language/sw/lang_main.php create mode 100644 language/sw/lang_restore.php create mode 100644 language/sw/lang_sql.php create mode 100644 language/tr/help.php create mode 100644 language/tr/lang.php create mode 100644 language/tr/lang_config_overview.php create mode 100644 language/tr/lang_dump.php create mode 100644 language/tr/lang_filemanagement.php create mode 100644 language/tr/lang_help.php create mode 100644 language/tr/lang_install.php create mode 100644 language/tr/lang_log.php create mode 100644 language/tr/lang_main.php create mode 100644 language/tr/lang_restore.php create mode 100644 language/tr/lang_sql.php create mode 100644 language/vn/help.php create mode 100644 language/vn/lang.php create mode 100644 language/vn/lang_config_overview.php create mode 100644 language/vn/lang_dump.php create mode 100644 language/vn/lang_filemanagement.php create mode 100644 language/vn/lang_help.php create mode 100644 language/vn/lang_install.php create mode 100644 language/vn/lang_log.php create mode 100644 language/vn/lang_main.php create mode 100644 language/vn/lang_restore.php create mode 100644 language/vn/lang_sql.php create mode 100644 log.php create mode 100644 main.php create mode 100644 menu.php create mode 100644 msd_cron/crondump.pl create mode 100644 msd_cron/perltest.pl create mode 100644 msd_cron/simpletest.pl create mode 100644 refresh_dblist.php create mode 100644 restore.php create mode 100644 sql.php create mode 100644 sqlbrowser/mysql_search.php create mode 100644 sqlbrowser/sql_commands.php create mode 100644 sqlbrowser/sql_dataview.php create mode 100644 sqlbrowser/sql_tables.php create mode 100644 sqlbrowser/sqlbox.php create mode 100644 sqlbrowser/templates/mysql_search.tpl create mode 100644 sqlbrowser/templates/sqlbox.tpl create mode 100644 tpl/dump_select_tables.tpl create mode 100644 tpl/restore_select_tables.tpl diff --git a/ReadMe/ReadMe.txt b/ReadMe/ReadMe.txt new file mode 100644 index 0000000..f6d9999 --- /dev/null +++ b/ReadMe/ReadMe.txt @@ -0,0 +1,15 @@ +MySqlDumper Copyright (C)2004-2007 Daniel Schlichtholz (admin@daniel-schlichtholz.de) + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 675 Mass +Ave, Cambridge, MA 02139, USA. diff --git a/ReadMe/install_deutsch.txt b/ReadMe/install_deutsch.txt new file mode 100644 index 0000000..e47e2bd --- /dev/null +++ b/ReadMe/install_deutsch.txt @@ -0,0 +1,5 @@ +Installation: + +- lade den Ordner mysqldumper in einen beliebeigen Ordner auf Deinen Webspace hoch +- Starte das Script im Browser (http://www.deineDomain.de/DeinOrdner/mysqldumper/) +- Folge den Installationsanweisungen diff --git a/ReadMe/install_english.txt b/ReadMe/install_english.txt new file mode 100644 index 0000000..fbdbaf7 --- /dev/null +++ b/ReadMe/install_english.txt @@ -0,0 +1,5 @@ +Installation: + +- upload the folder mysqldumper to any folder on your webspace +- start the script in your browser (http://www.yourDomain.de/yourFolder/mysqldumper/) +- Follow the Installatio assistent \ No newline at end of file diff --git a/ReadMe/install_francais.txt b/ReadMe/install_francais.txt new file mode 100644 index 0000000..717754b --- /dev/null +++ b/ReadMe/install_francais.txt @@ -0,0 +1,6 @@ +Installation: + +- Envoyer le r�pertoire "mysqldumper" sur votre serveur +- Chmoder le fichier "config.php" en 777 +- D�buter le script en saisissant l'adresse suivante dans votre navigateur (http://www.votre_domaine.fr/mysqldumper/) +- Suivez les instructions d'installation du script diff --git a/ReadMe/install_italiano.txt b/ReadMe/install_italiano.txt new file mode 100644 index 0000000..bddcff2 --- /dev/null +++ b/ReadMe/install_italiano.txt @@ -0,0 +1,6 @@ +Installazione: + +- carica la cartella mysqldumper sul tuo spazio web +- metti i diritti del file config.php a 777 +- fai partire lo script nel tuo Browser (http://www.il tuo dominio.it/mysqldumper/) +- segui la installazione \ No newline at end of file diff --git a/ReadMe/license_deutsch.txt b/ReadMe/license_deutsch.txt new file mode 100644 index 0000000..64ff14f --- /dev/null +++ b/ReadMe/license_deutsch.txt @@ -0,0 +1,105 @@ +GNU General Public License +Deutsche Übersetzung der Version 2, Juni 1991 + +Copyright © 1989, 1991 Free Software Foundation, Inc. + +59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + + +Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion! + + +Vorwort +Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License , die Allgemeine Öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License , der Allgemeinen Öffentlichen GNU-Lizenz für Bibliotheken.) [Mittlerweile wurde die GNU Library Public License von der GNU Lesser Public License abgelöst - Anmerkung des Übersetzers.] + +Die Bezeichnung ,,freie`` Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen. + +Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern. + +Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch die Empfänger den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen. + +Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern. + +Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, daß die Empfänger wissen, daß sie nicht das Original erhalten haben, damit irgendwelche von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen. + +Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir möchten die Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden darf. + +Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung: + + +Allgemeine Öffentliche GNU-Lizenz +Bedingungen für die Vervielfältigung, +Verbreitung und Bearbeitung +§0. Diese Lizenz gilt für jedes Programm und jedes andere Datenwerk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, daß das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Datenwerk als ,,das Programm`` bezeichnet; die Formulierung ,,auf dem Programm basierendes Datenwerk`` bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Datenwerk, welches das Programm, auch auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (Im folgenden wird die Übersetzung ohne Einschränkung als ,,Bearbeitung`` eingestuft.) Jeder Lizenznehmer wird im folgenden als ,,Sie`` angesprochen. + +Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab. + +§1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. + +Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgeld eine Garantie für das Programm anbieten. + +§2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem Programm basierendes Datenwerk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle im folgenden genannten Bedingungen erfüllt werden: + + +1. +Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist. + +2. +Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird. + +3. +Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben). + +Diese Anforderungen gelten für das bearbeitete Datenwerk als Ganzes. Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vernünftigerweise als unabhängige und eigenständige Datenwerke für sich selbst zu betrachten sind, dann gelten diese Lizenz und ihre Bedingungen nicht für die betroffenen Teile, wenn Sie diese als eigenständige Datenwerke weitergeben. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weitergeben, das ein auf dem Programm basierendes Datenwerk darstellt, dann muß die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden - und somit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor. + +Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte für Datenwerke streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Datenwerken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuüben. + +Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder einem auf dem Programm basierenden Datenwerk auf ein- und demselben Speicher- oder Vertriebsmedium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz. + +§3. Sie dürfen das Programm (oder ein darauf basierendes Datenwerk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen der Paragraphen 1 und 2 kopieren und weitergeben - vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen: + + +1. +Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder: + +2. +Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder: + +3. +Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot gemäß Absatz b erhalten haben.) + +Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet ,,der komplette Quelltext``: Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm. + +Wenn die Verbreitung eines ausführbaren Programms oder von Objectcode dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. + +§4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen. + +§5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Datenwerk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Datenwerks. + +§6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Datenwerk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. + +§7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. + +Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten. + +Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Einfluß. + +Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. + +§8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben. + +§9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. + +Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, daß es dieser Lizenz in einer bestimmten Versionsnummer oder ,,jeder späteren Version`` (``any later version'') unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde. + +§10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation ; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Datenwerke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fördern. + + +Keine Gewährleistung + +§11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, ,,wie es ist``, ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen. + +§12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war. + + +Ende der Bedingungen diff --git a/ReadMe/license_english.txt b/ReadMe/license_english.txt new file mode 100644 index 0000000..13db015 --- /dev/null +++ b/ReadMe/license_english.txt @@ -0,0 +1,88 @@ +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + + +a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. + +c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + +END OF TERMS AND CONDITIONS diff --git a/ReadMe/my_changelog.txt b/ReadMe/my_changelog.txt new file mode 100644 index 0000000..fee2640 --- /dev/null +++ b/ReadMe/my_changelog.txt @@ -0,0 +1,46 @@ +Changelog von 1.22 auf 1.23 + +---------------------------------------- +crondump.pl: +- Aufruf jetzt mit Optionen über Getopt + +perl /pfad/zu/msd/msd_cron/crondump.pl -config=testconfig.conf.php -html_output=1 + +Anzeige, ob die Konfiguration aus dem Aufruf, der Shell oder der Standardvariablen +übernommen wurde (wenn ohne Parameter aufgerufen). + +Parameter html_output: +- es kann gewählt werden, ob die Ausgabe der Meldungen im HTML-Format erfolgen soll oder nicht. +Standardeinstellung: +- Aufruf von Shell -> HTML-Ausgabe ist ausgeschaltet +- Aufruf über HTTP -> HTML-Ausgabe ist eingeschaltet + +Durch Übergabe des Parameters im Aufruf kann die Standardeinstellung jederzeit überschrieben werden. + +Die Ausgabe der Dateigroesse erfolgt nun im lesbaren Format (1 MB anstatt 1048576 Bytes). + +Sendmail: +- ist in der Konfiguration sendmail aktiviert, so wird die Email via sendmail verschickt. +Der Aufruf inkluisve der Parameter wird aus der Konfiguration übernommen. +- ist in der Konfiguration SMTP gewählt, dann wird die Email via SMTP versandt. +Der SMTP-Server wird aus der Konfiguration übernommen. Der Port ist fix auf 25 gestellt. +---------------------------------------- +perltest.pl +- die Ausgabe ist komplett auf Englisch uebersetzt. +Zusätzlich wird klarer ausgegeben wofuer ein Modul benoetigt wird. +---------------------------------------- +Wiederherstellung: +- wird eine Backupdatei von MySQLDumper (ab Version 1.23) zur Wiederherstellung ausgewählt, so kann +man jetzt wahlweise auch nur bestimmte Tabellen aus dem Backup wiederherstellen. +---------------------------------------- +SQL-Browser: +- in der MySQL-Suche (Lupe) kann man die Treffer nun bequem editieren/löschen und kommt danach +sofort wieder zur Trefferliste zurück +---------------------------------------- +refresh_db_list und config_overview.php: +- beim Neu-Einlesen der Datenbanken geht die Einstellung der gewählten Datenbank für das Cronscript +nicht mehr verloren, sondern wird korrekt auf die alte Einstellung zurück gesetzt +- refresh_db_list.php kann man vor dem eigentlichen Start von crondump.pl aufrufen, wenn sich häufig +Datenbanken verändern/ gelöscht werden. Die Datenbankliste in der Konfigurationsdatei wird dann aktualisiert. +Existiert die Datenbank der alten Konfiguration nicht mehr, so wird die erste gefundene Datenbank ausgewählt. + diff --git a/config.php b/config.php new file mode 100644 index 0000000..abd5eb0 --- /dev/null +++ b/config.php @@ -0,0 +1,135 @@ +1000 +$config['processlist_refresh']=2000; + +$config['empty_db_before_restore']=0; +$config['optimize_tables_beforedump']=1; +$config['stop_with_error']=1; + +// For sending a mail after backup set send_mail to 1, otherless set to 0 +$config['send_mail']=0; +// Attach the backup 0=no 1=yes +$config['send_mail_dump']=0; +// set the recieve adress for the mail +$config['email_recipient']=""; +$config['email_recipient_cc']=""; +// set the sender adress (the script) +$config['email_sender']=""; + +//max. Size of Email-Attach, here 3 MB +$config['email_maxsize1']=3; +$config['email_maxsize2']=2; + +// FTP Server Configuration for Transfer +$config['ftp_transfer'][0]=0; +$config['ftp_timeout'][0]=30; +$config['ftp_useSSL'][0]=0; +$config['ftp_mode'][0]=0; +$config['ftp_server'][0]=""; // Adress of FTP-Server +$config['ftp_port'][0]="21"; // Port +$config['ftp_user'][0]=""; // Username +$config['ftp_pass'][0]=""; // Password +$config['ftp_dir'][0]=""; // Upload-Directory + + +$config['ftp_transfer'][1]=0; +$config['ftp_timeout'][1]=30; +$config['ftp_useSSL'][1]=0; +$config['ftp_mode'][1]=0; +$config['ftp_server'][1]=""; // Adress of FTP-Server +$config['ftp_port'][1]="21"; // Port +$config['ftp_user'][1]=""; // Username +$config['ftp_pass'][1]=""; // Password +$config['ftp_dir'][1]=""; // Upload-Directory + + +$config['ftp_transfer'][2]=0; +$config['ftp_timeout'][2]=30; +$config['ftp_useSSL'][2]=0; +$config['ftp_mode'][2]=0; +$config['ftp_server'][2]=""; // Adress of FTP-Server +$config['ftp_port'][2]="21"; // Port +$config['ftp_user'][2]=""; // Username +$config['ftp_pass'][2]=""; // Password +$config['ftp_dir'][2]=""; // Upload-Directory + + +//Multipart 0=off 1=on +$config['multi_part']=0; +$config['multipartgroesse1']=1; +$config['multipartgroesse2']=2; +$config['multipart_groesse']=0; + +//Auto-Delete 0=off 1=on +$config['auto_delete']=0; +$config['max_backup_files']=3; + +//configuration file +$config['cron_configurationfile']="mysqldumper.conf.php"; +//path to perl, for windows use e.g. C:perlbinperl.exe +$config['cron_perlpath']="/usr/bin/perl"; +//mailer use sendmail(1) or SMTP(0) +$config['cron_use_sendmail']=1; +//path to sendmail +$config['cron_sendmail']="/usr/lib/sendmail -t -oi -oem"; +//adress of smtp-server +$config['cron_smtp']="localhost"; +//smtp-port +$config['cron_smtp_port']=25; +$config['cron_samedb']=1; +$config['cron_extender']=0; +$config['cron_compression']=1; +$config['cron_printout']=1; +$config['cron_completelog']=1; +$config['cron_comment']=''; +$config['multi_dump']=0; + +$config['logcompression']="1"; +$config['log_maxsize1']="1"; +$config['log_maxsize2']="2"; +$config['log_maxsize']="1048576"; + +?> \ No newline at end of file diff --git a/config_overview.php b/config_overview.php new file mode 100644 index 0000000..4f5da4f --- /dev/null +++ b/config_overview.php @@ -0,0 +1,991 @@ +'; + return $t; +} + +// wenn neue Sprache angewählt wurde schon vor dem includen übernehmen +if (isset($_POST['save']) && $_POST['language'] != $_POST['lang_old']) +{ + $config['language']=$_POST['language']; + $temp_lang=$config['language']; + include_once ( './inc/header.php' ); // Normal prodecure (resets config[language]) + $config['language']=$temp_lang; // re-set language + include ( './language/lang_list.php' ); // This re-initializes $lang[] and loads appropiate language files +} +else + include_once ( './inc/header.php' ); // language not changed, go on as usual + +include_once ( './inc/runtime.php' ); +include_once ( './inc/functions_sql.php' ); +include_once ( './language/' . $config['language'] . '/lang_help.php' ); +include_once ( './language/' . $config['language'] . '/lang_config_overview.php' ); +include_once ( './language/' . $config['language'] . '/lang_sql.php' ); + +$msg=''; +$sel=( isset($_POST['sel']) ) ? $_POST['sel'] : 'db'; +if (isset($_GET['sel'])) $sel=$_GET['sel']; + +$old_config_file=$config['config_file']; +if (isset($_GET['config'])) +{ + unset($databases); + $databases=array(); + if (isset($_POST['save'])) unset($_POST['save']); + if (read_config($_GET['config'])) + { + $config['config_file']=$_GET['config']; + $_SESSION['config_file']=$config['config_file']; + $msg="" . sprintf($lang['config_loaded'],$config['config_file']) . ""; + $msg.=''; + } + else + { + read_config($old_config_file); + $msg='

' . sprintf($lang['error_loading_configfile'],$config['config_file']) . '

'; + } +} + +if (isset($_GET['config_delete'])) +{ + $del_config=urldecode($_GET['config_delete']); + if ($del_config == $config['config_file']) + { + //aktuell gewaehlte Konfiguration wurde geloescht + $config['config_file']='mysqldumper'; + $_SESSION['config_file']=$config['config_file']; + read_config($config['config_file']); // Standard laden + } + + $del=@unlink($config['paths']['config'] . $del_config . '.php'); + if ($del) $del=@unlink($config['paths']['config'] . $del_config . '.conf.php'); + if ($del === false) $msg='

' . sprintf($lang['error_deleting_configfile'],$del_config) . '

'; + else $msg='

' . sprintf($lang['success_deleting_configfile'],$del_config) . '

' . ''; //refresh menu-frame + $sel='configs'; +} + +include_once ( './inc/define_icons.php' ); + +$config['files']['parameter']=$config['paths']['config'] . $config['config_file'] . '.php'; +$config['theme']=( !isset($config['theme']) ) ? 'msd' : $config['theme']; +$config['cron_smtp_port']=( !isset($config['cron_smtp_port']) ) ? 25 : $config['cron_smtp_port']; + +if (!isset($command)) $command=0; + +$checkFTP=Array( + + " 

 
 ", + " 

 
 ", + " 

 
 " +); +$checkFTP[$i]=""; +$ftptested=-1; +if (( isset($_POST['testFTP0']) ) || ( isset($_POST['testFTP1']) ) || ( isset($_POST['testFTP2']) )) +{ + $config['ftp_transfer']=array(); + $config['ftp_timeout']=array(); + $config['ftp_mode']=array(); + $config['ftp_useSSL']=array(); + + for ($i=0; $i < 3; $i++) + { + $config['ftp_transfer'][$i]=( isset($_POST['ftp_transfer'][$i]) ) ? $_POST['ftp_transfer'][$i] : 0; + $config['ftp_timeout'][$i]=( isset($_POST['ftp_timeout'][$i]) ) ? $_POST['ftp_timeout'][$i] : 30; + $config['ftp_useSSL'][$i]=( isset($_POST['ftp_useSSL'][$i]) ) ? $_POST['ftp_useSSL'][$i] : 0; + $config['ftp_mode'][$i]=( isset($_POST['ftp_mode'][$i]) ) ? 1 : 0; + $config['ftp_server'][$i]=( isset($_POST['ftp_server'][$i]) ) ? $_POST['ftp_server'][$i] : ''; + $config['ftp_port'][$i]=( isset($_POST['ftp_port'][$i]) ) ? $_POST['ftp_port'][$i] : 21; + $config['ftp_user'][$i]=( isset($_POST['ftp_user'][$i]) ) ? $_POST['ftp_user'][$i] : ''; + $config['ftp_pass'][$i]=( isset($_POST['ftp_pass'][$i]) ) ? $_POST['ftp_pass'][$i] : ''; + $config['ftp_dir'][$i]=( isset($_POST['ftp_dir'][$i]) ) ? stripslashes($_POST['ftp_dir'][$i]) : '/'; + if ($config['ftp_dir'][$i] == "" || ( strlen($config['ftp_dir'][$i]) > 1 && substr($config['ftp_dir'][$i],-1) != "/" )) $config['ftp_dir'][$i].="/"; + if (isset($_POST['testFTP' . $i])) + { + $checkFTP[$i]='
' . $lang['testconnection'] . ' FTP-Connection ' . ( $i + 1 ) . '

' . TesteFTP($i) . '
'; + $ftptested=$i; + } + } +} + +$showVP=false; +$oldtheme=$config['theme']; +$oldscposition=$config['interface_server_caption_position']; + +if ($ftptested > -1) +{ + $ftp_server[$ftptested]=$_POST['ftp_server'][$ftptested]; + $ftp_port[$ftptested]=$_POST['ftp_port'][$ftptested]; + $ftp_user[$ftptested]=$_POST['ftp_user'][$ftptested]; + $ftp_pass[$ftptested]=$_POST['ftp_pass'][$ftptested]; + $ftp_dir_s='ftp_dir[' . $ftptested . ']'; + $f=$_POST['ftp_dir']; + $ftp_dir[$ftptested]=stripslashes($f[$ftptested]); + // Eingaben merken + $config['ftp_transfer'][$ftptested]=( isset($_POST['ftp_transfer'][$ftptested]) ) ? $_POST['ftp_transfer'][$ftptested] : 0; + $config['ftp_timeout'][$ftptested]=( isset($_POST['ftp_timeout'][$ftptested]) ) ? $_POST['ftp_timeout'][$ftptested] : 30; + $config['ftp_useSSL'][$ftptested]=( isset($_POST['ftp_useSSL'][$ftptested]) ) ? $_POST['ftp_useSSL'][$ftptested] : 0; + $config['ftp_mode'][$ftptested]=( isset($_POST['ftp_mode'][$ftptested]) ) ? 1 : 0; + $config['ftp_server'][$ftptested]=$ftp_server[$ftptested]; + $config['ftp_port'][$ftptested]=$ftp_port[$ftptested]; + $config['ftp_user'][$ftptested]=$ftp_user[$ftptested]; + $config['ftp_pass'][$ftptested]=$ftp_pass[$ftptested]; + $config['ftp_dir'][$ftptested]=$ftp_dir[$ftptested]; + + if ($ftp_dir[$ftptested] == "" || ( strlen($ftp_dir[$ftptested]) > 1 && substr($ftp_dir[$ftptested],-1) != "/" )) $ftp_dir[$ftptested].="/"; + WriteParams(); +} + +echo MSDHeader(); + +if (isset($_POST['load'])) +{ + $msg=SetDefault(true); + $msg=nl2br($msg) . "
" . $lang['load_success'] . "
"; + echo ''; +} + +if (isset($_POST['save'])) +{ + $save_config=true; + //Parameter auslesen + $config['multi_dump']=( isset($_POST['MultiDBDump']) ) ? $_POST['MultiDBDump'] : 0; + $config['compression']=$_POST['compression']; + $config['language']=$_POST['language']; + if (!isset($_POST['server_caption'])) $config['interface_server_caption']=0; + else $config['interface_server_caption']=$_POST['server_caption']; + $config['interface_server_caption_position']=isset($_POST['server_caption_position']) ? $_POST['server_caption_position'] : 0; + $config['interface_sqlboxsize']=$_POST['sqlboxsize']; + $config['theme']=$_POST['theme']; + $config['interface_table_compact']=( isset($_POST['interface_table_compact']) ) ? $_POST['interface_table_compact'] : 1; + + $config['email_recipient']=$_POST['email0']; + $config['email_recipient_cc']=$_POST['email_recipient_cc']; + $config['email_sender']=$_POST['email1']; + $config['send_mail']=$_POST['send_mail']; + $config['send_mail_dump']=$_POST['send_mail_dump']; + + $config['email_maxsize1']=$_POST['email_maxsize1']; + if ($config['email_maxsize1'] == "") $config['email_maxsize1']=0; + $config['email_maxsize2']=$_POST['email_maxsize2']; + $config['email_maxsize']=$config['email_maxsize1'] * ( ( $config['email_maxsize2'] == 1 ) ? 1024 : 1024 * 1024 ); + + $config['memory_limit']=$_POST['memory_limit']; + if ($config['memory_limit'] == "") $config['memory_limit']=0; + $config['minspeed']=$_POST['minspeed']; + if ($config['minspeed'] < 50) $config['minspeed']=50; + $config['maxspeed']=$_POST['maxspeed']; + if ($config['maxspeed'] < $config['minspeed']) $config['maxspeed']=$config['minspeed'] * 2; + $config['stop_with_error']=$_POST['stop_with_error']; + + $config['multi_part']=$_POST['multi_part']; + $config['multipartgroesse1']=isset($_POST['multipartgroesse1']) ? floatval(str_replace(',','.',$_POST['multipartgroesse1'])) : 0; + $config['multipartgroesse2']=isset($_POST['multipartgroesse2']) ? intval($_POST['multipartgroesse2']) : 0; + if ($config['multipartgroesse1'] < 100 && $config['multipartgroesse2'] == 1) $config['multipartgroesse1']=100; + if ($config['multipartgroesse1'] < 1 && $config['multipartgroesse2'] == 2) $config['multipartgroesse1']=1; + + $oldlogcompression=$config['logcompression']; + $config['logcompression']=( isset($_POST['logcompression']) && $_POST['logcompression'] == 1 ) ? 1 : 0; + $config['log_maxsize1']=$_POST['log_maxsize1']; + if ($config['log_maxsize1'] == "") $config['log_maxsize1']=0; + $config['log_maxsize2']=$_POST['log_maxsize2']; + $config['log_maxsize']=$config['log_maxsize1'] * ( ( $config['log_maxsize2'] == 1 ) ? 1024 : 1024 * 1024 ); + + $config['auto_delete']=$_POST['auto_delete']; + $config['max_backup_files']=$_POST['max_backup_files']; + + $config['empty_db_before_restore']=$_POST['empty_db_before_restore']; + $config['optimize_tables_beforedump']=$_POST['optimize_tables']; + $config['cron_dbindex']=$_POST['cron_dbindex']; + $config['cron_comment']=$_POST['cron_comment']; + + $config['cron_extender']=$_POST['cron_extender']; + // cron_select_savepath/ + if (!isset($_POST['cron_select_savepath'])) $_POST['cron_select_savepath']=$config['config_file']; + if (isset($_POST['cron_savepath_new']) && !empty($_POST['cron_savepath_new'])) + { + $tmp_configfilename=utf8_decode(trim($_POST['cron_savepath_new'])); + if (!preg_match("/^[a-z.-_]+$/i",$tmp_configfilename,$matches)) + { + $save_config=false; + $msg.='

' . sprintf($lang['error_configfile_name'],$_POST['cron_savepath_new']) . '

'; + } + else + { + $config['config_file']=$_POST['cron_savepath_new']; + $config['cron_configurationfile']=$_POST['cron_savepath_new'] . ".conf.php"; + } + } + + $config['cron_execution_path']=$_POST['cron_execution_path']; + if ($config['cron_execution_path'] == "") $config['cron_execution_path']="msd_cron/"; + if (strlen($config['cron_execution_path']) > 1 && substr($config['cron_execution_path'],-1) != "/") $config['cron_execution_path'].="/"; + + $config['cron_use_sendmail']=$_POST['cron_use_sendmail']; + $config['cron_sendmail']=$_POST['cron_sendmail']; + $config['cron_smtp']=isset($_POST['cron_smtp']) ? $_POST['cron_smtp'] : 'localhost'; + + $config['cron_printout']=$_POST['cron_printout']; + $config['cron_completelog']=$_POST['cron_completelog']; + $config['cron_compression']=$_POST['compression']; + $config['cron_completelog']=$_POST['cron_completelog']; + + $databases['multi']=Array(); + $databases['multi_praefix']=Array(); + $databases['multi_commandbeforedump']=Array(); + $databases['multi_commandafterdump']=Array(); + + if (isset($databases['Name'][0]) && $databases['Name'][0] > '') + { + for ($i=0; $i < count($databases['Name']); $i++) + { + $databases['praefix'][$i]=isset($_POST['dbpraefix_' . $i]) ? $_POST['dbpraefix_' . $i] : ''; + $databases['command_before_dump'][$i]=( !isset($_POST['command_before_' . $i]) ) ? "" : $_POST['command_before_' . $i]; + $databases['command_after_dump'][$i]=( !isset($_POST['command_after_' . $i]) ) ? "" : $_POST['command_after_' . $i]; + if (isset($_POST['db_multidump_' . $i]) && $_POST['db_multidump_' . $i] == "db_multidump_$i") + { + $databases['multi'][]=$databases['Name'][$i]; + $databases['multi_praefix'][]=$databases['praefix'][$i]; + $databases['multi_commandbeforedump'][]=$databases['command_before_dump'][$i]; + $databases['multi_commandafterdump'][]=$databases['command_after_dump'][$i]; + } + } + } + $databases['multisetting']=( count($databases['multi']) > 0 ) ? implode(";",$databases['multi']) : ""; + $databases['multisetting_praefix']=( count($databases['multi']) > 0 ) ? implode(";",$databases['multi_praefix']) : ""; + $databases['multisetting_commandbeforedump']=( count($databases['multi']) > 0 ) ? implode(";",$databases['multi_commandbeforedump']) : ""; + $databases['multisetting_commandafterdump']=( count($databases['multi']) > 0 ) ? implode(";",$databases['multi_commandafterdump']) : ""; + + if ($config['cron_dbindex'] == -2) + { + $datenbanken=count($databases['Name']); + $cron_db_array=str_replace(";","|",$databases['multisetting']); + $cron_dbpraefix_array=str_replace(";","|",$databases['multisetting_praefix']); + $cron_db_cbd_array=str_replace(";","|",$databases['multisetting_commandbeforedump']); + $cron_db_cad_array=str_replace(";","|",$databases['multisetting_commandafterdump']); + + } + elseif ($config['cron_dbindex'] == -3) + { + $cron_db_array=implode("|",$databases['Name']); + $cron_dbpraefix_array=implode("|",$databases['praefix']); + $cron_db_cbd_array=implode("|",$databases['command_before_dump']); + $cron_db_cad_array=implode("|",$databases['command_after_dump']); + } + + $config['ftp_transfer']=array(); + $config['ftp_timeout']=array(); + $config['ftp_mode']=array(); + $config['ftp_useSSL']=array(); + + for ($i=0; $i < 3; $i++) + { + $checkFTP[$i]=""; + $config['ftp_transfer'][$i]=isset($_POST['ftp_transfer'][$i]) ? $_POST['ftp_transfer'][$i] : $config['ftp_transfer'][$i]; + $config['ftp_timeout'][$i]=isset($_POST['ftp_timeout'][$i]) ? $_POST['ftp_timeout'][$i] : 30; + $config['ftp_useSSL'][$i]=isset($_POST['ftp_useSSL'][$i]) ? 1 : 0; + + $config['ftp_mode'][$i]=isset($_POST['ftp_mode'][$i]) ? 1 : 0; + $config['ftp_server'][$i]=$_POST['ftp_server'][$i]; + $config['ftp_port'][$i]=$_POST['ftp_port'][$i]; + $config['ftp_user'][$i]=$_POST['ftp_user'][$i]; + $config['ftp_pass'][$i]=$_POST['ftp_pass'][$i]; + $config['ftp_dir'][$i]=stripslashes($_POST['ftp_dir'][$i]); + if ($config['ftp_port'][$i] == 0) $config['ftp_port'][$i]=21; + if ($config['ftp_dir'][$i] == "" || ( strlen($config['ftp_dir'][$i]) > 1 && substr($config['ftp_dir'][$i],-1) != "/" )) $config['ftp_dir'][$i].="/"; + } + + $config['bb_width']=$_POST['bb_width']; + $config['bb_textcolor']=$_POST['bb_textcolor']; + $config['sql_limit']=$_POST['sql_limit']; + + if ($config['dbhost'] != $_POST['dbhost'] || $config['dbuser'] != $_POST['dbuser'] || $config['dbpass'] != $_POST['dbpass'] || $config['dbport'] != $_POST['dbport'] || $config['dbsocket'] != $_POST['dbsocket']) + { + //neue Verbindungsparameter + $show_VP=true; + + //alte Parameter sichern + $old['dbhost']=$config['dbhost']; + $old['dbuser']=$config['dbuser']; + $old['dbpass']=$config['dbpass']; + $old['dbport']=$config['dbport']; + $old['dbsocket']=$config['dbsocket']; + + //neu setzen + $config['dbhost']=$_POST['dbhost']; + $config['dbuser']=$_POST['dbuser']; + $config['dbpass']=$_POST['dbpass']; + $config['dbport']=$_POST['dbport']; + $config['dbsocket']=$_POST['dbsocket']; + if (MSD_mysql_connect()) + { + // neue Verbindungsdaten wurden akzeptiert -> manuelle DB-Liste von anderem User löschen + if (file_exists('./' . $config['files']['dbs_manual'])) @unlink('./' . $config['files']['dbs_manual']); + SetDefault(); + $msg.=''; + } + else + { + //alte Werte holen + $config['dbhost']=$old['dbhost']; + $config['dbuser']=$old['dbuser']; + $config['dbpass']=$old['dbpass']; + $config['dbport']=$old['dbport']; + $config['dbsocket']=$old['dbsocket']; + $msg.='

' . $lang['wrong_connectionpars'] . '

'; + } + } + + // Manuelles hinzufügen einer Datenbank + if ($_POST['add_db_manual'] > '') + { + $to_add=trim($_POST['add_db_manual']); + $found=false; + // Prüfen, ob die DB bereits in der Liste vorhanden ist + if (isset($databases['Name'][0])) + { + foreach ($databases['Name'] as $existing_db) + { + if ($existing_db == $to_add) $found=true; + } + } + if ($found) $add_db_message=sprintf($lang['db_in_list'],$to_add); + else + { + if (MSD_mysql_connect()) + { + $res=mysql_selectdb($to_add,$config['dbconnection']); + if (!$res === false) + { + $dbs_manual=array(); + if (file_exists('./' . $config['files']['dbs_manual'])) $dbs_manual=file('./' . $config['files']['dbs_manual']); + if (!in_array($to_add,$dbs_manual)) $dbs_manual[]=$to_add; + $file_handle=fopen('./' . $config['files']['dbs_manual'],'a'); + if ($file_handle) + { + foreach ($dbs_manual as $f) + { + fwrite($file_handle,$f); + } + fclose($file_handle); + @chmod('./' . $config['files']['dbs_manual'],0777); + //Menü aktualisieren, damit die DB in der Selectliste erscheint + echo ''; + } + else + $add_db_message=sprintf($lang['db_manual_file_error'],$to_add); + } + else + $add_db_message=sprintf($lang['db_manual_error'],$to_add); + $showVP=true; + } + } + } + + //Nach einer Uebernahme einer neuen Configuration vor dem Schreiben ueberfluessige Indexe entfernen + $anzahl_datenbanken=sizeof($databases['Name']); + if (sizeof($databases['praefix']) > $anzahl_datenbanken) + { + for ($i=sizeof($databases['praefix']); $i >= $anzahl_datenbanken; $i--) + { + unset($databases['praefix'][$i]); + unset($databases['command_before_dump'][$i]); + unset($databases['command_after_dump'][$i]); + } + if ($databases['db_selected_index'] >= $anzahl_datenbanken) $databases['db_selected_index']=0; + } + + // und wegschreiben + if ($save_config) + { + if (WriteParams(false) == true) + { + //neue Sprache? Dann Menue links auch aktualisieren + if ($_SESSION['config']['language'] != $config['language'] || $_POST['scaption_old'] != $config['interface_server_caption'] || $oldtheme != $config['theme'] || $oldscposition != $config['interface_server_caption_position']) + { + $msg.=''; + if (isset($_POST['cron_savepath_new']) && $_POST['cron_savepath_new'] > '') $msg.='

' . $lang['success_configfile_created'] . '

'; + } + //Parameter laden + read_config($config['config_file']); + if ($config['logcompression'] != $oldlogcompression) SwitchLogfileFormat(); + $msg.='

' . sprintf($lang['save_success'],$config['config_file']) . '

'; + $msg.=''; + } + else + $msg.='

' . $lang['save_error'] . '

'; + } + +} + +ReadSQL(); +?> + +' . $nl; +$aus['formstart'].='
'; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +$aus['formstart'].='
' . $nl; +//$aus['formstart'].='
' . $nl; + +//$aus['formstart'].=''; +$aus['formstart'].='


' . $nl; +$aus['formstart'].='' . $nl; +//$aus['formstart'].='' . $nl; +$aus['formstart'].='
' . $msg . $nl; + +// Konfigurationsdateien +$aus['conf']='
' . $lang['configfiles'] . '' . $nl . $nl; + +$aus['conf'].=''; +$aus['conf'].=''; +$aus['conf'].=''; +$aus['conf'].=''; +$aus['conf'].='
' . $lang['create_configfile'] . ':'.print_save_button().'
'; + +$aus['conf'].='
'; +$aus['conf'].=''; + +$i=0; +$old_config=$config; +$configs=get_config_filenames(); +if (sizeof($configs) > 0) +{ + foreach ($configs as $c) + { + $i++; + unset($databases); + read_config($c); + $aus['conf'].=''; + + $aus['conf'].=''; + + // Einstellungen + $aus['conf'].=''; + + $aus['conf'].=''; + } +} + +$configfile=$old_config['config_file']; +$config=$old_config; +unset($databases); +$databases=array(); +read_config($configfile); + +$aus['conf'].='
#' . $lang['configfile'] . ' / ' . $lang['mysql_data'] . '' . $lang['configurations'] . '' . $lang['action'] . '
' . $i . '.'; + + $aus['conf'].=''; + $aus['conf'].=''; // filename + + + $aus['conf'].=''; + $aus['conf'].=''; + $aus['conf'].=''; + + // Datenbankliste anzeigen + $aus['conf'].=''; + + $aus['conf'].='
' . $lang['name'] . ':' . $c . '
' . $lang['db_host'] . ':' . $config['dbhost'] . '
' . $lang['db_user'] . ':' . $config['dbuser'] . '
'; + + $aus['conf'].=$lang['dbs'] . ':'; + $aus['conf'].=''; + $aus['conf'].=$icon['search'] . '' . sizeof($databases['Name']) . ''; + $aus['conf'].='
'; + $aus['conf'].='
'; + + // String aus Multidump-DBs aufbauen + $toolboxstring=''; + $databases['multi']=explode(";",$databases['multisetting']); + $multi_praefixe=array(); + if (isset($databases['multisetting_praefix'])) $multi_praefixe=explode(";",$databases['multisetting_praefix']); + if (is_array($databases['multi'])) + { + for ($x=0; $x < sizeof($databases['multi']); $x++) + { + if ($x > 0) $toolboxstring.=', '; + $toolboxstring.=$databases['multi'][$x]; + if (isset($multi_praefixe[$x]) && $multi_praefixe[$x] > '') $toolboxstring.=' (\'' . $multi_praefixe[$x] . '\')'; + } + } + + // DB-Liste fuer PHP + if ($config['multi_dump'] == 1) // Multidump + { + $aus['conf'].=table_output($lang['backup_dbs_php'],$toolboxstring); + } + else + { + // aktuelle DB + $text=isset($databases['db_actual']) ? $databases['db_actual'] : ''; + if (isset($databases['db_selected_index']) && isset($databases['praefix'][$databases['db_selected_index']]) && $databases['praefix'][$databases['db_selected_index']] > '') $text.=" ('" . $databases['praefix'][$databases['db_selected_index']] . "')"; + $aus['conf'].=table_output($lang['backup_dbs_php'],$text); + } + + // DB-Liste fuer Perl + // Fallback falls aus alten Konfigurationsdateien der Index noch nicht gesetzt ist -> alle DBs sichern + if (!isset($config['cron_dbindex'])) $config['cron_dbindex']=-3; + if ($config['cron_dbindex'] == -2) + { + $aus['conf'].=table_output($lang['backup_dbs_perl'],$toolboxstring); + } + elseif ($config['cron_dbindex'] == -3) + { + $text=$lang['all']; + $aus['conf'].=table_output($lang['backup_dbs_perl'],$text); + } + else + { + $text=isset($databases['Name'][$config['cron_dbindex']]) ? $databases['Name'][$config['cron_dbindex']] : ''; + if (isset($databases['praefix'][$config['cron_dbindex']]) && $databases['praefix'][$config['cron_dbindex']] > '') $text.=" ('" . $databases['praefix'][$config['cron_dbindex']] . "')"; + $aus['conf'].=table_output($lang['backup_dbs_perl'],$text); + } + + if ($config['multi_part'] == 1) // Multipart + { + $aus['conf'].=table_output($lang['multi_part'],$lang['yes'] . ", " . $lang['filesize'] . " " . byte_output($config['multipart_groesse'])); + } + + if ($config['send_mail'] == 1) //Email + { + $aus['conf'].=table_output($lang['send_mail_form'],$lang['yes'] . ", " . $lang['email_adress'] . ": " . $config['email_recipient']); + if ($config['email_recipient_cc'] > '') $aus['conf'].=table_output($lang['email_cc'],$config['email_recipient_cc']); + $text=$lang['yes'] . ", " . $lang['max_upload_size'] . ": "; + $bytes=$config['email_maxsize1'] * 1024; + if ($config['email_maxsize2'] == 2) $bytes=$bytes * 1024; + $text.=byte_output($bytes); + if ($config['send_mail_dump'] == 1) $aus['conf'].=table_output($lang['send_mail_dump'],$text); + + } + + for ($x=0; $x < 3; $x++) + { + if (isset($config['ftp_transfer'][$x]) && $config['ftp_transfer'][$x] > 0) + { + //$aus['conf'].=table_output($lang['ftp'],sprintf($lang['ftp_send_to'],$config['ftp_server'][$x],$config['ftp_dir'][$x]),1,2); + $aus['conf'].=table_output($lang['ftp'],sprintf($lang['ftp_send_to'],$config['ftp_server'][$x],$config['ftp_dir'][$x])); + } + } + $aus['conf'].='
'; + $aus['conf'].='' . $icon['edit'] . ''; + + if ($c != 'mysqldumper') // && $old_config['config_file']!=$c) +$aus['conf'].='' . $icon['delete'] . ''; + else $aus['conf'].=' '; + + $aus['conf'].='
'; +$aus['conf'].='
' . $nl . $nl; + +// Zugangsdaten +$aus['db']='
' . $lang['connectionpars'] . '' . $nl . $nl; +$aus['db'].='
' . $lang['fade_in_out'] . '
' . $lang['db_backuppars'] . ''; + + +$aus['db'].=''; + +//Wenn Datenbanken vorhanden sind +if (isset($databases['Name'][0]) && $databases['Name'][0] > '') +{ + if (!isset($databases['multi']) || ( !is_array($databases['multi']) )) $databases['multi']=array(); + if (count($databases['Name']) == 1) + { + $databases['db_actual']=$databases['Name'][0]; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + } + else + { + $aus['db'].=''; + $aus['db'].=''; +$aus['db'].='
' . Help($lang['help_db'],"conf1") . $lang['list_db'] . '' . $databases['db_actual'] . '
' . Help($lang['help_praefix'],"conf2") . $lang['praefix'] . '
' . Help($lang['help_commands'],"") . 'Command before Dump' . ComboCommandDump(0,$databases['db_selected_index']) . '
' . Help($lang['help_commands'],"") . 'Command after Dump' . ComboCommandDump(1,$databases['db_selected_index']) . '' . $lang['sql_befehle'] . '
' . Help($lang['help_db'],"conf1") . $lang['list_db'] . ' ' . $lang['activate_multidump'] . '
'; + $aus['db'].=''; + $aus['db'].=''; + + //erst die aktuelle DB + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + + $dbacombo=$dbbcombo=""; + $j=0; + for ($i=0; $i < count($databases['Name']); $i++) + { + if ($i != $databases['db_selected_index']) + { + $j++; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + $aus['db'].=''; + } + } + } +} +else + $aus['db'].=''; +$aus['db'].='
' . $lang['db'] . 'Multidump
(' . $lang['all'] . ' ' . $lang['none'] . ')
' . Help($lang['help_praefix'],"conf2") . $lang['praefix'] . '' . Help($lang['help_commands'],"",11) . 'Command before Dump' . Help($lang['help_commands'],"",11) . 'Command after Dump' . $lang['sql_befehle'] . '
' . $databases['db_actual'] . '' . ComboCommandDump(0,$databases['db_selected_index']) . '' . ComboCommandDump(1,$databases['db_selected_index']) . '' . $lang['sql_befehle'] . '
' . $databases['Name'][$i] . '' . ComboCommandDump(0,$i) . '' . ComboCommandDump(1,$i) . '' . $lang['sql_befehle'] . '
' . $lang['no_db_found'] . '
'; + +// sonstige Einstellungen +$aus['global1']='
' . $lang['general'] . ''; + +$aus['global1'].=''; +$aus['global1'].=''; + +$aus['global1'].=''; +$aus['global1'].=''; + +$aus['global1'].=''; +$aus['global1'].=''; + +$aus['global1'].='
' . Help("","") . 'Logfiles:  ' . $lang['compressed'] . '
'; +$aus['global1'].='' . $lang['maxsize'] . ':    '; +$aus['global1'].='
' . Help($lang['help_memorylimit'],"") . $lang['memory_limit'] . ':  '; +$aus['global1'].=' Bytes   ' . $lang['autodetect'] . ''; +$aus['global1'].='
' . Help($lang['help_speed'],"") . $lang['speed'] . ':  ' . $lang['to'] . ' 
' . $lang['dump'] . ''; + +$aus['global1'].=''; +$aus['global1'].=''; +//Multipart-Backup --> +$aus['global1'].=''; +$aus['global1'].=''; + +$aus['global1'].=''; +$aus['global1'].=''; + +$aus['global1'].='
' . Help($lang['help_zip'],"conf3") . $lang['gzip'] . ':  ' . $lang['activated']; +$aus['global1'].='    ' . $lang['not_activated'] . '
' . Help($lang['help_multipart'],"") . $lang['multi_part'] . ': '; +$aus['global1'].=' ' . $lang['yes']; +$aus['global1'].='   ' . $lang['no']; +$aus['global1'].='
' . Help($lang['help_multipartgroesse'],"") . $lang['multi_part_groesse'] . ':  '; + +$aus['global1'].='Kilobytes
' . Help($lang['help_optimize'],"") . $lang['optimize'] . ' ' . $lang['activated']; +$aus['global1'].='    ' . $lang['not_activated'] . '
' . $lang['restore'] . ''; +$aus['global1'].=''; + +$aus['global1'].='
' . Help($lang['help_empty_db_before_restore'],"conf4") . $lang['empty_db_before_restore'] . ': '; +$aus['global1'].=' ' . $lang['yes']; +$aus['global1'].='    ' . $lang['no']; +$aus['global1'].='
' . Help("","") . $lang['errorhandling_restore'] . ''; +$aus['global1'].=' ' . $lang['ehrestore_continue'] . '
'; +$aus['global1'].=' ' . $lang['ehrestore_stop']; +$aus['global1'].='
'; +$aus['global1'].=print_save_button(); +$aus['global1'].='
'; + +//Interface --> +$aus['global3']='
' . $lang['config_interface'] . ''; +$aus['global3'].=''; +$aus['global3'].=''; + +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; + +$aus['global3'].='
' . Help($lang['help_lang'],"conf11") . $lang['language'] . ':   ' . $lang['download_languages'] . '
' . Help($lang['help_servercaption'],"") . $lang['servercaption'] . ': ' . $lang['activated'] . '   '; +$aus['global3'].=' ' . $lang['in_mainframe'] . '   ' . $lang['in_leftframe'] . ''; +$aus['global3'].='
' . Help("","") . 'Theme  ' . $lang['download_styles'] . '
' . $lang['sql_browser'] . ''; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].=''; + +$aus['global3'].='
' . Help("","") . $lang['sqlboxheight'] . ':  Pixel
' . Help("","") . $lang['sqllimit'] . ':  
' . Help("","") . $lang['bbparams'] . ': '; +$aus['global3'].=''; +$aus['global3'].=''; +$aus['global3'].='
' . $lang['width'] . ': pixel
' . $lang['bbtextcolor'] . ': 
'; +$aus['global3'].='
' . Help("","") . 'SQL-Grid:  normal   '; +$aus['global3'].=' compact
'.print_save_button().'
'; + +//automatisches Löschen--> +$aus['global2']='
' . $lang['config_autodelete'] . ''; +$aus['global2'].=''; +$aus['global2'].=''; +$aus['global2'].=''; +$aus['global2'].='
' . Help($lang['help_ad1'],"conf8") . $lang['autodelete'] . ':  ' . $lang['activated']; +$aus['global2'].='    ' . $lang['not_activated']; +$aus['global2'].='
' . Help($lang['help_ad3'],"conf10") . $lang['number_of_files_form'] . ':  '; +$aus['global2'].='
'.print_save_button().'
'; + +//Email--> +if (!isset($config['email_recipient_cc'])) $config['email_recipient_cc']=''; // backwards compatibility if field is undefined +$aus['transfer1']='
' . $lang['config_email'] . ''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; + +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].='
' . $lang['send_mail_form'] . ':  ' . $lang['yes']; +$aus['transfer1'].='    ' . $lang['no']; +$aus['transfer1'].='
' . $lang['email_adress'] . ': 
' . $lang['email_cc'] . ': 
' . $lang['email_subject'] . ': 
' . $lang['send_mail_dump'] . ': '; +$aus['transfer1'].=' ' . $lang['yes']; +$aus['transfer1'].='    ' . $lang['no']; +$aus['transfer1'].='
' . $lang['email_maxsize'] . ': '; +$aus['transfer1'].='  '; +$aus['transfer1'].='
' . $lang['cron_mailprg'] . ': '; +$aus['transfer1'].=''; +$aus['transfer1'].='
 sendmail
 SMTP
 SMTP-Port: ' . $config['cron_smtp_port'] . '
'.print_save_button().'
'; + +//FTP--> +$aus['transfer2']='
' . $lang['config_ftp'] . ''; +for ($i=0; $i < 3; $i++) +{ + $aus['transfer2'].='
FTP-Connection ' . ( $i + 1 ) . ''; + + $aus['transfer2'].=''; + $aus['transfer2'].=''; + + $aus['transfer2'].=''; + $aus['transfer2'].=''; + + $aus['transfer2'].=''; + $aus['transfer2'].=''; + $aus['transfer2'].='
' . Help($lang['help_ftptransfer'],"") . $lang['ftp_transfer'] . ':  ' . $lang['activated']; + $aus['transfer2'].='    ' . $lang['not_activated'] . '
' . Help($lang['help_ftptimeout'],"") . $lang['ftp_timeout'] . ':  sec
' . Help($lang['help_ftp_mode'],"") . $lang['ftp_choose_mode'] . ':  '; + $aus['transfer2'].=$lang['ftp_passive'] . '
'; + + $aus['transfer2'].='
' . Help($lang['help_ftpssl'],"") . $lang['ftp_ssl'] . ': '; + $aus['transfer2'].=' ' . $lang['ftp_useSSL'] . '
'; + + $aus['transfer2'].='

' . $checkFTP[$i] . '
'; + $aus['transfer2'].=''; + $aus['transfer2'].=''; + $aus['transfer2'].=''; + $aus['transfer2'].=''; + $aus['transfer2'].=''; + $aus['transfer2'].='
' . Help($lang['help_ftpserver'],"conf14",12) . $lang['ftp_server'] . ': 
' . Help($lang['help_ftpport'],"conf15",12) . $lang['ftp_port'] . ': 
' . Help($lang['help_ftpuser'],"conf16",12) . $lang['ftp_user'] . ': 
' . Help($lang['help_ftppass'],"conf17",12) . $lang['ftp_pass'] . ': 
' . Help($lang['help_ftpdir'],"conf18",12) . $lang['ftp_dir'] . ': 
'.print_save_button().'
'; +} +$aus['transfer2'].='
'; + +//Crondump +$aus['cron']='
' . $lang['config_cronperl'] . ''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; + +$aus['cron'].=''; +$aus['cron'].=''; + +// comment +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].='
' . Help($lang['help_cronextender'],"") . $lang['cron_extender'] . ':  .pl'; +$aus['cron'].='    .cgi'; +$aus['cron'].='
' . Help($lang['help_cronexecpath'],"") . $lang['cron_execpath'] . ': 
' . Help($lang['help_cronprintout'],"") . $lang['cron_printout'] . ':  ' . $lang['yes']; +$aus['cron'].='    ' . $lang['no'] . '
' . Help($lang['help_croncompletelog'],"") . $lang['cron_completelog'] . ':  ' . $lang['yes']; +$aus['cron'].='    ' . $lang['no'] . '
' . Help($lang['help_crondbindex'],"conf14") . $lang['cron_crondbindex'] . ': ' . "\n"; +$aus['cron'].='
' . $lang['cron_comment'] . ': 
'.print_save_button().'
'; + +//Formular-Buttons --> +$aus['formende']='

'; + +// AUSGABE +echo $aus['formstart']; +echo $aus['db']; +echo $aus['global1']; +echo $aus['global2']; +echo $aus['global3']; +echo $aus['transfer1']; +echo $aus['transfer2']; +echo $aus['cron']; +echo $aus['conf']; + +echo $aus['formende']; + +echo ''; +echo MSDFooter(); +$_SESSION['config']=$config; +?> \ No newline at end of file diff --git a/css/msd/icons/arrow_down.gif b/css/msd/icons/arrow_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..f96cd2ad86d98be22ef294d8b66dc499a757c116 GIT binary patch literal 132 zcmZ?wbhEHb6krfw*v!KaJ7rhFj!$(b{+90hR(1GS)~0ujr~j|K`D4MwFH5d|OI`D7 z?zzwZ|Nm!z0mYvzj0_As3_2hIkQodth7(SDuHI{rd|+o!ki^+0y$Ns&Uf~@ eC){q2X7qfhZpF>8(19hs`|-2GIaa!Y4AuZX|26#p literal 0 HcmV?d00001 diff --git a/css/msd/icons/arrow_up.gif b/css/msd/icons/arrow_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..7646f6b7fb31f2e2394a8bfe15a092e953e4154f GIT binary patch literal 131 zcmZ?wbhEHb6krfw*v!QcJ7rhZ;a|J%|E@dnH*3?o)HSb4_kAna@oB^5&yA=50|5gn zQ2fcl$iTqGpaT*HnZdwf5OC6S^^vzQjE=Kri7Ifo{n;d(Aiu-6+GYRt V)(7XCHTbf3C8wV}uK*bD11I3>#j0_Bd3_2hkAUhdY0}@pFQZnbMEm)@$ zz~rcNT8~r1Wu35>EmKcZfP#)ejnaWb2Sf~bxl>pkcyO${-r~&FAhWOOJ>#KTg>y~D aj}GSY-233zY`wZTT6ap_`S$Rb%)guD*SE#Dl=tF~hipaYrvmcSYqFnl@$0yrhh6d1Y4Ou%@ziVP z*_E)HZLphe@WeyMk`}nAd(p&{lX_E-ZZ+`6MUHe%n}k~Fr~>-+!r`F;x|?K*aZ1vb z3FGSc)WCR`rn~5<0`SUE+vNAInr*I_YTf4d@Y{js?fTowsK29J`S|m?pKZ^$gy7l1 zy{m%o#YXJLP>`q8uer^9Uq0j7sokn1|NsA4Sy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW003A3EC2ui01yBW06+-50I>)hNU$J51pp8Lz)+xqg%K4B&=45l z2ZIC;C^P_IkRXl^D>68cFl0iB1wJ?m1VP2akq!tt3KXE>0TB)j0szo~!paO8A_y9Z z!eWC100#`@SP;QL!4MFNAm~8?!vG#i3PK1VK!8kv5Hv8jm?XdenF2guq`;vA01GFe zfOv8+NP{T`09<%Mpf3Rh1YOuLu>om;4+C~YxIr)l3>6|J445E NF%Hyd@>OO)06U&TKnDN- literal 0 HcmV?d00001 diff --git a/css/msd/icons/close.gif b/css/msd/icons/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..7646f6b7fb31f2e2394a8bfe15a092e953e4154f GIT binary patch literal 131 zcmZ?wbhEHb6krfw*v!QcJ7rhZ;a|J%|E@dnH*3?o)HSb4_kAna@oB^5&yA=50|5gn zQ2fcl$iTqGpaT*HnZdwf5OC6S^^vzQjE=Kri7Ifo{n;d(Aiu-6+GYRt V)(7XCHTbf3C8wV}3&kGm+-MsnZ zoH@TYZ215GKLZ#j{$ycfVBlrY0r5a)FtFHdIO(~1uSGnA#{IU7rVbWWT?z%OimH4R u*v~{Wy2jlwf26#Jv%$ebrNi;S!wnB~rr8`wFqjl%zP>;0^xH5c25SJl%shVp literal 0 HcmV?d00001 diff --git a/css/msd/icons/edit.gif b/css/msd/icons/edit.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfa895cf311613c09018c8063ae70fba2ecd276d GIT binary patch literal 985 zcmV;~119`ONk%w1VGsZi0QUd@?Y18M`Nj6@qS~AT^xuQwp#k*cjOeHW@XAo|%2Bo_ z8H#aAu9|I=dQ-S17Ot3T^lU@?_{7Y;jJHfoYH@g)gIk+~T87VL@WeyEqg z_u`M+%BYTXPUW~hdR{&Al6fYO7m{;9^wn#)sC((-$+e+z^3-dk9v-@%ZSm7*blOdE z%}ctQWRU({d|y7Ifkn~8lfNYVg~E=)AkqmI?A=I5V6c=20x>*_Fk&l)%Kr@Wn=7rbkx5C2*ot^y7{2 z#zm`-RC2pcjqjYF*Z+YiRsGeruj)>CK-^k6@o`+qe*_qV9c*nGc$C4I@Y(+1Y z9>}?jjk30|n{D~{^Y`oPif~J;fFf+uNsw+eQ%gee*V6z0|9^jffPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW004dfEC2ui01yBW000QK0R0FYNU)&6f@wBPI9RX`76=ZAFdVoh zgq0pCCi?MmL`@9^R3^5d@#2S>Ee1^lnRDR`5IrKk+$dN?LXtK+n6QxJLq-WL1j_^n zFh;|ZD_tTCHA3(N2_0yZILU#7gOm>q2-XRMf)52c2>=`zGQb1D2V9nb5kMeplmY|r z5M+a)i2=3<#KMI^(1MK>cM0SbQlJV5f;_}zaFb=q3@C8&>`_sW%o_$37Q`75!$pUI H0RaFz?te=g literal 0 HcmV?d00001 diff --git a/css/msd/icons/gz.gif b/css/msd/icons/gz.gif new file mode 100644 index 0000000000000000000000000000000000000000..f0adfe5aa5a13ba5136ac4f91db2b80d208234e8 GIT binary patch literal 1468 zcmV;t1w;BrNk%w1VITk?0Qdg@9gD~^o!D(=sIlDhHi*gO>-2o9%~XoRIG^9j;^TR< z+wbx9>i7Roqt`8z)rh&`q_(!a+SLF6i6WcYai+HmSEOad_A-CPEP}{kqO>MxyO_G> zw#nH|d$Uca;WxYT>F@QFy|hiU>Gt^fpQ*gX-QGf!%bc#Qg{;y{kd4LR-P`m0Wu4R1 z=jfxysov!5g|x7%!Q1Bh{`dL( zQ^M)-^!Zr3?!wgOWv0_;p0fY|g>$Q`RDQRVs*@{QYWUuM7x_;pX%t8kUB!uQ80!{QdoVu&&eL^2F)* zvDegpr`z`Y{coeuv*Y+;sOrt(?-ifm>ErIg+}~-G$4GOptIpDo#OSET#G$s(roGqK z=I@xYyxr{Uw$JG=cE5h9&-3~6%h&L}-rSbX^NgUst=8~&q|b4q*}K{9oUF5Xpwelg z(0!`gVy>ao*X7gP=8(zhOPbV&r^!r!!Ej)-rpx4H*Z;1}<(FNo3q|Nf-C+Jvpz(%b3L-s@J8%NZG$UysMB%Erav z^ZEbyX0G0V!Q}t`^@qaf+2HHn;_tD+h!zV)P}XZ zio3aRq^E*A^8LW00930EC2ui03ZM$000R80RIUbNU)&6g9sBUTzGInIB-6E81W&< zh!Gih7#=KQXhWJ{JETZ?V<8q4Sw->`S(zuJ!Y9mJjM0GM&mRX45ZwA;>zj-Mm{6Q@ z@r2-r7f6wcp+KQZm3dIBWXOmu73`S`FT(+<2OOC<+xHqhcK{Yi5IPV_jyFd^f*igX&$RMy;>bt|X zM?{6dJX!$3$uVUZ)JP4vtoK|PG|V9oIV@-r3Kl*Xct(EuNx-0g|2%=sArD|vgh3@- zs9@Q)BVI01+;V-TRgj{{xujyW^bDTWvk zl%OXPd?pdk2ty$Ah7)VlqQM_Fw4qQmfY5P=Abdo6#1WMY0mULaoU@A!N?>4$q6y(a zhaoKN!%71lh#*1`LEHjB7Y7uXVvQ26Op%&GdH92m1{V-;lLG-v0Kg=S;K0H(Sis3p z6h{IGCU>BHpZ!Mn4U(;bsF<*vn4^N+<&Z9D_td#y%Q&0E0L&RB(g6PkeImKk_uA Wh!COZV1S|==wpYyD5s2aKma=kKSqE6 literal 0 HcmV?d00001 diff --git a/css/msd/icons/index.gif b/css/msd/icons/index.gif new file mode 100644 index 0000000000000000000000000000000000000000..678cc1d5e5f258713de7145778b786c2e2afb2c6 GIT binary patch literal 1003 zcmZ?wbhEHb6krfw_|Cxa<$m+G*Nfh6lbgI~`@@BdA5H~+{r;zS(U}R$FR$Bw<=59k zHy(YPwf)tX$34&A{(7;T>BBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIR#VED)(xO{z<1>;yX%=TpEEGM;Z)VOjD*U X44%+3TQTBBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIQKX86b<Su1;1#Fnlag_-swF;_*P7v^6Vr=%9#1xk^k)de;o2F(T(*gyDOi3$N&mEGN Rp7zRE7%ZzfAS}RO4FIssN=yI% literal 0 HcmV?d00001 diff --git a/css/msd/icons/key_nokey.gif b/css/msd/icons/key_nokey.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5cfa65fd00877391ef9a9ed7a82c8bde468167b GIT binary patch literal 547 zcmZ?wbhEHb6krfwc*ekR{rdF>4<0OAw(QcSOS^XM3JMC^y?ghB2@{SUJz7&!)7aR! za^=dcTep7t^l9S6iFI{#XU?2izI=I4PtUt|@2aY*X3Ut8nwr|t(b3h_)!EtU=jWH6 zo_^rKf$iJ3FI>1VA|hhu%$Y?+Mf>;fcXV_-e*F0K>C>BfByXY_wPS^ z`0&S%AMNe!uV24zX=#azi`%wsTX%Q&ix)3WoH%j%^yzu?=7oiYtzNzQ>({RzKYl!N zcRYhhrK6XF-)V&^t( zGASf88gT* p*|uoNu485sRG4kvB4%OjIPK|1HRVBBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPcU%oXZXk=8*-`xHh@e*aj+DwrOO701bj-N5rNF(hNiZR8 zg+Nm}gS1An)fa){<$YIITg=+_=7rJ`E@hup3W^e}PTg#b3?c#_8V<1VvrKk4AfWj6 zmUy&EgF?iS)2+L*SThtA4zfG)1_do(b!gOWG%De^w_%YoyQG+D${PW}_I5{e=Usay OGP55OX=G$%um%8MDoY~( literal 0 HcmV?d00001 diff --git a/css/msd/icons/key_unique.gif b/css/msd/icons/key_unique.gif new file mode 100644 index 0000000000000000000000000000000000000000..5dfe8325fdadb133d55edeb0854899c37e4cb41e GIT binary patch literal 1001 zcmZ?wbhEHb6krfw_+G*A<$m+G*Nfh6lbgI~`@@BdA5H~+{r;zS(U}R$FR$Bw<=59k zHy(YPwf)tX$34&A{(7;T>BBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIQKWBAA+5CsF?s_w!` z-n!=%TVJ*AeABn!LCpXEf0jN@`+tAI?ZqMc-_6|kqVCD=hX3!+zCJVW>7K^_zu*1; z|DS;}p!k!8k%2*rK?h_E$WIJxEe=xyI5foCPb?HHwNmSB@b>(&(_%8iVaJbwGCU2- zxdLX$1hsoA{$WYsVw=2hLSiyIuUE$}nsWTZu>w{o&b2yv)z2uZMTE@fn5lH+GlVBweBvPp2ufrEleTicEuKhl!q H$Y2csXB3RO literal 0 HcmV?d00001 diff --git a/css/msd/icons/notok.gif b/css/msd/icons/notok.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f3a2162f9f2c69e9323a57ec989b8c4139bd83f GIT binary patch literal 74 zcmZ?wbhEHb6krfwn8?hqBPHeA^5y><8~^|RulSRNk%57kL5BedK=KSs(sTM(o_@=( c%)I3mOUpeO1%Z}FFKVx8E`4=s8!Lk~0Hm54!~g&Q literal 0 HcmV?d00001 diff --git a/css/msd/icons/ok.gif b/css/msd/icons/ok.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ca168e4041e46a42fa36302e495e64ba4e17b8b GIT binary patch literal 138 zcmV;50CoRINk%w1VGsZi0J9GOoVaAG=w`C*ZN&V3rQ=}A?wH8`fz9!px$|?;^P#`^ zdDZr(+4-yB{j=Tsu>b%6A^8LW000jFEC2ui01yBW000Cx@X1N5y*O(Mz?Ohvcp5Ma s4T%AY;;2&xA_xP6g3#s54JLtLAmNK02!unCQz$GevX691l|%plJI1I!q5uE@ literal 0 HcmV?d00001 diff --git a/css/msd/icons/openfile.gif b/css/msd/icons/openfile.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc910491a417488fbd577e57ac60cb5727de9149 GIT binary patch literal 154 zcmZ?wbhEHb6krfw*v!MQYSpT@Z{NOp_3HEI&p&?rc>n(W>({Seym;~b`}hC<|Nr{+ z>+j#cKn4R0DE?$&WMJT7&;bd6%wS+~pK#Jso7Ey&+ws?Y_JRXRvm69^L>KH?pT_8s zd;N{+n?LjX8=49<{*>~ZP`Px1fn(kUb>V^)QLBTehFPmt?7z1%?TqH^^F164)&Tx` BNqhhR literal 0 HcmV?d00001 diff --git a/css/msd/icons/progressbar_dump.gif b/css/msd/icons/progressbar_dump.gif new file mode 100644 index 0000000000000000000000000000000000000000..c57f75e1a139ecb86135bef9dcf933aaf0c450fb GIT binary patch literal 502 zcmZ?wbhEHb)L;-`xXQr5uxJLuqM3p#7iex?opk!B>;4^8S1-8j-_d>NdeznQNvDqp ztXxoi^+Mw5qgtC+yYAnvxn*_IsUy`_&v)Osk#y>4;^`xro7Z&Rx$d@qd)2k`f-4pz zo;s?zWsTszqQ3R zwI%GV>>aFK{9WyBZLAVKto-bg`#aes+9wOLaEZFh0F3FyV*51%LDATD>==svD&WWaG1(v@`Tmo35(fP zHrrL4W>;BlR&v^`K6|jo&^E8(g zvobNU^z^Vy6cn5w)yE>)-#cqcACut3UKVZ%Hg0BKZf-W_HLID|uG+xM#=CLF2DUY9 z5?j`CiEtg_}3p59l|dTG_o_uGTbRhI49T4^F|`boc|X373pOo1J>4MLtWk)C!5RREtB48! literal 0 HcmV?d00001 diff --git a/css/msd/icons/progressbar_speed.gif b/css/msd/icons/progressbar_speed.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8cd9dc771639b5836cccad7c301c815b60a30be GIT binary patch literal 484 zcmZ?wbhEHb)L;-`xXQqAhJoQ}TH5Wvzz@~c|7XrTV{H7hxA$3E+9iAYOAhvz>>Ymg z_I#+S{@K&}p}Oj4PtWbZpxZ%#cLD=%2L-*auD;~paM{8Bvc3I}p57n5y+3+--d9!s z=av5w8Do?8)m3+b0vTun6o0aS4b}mXAU`p%{dZ_6@X(R!Ke43fq=?wO z3oA;z<~A+iVp%k4t%_c!i`c?|mV>vtt|_^doDp}a*6DCz5pGoJ-_QN8UO-8xtX@z^ zsI;O%pn-{T0y{h7hk5n#rOb+aa*G%7tX{HX z1wR`bFE{VrJ=|=&xn&L?IJoo^>o;!Ry2dNP&3*64NhvnT{ktz7 zmfC;*@G)-5qq|pa-o`Aw_}e1s?OXmXSsr2;ag{50xi`Cc?W-*Xlb!r#NI7OKNuQ|9 z*em4w;c^H6!fpvgkA@Eidz$#7PN^ttcJr3d)zt4P+qRbOxRi#sPbr%z;5V6X-N DfN`z* literal 0 HcmV?d00001 diff --git a/css/msd/icons/rename.gif b/css/msd/icons/rename.gif new file mode 100644 index 0000000000000000000000000000000000000000..c55d78ea2b89edc9f733cf32e552503f251186c4 GIT binary patch literal 296 zcmZ?wbh9u|RA5kG*v!uW1Px%^0Hzv%yao_BaNxjyp!k1=|6mG816e?z_>+Z^fq{`h z2Pg?NL4kpp<*LC6&((V^UY|APIPj@7hGR~O`l6NF`*hRh75H4vkGN6t8Zw4OUp zj)$d!zpACC)-S58*}cFv->xI7vB%#-J&mK)x2s$zIbpi@tlG&<^YdL6soTv?;qOkW zikZP~GQqjCVflQIwDfH|+E;OG+-nk&f8fx>1db`k>raO7pV=3Fbe_D2%Y?1_ug9Ek fQsh=x{bJF^XD{Ebe)H~QK;)-H!|y*N1sSXX1rL76 literal 0 HcmV?d00001 diff --git a/css/msd/icons/search.gif b/css/msd/icons/search.gif new file mode 100644 index 0000000000000000000000000000000000000000..918abed8a39106a809edaa276a7dc7a386ebc902 GIT binary patch literal 991 zcmV<510eiINk%w1VGsZi0QXn`dR{$~qPMP^Z=!)k{rSb^xIT(-ORRt*nuA;Q_xzQ8 zRpFrl`~3d0!r1ofqU!JZ$FzppoCEaVgYC8+*y8r^&}yxiYO9Y_l5;`y$Rb%)guD*SE#Dl=tF~hipaYrvmcSYqFnl@$0yrhh6d1Y4Ou%@ziVP z*_E)HZLphe@WeyMk`}nAd(p&{lX_E-ZZ+`6MUHe%n}k~Fr~>-+!r`F;x|?K*aZ1vb z3FGSc)WCR`rn~5<0`SUE+vNAInr*I_YTf4d@Y{js?fTowsK29J`S|m?pKZ^$gy7l1 zy{m%o#YXJLP>`q8uer^9Uq0j7sokn1|NsA4Sy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW003A3EC2ui01yBW06+-50I>)hNU$J51pp8Lz)+xqg%K4B&=45l z2ZIC;C^P_IkRXl^D>68cFl0iB1wJ?m1VP2akq!tt3KXE>0TB)j0szo~!paO8A_y9Z z!eWC100#`@SP;QL!4MFNAm~8?!vG#i3PK1VK!8kv5Hv8jm?XdenF2guq`;vA01GFe zfOv8+NP{T`09<%Mpf3Rh1YOuLu>om;4+C~YxIr)l3>6|J445E NF%Hyd@>OO)06U&TKnDN- literal 0 HcmV?d00001 diff --git a/css/msd/icons/table_truncate.gif b/css/msd/icons/table_truncate.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbcb3287d460565d031097db93aba93c60f752ad GIT binary patch literal 979 zcmV;^11$VUNk%w1VGsZi0QUd@VvFSc`NbPfw)X3y^xuQ+wjSD?1L2_o^y7{2%24#< zjPS})m3>w5(`S=`t|YDY5MiT`S|lpecFz6PWtn;x6b?Y)oZMPBDc-= zkZv_KXwCii!N-yoDqh9r*_G(10@K~`V36r&mhQ;8jE8JR(v}H)Uq0~Lfv(5+KyuZh zfkms2RQ&kD+s~cHw1)HSx#zt^=%)hdVZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW003|6f&l;(1S}vh0Ko$wV+cwya3D#6tzCso`9d%SSrG*i za8)4TN)UoaP#mBUcW#3jLIQPYgG4nf6m|kK6%mhu#_^8Wuss;1O`(GDE?$&WMEKX&;dCLlqVcG zDi}ODWIQ%3I3TEC$Fak}p`}BRk*Pt#F@T|sQ$R{ZBH_b>j(!1Er9T2qiyRnb%yb+I z4mdC}$vSeaII!{Y!46^JX)KwW795^$)+{A5;UF_Br=X0%ikpEB?d)7Lq0! zCxtJU-K^IEM|rBZRZT%Atm@pwX^kX$Yo3WW-Vg3sqmrP4qk;B-2@Ua!yR zvsf%*v3PTHb9#DOAP__%5!nCOkHM(_Y{VCSX@W&Z(i`p~5#KlR`|iyY|Jpr=zyF5t zCq+&w7g`@qXs8w0X>TO}{h_FIl=wI6(FKaa9$^0^v43fgG;gbnO5_y0^9sEF}4>6dm;gM1H*!Toz^5Ya? zKbOa!5eR2RV#(b6!s3#2S@zxM6@^lzUe&B=b$Wx*1c2rwi`8a#I9+a!*XIueL*ey} zEfLt(?eR!z&tz51?&MrPwRZ}=D;3#+9DFxjA9tis$sfe<8WT>}#h>i$n`wssLCBr? z@Lt$<_@O`4YIYYxqBHig#+xMNL%Z%%K&k z1iw_uDEU)$`?46M&otB`;hK;^RxtNz1)W*U0o7=Q+pH2YDXSBeTX!U;v#4uRwYyWU z&$0$}yru(LUD?Afw6Oh1k$QHRW|H)ruHS!tgbps^zr|k{jSN9D>P=zS`B8>d!778) z*Ls=uRZi88A1<(2P948FB~Q#AF55bX$?Co^HsXckw4zn<*r?yGnaYd1IL;2bfkk4T zWPB{_cj$!O7xSt%!T~q5Dw&x0_bAbDO=VOpO7l48AYSui=P^K2wJQU@R=wv6YVB#< zZTyWb@#R2d4V_Q}*VZ0vMQNYGv3PAAf`RAMALhb!4M&$zy5}d1c-@OrK0w!)9-E+V zIul!2I`wHWgIfJ?73WEc%5^*-_V*{4jS6>YYrLPZ?zU+zeZvEjc zpz-Zp?jcjh{pA8vXN57y>3ZY?P2H8z$v{taY$4EFn@9lOHKb_(OjAZO*w=EU5PaW$ zn*d@v%FQ6|Ky|Vi-`84b?#E*ZW&(*}HWR7bWMUM3xey|=j09+a?K49ZPIQWe`YCpF za*&@$w0xL723crx87Wr!(v>3Xko;ATm7y$$tV~T!ijAdjEwT**SmLH_}=0+k$o&+B-+QYMDWzKRw?YUa)oQ}Iga&qGz zSe(2BG{VI{SeEaaf#XOn0fK392@mrS?%AWVVz=lUJ;^OT<+r#c>Dy90b7%IJc;=Bw z9KBI7C-%2sl>QmgsB>0v0 zWhH)9g^BD}Kk{4stCic*0-EZ*rGd5Dq=A6;9z_$-HD#s+^(|LRgNF7y13_cQ16$D4 fgH8(peQl*75RV%OnMq7r2%_@R!lvJ0u;2ax1LX2@ literal 0 HcmV?d00001 diff --git a/css/msd/pics/bg-buttons.gif b/css/msd/pics/bg-buttons.gif new file mode 100644 index 0000000000000000000000000000000000000000..9071a7eee34891e66b19e08b9f8ad9991041ce1d GIT binary patch literal 506 zcmVM)jz?*p zXsWJk>%MR-&vb1Mc&_h!@BhG{a7Zi~kI1B9$!t2G(5Q4uty-_xtai%dFX%FE2n&d<=% z($mz{*1ZJT+S}aS-rwNi;^XAy=I7|?>Im%Z?(gvN^7Hid_V@Vt`uqI-0sjC43LHqV zpuvL(6DnNDu%W|;5E)3ENU@^Dix@L%+{m$`$B!VVLy8 zoJq5$&6_xL>fFh*r_Y~2g9;r=w5ZXeNRujE%Cu=s2T-F*ol3Q;)vH*uYTe4UtJkk! z!-^eCwyfE+Xw#})%eJlCw{YXiol7_Dh`V_6>fOt?uiw9b0}CEZxUk{Fh!ZPb%($`R w$B-jSo=my2<;$2eYu?Pcv**vCLyI0wy0q!js8g$6&APSg*RW&Dwj2QfJ7=jieEC46E@(a9XE`4?7{c&&|EenZz=*>R=VoTLo zw;lIC?5OcufBXH9J$2{b|NhU|*woz8+ScCD+11_C+t)u~;w1JdQ>RUzF>}`JIdkXD zU$Ah|;w4KNmaka3YW146>(+1BxM}m2t=qQmVBWQR&)$9e4;(yn_{h;?$4{I*b(;I^ zx$_q;Ub=kc>b2`PZr-|m=k7h82M-@Te)9C$^A|5)y?*od-TMz8KYjl4_1pI!KOeCD z`TOrb12dP5$A$$5n>mEFVoq#W*wikd>@~+@FEZ^r{>&Tuib#-;b=B&G?wywUuKH+eetoODxH#cWoUKM+K+uGaP3pU!#@ZP@e?(T}uukN1S zzW)CH24-$KpB)<>9_|py)!#EKR>^~xm(V6*Or%; zR|Kz)JG*P^>+2hmPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcp Nd%oY^s&@hm)&Rz)PJaLZ literal 0 HcmV?d00001 diff --git a/css/msd/pics/blank.gif b/css/msd/pics/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..076c7538e60cdfc58adf59c9f231302eaf5ab4a7 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7d~kE{qJ;0Lp3yIRF3v literal 0 HcmV?d00001 diff --git a/css/msd/pics/body_bg.gif b/css/msd/pics/body_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f50f7aa5b222915c9399d2e2b1fb8f1ace1312d3 GIT binary patch literal 53 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 C3UQMF literal 0 HcmV?d00001 diff --git a/css/msd/pics/logo.jpg b/css/msd/pics/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83eabcb554ba9cc1496007df80ec53df10f030ad GIT binary patch literal 2204 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 S`sSCB_unpZ?2rgR|Nj8-YN{3h literal 0 HcmV?d00001 diff --git a/css/msd/pics/mainnavi.gif b/css/msd/pics/mainnavi.gif new file mode 100644 index 0000000000000000000000000000000000000000..23547e33a5731b8f3d806845e917609e69e769a4 GIT binary patch literal 1748 zcmV;_1}phTNk%w1VUPh(0K^*r!NknJ!pgh9$ji>uy1vKJ(%8w%(!RmU#K+Ia$41ejE#v7^V2AVZ2ANiw9BE+|v~s$9u3i-ia0PICJXU$+M@= zpFo2O9ZIyQ(W6L{4z(bmsne%Wqe`7hwW`&tShH%~%C)Q4uVBN99ZR;XS+Eu+s9npp zt=qS7(BTJr4xw7TUm@{kM z%(=7Y&!9D1pg_8`>C>oFt6t5zwd>cgW6PdRySDAyxO3~?&Aaz)3k-q_A5Ofu@#Dyo zD__pMx%21Hqf4Joy}I@5*t2V&ZefFk@8H9WA5Xr#`Sa-0t6$H)z5Dm@5f($n3;DZoGDB*+@R%juF7F?*|h8%Y2;fElG zDB_4AW=P_RD5j|5iY&J1qJbv9DC3MY)@b96Ct3i&jy(40NG7S| zl1w(~0+o_zM{=bwNED(Iku7Ha6Bh$gD&qKr1`D54e!AnBx(R%+>`m}aW!rkr-_ z>8GHED(a}DmTKy$sHUpws-;>$z^kyvD(kGY)@tjmxaO+suDtf@>#x8DE9|hu7HjOW z$O>!00?an+?6c5DEA6z@R%`A5wb*8>?Y7)@>+QGThAZy4+ZYo z#w+i;I#y}#z4+#<@4o!@>+iq(#)#v<1Q%@Z!8BTcz`_hS?C`@7M=bHg6jyBV#TaL- z@x~l??D5AShb;2QBztT@0w|}f^2#i??DESn$1L;AG}mnN%{b?*^Ugf??DNk+2fece z1{7`d(MTt)^wLZ>?ex=7M=kZ#R99{F)mUe(_10W>?KRdG3?TN{WS4FB*=VP&_S$T> z?e^Pn$1V5Vbk}Y7-FWA%_uh3|P{7}S2QK*Fgcol3;fN=$_~MK=?)c-7M=tr~lvi%~ z<(NxufdZU&?)m4Shc5d6=%kl!`st{ruKMb%x9WM@YgFn(%}uyhnIa$if!7@P#mpAx6NXz8c!_ zhB(Zj4#oGK@A>eDKy=WHd}@*2u;-y77&0jH4XqNXIyi#y5D(qaOFj$3FV;kAMuM zAAz%-LK^arh)kp+7s<#*I#Q9i8=fR5Ny$oD@{*X$4cT|UVjA<9$V{d(m&wdR zWP*UujHWcFNzH0n^O~cuMFh9W&2D=0o8SzmIDs(@51R9w=uD?N*U8RycB3IOjHf*3 zNzZz|5T5qTr#|<|&wl!Ym%c(vq6=q$o|PN>?fuHP-Q^Fpa59XG+tW+VnAZ6r@gf%F~|u q^rt`#Dr*S&$f6qcs7Ot!QkTk9rfor%KhT4sSmp002Ano%a|3 literal 0 HcmV?d00001 diff --git a/css/msd/pics/navi_bg.jpg b/css/msd/pics/navi_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..018cbddfd5c5ca4be04bc9756063476d3db42c5d GIT binary patch literal 4132 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 + @author Ingo Wagener , Daniel Schlichtholz + @date 2008-02-28 13:39:07 + @lastmodified 2009-07-01 21:56:00 + @media screen and projection +*/ +*,.nomargin { + margin: 0; + padding: 0; +} + +label { + cursor: pointer; +} + +img { + border: 0; + padding: 0; + margin: 0; +} + +body { + font: 12px/1.5 Verdana, Helvetica, sans-serif; + border-top: 5px solid #256777; + background: #fff url(pics/bg-body.gif) repeat-x 0 5px; +} + +body.content { + padding: 0 18px; +} + +.menu-frame { + background-color: #FFF; + color: #000; +} + +/* LINKS */ +a { + color: #256777; +} + +a:hover { + color: #E87B00; + text-decoration: none; +} + +a.ul { + text-decoration: underline; +} + +/* general */ +#pagetitle { + color: #256777; + font-size: 1.8em; + padding-top: 2px; + margin-bottom: 20px; + border-bottom: 1px solid #c7c7c7; +} + +#server0 { + position: absolute; + bottom: 4px; + text-align: center; + left: 10px; + color: #000; +} + +#server1 { + position: absolute; + right: 16px; + text-align: center; + padding: 10px; +} + +.version { + display: block; + position: relative; + top: -15px; + z-index: 5; + text-align: center; + font-size: 11px; + height: 100px; +} + +.small { + font-size: 11px; +} + +.ssmall { + font-size: 10px; +} + +.success { + font-weight: bold; +} + +.error { + color: #E87B00; + font-weight: bold; +} + +.explain { + text-decoration: none; + border-bottom: 1px dotted; +} + +.explain:hover { + cursor: help; +} + +.active_db { + font-weight: bold; + border-bottom: 1px dotted; + color: #9AA2B1; +} + +table { + color: #000; +} + +table.bdr,.bdr { + border: 1px solid #ddd !important; + border-collapse: collapse !important; +} + +table td { + text-align: left; + vertical-align: top; + padding: 0 6px; + font-size: 12px; +} + +table th { + padding: 0 6px; +} + +/* MENU */ +#menu { + margin-top: 1px; + background: url(pics/navi_bg.jpg) no-repeat; + text-align: left; +} + +#menu ul { + margin: 0px 0 0 0; + list-style: none; + background-color: transparent; +} + +#menu ul li { + border-bottom: 1px solid #ddd; +} + +#menu ul a { + padding: 0 10px; + display: block; + line-height: 2; + text-decoration: none; + outline: none; +} + +#menu ul a:hover { + background: #eee; + text-decoration: none; +} + +#menu ul li.active { + border-bottom: 1px solid #256777; +} + +#menu ul li.active a,#menu ul li.active a:hover { + color: #E87B00; + font-weight: bold; + text-decoration: none; + background: transparent; +} + +#menu ul li.icon-holder { + margin-top: 3em; + border-bottom: 0; + text-align: center; +} + +#menu ul li strong { + text-align: left; + color: #256777; + font: normal normal .8em/1.4em verdana, sans-serif; + display: block; +} + +fieldset { + margin: 10px; + padding: 5px; + border: 1px solid #ddd; + color: #256777; +} + +body.content legend { + font-weight: bold; +} + +body.menu fieldset p { + margin: 5px 0 0; + text-align: center; +} + +/* MAIN */ +#topnavi { + list-style: none; + margin: 10px 0 20px; +} + +#topnavi li { + float: left; + margin-right: 6px; +} + +#topnavi li a { + float: left; + font: 1.1em verdana, arial, sans-serif; + border: 1px solid #ddd; + background: url(pics/bg-buttons.gif) repeat-x; + color: #E87B00; + padding: 4px 6px; + cursor: pointer; + text-decoration: none; + white-space: nowrap; +} + +#topnavi li a span { + color: #256777; +} + +#topnavi li a:hover { + color: #256777; +} + +#topnavi li a:hover span { + color: #E87B00; +} + +#content p { + margin: 10px 0; +} + +/*Tabellen */ +table tr.dbrow { + background: #FCFDFD; +} + +table tr.dbrow1 { + background: #F8FAFB; +} + +table tr.dbrowsel { + background: #F9F3ED; + color: #256777; +} + +table tr.dbrowsel a:hover { + color: #E87B00; +} + +table td.treffer { + background: #000; +} + +/* Treffer bei der MySQL-Suche */ +table.border { + border: 1px solid #738C88; +} + +table td.sum { + background-color: red; + font-weight: bold; + text-align: right; +} + +table tr.thead th,table tr.thead td { + background: url(pics/bg-buttons.gif) repeat-x; + border: 1px solid #ddd; + color: #256777; +} + +#configright table a { + font-size: 11px; + color: #E87B00; +} + +#configright table tr.dbrowsel a { + color: #E87B00; +} + +.tdcompact { + width: 100px; + height: 16px; + overflow: hidden; + font-size: 11px; +} + +.tdnormal { + white-space: nowrap; + padding: 1px; +} + +.sqlheadmenu a { + +} + +/* FORM-Elements */ +#content .Formbutton,#content .ConfigButton,#content .ConfigButtonSelected,#content .Formtext { + margin: 0px 6px 0px 0px; + font: 1.1em verdana, arial, sans-serif; + border: 1px solid #ddd; + background: url(pics/bg-buttons.gif) repeat-x; + color: #E87B00; + padding: 2px; + cursor: pointer; + white-space: nowrap; + overflow: visible; +} + +#content .Formtext { + overflow: hidden; +} + +#content .ConfigButtonSelected { + color: #256777; +} + +#content .ConfigButton,#content .ConfigButtonSelected { + width: 160px; + margin-bottom: 4px; +} + +#content .SQLbutton { + font-size: 11px; + background: #E4E9E8; + cursor: pointer; +} + +/* htaccess edit area */ +#content textarea #thta { + font-size: 11px; + color: blue; + width: 400px; + height: 300px; + overflow: scroll; +} + +#content textarea { + width: 100%; + background: #FFF; +} + +input.radio,input.checkbox { + background-color: transparent; +} + +/* Colors for Formelements */ +input.text,input.small { + border: 1px solid #256777; + background: #fff; + color: #000; +} + +select { + background: #FFF; + color: #000; +} + +textarea { + background: #B3C2C0; + color: #4E5665; +} + +/* for Geckos */ +input[disabled] { + color: #888; +} + +/*horizontal menu */ +#hormenu { + +} + +#hormenu ul { + border-bottom: thin solid #D5DDDC; + margin-bottom: 8px; + width: 80%; +} + +#hormenu ul li { + display: inline; +} + +#hormenu ul li a { + font: 11px/20px verdana, sans-serif; + text-decoration: none; + color: #4E5665; + padding: 0 14px; + border: 0; +} + +#hormenu ul li a:hover { + color: #E87B00; +} + +#hormenu ul li#active a { + font: bold 11px/20px verdana, sans-serif; + text-decoration: none; + color: #E87B00; + float: left; + padding: 0 14px; +} + +#hormenu ul li#active a:hover { + color: #E87B00; +} + +/* special elements */ +.MySQLbox { + font-size: 10pt; + padding: 0px; + background: #000; + color: #fff; + border: thin solid #999999; + height: 200px; + width: 100%; + text-align: left; + overflow: auto; +} + +#content #sqlheaderbox,.sqlbox-warning { + white-space: nowrap; + vertical-align: top; + padding: 8px; + background: url(pics/bg-buttons.gif) repeat-x; + border: 1px solid #ddd; + color: #256777; + line-height: 22px; +} + +#sqlheaderbox .Formbutton { + line-height: 18px; + padding: 2px; + margin: 0px; +} + +#sqltextarea { + margin-right: 30px !important; + width: 100% !important; + overflow: auto; +} + +#content #sqleditbox { + border: 1px solid #738C88; + background: #EEEEEE; + margin-bottom: 10px; +} + +#content #sqleditbox form { + margin: 10px; +} + +#content #sqleditbox p { + background: #A5B6B4; + font-weight: bold; + text-align: center; +} + +#content #sqlnewbox { + border: 1px solid #738C88; + background: #E4E9E8; +} + +#content #sqlnewbox p { + background: #A5B6B4; + font-weight: bold; + text-align: center; +} + +#content #sqloutbox { + font-size: 11px; + width: 700px; + padding: 6px; + background: #D5DDDC; + border: 1px solid #738C88; + overflow: auto; +} + +#content p.autodel { + font-size: 11px; + border-bottom: 1px dashed #fff; + margin-bottom: 12px; +} + +#content .Logbox { + font: 12px/1.2 "Courier New", Courier, monospace; + padding: 6px; + border: 1px solid #ddd; + height: 320px; + width: 90%; + text-align: left; + overflow: auto; +} + +#content .Logbox span { + color: #738C88; +} + +#content .backupmsg { + padding-left: 20px; + font-size: 11px; +} + +#content .backupmsg .success,#content .backupmsg a { + color: #999; + font-size: 11px; +} + +#content .backupmsg .error { + color: red; +} + +/* TEXT */ +h1 { + font-size: 16px; +} + +h5 { + font-size: 1.7em; + font-weight: normal; + color: #256777; + margin: 20px 0 10px; +} + +h6 { + font-size: 1.5em; + font-weight: normal; + color: #256777; + margin: 10px 0; + padding-left: 4px; + background: url(pics/bg-headings.gif) repeat-x; +} + +/* Config */ +#configleft { + float: left; + width: 180px; +} + +#configleft .Formbutton { + width: 160px; + margin: 4px 0; +} + +#configright { + margin-left: 180px; +} + +#footer { + margin-top: 36px; + padding: 10px 0; + border-top: 1px solid #eee; + font-size: 10px; + text-align: right; +} + +#selectConfig { + border: 0; +} + +#footer a { + text-decoration: none; +} + +#footer a:hover { + text-decoration: underline; +} + +#ilog { + border: 1px solid #ddd !important; + padding: 12px; + background-color: #fcfcfc; +} \ No newline at end of file diff --git a/css/msd_green/icons/arrow_down.gif b/css/msd_green/icons/arrow_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..825c9e80204868c4813fdbbb9a7f3e3eed3fb2b5 GIT binary patch literal 859 zcmV-h1El;%Nk%v~VGIBb0QUg^|Ns90005Mfl!SzY|NopqLPE~YoSb6-&YS@M&H(>X zQvUz|oB#lvoMX;00LI3~|NqYaoX-FM{}U4v6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW00000EC2ui01N;P00#&-009UbNU$IP0}Kop9Eeci!h;DPLUg#W lp+N%*En*zVfWbrn9T_HUXi;Rthy@XLq?mG}#DxI?06Vnhv#J09 literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/arrow_up.gif b/css/msd_green/icons/arrow_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..701b71411077d650d4a0823bf7101b6730623e00 GIT binary patch literal 857 zcmV-f1E%~(Nk%v~VGIBb0QUg^|Ns90005Mfl!SzY|NopqLPE~YoSb6-&YS@M&H(>X zQvUz|oB#lvoMX;00LI3~|NqYaoX-FM{}U4v6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW00000EC2ui01N;P00#&*009UbNU$IP0|*TYG{B&t0fP)9GI%&J jqQ!{=8y>`{apA*=2PqN+sc@r6h!{(fRJgLF!GHieR0Fh; literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/arrowdown.gif b/css/msd_green/icons/arrowdown.gif new file mode 100644 index 0000000000000000000000000000000000000000..32d7ceb398e28330cc2c87cdf1ec8e0c73585366 GIT binary patch literal 65 zcmZ?wbhEHb6krfwXkY+=|Ns9h{$ycfU|?j>0r5dH3``O|{VPwuS2@!(; literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/arrowleft.gif b/css/msd_green/icons/arrowleft.gif new file mode 100644 index 0000000000000000000000000000000000000000..560043d1693cad7535eb07b168bada343b23b9df GIT binary patch literal 878 zcmZvbKWGzi6vw~y4`h&9q=E@8DDn#^4(0|GYziW@znse6ZpbfDllClTM&Vj0g0) z^xBk)qCwORY6+?#Dhk3uk$TK{NMFD0H%q=MQB4=aPqKNgQ+5^AQVtVIC)sd$?~v>nn5)|C4^8YI(b+`V9-q9 zhOiYZCl8A-21$Z2gi>(Qo^i~fPwlZU*~{EIVVLG9=D=syV_Q-QHgLi)O&v4#>3j4f zrJ%@mH*^}{Wd*C*`TN&$HJI;$XL_w)9X=2hlU-+N|!B%>?jr{lgYus!T$dK z-rnBs?(X*Xb`(XOPA3S0_4V~;v$?vu>bmaA%8G5cxnW^ju zZe)_(#B$*QrV4ZN^X1mU+Y8qp^=_WO_v+kyY2o|E`){vjFFu|t#P0o<^VPB`Os+0% mJb&2v`Dx9S@2=Iq%>I71HF$IDY4qaK+OMx4&YnJnyZ-^^rL;Bx literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/arrowup.gif b/css/msd_green/icons/arrowup.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9eba1fbab6eeb15b5fd53003be4c2b8002aaa5e GIT binary patch literal 64 zcmZ?wbhEHb6krfwXkY+=|Ns9h{$ycfU|?j>0r5dH3{2uZ{VPwu<(KYYjL6u0dd|o7 OHA=42o>hu4SOWm~%o3Xb literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/blank.gif b/css/msd_green/icons/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..076c7538e60cdfc58adf59c9f231302eaf5ab4a7 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7d~kE{qJ;0Lp3yIRF3v literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/browse.gif b/css/msd_green/icons/browse.gif new file mode 100644 index 0000000000000000000000000000000000000000..e52271a20506f29f1a5152f7f0caae34d9e13bd8 GIT binary patch literal 995 zcmV<9104KENk%w1VGsZi0QUd@HA!Q#!q~3A)cf$SlcKkfr_}W0jQ#n=jiSt&x9arc zjhw5&=%)fUN@VuyqNB3M@zZDRwjP(JyNYp2%)N}8gj)Oh^_qiQ&$xutzx|?L`@A~ZU`{vn|^wn#>qg>P9_3`xl@bvtUr_`F<+!7Cp>eL5YIVZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW003zKEC2ui01yBW000QU0MiH@NU&g<009IbL@2=fu~D~GLWF-h!z_nNC03FghrR500?k^;&Mk301A8%F+-4mhYw;> zY&e6KOb;(@0qETez`z(QXb65eQG!7PCsQ04fbgUO!7MF|mX zQvUz|oB#lvoMX;00LI3~|NqYaoX-FM{}U4v6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW00000EC2ui01N;P00#(703Qe(NN^y4g9sA}1R$W{!G;0=EEG^6 zBEyOjA26gCAV9^43l9cJkRSlUkN`%OJgHG6Ns|XBa`fnMBF2j#H9~w?vt>es1%o~a G2mm{uV7bKr literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/delete.gif b/css/msd_green/icons/delete.gif new file mode 100644 index 0000000000000000000000000000000000000000..131f69e7bb0e0c964c80f133af8561618267591f GIT binary patch literal 944 zcmV;h15f-%Nk%w1VGsZi0QUd@t~)!`JUp;FJMoT;y*xa$JUqobJnn^pDUN$h=l;$dL2J3HoVYuQLhzC1kFLPGJ8kJmvz*hfdT zJUr@ncgQVZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW0027xEC2ui01yBW000P$0Cxx+NU)&6g9jm4C^%q-K?pT&j2OsZ z1BU|^uxOF)2oS;N&$Lhl Sb^tpNtwFT{@ghVR5CA(M-UEjK literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/edit.gif b/css/msd_green/icons/edit.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfa895cf311613c09018c8063ae70fba2ecd276d GIT binary patch literal 985 zcmV;~119`ONk%w1VGsZi0QUd@?Y18M`Nj6@qS~AT^xuQwp#k*cjOeHW@XAo|%2Bo_ z8H#aAu9|I=dQ-S17Ot3T^lU@?_{7Y;jJHfoYH@g)gIk+~T87VL@WeyEqg z_u`M+%BYTXPUW~hdR{&Al6fYO7m{;9^wn#)sC((-$+e+z^3-dk9v-@%ZSm7*blOdE z%}ctQWRU({d|y7Ifkn~8lfNYVg~E=)AkqmI?A=I5V6c=20x>*_Fk&l)%Kr@Wn=7rbkx5C2*ot^y7{2 z#zm`-RC2pcjqjYF*Z+YiRsGeruj)>CK-^k6@o`+qe*_qV9c*nGc$C4I@Y(+1Y z9>}?jjk30|n{D~{^Y`oPif~J;fFf+uNsw+eQ%gee*V6z0|9^jffPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LW004dfEC2ui01yBW000QK0R0FYNU)&6f@wBPI9RX`76=ZAFdVoh zgq0pCCi?MmL`@9^R3^5d@#2S>Ee1^lnRDR`5IrKk+$dN?LXtK+n6QxJLq-WL1j_^n zFh;|ZD_tTCHA3(N2_0yZILU#7gOm>q2-XRMf)52c2>=`zGQb1D2V9nb5kMeplmY|r z5M+a)i2=3<#KMI^(1MK>cM0SbQlJV5f;_}zaFb=q3@C8&>`_sW%o_$37Q`75!$pUI H0RaFz?te=g literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/gz.gif b/css/msd_green/icons/gz.gif new file mode 100644 index 0000000000000000000000000000000000000000..f0adfe5aa5a13ba5136ac4f91db2b80d208234e8 GIT binary patch literal 1468 zcmV;t1w;BrNk%w1VITk?0Qdg@9gD~^o!D(=sIlDhHi*gO>-2o9%~XoRIG^9j;^TR< z+wbx9>i7Roqt`8z)rh&`q_(!a+SLF6i6WcYai+HmSEOad_A-CPEP}{kqO>MxyO_G> zw#nH|d$Uca;WxYT>F@QFy|hiU>Gt^fpQ*gX-QGf!%bc#Qg{;y{kd4LR-P`m0Wu4R1 z=jfxysov!5g|x7%!Q1Bh{`dL( zQ^M)-^!Zr3?!wgOWv0_;p0fY|g>$Q`RDQRVs*@{QYWUuM7x_;pX%t8kUB!uQ80!{QdoVu&&eL^2F)* zvDegpr`z`Y{coeuv*Y+;sOrt(?-ifm>ErIg+}~-G$4GOptIpDo#OSET#G$s(roGqK z=I@xYyxr{Uw$JG=cE5h9&-3~6%h&L}-rSbX^NgUst=8~&q|b4q*}K{9oUF5Xpwelg z(0!`gVy>ao*X7gP=8(zhOPbV&r^!r!!Ej)-rpx4H*Z;1}<(FNo3q|Nf-C+Jvpz(%b3L-s@J8%NZG$UysMB%Erav z^ZEbyX0G0V!Q}t`^@qaf+2HHn;_tD+h!zV)P}XZ zio3aRq^E*A^8LW00930EC2ui03ZM$000R80RIUbNU)&6g9sBUTzGInIB-6E81W&< zh!Gih7#=KQXhWJ{JETZ?V<8q4Sw->`S(zuJ!Y9mJjM0GM&mRX45ZwA;>zj-Mm{6Q@ z@r2-r7f6wcp+KQZm3dIBWXOmu73`S`FT(+<2OOC<+xHqhcK{Yi5IPV_jyFd^f*igX&$RMy;>bt|X zM?{6dJX!$3$uVUZ)JP4vtoK|PG|V9oIV@-r3Kl*Xct(EuNx-0g|2%=sArD|vgh3@- zs9@Q)BVI01+;V-TRgj{{xujyW^bDTWvk zl%OXPd?pdk2ty$Ah7)VlqQM_Fw4qQmfY5P=Abdo6#1WMY0mULaoU@A!N?>4$q6y(a zhaoKN!%71lh#*1`LEHjB7Y7uXVvQ26Op%&GdH92m1{V-;lLG-v0Kg=S;K0H(Sis3p z6h{IGCU>BHpZ!Mn4U(;bsF<*vn4^N+<&Z9D_td#y%Q&0E0L&RB(g6PkeImKk_uA Wh!COZV1S|==wpYyD5s2aKma=kKSqE6 literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/index.gif b/css/msd_green/icons/index.gif new file mode 100644 index 0000000000000000000000000000000000000000..678cc1d5e5f258713de7145778b786c2e2afb2c6 GIT binary patch literal 1003 zcmZ?wbhEHb6krfw_|Cxa<$m+G*Nfh6lbgI~`@@BdA5H~+{r;zS(U}R$FR$Bw<=59k zHy(YPwf)tX$34&A{(7;T>BBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIR#VED)(xO{z<1>;yX%=TpEEGM;Z)VOjD*U X44%+3TQTBBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIQKX86b<Su1;1#Fnlag_-swF;_*P7v^6Vr=%9#1xk^k)de;o2F(T(*gyDOi3$N&mEGN Rp7zRE7%ZzfAS}RO4FIssN=yI% literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/key_nokey.gif b/css/msd_green/icons/key_nokey.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5cfa65fd00877391ef9a9ed7a82c8bde468167b GIT binary patch literal 547 zcmZ?wbhEHb6krfwc*ekR{rdF>4<0OAw(QcSOS^XM3JMC^y?ghB2@{SUJz7&!)7aR! za^=dcTep7t^l9S6iFI{#XU?2izI=I4PtUt|@2aY*X3Ut8nwr|t(b3h_)!EtU=jWH6 zo_^rKf$iJ3FI>1VA|hhu%$Y?+Mf>;fcXV_-e*F0K>C>BfByXY_wPS^ z`0&S%AMNe!uV24zX=#azi`%wsTX%Q&ix)3WoH%j%^yzu?=7oiYtzNzQ>({RzKYl!N zcRYhhrK6XF-)V&^t( zGASf88gT* p*|uoNu485sRG4kvB4%OjIPK|1HRVBBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPcU%oXZXk=8*-`xHh@e*aj+DwrOO701bj-N5rNF(hNiZR8 zg+Nm}gS1An)fa){<$YIITg=+_=7rJ`E@hup3W^e}PTg#b3?c#_8V<1VvrKk4AfWj6 zmUy&EgF?iS)2+L*SThtA4zfG)1_do(b!gOWG%De^w_%YoyQG+D${PW}_I5{e=Usay OGP55OX=G$%um%8MDoY~( literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/key_unique.gif b/css/msd_green/icons/key_unique.gif new file mode 100644 index 0000000000000000000000000000000000000000..5dfe8325fdadb133d55edeb0854899c37e4cb41e GIT binary patch literal 1001 zcmZ?wbhEHb6krfw_+G*A<$m+G*Nfh6lbgI~`@@BdA5H~+{r;zS(U}R$FR$Bw<=59k zHy(YPwf)tX$34&A{(7;T>BBMCFOPd~&0)SZoB6}3fJZNXuHSj~|^KdT)zMH+U=(wFQ@NV zQT_YF`VY4oKVHfF`{VG76-?Op^Zbe}CwCpb^6ci+OVc>-KKuUa{jXWuUVr=f z_rsSzeT&XqzW4RP&4b6cv~?AFO)7SrkZ0PS<2qsam8v+~zdw&|I&{O-Gnru&49XBt z{K>+|z)-=U19BZGPdIQKWBAA+5CsF?s_w!` z-n!=%TVJ*AeABn!LCpXEf0jN@`+tAI?ZqMc-_6|kqVCD=hX3!+zCJVW>7K^_zu*1; z|DS;}p!k!8k%2*rK?h_E$WIJxEe=xyI5foCPb?HHwNmSB@b>(&(_%8iVaJbwGCU2- zxdLX$1hsoA{$WYsVw=2hLSiyIuUE$}nsWTZu>w{o&b2yv)z2uZMTE@fn5lH+GlVBweBvPp2ufrEleTicEuKhl!q H$Y2csXB3RO literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/nokey.gif b/css/msd_green/icons/nokey.gif new file mode 100644 index 0000000000000000000000000000000000000000..0a3caa67bf23998c087d03ca603c93af3fa9c96d GIT binary patch literal 1299 zcmZ?wbh9u|lx0w4_|DJp@87@IXXj3uwe|e+q`#l%Zm2h&G;wlfN^C=Q*|KFzeqYGH zaN+#(XHRzR+Vy>@!~g&Pe^@ayjDpb+7%m~8_>+Z^fq|bv2jn48o^a>*&!Ff~;qZa6 znUzD_K;y)QM8`&61_p~84hk%tj4~Dh4Gs;B%zQdh5hperY+~b;kny>Y(7?nh#=WN` zz(Ki*l~1xOW)x4{!Uq{Q+lU))^JvKMWp9|?b*0N(zh$fIYI~QgNe8bmTSyvxNceYs zbwaaFs1*PF$)A%~>j(yIopmXpVZm+oYpFF0_W%FqFDbwf$S05{>!{(#>KOWw*Mor} zne#&o<8R)U1b-fego(`zCd(NZWgA5GB|+=}g#xfWvE-U8rH=;fQ8r z7ZG5{F_9GuiAa=e5Mnl4b~Mb#<8~^|RulSRNk%57kL5BedK=KSs(sTM(o_@=( c%)I3mOUpeO1%Z}FFKVx8E`4=s8!Lk~0Hm54!~g&Q literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/ok.gif b/css/msd_green/icons/ok.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ca168e4041e46a42fa36302e495e64ba4e17b8b GIT binary patch literal 138 zcmV;50CoRINk%w1VGsZi0J9GOoVaAG=w`C*ZN&V3rQ=}A?wH8`fz9!px$|?;^P#`^ zdDZr(+4-yB{j=Tsu>b%6A^8LW000jFEC2ui01yBW000Cx@X1N5y*O(Mz?Ohvcp5Ma s4T%AY;;2&xA_xP6g3#s54JLtLAmNK02!unCQz$GevX691l|%plJI1I!q5uE@ literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/openfile.gif b/css/msd_green/icons/openfile.gif new file mode 100644 index 0000000000000000000000000000000000000000..898764012b6c2d30d5877c96799bda200d6eb5bc GIT binary patch literal 941 zcmZ?wbh9u|6krfw_|C`x1poj42a|LD|6lt1=d|x1I{$y4^5IG4|Ia=DKhHV0C;I>E zmjBONuJ5pabkP6*p{P(+@mKO2+KOXh}ddvUc-$AyHg3%Bd1R126PetE)tF5<6ec>cvM?*WxWnmqh`m#@dD0b!kQWCTm?!aBcrMHgp2{O8{SOWmJ+Ir&v literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/progressbar_dump.gif b/css/msd_green/icons/progressbar_dump.gif new file mode 100644 index 0000000000000000000000000000000000000000..c57f75e1a139ecb86135bef9dcf933aaf0c450fb GIT binary patch literal 502 zcmZ?wbhEHb)L;-`xXQr5uxJLuqM3p#7iex?opk!B>;4^8S1-8j-_d>NdeznQNvDqp ztXxoi^+Mw5qgtC+yYAnvxn*_IsUy`_&v)Osk#y>4;^`xro7Z&Rx$d@qd)2k`f-4pz zo;s?zWsTszqQ3R zwI%GV>>aFK{9WyBZLAVKto-bg`#aes+9wOLaEZFh0F3FyV*51%LDATD>==svD&WWaG1(v@`Tmo35(fP zHrrL4W>;BlR&v^`K6|jo&^E8(g zvobNU^z^Vy6cn5w)yE>)-#cqcACut3UKVZ%Hg0BKZf-W_HLID|uG+xM#=CLF2DUY9 z5?j`CiEtg_}3p59l|dTG_o_uGTbRhI49T4^F|`boc|X373pOo1J>4MLtWk)C!5RREtB48! literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/progressbar_speed.gif b/css/msd_green/icons/progressbar_speed.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8cd9dc771639b5836cccad7c301c815b60a30be GIT binary patch literal 484 zcmZ?wbhEHb)L;-`xXQqAhJoQ}TH5Wvzz@~c|7XrTV{H7hxA$3E+9iAYOAhvz>>Ymg z_I#+S{@K&}p}Oj4PtWbZpxZ%#cLD=%2L-*auD;~paM{8Bvc3I}p57n5y+3+--d9!s z=av5w8Do?8)m3+b0vTun6o0aS4b}mXAU`p%{dZ_6@X(R!Ke43fq=?wO z3oA;z<~A+iVp%k4t%_c!i`c?|mV>vtt|_^doDp}a*6DCz5pGoJ-_QN8UO-8xtX@z^ zsI;O%pn-{T0y{h7hk5n#rOb+aa*G%7tX{HX z1wR`bFE{VrJ=|=&xn&L?IJoo^>o;!Ry2dNP&3*64NhvnT{ktz7 zmfC;*@G)-5qq|pa-o`Aw_}e1s?OXmXSsr2;ag{50xi`Cc?W-*Xlb!r#NI7OKNuQ|9 z*em4w;c^H6!fpvgkA@Eidz$#7PN^ttcJr3d)zt4P+qRbOxRi#sPbr%z;5V6X-N DfN`z* literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/rename.gif b/css/msd_green/icons/rename.gif new file mode 100644 index 0000000000000000000000000000000000000000..c55d78ea2b89edc9f733cf32e552503f251186c4 GIT binary patch literal 296 zcmZ?wbh9u|RA5kG*v!uW1Px%^0Hzv%yao_BaNxjyp!k1=|6mG816e?z_>+Z^fq{`h z2Pg?NL4kpp<*LC6&((V^UY|APIPj@7hGR~O`l6NF`*hRh75H4vkGN6t8Zw4OUp zj)$d!zpACC)-S58*}cFv->xI7vB%#-J&mK)x2s$zIbpi@tlG&<^YdL6soTv?;qOkW zikZP~GQqjCVflQIwDfH|+E;OG+-nk&f8fx>1db`k>raO7pV=3Fbe_D2%Y?1_ug9Ek fQsh=x{bJF^XD{Ebe)H~QK;)-H!|y*N1sSXX1rL76 literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/search.gif b/css/msd_green/icons/search.gif new file mode 100644 index 0000000000000000000000000000000000000000..26e0cd408b16178aa0b289e9039e2a9b8d873f4c GIT binary patch literal 540 zcmZ?wbhEHb6krfwcoxF&4+#DP!9N*IS6MB$oT7%X*zA3WPy0m{h9{Lzn7*{QvhCmB ze_y|R{qyI~xr^7`{Nrj{r*%$P@axyF?Yj=_-gjin&O__B?B2Qe_@^(QzJB{wQq{I? z*OB6imiO;JEL^(g?c2A%e*Sd!Pd|J9>Zebi{{HzpVd^}fmDA_0lGb#-e)FERx?N~Y z&cta;vx^!VI%c~1#x7X4$;2W0%a<<}4xz_RUOaT{oV141@87>$d*}TB_piBQ@~4j< z?>=~voLwcQX5Y|0&Dt&D{G}ToK79QD_uu>X@0YCFx_aZTxRj!oFJCTRzVYGX=N~?N z`2OSPkMG|@6U%_qj~_paYx{tHW*7uO@h1x-149Ud4#+K_IALI~YzS#;ZfR{13(^;o zXlrqB_hk%Z=jsjd61NBrW?(RN>(!GA;A7;OtJ}+JBk8AZ#T0DV>!IMvD;&(EYS}9- z;-g}$=)x~J%|KMn(^=V3V_FECfUJ&*wvpMz7I}Lmr`yeH<{VlNo2)hcZJ&p5Gjn>s NwPTTa+tSEj4FIDy(VhSR literal 0 HcmV?d00001 diff --git a/css/msd_green/icons/table_truncate.gif b/css/msd_green/icons/table_truncate.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbcb3287d460565d031097db93aba93c60f752ad GIT binary patch literal 979 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 Y#ZN*9W0Cqf5g|gPnI;-ABmge|1z|&1I{*Lx literal 0 HcmV?d00001 diff --git a/css/msd_green/pics/loveyourdata.gif b/css/msd_green/pics/loveyourdata.gif new file mode 100644 index 0000000000000000000000000000000000000000..076c7538e60cdfc58adf59c9f231302eaf5ab4a7 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7d~kE{qJ;0Lp3yIRF3v literal 0 HcmV?d00001 diff --git a/css/msd_green/pics/mainnavi.gif b/css/msd_green/pics/mainnavi.gif new file mode 100644 index 0000000000000000000000000000000000000000..23547e33a5731b8f3d806845e917609e69e769a4 GIT binary patch literal 1748 zcmV;_1}phTNk%w1VUPh(0K^*r!NknJ!pgh9$ji>uy1vKJ(%8w%(!RmU#K+Ia$41ejE#v7^V2AVZ2ANiw9BE+|v~s$9u3i-ia0PICJXU$+M@= zpFo2O9ZIyQ(W6L{4z(bmsne%Wqe`7hwW`&tShH%~%C)Q4uVBN99ZR;XS+Eu+s9npp zt=qS7(BTJr4xw7TUm@{kM z%(=7Y&!9D1pg_8`>C>oFt6t5zwd>cgW6PdRySDAyxO3~?&Aaz)3k-q_A5Ofu@#Dyo zD__pMx%21Hqf4Joy}I@5*t2V&ZefFk@8H9WA5Xr#`Sa-0t6$H)z5Dm@5f($n3;DZoGDB*+@R%juF7F?*|h8%Y2;fElG zDB_4AW=P_RD5j|5iY&J1qJbv9DC3MY)@b96Ct3i&jy(40NG7S| zl1w(~0+o_zM{=bwNED(Iku7Ha6Bh$gD&qKr1`D54e!AnBx(R%+>`m}aW!rkr-_ z>8GHED(a}DmTKy$sHUpws-;>$z^kyvD(kGY)@tjmxaO+suDtf@>#x8DE9|hu7HjOW z$O>!00?an+?6c5DEA6z@R%`A5wb*8>?Y7)@>+QGThAZy4+ZYo z#w+i;I#y}#z4+#<@4o!@>+iq(#)#v<1Q%@Z!8BTcz`_hS?C`@7M=bHg6jyBV#TaL- z@x~l??D5AShb;2QBztT@0w|}f^2#i??DESn$1L;AG}mnN%{b?*^Ugf??DNk+2fece z1{7`d(MTt)^wLZ>?ex=7M=kZ#R99{F)mUe(_10W>?KRdG3?TN{WS4FB*=VP&_S$T> z?e^Pn$1V5Vbk}Y7-FWA%_uh3|P{7}S2QK*Fgcol3;fN=$_~MK=?)c-7M=tr~lvi%~ z<(NxufdZU&?)m4Shc5d6=%kl!`st{ruKMb%x9WM@YgFn(%}uyhnIa$if!7@P#mpAx6NXz8c!_ zhB(Zj4#oGK@A>eDKy=WHd}@*2u;-y77&0jH4XqNXIyi#y5D(qaOFj$3FV;kAMuM zAAz%-LK^arh)kp+7s<#*I#Q9i8=fR5Ny$oD@{*X$4cT|UVjA<9$V{d(m&wdR zWP*UujHWcFNzH0n^O~cuMFh9W&2D=0o8SzmIDs(@51R9w=uD?N*U8RycB3IOjHf*3 zNzZz|5T5qTr#|<|&wl!Ym%c(vq6=q$o|PN>?fuHP-Q^Fpa59XG+tW+VnAZ6r@gf%F~|u q^rt`#Dr*S&$f6qcs7Ot!QkTk9rfor%KhT4sSmp002Ano%a|3 literal 0 HcmV?d00001 diff --git a/css/msd_green/pics/navi_bg.jpg b/css/msd_green/pics/navi_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b956ed9db516d145892a3653c700d60167e51ca GIT binary patch literal 21264 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 0 ) ? $config['minspeed'] : 50 ); + $dump['dump_encoding']=( isset($_POST['dump_encoding']) ) ? urldecode($_POST['dump_encoding']) : ''; + + if (isset($_GET['sel_dump_encoding'])) + { + // Erstaufruf -> encoding auswerten + include_once ( './inc/functions_sql.php' ); + get_sql_encodings(); + $encodingline=$config['mysql_possible_character_sets'][$_GET['sel_dump_encoding']]; + $encoding=explode(' ',$encodingline); + $dump['dump_encoding']=isset($encoding[0]) ? $encoding[0] : $encodingline; + } + + $dump['tabellen_gesamt']=0; +} + +$mp2=array( + + 'Bytes', + 'Kilobytes', + 'Megabytes', + 'Gigabytes' +); + +FillMultiDBArrays(); +if ($databases['db_actual_tableselected'] != '' && $config['multi_dump'] == 0) +{ + $dump['tblArray']=explode('|',$databases['db_actual_tableselected']); + $tbl_sel=true; + $msgTbl=sprintf($lang['nr_tables_selected'],count($dump['tblArray'])); +} +// Korrektur -> Multi-DB-Array ist gefuellt (damit die Infos in der Konfig nicht verloren gehen), aber Multidump ist nicht aktiviert) +if ($config['multi_dump'] == 0) +{ + unset($databases['multi']); + $databases['multi']=array(); + $databases['multi'][0]=$databases['db_actual']; +} +else +{ + // wenn Multidump aktiviert ist, aber keine DB gewaehlt wurde -> aktuelle DB uebernehmen + if (!isset($databases['multi'][0])) $databases['multi'][0]=$databases['db_actual']; +} + +//Zeitzähler aktivieren +$dump['max_zeit']=intval($config['max_execution_time'] * $config['time_buffer']); +$dump['startzeit']=time(); +$xtime=( isset($_POST['xtime']) ) ? $_POST['xtime'] : time(); +$dump['countdata']=( !empty($_POST['countdata']) ) ? $_POST['countdata'] : 0; +$dump['aufruf']=( !empty($_POST['aufruf']) ) ? $_POST['aufruf'] : 0; +MSD_mysql_connect($dump['dump_encoding']); + +// only read tableinfos the first time and save it to session to speed up backing up process +if (!isset($_SESSION['dump'])) getDBInfos(); + +$num_tables=count($dump['tables']); +if ($config['optimize_tables_beforedump'] == 1 && $dump['table_offset'] == -1) $out.=sprintf($lang['nr_tables_optimized'],$num_tables) . '
'; +$dump['data']=''; +$dump['dbindex']=( isset($_POST['dbindex']) ) ? $_POST['dbindex'] : $flipped[$databases['multi'][0]]; + +//Ausgaben-Header bauen +$aus_header[]=headline('Backup: ' . ( ( $config['multi_dump'] == 1 ) ? 'Multidump (' . count($databases['multi']) . ' ' . $lang['dbs'] . ')' : $lang['db'] . ': ' . $databases['Name'][$dump['dbindex']] . ( ( $databases['praefix'][$dump['dbindex']] != '' ) ? ' (' . $lang['withpraefix'] . ' ' . $databases['praefix'][$dump['dbindex']] . ')' : '' ) )); +if (isset($aus_error) && count($aus_error) > 0) $aus_header=array_merge($aus_header,$aus_error); + +if ($num_tables == 0) +{ + //keine Tabellen gefunden + $aus[]='

' . $lang['error'] . ': ' . sprintf($lang['dump_notables'],$databases['Name'][$dump['dbindex']]) . '

'; + if (!$config['multi_dump'] == 1) + { + echo $pageheader; + echo get_page_parameter($dump); + echo implode("\n",$aus); + echo ''; + exit(); + } +} +else +{ + if ($dump['table_offset'] == -1) + { + // File anlegen, da Erstaufruf + new_file(); + $dump['table_offset']=0; // jetzt kanns losgehen + flush(); + } + else + { + // SQL-Befehle ermitteln + $dump['restzeilen']=$dump['anzahl_zeilen']; + WHILE (( $dump['table_offset'] < $num_tables ) && ( $dump['restzeilen'] > 0 )) + { + $table=substr($dump['tables'][$dump['table_offset']],strpos($dump['tables'][$dump['table_offset']],'|') + 1); + $adbname=substr($dump['tables'][$dump['table_offset']],0,strpos($dump['tables'][$dump['table_offset']],'|')); + if ($databases['Name'][$dump['dbindex']] != $adbname) + { + //neue Datenbank + $dump['data'].="\nSET FOREIGN_KEY_CHECKS=1;"; + $dump['data'].="\n" . $mysql_commentstring . ' EOB' . "\n\n"; + WriteToDumpFile(); + WriteLog('Dump \'' . $dump['backupdatei'] . '\' finished.'); + ExecuteCommand('a'); + if ($config['multi_part'] == 1) + { + $out.=$lang['finished'] . '
'; + $dateistamm=substr($dump['backupdatei'],0,strrpos($dump['backupdatei'],'part_')) . 'part_'; + $dateiendung=( $config['compression'] == 1 ) ? '.sql.gz' : '.sql'; + for ($i=1; $i < ( $dump['part'] - $dump['part_offset'] ); $i++) + { + $mpdatei=$dateistamm . $i . $dateiendung; + clearstatcache(); + $sz=byte_output(@filesize($config['paths']['backup'] . $mpdatei)); + $out.=$lang['file'] . ' ' . $mpdatei . ' (' . $sz . ') ' . $lang['dump_successful'] . '
'; + } + } + else + { + clearstatcache(); + $out.=$lang['finished'] . '
' . $dump['backupdatei'] . ' (' . byte_output(filesize($config['paths']['backup'] . $dump['backupdatei'])) . ')
'; + } + if ($config['send_mail'] == 1) DoEmail(); + + for ($i=0; $i < 3; $i++) + { + if ($config['ftp_transfer'][$i] == 1) DoFTP($i); + } + if (isset($flipped[$adbname])) $dump['dbindex']=$flipped[$adbname]; + $dump['part_offset']=$dump['part'] - 1; + $out.='

'; + new_file(); + } + + $aktuelle_tabelle=$dump['table_offset']; + if ($dump['zeilen_offset'] == 0) + { + if ($config['minspeed'] > 0) + { + $dump['anzahl_zeilen']=$config['minspeed']; + $dump['restzeilen']=$config['minspeed']; + } + + $create_statement=''; + $create_statement=get_def($adbname,$table); + + if (!( $create_statement === false )) + { + $dump['data'].=$create_statement; + } + else + { + WriteToDumpFile(); // save data we have up to now + // error reading table definition + $read_create_error=sprintf($lang['fatal_error_dump'],$table,$adbname) . ': ' . mysql_error($config['dbconnection']); + Errorlog("DUMP",$databases['db_actual'],'',$read_create_error,0); + WriteLog($read_create_error); + if ($config['stop_with_error'] > 0) + { + die($read_create_error); + } + $dump['errors']++; + } + } + WriteToDumpFile(); + if (!in_array($adbname . '|' . $table,$dump['skip_data']) && $dump['table_types'][getDBIndex($adbname,$table)] != 'VIEW') + { + get_content($adbname,$table); + $dump['restzeilen']--; + } + else + { + // skip data + if ($dump['table_types'][getDBIndex($adbname,$table)] != 'VIEW') $dump['data'].='/*!40000 ALTER TABLE `' . $table . '` ENABLE KEYS */;' . "\n"; + WriteToDumpFile(); + $dump['table_offset']++; + } + if ($config['memory_limit'] > 0 && strlen($dump['data']) > $config['memory_limit']) WriteToDumpFile(); + } + } + + ///////////////////////////////// + // Anzeige - Fortschritt + ///////////////////////////////// + + + if ($config['multi_dump'] == 1) + { + $mudbs=''; + $count_dbs=count($databases['multi']); + for ($i=0; $i < $count_dbs; $i++) + { + //$a.=$databases['multi'][$i]; + if ($databases['Name'][$dump['dbindex']] == $databases['multi'][$i]) $mudbs.='' . $databases['multi'][$i] . '   '; + else $mudbs.='' . $databases['multi'][$i] . '   '; + } + } + if ($config['multi_part'] == 1) $aus[]='
Multipart-Backup: ' . $config['multipartgroesse1'] . ' ' . $mp2[$config['multipartgroesse2']] . '
'; + + $aus[]='

' . $lang['dump_headline'] . '

'; + + if ($dump['kommentar'] > '') $aus[]=$lang['comment'] . ': ' . $dump['kommentar'] . '
'; + $aus[]=( $config['multi_dump'] == 1 ) ? $lang['db'] . ': ' . $mudbs : $lang['db'] . ': ' . $databases['Name'][$dump['dbindex']] . ''; + $aus[]=( ( $databases['praefix'][$dump['dbindex']] != '' ) ? ' (' . $lang['withpraefix'] . ' ' . $databases['praefix'][$dump['dbindex']] . ')' : '' ) . '
'; + if (isset($tbl_sel)) $aus[]=$msgTbl . '

'; + + if ($config['multi_part'] == 1) + { + $aus[]='Multipart-Backup File ' . ( $dump['part'] - $dump['part_offset'] - 1 ) . '
'; + $aus2=', ' . ( $dump['part'] - 1 ) . ' files'; + } + $aus[]=$lang['dump_filename'] . '' . $dump['backupdatei'] . '
' . $lang['charset'] . ': ' . $dump['dump_encoding'] . '' . + + '
' . $lang['filesize'] . ': ' . byte_output($dump['filesize']) . '

' . $lang['gzip_compression'] . ' '; + $aus[]=( $config['compression'] == 1 ) ? $lang['activated'] : $lang['not_activated']; + $aus[]='.
'; + if ($out > '') $aus[]='
' . $out . ''; + + if (isset($dump['tables'][$dump['table_offset']])) + { + $table=substr($dump['tables'][$dump['table_offset']],strpos($dump['tables'][$dump['table_offset']],'|') + 1); + $adbname=substr($dump['tables'][$dump['table_offset']],0,strpos($dump['tables'][$dump['table_offset']],'|')); + + // get nr of recorsd from dump-array + $record_string=$dump['records'][$dump['table_offset']]; + $record_string=explode('|',$record_string); + $dump['zeilen_total']=$record_string[1]; + + if ($dump['zeilen_total'] > 0) $fortschritt=intval(( 100 * $dump['zeilen_offset'] ) / $dump['zeilen_total']); + else $fortschritt=100; + + $aus[]=$lang['saving_table'] . '' . ( $dump['table_offset'] + 1 ) . ' ' . $lang['of'] . ' ' . sizeof($dump['tables']) . '
' . $lang['actual_table'] . ': ' . $table . '

' . $lang['progress_table'] . ':
'; + + $aus[]='' . '' . '' . ''; + + if ($dump['anzahl_zeilen'] + $dump['zeilen_offset'] >= $dump['zeilen_total']) + { + $eintrag=$dump['zeilen_offset'] + 1; + $zeilen_gesamt=$dump['zeilen_total']; + if ($zeilen_gesamt == 0) $eintrag=0; + } + else + { + $zeilen_gesamt=$dump['zeilen_offset'] + $dump['anzahl_zeilen']; + $eintrag=$dump['zeilen_offset'] + 1; + } + + $aus[]='' . '
 ' . ( $fortschritt ) . '%
' . $lang['entry'] . ' ' . number_format($eintrag,0,',','.') . ' ' . $lang['upto'] . ' ' . number_format(( $zeilen_gesamt ),0,',','.') . ' ' . $lang['of'] . ' ' . number_format($dump['zeilen_total'],0,',','.') . '
'; + + $dump['tabellen_gesamt']=( isset($dump['tables']) ) ? count($dump['tables']) : 0; + + $noch_zu_speichern=$dump['totalrecords'] - $dump['countdata']; + $prozent=( $dump['totalrecords'] > 0 ) ? round(( ( 100 * $noch_zu_speichern ) / $dump['totalrecords'] ),0) : 100; + if ($noch_zu_speichern == 0 || $prozent > 100) $prozent=100; + + $aus[]="\n" . '
' . $lang['progress_over_all'] . ':' . "\n" . '' . '' . '' . '
' . ( 100 - $prozent ) . '%
'; + + //Speed-Anzeige + $fw=( $config['maxspeed'] == $config['minspeed'] ) ? 300 : round(( $dump['anzahl_zeilen'] - $config['minspeed'] ) / ( $config['maxspeed'] - $config['minspeed'] ) * 300,0); + if ($fw > 300) $fw=300; + $aus[]='
' . '
' . 'Speed
' . $dump['anzahl_zeilen'] . '
' . '' . '
' . '' . '
' . '' . '' . '
' . $config['minspeed'] . '' . $config['maxspeed'] . '
' . "\n" . '
' . + + //Status-Text + '

' . zeit_format(time() - $xtime) . ', ' . $dump['aufruf'] . ' pages' . $aus2; + $aus[]=( $dump['errors'] > 0 ) ? ', ' . $dump['errors'] . ' errors' : ''; + $aus[]='

'; + } + else + $dump['table_offset']++; + ////////////////////////////////////// + // Ende Anzeige + ////////////////////////////////////// + + + WriteToDumpFile(); + + flush(); + if (!isset($summe_eintraege)) $summe_eintraege=0; + + if ($dump['table_offset'] <= $dump['tabellen_gesamt']) + { + $dauer=time() - ( $xtime + $dump['verbraucht'] ); + $dump['verbraucht']+=$dauer; + $summe_eintraege+=$dump['anzahl_zeilen']; + + //Zeitanpassung + if ($dauer < $dump['max_zeit']) + { + $dump['anzahl_zeilen']=$dump['anzahl_zeilen'] * $config['tuning_add']; + if ($dauer < $dump['max_zeit'] / 2) $dump['anzahl_zeilen']*=1.8; + if ($dump['anzahl_zeilen'] > $config['maxspeed']) $dump['anzahl_zeilen']=$config['maxspeed']; + } + else + { + $dump['anzahl_zeilen']=$dump['anzahl_zeilen'] * $config['tuning_sub']; + if ($dump['anzahl_zeilen'] < $config['minspeed']) $dump['anzahl_zeilen']=$config['minspeed']; + } + $dump['anzahl_zeilen']=intval($dump['anzahl_zeilen']); + $dump['aufruf']++; + } + else + { + //Backup fertig + $dump['data']="\nSET FOREIGN_KEY_CHECKS=1;"; + $dump['data'].="\n" . $mysql_commentstring . ' EOB' . "\n\n"; + WriteToDumpFile(); + ExecuteCommand('a'); + chmod($config['paths']['backup'] . $dump['backupdatei'],0755); + if ($config['multi_part'] == 1) + { + $out.="\n" . '
'; + $dateistamm=substr($dump['backupdatei'],0,strrpos($dump['backupdatei'],'part_')) . 'part_'; + $dateiendung=( $config['compression'] == 1 ) ? '.sql.gz' : '.sql'; + clearstatcache(); + for ($i=1; $i < ( $dump['part'] - $dump['part_offset'] ); $i++) + { + $mpdatei=$dateistamm . $i . $dateiendung; + $sz=byte_output(@filesize($config['paths']['backup'] . $mpdatei)); + $out.="\n" . $lang['file'] . ' ' . $mpdatei . ' (' . $sz . ') ' . $lang['dump_successful'] . '
'; + } + + } + else + $out.="\n" . '
' . $lang['file'] . ' ' . $dump['backupdatei'] . ' (' . byte_output(filesize($config['paths']['backup'] . $dump['backupdatei'])) . ')' . '' . $lang['dump_successful'] . '
'; + + $xtime=time() - $xtime; + $aus=Array(); + $aus[]='
' . "\n"; + if ($config['multi_dump'] == 1) + { + WriteLog('Dump \'' . $dump['backupdatei'] . '\' finished.'); + WriteLog('Multidump: ' . count($databases['multi']) . ' Databases in ' . zeit_format($xtime) . '.'); + } + else + WriteLog('Dump \'' . $dump['backupdatei'] . '\' finished in ' . zeit_format($xtime) . '.'); + + if ($config['send_mail'] == 1) DoEmail(); + for ($i=0; $i < 3; $i++) + { + if ($config['ftp_transfer'][$i] == 1) DoFTP($i); + } + + $aus[]='' . $lang['done'] . '
'; + + if ($config['multi_dump'] == 1) + { + $aus[]=sprintf($lang['multidump'],count($databases['multi'])) . ': '; + $aus[]='' . implode(', ',$databases['multi']) . ''; + $aus2=''; + $out=''; + } + else + { + $aus[]='
' . sprintf($lang['dump_endergebnis'],$num_tables,number_format($dump['countdata'],0,',','.')); + } + if ($dump['errors'] > 0) $aus[]=sprintf($lang['dump_errors'],$dump['errors']); + + $aus[]='
' . $out . '
' . '

' . zeit_format($xtime) . ', ' . $dump['aufruf'] . ' pages' . $aus2 . '

' . "\n"; + $aus[]="\n" . '
'; + $aus[]='   '; + $aus[]='   

'; + $aus[]='
'; + + $DumpFertig=1; + } +} + +//===================================================================== +//================= Anzeige =========================================== +//===================================================================== + + +//Seite basteln +$aus=array_merge($aus_header,$aus); + +$dump['xtime']=$xtime; +if ($DumpFertig != 1) +{ + // save actual values to session + $_SESSION['dump']=$dump; + $page_parameter=get_page_parameter($dump); + $pagefooter=''; + $selbstaufruf=$page_parameter . '
'; +} +else +{ + $dump=array(); + $_SESSION['dump']=$dump; + $pagefooter=MSDFooter('',1); + $selbstaufruf=''; +} +$complete_page=$pageheader . implode("\n",$aus) . "\n" . $selbstaufruf . "\n" . $pagefooter . ''; +echo $complete_page; +ob_end_flush(); +?> \ No newline at end of file diff --git a/filemanagement.php b/filemanagement.php new file mode 100644 index 0000000..73508b1 --- /dev/null +++ b/filemanagement.php @@ -0,0 +1,559 @@ +'; + if (is_array($databases['multi'])) + { + for ($i=0; $i < sizeof($databases['multi']); $i++) + { + if ($i > 0) $toolboxstring.=', '; + $toolboxstring.=$databases['multi'][$i]; + if ($multi_praefixe[$i] > '') $toolboxstring.=' (\'' . $multi_praefixe[$i] . '\')'; + } + } +} + +//-------------------------------------------------------- +//*** Abfrage ob Dump nach Tabellenaufruf *** +//-------------------------------------------------------- +if (isset($_POST['dump_tbl'])) +{ + $check_dirs=TestWorkDir(); + if (!$check_dirs === true) die($check_dirs); + $databases['db_actual_tableselected']=substr($_POST['tbl_array'],0,strlen($_POST['tbl_array']) - 1); + WriteParams(); + $dump['fileoperations']=0; + echo ''; + exit(); +} + +//-------------------------------------------------------- +//*** Abfrage ob Dump *** +//-------------------------------------------------------- +if (isset($_POST['dump'])) +{ + if (isset($_POST['tblfrage']) && $_POST['tblfrage'] == 1) + { + //Tabellenabfrage + $tblfrage_refer="dump"; + include ( "inc/tabellenabfrage.php" ); + exit(); + } + else + { + @$check_dir=TestWorkDir(); + if (!$check_dir === true) die($check_dir); + $databases['db_actual_tableselected']=""; + WriteParams(); + + $dump['fileoperations']=0; + echo ''; + exit(); + } +} + +//-------------------------------------------------------- +//*** Abfrage ob Restore nach Tabellenaufruf *** +//-------------------------------------------------------- +if (isset($_POST['restore_tbl'])) +{ + $databases['db_actual_tableselected']=substr($_POST['tbl_array'],0,strlen($_POST['tbl_array']) - 1); + WriteParams(); + echo ''; + + exit(); +} +//-------------------------------------------------------- +//*** Abfrage ob Restore *** +//-------------------------------------------------------- +if (isset($_POST['restore'])) +{ + if (isset($_POST['file'])) + { + if (isset($_POST['tblfrage']) && $_POST['tblfrage'] == 1) + { + //Tabellenabfrage + $tblfrage_refer="restore"; + $filename=urldecode($_POST['file'][0]); + include ( "inc/tabellenabfrage.php" ); + exit(); + } + else + { + $file=$_POST['file'][0]; + $statusline=read_statusline_from_file($file); + if (isset($_POST['sel_dump_encoding_restore'])) + { + $encodingstring=$config['mysql_possible_character_sets'][$_POST['sel_dump_encoding_restore']]; + $encoding=explode(' ',$encodingstring); + $dump_encoding=$encoding[0]; + } + else + { + if (!isset($statusline['charset']) || trim($statusline['charset']) == '?') + { + echo headline($lang['fm_restore'] . ': ' . $file); + + // if we can't detect encoding ask user + echo '
' . $lang['choose_charset'] . '

'; + echo '
'; + echo ''; + + echo '
' . $lang['fm_choose_encoding'] . ':'; + echo '
'; + echo $lang['mysql_connection_encoding'] . ':' . $config['mysql_standard_character_set'] . '

'; + echo ''; + echo '
'; + exit(); + } + else + $dump_encoding=$statusline['charset']; + } + + $databases['db_actual_tableselected']=""; + WriteParams(); + echo ''; + exit(); + } + } + else + $msg.='

' . $lang['fm_nofile'] . '

'; +} + +//-------------------------------------------------------- +//*** Abfrage ob Delete *** +//-------------------------------------------------------- +$del=array(); +if (isset($_POST['delete'])) +{ + if (isset($_POST['file'])) + { + $file=$_POST['file']; + if ($_POST['multi'] == 1) + { + $delfiles=Array(); + for ($i=0; $i < count($_POST['file']); $i++) + { + if ($_POST['multipart'][$i] == 0) + { + $delfiles[]=$_POST['file'][$i]; + } + else + { + $delfiles[]=substr($_POST['file'][$i],0,strpos($_POST['file'][$i],"_part_")) . "*.*"; + } + } + for ($i=0; $i < count($delfiles); $i++) + { + $del=array_merge($del,DeleteFilesM($fpath,$delfiles[$i])); + } + } + else + { + + if ($_POST['multipart'][0] == 0) + { + $delfiles[]=$_POST['file'][0]; + } + else + { + $delfiles[]=substr($_POST['file'][0],0,strpos($_POST['file'][0],"_part_")) . "*.*"; + } + + $del=array_merge($del,DeleteFilesM($fpath,$delfiles[0])); + } + } + else + $msg.='

' . $lang['fm_nofile'] . '

'; +} +if (isset($_POST['deleteauto'])) $msg.='

' . AutoDelete() . '

'; + +if (isset($_POST['deleteall']) || isset($_POST['deleteallfilter'])) +{ + if (isset($_POST['deleteall'])) + { + $del=DeleteFilesM($fpath,"*.sql"); + $del=array_merge($del,DeleteFilesM($fpath,"*.gz")); + } + else + $del=DeleteFilesM($fpath,$databases['db_actual'] . "*"); +} + +// print file-delete-messages +if (is_array($del)) +{ + foreach ($del as $filename=>$success) + { + if ($success) + { + $msg.=''; + $msg.=$lang['fm_delete1'] . ' \'' . $filename . '\' ' . $lang['fm_delete2']; + WriteLog("deleted '$filename'."); + $msg.='
'; + } + else + { + $msg.=''; + $msg.=$lang['fm_delete1'] . ' \'' . $filename . '\' ' . $lang['fm_delete3']; + WriteLog("deleted '$filename'."); + $msg.='
'; + } + } +} + +////////////////////////////////// +// Upload +/////////////////////////////////// +if (isset($_POST['upload'])) +{ + $error=false; + if (!isset($_FILES['upfile']['name'])) echo '' . $lang['fm_uploadfilerequest'] . '

'; + else + { + if (!file_exists($fpath . $_FILES['upfile']['name'])) + { + // Extension ermitteln -strrpos fängt hinten an und ermittelt somit den letzten Punkt + $endung=strrchr($_FILES['upfile']['name'],"."); + $erlaubt=ARRAY( + + ".gz", + ".sql" + ); + if (!in_array($endung,$erlaubt)) + { + $msg.="" . $lang['fm_uploadnotallowed1'] . "
"; + $msg.=$lang['fm_uploadnotallowed2'] . "
"; + } + else + { + if (!$error) + { + if (move_uploaded_file($_FILES['upfile']['tmp_name'],$fpath . $_FILES['upfile']['name'])) @chmod($fpath . $upfile_name,0755); + else $error.="" . $lang['fm_uploadmoveerror'] . "
"; + } + if ($error) $msg.=$error . "" . $lang['fm_uploadfailed'] . "
"; + } + } + else + $msg.="" . $lang['fm_uploadfileexists'] . "
"; + } +} + +//Seitenteile vordefinieren +$href='filemanagement.php?action=' . $action . '&kind=' . $kind; + +$tbl_abfrage=''; +if ($config['multi_dump'] == 0) $tbl_abfrage='' . $lang['fm_selecttables'] . ''; +$dk=( isset($_POST['dumpKommentar']) ) ? htmlentities($_POST['dumpKommentar']) : ''; +$tbl_abfrage.='' . $lang['fm_comment'] . ':'; + +$autodel='

' . $lang['autodelete'] . ": "; +$autodel.=( $config['auto_delete'] == 0 ) ? $lang['not_activated'] : $lang['activated'] . ' (' . $config['max_backup_files'] . ' ' . $lang['max_backup_files_each2'] . ')'; +$autodel.='

'; + +//Fallunterscheidung +switch ($action) +{ + case 'dump': + //Variablen + if ($config['multi_dump'] == 0) DBDetailInfo($databases['db_selected_index']); + $cext=( $config['cron_extender'] == 0 ) ? "pl" : "cgi"; + $actualUrl=substr($_SERVER['SCRIPT_NAME'],0,strrpos($_SERVER['SCRIPT_NAME'],"/") + 1); + if (substr($actualUrl,-1) != "/") $actualUrl.="/"; + if (substr($actualUrl,0,1) != "/") $actualUrl="/$actualUrl"; + $refdir=( substr($config['cron_execution_path'],0,1) == "/" ) ? "" : $actualUrl; + $scriptdir=$config['cron_execution_path'] . 'crondump.' . $cext; + $sfile=$config['cron_execution_path'] . "perltest.$cext"; + $simplefile=$config['cron_execution_path'] . "simpletest.$cext"; + $scriptentry=Realpfad("./") . $config['paths']['config']; + $cronabsolute=( substr($config['cron_execution_path'],0,1) == "/" ) ? $_SERVER['DOCUMENT_ROOT'] . $scriptdir : Realpfad("./") . $scriptdir; + $confabsolute=$config['config_file']; + $scriptref=getServerProtocol() . $_SERVER['SERVER_NAME'] . $refdir . $config['cron_execution_path'] . 'crondump.' . $cext . "?config=" . $confabsolute; + $cronref="perl " . $cronabsolute . " -config=" . $confabsolute . " -html_output=0"; + + //Ausgabe + echo headline($lang['fm_dump_header'] . ' ("' . $lang['config_headline'] . ': ' . $config['config_file'] . '")'); + if (!is_writable($config['paths']['backup'])) die('' . sprintf($lang['wrong_rights'],'work/backup','777') . ''); + + echo ( $msg > '' ) ? $msg . '
' : ''; + echo $autodel; + + //Auswahl + echo '
+ +       + +
'; + + echo '
'; + + //Dumpsettings + echo '
' . $lang['dump'] . ' (PHP)
'; + + echo '
'; + echo '
'; + + echo '
+ '; + echo ''; + echo $tbl_abfrage; + echo ''; + echo ''; + echo ''; + echo '
' . $lang['mysql_connection_encoding'] . ':' . $config['mysql_standard_character_set'] . '
'; + echo ''; + + echo '
' . $lang['fm_dumpsettings'] . ' (PHP)
'; + + echo ''; + echo ''; + + if ($config['multi_dump'] == 0 && $databases['praefix'][$databases['db_selected_index']] > '') + { + echo ''; + } + + echo ''; + + echo ''; + + if ($config['multi_part'] == 1) + { + echo ''; + } + + if ($config['send_mail'] == 1) + { + $t=$config['email_recipient'] . ( ( $config['send_mail_dump'] == 1 ) ? $lang['withattach'] : $lang['withoutattach'] ); + } + echo ''; + + for ($x=0; $x < 3; $x++) + { + if (isset($config['ftp_transfer'][$x]) && $config['ftp_transfer'][$x] > 0) + { + echo table_output($lang['ftp_transfer'],sprintf(str_replace('
',' ',$lang['ftp_send_to']),$config['ftp_server'][$x],$config['ftp_dir'][$x]),1,2); + } + } + //echo ''; + echo '
' . $lang['db'] . ':'; + if ($config['multi_dump'] == 1) + { + echo 'Multidump (' . count($databases['multi']) . ' ' . $lang['dbs'] . ')'; + echo '' . $toolboxstring . ''; + } + else + { + echo $databases['db_actual'] . '  (' . $databases['Detailinfo']['tables'] . " Tables, " . $databases['Detailinfo']['records'] . " Records, " . byte_output($databases['Detailinfo']['size']) . ')'; + + } + echo '
' . $lang['praefix'] . ':'; + echo $databases['praefix'][$databases['db_selected_index']]; + echo '
' . $lang['gzip'] . ':' . ( ( $config['compression'] == 1 ) ? $lang['activated'] : $lang['not_activated'] ); + echo '
' . $lang['multi_part'] . ':' . ( ( $config['multi_part'] == 1 ) ? $lang['yes'] : $lang['no'] ); + echo '
' . $lang['multi_part_groesse'] . ':' . byte_output($config['multipart_groesse']) . '
' . $lang['send_mail_form'] . ':' . ( ( $config['send_mail'] == 1 ) ? $t : $lang['not_activated'] ); + echo '
'; + + echo '

'; + + echo '
'; + + break; + + case 'restore': + echo headline(sprintf($lang['fm_restore_header'],$databases['db_actual'])); + echo '
'; + + echo ( $msg > '' ) ? $msg : ''; + echo $autodel; + + echo '
'; + echo '
'; + echo ''; + echo ''; + + echo FileList(); + + echo ''; + + echo '
'; + + break; + case 'files': + $sysfedit=( isset($_POST['sysfedit']) ) ? 1 : 0; + $sysfedit=( isset($_GET['sysfedit']) ) ? $_GET['sysfedit'] : $sysfedit; + echo headline($lang['file_manage']); + echo ( $msg > '' ) ? $msg . '
' : ''; + echo $autodel; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + + echo FileList() . '
'; + + echo '
' . $lang['fm_fileupload'] . '
'; + echo '
'; + echo ''; + echo ''; + echo '
' . $lang['max_upload_size'] . ': ' . $config['upload_max_filesize'] . ''; + echo '
' . $lang['max_upload_size_info']; + + echo '
'; + + echo '
Tools
'; + echo ''; + echo '
'; + + break; + case "convert": + // Konverter + echo headline($lang['converter']); + echo '

'; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
' . $lang['convert_title'] . '
' . $lang['convert_file'] . '' . FilelisteCombo($config['paths']['backup'],$selectfile) . '
' . $lang['convert_filename'] . ':
' . $lang['compressed'] . '

'; + if (isset($_POST['startconvert'])) + { + //$destfile.=($compressed==1) ? ".sql.gz" : ".sql"; + echo $lang['converting'] . " $selectfile ==> $destfile
"; + + if ($selectfile != "" && file_exists($config['paths']['backup'] . $selectfile) && strlen($destfile) > 2) + { + Converter($selectfile,$destfile,$compressed); + } + else + echo $lang['convert_wrong_parameters']; + } + +} +echo MSDFooter(); +?> \ No newline at end of file diff --git a/help.php b/help.php new file mode 100644 index 0000000..1dd3b74 --- /dev/null +++ b/help.php @@ -0,0 +1,57 @@ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/images/blank.gif b/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..076c7538e60cdfc58adf59c9f231302eaf5ab4a7 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7d~kE{qJ;0Lp3yIRF3v literal 0 HcmV?d00001 diff --git a/images/logo.gif b/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa6d5c0dbdcbbcfdfeeb135c2bd63fc1f0280b59 GIT binary patch literal 5219 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 literal 0 HcmV?d00001 diff --git a/inc/define_icons.php b/inc/define_icons.php new file mode 100644 index 0000000..10fd015 --- /dev/null +++ b/inc/define_icons.php @@ -0,0 +1,27 @@ +'; +$icon['arrow_down']=''; +$icon['blank']=$config['files']['iconpath'] . 'blank.gif'; +$icon['browse']='' . $lang['title_show_data'] . ''; +$icon['edit']='' . $lang['edit'] . ''; +$icon['delete']='' . $lang['delete'] . ''; + +$icon['index']='' . $lang['title_index'] . ''; +$icon['key_primary']='' . $lang['title_key_primary'] . ''; +$icon['key_fulltext']='' . $lang['title_key_fulltext'] . ''; +$icon['key_unique']='' . $lang['title_key_unique'] . ''; +$icon['key_nokey']='' . $lang['title_nokey'] . ''; +$icon['table_truncate']='' . $lang['empty'] . ''; +$icon['table_truncate_reset']='' . $lang['emptykeys'] . ''; +$icon['back2db_overview']='' . $lang['sql_backdboverview'] . ''; + +$icon['search']='' . $lang['title_search'] . ''; +$icon['mysql_help']='' . $lang['title_mysql_help'] . ''; +$icon['upload']='' . $lang['title_upload'] . ''; + +//other pics +$icon['logo']=$config['theme'] . 'pics/h1_logo.gif'; + +?> \ No newline at end of file diff --git a/inc/footer.php b/inc/footer.php new file mode 100644 index 0000000..1f5edf6 --- /dev/null +++ b/inc/footer.php @@ -0,0 +1,6 @@ + + ' . $lang['authors'] . ': Daniel Schlichtholz & Steffen Kamper | Infoboard: +' . $config['homepage'] . '

'; +echo '
'; diff --git a/inc/functions.php b/inc/functions.php new file mode 100644 index 0000000..d451d82 --- /dev/null +++ b/inc/functions.php @@ -0,0 +1,692 @@ +$fItem) + { + $between=explode(strtolower($fItem),strtolower($string)); + $pos=0; + foreach ($between as $bKey=>$bItem) + { + $between[$bKey]=substr($string,$pos,strlen($bItem)); + $pos+=strlen($bItem) + strlen($fItem); + } + $string=implode($replace[$fKey],$between); + } + return ( $string ); + } +} + +if (!function_exists('stripos')) // borrowed from php.net comments +{ + + function stripos($haystack, $needle) + { + return strpos($haystack,stristr($haystack,$needle)); + } +} + +function Help($ToolTip, $Anker, $imgsize=12) +{/* + global $config; + if($Anker!=""){ + return 'Help'; + } else { + return 'Help'; + } +*/ +} + +function DeleteFilesM($dir, $pattern="*.*") +{ + $deleted=array(); + $pattern=str_replace(array( + + "\*", + "\?" + ),array( + + ".*", + "." + ),preg_quote($pattern)); + if (substr($dir,-1) != "/") $dir.="/"; + if (is_dir($dir)) + { + $d=opendir($dir); + while ($file=readdir($d)) + { + if (is_file($dir . $file) && ereg("^" . $pattern . "$",$file)) + { + if (unlink($dir . $file)) $deleted[$file]=true; + else $deleted[$file]=false; + } + } + closedir($d); + return $deleted; + } + else + return 0; +} + +function SetDefault($load_default=false) +{ + global $config,$databases,$nl,$out,$lang,$preConfig; + + if ($load_default == true) + { + if (file_exists($config['files']['parameter']) && ( is_readable($config['files']['parameter']) )) include ( $config['files']['parameter'] ); // alte Config lesen + } + $restore_values=array(); + $restore_values['cron_samedb']=isset($config['cron_samedb']) ? intval($config['cron_samedb']) : 0; + $restore_values['cron_dbindex']=isset($config['cron_dbindex']) ? $config['cron_dbindex'] : -3; + $restore_values['cron_dbpraefix_array']=isset($config['cron_dbpraefix_array']) ? $config['cron_dbpraefix_array'] : ''; + if ($restore_values['cron_dbindex'] >= 0 && isset($databases['Name'][$config['cron_dbindex']])) // eine bestimmte Db gewaehlt? + { + // Ja, Namen merken, um spaeter den Index wieder herzustellen + $restore_values['db_actual_cron']=$databases['Name'][$config['cron_dbindex']]; + } + $restore_values['db_actual']=isset($databases['db_actual']) ? $databases['db_actual']:''; + //Arrays löschen + $i=0; + $databases['Name']=Array(); + + $old_lang=isset($config['language']) && in_array($config['language'],$lang['languages']) ? $config['language'] : ''; + if ($load_default == true) + { + if (file_exists($config['files']['parameter'])) @unlink($config['files']['parameter']); + include ( "./config.php" ); + if (is_array($preConfig)) + { + foreach ($preConfig as $key=>$val) + { + $config[$key]=$val; + } + } + + if ($old_lang != '') $config['language']=$old_lang; + include ( "./language/" . $config['language'] . "/lang.php" ); + } + + //DB-Liste holen + MSD_mysql_connect(); + + $create_statement='CREATE TABLE `mysqldumper_test_abcxyvfgh` (`test` varchar(200) default NULL, `id` bigint(20) unsigned NOT NULL auto_increment,' . 'PRIMARY KEY (`id`)) TYPE=MyISAM;'; + + $res=mysql_query("SHOW DATABASES ;",$config['dbconnection']); + if (!$res === false) + { + $numrows=mysql_numrows($res); + $a=0; + for ($i=0; $i < $numrows; $i++) + { + $row=mysql_fetch_row($res); + $found_db=$row[0]; + + // Testverbindung - Tabelle erstellen, nachschauen, ob es geklappt hat und dann wieder löschen + $use=@mysql_select_db($found_db); + if ($use) + { + $res2=mysql_query("DROP TABLE IF EXISTS `mysqldumper_test_abcxyvfgh`",$config['dbconnection']); + $res2=mysql_query($create_statement,$config['dbconnection']); + if (!$res2 === false) + { + $res2=mysql_query("DROP TABLE IF EXISTS `mysqldumper_test_abcxyvfgh`",$config['dbconnection']); + + if (isset($old_db) && $found_db == $old_db) $databases['db_selected_index']=$a; + $databases['Name'][$a]=$found_db; + $databases['praefix'][$a]=""; + $databases['command_before_dump'][$a]=""; + $databases['command_after_dump'][$a]=""; + $out.=$lang['saving_db_form'] . " " . $found_db . " " . $lang['added'] . "$nl"; + $a++; + } + } + } + if (!isset($databases['db_selected_index'])) + { + $databases['db_selected_index']=0; + $databases['db_actual']=$databases['Name'][0]; + } + } + + WriteParams(1,$restore_values); + if ($load_default === true) WriteLog("default settings loaded."); + + return $out; +} + +function WriteParams($as=0, $restore_values=false) +{ + // wenn $as=1 wird versucht den aktuellen Index der Datenbank nach dem Einlesen wieder zu ermitteln + // auch wenn sich die Indexnummer durch Loeschaktionen geaendert hat + global $config,$databases,$config_dontsave; + $nl="\n"; + + // alte Werte retten + if ($as) + { + if (is_array($restore_values)) + { + $config['cron_samedb']=$restore_values['cron_samedb']; + if ($restore_values['cron_dbindex'] < 0) + { + // Multidump oder "alle Datenbanken" war gewaehlt + $config['cron_dbindex']=$restore_values['cron_dbindex']; + } + else + { + //den Index der konkreten Datenbank aus der alten Konfiguration ermitteln + $db_names=array(); + $db_names=array_flip($databases['Name']); + if (isset($db_names[$restore_values['db_actual']])) + { + // alte Db existiert noch -> Index uebernehmen + $databases['db_actual']=$restore_values['db_actual']; + } + else + $databases['db_actual']=$databases['Name'][0]; + + //Cron-Index wiederfinden + if (isset($db_names[$restore_values['cron_dbindex']])) + { + $config['cron_dbindex']=$db_names[$restore_values['cron_dbindex']]; + } + else + { + // DB wurde zwischenzeitlich geloescht - sicherheitshalber alle DBs sichern + $databases['cron_dbindex']=-3; + } + } + } + } + FillMultiDBArrays(); + check_manual_dbs(); + + //Parameter zusammensetzen + $config['multipart_groesse']=$config['multipartgroesse1'] * ( ( $config['multipartgroesse2'] == 1 ) ? 1024 : 1024 * 1024 ); + $param=$pars_all='$val) + { + if (!in_array($var,$config_dontsave)) + { + if (is_array($val)) + { + $pars_all.='$config[\'' . $var . '\']=array();' . $nl; + foreach ($val as $var2=>$val2) + { + if ($config['magic_quotes_gpc'] == 1) + { + $val2=stripslashes($val2); + } + $pars_all.='$config[\'' . $var . '\'][' . ( ( is_int($var2) ) ? $var2 : "'" . $var2 . "'" ) . '] = \'' . myaddslashes($val2) . "';$nl"; + } + } + else + { + if ($config['magic_quotes_gpc'] == 1) + { + $val=stripslashes($val); + } + if (!in_array($var,$config_dontsave)) $pars_all.='$config[\'' . $var . '\'] = \'' . myaddslashes($val) . "';$nl"; + } + } + } + foreach ($databases as $var=>$val) + { + if (is_array($val)) + { + $pars_all.='$databases[\'' . $var . '\']=array();' . $nl; + foreach ($val as $var2=>$val2) + { + if ($config['magic_quotes_gpc'] == 1 || $as == 1) + { + $pars_all.='$databases[\'' . $var . '\'][' . ( ( is_int($var2) ) ? $var2 : "'" . $var2 . "'" ) . '] = \'' . myaddslashes(stripslashes($val2)) . "';$nl"; + } + else + { + $pars_all.='$databases[\'' . $var . '\'][' . ( ( is_int($var2) ) ? $var2 : "'" . $var2 . "'" ) . '] = \'' . myaddslashes($val2) . "';$nl"; + } + } + } + else + { + if ($config['magic_quotes_gpc'] == 0 || $as == 1) + { + $pars_all.='$databases[\'' . $var . '\'] = \'' . addslashes($val) . "';$nl"; + } + else + { + $pars_all.='$databases[\'' . $var . '\'] = \'' . $val . "';$nl"; + } + } + } + + $param.='?>'; + $pars_all.='?>'; + + //Datei öffnen und schreiben + $ret=true; + $file=$config['paths']['config'] . $config['config_file'] . '.php'; + if ($fp=fopen($file,"wb")) + { + if (!fwrite($fp,$pars_all)) $ret=false; + if (!fclose($fp)) $ret=false; + @chmod($file,0777); + } + else + $ret=false; + + $ret=WriteCronScript($restore_values); + return $ret; +} + +function escape_specialchars($text) +{ + $suchen=ARRAY( + + '@', + '$', + '\\\\', + '"' + ); + $ersetzen=ARRAY( + + '\@', + '\$', + '\\', + '\"' + ); + $text=str_replace($suchen,$ersetzen,$text); + return $text; +} + +// definiert einen SAtring, der ein Array nach Perlsyntax aufbaut +function my_implode($arr, $mode=0) // 0=String, 1=intval +{ + global $nl; + if (!is_array($arr)) return false; + foreach ($arr as $key=>$val) + { + if ($mode == 0) $arr[$key]=escape_specialchars($val); + else $arr[$key]=intval($val); + } + if ($mode == 0) $ret='("' . implode('","',$arr) . '");' . $nl; + else $ret='(' . implode(',',$arr) . ');' . $nl; + return $ret; +} + +function WriteCronScript($restore_values=false) +{ + global $nl,$config,$databases,$cron_db_array,$cron_dbpraefix_array,$cron_db_cbd_array,$cron_db_cad_array; + + if (!isset($databases['db_selected_index'])) $databases['db_selected_index']=0; + if (!isset($databases['praefix'][$databases['db_selected_index']])) $databases['praefix'][$databases['db_selected_index']]=""; + if (!isset($databases['db_actual_cronindex'])) $databases['db_actual_cronindex']=$databases['db_selected_index']; + if (!isset($config['email_maxsize'])) $config['email_maxsize']=$config['email_maxsize1'] * ( ( $config['email_maxsize2'] == 1 ) ? 1024 : 1024 * 1024 ); + $cron_dbname=$databases['db_actual']; + + //v($databases); + // -2 = Multidump configuration + // -3 = all databases - nothing to do + // get standard values for all databases + $cron_db_array=$databases['Name']; + $cron_dbpraefix_array=$databases['praefix']; + $cron_command_before_dump=$databases['command_before_dump']; + $cron_command_after_dump=$databases['command_after_dump']; + if (!isset($config['cron_dbindex'])) $config['cron_dbindex']=-3; + if (intval($config['cron_dbindex']) == -2) + { + // get values from multidump-settings + $cron_db_array=$databases['multi']; + $cron_dbpraefix_array=$databases['multi_praefix']; + $cron_command_before_dump=$databases['multi_commandbeforedump']; + $cron_command_after_dump=$databases['multi_commandafterdump']; + } + + $r=str_replace("\\\\","/",$config['paths']['root']); + $r=str_replace("@","\@",$r); + $p1=$r . $config['paths']['backup']; + $p2=$r . $config['files']['perllog'] . ( ( $config['logcompression'] == 1 ) ? '.gz' : '' ); + $p3=$r . $config['files']['perllogcomplete'] . ( ( $config['logcompression'] == 1 ) ? '.gz' : '' ); + + // auf manchen Server wird statt 0 ein leerer String gespeichert -> fuehrt zu einem Syntax-Fehler + // hier die entsprechenden Ja/Nein-Variablen sicherheitshalber in intvalues aendern + $int_array=array( + + 'dbport', + 'cron_compression', + 'cron_printout', + 'multi_part', + 'multipart_groesse', + 'email_maxsize', + 'auto_delete', + 'max_backup_files', + 'perlspeed', + 'optimize_tables_beforedump', + 'logcompression', + 'log_maxsize', + 'cron_completelog', + 'cron_use_sendmail', + 'cron_smtp_port' + ); + foreach ($int_array as $i) + { + if (is_array($i)) + { + foreach ($i as $key=>$val) + { + $int_array[$key]=intval($val); + } + } + else + $config[$i]=intval($config[$i]); + } + if ($config['dbport'] == 0) $config['dbport']=3306; + + $cronscript=""; + + // Save config + $ret=true; + $sfile=$config['paths']['config'] . $config['config_file'] . '.conf.php'; + if (file_exists($sfile)) @unlink($sfile); + + if ($fp=fopen($sfile,"wb")) + { + if (!fwrite($fp,$cronscript)) $ret=false; + if (!fclose($fp)) $ret=false; + @chmod("$sfile",0777); + } + else + $ret=false; + + // if standard config was deleted -> restore it with the actual values + if (!file_exists($config['paths']['config'] . "mysqldumper.conf.php")) + { + $sfile=$config['paths']['config'] . 'mysqldumper.conf.php'; + if ($fp=fopen($sfile,"wb")) + { + if (!fwrite($fp,$cronscript)) $ret=false; + if (!fclose($fp)) $ret=false; + @chmod("$sfile",0777); + } + else + $ret=false; + } + return $ret; + +} + +function LogFileInfo($logcompression) +{ + global $config; + + $l=Array(); + $sum=$s=$l['log_size']=$l['perllog_size']=$l['perllogcomplete_size']=$l['errorlog_size']=$l['log_totalsize']=0; + if ($logcompression == 1) + { + $l['log']=$config['files']['log'] . ".gz"; + $l['perllog']=$config['files']['perllog'] . ".gz"; + $l['perllogcomplete']=$config['files']['perllogcomplete'] . ".gz"; + $l['errorlog']=$config['paths']['log'] . "error.log.gz"; + } + else + { + $l['log']=$config['files']['log']; + $l['perllog']=$config['files']['perllog']; + $l['perllogcomplete']=$config['files']['perllogcomplete']; + $l['errorlog']=$config['paths']['log'] . "error.log"; + } + $l['log_size']+=@filesize($l['log']); + $sum+=$l['log_size']; + $l['perllog_size']+=@filesize($l['perllog']); + $sum+=$l['perllog_size']; + $l['perllogcomplete_size']+=@filesize($l['perllogcomplete']); + $sum+=$l['perllogcomplete_size']; + $l['errorlog_size']+=@filesize($l['errorlog']); + $sum+=$l['errorlog_size']; + $l['log_totalsize']+=$sum; + + return $l; +} + +function DeleteLog() +{ + global $config; + //Datei öffnen und schreiben + $log=date('d.m.Y H:i:s') . " Log created.\n"; + if ($config['logcompression'] == 1) + { + $fp=@gzopen($config['files']['log'] . '.gz',"wb"); + @gzwrite($fp,$log); + @gzclose($fp); + @chmod($config['files']['log'] . '.gz',0755); + } + else + { + $fp=@fopen($config['files']['log'],"wb"); + @fwrite($fp,$log); + @fclose($fp); + @chmod($config['files']['log'],0755); + } +} + +function SwitchLogfileFormat() +{ + global $config; + $del=DeleteFilesM($config['paths']['log'],"*"); + DeleteLog(); +} + +function CreateDirsFTP() +{ + + global $config,$lang,$install_ftp_server,$install_ftp_port,$install_ftp_user_name,$install_ftp_user_pass,$install_ftp_path; + // Herstellen der Basis-Verbindung + echo '
' . $lang['connect_to'] . ' `' . $install_ftp_server . '` Port ' . $install_ftp_port . ' ...
'; + $conn_id=ftp_connect($install_ftp_server); + // Einloggen mit Benutzername und Kennwort + $login_result=ftp_login($conn_id,$install_ftp_user_name,$install_ftp_user_pass); + // Verbindung überprüfen + if (( !$conn_id ) || ( !$login_result )) + { + echo $lang['ftp_notconnected']; + echo $lang['connwith'] . " $tinstall_ftp_server " . $lang['asuser'] . " $install_ftp_user_name " . $lang['notpossible']; + return 0; + } + else + { + if ($config['ftp_mode'] == 1) ftp_pasv($conn_id,true); + //Wechsel in betroffenes Verzeichnis + echo $lang['changedir'] . ' `' . $install_ftp_path . '` ...
'; + ftp_chdir($conn_id,$install_ftp_path); + // Erstellen der Verzeichnisse + echo $lang['dircr1'] . ' ...
'; + ftp_mkdir($conn_id,"work"); + ftp_site($conn_id,"CHMOD 0777 work"); + echo $lang['changedir'] . ' `work` ...
'; + ftp_chdir($conn_id,"work"); + echo $lang['indir'] . ' `' . ftp_pwd($conn_id) . '`
'; + echo $lang['dircr5'] . ' ...
'; + ftp_mkdir($conn_id,"config"); + ftp_site($conn_id,"CHMOD 0777 config"); + echo $lang['dircr2'] . ' ...
'; + ftp_mkdir($conn_id,"backup"); + ftp_site($conn_id,"CHMOD 0777 backup"); + echo $lang['dircr4'] . ' ...
'; + ftp_mkdir($conn_id,"log"); + ftp_site($conn_id,"CHMOD 0777 log"); + + // Schließen des FTP-Streams + ftp_quit($conn_id); + return 1; + } +} + +function ftp_mkdirs($config, $dirname) +{ + $dir=split("/",$dirname); + for ($i=0; $i < count($dir) - 1; $i++) + { + $path.=$dir[$i] . "/"; + @ftp_mkdir($config['dbconnection'],$path); + } + if (@ftp_mkdir($config['dbconnection'],$dirname)) return 1; +} + +function IsWritable($dir) +{ + $testfile=$dir . "/.writetest"; + if ($writable=@fopen($testfile,'w')) + { + @fclose($writable); + @unlink($testfile); + } + return $writable; +} + +function SearchDatabases($printout, $db='') +{ + global $databases,$config,$lang; + + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $db_list=array(); + if ($db == '') + { + // Datenbanken automatisch erkennen + $show_dbs=mysql_query("SHOW DATABASES",$config['dbconnection']); + if (!$show_dbs === false) + { + WHILE ($row=mysql_fetch_row($show_dbs)) + { + if (trim($row[0]) > '') $db_list[]=$row[0]; + } + } + } + else + $db_list[]=$db; // DB wurde manuell angegeben + + + if (sizeof($db_list) > 0) + { + $databases['db_selected_index']=0; + for ($i=0; $i < sizeof($db_list); $i++) + { + // Test-Select um zu sehen, ob Berechtigungen existieren + if (!@mysql_query("SHOW TABLES FROM `" . $db_list[$i] . "`",$config['dbconnection']) === false) + { + $databases['Name'][$i]=$db_list[0]; + $databases['praefix'][$i]=''; + $databases['command_before_dump'][$i]=''; + $databases['command_after_dump'][$i]=''; + + if ($printout == 1) echo $lang['found_db'] . ' `' . $db_list[$i] . '`
'; + } + } + } + if (isset($databases['Name'][0])) $databases['db_actual']=$databases['Name'][0]; +} + +// removes tags from inputs recursivly +function my_strip_tags($value) +{ + global $dont_strip; + if (is_array($value)) + { + foreach ($value as $key=>$val) + { + if (!in_array($key,$dont_strip)) $ret[$key]=my_strip_tags($val); + else $ret[$key]=$val; + } + } + else + $ret=trim(strip_tags($value)); + return $ret; +} + +function myaddslashes($t) +{ + return str_replace("'","\'",$t); +} + +?> \ No newline at end of file diff --git a/inc/functions_dump.php b/inc/functions_dump.php new file mode 100644 index 0000000..fe0de09 --- /dev/null +++ b/inc/functions_dump.php @@ -0,0 +1,545 @@ +' . $lang['startdump'] . ' `' . $databases['Name'][$dump['dbindex']] . '`' . ( ( $databases['praefix'][$dump['dbindex']] != "" ) ? ' (' . $lang['withpraefix'] . ' ' . $databases['praefix'][$dump['dbindex']] . ')' : '' ) . '... '; + ExecuteCommand('b'); + if ($dump['part'] == 1) + { + $dump['table_offset']=0; + $dump['countdata']=0; + } + // Seitenerstaufruf -> Backupdatei anlegen + $dump['data']=$statuszeile . $mysql_commentstring . ' Dump created: ' . $cur_time; + } + else + { + if ($config['multi_part'] != 0) + { + WriteLog('Continue Multipart-Dump with File ' . ( $dump['part'] - $dump['part_offset'] ) . ' (last file was ' . $last_groesse . ' Bytes)'); + $dump['data']=$statuszeile . $mysql_commentstring . ' This is part ' . ( $dump['part'] - $dump['part_offset'] ) . ' of the backup.' . $nl . $nl . $dump['data']; + + } + } + WriteToDumpFile(); + $dump['part']++; +} + +function GetStatusLine($kind="php") +{ + /*AUFBAU der Statuszeile: + -- Status:tabellenzahl:datensätze:Multipart:Datenbankname:script:scriptversion:Kommentar:MySQLVersion:Backupflags:SQLBefore:SQLAfter:Charset:CharsetEXTINFO + Aufbau Backupflags (1 Zeichen pro Flag, 0 oder 1, 2=unbekannt) + (complete inserts)(extended inserts)(ignore inserts)(delayed inserts)(downgrade)(lock tables)(optimize tables) + */ + + global $databases,$config,$lang,$dump,$mysql_commentstring; + + $t_array=explode("|",$databases['db_actual_tableselected']); + $t=0; + $r=0; + $t_zeile="$mysql_commentstring\n$mysql_commentstring TABLE-INFO\r\n"; + MSD_mysql_connect(); + $res=mysql_query("SHOW TABLE STATUS FROM `" . $databases['Name'][$dump['dbindex']] . "`"); + $numrows=intval(@mysql_num_rows($res)); + for ($i=0; $i < $numrows; $i++) + { + $erg=mysql_fetch_array($res); + // Get nr of records -> need to do it this way because of incorrect returns when using InnoDBs + $sql_2="SELECT count(*) as `count_records` FROM `" . $databases['Name'][$dump['dbindex']] . "`.`" . $erg['Name'] . "`"; + $res2=@mysql_query($sql_2); + if ($res2 === false) + { + // error reading table definition + $read_create_error=sprintf($lang['fatal_error_dump'],$databases['Name'][$dump['dbindex']],$erg['Name']) . ': ' . mysql_error($config['dbconnection']); + Errorlog("DUMP",$databases['Name'][$dump['dbindex']],'',$read_create_error,0); + WriteLog($read_create_error); + if ($config['stop_with_error'] > 0) + { + die($read_create_error); + } + $dump['errors']++; + //$i++; // skip corrupted table + } + else + { + $row2=mysql_fetch_array($res2); + $erg['Rows']=$row2['count_records']; + + if (( $databases['db_actual_tableselected'] == '' || ( $databases['db_actual_tableselected'] != '' && ( in_array($erg[0],$t_array) ) ) ) && ( substr($erg[0],0,strlen($databases['praefix'][$dump['dbindex']])) == $databases['praefix'][$dump['dbindex']] )) + { + $t++; + $r+=$erg['Rows']; + if (isset($erg['Type'])) $erg['Engine']=$erg['Type']; + $t_zeile.="$mysql_commentstring TABLE|" . $erg['Name'] . '|' . $erg['Rows'] . '|' . ( $erg['Data_length'] + $erg['Index_length'] ) . '|' . $erg['Update_time'] . '|' . $erg['Engine'] . "\n"; + } + } + } + //$dump['totalrecords']=$r; + $flags=1; + + $mp=( $config['multi_part'] == 1 ) ? $mp="MP_" . ( $dump['part'] - $dump['part_offset'] ) : 'MP_0'; + $statusline="$mysql_commentstring Status:$t:$r:$mp:" . $databases['Name'][$dump['dbindex']] . ":$kind:" . MSD_VERSION . ":" . $dump['kommentar'] . ":"; + $statusline.=MSD_MYSQL_VERSION . ":$flags:::" . $dump['dump_encoding'] . ":EXTINFO\n" . $t_zeile . "$mysql_commentstring" . " EOF TABLE-INFO\n$mysql_commentstring"; + return $statusline; +} + +// Liest die Eigenschaften der Tabelle aus der DB und baut die CREATE-Anweisung zusammen +function get_def($db, $table, $withdata=1) +{ + global $config,$nl,$mysql_commentstring,$dump; + + $def="\n\n$mysql_commentstring\n$mysql_commentstring Create Table `$table`\n$mysql_commentstring\n\n"; + if ($dump['table_types'][getDBIndex($db,$table)] == 'VIEW') + { + $def.="DROP VIEW IF EXISTS `$table`;\n"; + $withdata=0; + } + else + $def.="DROP TABLE IF EXISTS `$table`;\n"; + mysql_select_db($db); + $result=mysql_query('SHOW CREATE TABLE `' . $table . '`',$config['dbconnection']); + $row=@mysql_fetch_row($result); + if ($row === false) return false; + $def.=$row[1] . ';' . "\n\n"; + if ($withdata == 1) + { + $def.="$mysql_commentstring\n$mysql_commentstring Data for Table `$table`\n$mysql_commentstring\n\n"; + $def.="/*!40000 ALTER TABLE `$table` DISABLE KEYS */;" . $nl; + } + return $def; +} + +// Liest die Daten aus der DB aus und baut die INSERT-Anweisung zusammen +function get_content($db, $table) +{ + global $config,$nl,$dump,$buffer; + + $content=''; + $complete=Fieldlist($db,$table) . ' '; + + $table_ready=0; + $query='SELECT * FROM `' . $table . '` LIMIT ' . $dump['zeilen_offset'] . ',' . ( $dump['restzeilen'] + 1 ); + mysql_select_db($db); + $result=mysql_query($query,$config['dbconnection']); + $ergebnisse=@mysql_num_rows($result); + if ($ergebnisse !== false) + { + $num_felder=mysql_num_fields($result); + $first=1; + + if ($ergebnisse > $dump['restzeilen']) + { + $dump['zeilen_offset']+=$dump['restzeilen']; + $ergebnisse--; + $dump['restzeilen']=0; + } + else + { + $dump['table_offset']++; + $dump['zeilen_offset']=0; + $dump['restzeilen']=$dump['restzeilen'] - $ergebnisse; + $table_ready=1; + } + $ax=0; + for ($x=0; $x < $ergebnisse; $x++) + { + $row=mysql_fetch_row($result); + $ax++; + + $insert='INSERT INTO `' . $table . '` ' . $complete . 'VALUES ('; + + for ($j=0; $j < $num_felder; $j++) + { + if (!isset($row[$j])) $insert.='NULL,'; + else if ($row[$j] != '') $insert.='\'' . mysql_escape_string($row[$j]) . '\','; + else $insert.='\'\','; + } + $insert=substr($insert,0,-1) . ');' . $nl; + $dump['data'].=$insert; + $dump['countdata']++; + if (strlen($dump['data']) > $config['memory_limit'] || ( $config['multi_part'] == 1 && strlen($dump['data']) + $buffer > $config['multipart_groesse'] )) + { + WriteToDumpFile(); + } + } + if ($table_ready == 1 && $dump['table_types'][getDBIndex($db,$table)] != 'VIEW') $dump['data'].="/*!40000 ALTER TABLE `$table` ENABLE KEYS */;\n"; + } + else + { + // table corrupt -> skip it + $dump['table_offset']++; + $dump['zeilen_offset']=0; + $dump['restzeilen']=$dump['restzeilen'] - $ergebnisse; + $dump['data'].="/*!40000 ALTER TABLE `$table` ENABLE KEYS */;\n"; + if (strlen($dump['data']) > $config['memory_limit'] || ( $config['multi_part'] == 1 && strlen($dump['data']) + $buffer > $config['multipart_groesse'] )) + { + WriteToDumpFile(); + } + } + @mysql_free_result($result); +} + +function WriteToDumpFile() +{ + global $config,$dump,$buffer; + $dump['filesize']=0; + + $df=$config['paths']['backup'] . $dump['backupdatei']; + + if ($config['compression'] == 1) + { + if ($dump['data'] != '') + { + $fp=gzopen($df,'ab'); + gzwrite($fp,$dump['data']); + gzclose($fp); + } + } + else + { + if ($dump['data'] != '') + { + $fp=fopen($df,'ab'); + fwrite($fp,$dump['data']); + fclose($fp); + } + } + $dump['data']=''; + if (!isset($dump['fileoperations'])) $dump['fileoperations']=0; + $dump['fileoperations']++; + + if ($config['multi_part'] == 1) clearstatcache(); + $dump['filesize']=filesize($df); + if ($config['multi_part'] == 1 && $dump['filesize'] + $buffer > $config['multipart_groesse']) new_file($dump['filesize']); // Wenn maximale Dateigroesse erreicht -> neues File starten +} + +function ExecuteCommand($when) +{ + global $config,$databases,$dump,$out,$lang; + if (!isset($dump['dbindex'])) return; + if ($when == 'b') + { // before dump + $cd=$databases['command_before_dump'][$dump['dbindex']]; + $cap='before Dump'; + $lf='
'; + } + else + { + $cd=$databases['command_after_dump'][$dump['dbindex']]; + $cap='after Dump'; + $lf=''; + } + + if ($cd != '') + { + //jetzt ausführen + if (substr(strtolower($cd),0,7) != 'system:') + { + @mysql_select_db($databases['Name'][$dump['dbindex']]); + if (strpos($cd,';')) + { + $cad=explode(';',$cd); + for ($i=0; $i < count($cad); $i++) + { + if ($cad[$i]) $result.=@mysql_query($cad[$i],$config['dbconnection']); + } + } + else + { + $result=@mysql_query($cd,$config['dbconnection']); + } + if (!$result) + { + WriteLog("Error while executing Query $cap ($cd) : " . mysql_error()); + ErrorLog("Command " . $cap,$databases['Name'][$dump['dbindex']],$cd,mysql_error()); + $dump['errors']++; + $out.=$lf . 'ERROR executing Query ' . $cap . '
'; + } + else + { + WriteLog("executing Query $cap ($cd) was successful"); + $out.=$lf . 'executing Query ' . $cap . ' was successful
'; + } + } + elseif (substr(strtolower($cd),0,7) == "system:") + { + //$result=@system(substr($cd,7),$returnval); + $cap=substr($cd,7); + $result=1; + if (!$result) + { + WriteLog("Error while executing System Command $cap"); + $dump['errors']++; + $out.=$lf . 'ERROR executing System Command ' . $cap . '
'; + } + else + { + WriteLog("executing System Command $cap was successful. [$returnval]"); + $out.=$lf . 'executing System Command ' . $cap . ' was successful
'; + } + } + } + +} + +function DoEmail() +{ + global $config,$dump,$databases,$email,$lang,$out,$REMOTE_ADDR; + + $header=""; + if ($config['cron_use_sendmail'] == 1) + { + //sendmail + if (ini_get("sendmail_path") != $config['cron_sendmail']) @ini_set("SMTP",$config['cron_sendmail']); + if (ini_get("sendmail_from") != $config['email_sender']) @ini_set("SMTP",$config['email_sender']); + } + else + { + //SMTP + } + if (ini_get("SMTP") != $config['cron_smtp']) @ini_set("SMTP",$config['cron_smtp']); + if (ini_get("smtp_port") != 25) @ini_set("smtp_port",25); + + if ($config['multi_part'] == 0) + { + $file=$dump['backupdatei']; + $file_name=( strpos("/",$file) ) ? substr($file,strrpos("/",$file)) : $file; + $file_type=filetype($config['paths']['backup'] . $file); + $file_size=filesize($config['paths']['backup'] . $file); + if (( $config['email_maxsize'] > 0 && $file_size > $config['email_maxsize'] ) || $config['send_mail_dump'] == 0) + { + //anhang zu gross + $subject="Backup '" . $databases['Name'][$dump['dbindex']] . "' - " . date("d\.m\.Y H:i",time()); + $header.="FROM:" . $config['email_sender'] . "\n"; + if (isset($config['email_recipient_cc']) && trim($config['email_recipient_cc']) > '') $header.="Cc: " . $config['email_recipient_cc'] . "\r\n"; + $header.="MIME-version: 1.0\n"; + $header.="X-Mailer: PHP/" . phpversion() . "\n"; + $header.="X-Sender-IP: $REMOTE_ADDR\n"; + $header.="Content-Type: text/html; charset=utf-8\n"; + if ($config['send_mail_dump'] != 0) + { + $msg_body=sprintf(addslashes($lang['emailbody_toobig']),byte_output($config['email_maxsize']),$databases['Name'][$dump['dbindex']],"$file (" . byte_output(filesize($config['paths']['backup'] . $file)) . ")
"); + } + else + { + $msg_body=sprintf(addslashes($lang['emailbody_noattach']),$databases['Name'][$dump['dbindex']],"$file (" . byte_output(filesize($config['paths']['backup'] . $file)) . ")"); + } + include_once ( './inc/functions.php' ); + $msg_body.='' . $file . ''; + $email_log="Email sent to '" . $config['email_recipient'] . "'"; + $email_out=$lang['email_was_send'] . "`" . $config['email_recipient'] . "`
"; + } + else + { + //alles ok, anhang generieren + $msg_body=sprintf(addslashes($lang['emailbody_attach']),$databases['Name'][$dump['dbindex']],"$file (" . byte_output(filesize($config['paths']['backup'] . $file)) . ")"); + $subject="Backup '" . $databases['Name'][$dump['dbindex']] . "' - " . date("d\.m\.Y",time()); + $fp=fopen($config['paths']['backup'] . $file,"r"); + $contents=fread($fp,$file_size); + $encoded_file=chunk_split(base64_encode($contents)); + fclose($fp); + $header.="FROM:" . $config['email_sender'] . "\n"; + if (isset($config['email_recipient_cc']) && trim($config['email_recipient_cc']) > '') $header.="Cc: " . $config['email_recipient_cc'] . "\r\n"; + $header.="MIME-version: 1.0\n"; + $header.="Content-type: multipart/mixed; "; + $header.="boundary=\"Message-Boundary\"\n"; + $header.="Content-transfer-encoding: 7BIT\n"; + $header.="X-attachments: $file_name"; + $body_top="--Message-Boundary\n"; + $body_top.="Content-type: text/html; charset=utf-8\n"; + $body_top.="Content-transfer-encoding: 7BIT\n"; + $body_top.="Content-description: Mail message body\n\n"; + $msg_body=$body_top . $msg_body; + $msg_body.="\n\n--Message-Boundary\n"; + $msg_body.="Content-type: $file_type; name=\"$file\"\n"; + $msg_body.="Content-Transfer-Encoding: BASE64\n"; + $msg_body.="Content-disposition: attachment; filename=\"$file\"\n\n"; + $msg_body.="$encoded_file\n"; + $msg_body.="--Message-Boundary--\n"; + $email_log="Email was sent to '" . $config['email_recipient'] . "' with '" . $dump['backupdatei'] . "'."; + $email_out=$lang['email_was_send'] . "`" . $config['email_recipient'] . "`" . $lang['with'] . "`" . $dump['backupdatei'] . "`.
"; + } + } + else + { + //Multipart + $mp_sub="Backup '" . $databases['Name'][$dump['dbindex']] . "' - " . date("d\.m\.Y",time()); + $subject=$mp_sub; + $header.="FROM:" . $config['email_sender'] . "\n"; + if (isset($config['email_recipient_cc']) && trim($config['email_recipient_cc']) > '') $header.="Cc: " . $config['email_recipient_cc'] . "\r\n"; + $header.="MIME-version: 1.0\n"; + $header.="X-Mailer: PHP/" . phpversion() . "\n"; + $header.="X-Sender-IP: $REMOTE_ADDR\n"; + $header.="Content-Type: text/html; charset=utf-8"; + $dateistamm=substr($dump['backupdatei'],0,strrpos($dump['backupdatei'],"part_")) . "part_"; + $dateiendung=( $config['compression'] == 1 ) ? ".sql.gz" : ".sql"; + $mpdatei=Array(); + $mpfiles=""; + for ($i=1; $i < ( $dump['part'] - $dump['part_offset'] ); $i++) + { + $mpdatei[$i - 1]=$dateistamm . $i . $dateiendung; + $sz=byte_output(@filesize($config['paths']['backup'] . $mpdatei[$i - 1])); + $mpfiles.=$mpdatei[$i - 1] . " (" . $sz . ")
"; + } + $msg_body=( $config['send_mail_dump'] == 1 ) ? sprintf(addslashes($lang['emailbody_mp_attach']),$databases['Name'][$dump['dbindex']],$mpfiles) : sprintf(addslashes($lang['emailbody_mp_noattach']),$databases['Name'][$dump['dbindex']],$mpfiles); + $email_log="Email was sent to '" . $config['email_recipient'] . "'"; + $email_out=$lang['email_was_send'] . "`" . $config['email_recipient'] . "`
"; + } + if (@mail($config['email_recipient'],stripslashes($subject),$msg_body,$header)) + { + $out.='' . $email_out . ''; + WriteLog("$email_log"); + } + else + { + $out.='' . $lang['mailerror'] . '
'; + WriteLog("Email to '" . $config['email_recipient'] . "' failed !"); + ErrorLog("Email ",$databases['Name'][$dump['dbindex']],'Subject: ' . stripslashes($subject),$lang['mailerror']); + $dump['errors']++; + } + + if (isset($mpdatei) && $config['send_mail_dump'] == 1) + { // && ($config['email_maxsize']==0 || ($config['email_maxsize']>0 && $config['multipartgroesse2']<=$config['email_maxsize']))) { + for ($i=0; $i < count($mpdatei); $i++) + { + $file_name=$mpdatei[$i]; + $file_type=filetype($config['paths']['backup'] . $mpdatei[$i]); + $file_size=filesize($config['paths']['backup'] . $mpdatei[$i]); + $fp=fopen($config['paths']['backup'] . $mpdatei[$i],"r"); + $contents=fread($fp,$file_size); + $encoded_file=chunk_split(base64_encode($contents)); + fclose($fp); + $subject=$mp_sub . " [Part " . ( $i + 1 ) . " / " . count($mpdatei) . "]"; + $header="FROM:" . $config['email_sender'] . "\n"; + if (isset($config['email_recipient_cc']) && trim($config['email_recipient_cc']) > '') $header.="Cc: " . $config['email_recipient_cc'] . "\r\n"; + $header.="MIME-version: 1.0\n"; + $header.="Content-type: multipart/mixed; "; + $header.="boundary=\"Message-Boundary\"\n"; + $header.="Content-transfer-encoding: 7BIT\n"; + $header.="X-attachments: $file_name"; + $body_top="--Message-Boundary\n"; + $body_top.="Content-type: text/html; charset=utf-8\n"; + $body_top.="Content-transfer-encoding: 7BIT\n"; + $body_top.="Content-description: Mail message body\n\n"; + $msg_body=$body_top . addslashes($lang['email_only_attachment'] . $lang['emailbody_footer']); + $msg_body.="\n\n--Message-Boundary\n"; + $msg_body.="Content-type: $file_type; name=\"" . $mpdatei[$i] . "\"\n"; + $msg_body.="Content-Transfer-Encoding: BASE64\n"; + $msg_body.="Content-disposition: attachment; filename=\"" . $mpdatei[$i] . "\"\n\n"; + $msg_body.="$encoded_file\n"; + $msg_body.="--Message-Boundary--\n"; + $email_log="Email with $mpdatei[$i] was sent to '" . $config['email_recipient'] . "'"; + $email_out=$lang['email_was_send'] . "`" . $config['email_recipient'] . "`" . $lang['with'] . "`" . $mpdatei[$i] . "`.
"; + + if (@mail($config['email_recipient'],stripslashes($subject),$msg_body,$header)) + { + $out.='' . $email_out . ''; + WriteLog("$email_log"); + } + else + { + $out.='' . $lang['mailerror'] . '
'; + WriteLog("Email to '" . $config['email_recipient'] . "' failed !"); + ErrorLog("Email ",$databases['Name'][$dump['dbindex']],'Subject: ' . stripslashes($subject),$lang['mailerror']); + $dump['errors']++; + } + } + } +} + +function DoFTP($i) +{ + global $config,$dump,$out; + + if ($config['multi_part'] == 0) + { + SendViaFTP($i,$dump['backupdatei'],1); + } + else + { + $dateistamm=substr($dump['backupdatei'],0,strrpos($dump['backupdatei'],"part_")) . "part_"; + $dateiendung=( $config['compression'] == 1 ) ? ".sql.gz" : ".sql"; + for ($a=1; $a < ( $dump['part'] - $dump['part_offset'] ); $a++) + { + $mpdatei=$dateistamm . $a . $dateiendung; + SendViaFTP($i,$mpdatei,$a); + } + } +} + +function SendViaFTP($i, $source_file, $conn_msg=1) +{ + global $config,$out,$lang; + flush(); + if ($conn_msg == 1) $out.='' . $lang['filesendftp'] . "(" . $config['ftp_server'][$i] . " - " . $config['ftp_user'][$i] . ")
"; + // Herstellen der Basis-Verbindung + if ($config['ftp_useSSL'][$i] == 0) $conn_id=@ftp_connect($config['ftp_server'][$i],$config['ftp_port'][$i],$config['ftp_timeout'][$i]); + else $conn_id=@ftp_ssl_connect($config['ftp_server'][$i],$config['ftp_port'][$i],$config['ftp_timeout'][$i]); + // Einloggen mit Benutzername und Kennwort + $login_result=@ftp_login($conn_id,$config['ftp_user'][$i],$config['ftp_pass'][$i]); + if ($config['ftp_mode'][$i] == 1) ftp_pasv($conn_id,true); + + // Verbindung überprüfen + if (( !$conn_id ) || ( !$login_result )) + { + $out.='' . $lang['ftpconnerror'] . $config['ftp_server'][$i] . $lang['ftpconnerror1'] . $config['ftp_user'][$i] . $lang['ftpconnerror2'] . '
'; + } + else + { + if ($conn_msg == 1) $out.='' . $lang['ftpconnected1'] . $config['ftp_server'][$i] . $lang['ftpconnerror1'] . $config['ftp_user'][$i] . '
'; + } + + // Upload der Datei + $dest=$config['ftp_dir'][$i] . $source_file; + $source=$config['paths']['backup'] . $source_file; + $upload=@ftp_put($conn_id,$dest,$source,FTP_BINARY); + + // Upload-Status überprüfen + if (!$upload) + { + $out.='' . $lang['ftpconnerror3'] . "
($source -> $dest)

"; + } + else + { + $out.='' . $lang['file'] . ' ' . $source_file . '' . $lang['ftpconnected2'] . $config['ftp_server'][$i] . $lang['ftpconnected3'] . '
'; + WriteLog("'$source_file' sent via FTP."); + } + + // Schließen des FTP-Streams + @ftp_quit($conn_id); +} +?> diff --git a/inc/functions_files.php b/inc/functions_files.php new file mode 100644 index 0000000..fdbf937 --- /dev/null +++ b/inc/functions_files.php @@ -0,0 +1,484 @@ +'; + $r.=''; + + $dh=opendir($fpath); + while (false !== ( $filename=readdir($dh) )) + { + if ($filename != "." && $filename != ".." && !is_dir($fpath . $filename)) + { + $r.='' . $end . "\n"; + } + elseif ($k == "radio") { + $r .= $start . ''; + $r.='' . $end . "\n"; + } + $i++; + } + return $r; +} + +// detect language subdirs and add them to the global definition of $lang +function GetLanguageArray() { + global $config, $lang; + $default = $config ['language']; + $dh = opendir ( $config ['paths'] ['root'] . "language/" ); + unset ( $lang ['languages'] ); + $lang ['languages'] = array (); + while ( false !== ($filename = readdir ( $dh )) ) { + if ($filename != "." && $filename != '.svn' && $filename != ".." && $filename != "flags" && is_dir ( $config ['paths'] ['root'] . "language/" . $filename )) { + $lang ['languages'] [] = $filename; + } + } +} + +function headline($title, $mainframe = 1) { + global $config, $lang; + $s = ""; + if ($config ['interface_server_caption'] == 1) { + if ($config ['interface_server_caption_position'] == $mainframe) { + $s .= '
' . $lang ['server'] . ': ' . $_SERVER ['SERVER_NAME'] . '
'; + } + } + if ($mainframe == 1) { + $s .= '
' . $title . '
'; + $s .= '
'; + } + return $s; +} + +function PicCache($rpath = "./") { + global $BrowserIcon, $config; + + $t = '
'; + + $dh = opendir ( $config ['files'] ['iconpath'] ); + while ( false !== ($filename = readdir ( $dh )) ) { + if ($filename != "." && $filename != ".." && ! is_dir ( $config ['files'] ['iconpath'] . $filename )) { + $t .= ''; + } + } + $t .= '
'; + return $t; +} + +function MSDHeader($kind=0) +{ + global $config; + header('Pragma: no-cache'); + header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header("Expires: -1"); // Datum in der Vergangenheit + + header ( 'Content-Type: text/html; charset=UTF-8' ); + + //kind 0=main 1=menu + $r = '' . "\n\n\n"; + $r .= '' . "\n"; + $r .= '' . "\n"; + + $r .= 'MySqlDumper' . "\n"; + $r .= '' . "\n"; + $r .= '' . "\n"; + $r .= "\n'; + return $r; +} + +function MSDFooter($rfoot = "", $enddiv = 1) { + global $config, $databases, $dump, $restore, $lang; + if (isset ( $config ['homepage'] )) { + $f = ''; + } + else + $f = ''; + if ($enddiv == 1) $f .= '
'; + + $f .= $rfoot . ''; + + return $f; +} + +function save_bracket($str) { + // Wenn Klammer zu am Ende steht, diese behalten + $str = trim ( $str ); + if (substr ( $str, - 1 ) == ')') + $str = ')'; + else + $str = ''; + return $str; +} + +function DownGrade($s, $show = true) { + $tmp = explode ( ",", $s ); + //echo "
";print_r($tmp);echo "
"; + + + for($i = 0; $i < count ( $tmp ); $i ++) { + $t = strtolower ( $tmp [$i] ); + + if (strpos ( $t, "collate " )) { + $tmp2 = explode ( " ", $tmp [$i] ); + for($j = 0; $j < count ( $tmp2 ); $j ++) { + if (strtolower ( $tmp2 [$j] ) == "collate") { + $tmp2 [$j] = ""; + $tmp2 [$j + 1] = save_bracket ( $tmp2 [$j + 1] ); + $j ++; + } + } + $tmp [$i] = implode ( " ", $tmp2 ); + } + + if (strpos ( $t, "engine=" )) { + $tmp2 = explode ( " ", $tmp [$i] ); + for($j = 0; $j < count ( $tmp2 ); $j ++) { + if (substr ( strtoupper ( $tmp2 [$j] ), 0, 7 ) == "ENGINE=") $tmp2 [$j] = "TYPE=" . substr ( $tmp2 [$j], 7, strlen ( $tmp2 [$j] ) - 7 ); + if (substr ( strtoupper ( $tmp2 [$j] ), 0, 8 ) == "CHARSET=") { + $tmp2 [$j] = ""; + $tmp2 [$j - 1] = save_bracket ( $tmp2 [$j - 1] ); + } + if (substr ( strtoupper ( $tmp2 [$j] ), 0, 8 ) == "COLLATE=") { + $tmp2 [$j] = save_bracket ( $tmp2 [$j] ); + $tmp2 [$j - 1] = ""; + } + } + $tmp [$i] = implode ( " ", $tmp2 ); + } + + // character Set sprache entfernen + if (strpos ( $t, "character set" )) { + $tmp2 = explode ( " ", $tmp [$i] ); + $end = false; + + for($j = 0; $j < count ( $tmp2 ); $j ++) { + if (strtolower ( $tmp2 [$j] ) == "character") { + $tmp2 [$j] = ''; + $tmp2 [$j + 1] = save_bracket ( $tmp2 [$j + 1] ); + $tmp2 [$j + 2] = save_bracket ( $tmp2 [$j + 2] ); + } + } + $tmp [$i] = implode ( " ", $tmp2 ); + } + + if (strpos ( $t, "timestamp" )) { + $tmp2 = explode ( " ", $tmp [$i] ); + $end = false; + + for($j = 0; $j < count ( $tmp2 ); $j ++) { + if ($end) $tmp2 [$j] = ""; + if (strtolower ( $tmp2 [$j] ) == "timestamp") { + $tmp2 [$j] = "TIMESTAMP(14)"; + $end = true; + } + } + $tmp [$i] = implode ( " ", $tmp2 ); + } + } + $t = implode ( ",", $tmp ); + if (substr ( rtrim ( $t ), - 1 ) != ";") $t = rtrim ( $t ) . ";"; + return $t; +} + +function MySQL_Ticks($s) { + $klammerstart = $lastklammerstart = $end = 0; + $inner_s_start = strpos ( $s, '(' ); + $inner_s_end = strrpos ( $s, ')' ); + $inner_s = substr ( $s, $inner_s_start + 1, $inner_s_end - (1 + $inner_s_start) ); + $pieces = explode ( ',', $inner_s ); + for($i = 0; $i < count ( $pieces ); $i ++) { + $r = trim ( $pieces [$i] ); + $klammerstart += substr_count ( $r, "(" ) - substr_count ( $r, ")" ); + if ($i == count ( $pieces ) - 1) $klammerstart += 1; + if (substr ( strtoupper ( $r ), 0, 4 ) == "KEY " || substr ( strtoupper ( $r ), 0, 7 ) == "UNIQUE " || substr ( strtoupper ( $r ), 0, 12 ) == "PRIMARY KEY " || substr ( strtoupper ( $r ), 0, 13 ) == "FULLTEXT KEY ") { + //nur ein Key + $end = 1; + } + else { + if (substr ( $r, 0, 1 ) != '`' && substr ( $r, 0, 1 ) != '\'' && $klammerstart == 0 && $end == 0 && $lastklammerstart == 0) { + $pos = strpos ( $r, ' ' ); + $r = '`' . substr ( $r, 0, $pos ) . '`' . substr ( $r, $pos ); + } + } + $pieces [$i] = $r; + $lastklammerstart = $klammerstart; + } + $back = substr ( $s, 0, $inner_s_start + 1 ) . implode ( ",", $pieces ) . ");"; + return $back; +} + +function check_manual_dbs() { + global $config, $databases; + // Prüfen, ob manuell angelegte Datenbanken existieren + $dbs_manual = @file ( './' . $config ['files'] ['dbs_manual'] ); + if (is_array ( $dbs_manual )) { + foreach ( $dbs_manual as $d ) { + if (! isset ( $databases ['Name'] )) $databases ['Name'] = array (); + $index = count ( $databases ['Name'] ) - 1; + if ($index == - 1) $index = 0; + if ((trim ( $d ) > '') && ! in_array ( $d, $databases ['Name'] )) { + $databases ['Name'] [$index] = $d; + $databases ['praefix'] [$index] = ''; + $databases ['command_before_dump'] [$index] = ''; + $databases ['command_after_dump'] [$index] = ''; + } + + // wenn Index==-1 -> keine Db gewählt -> DB 0 als aktuell setzen + if ($databases ['db_selected_index'] == - 1) { + $databases ['db_selected_index'] = 0; + $databases ['db_actual'] = $databases ['Name'] [0]; + } + } + } +} + +function convert_to_utf8($obj) { + global $config; + $ret = $obj; + // wenn die Verbindung zur Datenbank nicht auf utf8 steht, dann muessen die Rückgaben in utf8 gewandelt werden, + // da die Webseite utf8-kodiert ist + if (! isset ( $config ['mysql_can_change_encoding'] )) get_sql_encodings (); + + if ($config ['mysql_can_change_encoding'] == false && $config ['mysql_standard_character_set'] != 'utf8') { + if (is_array ( $obj )) { + foreach ( $obj as $key => $val ) { + echo "
Wandle " . $val . " nach "; + $obj [$key] = utf8_encode ( $val ); + echo $obj [$key]; + } + } + if (is_string ( $obj )) $obj = utf8_encode ( $obj ); + $ret = $obj; + } + return $ret; +} + +function convert_to_latin1($obj) { + global $config; + $ret = $obj; + // wenn die Verbindung zur Datenbank nicht auf utf8 steht, dann muessen die Rückgaben in utf8 gewandelt werden, + // da die Webseite utf8-kodiert ist + if ($config ['mysql_can_change_encoding'] == false && $config ['mysql_standard_character_set'] != 'utf8') { + if (is_array ( $obj )) { + foreach ( $obj as $key => $val ) { + $obj [$key] = utf8_decode ( $val ); + } + } + if (is_string ( $obj )) $obj = utf8_decode ( $obj ); + $ret = $obj; + } + return $ret; +} + +// returns the index of the selected val in an optionlist +function get_index($arr, $selected) { + $ret = false; // return false if not found + foreach ( $arr as $key => $val ) { + if (strtolower ( substr ( $val, 0, strlen ( $selected ) ) ) == strtolower ( $selected )) { + $ret = $key; + break; + } + } + return $ret; +} + +function read_config($file = false) { + global $config, $databases; + $ret = false; + if (! $file) $file = $config ['config_file']; + // protect from including external files + $search = array ( + + ':', 'http', 'ftp', ' ' ); + $replace = array ( + + '', '', '', '' ); + $file = str_replace ( $search, $replace, $file ); + + if (is_readable ( $config ['paths'] ['config'] . $file . '.php' )) { + // to prevent modern server from caching the new configuration we need to evaluate it this way + clearstatcache (); + $f = implode ( '', file ( $config ['paths'] ['config'] . $file . '.php' ) ); + $f = str_replace ( '', '', $f ); + eval ( $f ); + $config ['config_file'] = $file; + $_SESSION ['config_file'] = $config ['config_file']; + $ret = true; + } + return $ret; +} + +function get_config_filenames() { + global $config; + $configs = array (); + $dh = opendir ( $config ['paths'] ['config'] . "/" ); + while ( false !== ($filename = readdir ( $dh )) ) { + if (substr ( $filename, - 4 ) == '.php' && substr ( $filename, - 9 ) != '.conf.php' && $filename != 'dbs_manual.php') { + $configs [] = substr ( $filename, 0, - 4 ); + } + } + return $configs; +} + +function table_output($text, $val, $small = false, $colspan = 1) { + $ret = ''; + $ret .= ' 1) $ret .= ' colspan="' . $colspan . '"'; + $ret .= '>' . $text; + if ($colspan == 1) + $ret .= ': '; + else + $ret .= ' '; + if ($colspan == 1) $ret .= ''; + if ($small) + $ret .= '' . $val . ''; + else + $ret .= '' . $val . ''; + return $ret; +} + +// get all possible MySQL character sets and save the MySQL-Servers`s standard character_set in $config['mysql_standard_charset'] +function get_sql_encodings() { + global $config; + unset ( $config ['mysql_possible_character_sets'] ); + if (! isset ( $config ['dbconnection'] )) MSD_mysql_connect (); + $erg = false; + $config ['mysql_standard_character_set'] = ''; + $config ['mysql_possible_character_sets'] = array (); + + if (! defined ( 'MSD_MYSQL_VERSION' )) GetMySQLVersion (); + $v = explode ( '.', MSD_MYSQL_VERSION ); + $config ['mysql_can_change_encoding'] = false; + if (($v [0] <= 4 && $v [1] < 1) || $v [0] <= 3) { + // MySQL < 4.1 + $config ['mysql_can_change_encoding'] = false; + $sqlt = 'SHOW VARIABLES LIKE \'character_set%\''; + $res = MSD_query ( $sqlt ) or die ( SQLError ( $sqlt, mysql_error () ) ); + if ($res) { + WHILE ( $row = mysql_fetch_row ( $res ) ) { + if ($row [0] == 'character_set') { + $config ['mysql_standard_character_set'] = $row [1]; + if ($v [0] == 3) $config ['mysql_possible_character_sets'] [0] = $row [1]; + } + + if ($row [0] == 'character_sets' && $v [0] > 3) { + $config ['mysql_possible_character_sets'] = explode ( ' ', $row [1] ); + sort ( $config ['mysql_possible_character_sets'] ); + } + } + } + } + else { + // MySQL-Version >= 4.1 + $config ['mysql_can_change_encoding'] = true; + $sqlt = 'SHOW CHARACTER SET'; + $res = MSD_query ( $sqlt ) or die ( SQLError ( $sqlt, mysql_error () ) ); + + if ($res) { + WHILE ( $row = mysql_fetch_row ( $res ) ) { + $config ['mysql_possible_character_sets'] [] = $row [0] . ' - ' . $row [1]; + } + sort ( $config ['mysql_possible_character_sets'] ); + } + + $sqlt = 'SHOW VARIABLES LIKE \'character_set_connection\''; + $res = MSD_query ( $sqlt ) or die ( SQLError ( $sqlt, mysql_error () ) ); + + if ($res) { + WHILE ( $row = mysql_fetch_row ( $res ) ) { + $config ['mysql_standard_character_set'] = $row [1]; + } + } + } +} + +// Rekursives entfernen von Slashes in beliebig tief verschachtelten Arrays +function stripslashes_deep($value) { + $value = is_array ( $value ) ? array_map ( 'stripslashes_deep', $value ) : stripslashes ( $value ); + return $value; +} + +// Rekursives trimmen +function trim_deep($value) { + $value = is_array ( $value ) ? array_map ( 'stripslashes_deep', $value ) : stripslashes ( $value ); + return $value; +} + +?> \ No newline at end of file diff --git a/inc/functions_restore.php b/inc/functions_restore.php new file mode 100644 index 0000000..c866ab9 --- /dev/null +++ b/inc/functions_restore.php @@ -0,0 +1,356 @@ +
Zeile: " . htmlspecialchars($zeile); + /******************* Setzen des Parserstatus *******************/ + // herausfinden um was für einen Befehl es sich handelt + if ($sqlparser_status == 0) + { + + //Vergleichszeile, um nicht bei jedem Vergleich strtoupper ausführen zu müssen + $zeile2=strtoupper(trim($zeile)); + // pre-built compare strings - so we need the CPU power only once :) + $sub9=substr($zeile2,0,9); + $sub7=substr($sub9,0,7); + $sub6=substr($sub7,0,6); + $sub4=substr($sub6,0,4); + $sub3=substr($sub4,0,3); + $sub2=substr($sub3,0,2); + $sub1=substr($sub2,0,1); + + if ($sub7 == 'INSERT ') + { + $sqlparser_status=3; //Datensatzaktion + $restore['actual_table']=get_tablename($zeile); + } + + //Einfache Anweisung finden die mit Semikolon beendet werden + elseif ($sub7 == 'LOCK TA') $sqlparser_status=4; + elseif ($sub6 == 'COMMIT') $sqlparser_status=7; + elseif ($sub6 == 'BEGIN ') $sqlparser_status=7; + elseif ($sub9 == 'UNLOCK TA') $sqlparser_status=4; + elseif ($sub3 == 'SET') $sqlparser_status=4; + elseif ($sub6 == 'START ') $sqlparser_status=4; + elseif ($sub3 == '/*!') $sqlparser_status=5; //MySQL-Condition oder Kommentar + elseif ($sub9 == 'ALTER TAB') $sqlparser_status=4; // Alter Table + elseif ($sub9 == 'CREATE TA') $sqlparser_status=2; //Create Table + elseif ($sub9 == 'CREATE AL') $sqlparser_status=2; //Create View + elseif ($sub9 == 'CREATE IN') $sqlparser_status=4; //Indexaktion + + + //Condition? + elseif (( $sqlparser_status != 5 ) && ( substr($zeile2,0,2) == '/*' )) $sqlparser_status=6; + + // Delete actions + elseif ($sub9 == 'DROP TABL') $sqlparser_status=1; + elseif ($sub9 == 'DROP VIEW') $sqlparser_status=1; + + // Befehle, die nicht ausgeführt werden sollen + elseif ($sub9 == 'CREATE DA ') $sqlparser_status=7; + elseif ($sub9 == 'DROP DATA ') $sqlparser_status=7; + elseif ($sub3 == 'USE') $sqlparser_status=7; + + // Am Ende eines MySQLDumper-Backups angelangt? + elseif ($sub6 == '-- EOB' || $sub4 == '# EO') + { + $restore['EOB']=true; + $restore['fileEOF']=true; + $zeile=''; + $zeile2=''; + $sqlparser_status=100; + } + + // Kommentar? + elseif ($sub2 == '--' || $sub1 == '#') + { + $zeile=''; + $zeile2=''; + $sqlparser_status=0; + } + + // Fortsetzung von erweiterten Inserts + if ($restore['flag'] == 1) $sqlparser_status=3; + + if (( $sqlparser_status == 0 ) && ( trim($complete_sql) > '' ) && ( $restore['flag'] == -1 )) + { + // Unbekannten Befehl entdeckt + v($restore); + echo "
Sql: " . htmlspecialchars($complete_sql); + echo "
Erweiterte Inserts: " . $restore['erweiterte_inserts']; + die('
' . $lang['unknown_sqlcommand'] . ': ' . $zeile . '

' . $complete_sql); + } + /******************* Ende von Setzen des Parserstatus *******************/ + } + + $last_char=substr(rtrim($zeile),-1); + // Zeilenumbrüche erhalten - sonst werden Schlüsselwörter zusammengefügt + // z.B. 'null' und in der nächsten Zeile 'check' wird zu 'nullcheck' + $complete_sql.=$zeile . "\n"; + + if ($sqlparser_status == 3) + { + //INSERT + if (SQL_Is_Complete($complete_sql)) + { + $sqlparser_status=100; + $complete_sql=trim($complete_sql); + + // letzter Ausdruck des erweiterten Inserts erreicht? + if (substr($complete_sql,-2) == ');') + { + $restore['flag']=-1; + } + + // Wenn am Ende der Zeile ein Klammer Komma -> erweiterter Insert-Modus -> Steuerflag setzen + else if (substr($complete_sql,-2) == '),') + { + // letztes Komme gegen Semikolon tauschen + $complete_sql=substr($complete_sql,0,-1) . ';'; + $restore['erweiterte_inserts']=1; + $restore['flag']=1; + } + + if (substr(strtoupper($complete_sql),0,7) != 'INSERT ') + { + // wenn der Syntax aufgrund eines Reloads verloren ging - neu ermitteln + if (!isset($restore['insert_syntax'])) $restore['insert_syntax']=get_insert_syntax($restore['actual_table']); + $complete_sql=$restore['insert_syntax'] . ' VALUES ' . $complete_sql . ';'; + } + else + { + // INSERT Syntax ermitteln und merken + $ipos=strpos(strtoupper($complete_sql),'VALUES'); + if (!$ipos === false) $restore['insert_syntax']=substr($complete_sql,0,$ipos); + else $restore['insert_syntax']='INSERT INTO `' . $restore['actual_table'] . '`'; + } + } + } + + else if ($sqlparser_status == 1) + { + //Löschaktion + if ($last_char == ';') $sqlparser_status=100; //Befehl komplett + $restore['actual_table']=get_tablename($complete_sql); + } + + else if ($sqlparser_status == 2) + { + // Createanweisung ist beim Finden eines ; beendet + if ($last_char == ';') + { + if ($config['minspeed'] > 0) $restore['anzahl_zeilen']=$config['minspeed']; + // Soll die Tabelle hergestellt werden? + $do_it=true; + if (is_array($restore['tables_to_restore'])) + { + $do_it=false; + if (in_array($restore['actual_table'],$restore['tables_to_restore'])) + { + $do_it=true; + } + } + if ($do_it) + { + $tablename=submit_create_action($complete_sql); + $restore['actual_table']=$tablename; + $restore['table_ready']++; + } + // Zeile verwerfen, da CREATE jetzt bereits ausgefuehrt wurde und naechsten Befehl suchen + $complete_sql=''; + $sqlparser_status=0; + } + } + + // Index + else if ($sqlparser_status == 4) + { //Createindex + if ($last_char == ';') + { + if ($config['minspeed'] > 0) + { + $restore['anzahl_zeilen']=$config['minspeed']; + } + $complete_sql=del_inline_comments($complete_sql); + $sqlparser_status=100; + } + } + + // Kommentar oder Condition + else if ($sqlparser_status == 5) + { //Anweisung + $t=strrpos($zeile,'*/;'); + if (!$t === false) + { + $restore['anzahl_zeilen']=$config['minspeed']; + $sqlparser_status=100; + } + } + + // Mehrzeiliger oder Inline-Kommentar + else if ($sqlparser_status == 6) + { + $t=strrpos($zeile,'*/'); + if (!$t === false) + { + $complete_sql=''; + $sqlparser_status=0; + } + } + + // Befehle, die verworfen werden sollen + else if ($sqlparser_status == 7) + { //Anweisung + if ($last_char == ';') + { + if ($config["minspeed"] > 0) + { + $restore["anzahl_zeilen"]=$config["minspeed"]; + } + $complete_sql=''; + $sqlparser_status=0; + } + } + + if (( $restore['compressed'] ) && ( gzeof($restore['filehandle']) )) $restore['fileEOF']=true; + if (( !$restore['compressed'] ) && ( feof($restore['filehandle']) )) $restore['fileEOF']=true; + } + // wenn bestimmte Tabellen wiederhergestellt werden sollen -> pruefen + if (is_array($restore['tables_to_restore']) && !( in_array($restore['actual_table'],$restore['tables_to_restore']) )) + { + $complete_sql=''; + } + return trim($complete_sql); +} + +function submit_create_action($sql) +{ + //Führt eine Create-Anweisung durch + $tablename=get_tablename($sql); + $res=@mysql_query($sql); + if ($res === false) + { + // erster Versuch fehlgeschlagen -> zweiter Versuch - vielleicht versteht der Server die Inline-Kommentare nicht? + $sql=del_inline_comments($sql); + $res=@mysql_query(downgrade($sql)); + if ($res === false) + { + // wieder nichts. Ok, haben wir hier einen alten MySQL-Server 3.x oder 4.0.x? + // versuchen wir es mal mit der alten Syntax + $res=@mysql_query(downgrade($sql)); + } + } + if ($res === false) + { + // wenn wir hier angekommen sind hat nichts geklappt -> Fehler ausgeben und abbrechen + SQLError($sql,mysql_error()); + die("
Fatal error: Couldn't create table or view `" . $tablename . "´"); + } + return $tablename; +} + +function get_insert_syntax($table) +{ + $insert=''; + $sql='SHOW COLUMNS FROM `' . $table . '`'; + $res=mysql_query($sql); + if ($res) + { + $insert='INSERT INTO `' . $table . '` ('; + while ($row=mysql_fetch_object($res)) + { + $insert.='`' . $row->Field . '`,'; + } + $insert=substr($insert,0,strlen($insert) - 1) . ') '; + } + else + { + global $restore; + v($restore); + SQLError($sql,mysql_error()); + } + return $insert; +} + +function del_inline_comments($sql) +{ + $sql=str_replace("\n",'
',$sql); + $array=array(); + preg_match_all("/(\/\*(.+)\*\/)/U",$sql,$array); + if (is_array($array[0])) + { + $sql=str_replace($array[0],'',$sql); + if (DEBUG) echo "Nachher: :
" . $sql . "

"; + } + $sql=trim(str_replace('
',"\n",$sql)); + //Wenn nach dem Entfernen nur noch ein ; übrigbleibt -> entfernen + if ($sql == ';') $sql=''; + return $sql; +} + +// extrahiert auf einfache Art den Tabellennamen aus dem "Create",Drop"-Befehl +function get_tablename($t) +{ + // alle Schluesselbegriffe entfernen, bis der Tabellenname am Anfang steht + $t=substr($t,0,50); // verkuerzen, um Speicher zu sparen - wir brauchenhier nur den Tabellennamen + $t=str_ireplace('DROP TABLE','',$t); + $t=str_ireplace('DROP VIEW','',$t); + $t=str_ireplace('CREATE TABLE','',$t); + $t=str_ireplace('INSERT INTO','',$t); + $t=str_ireplace('REPLACE INTO','',$t); + $t=str_ireplace('IF NOT EXISTS','',$t); + $t=str_ireplace('IF EXISTS','',$t); + if (substr(strtoupper($t),0,16) == 'CREATE ALGORITHM') + { + $pos=strpos($sql,'DEFINER VIEW '); + $t=substr($t,$pos,strlen($t) - $pos); + } + $t=str_ireplace(';',' ;',$t); // tricky -> insert space as delimiter + $t=trim($t); + + // jetzt einfach nach dem ersten Leerzeichen suchen + $delimiter=substr($t,0,1); + if ($delimiter != '`') $delimiter=' '; + $found=false; + $position=1; + WHILE (!$found) + { + if (substr($t,$position,1) == $delimiter) $found=true; + if ($position >= strlen($t)) $found=true; + $position++; + } + $t=substr($t,0,$position); + $t=trim(str_replace('`','',$t)); + return $t; +} + +// decide if an INSERT-Command is complete - simply count quotes and look for ); at the end of line +function SQL_Is_Complete($string) +{ + $string=str_replace('\\\\','',trim($string)); // trim and remove escaped backslashes + $quotes=substr_count($string,'\''); + $escaped_quotes=substr_count($string,'\\\''); + if (( $quotes - $escaped_quotes ) % 2 == 0) + { + if (substr($string,-2) == ');') return true; + if (substr($string,-2) == '),') return true; + } + return false; +} + +?> diff --git a/inc/functions_sql.php b/inc/functions_sql.php new file mode 100644 index 0000000..847537f --- /dev/null +++ b/inc/functions_sql.php @@ -0,0 +1,1543 @@ + 0) + { + $SQL_ARRAY=file($sf); + } +} + +function WriteSQL() +{ + global $SQL_ARRAY,$config; + $sf=$config['paths']['config'] . 'sql_statements'; + $str=""; + for ($i=0; $i < count($SQL_ARRAY); $i++) + { + $str.=$SQL_ARRAY[$i]; + if (substr($str,-1) != "\n" && $i != ( count($SQL_ARRAY) - 1 )) $str.="\n"; + + } + if ($config['magic_quotes_gpc']) $str=stripslashes($str); + $fp=fopen($sf,"wb"); + fwrite($fp,$str); + fclose($fp); + +} + +function SQL_Name($index) +{ + global $SQL_ARRAY; + $s=explode('|',$SQL_ARRAY[$index]); + return $s[0]; +} + +function SQL_String($index) +{ + global $SQL_ARRAY; + if (isset($SQL_ARRAY[$index]) && !empty($SQL_ARRAY[$index])) + { + $s=explode('|',$SQL_ARRAY[$index]); + return ( isset($s[1]) ) ? $s[1] : ''; + } +} + +function SQL_ComboBox() +{ + global $SQL_ARRAY,$tablename,$nl; + $s=''; + if (count($SQL_ARRAY) > 0) + { + $s=$nl . $nl . '' . $nl . $nl; + } + return $s; +} + +function Table_ComboBox() +{ + global $db,$config,$lang,$nl; + $tabellen=mysql_query('SHOW TABLES FROM `' . $db . '`',$config['dbconnection']); + $num_tables=mysql_num_rows($tabellen); + $s=$nl . $nl . '' . $nl . $nl; + return $s; +} + +function TableComboBox($default='') +{ + global $db,$config,$lang,$nl; + $tabellen=mysql_list_tables($db,$config['dbconnection']); + $num_tables=mysql_num_rows($tabellen); + $s='' . $nl; + for ($i=0; $i < $num_tables; $i++) + { + $t=mysql_tablename($tabellen,$i); + $s.='' . $nl; + } + return $s; +} + +function DB_Exists($db) +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $erg=false; + $dbs=mysql_list_dbs($config['dbconnection']); + while ($row=mysql_fetch_object($dbs)) + { + if (strtolower($row->Database) == strtolower($db)) + { + $erg=true; + break; + } + } + return $erg; +} + +function Table_Exists($db, $table) +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $sqlt="SHOW TABLES FROM `$db`"; + $res=MSD_query($sqlt); + if ($res) + { + $tables=array(); + WHILE ($row=mysql_fetch_row($res)) + { + $tables[]=$row[0]; + } + if (in_array($table,$tables)) return true; + } + return false; +} + +function DB_Empty($dbn) +{ + $r="DROP DATABASE `$dbn`;\nCREATE DATABASE `$dbn`;"; + MSD_DoSQL($r); + +} + +function sqlReturnsRecords($sql) +{ + global $mysql_SQLhasRecords; + $s=explode(' ',$sql); + return in_array(strtoupper($s[0]),$mysql_SQLhasRecords) ? 1 : 0; +} + +function getCountSQLStatements($sql) +{ + $z=0; + $l=strlen($sql); + $inQuotes=false; + for ($i=0; $i < $l; $i++) + { + if ($sql[$i] == "'" || $sql[$i] == '"') $inQuotes=!$inQuotes; + if (( $sql[$i] == ';' && $inQuotes == false ) || $i == $l - 1) $z++; + } + return $z; +} + +function splitSQLStatements2Array($sql) +{ + $z=0; + $sqlArr=array(); + $tmp=''; + $sql=str_replace("\n",'',$sql); + $l=strlen($sql); + $inQuotes=false; + for ($i=0; $i < $l; $i++) + { + $tmp.=$sql[$i]; + if ($sql[$i] == "'" || $sql[$i] == '"') $inQuotes=!$inQuotes; + if ($sql[$i] == ';' && $inQuotes == false) + { + $z++; + $sqlArr[]=$tmp; + $tmp=''; + } + } + if (trim($tmp) != '') $sqlArr[]=$tmp; + return $sqlArr; +} + +function DB_Copy($source, $destination, $drop_source=0, $insert_data=1) +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $SQL_Array=$t=""; + if (!DB_Exists($destination)) $SQL_Array.="CREATE DATABASE `$destination` ;\n"; + $SQL_Array.="USE `$destination` ;\n"; + $tabellen=mysql_list_tables($source,$config['dbconnection']); + $num_tables=mysql_num_rows($tabellen); + for ($i=0; $i < $num_tables; $i++) + { + $table=mysql_tablename($tabellen,$i); + $sqlt="SHOW CREATE TABLE `$source`.`$table`"; + $res=MSD_query($sqlt); + $row=mysql_fetch_row($res); + $c=$row[1]; + if (substr($c,-1) == ";") $c=substr($c,0,strlen($c) - 1); + $SQL_Array.=( $insert_data == 1 ) ? "$c SELECT * FROM `$source`.`$table` ;\n" : "$c ;\n"; + } + if ($drop_source == 1) $SQL_Array.="DROP DATABASE `$source` ;"; + + mysql_select_db($destination); + MSD_DoSQL($SQL_Array); + +} + +function Table_Copy($source, $destination, $insert_data, $destinationdb="") +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $SQL_Array=$t=""; + $sqlc="SHOW CREATE TABLE $source"; + $res=MSD_query($sqlc); + $row=mysql_fetch_row($res); + $c=$row[1]; + $a1=strpos($c,"`"); + $a2=strpos($c,"`",$a1 + 1); + $c=substr($c,0,$a1 + 1) . $destination . substr($c,$a2); + if (substr($c,-1) == ";") $c=substr($c,0,strlen($c) - 1); + $SQL_Array.=( $insert_data == 1 ) ? "$c SELECT * FROM $source ;\n" : "$c ;\n"; + //echo "
$SQL_Array
"; + MSD_DoSQL($SQL_Array); + +} + +function MSD_DoSQL($sqlcommands, $limit="") +{ + global $config,$out,$numrowsabs,$numrows,$num_befehle,$time_used,$sql; + + if (!isset($sql['parser']['sql_commands'])) $sql['parser']['sql_commands']=0; + if (!isset($sql['parser']['sql_errors'])) $sql['parser']['sql_errors']=0; + + $sql['parser']['time_used']=getmicrotime(); + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $out=$sqlcommand=''; + $allSQL=splitSQLStatements2Array($sqlcommands); #explode(';',preg_replace('/\r\n|\n/', '', $sqlcommands)); + $sql_queries=count($allSQL); + + if (!isset($allSQL[$sql_queries - 1])) $sql_queries--; + if ($sql_queries == 1) + { + SQLParser($allSQL[0]); + $sql['parser']['sql_commands']++; + $out.=Stringformat(( $sql['parser']['sql_commands'] ),4) . ': ' . $allSQL[0] . "\n"; + $result=MSD_query($allSQL[0]); + } + else + { + for ($i=0; $i < $sql_queries; $i++) + { + $allSQL[$i]=trim(rtrim($allSQL[$i])); + + if ($allSQL[$i] != "") + { + $sqlcommand.=$allSQL[$i]; + $sqlcommand=SQLParser($sqlcommand); + if ($sql['parser']['start'] == 0 && $sql['parser']['end'] == 0 && $sqlcommand != '') + { + //sql complete + $sql['parser']['sql_commands']++; + $out.=Stringformat(( $sql['parser']['sql_commands'] ),4) . ': ' . $sqlcommand . "\n"; + $result=MSD_query($sqlcommand); + $sqlcommand=""; + } + } + } + } + $sql['parser']['time_used']=getmicrotime() - $sql['parser']['time_used']; +} + +function SQLParser($command, $debug=0) +{ + global $sql; + $sql['parser']['start']=$sql['parser']['end']=0; + $sql['parser']['sqlparts']=0; + if (!isset($sql['parser']['drop'])) $sql['parser']['drop']=0; + if (!isset($sql['parser']['create'])) $sql['parser']['create']=0; + if (!isset($sql['parser']['insert'])) $sql['parser']['insert']=0; + if (!isset($sql['parser']['update'])) $sql['parser']['update']=0; + if (!isset($sql['parser']['comment'])) $sql['parser']['comment']=0; + $Backslash=chr(92); + $s=rtrim(trim(( $command ))); + + //Was ist das für eine Anfrage ? + if (substr($s,0,1) == "#" || substr($s,0,2) == "--") + { + $sql['parser']['comment']++; + $s=""; + } + elseif (strtoupper(substr($s,0,5)) == "DROP ") + { + $sql['parser']['drop']++; + } + elseif (strtoupper(substr($s,0,7)) == "CREATE ") + { + //Hier nur die Anzahl der Klammern zählen + $sql['parser']['start']=1; + $kl1=substr_count($s,"("); + $kl2=substr_count($s,")"); + if ($kl2 - $kl1 == 0) + { + $sql['parser']['start']=0; + $sql['parser']['create']++; + } + } + elseif (strtoupper(substr($s,0,7)) == "INSERT " || strtoupper(substr($s,0,7)) == "UPDATE ") + { + + if (strtoupper(substr($s,0,7)) == "INSERT ") $sql['parser']['insert']++; + else $sql['parser']['update']++; + $i=strpos(strtoupper($s)," VALUES") + 7; + $st=substr($s,$i); + $i=strpos($st,"(") + 1; + $st=substr($st,$i); + $st=substr($st,0,strlen($st) - 2); + + $tb=explode(",",$st); + for ($i=0; $i < count($tb); $i++) + { + $first=$B_Esc=$B_Ticks=$B_Dashes=0; + $v=trim($tb[$i]); + //Ticks + Dashes zählen + for ($cpos=2; $cpos <= strlen($v); $cpos++) + { + if (substr($v,( -1 * $cpos ),1) == "'") + { + $B_Ticks++; + } + else + { + break; + } + } + for ($cpos=2; $cpos <= strlen($v); $cpos++) + { + if (substr($v,( -1 * $cpos ),1) == '"') + { + $B_Dashes++; + } + else + { + break; + } + } + + //Backslashes zählen + for ($cpos=2 + $B_Ticks; $cpos <= strlen($v); $cpos++) + { + if (substr($v,( -1 * $cpos ),1) == "\\") + { + $B_Esc++; + } + else + { + break; + } + } + + if ($v == "NULL" && $sql['parser']['start'] == 0) + { + $sql['parser']['start']=1; + $sql['parser']['end']=1; + } + if ($sql['parser']['start'] == 0 && is_numeric($v)) + { + $sql['parser']['start']=1; + $sql['parser']['end']=1; + } + if ($sql['parser']['start'] == 0 && substr($v,0,2) == "0X" && strpos($v," ") == false) + { + $sql['parser']['start']=1; + $sql['parser']['end']=1; + } + if ($sql['parser']['start'] == 0 && is_object($v)) + { + $sql['parser']['start']=1; + $sql['parser']['end']=1; + } + + if (substr($v,0,1) == "'" && $sql['parser']['start'] == 0) + { + $sql['parser']['start']=1; + if (strlen($v) == 1) $first=1; + $DELIMITER="'"; + } + if (substr($v,0,1) == '"' && $sql['parser']['start'] == 0) + { + $sql['parser']['start']=1; + if (strlen($v) == 1) $first=1; + $DELIMITER='"'; + } + if ($sql['parser']['start'] == 1 && $sql['parser']['end'] != 1 && $first == 0) + { + if (substr($v,-1) == $DELIMITER) + { + $B_Delimiter=( $DELIMITER == "'" ) ? $B_Ticks : $B_Dashes; + //ist Delimiter maskiert? + if (( $B_Esc % 2 ) == 1 && ( $B_Delimiter % 2 ) == 1 && strlen($v) > 2) + { + + $sql['parser']['end']=1; + } + elseif (( $B_Delimiter % 2 ) == 1 && strlen($v) > 2) + { + //ist mit `'` maskiert + $sql['parser']['end']=0; + } + elseif (( $B_Esc % 2 ) == 1) + { + //ist mit Backslash maskiert + $sql['parser']['end']=0; + } + else + { + + $sql['parser']['end']=1; + } + } + } + if ($debug == 1) echo "" . $sql['parser']['start'] . "/" . $sql['parser']['end'] . " Feld $i: " . htmlspecialchars($tb[$i]) . "- " . $sql['parser']['sqlparts'] . " ($B_Ticks / $B_Esc)
"; + if ($sql['parser']['start'] == 1 && $sql['parser']['end'] == 1) + { + $sql['parser']['sqlparts']++; + $sql['parser']['start']=$sql['parser']['end']=0; + } + } + } + return $s; +} + +function SQLOutput($sqlcommand, $meldung='') +{ + global $sql,$lang; + $s='
' . $lang['sql_output'] . '
'; + if ($meldung != '') $s.=$meldung; + + if (isset($sql['parser']['sql_commands'])) + { + $s.='' . $sql['parser']['sql_commands'] . '' . $lang['sql_commands_in'] . round($sql['parser']['time_used'],4) . $lang['sql_commands_in2'] . '

'; + $s.=$lang['sql_out1'] . '' . $sql['parser']['drop'] . ' DROP-, '; + $s.='' . $sql['parser']['create'] . ' CREATE-, '; + $s.='' . $sql['parser']['insert'] . ' INSERT-, '; + $s.='' . $sql['parser']['update'] . ' UPDATE-' . $lang['sql_out2'] . '
'; + $s.=$lang['sql_out3'] . '' . $sql['parser']['comment'] . ' ' . $lang['sql_out4'] . '
'; + if ($sql['parser']['sql_commands'] < 50) $s.='
' . Highlight_SQL($sqlcommand) . '
'; + else $s.=$lang['sql_out5']; + } + elseif ($sqlcommand != '') $s.='
' . $lang['sql_output'] . '
' . Highlight_SQL($sqlcommand) . '
'; + return $s . '
'; +} + +function GetCreateTable($db, $tabelle) +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $res=mysql_query("SHOW CREATE TABLE `$db`.`$tabelle`"); + if ($res) + { + $row=mysql_fetch_array($res); + if (isset($row['Create Table'])) return $row['Create Table']; + elseif (isset($row['Create View'])) return $row['Create View']; + else return false; + } + else + return mysql_error(); + +} + +function KindSQL($sql) +{ + if (preg_match('@^((-- |#)[^\n]*\n|/\*.*?\*/)*(DROP|CREATE)[[:space:]]+(IF EXISTS[[:space:]]+)?(TABLE|DATABASE)[[:space:]]+(.+)@im',$sql)) + { + return 2; + } + elseif (preg_match('@^((-- |#)[^\n]*\n|/\*.*?\*/)*(DROP|CREATE)[[:space:]]+(IF EXISTS[[:space:]]+)?(TABLE|DATABASE)[[:space:]]+(.+)@im',$sql)) + { + return 1; + } +} + +function GetPostParams() +{ + global $db,$dbid,$tablename,$context,$limitstart,$order,$orderdir,$sql; + $db=$_POST['db']; + $dbid=$_POST['dbid']; + $tablename=$_POST['tablename']; + $context=$_POST['context']; + $limitstart=$_POST['limitstart']; + $order=$_POST['order']; + $orderdir=$_POST['orderdir']; + $sql['sql_statement']=( isset($_POST['sql_statement']) ) ? stripslashes(urldecode($_POST['sql_statement'])) : "SELECT * FROM `$tablename`"; + +} + +function ComboCommandDump($when, $index) +{ + global $SQL_ARRAY,$nl,$databases,$lang; + if (count($SQL_ARRAY) == 0) + { + $r='' . $lang['sql_befehle'] . ''; + if ($when == 0) $r.=''; + else $r.=''; + } + else + { + if ($when == 0) + { + $r=''; + $csql=$databases['command_after_dump'][$index]; + } + + $r.='' . "\n"; + if (count($SQL_ARRAY) > 0) + { + for ($i=0; $i < count($SQL_ARRAY); $i++) + { + $s=trim(SQL_String($i)); + $r.='' . "\n"; + } + } + $r.=''; + } + return $r; +} + +function EngineCombo($default="") +{ + global $config; + if (!$config['dbconnection']) MSD_mysql_connect(); + + $r=''; + if (!MSD_NEW_VERSION) + { + //BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM + $r.=''; + $r.=''; + $r.=''; + $r.=''; + $r.=''; + $r.=''; + $r.=''; + } + else + { + $res=mysql_query("SHOW ENGINES"); + $num=mysql_num_rows($res); + for ($i=0; $i < $num; $i++) + { + $row=mysql_fetch_array($res); + $r.=''; + } + } + return $r; +} + +function CharsetCombo($default="") +{ + global $config; + if (!MSD_NEW_VERSION) + { + return ""; + } + else + { + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + $res=mysql_query("SHOW Charset"); + $num=mysql_num_rows($res); + $r=''; + $charsets=array(); + for ($i=0; $i < $num; $i++) + { + $charsets[]=mysql_fetch_array($res); + } + + if (is_array($charsets)) + { + $charsets=mu_sort($charsets,'Charset'); + foreach ($charsets as $row) + { + $r.=''; + } + } + return $r; + } +} + +function GetCollationArray() +{ + global $config; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + + $res=mysql_query("SHOW Collation"); + $num=@mysql_num_rows($res); + $r=Array(); + if (is_array($r)) + { + for ($i=0; $i < $num; $i++) + { + $row=mysql_fetch_array($res); + $r[$i]['Collation']=isset($row['Collation']) ? $row['Collation'] : ''; + $r[$i]['Charset']=isset($row['Charset']) ? $row['Charset'] : ''; + $r[$i]['Id']=isset($row['Id']) ? $row['Id'] : ''; + $r[$i]['Default']=isset($row['Default']) ? $row['Default'] : ''; + $r[$i]['Compiled']=isset($row['Compiled']) ? $row['Compiled'] : ''; + $r[$i]['Sortlen']=isset($row['Sortlen']) ? $row['Sortlen'] : ''; + } + } + return $r; +} + +function CollationCombo($default="", $withcharset=0) +{ + if (!MSD_NEW_VERSION) + { + return ""; + } + else + { + $r=GetCollationArray(); + sort($r); + $s=""; + $s=''; + $group=""; + for ($i=0; $i < count($r); $i++) + { + $gc=$r[$i]['Charset']; + if ($gc != $group) + { + $group=$gc; + if ($i > 0) $s.=''; + $s.=''; + } + $s.=''; + } + return $s . ''; + } +} + +function AttributeCombo($default="") +{ + $s=''; + $s.=''; + $s.=''; + return $s; + +} + +function simple_bbcode_conversion($a) +{ + global $config; + $tag_start=''; + $tag_end=''; + + //replacements + $a=nl2br($a); + $a=str_replace('
','
',$a); + $a=str_replace('
','
',$a); + + $a=preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/si","$2",$a); + $a=preg_replace("/\[urltargetself=(.*?)\](.*?)\[\/urltargetself\]/si","$2",$a); + $a=preg_replace("/\[url\](.*?)\[\/url\]/si","$1",$a); + $a=preg_replace("/\[ed2k=\+(.*?)\](.*?)\[\/ed2k\]/si","$2",$a); + $a=preg_replace("/\[ed2k=(.*?)\](.*?)\[\/ed2k\]/si","$2",$a); + + $a=preg_replace("/\[center\](.*?)\[\/center\]/si","
$1
",$a); + $a=preg_replace("/\[size=([1-2]?[0-9])\](.*?)\[\/size\]/si","$2",$a); + $a=preg_replace("/\[size=([1-2]?[0-9]):(.*?)\](.*?)\[\/size(.*?)\]/si","$3",$a); + $a=preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/si","$2",$a); + $a=preg_replace("/\[color=(.*?)\](.*?)\[\/color\]/si","$2",$a); + $a=preg_replace("/\[color=(.*?):(.*?)\](.*?)\[\/color(.*?)\]/si","$3",$a); + $a=preg_replace("/\[img\](.*?)\[\/img\]/si","",$a); + //$a=preg_replace("/\[b\](.*?)\[\/b\]/si", "$1", $a); + $a=preg_replace("/\[b(.*?)\](.*?)\[\/b(.*?)\]/si","$2",$a); + //$a=preg_replace("/\[u\](.*?)\[\/u\]/si", "$1", $a); + $a=preg_replace("/\[u(.*?)\](.*?)\[\/u(.*?)\]/si","$2",$a); + //$a=preg_replace("/\[i\](.*?)\[\/i\]/si", "$1", $a); + $a=preg_replace("/\[i(.*?)\](.*?)\[\/i(.*?)\]/si","$2",$a); + //$a=preg_replace("/\[quote\](.*?)\[\/quote\]/si", "

$1

", $a); + $a=preg_replace("/\[quote(.*?)\](.*?)\[\/quote(.*?)\]/si","

$2

",$a); + $a=preg_replace("/\[code(.*?)\](.*?)\[\/code(.*?)\]/si","

$2

",$a); + $a=preg_replace("/\[hide\](.*?)\[\/hide\]/si","
$1
",$a); + $a=preg_replace("/(^|\s)+((http:\/\/)|(www.))(.+)(\s|$)+/Uis"," http://$4$5 ",$a); + return $tag_start . $a . $tag_end; +} + +function ExtractTablename($q) +{ + $offset=0; + if (strlen($q) > 100) $q=substr(0,100,$q); + + $p=strtoupper($q); + $i=strpos($p,"FROM") + 5; + $p=substr($p,$i); + if (substr($p,0,1) == "(") + { + $offset=2; + //echo "$offset
"; + } + if (strpos($p," ",$offset)) + { + $j=strpos($p," ",$offset); + $p=substr($p,$offset,$j); + } + $t=substr($q,$i + $offset,strlen($p) - $offset); + if (substr($t,-1) == ",") + { + //Achtung, keine eindeutige Tabelle + $t=''; + } + if (substr($t,0,1) == "`" && substr($t,-1) == "`") $t=substr($t,1,strlen($t) - 2); + return $t; +} + +function ExtractTablenameFromSQL($q) +{ + + global $databases; + $tablename=''; + if (strlen($q) > 100) $q=substr(0,100,$q); + $p=trim($q); + $suchen=array( + + 'SHOW ', + 'SELECT', + 'DROP', + 'INSERT', + 'UPDATE', + 'DELETE', + 'CREATE', + 'TABLE', + 'STATUS' + ); + $ersetzen=array( + + '', + '', + '', + '', + '', + '', + '', + '', + '' + ); + $cleaned=trim(str_ireplace($suchen,$ersetzen,$p)); + $tablename=$cleaned; + if (strpos($cleaned,' ')) $tablename=substr($cleaned,0,strpos($cleaned,' ')); + $tablename=str_replace('`','',$tablename); // remove backticks + // take care of db-name.tablename + if (strpos($tablename,'.')) + { + $p=explode('.',$tablename); + $tablename=$p[1]; + } + if (Table_Exists($databases['db_actual'],$tablename)) return $tablename; + else return ''; +} + +function GetOptionsCombo($arr, $default) +{ + global $feldtypen,$feldattribute,$feldnull,$feldextras,$feldkeys,$feldrowformat; + $r=''; + foreach ($arr as $s) + { + $r.='' . "\n"; + } + return $r; +} + +function make_options($arr, $selected) +{ + $r=''; + foreach ($arr as $key=>$val) + { + $r.='' . "\n"; + $sql['export']['recordcount']+=$row['Rows']; + } + } + + $exaus=$aus . '

' . sprintf($lang['sql_export'],$databases['Name'][$dbid]) . '

'; + + $exaus.='
' . $nl; + $exaus.='' . $lang['import'] . ''; + $exaus.='
' . sprintf($lang['sql_export'],$databases['Name'][$dbid]) . '
'; + $exaus.='' . $nl; + $exaus.=''; + $exaus.=''; + $exaus.=''; + + $exaus.='
' . $lang['tables'] . '' . $lang['exportoptions'] . '' . $lang['export'] . '
' . $sql['export']['tablecount'] . ' ' . $lang['tables'] . ', ' . $sql['export']['recordcount'] . ' ' . $lang['records'] . ''; + $exaus.='   ' . $lang['all'] . '  ' . $lang['none'] . '' . $nl; + + $exaus.='

' . $nl; + $exaus.='
' . $nl; + $exaus.='' . $nl; + $exaus.='' . "CSV" . '   ' . $nl; + $exaus.='' . "Excel" . '   ' . $nl; + $exaus.='' . $lang['excel2003'] . '
' . $nl; + $exaus.='' . "XML" . '   ' . $nl; + $exaus.='' . "HTML" . '

' . $nl; + $exaus.='
CSV-Optionen' . $nl; + $exaus.='' . $nl; + $exaus.='' . $nl; + $exaus.='' . $nl; + $exaus.='' . $nl; + $exaus.='' . $nl; + $exaus.='
' . $nl; + $exaus.='' . $lang['csv_namefirstline'] . '
' . $lang['csv_fieldseperate'] . '
' . $lang['csv_fieldsenclosed'] . '
' . $lang['csv_fieldsescape'] . '
' . $lang['csv_eol'] . '
' . $lang['csv_null'] . '
' . $nl; + + $exaus.='
Excel-Optionen' . $nl; + $exaus.='' . $nl; + $exaus.='
'; + $exaus.='' . $lang['csv_namefirstline'] . '
' . $lang['csv_null'] . '
' . $nl; + + $exaus.='
XML-Optionen'; + $exaus.=''; + $exaus.='
mit Struktur
' . $nl; + + $exaus.='
HTML-Optionen'; + $exaus.=''; + $exaus.='
mit Struktur
' . $nl; + + $exaus.='
' . $nl; + $exaus.='' . $lang['showresult'] . '
' . $nl; + $exaus.='' . $lang['sendresultasfile'] . '
' . $nl; + $exaus.='
' . $lang['compressed'] . '

' . $nl; + + $exaus.='
' . $nl; + $exaus.='
' . $nl; + + $exaus.='' . $nl; + + if (!$download) echo $exaus . $nl; + if (isset($_POST['f_export_submit']) && isset($sql['export']['tables'])) + { + if (!$download) echo '

' . $lang['export'] . ':zeige in neuem Fenster

' . $nl; + echo '' . $lang['exportfinished'] . '  ' . sprintf($lang['exportlines'],$sql['export']['lines']) . $nl; + } + else + { + exit(); + } + } +} + +?> \ No newline at end of file diff --git a/inc/sql_sqlstrings.php b/inc/sql_sqlstrings.php new file mode 100644 index 0000000..7330afe --- /dev/null +++ b/inc/sql_sqlstrings.php @@ -0,0 +1,85 @@ +' . $lang['sql_befehle'] . ' (' . count($SQL_ARRAY) . ')'; +echo '' . $lang['sql_befehlneu'] . '

'; +if (isset($_POST['sqlnewupdate'])) +{ + $ind=count($SQL_ARRAY); + if (count($SQL_ARRAY) > 0) array_push($SQL_ARRAY,$_POST['sqlname' . $ind] . "|" . $_POST['sqlstring' . $ind]); + else $SQL_ARRAY[0]=$_POST['sqlname0'] . "|" . $_POST['sqlstring0']; + WriteSQL(); + echo '

' . $lang['sql_befehlsaved1'] . ' \'' . $_POST['sqlname' . $ind] . '\' ' . $lang['sql_befehlsaved2'] . '

'; +} +echo '
+ + + + '; +echo ''; +$i=0; +if (count($SQL_ARRAY) > 0) +{ + for ($i=0; $i < count($SQL_ARRAY); $i++) + { + if (isset($_POST['sqlupdate' . $i])) + { + + echo '

' . $lang['sql_befehlsaved1'] . ' \'' . $_POST['sqlname' . $i] . '\' ' . $lang['sql_befehlsaved3'] . '

'; + $SQL_ARRAY[$i]=$_POST['sqlname' . $i] . "|" . $_POST['sqlstring' . $i]; + WriteSQL(); + } + if (isset($_POST['sqlmove' . $i])) + { + echo '

' . $lang['sql_befehlsaved1'] . ' \'' . $_POST['sqlname' . $i] . '\' ' . $lang['sql_befehlsaved4'] . '

'; + $a[]=$SQL_ARRAY[$i]; + array_splice($SQL_ARRAY,$i,1); + $SQL_ARRAY=array_merge($a,$SQL_ARRAY); + WriteSQL(); + } + if (isset($_POST['sqldelete' . $i])) + { + echo '

' . $lang['sql_befehlsaved1'] . ' \'' . $_POST['sqlname' . $i] . '\' ' . $lang['sql_befehlsaved5'] . '

'; + array_splice($SQL_ARRAY,$i,1); + WriteSQL(); + } + } + for ($i=0; $i < count($SQL_ARRAY); $i++) + { + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + echo ''; + echo ''; + echo ''; + } +} +if (isset($_GET['new'])) +{ + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + echo ' + + '; +} +echo '
#' . $lang['name'] . 'SQL' . $lang['command'] . '
' . ( $i + 1 ) . ''; + echo '
+
+
' . ( $i + 1 ) . ''; + echo '
' . $lang['sql_library'] . '
'; + echo '
'; +?> diff --git a/inc/sql_tools.php b/inc/sql_tools.php new file mode 100644 index 0000000..bccabbe --- /dev/null +++ b/inc/sql_tools.php @@ -0,0 +1,176 @@ +Tools"; +if (isset($_POST['dbdosubmit'])) +{ + $newname=$_POST['newname']; + $db_index=$_POST['db_index']; + echo "
Db-Index:" . $_GET['db_index']; + $db_action=$_POST['db_action']; + $changed=false; + $ausgabe=$out=""; + switch ($db_action) + { + case "drop": + MSD_DoSQL("DROP DATABASE `" . $databases['Name'][$db_index] . "`"); + echo SQLOutput($out,'

' . $lang['db'] . ' `' . $databases['Name'][$db_index] . '` wurde gelöscht.

'); + $changed=true; + break; + case "empty": + EmptyDB($databases['Name'][$db_index]); + echo SQLOutput($out,'

' . $lang['db'] . ' `' . $databases['Name'][$db_index] . '` ' . $lang['sql_wasemptied'] . '.

'); + break; + case "rename": + $dbold=$databases['Name'][$db_index]; + DB_Copy($dbold,$newname,1); + echo SQLOutput($out,'

' . $lang['db'] . ' `' . $dbold . '` ' . $lang['sql_renamedto'] . ' `' . $newname . '`.

'); + $changed=true; + break; + case "copy": + $dbold=$databases['Name'][$db_index]; + DB_Copy($dbold,$newname); + $changed=true; + echo SQLOutput($out,'

' . sprintf($lang['sql_dbcopy'],$dbold,$newname) . '

'); + break; + case "structure": + DB_Copy($databases['Name'][$db_index],$newname,0,0); + $changed=true; + echo SQLOutput($out,'

' . sprintf($lang['sql_dbscopy'],$databases['Name'][$db_index],$newname) . '

'); + break; + case "rights": + break; + } + + if ($changed=true) + { + SetDefault(); + include ( $config['files']['parameter'] ); + echo ''; + + } +} +if (isset($_POST['dbwantaction'])) +{ + if (isset($_POST['db_createnew'])) + { + $newname=trim($_POST['db_create']); + if (!empty($newname)) + { + $sqlc="CREATE DATABASE `$newname`"; + $col=( MSD_NEW_VERSION ) ? $_POST['db_collate'] : ""; + if (isset($_POST['db_default_charset']) && intval(substr(MSD_NEW_VERSION,0,1)) > 3) + { + $db_default_charset_string=$config['mysql_possible_character_sets'][$_POST['db_default_charset']]; + $db_default_charset=explode(' ',$db_default_charset_string); + if (isset($db_default_charset[0])) $sqlc.=' DEFAULT CHARACTER SET `' . $db_default_charset[0] . '`'; + } + $db_default_collation=@explode('|',$col); + if (isset($db_default_collation[1])) $sqlc.=' COLLATE `' . $db_default_collation[1] . '`'; + + MSD_query($sqlc); + echo $lang['db'] . " `$newname` " . $lang['sql_wascreated'] . ".
"; + SetDefault(); + include ( $config['files']['parameter'] ); + echo ''; + + } + } + $db_action=$newname=""; + $db_index=-1; + for ($i=0; $i < count($databases['Name']); $i++) + { + if (isset($_POST['db_do_' . $i])) + { + $newname=$_POST['db_rename' . $i]; + $db_index=$i; + $db_action=$_POST['db_do_action_' . $i]; + break; + } + } + if ($db_action != "") + { + echo '
'; + echo '
+ + + '; + switch ($db_action) + { + case "drop": + echo '' . sprintf($lang['askdbdelete'],$databases['Name'][$i]) . '

'; + echo ''; + break; + case "empty": + echo '' . sprintf($lang['askdbempty'],$databases['Name'][$i]) . '

'; + echo ''; + break; + case "rename": + echo '' . $lang['sql_renamedb'] . ' `' . $databases['Name'][$db_index] . '` ' . $lang['in'] . ' `' . $newname . '`

'; + echo ''; + break; + case "copy": + echo '' . sprintf($lang['askdbcopy'],$databases['Name'][$db_index],$newname) . '

'; + if ($newname == "") echo '

' . $lang['sql_namedest_missing'] . '

'; + else + { + echo ''; + } + break; + case "structure": + echo '' . $lang['fm_askdbcopy1'] . '`' . $databases['Name'][$db_index] . '`' . $lang['fm_askdbcopy2'] . '`' . $newname . '`' . $lang['fm_askdbcopy3'] . '

'; + if ($newname == "") echo '

' . $lang['sql_namedest_missing'] . '

'; + else + { + echo ''; + } + break; + case "rights": + break; + } + echo '

'; + } +} + +echo '
'; +echo '
'; +echo ''; +echo ''; + +echo ''; + +echo ''; +echo ''; +echo '
' . $lang['create_database'] . '
Name:
' . $lang['default_charset'] . ':
' . $lang['collation'] . '
'; + +echo '
'; +echo ''; +for ($i=0; $i < count($databases['Name']); $i++) +{ + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + echo ( $i == $databases['db_selected_index'] ) ? '' : ''; + echo ''; + echo ''; +} + +echo '
' . $lang['dbs'] . '' . $lang['sql_actions'] . '
' . $databases['Name'][$i] . ''; + echo '  '; + echo "\n\n" . '  '; + + echo '  
'; + + \ No newline at end of file diff --git a/inc/sqllib.php b/inc/sqllib.php new file mode 100644 index 0000000..d8853d3 --- /dev/null +++ b/inc/sqllib.php @@ -0,0 +1,53 @@ + diff --git a/inc/tabellenabfrage.php b/inc/tabellenabfrage.php new file mode 100644 index 0000000..03053cb --- /dev/null +++ b/inc/tabellenabfrage.php @@ -0,0 +1,169 @@ +set_filenames(array( + 'show' => './tpl/dump_select_tables.tpl' + )); + $button_name='dump_tbl'; + //Info aus der Datenbank lesen + MSD_mysql_connect(); + $res=mysql_query('SHOW TABLE STATUS FROM `' . $databases['db_actual'] . '`'); + $numrows=mysql_num_rows($res); + $tbl_zeile=''; + for ($i=0; $i < $numrows; $i++) + { + $row=mysql_fetch_array($res,MYSQL_ASSOC); + //v($row); + // Get nr of records -> need to do it this way because of incorrect returns when using InnoDBs + $sql_2="SELECT count(*) as `count_records` FROM `" . $databases['db_actual'] . "`.`" . $row['Name'] . "`"; + $res2=@mysql_query($sql_2); + if ($res2 === false) + { + $read_error='(' . mysql_errno() . ') ' . mysql_error(); + $row['Rows']='' . $lang['error'] . ': ' . $read_error . ''; + } + else + { + $row2=@mysql_fetch_array($res2); + $row['Rows']=$row2['count_records']; + } + + $klasse=( $i % 2 ) ? 1 : ''; + $table_size=$row['Data_length'] + $row['Index_length']; + $table_type=$row['Engine']; + if (substr($row['Comment'],0,4) == 'VIEW') + { + $table_type='View'; + $table_size='-'; + } + $tpl->assign_block_vars('ROW',array( + + 'CLASS' => 'dbrow' . $klasse, + 'ID' => $i, + 'NR' => $i + 1, + 'TABLENAME' => $row['Name'], + 'TABLETYPE' => $table_type, + 'RECORDS' => $table_type == 'View' ? '' . $row['Rows'] . '' : '' . $row['Rows'] . '', + 'SIZE' => is_int($table_size) ? byte_output($table_size) : $table_size, + 'LAST_UPDATE' => $row['Update_time'] + )); + } +} +else +{ + $tpl->set_filenames(array( + + 'show' => './tpl/restore_select_tables.tpl' + )); + //Restore - Header aus Backupfile lesen + $button_name='restore_tbl'; + $gz=( substr($filename,-3) ) == '.gz' ? 1 : 0; + if ($gz) + { + $fp=gzopen($fpath . $filename,"r"); + $statusline=gzgets($fp,40960); + $offset=gztell($fp); + } + else + { + $fp=fopen($fpath . $filename,"r"); + $statusline=fgets($fp,5000); + $offset=ftell($fp); + } + //Header auslesen + $sline=ReadStatusline($statusline); + + $anzahl_tabellen=$sline['tables']; + $anzahl_eintraege=$sline['records']; + $tbl_zeile=''; + $part=( $sline['part'] == '' ) ? 0 : substr($sline['part'],3); + if ($anzahl_eintraege == -1) + { + // not a backup of MySQLDumper + $tpl->assign_block_vars('NO_MSD_BACKUP',array()); + } + else + { + $tabledata=array(); + $i=0; + //Tabellenfinos lesen + gzseek($fp,$offset); + $eof=false; + WHILE (!$eof) + { + $line=$gz ? gzgets($fp,40960) : fgets($fp,40960); + + if (substr($line,0,9) == '-- TABLE|') + { + $d=explode('|',$line); + $tabledata[$i]['name']=$d[1]; + $tabledata[$i]['records']=$d[2]; + $tabledata[$i]['size']=$d[3]; + $tabledata[$i]['update']=$d[4]; + $tabledata[$i]['engine']=isset($d[5]) ? $d[5]:''; + $i++; + } + if (substr($line,0,6) == '-- EOF') $eof=true; + if (substr(strtolower($line),0,6) == 'create') $eof=true; + } + for ($i=0; $i < sizeof($tabledata); $i++) + { + $klasse=( $i % 2 ) ? 1 : ''; + $tpl->assign_block_vars('ROW',array( + + 'CLASS' => 'dbrow' . $klasse, + 'ID' => $i, + 'NR' => $i + 1, + 'TABLENAME' => $tabledata[$i]['name'], + 'RECORDS' => $tabledata[$i]['records'], + 'SIZE' => byte_output($tabledata[$i]['size']), + 'LAST_UPDATE' => $tabledata[$i]['update'], + 'TABLETYPE' => $tabledata[$i]['engine'] + )); + } + } + if ($gz) gzclose($fp); + else fclose($fp); +} + +if (!isset($dk)) $dk=''; + +$tpl->assign_vars(array( + + 'PAGETITLE' => $tblr . ' -' . $lang['tableselection'], + 'L_NAME' => $lang['name'], + 'L_DATABASE' => $lang['db'], + 'DATABASE' => $databases['db_actual'], + 'L_LAST_UPDATE' => $lang['lastbufrom'], + 'SEL_DUMP_ENCODING' => $sel_dump_encoding, + 'FILENAME' => $filename, + 'DUMP_COMMENT' => $dk, + 'BUTTON_NAME' => $button_name, + 'L_START_BACKUP' => $lang['startdump'], + 'L_START_RESTORE' => $lang['fm_restore'], + 'L_ROWS' => $lang['info_records'], + 'L_SIZE' => $lang['info_size'], + 'L_TABLE_TYPE' => $lang['table_type'], + 'L_SELECT_ALL' => $lang['selectall'], + 'L_DESELECT_ALL' => $lang['deselectall'], + 'L_RESTORE' => $lang['restore'], + 'L_NO_MSD_BACKUP' => $lang['not_supported'] +)); + +$tpl->pparse('show'); +ob_end_flush(); +?> \ No newline at end of file diff --git a/inc/template.php b/inc/template.php new file mode 100644 index 0000000..c806048 --- /dev/null +++ b/inc/template.php @@ -0,0 +1,477 @@ +_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value + // if it's a root-level variable, it'll be like this: + // $this->_tpldata[.][0][varname] == value + var $_tpldata=array(); + + // Hash of filenames for each template handle. + var $files=array(); + + // Root template directory. + var $root=""; + + // this will hash handle names to the compiled code for that handle. + var $compiled_code=array(); + + // This will hold the uncompiled code for that handle. + var $uncompiled_code=array(); + + /** + * Constructor. Simply sets the root dir. + * + */ + function MSDTemplate($root=".") + { + $this->set_rootdir($root); + } + + /** + * Destroys this template object. Should be called when you're done with it, in order + * to clear out the template data so you can load/parse a new template set. + */ + function destroy() + { + $this->_tpldata=array(); + } + + /** + * Sets the template root directory for this Template object. + */ + function set_rootdir($dir) + { + if (!is_dir($dir)) + { + return false; + } + $this->root=$dir; + return true; + } + + /** + * Sets the template filenames for handles. $filename_array + * should be a hash of handle => filename pairs. + */ + function set_filenames($filename_array) + { + if (!is_array($filename_array)) + { + return false; + } + + reset($filename_array); + while (list ($handle, $filename)=each($filename_array)) + { + $this->files[$handle]=$this->make_filename($filename); + } + + return true; + } + + /** + * Load the file for the handle, compile the file, + * and run the compiled code. This will print out + * the results of executing the template. + */ + function pparse($handle) + { + if (!$this->loadfile($handle)) + { + die("Template->pparse(): Couldn't load template file for handle $handle"); + } + + // actually compile the template now. + if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle])) + { + // Actually compile the code now. + $this->compiled_code[$handle]=$this->compile($this->uncompiled_code[$handle]); + } + + // Run the compiled code. + eval($this->compiled_code[$handle]); + return true; + } + + /** + * Inserts the uncompiled code for $handle as the + * value of $varname in the root-level. This can be used + * to effectively include a template in the middle of another + * template. + * Note that all desired assignments to the variables in $handle should be done + * BEFORE calling this function. + */ + function assign_var_from_handle($varname, $handle) + { + if (!$this->loadfile($handle)) + { + die("Template->assign_var_from_handle(): Couldn't load template file for handle $handle"); + } + + // Compile it, with the "no echo statements" option on. + $_str=""; + $code=$this->compile($this->uncompiled_code[$handle],true,'_str'); + + // evaluate the variable assignment. + eval($code); + // assign the value of the generated variable to the given varname. + $this->assign_var($varname,$_str); + + return true; + } + + /** + * Block-level variable assignment. Adds a new block iteration with the given + * variable assignments. Note that this should only be called once per block + * iteration. + */ + function assign_block_vars($blockname, $vararray) + { + if (strstr($blockname,'.')) + { + // Nested block. + $blocks=explode('.',$blockname); + $blockcount=sizeof($blocks) - 1; + $str='$this->_tpldata'; + for ($i=0; $i < $blockcount; $i++) + { + $str.='[\'' . $blocks[$i] . '.\']'; + eval('$lastiteration = sizeof(' . $str . ') - 1;'); + $str.='[' . $lastiteration . ']'; + } + // Now we add the block that we're actually assigning to. + // We're adding a new iteration to this block with the given + // variable assignments. + $str.='[\'' . $blocks[$blockcount] . '.\'][] = $vararray;'; + + // Now we evaluate this assignment we've built up. + eval($str); + } + else + { + // Top-level block. + // Add a new iteration to this block with the variable assignments + // we were given. + $this->_tpldata[$blockname . '.'][]=$vararray; + } + + return true; + } + + /** + * Root-level variable assignment. Adds to current assignments, overriding + * any existing variable assignment with the same name. + */ + function assign_vars($vararray) + { + reset($vararray); + while (list ($key, $val)=each($vararray)) + { + $this->_tpldata['.'][0][$key]=$val; + } + + return true; + } + + /** + * Root-level variable assignment. Adds to current assignments, overriding + * any existing variable assignment with the same name. + */ + function assign_var($varname, $varval) + { + $this->_tpldata['.'][0][$varname]=$varval; + + return true; + } + + /** + * Generates a full path+filename for the given filename, which can either + * be an absolute name, or a name relative to the rootdir for this Template + * object. + */ + function make_filename($filename) + { + // Check if it's an absolute or relative path. + /* + if (substr($filename, 0, 1) != '/') + { + $filename = $this->root . '/' . $filename; + } +*/ + if (!file_exists($filename)) + { + die("Template->make_filename(): Error - file $filename does not exist"); + } + + return $filename; + } + + /** + * If not already done, load the file for the given handle and populate + * the uncompiled_code[] hash with its code. Do not compile. + */ + function loadfile($handle) + { + // If the file for this handle is already loaded and compiled, do nothing. + if (isset($this->uncompiled_code[$handle]) && !empty($this->uncompiled_code[$handle])) + { + return true; + } + + // If we don't have a file assigned to this handle, die. + if (!isset($this->files[$handle])) + { + die("Template->loadfile(): No file specified for handle $handle"); + } + + $filename=$this->files[$handle]; + + $str=implode("",@file($filename)); + if (empty($str)) + { + die("Template->loadfile(): File $filename for handle $handle is empty"); + } + + $this->uncompiled_code[$handle]=$str; + + return true; + } + + /** + * Compiles the given string of code, and returns + * the result in a string. + * If "do_not_echo" is true, the returned code will not be directly + * executable, but can be used as part of a variable assignment + * for use in assign_code_from_handle(). + */ + function compile($code, $do_not_echo=false, $retvar='') + { + // replace \ with \\ and then ' with \'. + $code=str_replace('\\','\\\\',$code); + $code=str_replace('\'','\\\'',$code); + + // change template varrefs into PHP varrefs + + + // This one will handle varrefs WITH namespaces + $varrefs=array(); + preg_match_all('#\{(([a-z0-9\-_]+?\.)+?)([a-z0-9\-_]+?)\}#is',$code,$varrefs); + $varcount=sizeof($varrefs[1]); + for ($i=0; $i < $varcount; $i++) + { + $namespace=$varrefs[1][$i]; + $varname=$varrefs[3][$i]; + $new=$this->generate_block_varref($namespace,$varname); + + $code=str_replace($varrefs[0][$i],$new,$code); + } + + // This will handle the remaining root-level varrefs + $code=preg_replace('#\{([a-z0-9\-_]*?)\}#is','\' . ( ( isset($this->_tpldata[\'.\'][0][\'\1\']) ) ? $this->_tpldata[\'.\'][0][\'\1\'] : \'\' ) . \'',$code); + + // Break it up into lines. + $code_lines=explode("\n",$code); + + $block_nesting_level=0; + $block_names=array(); + $block_names[0]="."; + + // Second: prepend echo ', append ' . "\n"; to each line. + $line_count=sizeof($code_lines); + for ($i=0; $i < $line_count; $i++) + { + $code_lines[$i]=chop($code_lines[$i]); + if (preg_match('##',$code_lines[$i],$m)) + { + $n[0]=$m[0]; + $n[1]=$m[1]; + + // Added: dougk_ff7-Keeps templates from bombing if begin is on the same line as end.. I think. :) + if (preg_match('##',$code_lines[$i],$n)) + { + $block_nesting_level++; + $block_names[$block_nesting_level]=$m[1]; + if ($block_nesting_level < 2) + { + // Block is not nested. + $code_lines[$i]='$_' . $n[1] . '_count = ( isset($this->_tpldata[\'' . $n[1] . '.\']) ) ? sizeof($this->_tpldata[\'' . $n[1] . '.\']) : 0;'; + $code_lines[$i].="\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)'; + $code_lines[$i].="\n" . '{'; + } + else + { + // This block is nested. + + + // Generate a namespace string for this block. + $namespace=implode('.',$block_names); + // strip leading period from root level.. + $namespace=substr($namespace,2); + // Get a reference to the data array for this block that depends on the + // current indices of all parent blocks. + $varref=$this->generate_block_data_ref($namespace,false); + // Create the for loop code to iterate over this block. + $code_lines[$i]='$_' . $n[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;'; + $code_lines[$i].="\n" . 'for ($_' . $n[1] . '_i = 0; $_' . $n[1] . '_i < $_' . $n[1] . '_count; $_' . $n[1] . '_i++)'; + $code_lines[$i].="\n" . '{'; + } + + // We have the end of a block. + unset($block_names[$block_nesting_level]); + $block_nesting_level--; + $code_lines[$i].='} // END ' . $n[1]; + $m[0]=$n[0]; + $m[1]=$n[1]; + } + else + { + // We have the start of a block. + $block_nesting_level++; + $block_names[$block_nesting_level]=$m[1]; + if ($block_nesting_level < 2) + { + // Block is not nested. + $code_lines[$i]='$_' . $m[1] . '_count = ( isset($this->_tpldata[\'' . $m[1] . '.\']) ) ? sizeof($this->_tpldata[\'' . $m[1] . '.\']) : 0;'; + $code_lines[$i].="\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)'; + $code_lines[$i].="\n" . '{'; + } + else + { + // This block is nested. + + + // Generate a namespace string for this block. + $namespace=implode('.',$block_names); + // strip leading period from root level.. + $namespace=substr($namespace,2); + // Get a reference to the data array for this block that depends on the + // current indices of all parent blocks. + $varref=$this->generate_block_data_ref($namespace,false); + // Create the for loop code to iterate over this block. + $code_lines[$i]='$_' . $m[1] . '_count = ( isset(' . $varref . ') ) ? sizeof(' . $varref . ') : 0;'; + $code_lines[$i].="\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)'; + $code_lines[$i].="\n" . '{'; + } + } + } + else if (preg_match('##',$code_lines[$i],$m)) + { + // We have the end of a block. + unset($block_names[$block_nesting_level]); + $block_nesting_level--; + $code_lines[$i]='} // END ' . $m[1]; + } + else + { + // We have an ordinary line of code. + if (!$do_not_echo) + { + $code_lines[$i]='echo \'' . $code_lines[$i] . '\' . "\\n";'; + } + else + { + $code_lines[$i]='$' . $retvar . '.= \'' . $code_lines[$i] . '\' . "\\n";'; + } + } + } + + // Bring it back into a single string of lines of code. + $code=implode("\n",$code_lines); + return $code; + + } + + /** + * Generates a reference to the given variable inside the given (possibly nested) + * block namespace. This is a string of the form: + * ' . $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['varname'] . ' + * It's ready to be inserted into an "echo" line in one of the templates. + * NOTE: expects a trailing "." on the namespace. + */ + function generate_block_varref($namespace, $varname) + { + // Strip the trailing period. + $namespace=substr($namespace,0,strlen($namespace) - 1); + + // Get a reference to the data block for this namespace. + $varref=$this->generate_block_data_ref($namespace,true); + // Prepend the necessary code to stick this in an echo line. + + + // Append the variable reference. + $varref.='[\'' . $varname . '\']'; + + $varref='\' . ( ( isset(' . $varref . ') ) ? ' . $varref . ' : \'\' ) . \''; + + return $varref; + + } + + /** + * Generates a reference to the array of data values for the given + * (possibly nested) block namespace. This is a string of the form: + * $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['$childN'] + * + * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above. + * NOTE: does not expect a trailing "." on the blockname. + */ + function generate_block_data_ref($blockname, $include_last_iterator) + { + // Get an array of the blocks involved. + $blocks=explode(".",$blockname); + $blockcount=sizeof($blocks) - 1; + $varref='$this->_tpldata'; + // Build up the string with everything but the last child. + for ($i=0; $i < $blockcount; $i++) + { + $varref.='[\'' . $blocks[$i] . '.\'][$_' . $blocks[$i] . '_i]'; + } + // Add the block reference for the last child. + $varref.='[\'' . $blocks[$blockcount] . '.\']'; + // Add the iterator for the last child if requried. + if ($include_last_iterator) + { + $varref.='[$_' . $blocks[$blockcount] . '_i]'; + } + + return $varref; + } + +} + +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..f3f0583 --- /dev/null +++ b/index.php @@ -0,0 +1,27 @@ + + + + + + +MySQLDumper + + + + + + + diff --git a/install.php b/install.php new file mode 100644 index 0000000..c830e47 --- /dev/null +++ b/install.php @@ -0,0 +1,679 @@ +$getval) +{ + ${$getvar}=$getval; +} +foreach ($_POST as $postvar=>$postval) +{ + ${$postvar}=$postval; +} +include_once ( './inc/functions.php' ); +include_once ( './inc/mysql.php' ); +include_once ( './inc/runtime.php' ); +if (!isset($language)) $language="en"; + +$config['language']=$language; +include ( './language/lang_list.php' ); +include ( 'language/' . $language . '/lang_install.php' ); +include ( 'language/' . $language . '/lang_main.php' ); + +//Übergabe der Parameter über FORM +if (isset($_POST['dbhost'])) +{ + $config['dbhost']=$dbhost; + $config['dbuser']=$dbuser; + $config['dbpass']=$dbpass; + $config['dbport']=$dbport; + $config['dbsocket']=$dbsocket; + $config['manual_db']=$manual_db; +} +else +{ + // Wenn Connection-String existiert -> Verbindungsdaten aus connstr auslesen + if (isset($connstr) && !empty($connstr)) + { + $p=explode("|",$connstr); + $dbhost=$config['dbhost']=$p[0]; + $dbuser=$config['dbuser']=$p[1]; + $dbpass=$config['dbpass']=$p[2]; + $dbport=$config['dbport']=$p[3]; + $dbsocket=$config['dbsocket']=$p[4]; + $manual_db=$config['manual_db']=$p[5]; + } + else + $connstr=""; +} + +//Variabeln +$phase=( isset($phase) ) ? $phase : 0; +if (isset($_POST['manual_db'])) $manual_db=trim($_POST['manual_db']); +$connstr="$dbhost|$dbuser|$dbpass|$dbport|$dbsocket|$manual_db"; +$connection=''; +$delfiles=Array(); + +$config['files']['iconpath']='./css/msd/icons/'; +$img_ok='ok'; +$img_failed='failed'; +$href="install.php?language=$language&phase=$phase&connstr=$connstr"; +header('content-type: text/html; charset=utf-8'); +?> + + + + + + + +MySQLDumper - Installation + + + + + + + + + + 9 && $phase < 12) +{ + $Anzeige=$lang['install'] . ' - ' . $lang['step'] . ' ' . ( $phase - 7 ); +} +elseif ($phase > 19 && $phase < 100) +{ + $Anzeige=$lang['tools']; +} +else +{ + $Anzeige=$lang['uninstall'] . ' - ' . $lang['step'] . ' ' . ( $phase - 99 ); +} + +echo '' . $lang['install_tomenu'] . ''; +echo '

+' . $Anzeige . ' +

'; + +echo '

Version ' . MSD_VERSION . '

'; + +switch ($phase) +{ + + case 0: // Anfang - Sprachauswahl + // da viele ja nicht in die Anleitung schauen -> versuchen die Perldateien automatisch richtig zu chmodden + @chmod('./msd_cron/crondump.pl',0755); + @chmod('./msd_cron/perltest.pl',0755); + @chmod('./msd_cron/simpletest.pl',0755); + + echo '
'; + echo ''; + echo '
LanguageTools
'; + echo GetLanguageCombo("radio","radio","language",""); + echo '
","
'; + + foreach ($lang['languages'] as $key) + { + echo ( "\n" ); + } + + echo ( "\n
" ); + echo ''; + break; + case 1: // checken + @chmod("config.php",0777); + echo '
' . $lang['dbparameter'] . '
'; + if (!is_writable("config.php")) + { + echo '

' . $lang['confignotwritable'] . '

'; + echo '' . $lang['tryagain'] . ''; + echo '     ' . $lang['install_tomenu'] . ''; + } + else + { + $tmp=file("config.php"); + $stored=0; + + if (!isset($_POST['dbconnect'])) + { + // Erstaufruf - Daten aus config.php auslesen + for ($i=0; $i < count($tmp); $i++) + { + if (substr($tmp[$i],0,17) == '$config[\'dbhost\']') + { + $config['dbhost']=extractValue($tmp[$i]); + $dbhost=$config['dbhost']; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbport\']') + { + $config['dbport']=extractValue($tmp[$i]); + $dbport=$config['dbport']; + $stored++; + } + if (substr($tmp[$i],0,19) == '$config[\'dbsocket\']') + { + $config['dbsocket']=extractValue($tmp[$i]); + $dbsocket=$config['dbsocket']; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbuser\']') + { + $config['dbuser']=extractValue($tmp[$i]); + $dbuser=$config['dbuser']; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbpass\']') + { + $config['dbpass']=extractValue($tmp[$i]); + $dbpass=$config['dbpass']; + $stored++; + } + if (substr($tmp[$i],0,19) == '$config[\'language\']') + { + $config['language']=extractValue($tmp[$i]); + $stored++; + } + if ($stored == 6) break; + } + } + + if (!isset($config['dbport'])) $config['dbport']=""; + if (!isset($config['dbsocket'])) $config['dbsocket']=""; + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + if (isset($_POST['dbconnect'])) + { + echo ''; + echo ''; + } + echo '
' . $lang['db_host'] . ':
' . $lang['db_user'] . ':
' . $lang['db_pass'] . ':
' . $lang['db'] . ':
'; + echo $lang['port'] . ':  ' . $lang['install_help_port'] . '
' . $lang['socket'] . ':  ' . $lang['install_help_socket'] . '
' . $lang['testconnection'] . ':
' . $lang['dbconnection'] . '
'; + $connection=MSD_mysql_connect(); + + if ($connection === false) + { + echo '

' . $lang['connectionerror'] . '

 '; + } + else + { + echo '

' . $lang['connection_ok'] . '

'; + $connection="ok"; + $connstr="$dbhost|$dbuser|$dbpass|$dbport|$dbsocket|$manual_db"; + echo ''; + if ($manual_db > '') SearchDatabases(1,$manual_db); + else SearchDatabases(1); + } + echo '

'; + + if ($connection == "ok") + { + if (!isset($databases['Name'][0])) echo '
' . $lang['no_db_found_info']; + + echo '
'; + echo ' + + + + + + '; + echo '
'; + } + } + break; + + case 2: // + echo '
MySQLDumper - ' . $lang['confbasic'] . '
'; + $tmp=@file("config.php"); + $stored=0; + for ($i=0; $i < count($tmp); $i++) + { + + if (substr($tmp[$i],0,17) == '$config[\'dbhost\']') + { + $tmp[$i]='$config[\'dbhost\'] = \'' . $dbhost . '\';' . "\n"; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbport\']') + { + $tmp[$i]='$config[\'dbport\'] = \'' . $dbport . '\';' . "\n"; + $stored++; + } + if (substr($tmp[$i],0,19) == '$config[\'dbsocket\']') + { + $tmp[$i]='$config[\'dbsocket\'] = \'' . $dbsocket . '\';' . "\n"; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbuser\']') + { + $tmp[$i]='$config[\'dbuser\'] = \'' . $dbuser . '\';' . "\n"; + $stored++; + } + if (substr($tmp[$i],0,17) == '$config[\'dbpass\']') + { + $tmp[$i]='$config[\'dbpass\'] = \'' . $dbpass . '\';' . "\n"; + $stored++; + } + + if ($stored == 6) break; + } + $ret=true; + if ($fp=fopen("config.php","wb")) + { + if (!fwrite($fp,implode($tmp,""))) $ret=false; + if (!fclose($fp)) $ret=false; + @chmod("config.php",0644); + } + if (!$ret) + { + echo '

' . $lang['import12'] . '

'; + } + else + { + if (ini_get('safe_mode') == 1) + { + $nextphase=( extension_loaded("ftp") ) ? 10 : 9; + } + else + $nextphase=$phase + 2; + echo $lang['install_step2finished']; + echo '

 

'; + echo '
'; + echo ''; + } + + break; + + case 3: // + if (ini_get('safe_mode') == 1) $nextphase=10; + else $nextphase=$phase + 1; + echo '
' . $lang['editconf'] . '
'; + echo '
+
   +    + '; + echo ''; + echo '
'; + + break; + case 4: //Verzeichnisse + + + if (isset($_POST['submit'])) + { + $ret=true; + if ($fp=fopen("config.php","wb")) + { + if (!fwrite($fp,stripslashes(stripslashes($_POST['configfile'])))) $ret=false; + if (!fclose($fp)) $ret=false; + } + else + $ret=false; + + if ($ret == false) + { + echo '
' . $lang['errorman'] . ' config.php ' . $lang['manuell'] . '.'; + die(); + } + } + + echo '
' . $lang['createdirs'] . '
'; + + $check_dirs=ARRAY( + + "work/", + "work/config/", + "work/log/", + "work/backup/" + ); + $msg=''; + foreach ($check_dirs as $d) + { + $success=SetFileRechte($d,1,0777); + if ($success != 1) $msg.=$success . '
'; + } + + if ($msg > '') echo '' . $msg . ''; + + $iw[0]=IsWritable("work"); + $iw[1]=IsWritable("work/config"); + $iw[2]=IsWritable("work/log"); + $iw[3]=IsWritable("work/backup"); + + // save manual_db + if ($manual_db > '') + { + if (file_exists('./' . $config['files']['dbs_manual'])) @unlink('./' . $config['files']['dbs_manual']); + $file_handle=fopen('./' . $config['files']['dbs_manual'],'a'); + if ($file_handle) + { + fwrite($file_handle,$manual_db); + fclose($file_handle); + @chmod('./' . $config['files']['dbs_manual'],0777); + } + } + + if ($iw[0] && $iw[1] && $iw[2] && $iw[3]) + { + echo ''; + } + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if ($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4]) echo ''; + echo '
' . $lang['dir'] . '' . $lang['rechte'] . '' . $lang['status'] . '
work' . Rechte("work") . '' . ( ( $iw[0] ) ? $img_ok : $img_failed ) . '
work/config' . Rechte("work/config") . '' . ( ( $iw[1] ) ? $img_ok : $img_failed ) . '
work/log' . Rechte("work/log") . '' . ( ( $iw[2] ) ? $img_ok : $img_failed ) . '
work/backup' . Rechte("work/backup") . '' . ( ( $iw[3] ) ? $img_ok : $img_failed ) . '
' . $lang['dirs_created'] . '

'; + break; + case 5: + echo '
' . $lang['laststep'] . '
'; + + echo '

' . $lang['installfinished'] . '

'; + SetDefault(1); + include ( "language/" . $language . "/lang_install.php" ); + + // direkt zum Start des Dumeprs + echo ''; + break; + case 9: + + clearstatcache(); + $iw[0]=IsWritable("work"); + $iw[1]=IsWritable("work/config"); + $iw[2]=IsWritable("work/log"); + $iw[3]=IsWritable("work/backup"); + echo '
' . $lang['ftpmode'] . '
'; + echo '

' . $lang['safemodedesc'] . '

'; + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + // Wenn Verzeichnisse erstellt wurden - direkt weitermachen + if ($iw[0] && $iw[1] && $iw[2] && $iw[3]) + { + echo ''; + } + echo '
' . $lang['idomanual'] . '
' . $lang['dofrom'] . '
' . Realpfad('./') . '
work' . ( ( $iw[0] ) ? $img_ok : $img_failed ) . '
work/config' . ( ( $iw[1] ) ? $img_ok : $img_failed ) . '
work/log' . ( ( $iw[2] ) ? $img_ok : $img_failed ) . '
work/backup' . ( ( $iw[3] ) ? $img_ok : $img_failed ) . '
'; + + break; + case 10: //safe_mode FTP + $config['ftp_useSSL']=0; + clearstatcache(); + $iw[0]=IsWritable("work"); + $iw[1]=IsWritable("work/config"); + $iw[2]=IsWritable("work/log"); + $iw[3]=IsWritable("work/backup"); + if (!isset($install_ftp_port) || $install_ftp_port < 1) $install_ftp_port=21; + echo '
' . $lang['ftpmode'] . '
'; + echo '

' . $lang['safemodedesc'] . '

'; + + echo ' +
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if ($iw[0] && $iw[1] && $iw[2] && $iw[3]) echo ''; + echo '
' . $lang['idomanual'] . '
' . $lang['dofrom'] . '
' . Realpfad('./') . '
work' . ( ( $iw[0] ) ? $img_ok : $img_failed ) . '
work/config' . ( ( $iw[1] ) ? $img_ok : $img_failed ) . '
work/log' . ( ( $iw[2] ) ? $img_ok : $img_failed ) . '
work/backup' . ( ( $iw[3] ) ? $img_ok : $img_failed ) . '
' . $lang['dirs_created'] . '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
' . $lang['ftpmode2'] . '
FTP-Server
FTP-Port
FTP-User
FTP-' . $lang['pass'] . '
' . $lang['info_scriptdir'] . '
+
'; + if (isset($ftp_connect)) + { + echo '
'; + $tftp=TesteFTP($install_ftp_server,$install_ftp_port,$install_ftp_user_name,$install_ftp_user_pass,$install_ftp_path); + echo $tftp; + echo ' '; + if (substr($tftp,-9) == "") + { + echo '
+ '; + echo ' + + + + '; + echo '
'; + } + echo '
'; + } + //echo ''; + + + //echo ''; + + + break; + + case 11: //FTP-Create Dirs + echo '
' . $lang['ftpmode'] . '
'; + if (CreateDirsFTP() == 1) + { + SetDefault(true); + echo DirectoryWarnings(); + echo '
' . $lang['installfinished']; + } + break; + case 100: //uninstall + echo '
' . $lang['ui1'] . '
'; + echo '
' . $lang['ui2'] . '
'; + echo '' . $lang['ui3'] . '     '; + echo '' . $lang['ui4'] . ''; + break; + case 101: + echo '
' . $lang['ui5'] . '
'; + $paths=Array(); + $w=substr($config['paths']['work'],0,strlen($config['paths']['work']) - 1); + if (is_dir($w)) $res=rec_rmdir($w); + else $res=0; + // wurde das Verzeichnis korrekt gelöscht + if ($res == 0) + { + // das Verzeichnis wurde korrekt gelöscht + echo '

' . $lang['ui6'] . '

'; + echo $lang['ui7'] . "
\"" . Realpfad("./") . "\"
" . $lang['manuell'] . ".

"; + echo '' . $lang['ui8'] . ''; + + } + else + { + echo '

' . $lang['ui9'] . '"' . $paths[count($paths) - 1] . '"'; + + } + break; +} + +?> + +

+ + + + + diff --git a/js/script.js b/js/script.js new file mode 100644 index 0000000..ffa1ad0 --- /dev/null +++ b/js/script.js @@ -0,0 +1,264 @@ +var NS = (document.layers); +var IE = (document.all); + +function obj_enable(objid) +{ + var e=document.getElementById(objid); + e.disabled=false; +} + +function obj_disable(objid) +{ + var e=document.getElementById(objid); + e.disabled=true; +} + +function setactiveMenuFromContent() +{ + var a=parent.MySQL_Dumper_content.location.href; + var menuid=1; //Home + if (a.indexOf("config_overview.php")!=-1) menuid=2; + if (a.indexOf("filemanagement.php")!=-1) + { + if (a.indexOf("action=dump")!=-1) menuid=3; + if (a.indexOf("action=restore")!=-1) menuid=4; + if (a.indexOf("action=files")!=-1) menuid=5; + } + + if (a.indexOf("sql.php")!=-1) menuid=6; + if (a.indexOf("log.php")!=-1) menuid=7; + if (a.indexOf("help.php")!=-1) menuid=8; + setMenuActive('m'+menuid); +} + + +function setMenuActive(id) { + for(var i=1;i<=10;i++) { + var objid='m' + i; + if(id==objid) + { + parent.frames[0].document.getElementById(objid).className='active'; + } + else + { + if (parent.frames[0].document.getElementById(objid)) parent.frames[0].document.getElementById(objid).className=''; + } + } +} + +//Filemanagement +function GetSelectedFilename() +{ + var a=""; + var obj=document.getElementsByName("file[]"); + var anz=0; + if(!obj.length) + { + if(obj.checked){a=obj.value;} + } + else + { + for (i=0; i 1","gd");} + +} +//config + +function SelectMD(v,anz) +{ + for (i = 0; i < anz; i++) { + n="db_multidump_" + i; + obj=document.getElementsByName(n)[0]; + if(obj) { + obj.checked=v; + } + } + +} + +//tabellenabfrage +function Sel(v) +{ + var a=document.frm_tbl; + if(!a.chk_tbl.length) + { + a.chk_tbl.checked = v; + } else { + for (i = 0; i < a.chk_tbl.length; i++) { + a.chk_tbl[i].checked = v; + } + } +} + + +function ConfDBSel(v,adb) +{ + for (i = 0; i < adb; i++) { + var a=document.getElementsByName("db_multidump["+i+"]"); + if(a) a.checked = v; + } +} + +function chkFormular() +{ + var a=document.frm_tbl; + a.tbl_array.value=""; + + if(!a.chk_tbl.length) + { + if(a.chk_tbl.checked==true) + a.tbl_array.value += a.chk_tbl.value + "|"; + } else { + for (i = 0; i < a.chk_tbl.length; i++) { + if(a.chk_tbl[i].checked==true) + a.tbl_array.value += a.chk_tbl[i].value + "|"; + } + } + if(a.tbl_array.value==""){ + alert("Choose tables!"); + return false; + } else { + //alert(a.tbl_array.value); + return true; + } +} + +function insertHTA(s,tb) +{ + if(s==1) ins="AddHandler php-fastcgi .php .php4\nAddhandler cgi-script .cgi .pl\nOptions +ExecCGI"; + + if(s==101) ins="DirectoryIndex /cgi-bin/script.pl" + if(s==102) ins="AddHandler cgi-script .extension"; + if(s==103) ins="Options +ExecCGI"; + if(s==104) ins="Options +Indexes"; + if(s==105) ins="ErrorDocument 400 /errordocument.html"; + if(s==106) ins="# (macht aus http://domain.de/xyz.html ein\n# http://domain.de/main.php?xyz)\nRewriteEngine on\nRewriteBase /\nRewriteRule ^([a-z]+)\.html$ /main.php?$1 [R,L]"; + if(s==107) ins="Deny from IPADRESS\nAllow from IPADRESS"; + if(s==108) ins="Redirect /service http://foo2.bar.com/service"; + if(s==109) ins="ErrorLog /path/logfile" + tb.value+="\n"+ins; +} + + +//restore +function WP(s,obj) { + document.getElementById(obj).innerHTML=s; +} + +function resizeSQL(i){ + + var obj=document.getElementById("sqltextarea"); + + var h=0; + if(i==0) { + obj.style.height = '4px'; + } else { + if(i==1) h=-20; + if(i==2) h=20; + var oh =obj.style.height; + var s= Number(oh.substring(0,oh.length-2)) + h; + if(s<24) s=24; + obj.style.height = s + 'px'; + } +} + +function getObj(element,docname){ + if(document.layers){ + docname=(docname) ? docname : self; + if(f.document.layers[element]) { + return f.document.layers[element]; + } + for(W=0;i0) { + document.getElementById('sqlstring'+i).value = obj.options[obj.selectedIndex].value; + document.getElementById('sqlname'+i).value = obj.options[obj.selectedIndex].text; + } +} + +function DisplayExport(s) { + document.getElementById("export_working").InnerHTML=s; +} +function SelectedTableCount() { + var obj=document.getElementsByName('f_export_tables[]')[0]; + var anz=0; + for (var i=0; i +

About this project

+The idea for this project comes from Daniel Schlichtholz.

In 2004 he created a forum called MySQLDumper and soon, programmers who wrote new scripts, supplemented Daniel's scripts.
After a short time the small backup-script developed into a stately project.

If you have any improvement suggestions you can visit the MySQLDumper-Forum: http://www.mysqldumper.de.

We wish you a lot of fun with this project.

The MySQLDumper-Team

+
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript with Support from Detlev Richter
+
+ +

MySQLDumper Help

+ +

Download

+This Script is available on the Homepage of MySQLDumper.
+It is recommanded to visit the Homepage frequently to get the latest information, updates and help.
+The address is +http://forum.mysqldumper.de + + +

System Mandatories

+The Script works with nearly any server (Windows, Linux, ...)
+and PHP >= Version 4.3.4 with GZip-Library, MySQL (>= 3.23), JavaScript (must be enabled). + +

Installation

+The installation is very easy. +Unpack the archive in any folder, +which is accessible from the Webserver
+(e.g. in the root directory [Server rootdir/]MySQLDumper)
+change config.php to chmod 777
+... all done!
+you can start MySQLDumper in your Browser by typing "http://webserver/MySQLDumper" +to complete the setup, just follow the instructions. + +
Note:
If your webserver runs with the option safemode=ON MySqlDump mustn't create directories.
+You will have to do that yourself.
+MySqlDump breaks in that case and tells you what to do.
+After you created the directories MySqlDump will function normally.

+ +

Guidance for the Perl script

+ +Most have a cgi-bin directory, in which Perl can be executed.
+This is usually by Browser over http://www.domain.de/cgi-bin/ available.

+ +Make the following steps for this case please.

+ +1. Call in MySQLDumper the page Backup and click "Backup Perl"
+2. Copy the path, that stands behind entry in crondump.pl for $absolute_path_of_configdir:
+3. open the file "crondump.pl" in the editor
+4. paste the copied path there with absolute_path_of_configdir (no blanks)
+5. Save crondump.pl
+6. copy crondump.pl, as well as perltest.pl and simpletest.pl to the cgi-bin directory (ASCII mode in the ftp-client!)
+7. chmod 755 to the scripts.
+7b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
+8. Call in the MySQLDumper the page Configuration
+9. click on Cronscript
+10. changes Perl execution path to /cgi-bin/
+10b. if the Scripts are renamed to *.cgi , change Fileextension to cgi
+11 save the Configuration

+ +Ready ! The scripts are available from the Page "Backup"

+ +When you can execute Perl anywhere, only following step are needed:

+ +1. Call in MySQLDumper the page Backup.
+2. Copy the path, that stands behind entry in crondump.pl for $absolute_path_of_configdir:
+3. open the file "crondump.pl" in the editor
+4. paste the copied path there with absolute_path_of_configdir (no blanks)
+5. Save crondump.pl
+ +6. chmod 755 to the scripts.
+6b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
+(ev. 10b+11 from above)

+ + +Windowsuser must change the first line of all Perlscripts, to the path of Perl.

+ +Example:
+ +instead of: #!/usr/bin/perl w
+now #!C:\perl\bin\perl.exe w
+ +

Operating

    + +
    Menu
    +In the select box above you choose your database.
    +All actions refer to this database. + +
    Home
    +Here you get information about your system, the version numbers and details about the configured databases.
    +If you click on a database in the table, you get a list of tables with record counts, size and last update stamp. + +
    Configuration
    +Here you can edit your configuration, save it or load the default settings. + + +
    Management
    +All the actions are listed here.
    +You see all files in the backup directory. +For the actions "Restore" and "Delete" you have to select a file first. +
      +
    • Restore: you restore the database with the records of the selected backupfile.
    • +
    • Delete: you can delete the selected backup file.
    • +
    • Start new Dump: here you start a new backup (dump) with your configured parameters.
    • +
    + +
    Log
    +You can read the Log entries and delete them. + +
    Credits / Help
    +This page. +
\ No newline at end of file diff --git a/language/ar/lang.php b/language/ar/lang.php new file mode 100644 index 0000000..126b347 --- /dev/null +++ b/language/ar/lang.php @@ -0,0 +1,107 @@ +غير متوÙر"; +$lang['vom']="ÙÙŠ"; +$lang['mysqlvars']="MySQL متغيرات"; +$lang['mysqlsys']="MySQL اوامر"; +$lang['Status']="الحالة"; +$lang['Prozesse']="العمليات"; +$lang['info_novars']="لا متغيرات متوÙره"; +$lang['Inhalt']="القيمة"; +$lang['info_nostatus']="لا توجد نتائج متوÙره"; +$lang['info_noprocesses']="لا توجد عمليات جارية"; +$lang['fm_freespace']="المساحة الخالية على الخادم"; +$lang['load_database']="اعد تحميل قواعد البيانات"; +$lang['home']="الرئيسة"; +$lang['config']="اعدادات"; +$lang['dump']="انشاء نسخة من قاعدة البيانات"; +$lang['restore']="استعادة قاعدة البيانات"; +$lang['file_manage']="مدير الملÙات"; +$lang['log']="السجل"; +$lang['choose_db']="اختر قاعدة البيانات"; +$lang['credits']="المعلومات / الدعم"; +$lang['multi_part']="تعدد النسخ الاحتياطي"; +$lang['logfilenotwritable']="لا يستطيع الكتابة الى مل٠السجل !"; +$lang['sql_error1']="خطأ ÙÙŠ الاستعلام:"; +$lang['sql_error2']="MySQL وص٠الحاله:"; +$lang['unknown']="غير معروÙ"; +$lang['unknown_number_of_records']="غير معروÙ"; +$lang['ok']="OK"; +$lang['cron_completelog']="ناتج السجل الكامل"; +$lang['no']="لا"; +$lang['create_database']="انشاء قاعدة بيانات جديده"; +$lang['exportfinished']="الصيغة النهائية."; +$lang['sql_browser']="SQL-استعرض"; +$lang['server']="الخادم"; +$lang['mysql_connection_encoding']="معيار الترميز القياسي ÙÙŠ MySQL-Server + + +"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_config_overview.php b/language/ar/lang_config_overview.php new file mode 100644 index 0000000..f4e7e42 --- /dev/null +++ b/language/ar/lang_config_overview.php @@ -0,0 +1,115 @@ +%s

الى %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="نسخة كربونية-الى المستلم"; +$lang['name']="الاسم"; +$lang['confirm_configfile_delete']="هل تريد حذ٠مل٠التهيئة Ùعلا %s?"; +$lang['error_deleting_configfile']="خطا: لا يستطيع حذ٠مل٠التهيئة %s!"; +$lang['success_deleting_configfile']="مل٠التهيئة %s تم حذÙÙ‡ بنجاح."; +$lang['success_configfile_created']="مل٠التهيئة %s تم انشاؤه بنجاح."; +$lang['error_configfile_name']="المل٠بإسم \"%s\" يحتوي على احر٠غير صحيحه."; +$lang['create_configfile']="انشاء تهيئة جديده للملÙ"; +$lang['error_loading_configfile']="لا يستطيع تحميل مل٠التهيئة \"%s\"."; +$lang['backup_dbs_php']="قواعدة البيانات الى النسخ الاحتياطي (PHP)"; +$lang['backup_dbs_perl']="قواعد البيانات الى النسخ الاحتياطي (PERL)"; +$lang['cron_comment']="ادخل تعليقا + + +"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_dump.php b/language/ar/lang_dump.php new file mode 100644 index 0000000..1ef3218 --- /dev/null +++ b/language/ar/lang_dump.php @@ -0,0 +1,64 @@ +%s
` "; +$lang['dump_endergebnis']="محتويات المل٠%s مع الجداول %s السجلات.
"; +$lang['mailerror']="Ùشل ارسال البريد الالكتروني!"; +$lang['emailbody_attach']="المرÙÙ‚ يحتوي على مل٠النسخ الاحتياطي لقاعدة البيانات MySQL.
نسخ احتياطي لقاعدة البيانات `%s` +

تم انشاء المل٠التالي:

%s

حظا موÙقا

MySQLDumper
"; +$lang['emailbody_mp_noattach']="تم انشاء النسخ الاحتياطي المتعدد.
ملÙات النسخ الاحتياطي لا يمكن ارسالها البريد الالكتروني!
النسخ الاحتياطي لقاعدة البيانات `%s` +

الملÙات التالية تم انشئت:

%s +

حظا موÙقا

MySQLDumper
"; +$lang['emailbody_mp_attach']="تم انشاء النسخ الاحتياطي المتعدد.
Ùواصل بين ملÙات النسخ الاحتياطي عند ارسالها بالبريد الالكتروني.
النسخ الاحتياطي لقاعدة البيانات `%s` +

الملÙات التالية انشئت:

%s

حظا موÙقا

MySQLDumper
"; +$lang['emailbody_footer']="`

حظا موÙقا

MySQLDumper
"; +$lang['emailbody_toobig']="الحجم الاقصى للمل٠تجاوز الحد المسموح به %s لا يمكن ارسال المرÙقات الى البريد الالكتروني .
النسخ الاحتياطي لقاعدة البيانات `%s` +

الملÙات التالية انشئت:

%s +

حظا موÙقا

MySQLDumper
"; +$lang['emailbody_noattach']="الملÙات لايمكن ارسالها بالبريد الالكتروني!
النسخ الاحتياطي لقاعدة البيانات `%s` +

الملÙات التالية انشئت:

%s +

حظا موÙقا

MySQLDumper
"; +$lang['email_only_attachment']=" ... المرÙقات Ùقط."; +$lang['tableselection']="تحديد جدول"; +$lang['selectall']="تحديد الكل"; +$lang['deselectall']="الغاء تحديد الكل"; +$lang['startdump']="بدء النسخ الاحتياطي"; +$lang['lastbufrom']="من اخر تحديث"; +$lang['not_supported']="النسخ الاحتياطي هذا لا يدعم هذه الوظيÙØ©."; +$lang['multidump']="متعدد dump: النسخ الاحتياطي لـ %d لقاعدة البيانات انتهى."; +$lang['filesendftp']="ارسال المل٠عن طريق via FTP... رجاء كن صبورا. "; +$lang['ftpconnerror']=" لم يتم تأسيسه FTP اتصال مع ! الاتصال مع "; +$lang['ftpconnerror1']=" اسم مستخدم "; +$lang['ftpconnerror2']=" غير ممكن"; +$lang['ftpconnerror3']="FTP الارسال Ùشل! "; +$lang['ftpconnected1']="الربط مع "; +$lang['ftpconnected2']=" Ù…Ùتوح "; +$lang['ftpconnected3']=" تمت عملية النقل بنجاح"; +$lang['nr_tables_selected']="- مع %s اختر الجداول"; +$lang['nr_tables_optimized']="%s تم اصلاح وتحسين الجداول."; +$lang['dump_errors']="

%s حدثت اخطاء: عرض

+ + +"; +$lang['fatal_error_dump']="خطأ Ùادح: انشاء - بيانات من الجدول '%s' ÙÙŠ قاعدة البيانات '%s' لا يمكن القراءة!
+قم بÙحص المشاكل ÙÙŠ هذا الجدول. + + +"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_filemanagement.php b/language/ar/lang_filemanagement.php new file mode 100644 index 0000000..39907bd --- /dev/null +++ b/language/ar/lang_filemanagement.php @@ -0,0 +1,80 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="نسخ احتياطي"; +$lang['DoCronButton']="تشغيل Perl Cron ÙÙŠ المخطوطه"; +$lang['DoPerlTest']="Ùحص وحدات Perl "; +$lang['DoSimpleTest']="Ùحص Perl"; +$lang['perloutput1']="الدخول ÙÙŠ crondump.pl مسموح_عن طريق_التهيئة ÙÙŠ الدليل"; +$lang['perloutput2']="عنوان المتصÙØ­ او المشغل الخارجي لوظائ٠Cron "; +$lang['perloutput3']="سطر الاوامر ÙÙŠ الشل او علامة التبويب Cron"; +$lang['restore_of_tables']="اختر الجداول التي تريد استعادتها"; +$lang['converter']="تحويل النسخ الاحتياطي"; +$lang['convert_file']="المل٠المحول"; +$lang['convert_filename']="اسم المل٠الوجهة (بدون الامتداد)"; +$lang['converting']="تحويل"; +$lang['convert_fileread']="قراءة المل٠'%s'"; +$lang['convert_finished']="التحويل انتهى, '%s' تم التحويل بنجاح."; +$lang['no_msd_backupfile']="النسخ الاحتياطي لمخطوطات اخرى"; +$lang['max_upload_size']="الحد الاقصى لحجم الملÙ"; +$lang['max_upload_size_info']="إذا كان مل٠النسخ الاحتياطي هو اكبر من الحد المسموح به أعلاه ØŒ يجب عليك ارساله عبر برامج بروتوكول نقل الملÙات ا٠تي بي إلى دليل \"work/backup\". +بعد ذلك يمكنك تحديد مل٠الاستعادة ومشاهدة بداية التقدم. "; +$lang['encoding']="الترميز"; +$lang['fm_choose_encoding']="اختر ترميز لمل٠النسخ الاحتياطي"; +$lang['choose_charset']="MySQLDumper لا يمكن الكش٠عن الترميز تلقائيالمل٠النسخ الاحتياطي. +
يجب عليك اختيار الاحر٠التي تم Ø­Ùظ النسخ الاحتياطي بها. +
اذا واجهت اي مشكلة مع بعض الاحر٠ÙÙŠ الاستعادة يمكنك تكرار عملية النسخ الاحتياطي واختيار مجموعة اخرى. +
حظا موÙقا. ;)"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_help.php b/language/ar/lang_help.php new file mode 100644 index 0000000..dc36e2a --- /dev/null +++ b/language/ar/lang_help.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/language/ar/lang_install.php b/language/ar/lang_install.php new file mode 100644 index 0000000..ec3c1db --- /dev/null +++ b/language/ar/lang_install.php @@ -0,0 +1,95 @@ +تم اكتمال التركيب --> ابدأ MySQLDumper
"; +$lang['install_tomenu']="عوده الى القائمة الرئيسة"; +$lang['installmenu']="القائمة الرئيسة"; +$lang['step']="خطوة "; +$lang['install']="التركيب"; +$lang['uninstall']="مسح"; +$lang['tools']="الادوات"; +$lang['editconf']="تعديل الدليل"; +$lang['osweiter']="مواصلة بدون Ø­Ùظ"; +$lang['errorman']="خطأ اثناء عملية Ø­Ùظ البيانات!
الرجاء تعديل المل٠"; +$lang['manuell']="يدوي"; +$lang['createdirs']="انشاء الادلة"; +$lang['install_continue']="استمر بعملية التركيب"; +$lang['connecttomysql']="ربط الى MySQL "; +$lang['dbparameter']="قاعدة البيانات Parameters"; +$lang['confignotwritable']="لا يمكن الكتابة للمل٠\"config.php\". +الرجاء استخدام برامج بروتوكول نقل الملÙات الخاصة بك واعط المل٠التصريح0777."; +$lang['dbconnection']="الاتصال بقاعدة البيانات"; +$lang['connectionerror']="خطأ غير قادر على الربط."; +$lang['connection_ok']="تم تأسيس الاتصال بقاعدة البيانات."; +$lang['saveandcontinue']="Ø­Ùظ ومتابعة التركيب"; +$lang['confbasic']="اساسي Parameter"; +$lang['install_step2finished']="تم الوصول الى قاعدة البيانات بنجاح."; +$lang['install_step2_1']="متابعة التركيب بالإعدادات الاÙتراضية"; +$lang['laststep']="انتهى التركيب"; +$lang['ftpmode']="انشاء ادلة ضرورية ÙÙŠ النمط الآمن"; +$lang['idomanual']="انشاء الدليل الخاص بي"; +$lang['dofrom']="بداية من"; +$lang['ftpmode2']="تهيئة مع بروتوكول نقل الملÙات FTP:"; +$lang['connect']="ربط"; +$lang['dirs_created']="انشاء الادلة بشكل صحيح."; +$lang['connect_to']="ربط الى"; +$lang['changedir']="تغيير مياشر"; +$lang['changedirerror']=" لا يمكن التغيير مباشرة "; +$lang['ftp_ok']="FTPÙŠÙضل برتكول "; +$lang['createdirs2']="انشاء الادلة"; +$lang['ftp_notconnected']="FTP لم يتم انشاء برتكول نقل الملÙات!"; +$lang['connwith']="اتصال مع"; +$lang['asuser']="اسم المستخدم"; +$lang['notpossible']="غير ممكن"; +$lang['dircr1']="انشاء ÙÙŠ دليل العمل"; +$lang['dircr2']="انشاء ÙÙŠ دليل الاسناد"; +$lang['dircr4']="انشاء ÙÙŠ السجل"; +$lang['dircr5']="انشاء ÙÙŠ configurationdir"; +$lang['indir']="الآن ÙÙŠ "; +$lang['check']="Ùحص الادلة"; +$lang['disabledfunctions']="الوظائ٠المعطلة"; +$lang['noftppossible']="لا يجد لديك وظائ٠بروتوكول نقل الملÙات FTP !"; +$lang['nogzpossible']="لا يوجد لديك وظائ٠ضغط الملÙات !"; +$lang['ui1']="جميع أدلة العمل التي يمكن أن تحتوي النسخ الاحتياطي سيتم حذÙها."; +$lang['ui2']="هل انت مواÙÙ‚ على عمل ذلك?"; +$lang['ui3']="لا, الغاء العملية"; +$lang['ui4']="نعم ØŒ من Ùضلك تابع"; +$lang['ui5']="حذ٠ادلة العمل"; +$lang['ui6']="تم حذ٠الجميع بنجاح."; +$lang['ui7']="رجاء احذ٠الدليل من المخطوطه"; +$lang['ui8']="المستوى الاول الاعلى"; +$lang['ui9']="حدث خطأ ØŒ لم يكن من الممكن الحذÙ

خطأ بالدليل"; +$lang['import']="استيراد الوظائÙ"; +$lang['import1']="استيراد الاعدادات من "; +$lang['import2']="ارسال واستيراد الإعدادات"; +$lang['import3']="تحميل القوائم ..."; +$lang['import4']="تم Ø­Ùظ القوائم."; +$lang['import5']="ابدأ MySQLDumper"; +$lang['import6']="تركيب القائمة"; +$lang['import7']="ارسال القوائم"; +$lang['import8']="عودة الى الرÙع"; +$lang['import9']="هذا ليس دليل اسناد !"; +$lang['import10']="تم رÙع القوائم بنجاح ..."; +$lang['import11']="خطا: كانت هناك مشكلة ÙÙŠ الكتابة الى sql_statements"; +$lang['import12']="خطأ: كانت هناك مشكلة ÙÙŠ الكتابة الى config.php"; +$lang['install_help_port']="(empty = Default Port)"; +$lang['install_help_socket']="(empty = Default Socket)"; +$lang['tryagain']="حاول مرة اخرى"; +$lang['socket']="توصيل"; +$lang['port']="منÙØ°"; +$lang['found_db']="العثور على قاعدة بيانات"; +$lang['fm_fileupload']="رÙع ملÙ"; +$lang['pass']="كلمة المرور"; +$lang['no_db_found_info']="تم الاتصال بقاعدة البيانات بنجاح.
+تم قبول بيانات المستخدم الخصة بك لـ MySQL-Server.
+لم يستطيع العثور على اية قاعدة بيانات.
+البحث التلقائي لا يمكن من قبل الخادم.
+انت يجب أن تدخل اسم قاعدة البيانات يدويا بعد الانتهاء من التركيب. +اضغط هنا \"configuration\" \"Connection Parameter - display\" وتدخل اسم قاعدة البيانات هناك. + +"; +$lang['safemodedesc']="السبب PHP يعمل ÙÙŠ الوضع الآمن Ùأنت تحتاج لإنشاء الادلة التالية يدويا بأستخدام برامج نقل الملÙات FTP-Programms: + + +"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_log.php b/language/ar/lang_log.php new file mode 100644 index 0000000..65398e8 --- /dev/null +++ b/language/ar/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/language/ar/lang_main.php b/language/ar/lang_main.php new file mode 100644 index 0000000..3241c17 --- /dev/null +++ b/language/ar/lang_main.php @@ -0,0 +1,75 @@ +"; +$lang['htaccess10']="كلمات السر ليست متطابقة او Ùارغة !
"; +$lang['htaccess11']="يجب كتابة البيانات لحماية الدليل ?"; +$lang['htaccess12']="تم انشاء بيانات حماية الدليل."; +$lang['htaccess13']="محتويات الملÙ:"; +$lang['htaccess14']="حدث خطأ أثناء إنشاء دليل حماية !
يرجى كتابة وتهيئة الملÙات التالية يدويا ÙÙŠ المحتوى:"; +$lang['htaccess15']="موصي به بشدة وللأهمية القصوي !"; +$lang['htaccess16']="تحرير .htaccess"; +$lang['htaccess18']="انشاء ÙÙŠ .htaccess "; +$lang['htaccess19']="اعد التحميل "; +$lang['htaccess20']="تنÙيذ البرنامج النصي"; +$lang['htaccess21']="اض٠عملية"; +$lang['htaccess22']="اجعلها قابله للتنÙيذ"; +$lang['htaccess23']="اداراجها ÙÙŠ الدليل"; +$lang['htaccess24']="انشاء وثيقة للخطأ"; +$lang['htaccess25']="تÙعيل اعادة الكتابة"; +$lang['htaccess26']="تعطيل / سماح"; +$lang['htaccess27']="اعادة توجيه"; +$lang['htaccess28']="خطا السجل"; +$lang['htaccess29']="امثلة وتÙاصيل اكثر"; +$lang['htaccess30']="مقدمه"; +$lang['htaccess31']="عام"; +$lang['htaccess32']="انتبه! Ùإن. htaccess يؤثر بشكل مباشر على المتصÙØ­ .
مع وجود محتوى غير صحيح ØŒ هذه الصÙحات قد لا تكون متاحة."; +$lang['phpbug']="مشكلة ÙÙŠ zlib ! عملية الضغط غير ممكنه"; +$lang['disabledfunctions']="الوظائ٠المعطلة"; +$lang['nogzpossible']="Zlib لم يتم تركيبها ØŒ لا يمكنك استخدام - GZip وظائÙ."; +$lang['delete_htaccess']="إزالة الحماية من الدليل (delete .htaccess)"; +$lang['wrong_rights']="المل٠او الدليل '%s' لايمكن الكتابة Ùيه.
+الحقوق (chmod)ليست المجموعة او ان المكلية غير صحيحة.
+استخدم برامج بروتكول FTP-لنقل ملÙاتك.
+المل٠او الدليل من الضروري ان يستعدا %s.
"; +$lang['cant_create_dir']="Couldn' لا يستطيع انشاء '%s'. +من Ùضلك استخدم برامج برتكول FTP-لنقل الملÙات. + + +"; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_restore.php b/language/ar/lang_restore.php new file mode 100644 index 0000000..c9e82b2 --- /dev/null +++ b/language/ar/lang_restore.php @@ -0,0 +1,23 @@ +%d
تم انشاء الجداول."; +$lang['file_missing']="لا يستطيع ايجاد الملÙ"; +$lang['restore_db']="قاعدة البيانات '%s' على '%s'."; +$lang['restore_complete']="%s انشاء الجداول."; +$lang['restore_run1']="
البدء لآن %s of %s تمت الاضاÙØ© بنجاح."; +$lang['restore_run2']="
ابدأ الجداول '%s'اعادة.

"; +$lang['restore_complete2']="%s ادراج سجلات."; +$lang['restore_tables_completed']="البدء لآن %d of %d تم انشاء الجداول."; +$lang['restore_total_complete']="
تهانينا.

تمت الان استعادة قاعدة البيانات.
تم استعادة جميع ملÙات النسخ الاحتياطي.

انتهت العملية. :-)"; +$lang['db_select_error']="
مشكلة:
حدد قاعدة البيانات "; +$lang['db_select_error2']=" Ùشل!"; +$lang['file_open_error']="خطأ: لا يمكن Ùتح الملÙ."; +$lang['progress_over_all']="التقدم الشامل"; +$lang['back_to_overview']="تÙاصيل عامة لقاعدة البيانات"; +$lang['restore_run0']="
البدء لآن%s تمت اضاÙØ© السجلات بنجاح."; +$lang['unknown_sqlcommand']="مجهول SQL-امر"; +$lang['notices']="ملاحظات + +"; + + +?> \ No newline at end of file diff --git a/language/ar/lang_sql.php b/language/ar/lang_sql.php new file mode 100644 index 0000000..d323930 --- /dev/null +++ b/language/ar/lang_sql.php @@ -0,0 +1,186 @@ +%s تم تصدير الخطوط"; +$lang['csv_fieldcount_nomatch']="احصاء الحقول لا يتطابق مع بيانات الاستيراد (%d بدلا من %d)."; +$lang['csv_fieldslines']="%d الحقول معروÙÙ‡, كليا %d خطوط"; +$lang['csv_errorcreatetable']=" `%s` حدث خطأ عند القيام بإنشاء الجدول !"; +$lang['fm_uploadfilerequest']="رجاء اختر الملÙ."; +$lang['csv_nodata']="لا توجد بيانات للاستيراد!"; +$lang['sqllib_generalfunctions']="الوظائ٠العامة"; +$lang['sqllib_resetauto']="اعادة تلقائية-للزيادة"; +$lang['sqllib_boards']="القوائم"; +$lang['sqllib_deactivateboard']="تعطيل قائمة"; +$lang['sqllib_activateboard']="تمكين قائمة"; +$lang['sql_notablesselected']="لم يتم اختيار اي جداول !"; +$lang['tools']="اداوات"; +$lang['tools_toolbox']=" اختيار قاعدة البيانات / مهام / استيراد - تصدير قاعدة بيانات "; +$lang['sql_openfile']="Ùتح SQL-ملÙ"; +$lang['sql_openfile_button']="ارسال"; +$lang['max_upload_size']="الحجم الاقصى للملÙ"; +$lang['sql_search']="بحث"; +$lang['sql_searchwords']="كلمة البحث(s)"; +$lang['start_sql_search']="بداية البحث"; +$lang['reset_searchwords']="اعد كتابة كلمات البحث"; +$lang['search_options']="خيارات البحث"; +$lang['search_results']="عملية البحث \"%s\" ÙÙŠ الجدول \"%s\" جلبت النتائج التالية"; +$lang['search_no_results']="عملية البحث \"%s\" ÙÙŠ الجدول \"%s\" لم تجلب اي نتائج!"; +$lang['no_entries']="الجدول \"%s\" Ùارغ او انه لايمكن الوصل اليه."; +$lang['search_access_keys']=" استعرض واستخدم المÙاتيح التالية : forwardللامام =ALT+V, backwardsالتراجع للخلÙ=ALT+C"; +$lang['search_options_or']="يجب ان يحتوي العمود على احدى كلمات البحث (او-بحث)"; +$lang['search_options_concat']="الص٠يجب ان يحتوي على كل كلمات البحث ولكن يمكن ان يكونوا ÙÙŠ اي عمود(يمكن ان يستغرق بعض الوقت)"; +$lang['search_options_and']="العمود يجب ان يحتوي على جميع كلمات البحث (Ùˆ-البحث)"; +$lang['search_in_table']="بحث ÙÙŠ الجدول"; +$lang['sql_edit_tablestructure']="تحرير اعمدة الجدول"; +$lang['default_charset']="الاعدادات الاصلية + + +"; +$lang['title_key_primary']="المÙتاح الاساسي"; +$lang['title_key_unique']="Ù…Ùتاح Ùريد"; +$lang['title_index']="الرئيسة"; +$lang['title_key_fulltext']="Ù…Ùتاح النص الكامل"; +$lang['title_nokey']="لا Ù…Ùتاح"; +$lang['title_search']="بحث"; +$lang['title_mysql_help']="MySQl وثائق"; +$lang['title_upload']="ارسال مل٠SQL + + +"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/ch/help.php b/language/ch/help.php new file mode 100644 index 0000000..5be2275 --- /dev/null +++ b/language/ch/help.php @@ -0,0 +1,124 @@ +
+

Über das Projäkt

+D Idee für das Projäkt isch vom Daniel Schlichtholz cho.

Er hät 2004 das Forum MySQLDumper, eröffnet und scho bald händ sich Hobby-Programmierer, wo neui Skripts schribe und diä vom Daniel erwiteret händ, iigfunde.
I kürzischter Ziit isch us däm chline Backupskript es stattlichs Projäkt entschtande.

Wänn Du Vorschläg zur Verbesserig häsch, dänn wänd Di as MySQLDumper-Forum http://forum.mysqldumper.de.

Mir wünsched Dir vill Vergnüege mit däm Projäkt.

S MySQLDumper-Team

+ +
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript mit Understützig vom Detlev Richter
+
+
+ +

MySQLDumper Hilf

+ +

Download

+Das Script chömed Ihr uf de Homepage vom MySQLDumper über.
+Es wäri guet, diä Homepage regelmässig zbsueche, für Updates und +Hilfschtellige zübercho.
+D Adrässe isch: +http://www.mysqldumper.de + +

Syschtemvorussetzig

+S Script schaffet uf jedem Server (Windows, Linux, ...)
+mit PHP >= Version 4.3.4 mit GZip-Unterstützig, MySQL (ab Version 3.23), JavaScript (mues aktiviert sii). + +

Installation

+D Installation isch ganz eifach. +Entpacked s Archiv imene beliebige Ordner.
+Ladet alli Dateie uf Eure Webserver ufe. (z. B. i di underschti Ebeni in [Server Webverzeichnis/]MySQLDumper)
+... fertig!
+Ihr chönd MySQLDumper ez im Webbrowser dur "http://mein-webserver/MySQLDumper" ufrüefe,
+zum d Installation abschlüsse. Halted Eu eifach ad Instruktione.
+
Hinwiis:
Falls uf Eurem Server de PHP-Safemode igschalte isch, dörf s Script keini +Verzeichniss mache.
+Das müender dänn vo Hand nahole, will MySqlDump diä Date gordnet i +Verzeichniss ableit.
+S Script bricht mit ere entsprächende Aawisig ab!
+Wänn Ihr diä Verzeichniss (em Hiwiis entsprächend) gmacht händ, laufts normal und ohni Iischränkige.
+ +

Perlskript Aaleitig

+Di Meischte händ es cgi-bin Verzeichnis, wo drin Perl ausgfüert wärde cha.
+Das isch meischtens per Browser über http://www.domain.de/cgi-bin/ erreichbar.
+
+Für dä Fall bitte folgendi Schritt durefüere:

+ +1. Rüef im MySQLDumper d Siite Backup uf und klick uf "Backup Perl".
+2. Kopier de Pfad, wo hinder em Iitrag im crondump.pl für $absolute_path_of_configdir: schtaht.
+3. Mach diä Datei "crondump.pl" im Editor uuf.
+4. Träg de kopierti Pfad det bi absolute_path_of_configdir ii (kei Läärzeiche).
+5. Spichere crondump.pl .
+6. Kopier crondump.pl, perltest.pl und simpletest.pl is cgi-bin-Verzeichnis (Ascii-Modus im FTP).
+7. Gib de Dateie d Rächt 755.
+7b. Wänn d Endig cgi gwünscht isch, ändere bi allne 3 Dateie d Endig vo pl -> cgi (umbenänne).
+8. Rüef d Konfiguration im MySQLDumper uf.
+9. Wähl d Siite Cronscript.
+10. Ändere Perl Uusfüerigspfad i /cgi-bin/ .
+10b. Wänn d Scripts .pl händ, ändere diä Dateiendig uf .cgi .
+11. Spichere d Konfiguration.

+ +Fertig, diä Skripts lönd sich vo ez aa uf de Backupsiite aufrüefe.

+ +Wär Perl i allne Verzeichnis ausfüere cha, däm langet folgendi Schritt:

+ +1. Rüef im MySQLDumper d Siite Backup uf.
+2. Kopier de Pfad, wo hinder em Iitrag im crondump.pl für $absolute_path_of_configdir: schtaht.
+3. Mach d Datei "crondump.pl" im Editor uuf.
+4. Träg de kopierti Pfad det bi absolute_path_of_configdir ii (kei Läärzeiche).
+5. Spichere crondump.pl .
+6. Gib de Dateie d Rächt 755.
+6b. Wänn d Endig cgi gwünscht isch, ändere bi allne 3 Dateie d Endung von pl -> cgi (umbenänne).
+(ev. 10b+11 von oben)
+
+ +Windowsuser müend bi allne Scripts di erscht Ziile ändere, det schtaht de Pfad vo Perl. Bispiil:
+statt: #!/usr/bin/perl -w
+jetzt: #!C:\perl\bin\perl.exe -w
+ +

Bedienig

    + +
    Menü
    +I de obige Auswahllischte stellet Ihr d Datenbank ii.
    +Alli Aktione beziend sich uf diä da igschtellti Datenbank. + +
    an Aafang
    +Da erfahred Ihr Einiges über Eues System, di verschidene, installierte +Versione und Details über di konfigurierte Datebanke.
    +Wänn Ihr uf de Datebankname klicked, so gsehnd Ihr en Uflischtig vo de Tabälle +mit de Aazahl vo de Iiträg, vo de Grössi und sletschte Aktualisierigsdatum. + +
    Konfiguration
    +Da chönd Ihr Eueri Konfiguration bearbeite, abspichere oder d Uusgangskonfiguration +wieder mache. +

      +
    • Konfigurierti Datebanke: d Uuflischtig vo de konfigurierte Datebanke. Di aktivi Datebank wird in bold gelistet.
    • +
    • Tabellen-Präfix: da chönd Ihr (für jedi Datebank) en Präfix aagäh. Das isch en Filter, wo bi Dumps nur diä Tabälle berücksichtigt, wo mit däm Präfix aafanged (z.B. alli Tabälle, wo mit "phpBB_" aafanged). Wänn alli Tabälle vo dere Datebank gspicheret wärden sölled, +lönd eifach s Fäld läär.
    • +
    • GZip-Kompression: Da cha d Kompression aktiviert wärde. Empfehlenswert isch d Aktivierig, will d Dateie wesentlich chliner wärdet und Spicherplatz immer rar isch.
    • +
    • Email mit Dumpfile: Isch diä Option aktiviert, wird nach em abgschlossne Backup en Email mit dem Dump als Aahang verschickt (Vorsicht, Kompression sötti umbedingt aa sii, susch wird dr Aahang zgross und cha evtl. nöd verschickt wärde!).
    • +
    • Email-Adrässe: Empfängeradrässe für d Email.
    • +
    • Absänder vo de Email: diä Adrässe taucht als Absänder i de Email uf.
    • +
    • FTP-Transfer: Isch diä Option aktiviert, wird nach em abgschlossne Backup d Backupdatei per FTP verschickt.
    • +
    • FTP Server: D Adrässe vom FTP-Server (z. B. ftp.mybackups.de).
    • +
    • FTP Server Port: Der Port vom FTP-Server (i de Regle 21).
    • +
    • FTP User: Der Benutzername des FTP-Accounts.
    • +
    • FTP Passwort: Das Passwort des FTP-Accounts.
    • +
    • FTP Upload-Ordner: Das Verzeichnis, wo diä Backupdatei häre söll (es müend Upload-Berechtigunge beschtah!).
    • +
    • Automatisches Lösche vo de Backups: Wänn diä Option aktiviert isch, wärdet älteri Backups nach de folgende Regle automatisch gelöscht.
    • +
    • Aazahl vo Backupdateie: En Wert > 0 löscht alli Backupdateie, bis uf diä da agebni Zahl.
    • +
    • Sprach: Da legsch d Sprach fürs Interface fescht.
    • +
    + +
    Verwaltig
    +Da wärdet di eigetliche Aktionen duregfüert.
    +Es wärdet Dir alli Dateie im Backup-Verzeichnis aazeiget. +Für d Aktione "Restore" und "Delete" mues e Datei selektiert sii. +
      +
    • Restore: Da demit wird d Datenbank mit de usgwählte Backupdatei aktualisiert.
    • +
    • Delete: Da demit chasch Du di selektierti Backupdatei lösche.
    • +
    • Neues Backup starten: Da schtartisch es neus Backup (Dump) nach de iigschtellte Parametern i de Konfiguration.
    • +
    + +
    Log
    +Da chasch d Logiiträg aaluege und lösche. +
    Credits / Hilfe
    +diese Seite. +
\ No newline at end of file diff --git a/language/ch/lang.php b/language/ch/lang.php new file mode 100644 index 0000000..3127f41 --- /dev/null +++ b/language/ch/lang.php @@ -0,0 +1,104 @@ +nöd verfüegbar"; +$lang['vom']="vo"; +$lang['mysqlvars']="MySQL-Variable"; +$lang['mysqlsys']="MySQL-Befähl"; +$lang['Status']="Status"; +$lang['Prozesse']="Prozäss"; +$lang['info_novars']="kei Variable verfüegbar"; +$lang['Inhalt']="Inhalt"; +$lang['info_nostatus']="kei Status verfüegbar"; +$lang['info_noprocesses']="kei laufendi Prozäss"; +$lang['fm_freespace']="Freie Speicher uf em Server"; +$lang['load_database']="Datebank neu lade"; +$lang['home']="an Aafang"; +$lang['config']="Konfiguration"; +$lang['dump']="Backup mache"; +$lang['restore']="Reschtauriere"; +$lang['file_manage']="Verwaltig"; +$lang['log']="Log"; +$lang['choose_db']="Datebank uswähle"; +$lang['credits']="Kredits und Hilf"; +$lang['multi_part']="Multipart-Backup"; +$lang['logfilenotwritable']="s'Logfile cha nöd gschribe wärde"; +$lang['sql_error1']="Fähler bi de Aafrag:"; +$lang['sql_error2']="MySQL mäldet:"; +$lang['unknown']="ubekannt"; +$lang['unknown_number_of_records']="ubekannt"; +$lang['ok']="ok"; +$lang['cron_completelog']="Kompletti Usgab logge"; +$lang['no']="nei"; +$lang['create_database']="Neui Datebank aalegge"; +$lang['exportfinished']="Export fertig gmacht"; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standardkodierig vom MySQL-Server"; +$lang['title_show_data']="Date aazeige"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_config_overview.php b/language/ch/lang_config_overview.php new file mode 100644 index 0000000..99e1bf6 --- /dev/null +++ b/language/ch/lang_config_overview.php @@ -0,0 +1,110 @@ +%s
in %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Empfänger"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Söll d Konfigurationsdatei %s würkli glöscht werde?"; +$lang['error_deleting_configfile']="Fähler: d Konfigurationsdatei %s hät nöd chöne glöscht wärde!"; +$lang['success_deleting_configfile']="D Konfigurationsdatei %s isch erfolgriich glöscht worde."; +$lang['success_configfile_created']="D Konfigurationsdatei %s isch erfolgriich aagleit worde."; +$lang['error_configfile_name']="Im Dateiname \"%s\" häts ungültigi Zeiche."; +$lang['create_configfile']="E neui Konfigurationsdatei aalegge"; +$lang['error_loading_configfile']="D Konfigurationsdatei \"%s\" hät nöd chöne glade wärde."; +$lang['backup_dbs_php']="DBs zum Sichere (Perl)"; +$lang['backup_dbs_perl']="DBs zum Sichere (Perl)"; +$lang['cron_comment']="Kommentar iigää"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_dump.php b/language/ch/lang_dump.php new file mode 100644 index 0000000..88d8180 --- /dev/null +++ b/language/ch/lang_dump.php @@ -0,0 +1,49 @@ +%s` chöne gfunde werde."; +$lang['dump_endergebnis']="Es sind %s Tabälle mit zäme %s Datesätz gsicheret worde.
"; +$lang['mailerror']="Leider isch bim Verschicke vo de E-Mail en Fähler underloffe!"; +$lang['emailbody_attach']="Im Aahang finded Si d Sicherig vo Ihrer MySQL-Datenbank.
Sicherig vo de Datenbank `%s`

Folgende Datei wurde erzeugt:

%s

Fründlichi Grüess

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Es isch e Multipart-Sicherig erstellt worde.
Die Sicherige werdet nöd als Aahang mitglieferet!
Sicherig vo de Datenbank `%s`

Folgendi Dateie sind erzügt worde:

%s


Fründlichi Grüess

MySQLDumper
"; +$lang['emailbody_mp_attach']="Es isch e Multipart-Sicherig erstellt worde.
D Sicherige werdet i separate E-Mails als Anhang glieferet!
Sicherig vo de Datenbank `%s`

Folgendi Dateie sind erzügt worde:

%s


Fründlichi Grüess

MySQLDumper
"; +$lang['emailbody_footer']="


Fründlichi Grüess

MySQLDumper
"; +$lang['emailbody_toobig']="D Sicherig überschriitet d Maximalgrössi von %s und isch drum nöd aagehänkt worde.
Sicherig vo de Datenbank `%s`

Folgendi Datei isch erzügt worde:

%s

Fründlichi Grüess

MySQLDumper
"; +$lang['emailbody_noattach']="S Backup isch nöd aaghänkt worde.
Sicherig vo de Datenbank `%s`

Folgendi Datei isch erzügt worde:

%s

Fründlichi Grüess

MySQLDumper
"; +$lang['email_only_attachment']="... nume dr Aahang"; +$lang['tableselection']="Tabälleuswahl"; +$lang['selectall']="ali uuswähle"; +$lang['deselectall']="Uswahl ufhebä"; +$lang['startdump']="Backup starte"; +$lang['lastbufrom']="sletschti Update vom"; +$lang['not_supported']="Das Backup cha diä Funktion nöd."; +$lang['multidump']="Multidump: Es sind %d Datenbanke gesicheret worde."; +$lang['filesendftp']="verschicke grad File via FTP... heb bitte e chli Geduld."; +$lang['ftpconnerror']="FTP-Verbindig nöd hergstellt! Verbindig mit"; +$lang['ftpconnerror1']="als User"; +$lang['ftpconnerror2']="nöd mögli"; +$lang['ftpconnerror3']="FTP-Upload isch fählerhaft gsi!"; +$lang['ftpconnected1']="Verbunde mit"; +$lang['ftpconnected2']="uf"; +$lang['ftpconnected3']="gschribe"; +$lang['nr_tables_selected']="- mit %s gewählte Tabälle"; +$lang['nr_tables_optimized']="%s Tabälle sind optimiert worde."; +$lang['dump_errors']="

%s Fähler ufträte: aaluege

"; +$lang['fatal_error_dump']="Fatale Fähler: d CREATE-Aawiisig vo de Tabelle '%s' i de Datenbank '%s' hät nöd chöne gläse werde!
Überprüefed Si die Tabälle auf Fähler."; + + +?> \ No newline at end of file diff --git a/language/ch/lang_filemanagement.php b/language/ch/lang_filemanagement.php new file mode 100644 index 0000000..ad209f8 --- /dev/null +++ b/language/ch/lang_filemanagement.php @@ -0,0 +1,75 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Perl-Cronscript usfüere"; +$lang['DoPerlTest']="Perl-Module teschte"; +$lang['DoSimpleTest']="Perl teschte"; +$lang['perloutput1']="Iitrag in crondump.pl für absolute_path_of_con"; +$lang['perloutput2']="Ufruef im Browser oder für externe Cronjob"; +$lang['perloutput3']="Ufruef i de Shell oder für d Crontab"; +$lang['restore_of_tables']="Reschtauriere vo bestimmte Tabälle"; +$lang['converter']="Backup-Konverter"; +$lang['convert_file']="z konvertierendi Datei"; +$lang['convert_filename']="Name vo de Zieldatei (ohni Endig)"; +$lang['converting']="Konvertierig"; +$lang['convert_fileread']="Datei '%s' wird eingläse"; +$lang['convert_finished']="Konvertierig abgschlosse, '%s' isch erzügt worde."; +$lang['no_msd_backupfile']="Dateie vo andere Programm"; +$lang['max_upload_size']="Maximali Dateigrössi"; +$lang['max_upload_size_info']="Wänn Ihri Backup-Datei grösser als das agebne Limit isch, müend Si diä per FTP in \"work/backup\"-Ordner ufelade. Dänn wird diä Datei, do i de Verwaltig aazeigt und laht sich dänn für en Reschtaurierig uswähle."; +$lang['encoding']="Kodierig"; +$lang['fm_choose_encoding']="Kodierig vo de Backupdatei wähle"; +$lang['choose_charset']="Leider hät nöd chöne automatich ermittlet mit welem Zeichesatz diä Backupdatei sinerziit aagleit worde isch.
Sie müend diä Kodierig, i dere Zeichechette i dere Datei sind, vo Hand aagäh.
Dänn stellt MySQLDumper diä Verbindigskännig zum MySQL-Server uf de usgwählti Zeichesatz und fangt mit de Reschtaurierig vo de Date a.>br>Sötted Si nach de Reschtaurierig Problem mit Sonderzeiche ha, chönd Si probiere, das Backup mit ere andere Zeichesatzuswahl z reschtauriere.
Vill Glück. ;)"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_help.php b/language/ch/lang_help.php new file mode 100644 index 0000000..095d398 --- /dev/null +++ b/language/ch/lang_help.php @@ -0,0 +1,30 @@ + \ No newline at end of file diff --git a/language/ch/lang_install.php b/language/ch/lang_install.php new file mode 100644 index 0000000..ed3ebd1 --- /dev/null +++ b/language/ch/lang_install.php @@ -0,0 +1,84 @@ +d Installation isch abgschlosse --> starte MySQLDumper
"; +$lang['install_tomenu']="zum Hauptmenü"; +$lang['installmenu']="Hauptmenü"; +$lang['step']="Schritt"; +$lang['install']="Installation"; +$lang['uninstall']="Uninstall"; +$lang['tools']="Tools"; +$lang['editconf']="Konfiguration bearbeite"; +$lang['osweiter']="ohni Spiichere wiiter"; +$lang['errorman']="Fähler bim Schriibe vo de Konfiguration!
Bitte editiered Si diä Datei"; +$lang['manuell']="vo Hand"; +$lang['createdirs']="mache Verzeichnis"; +$lang['install_continue']="mit de Installation wiitermache"; +$lang['connecttomysql']="zu MySQL verbinde"; +$lang['dbparameter']="Datebank-Parameter"; +$lang['confignotwritable']="Diä Datei \"config.php\" ist nöd beschriibbar. Gänd Si ire miteme FTP-Programm entsprächende Rächt, z. B. de CHMod-Wert 0777."; +$lang['dbconnection']="Datebank-Verbindig"; +$lang['connectionerror']="Fähler: Es hät kei Verbindig chöne gmacht wärde."; +$lang['connection_ok']="Datebankverbindig isch gmacht worde."; +$lang['saveandcontinue']="spiichere und wiitermache mit de Installation"; +$lang['confbasic']="Grundiischtellige"; +$lang['install_step2finished']="D Iischtellige sind erfolgriich gsicheret worde"; +$lang['install_step2_1']="Installation mit de Standardkonfiguration wiitermache"; +$lang['laststep']="Abschluss vo de Installation"; +$lang['ftpmode']="Verzeichniss per FTP erzüge (safe_mode)"; +$lang['idomanual']="Ich mache diä Verzeichniss vo Hand"; +$lang['dofrom']="usgehend vo"; +$lang['ftpmode2']="Mache diä Verzeichniss per FTP:"; +$lang['connect']="verbinde"; +$lang['dirs_created']="D Verzeichniss sind ordnigsgmäss gmacht worde."; +$lang['connect_to']="verbinde zu"; +$lang['changedir']="Wächsel is Verzeichnis"; +$lang['changedirerror']="Wächsel is Verzeichnis nöd mögli"; +$lang['ftp_ok']="FTP-Parameter sind ok"; +$lang['createdirs2']="Verzeichnis mache"; +$lang['ftp_notconnected']="FTP-Verbindig nöd gmacht!"; +$lang['connwith']="Verbindig mit"; +$lang['asuser']="als User"; +$lang['notpossible']="nöd mögli"; +$lang['dircr1']="mache es Arbetsverzeichnis"; +$lang['dircr2']="mache es Backup-Verzeichnis"; +$lang['dircr4']="mache es Log-Verzeichnis"; +$lang['dircr5']="mache es Konfigurationsverzeichnis"; +$lang['indir']="bi im Verzeichnis"; +$lang['check']="überprüefe"; +$lang['disabledfunctions']="Abgschalteti Funktionen"; +$lang['noftppossible']="Es hät kei FTP-Funktionen zur Verfüegig!"; +$lang['nogzpossible']="Es hät kei Kompressions-Funktione zur Verfüegig!"; +$lang['ui1']="Es werded alli Arbetsverzeichnis mit allne Backups wo drin sind glöscht."; +$lang['ui2']="Sind Si sicher, dass Si das wänd?"; +$lang['ui3']="Nei, sofort abbräche"; +$lang['ui4']="jo, bitte wiitermache"; +$lang['ui5']="lösche Arbetsverzeichnis"; +$lang['ui6']="alls isch erfolgriich glöscht worde"; +$lang['ui7']="Lösched Si bitte das Skriptverzeichnis"; +$lang['ui8']="en Ebeni nach obe"; +$lang['ui9']="Es hät en Fähler gäh, Lösche isch nöd mögli gsi

Fähler bi Verzeichnis"; +$lang['import']="Konfiguration importiere"; +$lang['import1']="Iischtellige us"; +$lang['import2']="Iischtellige ufelade und importiere"; +$lang['import3']="D Konfiguration isch glade..."; +$lang['import4']="D Konfiguration isch gsicheret."; +$lang['import5']="MySQLDumper starte"; +$lang['import6']="Installations-Menü"; +$lang['import7']="Konfiguration ufelade"; +$lang['import8']="zrugg zum Upload"; +$lang['import9']="Das isch kei Konfigurationssicherig!"; +$lang['import10']="D Konfiguration isch erfolgriich ufeglade worde."; +$lang['import11']="Fähler: Es hät Problem gäh bim Schriibe vo de sql_statements."; +$lang['import12']="Fähler: Es hät Problem gäh bim Schriibe vo de config.php."; +$lang['install_help_port']="(läär = Standardport)"; +$lang['install_help_socket']="(läär = Standardsocket)"; +$lang['tryagain']="namal versueche"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="gfundeni DB:"; +$lang['fm_fileupload']="Datei ufelade"; +$lang['pass']="Passwort"; +$lang['no_db_found_info']="D Verbindig zur Datebank isch erfolgriich gsi.
Ihri Zuegangsdate sind gültig und sind vom MySQL-Server akzeptiert worde.
Leider hät de MySQLDumper kei Datebank gfunde.
Di automatischi Erkännig isch bi mänge Hoschter gschpeert.
Si müend Ihri Datebank nachem Abschluss vo de Installation under em Menüpunkt \"Konfiguration\" \"Verbindigsparameter iiblände\" agäh.
Gönd Si bitte sofort nach em Abschluss vo de Installation det hii und träged Si de Name vo Irer Datebank det ii."; +$lang['safemodedesc']="Will PHP uf däm Server mit de Option \"safe_mode=on\" usgfuert wird, müend folgendi Verzeichnis vo Hand aagleit wärde (Si chönd das mit Irem FTP-Programm erlegige):"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_log.php b/language/ch/lang_log.php new file mode 100644 index 0000000..bed437d --- /dev/null +++ b/language/ch/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/ch/lang_main.php b/language/ch/lang_main.php new file mode 100644 index 0000000..8e0c267 --- /dev/null +++ b/language/ch/lang_main.php @@ -0,0 +1,68 @@ +"; +$lang['htaccess10']="Diä Passwörter sind nöd identisch oder läär!
"; +$lang['htaccess11']="Söll de Verzeichnisschutz jetzt gmacht wärde?"; +$lang['htaccess12']="De Verzeichnisschutz isch gmacht."; +$lang['htaccess13']="Inhalt vo de Datei"; +$lang['htaccess14']="Es isch en Fähler bim Verzeichnisschutz mache passiert!
Mached Si bitte vo Hand e Datei mit folgendem Inhalt:"; +$lang['htaccess15']="Dringend empfohle!"; +$lang['htaccess16']=".htaccess editiere"; +$lang['htaccess18']=".htaccess mache in"; +$lang['htaccess19']="neu lade"; +$lang['htaccess20']="Skript ausfüere"; +$lang['htaccess21']="Handler zuefüege"; +$lang['htaccess22']="Usfüerbar mache"; +$lang['htaccess23']="Verzeichnis-Listing"; +$lang['htaccess24']="Error-Dokument"; +$lang['htaccess25']="Rewrite aktiviere"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error-Log"; +$lang['htaccess29']="wiiteri Bischpiel und Dokumentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="generell"; +$lang['htaccess32']="Achtung! Diä .htaccess hät e diräkti Uswirkig uf de Browser.
Bi falscher Anwendig sind diä Siite nüme erreichbar."; +$lang['phpbug']="Bug in zlib! Kei Kompression mögli"; +$lang['disabledfunctions']="Abgschalteti Funktione"; +$lang['nogzpossible']="Will zlib nöd inschtalliert isch, schtönd kei GZip-Funktione zur Verfüegig."; +$lang['delete_htaccess']="Verzeichnisschutz wägmache (.htaccess lösche)"; +$lang['wrong_rights']="Diä Datei oder das Verzeichnis '%s' isch für mi nöd beschriibbar.
Entweder hät si de falschi Besitzer (Owner) oder di falsche Rächt (Chmod).
Bitte setzed Si diä richtige Attribut mit Irem FTP-Programm.
Diä Datei oder das Verzeichnis brucht diä Rächt %s.
"; +$lang['cant_create_dir']="Ha s Verzeichnis '%s' nöd chöne mache. Mached Si s bitte mit Irem FTP-Programm"; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_restore.php b/language/ch/lang_restore.php new file mode 100644 index 0000000..a5c293c --- /dev/null +++ b/language/ch/lang_restore.php @@ -0,0 +1,21 @@ +%d Tabälle agleit worde."; +$lang['file_missing']="Han diä Datei nöd gfunde"; +$lang['restore_db']="Datebank '%s' uf Server '%s'."; +$lang['restore_complete']="%s Tabälle sind angleit worde."; +$lang['restore_run1']="
Es sind bis ez %s vo %s Datesätz erfolgriich iitreit worde."; +$lang['restore_run2']="
Momentan werdet Date vo de Tabälle '%s' analysiert.

"; +$lang['restore_complete2']="%s Datesätz sind iitreit worde."; +$lang['restore_tables_completed']="Es sind bis ez %d vo %d Tabälle agleit worde."; +$lang['restore_total_complete']="
Herzliche Glückwunsch.

Diä Datenbank isch komplett reschtauriert worde.
Alli Date us de Backup-Datei sind erfolgriich i diä Datebank itreit worde.

Alls fertig. :-)"; +$lang['db_select_error']="
Fähler:
Uuswahl vo de Datebank '"; +$lang['db_select_error2']="' abverheit!"; +$lang['file_open_error']="Fähler: Diä Datei hät nöd chöne ufgmacht wärde"; +$lang['progress_over_all']="Fortschritt total"; +$lang['back_to_overview']="Datebank-Übersicht"; +$lang['restore_run0']="
Es sind bis ez %s Datesätz erfolgriich iitreit worde."; +$lang['unknown_sqlcommand']="Unbekannte SQL-Befehl:"; +$lang['notices']="Hiiwis"; + + +?> \ No newline at end of file diff --git a/language/ch/lang_sql.php b/language/ch/lang_sql.php new file mode 100644 index 0000000..c90855e --- /dev/null +++ b/language/ch/lang_sql.php @@ -0,0 +1,180 @@ +%s Ziile exportiert"; +$lang['csv_fieldcount_nomatch']="D Aazahl vo de Tabällefelder schtimmed nöd mit de date vo de z importierende Date überii (%d statt %d)."; +$lang['csv_fieldslines']="%d Fälder ermittlet, total %d Ziile"; +$lang['csv_errorcreatetable']="Fähler bim Mache vo de Tabälle `%s`!"; +$lang['fm_uploadfilerequest']="Gänd Si bitte e Datei aa."; +$lang['csv_nodata']="Kei Date zum Importiere gfunde!"; +$lang['sqllib_generalfunctions']="allgemeini Funktione"; +$lang['sqllib_resetauto']="Auto-Wert zruggsetze"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="Board deaktiviere"; +$lang['sqllib_activateboard']="Board aktiviere"; +$lang['sql_notablesselected']="Es sind kei Tabälle usgwählt!"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Datebank uswähle / Datebankfunktionen / Im- und Export"; +$lang['sql_openfile']="SQL-Datei ufmache"; +$lang['sql_openfile_button']="Ufelade"; +$lang['max_upload_size']="Maximali Dateigrössi"; +$lang['sql_search']="Suechi"; +$lang['sql_searchwords']="Suechbegriff"; +$lang['start_sql_search']="Suechi starte"; +$lang['reset_searchwords']="Iigab zruggsetze"; +$lang['search_options']="Suechoptione"; +$lang['search_results']="D Suech nach \"%s\" i de Tabälle \"%s\" liferet folgendi Träffer"; +$lang['search_no_results']="D Suech nach \"%s\" i de Tabälle \"%s\" lieferet kei Ergebniss!"; +$lang['no_entries']="Diä Tabälle \"%s\" ist läär und hät keine Iiträg."; +$lang['search_access_keys']="Blättere: vürschi=ALT+V, zrugg=ALT+C"; +$lang['search_options_or']="e Spalte mues mindeschtens ein Suechbegriff enthalte (ODER-Suche)"; +$lang['search_options_concat']="en Datesatz mues alli Suechbegriffe enthalte, diä chöned aber i beliebige Spalte sii (Recheintensiv!)"; +$lang['search_options_and']="e Spalte mues alli Suechbegriff enthalte (UND-Suche)"; +$lang['search_in_table']="Suech i de Tabälle"; +$lang['sql_edit_tablestructure']="Tabällestruktur bearbeite"; +$lang['default_charset']="Standardzeichesatz"; +$lang['title_key_primary']="Primärschlüssel"; +$lang['title_key_unique']="Eidütige Schlüssel"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Volltextschlüssel"; +$lang['title_nokey']="Kei Schlüssel "; +$lang['title_search']="Suechi"; +$lang['title_mysql_help']="MySQL Dokumentation "; +$lang['title_upload']="SQL-Datei ufelade "; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/da/help.php b/language/da/help.php new file mode 100644 index 0000000..c5f2d12 --- /dev/null +++ b/language/da/help.php @@ -0,0 +1,128 @@ +

+

Om dette projekt

+Idéen til dette projekt kommer fra Daniel Schlichtholz.

I 2004 skabte han et forum kaldet MySQLDumper og programmører af andre programmer supplementerede Daniel's scripts.
I løbet af kort tid blomstrede det lille backup-script til et langt større projekt.

Hvis du har forslag til forbedringer kan du besøge MySQLDumper-Forum: http://www.mysqldumper.de.

God fornøjelse med at bruge systemet.

MySQLDumper-Teamet

+
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript med støtte fra Detlev Richter
+Dansk oversættelse - AlleyKat +
+ +

MySQLDumper Hjælp

+ +

Download

+Dette Script er tilgængeligt på MySQLDumper's hjemmeside.
+Det anbefales at du regelmæssigt besøger siden for seneste information, opdateringer og hjælp.
+Adressen er +http://forum.mysqldumper.de + + +

Systemkrav

+Scriptet virker med stort set alle typer servere (Windows, Linux, ...)
+og PHP >= Version 4.3.4 med GZip-Library, MySQL (>= 3.23), JavaScript (skal være slået til). + +

Installation

+Installationen er meget nem. +Udpak arkivet i enhver folder der er tilgængelig fra webserveren
+(f.eks. i rod-folderen [Server rootdir/]MySQLDumper)
+ændr config.php til chmod 777
+... færdig!
+Du kan starte MySQLDumper i din browser ved at skrive "http://domain.tld/MySQLDumper" +for at færdiggøre opsætningen, følg blot instruktionerne. + +
Bemærk:
Hvis din webserver kører med indstillingen safemode=ON må MySqlDump ikke oprette foldere.
+Du vil derfor være nødt til at gøre det selv.
+Hvis det er tilfældet afbryder MySqlDump og fortæller dig hvad der skal gøres.
+Efter oprettelse af folderne vil MySqlDump fungere normalt

+ +

Hjælp med Perl scriptet

+ +De fleste har en cgi-bin folder, hvorfra Perl kan udføres.
+Dette er normalt tilgængeligt via f.eks. http://www.domain.tld/cgi-bin/

+ +Hvis dette er tilfældet, følg venligst disse trin.

+ +1. Ã…bn i MySQLDumper sidene Backup og klik "Backup Perl"
+2. Kopiér stien der står efter entry i crondump.pl for $absolute_path_of_configdir:
+3. Ã…bn filen "crondump.pl" i editoren
+4. indsæt den kopierede sti dér i absolute_path_of_configdir (ingen mellemrum)
+5. Gem crondump.pl
+6. Kopiér crondump.pl, såvel som perltest.pl og simpletest.pl til cgi-bin folderen (ASCII-modus i ftp-klient!)
+7. CHMOD scriptene til 755.
+7b. Hvis filtypen cgi foretrækkes omdøbes alle 3 filer pl - > cgi (rename)
+8. Ã…bn i MySQLDumper siden Konfiguration
+9. Klik på Cronscript
+10. Ændr Perl udførelsessti til /cgi-bin/
+10b. Hvis Scriptene er omdøbt til *.cgi , ændr Filtype til cgi
+11 Gem Konfigurationen

+ +Klar! Scriptene er tilgængelige fra siden "Backup"

+ +Hvis du kan udføre Perl overalt, behøves kun følgende trin:

+ +1. Ã…bn i MySQLDumper siden Backup.
+2. Kopiér stien der står efter entry i crondump.pl for $absolute_path_of_configdir:
+3. Ã…bn filen "crondump.pl" i editoren
+4. indsæt den kopierede sti dér i absolute_path_of_configdir (ingen mellemrum)
+5. Gem crondump.pl
+6. CHMOD scriptene til 755.
+6b. Hvis filtypen cgi foretrækkes omdøbes alle 3 filer pl - > cgi (rename)
+(evt. 10b+11 fra herover)

+ + +Windowsbrugere skal ændre første linie i alle Perlscripts til stien til Perl.

+ +Eksempel:
+ +i stedet for: #!/usr/bin/perl w
+bruges: #!C:\perl\bin\perl.exe w
+ +

Brug

\ No newline at end of file diff --git a/language/da/lang.php b/language/da/lang.php new file mode 100644 index 0000000..8199407 --- /dev/null +++ b/language/da/lang.php @@ -0,0 +1,104 @@ +ikke tilgængelig"; +$lang['vom']="fra"; +$lang['mysqlvars']="MySQL Variabler"; +$lang['mysqlsys']="MySQL Kommandoer"; +$lang['Status']="Tilstand"; +$lang['Prozesse']="Processer"; +$lang['info_novars']="ingen variabler tilgængelige"; +$lang['Inhalt']="Værdi"; +$lang['info_nostatus']="ingen tilstand tilgængelig"; +$lang['info_noprocesses']="ingen kørende processer"; +$lang['fm_freespace']="Fri plads på Server"; +$lang['load_database']="Genindlæs databaser"; +$lang['home']="Hjem"; +$lang['config']="Konfiguration"; +$lang['dump']="Backup"; +$lang['restore']="Genetabler"; +$lang['file_manage']="Fil Administration"; +$lang['log']="Log"; +$lang['choose_db']="Vælg Database"; +$lang['credits']="Bidragydere / Hjælp"; +$lang['multi_part']="Multipart Backup"; +$lang['logfilenotwritable']="Kan ikke skrive Logfil !"; +$lang['sql_error1']="Fejl i forespørgsel:"; +$lang['sql_error2']="MySQL siger:"; +$lang['unknown']="ukendt"; +$lang['unknown_number_of_records']="ukendt"; +$lang['ok']="OK"; +$lang['cron_completelog']="Log komplet output"; +$lang['no']="nej"; +$lang['create_database']="Opret ny database"; +$lang['exportfinished']="Eksport færdiggjort."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/da/lang_config_overview.php b/language/da/lang_config_overview.php new file mode 100644 index 0000000..28bcefe --- /dev/null +++ b/language/da/lang_config_overview.php @@ -0,0 +1,111 @@ +%s
into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Indtast kommentar"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/da/lang_dump.php b/language/da/lang_dump.php new file mode 100644 index 0000000..ac22563 --- /dev/null +++ b/language/da/lang_dump.php @@ -0,0 +1,61 @@ +%s` "; +$lang['dump_endergebnis']="Filen indeholder %s tabeller med %s poster.
"; +$lang['mailerror']="Afsendelse af email slog fejl!"; +$lang['emailbody_attach']="Den vedhæftede fil indeholder backup af din MySQL-Database.
Backup af Database `%s` +

Følgende fil blev oprettet:

%s

Venlig hilsen

MySQLDumper
"; +$lang['emailbody_mp_noattach']="En Multipart Backup blev oprettet.
Backupfilerne er ikke vedhæftet denne email!
Backup af Database `%s` +

Følgende filer blev oprettet:

%s +

Venlig hilsen

MySQLDumper
"; +$lang['emailbody_mp_attach']="En Multipart Backup er blevet oprettet.
Backupfilerne er vedhæftet separate emails.
Backup af Database `%s` +

Følgende filer blev oprettet:

%s

Med venlig hilsen

MySQLDumper
"; +$lang['emailbody_footer']="

Venlig hilsen

MySQLDumper
"; +$lang['emailbody_toobig']="Backupfilen oversteg maksimumstørrelsen på %s og blev ikke vedhæftet denne email.
Backup sf Database `%s` +

Følgende fil blev oprettet:

%s +

Venlig hilsen

MySQLDumper
"; +$lang['emailbody_noattach']="Filer er ikke vedhæftet denne email!
Backup af Database `%s` +

Følgende fil blev oprettet:

%s +

Venlig hilsen

MySQLDumper
"; +$lang['email_only_attachment']=" ... kun vedhæftet."; +$lang['tableselection']="Tabelvælg"; +$lang['selectall']="Vælg alle"; +$lang['deselectall']="Fravælg alle"; +$lang['startdump']="Start Backup"; +$lang['lastbufrom']="sidst opdateret fra"; +$lang['not_supported']="Denne backup understøtter ikke denne funktion."; +$lang['multidump']="Multidump: Backup af %d Databaser færdige."; +$lang['filesendftp']="send fil via FTP... vær venligst tålmodig. "; +$lang['ftpconnerror']="FTP-forbindelse ikke etableret! Forbind med "; +$lang['ftpconnerror1']=" som bruger "; +$lang['ftpconnerror2']=" ikke muligt"; +$lang['ftpconnerror3']="FTP-upload fejlede! "; +$lang['ftpconnected1']="Forbundet med "; +$lang['ftpconnected2']=" på "; +$lang['ftpconnected3']=" overførsel korrekt gennemført"; +$lang['nr_tables_selected']="- med %s valgte tabeller"; +$lang['nr_tables_optimized']="%s tabeller er blevet optimeret."; +$lang['dump_errors']="

%s fejl optrådte: se log

+ + +"; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
+Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/da/lang_filemanagement.php b/language/da/lang_filemanagement.php new file mode 100644 index 0000000..7c5a286 --- /dev/null +++ b/language/da/lang_filemanagement.php @@ -0,0 +1,84 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Kør Perl Cron scriptet"; +$lang['DoPerlTest']="Test Perl-moduler"; +$lang['DoSimpleTest']="Test Perl"; +$lang['perloutput1']="Linie i crondump.pl for absolute_path_of_configdir"; +$lang['perloutput2']="URL for browseren eller for eksternt Cron job"; +$lang['perloutput3']="Kommandolinie i Shell eller for Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backupkonvertering"; +$lang['convert_file']="Fil der skal konverteres"; +$lang['convert_filename']="Navn på destinationsfilen (uden filtype)"; +$lang['converting']="Konverterer"; +$lang['convert_fileread']="Læs fil '%s'"; +$lang['convert_finished']="Konvertering afsluttet, '%s' blev skrevet korrekt."; +$lang['no_msd_backupfile']="Backups af andre scripts"; +$lang['max_upload_size']="Maksimal filstørrelse"; +$lang['max_upload_size_info']="Hvis din Dumpfil er større end den ovennævnte grænse, skal du uploade den via FTP til folderen \"work/backup\". +Derefter kan du vælge den og begynde genetableringsprocessen. + + +"; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
You must choose the charset with which this backup was saved. +
If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/da/lang_help.php b/language/da/lang_help.php new file mode 100644 index 0000000..94d0b68 --- /dev/null +++ b/language/da/lang_help.php @@ -0,0 +1,36 @@ + \ No newline at end of file diff --git a/language/da/lang_install.php b/language/da/lang_install.php new file mode 100644 index 0000000..25dd509 --- /dev/null +++ b/language/da/lang_install.php @@ -0,0 +1,85 @@ +Installation gennemført --> start MySQLDumper
"; +$lang['install_tomenu']="Tilbage til hovedmenu"; +$lang['installmenu']="Hovedmenu"; +$lang['step']="Trin"; +$lang['install']="Installation"; +$lang['uninstall']="Afinstallation"; +$lang['tools']="Funktioner"; +$lang['editconf']="Ret konfiguration"; +$lang['osweiter']="Fortsæt uden at gemme"; +$lang['errorman']="Fejl ved lagring af konfiguration!
Redigér venligst filen "; +$lang['manuell']="manuelt"; +$lang['createdirs']="Opret foldere"; +$lang['install_continue']="Fortsæt med installation"; +$lang['connecttomysql']="Forbind til MySQL "; +$lang['dbparameter']="Databaseparametre"; +$lang['confignotwritable']="Kan ikke skrive til fil \"config.php\". +Brug venligst dit FTP-program og giv denne fil passende rettigheder, f.eks. CHMOD 0777."; +$lang['dbconnection']="Databaseforbindelse"; +$lang['connectionerror']="Fejl: kan ikke forbinde."; +$lang['connection_ok']="Databaseforbindelse etableret."; +$lang['saveandcontinue']="Gem og fortsæt installation"; +$lang['confbasic']="Basisparametre"; +$lang['install_step2finished']="Databaseparametre blev gemt."; +$lang['install_step2_1']="Fortsæt installation med standard-indstillingerne"; +$lang['laststep']="Installation afsluttet"; +$lang['ftpmode']="Opret nødvendige foldere i safe-mode"; +$lang['idomanual']="Jeg opretter selv folderne"; +$lang['dofrom']="startende fra"; +$lang['ftpmode2']="Opret folderne med FTP:"; +$lang['connect']="forbind"; +$lang['dirs_created']="Folderne er blevet oprettet og har fået tildelt korrekte tilladelser."; +$lang['connect_to']="forbind til"; +$lang['changedir']="skift til folder"; +$lang['changedirerror']="skift til folder var ikke muligt"; +$lang['ftp_ok']="FTP-parameter er ok"; +$lang['createdirs2']="Opret foldere"; +$lang['ftp_notconnected']="FTP-forbindelse ikke etableret!"; +$lang['connwith']="Forbindelse med"; +$lang['asuser']="som bruger"; +$lang['notpossible']="ikke muligt"; +$lang['dircr1']="opret arbejdsfolder"; +$lang['dircr2']="opret backupdir"; +$lang['dircr4']="opret logdir"; +$lang['dircr5']="opret configurationdir"; +$lang['indir']="nu i dir (folder)"; +$lang['check']="Check mine foldere"; +$lang['disabledfunctions']="Deaktiverede Funktioner"; +$lang['noftppossible']="Du har ikke adgang til FTP-funktioner!"; +$lang['nogzpossible']="Du har ikke adgang til komprimerings-funktioner!"; +$lang['ui1']="Alle arbejdsfoldere, hvilke kan indeholde backups, vil blive slettet."; +$lang['ui2']="Er du sikker på at du vil gøre dette?"; +$lang['ui3']="nej, afbryd øjeblikkeligt"; +$lang['ui4']="ja, fortsæt venligst"; +$lang['ui5']="sletter arbejdsfoldere"; +$lang['ui6']="alle blev korrekt slettet."; +$lang['ui7']="Slet venligst script folderen"; +$lang['ui8']="et niveau op"; +$lang['ui9']="Der opstod en fejl, sletning var ikke muligt

Fejl med folder "; +$lang['import']="Import Konfiguration"; +$lang['import1']="Importér indstillinger frs "; +$lang['import2']="Upload og importer indstillinger"; +$lang['import3']="Konfiguration blev indlæst ..."; +$lang['import4']="Konfiguration blev gemt."; +$lang['import5']="Start MySQLDumper"; +$lang['import6']="Installationsmenu"; +$lang['import7']="Upload konfiguration"; +$lang['import8']="tilbage til upload"; +$lang['import9']="Dette er ikke en konfigurationsbackup!"; +$lang['import10']="Konfiguration korrekt uploadet ..."; +$lang['import11']="Fejl: Der var problemer med at skrive til sql_statements"; +$lang['import12']="Fejl: Der var problemer med at skrive til config.php"; +$lang['install_help_port']="(tom = standardport)"; +$lang['install_help_socket']="(tom = Standard Socket)"; +$lang['tryagain']="Prøv igen"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="fundet db:"; +$lang['fm_fileupload']="Upload fil"; +$lang['pass']="Kodeord"; +$lang['no_db_found_info']="Forbindelsen til databasen blev korrekt etableret.
Dine brugerdata er gyldige og blev accepteret af MySQL-serveren.
Men MySQLDumper kunne ikke finde nogen database.
Den automatiske visning af databaser via script er slået fra på visse servere.
Du skal indtaste databasenavnet manuelt efter installationen er færdiggjort. Klik på \"konfiguration\" \"Forbindelsesparametr - vis\" og indtast databasenavnet dér."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/da/lang_log.php b/language/da/lang_log.php new file mode 100644 index 0000000..16cc0fd --- /dev/null +++ b/language/da/lang_log.php @@ -0,0 +1,12 @@ +ikke skrive Logfil!"; +$lang['noreverse']="Ældste indlæg først"; +$lang['reverse']="Seneste indlæg først + + +"; + + +?> \ No newline at end of file diff --git a/language/da/lang_main.php b/language/da/lang_main.php new file mode 100644 index 0000000..0544115 --- /dev/null +++ b/language/da/lang_main.php @@ -0,0 +1,71 @@ +"; +$lang['htaccess10']="Kodeordene er ikke identiske eller tomme!
"; +$lang['htaccess11']="Skal folderbeskyttelsen gemmes nu?"; +$lang['htaccess12']="Folderbeskyttelsen blev oprettet."; +$lang['htaccess13']="Indhold af fil:"; +$lang['htaccess14']="Der opstod en fejl ved oprettelse af folderbeskyttelsen!
Opret venligst de 2 filer manuelt med følgende indhold:"; +$lang['htaccess15']="Stærkt anbefalet!"; +$lang['htaccess16']="Rediger .htaccess"; +$lang['htaccess18']="Opret .htaccess i "; +$lang['htaccess19']="Genindlæs"; +$lang['htaccess20']="Udfør script"; +$lang['htaccess21']="Tilføj handler"; +$lang['htaccess22']="Lav til eksekverbar"; +$lang['htaccess23']="Folder-indholdslistning"; +$lang['htaccess24']="Fejl-dokument"; +$lang['htaccess25']="Aktivér rewrite"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="Flere eksempler og dokumentation"; +$lang['htaccess30']="Leverandør"; +$lang['htaccess31']="Generelt"; +$lang['htaccess32']="Bemærk! .htaccess påvirker dirkte browserens opførsel.
Med forkert indhold kan disse sider blive utilgængelige."; +$lang['phpbug']="Fejl i zlib ! Ingen komprimering mulig!"; +$lang['disabledfunctions']="Funktioner slået fra"; +$lang['nogzpossible']="Da Zlib ikke er installeret/tilgængeligt, kan du ikke bruge GZip-funktionerne. + + +"; +$lang['delete_htaccess']="Fjern folderbeskyttelse (slet .htaccess)"; +$lang['wrong_rights']="Kan ikke skrive til filen eller folderen '%s'.
Fil-rettighederne (chmod) er ikke sat korrekt eller har den forkerte ejer.
Sæt venligst de korrekte attributter via din FTP-klient.
Filen eller mappen skal være sat til %s.
"; +$lang['cant_create_dir']="Kunne ikke oprette folderen '%s'. Opret den venligst med en FTP-klient."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/da/lang_restore.php b/language/da/lang_restore.php new file mode 100644 index 0000000..cc015d2 --- /dev/null +++ b/language/da/lang_restore.php @@ -0,0 +1,21 @@ +%d tabeller."; +$lang['file_missing']="kunne ikke finde fil"; +$lang['restore_db']="Database '%s' på '%s'."; +$lang['restore_complete']="%s tabeller oprettet."; +$lang['restore_run1']="
Foreløbigt er der korrekt tilføjet %s af %s poster."; +$lang['restore_run2']="
Tabellen '%s' er under genetablering.

"; +$lang['restore_complete2']="%s poster indsat."; +$lang['restore_tables_completed']="Foreløbigt er der oprettet %d af %d tabeller."; +$lang['restore_total_complete']="
Tillykke.

Genetableringen af databasen er færdig.
Alle data fra Backupfilen er blevet genetableret.

Processen er færdig. :-)"; +$lang['db_select_error']="
Fejl:
Valg af database "; +$lang['db_select_error2']=" fejlede!"; +$lang['file_open_error']="Fejl: kunne ikke åbne fil."; +$lang['progress_over_all']="Samlede fremskridt"; +$lang['back_to_overview']="Database-oversigt"; +$lang['restore_run0']="
foreløbigt er der korrekt tilføjet %s poster."; +$lang['unknown_sqlcommand']="ukendt SQL-kommando"; +$lang['notices']="Bemærkninger"; + + +?> \ No newline at end of file diff --git a/language/da/lang_sql.php b/language/da/lang_sql.php new file mode 100644 index 0000000..5e57df4 --- /dev/null +++ b/language/da/lang_sql.php @@ -0,0 +1,180 @@ +%s linier eksporteret"; +$lang['csv_fieldcount_nomatch']="Felt-tælleren stemmer ikke overens med de importerede data (%d i stedet for %d)."; +$lang['csv_fieldslines']="%d felter genkendt, totalt %d linier"; +$lang['csv_errorcreatetable']="Fejl ved oprettelse af tabel `%s` !"; +$lang['fm_uploadfilerequest']="vælg venligst en fil."; +$lang['csv_nodata']="Ingen data fundet til import!"; +$lang['sqllib_generalfunctions']="generelle funktioner"; +$lang['sqllib_resetauto']="nulstil auto-increment (forøgelse)"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="deaktiver Board"; +$lang['sqllib_activateboard']="aktiver Board"; +$lang['sql_notablesselected']="Ingen tabeller valgt!"; +$lang['tools']="Funktioner"; +$lang['tools_toolbox']="Vælg Database / Datebasefunktioner / Import - Eksport"; +$lang['sql_openfile']="Åbn SQL-fil"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maksimal filstørrelse"; +$lang['sql_search']="Søg"; +$lang['sql_searchwords']="Søgeord"; +$lang['start_sql_search']="Start søgning"; +$lang['reset_searchwords']="nulstil søgeord"; +$lang['search_options']="Søgeindstillinger"; +$lang['search_results']="Søgningen efter \"%s\" i tabellen \"%s\" giver følgende resultater"; +$lang['search_no_results']="Søgningen efter \"%s\" i tabel \"%s\" gav ingen rsultater!"; +$lang['no_entries']="Tabel \"%s\" er tom og indeholder ingen poster."; +$lang['search_access_keys']="Bladre: fremad=ALT+V, baglæns=ALT+C"; +$lang['search_options_or']="en kolonne skal indeholde et af søgeordene (ELLER-søgning)"; +$lang['search_options_concat']="en række skal indeholde alle søgeordene men kan være i hvilkensomhelst kolonne (kan tage noget tid)"; +$lang['search_options_and']="en kolonne skal indeholde ALLE søgeord (OG-søgning)"; +$lang['search_in_table']="Søg i tabel"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/de/help.php b/language/de/help.php new file mode 100644 index 0000000..918458e --- /dev/null +++ b/language/de/help.php @@ -0,0 +1,125 @@ +
+

Ãœber dieses Projekt

+Die Idee für dieses Projekt kam von Daniel Schlichtholz.

Er eröffnete 2004 das Forum MySQLDumper, und schon bald fanden sich Hobby-Programmierer, die neue Skripte schrieben und die von Daniel erweiterten.
Innerhalb kürzester Zeit entstand aus dem kleinen Backupskript ein stattliches Projekt.

Wenn Du Vorschläge zur Verbesserung hast, dann wende Dich an das MySQLDumper-Forum http://forum.mysqldumper.de.

Wir wünschen Dir viel Vergnügen mit diesem Projekt.

Das MySQLDumper-Team

+ +
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript mit Unterstützung von Detlev Richter
+
+
+ +

MySQLDumper Hilfe

+ + +

Download

+Dieses Script erhaltet Ihr auf der Homepage von MySQLDumper.
+Es empfiehlt sich, die Homepage regelmäßig zu besuchen, um Updates und +Hilfestellungen zu erlangen.
+Die Adresse lautet: +http://www.mysqldumper.de + +

Systemvoraussetzung

+Das Script arbeitet auf jedem Server (Windows, Linux, ...)
+mit PHP >= Version 4.3.4 mit GZip-Unterstützung, MySQL (ab Version 3.23), JavaScript (muss aktiviert sein). + +

Installation

+Die Installation geht einfach von statten. +Entpackt das Archiv in einen beliebigen Ordner.
+Ladet alle Dateien auf Euren Webserver hoch. (z. B. in die unterste Ebene in [Server Webverzeichnis/]MySQLDumper)
+... fertig!
+Ihr könnt MySQLDumper nun im Webbrowser durch "http://mein-webserver/MySQLDumper" aufrufen,
+um die Installation abzuschließen. Folgt einfach den Instruktionen.
+
Hinweis:
Falls auf Eurem Server der PHP-Safemode eingeschaltet ist, darf das Script keine +Verzeichnisse erstellen.
+Dies müsst Ihr dann von Hand nachholen, da MySqlDump die Daten geordnet in +Verzeichnissen ablegt.
+Das Script bricht mit einer entsprechenden Anweisung ab!
+Nachdem Ihr die Verzeichnisse (dem Hinweis entsprechend) erstellt habt, läuft es normal und ohne Einschränkungen.
+ +

Perlskript Anleitung

+Die Meisten haben ein cgi-bin Verzeichnis, in dem Perl ausgeführt werden kann.
+Dies ist meist per Browser über http://www.domain.de/cgi-bin/ erreichbar.
+
+Für diesen Fall bitte folgende Schritte durchführen:

+ +1. Rufe im MySQLDumper die Seite Backup auf und klicke auf "Backup Perl".
+2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
+3. Öffne die Datei "crondump.pl" im Editor.
+4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
+5. Speichere crondump.pl .
+6. Kopiere crondump.pl, sowie perltest.pl und simpletest.pl ins cgi-bin-Verzeichnis (Ascii-Modus im FTP).
+7. Gebe den Dateien die Rechte 755.
+7b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
+8. Rufe die Konfiguration im MySQLDumper auf.
+9. Wähle die Seite Cronscript.
+10. Ändere Perl Ausführungspfad in /cgi-bin/ .
+10b. Wenn die Scripte .pl haben, ändere die Dateiendung auf .cgi .
+11. Speichere die Konfiguration.

+ +Fertig, die Skripte lassen sich nun von der Backupseite aufrufen.

+ +Wer Perl in allen Verzeichnissen ausführen kann, dem reichen folgende Schritte:

+ +1. Rufe im MySQLDumper die Seite Backup auf.
+2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
+3. Öffne die Datei "crondump.pl" im Editor.
+4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
+5. Speichere crondump.pl .
+6. gebe den Datein die Rechte 755.
+6b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
+(ev. 10b+11 von oben)
+
+ +Windowsuser müssen bei allen Scripten die erste Zeile ändern, dort steht der Pfad von Perl. Beispiel:
+statt: #!/usr/bin/perl -w
+jetzt: #!C:\perl\bin\perl.exe -w
+ +

Bedienung

    + +
    Menü
    +In der obigen Auswahlliste stellt Ihr die Datenbank ein.
    +Alle Aktionen beziehen sich auf die hier eingestellte Datenbank. + +
    Startseite
    +Hier erfahrt Ihr Einiges über Euer System, die verschiedenen, installierten +Versionen und Details über die konfigurierten Datenbanken.
    +Wenn Ihr auf den Datenbanknamen klickt, so seht Ihr eine Auflistung der Tabellen +mit der Anzahl der Einträge, der Größe und das letzte Aktualisierungsdatum. + +
    Konfiguration
    +Hier könnt Ihr eure Konfiguration bearbeiten, abspeichern oder die Ausgangskonfiguration +wieder herstellen. +

      +
    • Konfigurierte Datenbanken: die Auflistung der konfigurierten Datenbanken. Die aktive Datenbank wird in bold gelistet.
    • +
    • Tabellen-Präfix: hier könnt Ihr (für jede Datenbank) einen Präfix angeben. Dies ist ein Filter, der bei Dumps nur die Tabellen berücksichtigt, die mit diesem Präfix beginnen (z.B. alle Tabellen, die mit "phpBB_" beginnen). Wenn alle Tabellen dieser Datenbank gespeichert werden sollen, +so lasst das Feld einfach leer.
    • +
    • GZip-Kompression: Hier kann die Kompression aktiviert werden. Empfehlenswert ist die Aktivierung, da die Dateien doch wesentlich kleiner werden und Speicherplatz immer rar ist.
    • +
    • Email mit Dumpfile: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup eine Email mit dem Dump als Anhang verschickt (Vorsicht, Kompression sollte unbedingt an sein, sonst wird der Anhang zu gross und kann evtl. nicht versandt werden!).
    • +
    • Email-Adresse: Empfängeradresse für die Email.
    • +
    • Absender der Email: diese Adresse taucht als Absender in der Email auf.
    • +
    • FTP-Transfer: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup die Backupdatei per FTP versandt.
    • +
    • FTP Server: Die Adresse des FTP-Servers (z. B. ftp.mybackups.de).
    • +
    • FTP Server Port: Der Port des FTP-Servers (in der Regel 21).
    • +
    • FTP User: Der Benutzername des FTP-Accounts.
    • +
    • FTP Passwort: Das Passwort des FTP-Accounts.
    • +
    • FTP Upload-Ordner: Das Verzeichnis, in das die Backupdatei soll (es müssen Upload-Berechtigungen bestehen!).
    • +
    • Automatisches Löschen der Backups: Wenn diese Option aktiviert ist, werden ältere Backups nach den folgenden Regeln automatisch gelöscht.
    • +
    • Anzahl von Backupdateien: Ein Wert > 0 löscht alle Backupdateien, bis auf die hier angegebe Zahl.
    • +
    • Sprache: hier legst du die Sprache für das Interface fest.
    • +
    + +
    Verwaltung
    +Hier werden die eigenlichen Aktionen durchgeführt.
    +Es werden Dir alle Dateien im Backup-Verzeichnis angezeigt. +Für die Aktionen "Restore" und "Delete" muss eine Datei selektiert sein. +
      +
    • Restore: Hiermit wird die Datenbank mit der ausgewählten Backupdatei aktualisiert.
    • +
    • Delete: Hiermit kannst Du die selektierte Backupdatei löschen.
    • +
    • Neues Backup starten: Hier startest Du ein neues Backup (Dump) nach den in der Konfiguration eingestellten Parametern.
    • +
    + +
    Log
    +Hier kannst Du die Logeinträge sehen und löschen. +
    Credits / Hilfe
    +diese Seite. +
\ No newline at end of file diff --git a/language/de/lang.php b/language/de/lang.php new file mode 100644 index 0000000..c764135 --- /dev/null +++ b/language/de/lang.php @@ -0,0 +1,104 @@ +nicht verfügbar"; +$lang['vom']="vom"; +$lang['mysqlvars']="MySQL-Variabeln"; +$lang['mysqlsys']="MySQL-Befehle"; +$lang['Status']="Status"; +$lang['Prozesse']="Prozesse"; +$lang['info_novars']="keine Variablen verfügbar"; +$lang['Inhalt']="Inhalt"; +$lang['info_nostatus']="kein Status verfügbar"; +$lang['info_noprocesses']="keine laufenden Prozesse"; +$lang['fm_freespace']="Freier Speicher auf Server"; +$lang['load_database']="Datenbanken neu laden"; +$lang['home']="Home"; +$lang['config']="Konfiguration"; +$lang['dump']="Backup"; +$lang['restore']="Wiederherstellung"; +$lang['file_manage']="Verwaltung"; +$lang['log']="Log"; +$lang['choose_db']="Datenbank wählen"; +$lang['credits']="Credits / Hilfe"; +$lang['multi_part']="Multipart-Backup"; +$lang['logfilenotwritable']="Log-File kann nicht geschrieben werden!"; +$lang['sql_error1']="Fehler bei der Anfrage:"; +$lang['sql_error2']="MySQL meldet:"; +$lang['unknown']="unbekannt"; +$lang['unknown_number_of_records']="unbekannt"; +$lang['ok']="OK"; +$lang['cron_completelog']="Komplette Ausgabe loggen"; +$lang['no']="nein"; +$lang['create_database']="neue Datenbank anlegen"; +$lang['exportfinished']="Export beendet."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standardkodierung des MySQL-Servers"; +$lang['title_show_data']="Daten anzeigen"; +$lang['primaryKey_confirmDelete']="Primärschlüssel wirklich löschen?"; +$lang['setPrimaryKeysFor']="Setzen neuer Primärschlüssel für die Tabelle"; +$lang['primaryKey_field']="Schlüsselfeld"; +$lang['primaryKeys_save']="Primärschlüssel speichern"; + + +?> \ No newline at end of file diff --git a/language/de/lang_config_overview.php b/language/de/lang_config_overview.php new file mode 100644 index 0000000..3052011 --- /dev/null +++ b/language/de/lang_config_overview.php @@ -0,0 +1,115 @@ +%s
in %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Empfänger"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Soll die Konfigurationsdatei %s wirklich gelöscht werden?"; +$lang['error_deleting_configfile']="Fehler: die Konfigurationsdatei %s konnte nicht gelöscht werden!"; +$lang['success_deleting_configfile']="Die Konfigurationsdatei %s wurde erfolgreich gelöscht."; +$lang['success_configfile_created']="Die Konfigurationsdatei %s wurde erfolgreich angelegt."; +$lang['error_configfile_name']="Der Dateiname \"%s\" enthält ungültige Zeichen."; +$lang['create_configfile']="Eine neue Konfigurationsdatei anlegen"; +$lang['error_loading_configfile']="Die Konfigurationsdatei \"%s\" konnte nicht geladen werden."; +$lang['backup_dbs_php']="zu sichernde DBs (PHP)"; +$lang['backup_dbs_perl']="zu sichernde DBs (PERL)"; +$lang['cron_comment']="Kommentar eingeben + + +"; +$lang['autodetect']="automatisch ermitteln"; + + +?> \ No newline at end of file diff --git a/language/de/lang_dump.php b/language/de/lang_dump.php new file mode 100644 index 0000000..93dff51 --- /dev/null +++ b/language/de/lang_dump.php @@ -0,0 +1,60 @@ +%s` gefunden werden."; +$lang['dump_endergebnis']="Es wurden %s Tabellen mit insgesamt %s Datensätzen gesichert.
"; +$lang['mailerror']="Leider ist beim Verschicken der E-Mail ein Fehler aufgetreten!"; +$lang['emailbody_attach']="In der Anlage finden Sie die Sicherung Ihrer MySQL-Datenbank.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s

Viele Grüße

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Es wurde eine Multipart-Sicherung erstellt.
Die Sicherungen werden nicht als Anhang mitgeliefert!
Sicherung der Datenbank `%s` +

Folgende Dateien wurden erzeugt:

%s


Viele Grüße

MySQLDumper
"; +$lang['emailbody_mp_attach']="Es wurde eine Multipart-Sicherung erstellt.
Die Sicherungen werden in separaten E-Mails als Anhang geliefert!
Sicherung der Datenbank `%s` +

Folgende Dateien wurden erzeugt:

%s


Viele Grüße

MySQLDumper
"; +$lang['emailbody_footer']="


Viele Grüße

MySQLDumper
"; +$lang['emailbody_toobig']="Die Sicherung überschreitet die Maximalgröße von %s und wurde daher nicht angehängt.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s +

Viele Grüße

MySQLDumper
"; +$lang['emailbody_noattach']="Das Backup wurde nicht angehängt.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s +

Viele Grüße

MySQLDumper
"; +$lang['email_only_attachment']=" ... nur der Anhang"; +$lang['tableselection']="Tabellenauswahl"; +$lang['selectall']="alle auswählen"; +$lang['deselectall']="Auswahl aufheben"; +$lang['startdump']="Backup starten"; +$lang['lastbufrom']="letztes Update vom"; +$lang['not_supported']="Dieses Backup unterstützt diese Funktion nicht."; +$lang['multidump']="Multidump: Es wurden %d Datenbanken gesichert."; +$lang['filesendftp']="versende File via FTP... bitte habe etwas Geduld. "; +$lang['ftpconnerror']="FTP-Verbindung nicht hergestellt! Verbindung mit "; +$lang['ftpconnerror1']=" als Benutzer "; +$lang['ftpconnerror2']=" nicht möglich"; +$lang['ftpconnerror3']="FTP-Upload war fehlerhaft! "; +$lang['ftpconnected1']="Verbunden mit "; +$lang['ftpconnected2']=" auf "; +$lang['ftpconnected3']=" geschrieben"; +$lang['nr_tables_selected']="- mit %s gewählten Tabellen"; +$lang['nr_tables_optimized']="%s Tabellen wurden optimiert."; +$lang['dump_errors']="

%s Fehler aufgetreten: anzeigen

"; +$lang['fatal_error_dump']="Schwerwiegender Fehler: die CREATE-Anweisung der Tabelle '%s' in der Datenbank '%s' konnte nicht gelesen werden!
+Überprüfen Sie die Tabelle auf Fehler. + + +"; + + +?> \ No newline at end of file diff --git a/language/de/lang_filemanagement.php b/language/de/lang_filemanagement.php new file mode 100644 index 0000000..489f3b9 --- /dev/null +++ b/language/de/lang_filemanagement.php @@ -0,0 +1,85 @@ +%s\""; +$lang['delete_file_error']="Die Datei \"%s\" konnte nicht gelöscht werden!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Perl-Cronscript ausführen"; +$lang['DoPerlTest']="Perl-Module testen"; +$lang['DoSimpleTest']="Perl testen"; +$lang['perloutput1']="Eintrag in crondump.pl für absolute_path_of_configdir"; +$lang['perloutput2']="Aufruf im Browser oder für externen Cronjob"; +$lang['perloutput3']="Aufruf in der Shell oder für die Crontab"; +$lang['restore_of_tables']="Wiederherstellen bestimmter Tabellen"; +$lang['converter']="Backup-Konverter"; +$lang['convert_file']="zu konvertierende Datei"; +$lang['convert_filename']="Name der Zieldatei (ohne Endung)"; +$lang['converting']="Konvertierung"; +$lang['convert_fileread']="Datei '%s' wird eingelesen"; +$lang['convert_finished']="Konvertierung abgeschlossen, '%s' wurde erzeugt."; +$lang['no_msd_backupfile']="Dateien anderer Programme"; +$lang['max_upload_size']="Maximale Dateigröße"; +$lang['max_upload_size_info']="Wenn Ihre Backup-Datei größer als das angegebene Limit ist, dann müssen Sie diese per FTP in den \"work/backup\"-Ordner hochladen. +Danach wird diese Datei hier in der Verwaltung angezeigt und lässt sich für eine Wiederherstellung auswählen."; +$lang['encoding']="Kodierung"; +$lang['fm_choose_encoding']="Kodierung der Backupdatei wählen"; +$lang['choose_charset']="Leider konnte nicht automatisch ermittelt werden mit welchem Zeichensatz diese Backupdatei seinerzeit angelegt wurde. +
Sie müssen die Kodierung, in der Zeichenketten in dieser Datei vorliegen, manuell angeben. +
Danach stellt MySQLDumper die Verbindungskennung zum MySQL-Server auf den ausgewählten Zeichensatz und beginnt mit der Wiederherstellung der Daten. +
Sollten Sie nach der Wiederherstellung Probleme mit Sonderzeichen entdecken, so können Sie versuchen, das Backup mit einer anderen Zeichensatzauswahl wiederherzustellen. +
Viel Glück. ;) + + +"; + + +?> \ No newline at end of file diff --git a/language/de/lang_help.php b/language/de/lang_help.php new file mode 100644 index 0000000..b101ee7 --- /dev/null +++ b/language/de/lang_help.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/language/de/lang_install.php b/language/de/lang_install.php new file mode 100644 index 0000000..c80ad2c --- /dev/null +++ b/language/de/lang_install.php @@ -0,0 +1,93 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
"; +$lang['install_tomenu']="zum Hauptmenü"; +$lang['installmenu']="Hauptmenü"; +$lang['step']="Schritt"; +$lang['install']="Installation"; +$lang['uninstall']="Deinstallation"; +$lang['tools']="Tools"; +$lang['editconf']="Konfiguration bearbeiten"; +$lang['osweiter']="ohne Speichern weiter"; +$lang['errorman']="Fehler beim Schreiben der Konfiguration!
Bitte editieren Sie die Datei "; +$lang['manuell']="manuell"; +$lang['createdirs']="erstelle Verzeichnisse"; +$lang['install_continue']="mit der Installation fortfahren"; +$lang['connecttomysql']=" zu MySQL verbinden "; +$lang['dbparameter']="Datenbank-Parameter"; +$lang['confignotwritable']="Die Datei \"config.php\" ist nicht beschreibbar. +Geben Sie ihr mit einem FTP-Programm entsprechende Rechte, z. B. den CHMod-Wert 0777."; +$lang['dbconnection']="Datenbank-Verbindung"; +$lang['connectionerror']="Fehler: Es konnte keine Verbindung herstellt werden."; +$lang['connection_ok']="Datenbank-Verbindung wurde hergestellt."; +$lang['saveandcontinue']="speichern und Installation fortsetzen"; +$lang['confbasic']="Grundeinstellungen"; +$lang['install_step2finished']="Die Einstellungen wurden erfolgreich gesichert."; +$lang['install_step2_1']="Installation mit Standardkonfiguration fortsetzen"; +$lang['laststep']="Abschluss der Installation"; +$lang['ftpmode']="Verzeichnisse per FTP erzeugen (safe_mode)"; +$lang['idomanual']="Ich erstelle die Verzeichnisse manuell"; +$lang['dofrom']="ausgehend von"; +$lang['ftpmode2']="Erstelle die Verzeichnisse per FTP:"; +$lang['connect']="verbinden"; +$lang['dirs_created']="Die Verzeichnisse wurden ordnungsgemäß erstellt."; +$lang['connect_to']="verbinde zu"; +$lang['changedir']="Wechsel ins Verzeichnis"; +$lang['changedirerror']="Wechsel ins Verzeichnis nicht möglich"; +$lang['ftp_ok']="FTP-Parameter sind ok"; +$lang['createdirs2']="Verzeichnisse erstellen"; +$lang['ftp_notconnected']="FTP-Verbindung nicht hergestellt!"; +$lang['connwith']="Verbindung mit"; +$lang['asuser']="als Benutzer"; +$lang['notpossible']="nicht möglich"; +$lang['dircr1']="erstelle Arbeitsverzeichnis"; +$lang['dircr2']="erstelle Backup-Verzeichnis"; +$lang['dircr4']="erstelle Log-Verzeichnis"; +$lang['dircr5']="erstelle Konfigurationsverzeichnis"; +$lang['indir']="bin im Verzeichnis"; +$lang['check']="überprüfen"; +$lang['disabledfunctions']="Abgeschaltete Funktionen"; +$lang['noftppossible']="Es stehen keine FTP-Funktionen zur Verfügung!"; +$lang['nogzpossible']="Es stehen keine Kompressions-Funktionen zur Verfügung!"; +$lang['ui1']="Es werden alle Arbeitsverzeichnisse incl. den darin enthaltenen Backups gelöscht."; +$lang['ui2']="Sind Sie sicher, dass Sie das möchten?"; +$lang['ui3']="Nein, sofort abbrechen"; +$lang['ui4']="ja, bitte fortfahren"; +$lang['ui5']="lösche Arbeitsverzeichnis"; +$lang['ui6']="alles wurde erfolgreich gelöscht."; +$lang['ui7']="Bitte löschen Sie das Skriptverzeichnis"; +$lang['ui8']="eine Ebene nach oben"; +$lang['ui9']="Ein Fehler trat auf, löschen war nicht möglich

Fehler bei Verzeichnis "; +$lang['import']="Konfiguration importieren"; +$lang['import1']="Einstellungen aus "; +$lang['import2']="Einstellungen hochladen und importieren"; +$lang['import3']="Die Konfiguration wurde geladen..."; +$lang['import4']="Die Konfiguration wurde gesichert."; +$lang['import5']="MySQLDumper starten"; +$lang['import6']="Installations-Menü"; +$lang['import7']="Konfiguration hochladen"; +$lang['import8']="zurück zum Upload"; +$lang['import9']="Dies ist keine Konfigurationssicherung!"; +$lang['import10']="Die Konfiguration wurde erfolgreich hochgeladen..."; +$lang['import11']="Fehler: Es gab Probleme beim Schreiben der sql_statements."; +$lang['import12']="Fehler: Es gab Probleme beim Schreiben der config.php."; +$lang['install_help_port']="(leer = Standardport)"; +$lang['install_help_socket']="(leer = Standardsocket)"; +$lang['tryagain']="noch einmal versuchen"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="gefundene DB: "; +$lang['fm_fileupload']="Datei hochladen"; +$lang['pass']="Passwort"; +$lang['no_db_found_info']="Die Verbindung zur Datenbank konnte erfolgreich hergestellt werden.
+Ihre Zugangsdaten sind gültig und wurden vom MySQL-Server akzeptiert.
+Leider konnte MySQLDumper keine Datenbank finden.
+Die automatische Erkennung per Programm ist bei manchen Hostern gesperrt.
+Sie müssen Ihre Datenbank nach dem Abschluß der Installation unter dem Menüpunkt \"Konfiguration\" \"Verbindungsparameter einblenden\" angeben.
+Bitte begeben Sie sich nach Abschluß der Installation umgehend dort hin und tragen den Namen Ihrer Datenbank dort ein."; +$lang['safemodedesc']="Da PHP auf diesem Server mit der Option \"safe_mode=on\" ausgeführt wird, müssen folgende Verzeichnisse von Hand angelegt werden (dies können Sie mit Ihrem FTP-Programm erledigen): + + +"; + + +?> \ No newline at end of file diff --git a/language/de/lang_log.php b/language/de/lang_log.php new file mode 100644 index 0000000..e33aa71 --- /dev/null +++ b/language/de/lang_log.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/language/de/lang_main.php b/language/de/lang_main.php new file mode 100644 index 0000000..2080156 --- /dev/null +++ b/language/de/lang_main.php @@ -0,0 +1,75 @@ +"; +$lang['htaccess10']="Die Passwörter sind nicht identisch oder leer!
"; +$lang['htaccess11']="Soll der Verzeichnisschutz jetzt erstellt werden?"; +$lang['htaccess12']="Der Verzeichnisschutz wurde erstellt."; +$lang['htaccess13']="Inhalt der Datei"; +$lang['htaccess14']="Es ist ein Fehler bei der Erstellung des Verzeichnisschutzes aufgetreten!
Bitte erzeugen Sie die Dateien manuell mit folgendem Inhalt:"; +$lang['htaccess15']="Dringend empfohlen!"; +$lang['htaccess16']=".htaccess editieren"; +$lang['htaccess18']=".htaccess erstellen in "; +$lang['htaccess19']=" neu laden "; +$lang['htaccess20']="Skript ausführen"; +$lang['htaccess21']="Handler zufügen"; +$lang['htaccess22']="Ausführbar machen"; +$lang['htaccess23']="Verzeichnis-Listing"; +$lang['htaccess24']="Error-Dokument"; +$lang['htaccess25']="Rewrite aktivieren"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error-Log"; +$lang['htaccess29']="weitere Beispiele und Dokumentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="allgemein"; +$lang['htaccess32']="Achtung! Die .htaccess hat eine direkte Auswirkung auf den Browser.
Bei falscher Anwendung sind die Seiten nicht mehr erreichbar."; +$lang['phpbug']="Bug in zlib! Keine Kompression möglich"; +$lang['disabledfunctions']="Abgeschaltete Funktionen"; +$lang['nogzpossible']="Da zlib nicht installiert ist, stehen keine GZip-Funktionen zur Verfügung."; +$lang['delete_htaccess']="Verzeichnisschutz entfernen (.htaccess löschen)"; +$lang['wrong_rights']="Die Datei oder das Verzeichnis '%s' ist für mich nicht beschreibbar.
+Entweder hat sie den falschen Besitzer (Owner) oder die falschen Rechte (Chmod).
+Bitte setzen Sie die richtigen Attribute mit Ihrem FTP-Programm.
+Die Datei oder das Verzeichnis benötigt die Rechte %s.
"; +$lang['cant_create_dir']="Ich konntes das Verzeichnis '%s' nicht erstellen. +Bitte erstellen Sie es mit Ihrem FTP-Programm. + + +"; +$lang['table_type']="Typ"; + + +?> \ No newline at end of file diff --git a/language/de/lang_restore.php b/language/de/lang_restore.php new file mode 100644 index 0000000..5117c31 --- /dev/null +++ b/language/de/lang_restore.php @@ -0,0 +1,24 @@ +%d Tabellen angelegt."; +$lang['file_missing']="konnte Datei nicht finden"; +$lang['restore_db']="Datenbank '%s' auf Server '%s'."; +$lang['restore_complete']="%s Tabellen wurden angelegt."; +$lang['restore_run1']="
Es wurden bisher %s von %s Datensätzen erfolgreich eingetragen."; +$lang['restore_run2']="
Momentan werden Daten der Tabelle '%s' analysiert.

"; +$lang['restore_complete2']="%s Datensätze wurden eingetragen."; +$lang['restore_tables_completed']="Es wurden bisher %d von %d Tabellen angelegt."; +$lang['restore_total_complete']="
Herzlichen Glückwunsch.

Die Datenbank wurde komplett wiederhergestellt.
Alle Daten aus der Backup-Datei wurden erfolgreich in die Datenbank eingetragen.

Alles fertig. :-)"; +$lang['db_select_error']="
Fehler:
Auswahl der Datenbank '"; +$lang['db_select_error2']="' fehlgeschlagen!"; +$lang['file_open_error']="Fehler: Die Datei konnte nicht geöffnet werden."; +$lang['progress_over_all']="Fortschritt gesamt"; +$lang['back_to_overview']="Datenbank-Übersicht"; +$lang['restore_run0']="
Es wurden bisher %s Datensätze erfolgreich eingetragen."; +$lang['unknown_sqlcommand']="Unbekannter SQL-Befehl:"; +$lang['notices']="Hinweise + + +"; + + +?> \ No newline at end of file diff --git a/language/de/lang_sql.php b/language/de/lang_sql.php new file mode 100644 index 0000000..a526410 --- /dev/null +++ b/language/de/lang_sql.php @@ -0,0 +1,180 @@ +%s Zeilen exportiert"; +$lang['csv_fieldcount_nomatch']="Die Anzahl der Tabellenfelder stimmen nicht mit den zu importierenden Daten überein (%d statt %d)."; +$lang['csv_fieldslines']="%d Felder ermittelt, insgesamt %d Zeilen"; +$lang['csv_errorcreatetable']="Fehler beim Erstellen der Tabelle `%s`!"; +$lang['fm_uploadfilerequest']="Bitte geben Sie eine Datei an."; +$lang['csv_nodata']="Keine Daten zum Importieren gefunden!"; +$lang['sqllib_generalfunctions']="allgemeine Funktionen"; +$lang['sqllib_resetauto']="Auto-Wert zurücksetzen"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="Board deaktivieren"; +$lang['sqllib_activateboard']="Board aktivieren"; +$lang['sql_notablesselected']="Es sind keine Tabellen ausgewählt!"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Datenbank auswählen / Datenbankfunktionen / Im- und Export "; +$lang['sql_openfile']="SQL-Datei öffnen"; +$lang['sql_openfile_button']="Hochaden"; +$lang['max_upload_size']="Maximale Dateigröße"; +$lang['sql_search']="Suche"; +$lang['sql_searchwords']="Suchbegriff(e)"; +$lang['start_sql_search']="Suche starten"; +$lang['reset_searchwords']="Eingabe zurücksetzen"; +$lang['search_options']="Suchoptionen"; +$lang['search_results']="Die Suche nach \"%s\" in der Tabelle \"%s\" lieferte folgende Treffer"; +$lang['search_no_results']="Die Suche nach \"%s\" in der Tabelle \"%s\" liefert keine Ergebnisse!"; +$lang['no_entries']="Die Tabelle \"%s\" ist leer und hat keine Einträge."; +$lang['search_access_keys']="Blättern: vor=ALT+V, zurück=ALT+C"; +$lang['search_options_or']="eine Spalte muss mindestens einen Suchbegriff enthalten (ODER-Suche)"; +$lang['search_options_concat']="ein Datensatz muss alle Suchbegriffe enthalten, diese können aber in beliebigen Spalten sein (Rechenintensiv!)"; +$lang['search_options_and']="eine Spalte muss alle Suchbegriffe enthalten (UND-Suche)"; +$lang['search_in_table']="Suche in Tabelle"; +$lang['sql_edit_tablestructure']="Tabellenstruktur bearbeiten"; +$lang['default_charset']="Standardzeichensatz"; +$lang['title_key_primary']="Primärschlüssel"; +$lang['title_key_unique']="Eindeutiger Schlüssel"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Volltextschlüssel"; +$lang['title_nokey']="Kein Schlüssel"; +$lang['title_search']="Suche"; +$lang['title_mysql_help']="MySQL Dokumentation"; +$lang['title_upload']="SQL-Datei hochladen"; +$lang['primaryKey_deleted']="Primärschlüssel gelöscht"; +$lang['primaryKey_notFound']="Primärschlüssel nicht gefunden"; +$lang['primaryKeys_changed']="Primärschlüssel geändert"; +$lang['primaryKeys_changingError']="Fehler beim Ändern der Primärschlüssel"; +$lang['sql_view_compact']="Ansicht: kompakt"; +$lang['sql_view_standard']="Ansicht: normal"; +$lang['fields_of_table']="Felder der Tabelle"; + + +?> \ No newline at end of file diff --git a/language/de_du/help.php b/language/de_du/help.php new file mode 100644 index 0000000..ec96ea2 --- /dev/null +++ b/language/de_du/help.php @@ -0,0 +1,124 @@ +
+

Ãœber dieses Projekt

+Die Idee für dieses Projekt kam von Daniel Schlichtholz.

Er eröffnete 2004 das Forum MySQLDumper, und schon bald fanden sich Hobby-Programmierer, die neue Skripte schrieben und die von Daniel erweiterten.
Innerhalb kürzester Zeit entstand aus dem kleinen Backupskript ein stattliches Projekt.

Wenn Du Vorschläge zur Verbesserung hast, dann wende Dich an das MySQLDumper-Forum http://forum.mysqldumper.de.

Wir wünschen Dir viel Vergnügen mit diesem Projekt.

Das MySQLDumper-Team

+ +
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript mit Unterstützung von Detlev Richter
+
+
+ +

MySQLDumper Hilfe

+ +

Download

+Dieses Script erhaltet Ihr auf der Homepage von MySQLDumper.
+Es empfiehlt sich, die Homepage regelmäßig zu besuchen, um Updates und +Hilfestellungen zu erlangen.
+Die Adresse lautet: +http://www.mysqldumper.de + +

Systemvoraussetzung

+Das Script arbeitet auf jedem Server (Windows, Linux, ...)
+mit PHP >= Version 4.3.4 mit GZip-Unterstützung, MySQL (ab Version 3.23), JavaScript (muss aktiviert sein). + +

Installation

+Die Installation geht einfach von statten. +Entpackt das Archiv in einen beliebigen Ordner.
+Ladet alle Dateien auf Euren Webserver hoch. (z. B. in die unterste Ebene in [Server Webverzeichnis/]MySQLDumper)
+... fertig!
+Ihr könnt MySQLDumper nun im Webbrowser durch "http://mein-webserver/MySQLDumper" aufrufen,
+um die Installation abzuschließen. Folgt einfach den Instruktionen.
+
Hinweis:
Falls auf Eurem Server der PHP-Safemode eingeschaltet ist, darf das Script keine +Verzeichnisse erstellen.
+Dies müsst Ihr dann von Hand nachholen, da MySqlDump die Daten geordnet in +Verzeichnissen ablegt.
+Das Script bricht mit einer entsprechenden Anweisung ab!
+Nachdem Ihr die Verzeichnisse (dem Hinweis entsprechend) erstellt habt, läuft es normal und ohne Einschränkungen.
+ +

Perlskript Anleitung

+Die Meisten haben ein cgi-bin Verzeichnis, in dem Perl ausgeführt werden kann.
+Dies ist meist per Browser über http://www.domain.de/cgi-bin/ erreichbar.
+
+Für diesen Fall bitte folgende Schritte durchführen:

+ +1. Rufe im MySQLDumper die Seite Backup auf und klicke auf "Backup Perl".
+2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
+3. Öffne die Datei "crondump.pl" im Editor.
+4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
+5. Speichere crondump.pl .
+6. Kopiere crondump.pl, sowie perltest.pl und simpletest.pl ins cgi-bin-Verzeichnis (Ascii-Modus im FTP).
+7. Gebe den Dateien die Rechte 755.
+7b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
+8. Rufe die Konfiguration im MySQLDumper auf.
+9. Wähle die Seite Cronscript.
+10. Ändere Perl Ausführungspfad in /cgi-bin/ .
+10b. Wenn die Scripte .pl haben, ändere die Dateiendung auf .cgi .
+11. Speichere die Konfiguration.

+ +Fertig, die Skripte lassen sich nun von der Backupseite aufrufen.

+ +Wer Perl in allen Verzeichnissen ausführen kann, dem reichen folgende Schritte:

+ +1. Rufe im MySQLDumper die Seite Backup auf.
+2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
+3. Öffne die Datei "crondump.pl" im Editor.
+4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
+5. Speichere crondump.pl .
+6. gebe den Datein die Rechte 755.
+6b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
+(ev. 10b+11 von oben)
+
+ +Windowsuser müssen bei allen Scripten die erste Zeile ändern, dort steht der Pfad von Perl. Beispiel:
+statt: #!/usr/bin/perl -w
+jetzt: #!C:\perl\bin\perl.exe -w
+ +

Bedienung

    + +
    Menü
    +In der obigen Auswahlliste stellt Ihr die Datenbank ein.
    +Alle Aktionen beziehen sich auf die hier eingestellte Datenbank. + +
    Startseite
    +Hier erfahrt Ihr Einiges über Euer System, die verschiedenen, installierten +Versionen und Details über die konfigurierten Datenbanken.
    +Wenn Ihr auf den Datenbanknamen klickt, so seht Ihr eine Auflistung der Tabellen +mit der Anzahl der Einträge, der Größe und das letzte Aktualisierungsdatum. + +
    Konfiguration
    +Hier könnt Ihr eure Konfiguration bearbeiten, abspeichern oder die Ausgangskonfiguration +wieder herstellen. +

      +
    • Konfigurierte Datenbanken: die Auflistung der konfigurierten Datenbanken. Die aktive Datenbank wird in bold gelistet.
    • +
    • Tabellen-Präfix: hier könnt Ihr (für jede Datenbank) einen Präfix angeben. Dies ist ein Filter, der bei Dumps nur die Tabellen berücksichtigt, die mit diesem Präfix beginnen (z.B. alle Tabellen, die mit "phpBB_" beginnen). Wenn alle Tabellen dieser Datenbank gespeichert werden sollen, +so lasst das Feld einfach leer.
    • +
    • GZip-Kompression: Hier kann die Kompression aktiviert werden. Empfehlenswert ist die Aktivierung, da die Dateien doch wesentlich kleiner werden und Speicherplatz immer rar ist.
    • +
    • Email mit Dumpfile: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup eine Email mit dem Dump als Anhang verschickt (Vorsicht, Kompression sollte unbedingt an sein, sonst wird der Anhang zu gross und kann evtl. nicht versandt werden!).
    • +
    • Email-Adresse: Empfängeradresse für die Email.
    • +
    • Absender der Email: diese Adresse taucht als Absender in der Email auf.
    • +
    • FTP-Transfer: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup die Backupdatei per FTP versandt.
    • +
    • FTP Server: Die Adresse des FTP-Servers (z. B. ftp.mybackups.de).
    • +
    • FTP Server Port: Der Port des FTP-Servers (in der Regel 21).
    • +
    • FTP User: Der Benutzername des FTP-Accounts.
    • +
    • FTP Passwort: Das Passwort des FTP-Accounts.
    • +
    • FTP Upload-Ordner: Das Verzeichnis, in das die Backupdatei soll (es müssen Upload-Berechtigungen bestehen!).
    • +
    • Automatisches Löschen der Backups: Wenn diese Option aktiviert ist, werden ältere Backups nach den folgenden Regeln automatisch gelöscht.
    • +
    • Anzahl von Backupdateien: Ein Wert > 0 löscht alle Backupdateien, bis auf die hier angegebe Zahl.
    • +
    • Sprache: hier legst du die Sprache für das Interface fest.
    • +
    + +
    Verwaltung
    +Hier werden die eigenlichen Aktionen durchgeführt.
    +Es werden Dir alle Dateien im Backup-Verzeichnis angezeigt. +Für die Aktionen "Restore" und "Delete" muss eine Datei selektiert sein. +
      +
    • Restore: Hiermit wird die Datenbank mit der ausgewählten Backupdatei aktualisiert.
    • +
    • Delete: Hiermit kannst Du die selektierte Backupdatei löschen.
    • +
    • Neues Backup starten: Hier startest Du ein neues Backup (Dump) nach den in der Konfiguration eingestellten Parametern.
    • +
    + +
    Log
    +Hier kannst Du die Logeinträge sehen und löschen. +
    Credits / Hilfe
    +diese Seite. +
\ No newline at end of file diff --git a/language/de_du/lang.php b/language/de_du/lang.php new file mode 100644 index 0000000..c764135 --- /dev/null +++ b/language/de_du/lang.php @@ -0,0 +1,104 @@ +nicht verfügbar"; +$lang['vom']="vom"; +$lang['mysqlvars']="MySQL-Variabeln"; +$lang['mysqlsys']="MySQL-Befehle"; +$lang['Status']="Status"; +$lang['Prozesse']="Prozesse"; +$lang['info_novars']="keine Variablen verfügbar"; +$lang['Inhalt']="Inhalt"; +$lang['info_nostatus']="kein Status verfügbar"; +$lang['info_noprocesses']="keine laufenden Prozesse"; +$lang['fm_freespace']="Freier Speicher auf Server"; +$lang['load_database']="Datenbanken neu laden"; +$lang['home']="Home"; +$lang['config']="Konfiguration"; +$lang['dump']="Backup"; +$lang['restore']="Wiederherstellung"; +$lang['file_manage']="Verwaltung"; +$lang['log']="Log"; +$lang['choose_db']="Datenbank wählen"; +$lang['credits']="Credits / Hilfe"; +$lang['multi_part']="Multipart-Backup"; +$lang['logfilenotwritable']="Log-File kann nicht geschrieben werden!"; +$lang['sql_error1']="Fehler bei der Anfrage:"; +$lang['sql_error2']="MySQL meldet:"; +$lang['unknown']="unbekannt"; +$lang['unknown_number_of_records']="unbekannt"; +$lang['ok']="OK"; +$lang['cron_completelog']="Komplette Ausgabe loggen"; +$lang['no']="nein"; +$lang['create_database']="neue Datenbank anlegen"; +$lang['exportfinished']="Export beendet."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standardkodierung des MySQL-Servers"; +$lang['title_show_data']="Daten anzeigen"; +$lang['primaryKey_confirmDelete']="Primärschlüssel wirklich löschen?"; +$lang['setPrimaryKeysFor']="Setzen neuer Primärschlüssel für die Tabelle"; +$lang['primaryKey_field']="Schlüsselfeld"; +$lang['primaryKeys_save']="Primärschlüssel speichern"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_config_overview.php b/language/de_du/lang_config_overview.php new file mode 100644 index 0000000..8001e68 --- /dev/null +++ b/language/de_du/lang_config_overview.php @@ -0,0 +1,112 @@ +%s
in %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Empfänger"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Soll die Konfigurationsdatei %s wirklich gelöscht werden?"; +$lang['error_deleting_configfile']="Fehler: die Konfigurationsdatei %s konnte nicht gelöscht werden!"; +$lang['success_deleting_configfile']="Die Konfigurationsdatei %s wurde erfolgreich gelöscht."; +$lang['success_configfile_created']="Die Konfigurationsdatei %s wurde erfolgreich angelegt."; +$lang['error_configfile_name']="Der Dateiname \"%s\" enthält ungültige Zeichen."; +$lang['create_configfile']="Eine neue Konfigurationsdatei anlegen"; +$lang['error_loading_configfile']="Die Konfigurationsdatei \"%s\" konnte nicht geladen werden."; +$lang['backup_dbs_php']="zu sichernde DBs (PHP)"; +$lang['backup_dbs_perl']="zu sichernde DBs (PERL)"; +$lang['cron_comment']="Kommentar eingeben"; +$lang['autodetect']="automatisch ermitteln"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_dump.php b/language/de_du/lang_dump.php new file mode 100644 index 0000000..f90124d --- /dev/null +++ b/language/de_du/lang_dump.php @@ -0,0 +1,57 @@ +%s` gefunden werden."; +$lang['dump_endergebnis']="Es wurden %s Tabellen mit insgesamt %s Datensätzen gesichert.
"; +$lang['mailerror']="Leider ist beim Verschicken der E-Mail ein Fehler aufgetreten!"; +$lang['emailbody_attach']="In der Anlage findest du die Sicherung deiner MySQL-Datenbank.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s

Viele Grüße

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Es wurde eine Multipart-Sicherung erstellt.
Die Sicherungen werden nicht als Anhang mitgeliefert!
Sicherung der Datenbank `%s` +

Folgende Dateien wurden erzeugt:

%s


Viele Grüße

MySQLDumper
"; +$lang['emailbody_mp_attach']="Es wurde eine Multipart-Sicherung erstellt.
Die Sicherungen werden in separaten E-Mails als Anhang geliefert!
Sicherung der Datenbank `%s` +

Folgende Dateien wurden erzeugt:

%s


Viele Grüße

MySQLDumper
"; +$lang['emailbody_footer']="


Viele Grüße

MySQLDumper
"; +$lang['emailbody_toobig']="Die Sicherung überschreitet die Maximalgröße von %s und wurde daher nicht angehängt.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s +

Viele Grüße

MySQLDumper
"; +$lang['emailbody_noattach']="Das Backup wurde nicht angehängt.
Sicherung der Datenbank `%s` +

Folgende Datei wurde erzeugt:

%s +

Viele Grüße

MySQLDumper
"; +$lang['email_only_attachment']=" ... nur der Anhang"; +$lang['tableselection']="Tabellenauswahl"; +$lang['selectall']="alle auswählen"; +$lang['deselectall']="Auswahl aufheben"; +$lang['startdump']="Backup starten"; +$lang['lastbufrom']="letztes Update vom"; +$lang['not_supported']="Dieses Backup unterstützt diese Funktion nicht."; +$lang['multidump']="Multidump: Es wurden %d Datenbanken gesichert."; +$lang['filesendftp']="versende File via FTP... bitte habe etwas Geduld. "; +$lang['ftpconnerror']="FTP-Verbindung nicht hergestellt! Verbindung mit "; +$lang['ftpconnerror1']=" als Benutzer "; +$lang['ftpconnerror2']=" nicht möglich"; +$lang['ftpconnerror3']="FTP-Upload war fehlerhaft! "; +$lang['ftpconnected1']="Verbunden mit "; +$lang['ftpconnected2']=" auf "; +$lang['ftpconnected3']=" geschrieben"; +$lang['nr_tables_selected']="- mit %s gewählten Tabellen"; +$lang['nr_tables_optimized']="%s Tabellen wurden optimiert."; +$lang['dump_errors']="

%s Fehler aufgetreten: anzeigen

"; +$lang['fatal_error_dump']="Schwerwiegender Fehler: die CREATE-Anweisung der Tabelle '%s' in der Datenbank '%s' konnte nicht gelesen werden!
+Überprüfe die Tabelle auf Fehler."; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_filemanagement.php b/language/de_du/lang_filemanagement.php new file mode 100644 index 0000000..7c5c2ea --- /dev/null +++ b/language/de_du/lang_filemanagement.php @@ -0,0 +1,82 @@ +%s\""; +$lang['delete_file_error']="Die Datei \"%s\" konnte nicht gelöscht werden!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Perl-Cronscript ausführen"; +$lang['DoPerlTest']="Perl-Module testen"; +$lang['DoSimpleTest']="Perl testen"; +$lang['perloutput1']="Eintrag in crondump.pl für absolute_path_of_configdir"; +$lang['perloutput2']="Aufruf im Browser oder für externen Cronjob"; +$lang['perloutput3']="Aufruf in der Shell oder für die Crontab"; +$lang['restore_of_tables']="Wiederherstellen bestimmter Tabellen"; +$lang['converter']="Backup-Konverter"; +$lang['convert_file']="zu konvertierende Datei"; +$lang['convert_filename']="Name der Zieldatei (ohne Endung)"; +$lang['converting']="Konvertierung"; +$lang['convert_fileread']="Datei '%s' wird eingelesen"; +$lang['convert_finished']="Konvertierung abgeschlossen, '%s' wurde erzeugt."; +$lang['no_msd_backupfile']="Dateien anderer Programme"; +$lang['max_upload_size']="Maximale Dateigröße"; +$lang['max_upload_size_info']="Wenn Deine Backup-Datei größer als das angegebene Limit ist, dann musst Du Sie per FTP in den \"work/backup\"-Ordner hochladen. +Danach wird diese Datei hier in der Verwaltung angezeigt und lässt sich für eine Wiederherstellung auswählen."; +$lang['encoding']="Kodierung"; +$lang['fm_choose_encoding']="Kodierung der Backupdatei wählen"; +$lang['choose_charset']="Leider konnte nicht automatisch ermittelt werden mit welchem Zeichensatz diese Backupdatei seinerzeit angelegt wurde. +
Du musst die Kodierung, in der Zeichenketten in dieser Datei vorliegen, manuell angeben. +
Danach stellt MySQLDumper die Verbindungskennung zum MySQL-Server auf den ausgewählten Zeichensatz und beginnt mit der Wiederherstellung der Daten. +
Solltest Du nach der Wiederherstellung Probleme mit Sonderzeichen entdecken, so kannst Du versuchen, das Backup mit einer anderen Zeichensatzauswahl wiederherzustellen. +
Viel Glück. ;)"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_help.php b/language/de_du/lang_help.php new file mode 100644 index 0000000..6652ccb --- /dev/null +++ b/language/de_du/lang_help.php @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/language/de_du/lang_install.php b/language/de_du/lang_install.php new file mode 100644 index 0000000..a5d7cb9 --- /dev/null +++ b/language/de_du/lang_install.php @@ -0,0 +1,90 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
"; +$lang['install_tomenu']="zum Hauptmenü"; +$lang['installmenu']="Hauptmenü"; +$lang['step']="Schritt"; +$lang['install']="Installation"; +$lang['uninstall']="Deinstallation"; +$lang['tools']="Tools"; +$lang['editconf']="Konfiguration bearbeiten"; +$lang['osweiter']="ohne Speichern weiter"; +$lang['errorman']="Fehler beim Schreiben der Konfiguration!
Bitte editiere die Datei "; +$lang['manuell']="manuell"; +$lang['createdirs']="erstelle Verzeichnisse"; +$lang['install_continue']="mit der Installation fortfahren"; +$lang['connecttomysql']=" zu MySQL verbinden "; +$lang['dbparameter']="Datenbank-Parameter"; +$lang['confignotwritable']="Die Datei \"config.php\" ist nicht beschreibbar. +Gib ihr mit einem FTP-Programm entsprechende Rechte, z. B. den CHMod-Wert 0777."; +$lang['dbconnection']="Datenbank-Verbindung"; +$lang['connectionerror']="Fehler: Es konnte keine Verbindung herstellt werden."; +$lang['connection_ok']="Datenbank-Verbindung wurde hergestellt."; +$lang['saveandcontinue']="speichern und Installation fortsetzen"; +$lang['confbasic']="Grundeinstellungen"; +$lang['install_step2finished']="Die Einstellungen wurden erfolgreich gesichert."; +$lang['install_step2_1']="Installation mit Standardkonfiguration fortsetzen"; +$lang['laststep']="Abschluss der Installation"; +$lang['ftpmode']="Verzeichnisse per FTP erzeugen (safe_mode)"; +$lang['idomanual']="Ich erstelle die Verzeichnisse manuell"; +$lang['dofrom']="ausgehend von"; +$lang['ftpmode2']="Erstelle die Verzeichnisse per FTP:"; +$lang['connect']="verbinden"; +$lang['dirs_created']="Die Verzeichnisse wurden ordnungsgemäß erstellt."; +$lang['connect_to']="verbinde zu"; +$lang['changedir']="Wechsel ins Verzeichnis"; +$lang['changedirerror']="Wechsel ins Verzeichnis nicht möglich"; +$lang['ftp_ok']="FTP-Parameter sind ok"; +$lang['createdirs2']="Verzeichnisse erstellen"; +$lang['ftp_notconnected']="FTP-Verbindung nicht hergestellt!"; +$lang['connwith']="Verbindung mit"; +$lang['asuser']="als Benutzer"; +$lang['notpossible']="nicht möglich"; +$lang['dircr1']="erstelle Arbeitsverzeichnis"; +$lang['dircr2']="erstelle Backup-Verzeichnis"; +$lang['dircr4']="erstelle Log-Verzeichnis"; +$lang['dircr5']="erstelle Konfigurationsverzeichnis"; +$lang['indir']="bin im Verzeichnis"; +$lang['check']="überprüfen"; +$lang['disabledfunctions']="Abgeschaltete Funktionen"; +$lang['noftppossible']="Es stehen keine FTP-Funktionen zur Verfügung!"; +$lang['nogzpossible']="Es stehen keine Kompressions-Funktionen zur Verfügung!"; +$lang['ui1']="Es werden alle Arbeitsverzeichnisse incl. den darin enthaltenen Backups gelöscht."; +$lang['ui2']="Bist du sicher, dass du das möchtest?"; +$lang['ui3']="Nein, sofort abbrechen"; +$lang['ui4']="ja, bitte fortfahren"; +$lang['ui5']="lösche Arbeitsverzeichnis"; +$lang['ui6']="alles wurde erfolgreich gelöscht."; +$lang['ui7']="Bitte lösche das Skriptverzeichnis"; +$lang['ui8']="eine Ebene nach oben"; +$lang['ui9']="Ein Fehler trat auf, löschen war nicht möglich

Fehler bei Verzeichnis "; +$lang['import']="Konfiguration importieren"; +$lang['import1']="Einstellungen aus "; +$lang['import2']="Einstellungen hochladen und importieren"; +$lang['import3']="Die Konfiguration wurde geladen..."; +$lang['import4']="Die Konfiguration wurde gesichert."; +$lang['import5']="MySQLDumper starten"; +$lang['import6']="Installations-Menü"; +$lang['import7']="Konfiguration hochladen"; +$lang['import8']="zurück zum Upload"; +$lang['import9']="Dies ist keine Konfigurationssicherung!"; +$lang['import10']="Die Konfiguration wurde erfolgreich hochgeladen..."; +$lang['import11']="Fehler: Es gab Probleme beim Schreiben der sql_statements."; +$lang['import12']="Fehler: Es gab Probleme beim Schreiben der config.php."; +$lang['install_help_port']="(leer = Standardport)"; +$lang['install_help_socket']="(leer = Standardsocket)"; +$lang['tryagain']="noch einmal versuchen"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="gefundene DB: "; +$lang['fm_fileupload']="Datei hochladen"; +$lang['pass']="Passwort"; +$lang['no_db_found_info']="Die Verbindung zur Datenbank konnte erfolgreich hergestellt werden.
+Deine Zugangsdaten sind gültig und wurden vom MySQL-Server akzeptiert.
+Leider konnte MySQLDumper keine Datenbank finden.
+Die automatische Erkennung per Programm ist bei manchen Hostern gesperrt.
+Du musst Deine Datenbank nach dem Abschluß der Installation unter dem Menüpunkt \"Konfiguration\" \"Verbindungsparameter einblenden\" angeben.
+Bitte begebe Dich nach Abschluß der Installation umgehend dort hin und trage den Namen Deiner Datenbank dort ein."; +$lang['safemodedesc']="Da PHP auf diesem Server mit der Option \"safe_mode=on\" ausgeführt wird, müssen folgende Verzeichnisse von Hand angelegt werden (dies kannst Du mit Deinem FTP-Programm erledigen):"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_log.php b/language/de_du/lang_log.php new file mode 100644 index 0000000..399c157 --- /dev/null +++ b/language/de_du/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/de_du/lang_main.php b/language/de_du/lang_main.php new file mode 100644 index 0000000..7412d87 --- /dev/null +++ b/language/de_du/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="Die Passwörter sind nicht identisch oder leer!
"; +$lang['htaccess11']="Soll der Verzeichnisschutz jetzt erstellt werden?"; +$lang['htaccess12']="Der Verzeichnisschutz wurde erstellt."; +$lang['htaccess13']="Inhalt der Datei"; +$lang['htaccess14']="Es ist ein Fehler bei der Erstellung des Verzeichnisschutzes aufgetreten!
Bitte erzeuge die Dateien manuell mit folgendem Inhalt:"; +$lang['htaccess15']="Dringend empfohlen!"; +$lang['htaccess16']=".htaccess editieren"; +$lang['htaccess18']=".htaccess erstellen in "; +$lang['htaccess19']=" neu laden "; +$lang['htaccess20']="Skript ausführen"; +$lang['htaccess21']="Handler zufügen"; +$lang['htaccess22']="Ausführbar machen"; +$lang['htaccess23']="Verzeichnis-Listing"; +$lang['htaccess24']="Error-Dokument"; +$lang['htaccess25']="Rewrite aktivieren"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error-Log"; +$lang['htaccess29']="weitere Beispiele und Dokumentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="allgemein"; +$lang['htaccess32']="Achtung! Die .htaccess hat eine direkte Auswirkung auf den Browser.
Bei falscher Anwendung sind die Seiten nicht mehr erreichbar."; +$lang['phpbug']="Bug in zlib! Keine Kompression möglich"; +$lang['disabledfunctions']="Abgeschaltete Funktionen"; +$lang['nogzpossible']="Da zlib nicht installiert ist, stehen keine GZip-Funktionen zur Verfügung."; +$lang['delete_htaccess']="Verzeichnisschutz entfernen (.htaccess löschen)"; +$lang['wrong_rights']="Die Datei oder das Verzeichnis '%s' ist für mich nicht beschreibbar.
+Entweder hat sie/es den falschen Besitzer (Owner) oder die falschen Rechte (Chmod).
+Bitte setze die richtigen Attribute mit Deinem FTP-Programm.
+Die Datei oder das Verzeichnis benötigt die Rechte %s.
"; +$lang['cant_create_dir']="Ich konntes das Verzeichnis '%s' nicht erstellen. +Bitte erstelle es mit Deinem FTP-Programm."; +$lang['table_type']="Typ"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_restore.php b/language/de_du/lang_restore.php new file mode 100644 index 0000000..c3b26c8 --- /dev/null +++ b/language/de_du/lang_restore.php @@ -0,0 +1,21 @@ +%d Tabellen angelegt."; +$lang['file_missing']="konnte Datei nicht finden"; +$lang['restore_db']="Datenbank '%s' auf Server '%s'."; +$lang['restore_complete']="%s Tabellen wurden angelegt."; +$lang['restore_run1']="
Es wurden bisher %s von %s Datensätzen erfolgreich eingetragen."; +$lang['restore_run2']="
Momentan werden Daten der Tabelle '%s' analysiert.

"; +$lang['restore_complete2']="%s Datensätze wurden eingetragen."; +$lang['restore_tables_completed']="Es wurden bisher %d von %d Tabellen angelegt."; +$lang['restore_total_complete']="
Herzlichen Glückwunsch.

Die Datenbank wurde komplett wiederhergestellt.
Alle Daten aus der Backup-Datei wurden erfolgreich in die Datenbank eingetragen.

Alles fertig. :-)"; +$lang['db_select_error']="
Fehler:
Auswahl der Datenbank '"; +$lang['db_select_error2']="' fehlgeschlagen!"; +$lang['file_open_error']="Fehler: Die Datei konnte nicht geöffnet werden."; +$lang['progress_over_all']="Fortschritt gesamt"; +$lang['back_to_overview']="Datenbank-Übersicht"; +$lang['restore_run0']="
Es wurden bisher %s Datensätze erfolgreich eingetragen."; +$lang['unknown_sqlcommand']="Unbekannter SQL-Befehl:"; +$lang['notices']="Hinweise"; + + +?> \ No newline at end of file diff --git a/language/de_du/lang_sql.php b/language/de_du/lang_sql.php new file mode 100644 index 0000000..17c51da --- /dev/null +++ b/language/de_du/lang_sql.php @@ -0,0 +1,180 @@ +%s Zeilen exportiert"; +$lang['csv_fieldcount_nomatch']="Die Anzahl der Tabellenfelder stimmen nicht mit den zu importierenden Daten überein (%d statt %d)."; +$lang['csv_fieldslines']="%d Felder ermittelt, insgesamt %d Zeilen"; +$lang['csv_errorcreatetable']="Fehler beim Erstellen der Tabelle `%s`!"; +$lang['fm_uploadfilerequest']="Bitte gib eine Datei an."; +$lang['csv_nodata']="Keine Daten zum Importieren gefunden!"; +$lang['sqllib_generalfunctions']="allgemeine Funktionen"; +$lang['sqllib_resetauto']="Auto-Wert zurücksetzen"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="Board deaktivieren"; +$lang['sqllib_activateboard']="Board aktivieren"; +$lang['sql_notablesselected']="Es sind keine Tabellen ausgewählt!"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Datenbank auswählen / Datenbankfunktionen / Im- und Export "; +$lang['sql_openfile']="SQL-Datei öffnen"; +$lang['sql_openfile_button']="Hochaden"; +$lang['max_upload_size']="Maximale Dateigröße"; +$lang['sql_search']="Suche"; +$lang['sql_searchwords']="Suchbegriff(e)"; +$lang['start_sql_search']="Suche starten"; +$lang['reset_searchwords']="Eingabe zurücksetzen"; +$lang['search_options']="Suchoptionen"; +$lang['search_results']="Die Suche nach \"%s\" in der Tabelle \"%s\" lieferte folgende Treffer"; +$lang['search_no_results']="Die Suche nach \"%s\" in der Tabelle \"%s\" liefert keine Ergebnisse!"; +$lang['no_entries']="Die Tabelle \"%s\" ist leer und hat keine Einträge."; +$lang['search_access_keys']="Blättern: vor=ALT+V, zurück=ALT+C"; +$lang['search_options_or']="eine Spalte muss mindestens einen Suchbegriff enthalten (ODER-Suche)"; +$lang['search_options_concat']="ein Datensatz muss alle Suchbegriffe enthalten, diese können aber in beliebigen Spalten sein (Rechenintensiv!)"; +$lang['search_options_and']="eine Spalte muss alle Suchbegriffe enthalten (UND-Suche)"; +$lang['search_in_table']="Suche in Tabelle"; +$lang['sql_edit_tablestructure']="Tabellenstruktur bearbeiten"; +$lang['default_charset']="Standardzeichensatz"; +$lang['title_key_primary']="Primärschlüssel"; +$lang['title_key_unique']="Eindeutiger Schlüssel"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Volltextschlüssel"; +$lang['title_nokey']="Kein Schlüssel"; +$lang['title_search']="Suche"; +$lang['title_mysql_help']="MySQL Dokumentation"; +$lang['title_upload']="SQL-Datei hochladen"; +$lang['primaryKey_deleted']="Primärschlüssel gelöscht"; +$lang['primaryKey_notFound']="Primärschlüssel nicht gefunden"; +$lang['primaryKeys_changed']="Primärschlüssel geändert"; +$lang['primaryKeys_changingError']="Fehler beim Ändern der Primärschlüssel"; +$lang['sql_view_compact']="Ansicht: kompakt"; +$lang['sql_view_standard']="Ansicht: normal"; +$lang['fields_of_table']="Felder der Tabelle"; + + +?> \ No newline at end of file diff --git a/language/el/help.php b/language/el/help.php new file mode 100644 index 0000000..0ccb39d --- /dev/null +++ b/language/el/help.php @@ -0,0 +1,129 @@ +
+

Σχετικά με το εÏγαλείο

+Η ιδέα για το εÏγαλείο αυτό είναι του Daniel Schlichtholz.

Το 2004 δημιοÏÏγησε ένα φόÏουμ με όνομα MySQLDumper και σÏντομα, Ï€ÏογÏαμματιστές που ασχολοÏνται με νέα σκÏιπτ, ενίσχυσαν τα σκÏιπτ του Daniel.
Μέσα σε λίγο καιÏÏŒ το μικÏÏŒ του Ï€ÏογÏαμματάκι μετατÏάπηκε σε ένα σταθεÏότατο εÏγαλείο.

Εαν έχετε ιδέες για βελτίωση επισκευθείτε το φόÏουμ του MySQLDumper: http://www.mysqldumper.de.

Σας ευχόμαστε ατελείωτα αντίγÏαφα ασφαλείας με αυτό το εÏγαλείο.

Η ομάδα του MySQLDumper

+
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript με την υποστήÏιξη του Detlev Richter
+
+ +

Βοήθεια MySQLDumper

+ +

ΜεταφόÏτωση

+Το Script είναι διαθέσιμο στην ιστοσελίδα του MySQLDumper.
+ΠÏοτείνουμε να επισκεφτεστε συχνά την Ιστοσελίδα για τις τελευταίες πληÏοφοÏίες, αναβαθμίσεις και βοήθεια.
+Η διεÏθυνση είναι +http://forum.mysqldumper.de + + +

Ελάχιστες απαιτήσεις

+Το Script λειτουÏγεί σχεδόν σε κάθε σÏστημα διακομιστή (Windows, Linux, ...)
+με PHP >= Version 4.3.4 και GZip-Library, MySQL (>= 3.23), JavaScript (Ï€Ïέπει να είναι ενεÏγό). + +

Εγκατάσταση

+Η εγκατάσταση είναι Ï€Î¿Î»Ï Î±Ï€Î»Î®. +Αποσυμπιέστε το αÏχείο σε οποιονδήποτε φάκελο, +που είναι διαθέσιμος από το Webserver
+(Ï€.χ. στο Ïιζικό κατάλογο [Server rootdir/]MySQLDumper)
+αλλάξτε το config.php σε chmod 777
+... έγινε!
+Ï„ÏŽÏα ξεκινήστε το MySQLDumper στον πλοηγό σας πληκτÏολογώντας "http://istoselida/MySQLDumper" +για να ολοκληÏωθεί η εγκατάσταση, και απλά ακολουθήστε τις οδηγίες. + +
Σημείωση:
Εαν ο webserver σας Ï„Ïέχει με την επιλογή safemode=ON το MySqlDump δεν Ï€Ïέπει να δημιουÏγεί καταλόγους.
+ΠÏέπει να τους κάνετε μόνοι σας.
+Το MySqlDump σταματάει σε αυτό το σημείο και σας λέει τι να κάνετε.
+Î‘Ï†Î¿Ï Î´Î·Î¼Î¹Î¿Ï…Ïγήσετε τους καταλόγους το MySqlDump θα λειτουÏγήσει κανονικά.


+ +

Οδηγός για το Perl script

+ +Οι πεÏισσότεÏοι έχουν ένα κατάλογο cgi-bin, μέσα στον οποίο μποÏεί το Perl να εκτελεστεί.
+Συνήθως βÏίσκεται στο http://www.domain.de/cgi-bin/ .

+ +Κάντε τα παÏακάτω βήματα για αυτή την πεÏίπτωση.

+ +1. Πατήστε στο MySQLDumper τον πλήκτÏο ΑντίγÏαφα Ασφαλείας και κατόπιν πιέστε το "ΑντίγÏαφα Ασφαλείας Perl"
+2. ΑντιγÏάψτε τη διαδÏομή που θα βÏείτε κάτω από το "Εισαγωγή στο crondump.pl για absolute_path_of_configdir":
+3. Ανοίξτε το αÏχείο "crondump.pl" σε έναν επεξεÏγαστή κειμένου
+4. Επικολλήστε την αντεγÏαμένη διαδÏομή στο σημείο με το absolute_path_of_configdir (χωÏίς κενά)
+5. ΑποθηκεÏστε το crondump.pl
+6. ΑντιγÏάψτε το crondump.pl, το perltest.pl και το simpletest.pl στο κατάλογο cgi-bin (ASCII mode στο ftp-client!)
+7. Δώστε chmod 755 στα scripts.
+7b. Εάν επιθυμείτε κατάληξη cgi, αλλάξτε τις καταλήξεις και από τα 3 αÏχεία pl - > cgi (μετονομασία)
+8. Πηγαίνετε στο MySQLDumper στη σελίδα "Ρυθμίσεις"
+9. Κάντε κλικ στο "Cronscript"
+10. Αλλάξτε τη διαδÏομή εκτέλεσης του Perl σε /cgi-bin/
+10b. Εάν τα Scripts έχεουν μετονομαστεί σε *.cgi , αλλάξτε την κατάληξη αÏχείου σε cgi
+11 ΑποθηκεÏστε τις Ρυθμίσεις

+ +Ετοιμοι ! Τα scripts είναι διαθέσιμα από τη σελίδα "ΑντίγÏαφα Ασφαλείας"

+ +Οταν μποÏείτε να εκτελέσετε Perl, χÏειάζονται μόνο τα παÏακάτω βήματα:

+ +1. Πηγαίνετε στο MySQLDumper στη σελίδα "ΑντίγÏαφα Ασφαλείας".
+2. ΑντιγÏάψτε τη διαδÏομή που θα βÏείτε κάτω από το "Εισαγωγή στο crondump.pl για absolute_path_of_configdir":
+3. Ανοίξτε το αÏχείο "crondump.pl" σε έναν επεξεÏγαστή κειμένου
+4. Επικολλήστε την αντεγÏαμένη διαδÏομή στο σημείο με το absolute_path_of_configdir (χωÏίς κενά)
+5. ΑποθηκεÏστε το crondump.pl
+ +6. Δώστε chmod 755 στα scripts.
+6b. Εάν επιθυμείτε κατάληξη cgi, αλλάξτε τις καταλήξεις και από τα 3 αÏχεία pl - > cgi (μετονομασία)
+ (Ï€ÏοχωÏήστε στα βήματα 10b+11 παÏαπάνω)

+ + +Οι χÏήστες Windows Ï€Ïέπει να αλλάξουν την Ï€Ïώτη γÏαμμή σε όλα τα Perlscripts, στη διαδÏομή του Perl.

+ +ΠαÏάδειγμα:
+ +αντί για : #!/usr/bin/perl w
+Ï„ÏŽÏα #!C:\perl\bin\perl.exe w

+ +

ΛειτουÏγία

    + +
    ΜενοÏ
    +Εδω επιλέγετε τη Î’.Δεδομένων σας από το Î¼ÎµÎ½Î¿Ï Ï€Î¿Î»Î»Î±Ï€Î»ÏŽÎ½ επιλογών "Επιλογή Î’.Δεδομένων".
    +Ολες οι παÏαπάνω επιλογές αναφέÏονται στην επιλεγμένη Î’.Δεδομένων. + +
    ΑÏχική
    +Εδώ βλέπετε πληÏοφοÏίες για το σÏστημα σας, τις εκδόσεις και λεπτομέÏειες σχετικά με τις Î’.Δεδομένων σας.
    +Εαν κάνετε κλικ σε μία Î’.Δεδομένων στον πίνακα, θα πάÏετε μία λίστα με εγγÏαφές με αÏιθμήσεις εγγÏαφών, μέγεθος και τελευταία επεξεÏγασία. + +
    Ρυθμίσεις
    +Εδώ επεξεÏγάζεστε τις Ïυθμίσεις σας, τις αποθηκεÏετε ή φοÏτώνετε τις Ï€Ïοεπιλεγμένες. + + +
    ΔιαχείÏιση ΑÏχείων
    +Ολες οι ενέÏγειες βÏίσκονται εδώ.
    +Εδώ θα δείτε όλα τα αÏχεία αντιγÏάφων ασφαλείας που βÏίσκονται στον κατάλογο backup. +Για την "ΕπαναφοÏά" και "ΔιαγÏαφή" Ï€Ïέπει να επιλέξετε Ï€Ïώτα ένα αÏχείο. +
      +
    • ΕπαναφοÏά: επαναφέÏετε τη Î’.Δεδομένων σας με εγγÏαφές απο το επιλεγμένο αντίγÏαφο ασφαλείας.
    • +
    • ΔιαγÏαφή: διαγÏάφετε το επιλεγμένο αντίγÏαφο ασφαλείας.
    • +
    • Îέο αντίγÏαφο ασφαλείας: εδώ μποÏείτε να ξεκινήσετε ένα νέο αντίγÏαφο ασφαλείας (dump) με τις πεÏαμέτÏους που έχετε οÏίσει.
    • +
    + +
    ΚαταγÏαφές
    +Εδώ βλέπετε όλες τις εγγÏαφές στο αÏχείο καταγÏαφών και μποÏείτε να τις διαγÏάψετε. + +
    Επαινοι / Βοήθεια
    +Αυτή η σελίδα. +
\ No newline at end of file diff --git a/language/el/lang.php b/language/el/lang.php new file mode 100644 index 0000000..df5cc58 --- /dev/null +++ b/language/el/lang.php @@ -0,0 +1,107 @@ +δεν υπάÏχει"; +$lang['vom']="από"; +$lang['mysqlvars']="Μεταβλητές MySQL"; +$lang['mysqlsys']="Εντολές MySQL"; +$lang['Status']="Κατάσταση"; +$lang['Prozesse']="Διαδικασίες"; +$lang['info_novars']="Καμία μεταβλητή διαθέσιμη"; +$lang['Inhalt']="Τιμή"; +$lang['info_nostatus']="Καμία κατάσταση διαθέσιμη"; +$lang['info_noprocesses']="Δεν εκτελείται διαδικασία"; +$lang['fm_freespace']="ΕλεÏθεÏος χώÏος στο διακομιστή"; +$lang['load_database']="ΕπαναφόÏτωση Î’.Δεδομένων"; +$lang['home']="ΑÏχική"; +$lang['config']="Ρυθμίσεις"; +$lang['dump']="ΑντίγÏαφα ασφαλείας"; +$lang['restore']="ΕπαναφοÏά"; +$lang['file_manage']="ΔιαχείÏιση αÏχείων"; +$lang['log']="ΚαταγÏαφές"; +$lang['choose_db']="Επιλογή Î’.Δεδομένων"; +$lang['credits']="Επαινοι / Βοήθεια"; +$lang['multi_part']="Multipart ΑντίγÏαφα ασφαλείας"; +$lang['logfilenotwritable']="Αδυναμία εγγÏαφής ΚαταγÏαφών !"; +$lang['sql_error1']="Σφάλμα στο εÏώτημα:"; +$lang['sql_error2']="Η MySQL λέει:"; +$lang['unknown']="αγνωστο"; +$lang['unknown_number_of_records']="άγνωστο"; +$lang['ok']="OK"; +$lang['cron_completelog']="Εξοδος ΚαταγÏαφών πλήÏης"; +$lang['no']="όχι"; +$lang['create_database']="ΔημιουÏγία νέας Î’.Δεδομένων"; +$lang['exportfinished']="Εξαγωγή τελειωμένη."; +$lang['sql_browser']="Πλοηγός SQL"; +$lang['server']="Διακομιστής"; +$lang['mysql_connection_encoding']="Î£Ï„Î±Î½Ï„Î±Ï ÎºÏ‰Î´Î¹ÎºÎ¿Ï€Î¿Î¯Î·ÏƒÎ· του διακομιστή MySQL + + +"; +$lang['title_show_data']="ΠÏοβολή δεδομένων"; +$lang['primaryKey_confirmDelete']="ΔιαγÏαφή Ï€ÏωτεÏον κλειδιοÏ?"; +$lang['setPrimaryKeysFor']="ΟÏισμός Ï€ÏωτεÏοντων κλειδιών για πίνακες"; +$lang['primaryKey_field']="Πεδίο Ï€ÏωτεÏον κλειδιοÏ"; +$lang['primaryKeys_save']="Αποθήκευση Ï€ÏωτεÏοντων κλειδιών"; + + +?> \ No newline at end of file diff --git a/language/el/lang_config_overview.php b/language/el/lang_config_overview.php new file mode 100644 index 0000000..30ab034 --- /dev/null +++ b/language/el/lang_config_overview.php @@ -0,0 +1,114 @@ +%s
στο %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="Κοινοπ."; +$lang['name']="Ονομα"; +$lang['confirm_configfile_delete']="ΔιαγÏαφή του αÏχείου ÏÏθμισης %s?"; +$lang['error_deleting_configfile']="Σφάλμα: Δεν μποÏεί να διαγÏαφεί το αÏχείο ÏÏθμισης %s!"; +$lang['success_deleting_configfile']="Το αÏχείο ÏÏθμισης %s διαγÏάφηκε επιτυχώς."; +$lang['success_configfile_created']="Το αÏχείο ÏÏθμισης %s δημιουÏγήθηκε επιτυχώς."; +$lang['error_configfile_name']="Το όνομα αÏχείου \"%s\" πεÏιέχει μη αποδεκτοÏÏ‚ χαÏακτήÏες."; +$lang['create_configfile']="ΔημιουÏγία νέου αÏχείου ÏÏθμισης"; +$lang['error_loading_configfile']="δεν ανοίγει το αÏχείο ÏÏθμισης \"%s\"."; +$lang['backup_dbs_php']="ΒΔ για αντιγ. ασφαλείας (PHP)"; +$lang['backup_dbs_perl']="ΒΔ για αντιγ. ασφαλείας (PERL)"; +$lang['cron_comment']="Δώστε σχόλιο + +"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/el/lang_dump.php b/language/el/lang_dump.php new file mode 100644 index 0000000..74df111 --- /dev/null +++ b/language/el/lang_dump.php @@ -0,0 +1,61 @@ +%s` "; +$lang['dump_endergebnis']="Το αÏχείο πεÏιέχει %s πίνακες με %s εγγÏαφές.
"; +$lang['mailerror']="Η αποστολή email απέτυχε!"; +$lang['emailbody_attach']="Το συννημένο πεÏιέχει αντίγÏαφο ασφαλείας της Βάσης MySQL.
ΑντίγÏαφο της Î’.Δεδομένων `%s` +

Το παÏακάτω αÏχείο δημιουÏγήθηκε:

%s

ΕυχαÏιστίες

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Ενα αντίγÏαφο ασφαλείας Multipart δημιουÏγήθηκε.
Τα ΑντίγÏαφα ασφαλείας δεν επισυνάφθηκαν σε αυτό το email!
ΑντίγÏαφο της Î’.Δεδομένων `%s` +

ΔημιουÏγήθηκαν τα παÏακάτω αÏχεία:

%s +

ΕυχαÏιστίες

MySQLDumper
"; +$lang['emailbody_mp_attach']="ΔημιουÏγήθηκε ένα Multipart ΑντίγÏαφο ασφαλείας.
Τα ΑντίγÏαφα ασφαλείας επισυνάφθηκαν σε χωÏιστά emails.
ΑντίγÏαφο της Î’.Δεδομένων `%s` +

ΔημιουÏγήθηκαν τα παÏακάτω αÏχεία:

%s

ΕυχαÏιστίες

MySQLDumper
"; +$lang['emailbody_footer']="`

ΕυχαÏιστώ

MySQLDumper
"; +$lang['emailbody_toobig']="Το αντίγÏαφο ασφαλείας έχει υπεÏβεί το μέγιστο μέγεθος %s και δεν επισυνάφθηκε σε αυτό το email.
ΑντίγÏαφο της Î’.Δεδομένων `%s` +

ΔημιουÏγήθηκε το παÏακάτω αÏχείο:

%s +

ΕυχαÏιστίες

MySQLDumper
"; +$lang['emailbody_noattach']="Τα αÏχεία δεν επισυνάφθηκαν σε αυτό το email!
ΑντίγÏαφο της Î’.Δεδομένων `%s` +

ΔημιουÏγήθηκε το παÏακάτω αÏχείο:

%s +

ΕυχαÏιστίες

MySQLDumper
"; +$lang['email_only_attachment']=" ... συννημένο μόνο."; +$lang['tableselection']="Επιλογή πίνακα"; +$lang['selectall']="Επιλογή όλων"; +$lang['deselectall']="Αποεπιλογή όλων"; +$lang['startdump']="Εκκίνηση ΑντιγÏάφων Ασφαλείας"; +$lang['lastbufrom']="Τελευταία αναβάθμιση από"; +$lang['not_supported']="Το αντίγÏαφο ασφαλείας δεν υποστηÏίζει αυτή τη λειτουÏγία."; +$lang['multidump']="Multidump: Το αντίγÏαφο ασφαλείας της Î’.Δεδομένων %d ολοκληÏώθηκε."; +$lang['filesendftp']="αποστολή αÏχείου μέσω FTP... παÏακαλώ πεÏιμένετε. "; +$lang['ftpconnerror']="Δεν έγινε σÏνδεση FTP ! ΄ΣÏνδεση με "; +$lang['ftpconnerror1']=" σαν χÏήστης "; +$lang['ftpconnerror2']=" δεν είναι δυνατόν"; +$lang['ftpconnerror3']="Η ΦόÏτωση FTP απέτυχε! "; +$lang['ftpconnected1']="Συνδεμένο με "; +$lang['ftpconnected2']=" σε "; +$lang['ftpconnected3']=" Επιτυχής μεταφοÏά"; +$lang['nr_tables_selected']="- με %s επιλεγμένους πίνακες"; +$lang['nr_tables_optimized']="%s πίνακες έχουν βελτιστοποιηθεί."; +$lang['dump_errors']="

%s σφάλματα παÏουσιάστηκαν: view

"; +$lang['fatal_error_dump']="Γενικό Σφάλμα: Η δήλωση CREATE-Statement του πίνακα '%s' στη Î’.Δεδομένων '%s' δε μποÏεί να διαβαστεί!
+Ελέγξτε τον πίνακα για σφάλματα. + + +"; + + +?> \ No newline at end of file diff --git a/language/el/lang_filemanagement.php b/language/el/lang_filemanagement.php new file mode 100644 index 0000000..d6ed8be --- /dev/null +++ b/language/el/lang_filemanagement.php @@ -0,0 +1,80 @@ +%s\""; +$lang['delete_file_error']="Σφάλμα στη διαγÏαφή του αÏχείου \"%s\"!"; +$lang['fm_dump_header']="ΑντίγÏαφα Ασφαλείας"; +$lang['DoCronButton']="Εκτέλεση του Perl Cron script"; +$lang['DoPerlTest']="Δοκιμή μονάδων Perl"; +$lang['DoSimpleTest']="Δοκιμή Perl"; +$lang['perloutput1']="Εισαγωγή στο crondump.pl για absolute_path_of_configdir"; +$lang['perloutput2']="Δεσμός URL για τον πλοηγό ή για εξωτεÏική Cron job"; +$lang['perloutput3']="ΓÏαμμή εντολών για το Κέλυφος ή για το Crontab"; +$lang['restore_of_tables']="Επιλέξτε τους πίνακες που θα επαναφεÏθοÏν"; +$lang['converter']="ΜετατÏοπέας ΑντιγÏάφων ασφαλείας"; +$lang['convert_file']="ΑÏχεία για μετατÏοπή"; +$lang['convert_filename']="Ονομα αÏχείου Ï€ÏοοÏÎ¹ÏƒÎ¼Î¿Ï (χωÏίς κατάληξη)"; +$lang['converting']="ΜετατÏοπή"; +$lang['convert_fileread']="Ανάγνωση αÏχείου '%s'"; +$lang['convert_finished']="Η μετατÏοπή τελείωσε, '%s' εγγÏάφηκε επιτυχώς."; +$lang['no_msd_backupfile']="ΑντίγÏαφα Ασφαλείας άλλων scripts"; +$lang['max_upload_size']="Μέγιστο μέγεθος αÏχείου"; +$lang['max_upload_size_info']="Αν το Dumpfile είναι μεγαλÏτεÏο από το παÏαπάνω επιτÏεπτό ÏŒÏιο, φοÏτώστε το με FTP στον κατάλογο \"work/backup\". +Μετά μποÏείτε να το επιλέξετε για επαναφοÏά. "; +$lang['encoding']="κωδικοποίηση"; +$lang['fm_choose_encoding']="Επιλογή κωδικοποίησης για το ΑντίγÏαφο ασφαλείας"; +$lang['choose_charset']="Το MySQLDumper δε μπόÏεσε να αναγνωÏίσει αυτόματα την κωδικοποίηση του αντιγÏάφου ασφαλείας. +
Επιλέξτε το σετ χαÏακτήÏων με το οποίο αποθηκέυθηκε το αντίγÏαφο ασφαλείας. +
Αν παÏουσιαστοÏν Ï€Ïοβλήματα με κάποιους χαÏακτήÏες μετά την επαναφοÏά, επαναλάβετε την επαναφοÏά κι επιλέξτε άλλο σετ χαÏακτήÏων. +
Καλή επιτυχία. ;) +"; + + +?> \ No newline at end of file diff --git a/language/el/lang_help.php b/language/el/lang_help.php new file mode 100644 index 0000000..a37abc3 --- /dev/null +++ b/language/el/lang_help.php @@ -0,0 +1,39 @@ + \ No newline at end of file diff --git a/language/el/lang_install.php b/language/el/lang_install.php new file mode 100644 index 0000000..605ba57 --- /dev/null +++ b/language/el/lang_install.php @@ -0,0 +1,93 @@ +Η εγκατάσταση ολοκληÏώθηκε --> εκκίνηση MySQLDumper
"; +$lang['install_tomenu']="Πίσω στο κυÏίως μενοÏ"; +$lang['installmenu']="ΚυÏίως μενοÏ"; +$lang['step']="Βήμα"; +$lang['install']="Εγκατάσταση"; +$lang['uninstall']="Απεγκατάσταση"; +$lang['tools']="ΕÏγαλεία"; +$lang['editconf']="ΕπεξεÏγασία ÏÏθμισης"; +$lang['osweiter']="Συνέχεια χωÏίς αποθήκευση"; +$lang['errorman']="Σφάλμα κατά την αποθήκευση της ÏÏθμισης!
ΠαÏακαλώ επεξεÏγαστείτε το αÏχείο "; +$lang['manuell']="χειÏοκίνητα"; +$lang['createdirs']="ΔημιουÏγία Καταλόγων"; +$lang['install_continue']="Συνεχίστε την εγκατάσταση"; +$lang['connecttomysql']="ΣÏνδεση με MySQL "; +$lang['dbparameter']="ΠαÏάμετÏοι Î’.Δεδομένων"; +$lang['confignotwritable']="Δεν μποÏÏŽ να γÏάψω στο αÏχείο \"config.php\". +ΠαÏακαλώ χÏησιμοποιήστε το Ï€ÏόγÏαμμα FTP και αλλάξτε το chmod του αÏχείου σε 0777."; +$lang['dbconnection']="ΣÏνδεση Î’.Δεδομένων"; +$lang['connectionerror']="Σφάλμα: αδυναμία σÏνδεσης."; +$lang['connection_ok']="Η σÏνδεση με τη Î’.Δεδομένων είναι επιτυχής."; +$lang['saveandcontinue']="Αποθήκευση και συνέχεια με την εγκατάσταση"; +$lang['confbasic']="Βασικές παÏάμετÏοι"; +$lang['install_step2finished']="Οι παÏάμετÏοι Î’.Δεδομένων αποθηκεÏτηκαν επιτυχώς."; +$lang['install_step2_1']="Συνέχεια εγκατάστασης με τις Ï€Ïοεπιλεγμένες Ïυθμίσεις"; +$lang['laststep']="Τέλος εγκατάστασης"; +$lang['ftpmode']="ΔημιουÏγία απαÏαίτητων καταλόγων σε ασφαλή λειτουÏγία"; +$lang['idomanual']="ΔημιουÏγώ τους καταλόγους μόνος μου"; +$lang['dofrom']="εκκίνηση από"; +$lang['ftpmode2']="ΔημιουÏγία καταλόγων με FTP:"; +$lang['connect']="σÏνδεση"; +$lang['dirs_created']="Οι κατάλογοι δημιουÏγήθηκαν και δώθηκαν οι απαÏαίτητες Ï€Ïοσβάσεις."; +$lang['connect_to']="σÏνδεση με"; +$lang['changedir']="αλλαγή σε κατάλογο"; +$lang['changedirerror']="η αλλαγή σε κατάλογο δεν έγινε"; +$lang['ftp_ok']="Οι παÏάμετÏοι FTP είναι εντάξει"; +$lang['createdirs2']="ΔημιουÏγία καταλόγων"; +$lang['ftp_notconnected']="Η σÏνδεση FTP δεν έγινε!"; +$lang['connwith']="ΣÏνδεση με"; +$lang['asuser']="όπως χÏήστη"; +$lang['notpossible']="δε γίνεται"; +$lang['dircr1']="δημιουÏγία καταλόγου work"; +$lang['dircr2']="δημιουÏγία καταλόγου backup"; +$lang['dircr4']="δημιουÏγία καταλόγου log"; +$lang['dircr5']="δημιουÏγία καταλόγου configuration"; +$lang['indir']="Ï„ÏŽÏα στον κατάλογο"; +$lang['check']="Ελεγχος καταλόγων"; +$lang['disabledfunctions']="ΑνενεÏγές λειτουÏγίες"; +$lang['noftppossible']="Δεν έχετε λειτουÏγίες FTP !"; +$lang['nogzpossible']="Δεν έχετε λειτουÏγίες συμπίεσης !"; +$lang['ui1']="Ολοι οι κατάλογοι που μποÏεί να πεÏιέχουν αντίγÏαφα ασφαλείας θα διαγÏαφοÏν."; +$lang['ui2']="Το θέλετε σίγουÏα?"; +$lang['ui3']="Οχι, ακÏÏωσε το αμέσως"; +$lang['ui4']="Îαι, παÏακαλώ συνέχισε"; +$lang['ui5']="διαγÏαφή καταλόγων λειτουÏγίας"; +$lang['ui6']="όλα διαγÏάφηκαν επιτυχώς."; +$lang['ui7']="ΠαÏακαλώ διαγÏάψτε τον κατάλογο script"; +$lang['ui8']="ένα επίπεδο πάνω"; +$lang['ui9']="Ενα Σφάλμα δεν επιτÏέπει τη διαγÏαφή

Σφάλμα με τον κατάλογο "; +$lang['import']="Εισαγωγή Ïυθμίσεων"; +$lang['import1']="Εισαγωγή Ïυθμίσεων από "; +$lang['import2']="ΦόÏτωση και εισαγωγή Ïυθμίσεων"; +$lang['import3']="Οι Ïυθμίσεις φοÏτώθηκαν ..."; +$lang['import4']="Οι Ïυθμίσεις αποθηκεÏτηκαν."; +$lang['import5']="Εκκίνηση MySQLDumper"; +$lang['import6']="ÎœÎµÎ½Î¿Ï ÎµÎ³ÎºÎ±Ï„Î¬ÏƒÏ„Î±ÏƒÎ·Ï‚"; +$lang['import7']="ΦόÏτωση Ïυθμίσεων"; +$lang['import8']="πίσω σε φόÏτωση"; +$lang['import9']="Αυτό δεν είναι αντίγÏαφο ασφαλείας Ïυθμίσεων !"; +$lang['import10']="Οι Ïυθμίσεις φοÏτώθηκαν κανονικά ..."; +$lang['import11']="Σφάλμα: Εμφανίστηκε Ï€Ïόβλημα στην εγγÏαφή του sql_statements"; +$lang['import12']="Σφάλμα: Εμφανίστηκε Ï€Ïόβλημα στην εγγÏαφή του config.php"; +$lang['install_help_port']="(άδειο = Ï€Ïοεπιλεγμένη θÏÏα)"; +$lang['install_help_socket']="(άδειο = Ï€Ïοεπιλεγμένο Socket)"; +$lang['tryagain']="Δοκιμάστε πάλι"; +$lang['socket']="Socket"; +$lang['port']="ΘÏÏα"; +$lang['found_db']="βÏέθηκε Î’.Δ."; +$lang['fm_fileupload']="ΦόÏτωση αÏχείου"; +$lang['pass']="Κωδικός"; +$lang['no_db_found_info']="Η σÏνδεση με τη Î’.Δεδομένων έγινε επιτυχώς.
+Τα δεδομένα χÏήστη είναι σωστά και έγιναν αποδεκτά από τον διακομιστή MySQL.
+Αλλά το MySQLDumper δε βÏήκε καμία Î’.Δεδομένων.
+Η αυτόματη αναγνώÏιση μέσω script μπλοκάÏεται σε κάποιον διακομιστή.
+Δώστε το όνομα της βάσης σας χειÏοκίνητα μόλις τελειώσει η εγκατάσταση. +Καντε κλικ στο \"Ρυθμίσεις\" \"ΠαÏάμετÏοι ΣÏνδεσης - Ï€Ïοβολή\" και δώστε εκεί το όνομα της βάσης σας."; +$lang['safemodedesc']="Επειδή η PHP Ï„Ïέχει σε ασφαλή λειτουÏγία safe_mode Ï€Ïέπει να δημιουÏγήσετε τους παÏακάτω καταλόγους χειÏοκίνητα χÏησιμοποιώντας το Ï€ÏόγÏαμμα FTP: + + +"; + + +?> \ No newline at end of file diff --git a/language/el/lang_log.php b/language/el/lang_log.php new file mode 100644 index 0000000..f53e075 --- /dev/null +++ b/language/el/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/language/el/lang_main.php b/language/el/lang_main.php new file mode 100644 index 0000000..d6e1126 --- /dev/null +++ b/language/el/lang_main.php @@ -0,0 +1,74 @@ +"; +$lang['htaccess10']="Οι κωδικοί δεν είναι ίδιοι ή είναι άδειοι !
"; +$lang['htaccess11']="Θέλετε η Ï€Ïοστασία καταλόγων να εγγÏαφεί Ï„ÏŽÏα ?"; +$lang['htaccess12']="ΔημιουÏγήθηκε Ï€Ïοστασία καταλόγων."; +$lang['htaccess13']="ΠεÏιεχόμενα αÏχείου:"; +$lang['htaccess14']="ΠαÏουσιάστηκε σφάλμα κατά την δημιουÏγία Ï€Ïοστασίας καταλόγου !
ΠαÏακαλώ δημιουÏγήστε τα 2 αÏχεία χειÏοκίνητα με τα παÏακάτω πεÏιεχόμενα:"; +$lang['htaccess15']="ΠÏοτείνεται επειγόντως !"; +$lang['htaccess16']="ΕπεξεÏγασία .htaccess"; +$lang['htaccess18']="ΔημιουÏγία .htaccess σε "; +$lang['htaccess19']="ΕπαναφόÏτωση "; +$lang['htaccess20']="Εκτέλεση script"; +$lang['htaccess21']="ΠÏοσθήκη handler"; +$lang['htaccess22']="Κάνε εκτελέσιμο"; +$lang['htaccess23']="Λίστα καταλόγου"; +$lang['htaccess24']="ΑÏχείο σφαλμάτων"; +$lang['htaccess25']="ΕνεÏγοποίηση rewrite"; +$lang['htaccess26']="ΕπέτÏεψε / ΑπαγόÏευσε"; +$lang['htaccess27']="ΑνακατεÏθυνση"; +$lang['htaccess28']="ΚαταγÏαφές σφαλμάτων"; +$lang['htaccess29']="ΠεÏισσότεÏα παÏαδείγματα και λεπτομέÏειες"; +$lang['htaccess30']="ΠάÏοχος"; +$lang['htaccess31']="Γενικά"; +$lang['htaccess32']="ΠÏοσοχή! Το .htaccess επηÏεάζει άμεσα τη συμπεÏιφοÏά του πλοηγοÏ.
Με λάθος πεÏιεχόμενο, αυτές οι σελίδες δεν θα είναι Ï€Ïοσβάσιμες πλέον."; +$lang['phpbug']="Σφάλμα στο zlib ! Δε γίνεται συμπίεση"; +$lang['disabledfunctions']="ΑνενεÏγές λειτουÏγίες"; +$lang['nogzpossible']="Επειδή το Zlib δεν είναι εγκατεστημένο, δε μποÏείτε να κάνετε χÏήση του GZip."; +$lang['delete_htaccess']="ΚατάÏγηση Ï€Ïοστασίας καταλόγου (διαγÏαφή .htaccess)"; +$lang['wrong_rights']="Το αÏχείο ή ο κατάλογος '%s' δεν είναι εγγÏάψιμος.
+Τα δικαιώματα (chmod) δε Ïυθμίστηκαν σωστά ή έχουν λάθος ιδιοκτήτη.
+Δώστε τις σωστές ιδιότητες χÏησιμοποιώντας το Ï€ÏόγÏαμμα FTP.
+Το αÏχείο ή ο κατάλογος Ï€Ïέπει να Ïυθμιστεί σε %s.
"; +$lang['cant_create_dir']="Δε δημιουÏγήθηκε κατάλογος '%s'. +ΔημιουÏγήστε τον χÏησιμοποιώντας το Ï€ÏόγÏαμμα FTP. + +"; +$lang['table_type']="ΤÏπος"; + + +?> \ No newline at end of file diff --git a/language/el/lang_restore.php b/language/el/lang_restore.php new file mode 100644 index 0000000..fcf6a83 --- /dev/null +++ b/language/el/lang_restore.php @@ -0,0 +1,24 @@ +%d πίνακες."; +$lang['file_missing']="δε βÏέθηκε το αÏχείο"; +$lang['restore_db']="Î’.Δεδομένων '%s' σε '%s'."; +$lang['restore_complete']="%s πίνακες δημιουÏγήθηκαν."; +$lang['restore_run1']="
ΜέχÏι Ï„ÏŽÏα %s από %s εγγÏαφές έχουν Ï€Ïοστεθεί."; +$lang['restore_run2']="
ΤώÏα ο πίνακας '%s' επαναφέÏεται.

"; +$lang['restore_complete2']="%s εγγÏαφές έχουν εισαχθεί."; +$lang['restore_tables_completed']="ΜέχÏι Ï„ÏŽÏα %d από %d πίνακες δημιουÏγήθηκαν."; +$lang['restore_total_complete']="
ΣυγχαÏητήÏια.

Εγινε η επαναφοÏά της Î’.Δεδομένων.
Ολα τα δεδομένα απο το ΑντίγÏαφο Ασφαλείας έχουν επαναφεÏθεί.

Ολα ολοκληÏώθηκαν. :-)"; +$lang['db_select_error']="
Σφάλμα:
Επιλογή Î’.Δεδομένων "; +$lang['db_select_error2']=" απέτυχε!"; +$lang['file_open_error']="Σφάλμα: δεν μπόÏεσα να ανοίξω το αÏχείο."; +$lang['progress_over_all']="Γενική Ï€Ïόοδος"; +$lang['back_to_overview']="ΠÏοεπισκόπιση Î’.Δεδομένων"; +$lang['restore_run0']="
ΜέχÏι Ï„ÏŽÏα %s εγγÏαφές έχουν Ï€Ïοστεθεί."; +$lang['unknown_sqlcommand']="Αγνωστη εντολή SQL"; +$lang['notices']="Σημειώσεις + + +"; + + +?> \ No newline at end of file diff --git a/language/el/lang_sql.php b/language/el/lang_sql.php new file mode 100644 index 0000000..250d9bc --- /dev/null +++ b/language/el/lang_sql.php @@ -0,0 +1,183 @@ +%s γÏαμμές έχουν εξαχθεί"; +$lang['csv_fieldcount_nomatch']="Η αÏίθμηση των πεδίων δε ταιÏιάζει με αυτή των δεδομένων που θα εισαχθοÏν (%d αντί για %d)."; +$lang['csv_fieldslines']="%d πεδία αναγνωÏίστηκαν, συνολικά %d γÏαμμές"; +$lang['csv_errorcreatetable']="Σφάλμα κατά την δημιουÏγία του πίνακα `%s` !"; +$lang['fm_uploadfilerequest']="παÏακαλώ επιλέξτε ένα αÏχείο."; +$lang['csv_nodata']="Δε βÏέθηκαν δεδομένα για εισαγωγή!"; +$lang['sqllib_generalfunctions']="γενικές λειτουÏγίες"; +$lang['sqllib_resetauto']="επαναφοÏά αυτόματης αÏξησης"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="απενεÏγοποίηση Board"; +$lang['sqllib_activateboard']="ενεÏγοποίηση Board"; +$lang['sql_notablesselected']="Δεν επιλέχθηκαν πίνακες !"; +$lang['tools']="ΕÏγαλεία"; +$lang['tools_toolbox']="Επιλογή Î’.Δεδομένων / ΛειτουÏγίες Î’.Δεδομένων / Εισαγωγή - Εξαγωγή "; +$lang['sql_openfile']="Ανοιγμα αÏχείου SQL"; +$lang['sql_openfile_button']="ΦόÏτωση"; +$lang['max_upload_size']="Μέγιστο μέγεθος αÏχείου"; +$lang['sql_search']="Αναζήτηση"; +$lang['sql_searchwords']="Αναζήτηση λέξεων"; +$lang['start_sql_search']="Εκκίνηση αναζήτησης"; +$lang['reset_searchwords']="ΕπαναφοÏά λέξεων αναζήτησης"; +$lang['search_options']="Επιλογές αναζήτησης"; +$lang['search_results']="Η αναζήτηση για \"%s\" στον πίνακα \"%s\" φέÏνει τα ακόλουθα αποτελέσματα"; +$lang['search_no_results']="Η αναζήτηση για \"%s\" στον πίνακα \"%s\" δεν έχει αποτελέσματα!"; +$lang['no_entries']="Ο πίνακας \"%s\" είναι άδειος και δεν έχει καταχωÏήσεις."; +$lang['search_access_keys']="Πλοήγηση: εμπÏός=ALT+V, πίσω=ALT+C"; +$lang['search_options_or']="Η στήλη Ï€Ïέπει να έχει τουλάχιστον μία από τις λέξεις αναζήτησης (OR-search)"; +$lang['search_options_concat']="Η γÏαμμή Ï€Ïέπει πεÏιλαμβάνει όλες τις λέξεις αναζήτησης αλλά μποÏεί να είναι σε κάποια στήλη (χÏειάζεται λίγο χÏόνο)"; +$lang['search_options_and']="Η γÏαμμή Ï€Ïέπει πεÏιλαμβάνει όλες τις λέξεις αναζήτησης (AND-search)"; +$lang['search_in_table']="Αναζήτηση στον πίνακα"; +$lang['sql_edit_tablestructure']="ΕπεξεÏγασία δομής πίνακα"; +$lang['default_charset']="ΠÏοεπιλεγμένο σετ χαÏακτήÏων"; +$lang['title_key_primary']="ΠÏωτεÏων κλειδί"; +$lang['title_key_unique']="Μοναδικό κλειδί"; +$lang['title_index']="ΕυÏετήÏιο"; +$lang['title_key_fulltext']="Κλειδί πλήÏη κειμένου"; +$lang['title_nokey']="Κανένα κλειδί"; +$lang['title_search']="Αναζήτηση"; +$lang['title_mysql_help']="ΤεκμηÏίωση MySQl"; +$lang['title_upload']="ΦόÏτωση αÏχείου SQL + + +"; +$lang['primaryKey_deleted']="Το Ï€ÏωτεÏων κλειδί διαγÏάφηκε"; +$lang['primaryKey_notFound']="Δε βÏέθηκε Ï€ÏωτεÏων κλειδί"; +$lang['primaryKeys_changed']="Τα Ï€ÏωτεÏοντα κλειδιά άλλαξαν"; +$lang['primaryKeys_changingError']="Σφάλμα στην αλλαγή Ï€ÏωτεÏοντων κλειδιών"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/en/help.php b/language/en/help.php new file mode 100644 index 0000000..792a50d --- /dev/null +++ b/language/en/help.php @@ -0,0 +1,129 @@ +
+

About this project

+The idea for this project comes from Daniel Schlichtholz.

In 2004 he created a forum called MySQLDumper and soon, programmers who wrote new scripts, supplemented Daniel's scripts.
After a short time the small backup-script developed into a stately project.

If you have any improvement suggestions you can visit the MySQLDumper-Forum: http://www.mysqldumper.de.

We wish you a lot of fun with this project.

The MySQLDumper-Team

+
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript with Support from Detlev Richter
+
+ +

MySQLDumper Help

+ +

Download

+This Script is available on the Homepage of MySQLDumper.
+It is recommanded to visit the Homepage frequently to get the latest information, updates and help.
+The address is +http://forum.mysqldumper.de + + +

System Mandatories

+The Script works with nearly any server (Windows, Linux, ...)
+and PHP >= Version 4.3.4 with GZip-Library, MySQL (>= 3.23), JavaScript (must be enabled). + +

Installation

+The installation is very easy. +Unpack the archive in any folder, +which is accessible from the Webserver
+(e.g. in the root directory [Server rootdir/]MySQLDumper)
+change config.php to chmod 777
+... all done!
+you can start MySQLDumper in your Browser by typing "http://webserver/MySQLDumper" +to complete the setup, just follow the instructions. + +
Note:
If your webserver runs with the option safemode=ON MySqlDump mustn't create directories.
+You will have to do that yourself.
+MySqlDump breaks in that case and tells you what to do.
+After you created the directories MySqlDump will function normally.

+ +

Guidance for the Perl script

+ +Most have a cgi-bin directory, in which Perl can be executed.
+This is usually by Browser over http://www.domain.de/cgi-bin/ available.

+ +Make the following steps for this case please.

+ +1. Call in MySQLDumper the page Backup and click "Backup Perl"
+2. Copy the path, that stands behind entry in crondump.pl for $absolute_path_of_configdir:
+3. open the file "crondump.pl" in the editor
+4. paste the copied path there with absolute_path_of_configdir (no blanks)
+5. Save crondump.pl
+6. copy crondump.pl, as well as perltest.pl and simpletest.pl to the cgi-bin directory (ASCII mode in the ftp-client!)
+7. chmod 755 to the scripts.
+7b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
+8. Call in the MySQLDumper the page Configuration
+9. click on Cronscript
+10. changes Perl execution path to /cgi-bin/
+10b. if the Scripts are renamed to *.cgi , change Fileextension to cgi
+11 save the Configuration

+ +Ready ! The scripts are available from the Page "Backup"

+ +When you can execute Perl anywhere, only following step are needed:

+ +1. Call in MySQLDumper the page Backup.
+2. Copy the path, that stands behind entry in crondump.pl for $absolute_path_of_configdir:
+3. open the file "crondump.pl" in the editor
+4. paste the copied path there with absolute_path_of_configdir (no blanks)
+5. Save crondump.pl
+ +6. chmod 755 to the scripts.
+6b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
+(ev. 10b+11 from above)

+ + +Windowsuser must change the first line of all Perlscripts, to the path of Perl.

+ +Example:
+ +instead of: #!/usr/bin/perl w
+now #!C:\perl\bin\perl.exe w
+ +

Operating

    + +
    Menu
    +In the select box above you choose your database.
    +All actions refer to this database. + +
    Home
    +Here you get information about your system, the version numbers and details about the configured databases.
    +If you click on a database in the table, you get a list of tables with record counts, size and last update stamp. + +
    Configuration
    +Here you can edit your configuration, save it or load the default settings. + + +
    Management
    +All the actions are listed here.
    +You see all files in the backup directory. +For the actions "Restore" and "Delete" you have to select a file first. +
      +
    • Restore: you restore the database with the records of the selected backupfile.
    • +
    • Delete: you can delete the selected backup file.
    • +
    • Start new Dump: here you start a new backup (dump) with your configured parameters.
    • +
    + +
    Log
    +You can read the Log entries and delete them. + +
    Credits / Help
    +This page. +
\ No newline at end of file diff --git a/language/en/lang.php b/language/en/lang.php new file mode 100644 index 0000000..cf9d4cd --- /dev/null +++ b/language/en/lang.php @@ -0,0 +1,104 @@ +not available"; +$lang['vom']="from"; +$lang['mysqlvars']="MySQL Variables"; +$lang['mysqlsys']="MySQL Commands"; +$lang['Status']="State"; +$lang['Prozesse']="Processes"; +$lang['info_novars']="no variables available"; +$lang['Inhalt']="Value"; +$lang['info_nostatus']="no status available"; +$lang['info_noprocesses']="no running processes"; +$lang['fm_freespace']="Free Space on Server"; +$lang['load_database']="Reload databases"; +$lang['home']="Home"; +$lang['config']="Configuration"; +$lang['dump']="Backup"; +$lang['restore']="Restore"; +$lang['file_manage']="File Administration"; +$lang['log']="Log"; +$lang['choose_db']="Select Database"; +$lang['credits']="Credits / Help"; +$lang['multi_part']="Multipart Backup"; +$lang['logfilenotwritable']="Can't write logfile !"; +$lang['sql_error1']="Error in Query:"; +$lang['sql_error2']="MySQL says:"; +$lang['unknown']="unknown"; +$lang['unknown_number_of_records']="unknown"; +$lang['ok']="OK"; +$lang['cron_completelog']="Log complete output"; +$lang['no']="no"; +$lang['create_database']="Create new database"; +$lang['exportfinished']="Export finished."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/en/lang_config_overview.php b/language/en/lang_config_overview.php new file mode 100644 index 0000000..bebd887 --- /dev/null +++ b/language/en/lang_config_overview.php @@ -0,0 +1,111 @@ +%s
into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Enter Comment"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/en/lang_dump.php b/language/en/lang_dump.php new file mode 100644 index 0000000..ee6d152 --- /dev/null +++ b/language/en/lang_dump.php @@ -0,0 +1,58 @@ +%s` "; +$lang['dump_endergebnis']="The file contains %s tables with %s records.
"; +$lang['mailerror']="Sending of email failed!"; +$lang['emailbody_attach']="The Attachment contains the backup of your MySQL-Database.
Backup of Database `%s` +

Following File was created:

%s

Kind regards

MySQLDumper
"; +$lang['emailbody_mp_noattach']="A Multipart Backup was created.
The Backup files are not attached to this email!
Backup of Database `%s` +

Following Files were created:

%s +

Kind regards

MySQLDumper
"; +$lang['emailbody_mp_attach']="A Multipart Backup was created.
The Backup files are attached to separate emails.
Backup of Database `%s` +

Following Files were created:

%s

Kind regards

MySQLDumper
"; +$lang['emailbody_footer']="`

Kind regards

MySQLDumper
"; +$lang['emailbody_toobig']="The Backup file exceeded the maximum size of %s and was not attached to this email.
Backup of Database `%s` +

Following File was created:

%s +

Kind regards

MySQLDumper
"; +$lang['emailbody_noattach']="Files are not attached to this email!
Backup of Database `%s` +

Following File was created:

%s +

Kind regards

MySQLDumper
"; +$lang['email_only_attachment']=" ... attachment only."; +$lang['tableselection']="Table selection"; +$lang['selectall']="Select All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['lastbufrom']="last update from"; +$lang['not_supported']="This backup doesn't support this function."; +$lang['multidump']="Multidump: Backup of %d Databases done."; +$lang['filesendftp']="send file via FTP... please be patient. "; +$lang['ftpconnerror']="FTP connection not established! Connection with "; +$lang['ftpconnerror1']=" as user "; +$lang['ftpconnerror2']=" not possible"; +$lang['ftpconnerror3']="FTP Upload failed! "; +$lang['ftpconnected1']="Connected with "; +$lang['ftpconnected2']=" on "; +$lang['ftpconnected3']=" transfer successful"; +$lang['nr_tables_selected']="- with %s selected tables"; +$lang['nr_tables_optimized']="%s tables have been optimized."; +$lang['dump_errors']="

%s errors occured: view

"; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
+Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/en/lang_filemanagement.php b/language/en/lang_filemanagement.php new file mode 100644 index 0000000..782bead --- /dev/null +++ b/language/en/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Run the Perl Cron script"; +$lang['DoPerlTest']="Test Perl Modules"; +$lang['DoSimpleTest']="Test Perl"; +$lang['perloutput1']="Entry in crondump.pl for absolute_path_of_configdir"; +$lang['perloutput2']="URL for the browser or for external Cron job"; +$lang['perloutput3']="Commandline in the Shell or for the Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backup Converter"; +$lang['convert_file']="File to be converted"; +$lang['convert_filename']="Name of destination file (without extension)"; +$lang['converting']="Converting"; +$lang['convert_fileread']="Read file '%s'"; +$lang['convert_finished']="Conversion finished, '%s' was written successfully."; +$lang['no_msd_backupfile']="Backups of other scripts"; +$lang['max_upload_size']="Maximum filesize"; +$lang['max_upload_size_info']="If your Dumpfile is bigger than the above mentioned limit, you must upload it via FTP into the directory \"work/backup\". +After that you can choose it to begin a restore progress. "; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
You must choose the charset with which this backup was saved. +
If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/en/lang_help.php b/language/en/lang_help.php new file mode 100644 index 0000000..dc36e2a --- /dev/null +++ b/language/en/lang_help.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/language/en/lang_install.php b/language/en/lang_install.php new file mode 100644 index 0000000..a13807b --- /dev/null +++ b/language/en/lang_install.php @@ -0,0 +1,90 @@ +Installation completed --> start MySQLDumper
"; +$lang['install_tomenu']="Back to main menu"; +$lang['installmenu']="Main menu"; +$lang['step']="Step"; +$lang['install']="Installation"; +$lang['uninstall']="Uninstall"; +$lang['tools']="Tools"; +$lang['editconf']="Edit configuration"; +$lang['osweiter']="Continue without saving"; +$lang['errorman']="Error while saving the Configuration!
Please edit the File "; +$lang['manuell']="manually"; +$lang['createdirs']="Create Directories"; +$lang['install_continue']="Continue with installation"; +$lang['connecttomysql']="Connect to MySQL "; +$lang['dbparameter']="Database Parameters"; +$lang['confignotwritable']="I cannot write to file \"config.php\". +Please use your FTP-Programm and chmod this file to 0777."; +$lang['dbconnection']="Database Connection"; +$lang['connectionerror']="Error: unable to connect."; +$lang['connection_ok']="Database connection was established."; +$lang['saveandcontinue']="Save and continue installation"; +$lang['confbasic']="Basic Parameter"; +$lang['install_step2finished']="Database parameters were saved successfully."; +$lang['install_step2_1']="Continue installation with the default settings"; +$lang['laststep']="Installation Finish"; +$lang['ftpmode']="Create necessary directories in safe-mode"; +$lang['idomanual']="I create the dirs myself"; +$lang['dofrom']="starting from"; +$lang['ftpmode2']="Create the dirs with FTP:"; +$lang['connect']="connect"; +$lang['dirs_created']="The directories are created and correctly permissioned."; +$lang['connect_to']="connect to"; +$lang['changedir']="change to dir"; +$lang['changedirerror']="change to dir was not possible"; +$lang['ftp_ok']="FTP parameter are ok"; +$lang['createdirs2']="Create directories"; +$lang['ftp_notconnected']="FTP connection not established!"; +$lang['connwith']="Connection with"; +$lang['asuser']="as user"; +$lang['notpossible']="not possible"; +$lang['dircr1']="create workdir"; +$lang['dircr2']="create backupdir"; +$lang['dircr4']="create logdir"; +$lang['dircr5']="create configurationdir"; +$lang['indir']="now in dir"; +$lang['check']="Check my directories"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['nogzpossible']="You don't have compression functions !"; +$lang['ui1']="All working directories which can contain backups will be deleted."; +$lang['ui2']="Are you sure you want that?"; +$lang['ui3']="no, cancel immediately"; +$lang['ui4']="yes, please continue"; +$lang['ui5']="delete working directories"; +$lang['ui6']="all was deleted successfully."; +$lang['ui7']="Please delete the script directory"; +$lang['ui8']="one level up"; +$lang['ui9']="An error occured, deleting was not possible

Error with directory "; +$lang['import']="Import Configuration"; +$lang['import1']="Import settings from "; +$lang['import2']="Upload and import settings"; +$lang['import3']="Configuration was loaded ..."; +$lang['import4']="Configuration was saved."; +$lang['import5']="Start MySQLDumper"; +$lang['import6']="Installation Menu"; +$lang['import7']="Upload configuration"; +$lang['import8']="back to upload"; +$lang['import9']="This is not a configuration backup !"; +$lang['import10']="Configuration was uploaded successfully ..."; +$lang['import11']="Error: There were problems writing sql_statements"; +$lang['import12']="Error: There were problems writing config.php"; +$lang['install_help_port']="(empty = Default Port)"; +$lang['install_help_socket']="(empty = Default Socket)"; +$lang['tryagain']="Try again"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="found db"; +$lang['fm_fileupload']="Upload file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="The connection to the database was successfully established.
+Your userdata is valid and was accepted by the MySQL-Server.
+But MySQLDumper was not able to find any database.
+The automatic detection via script is blocked on some server.
+You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/en/lang_log.php b/language/en/lang_log.php new file mode 100644 index 0000000..70a7ea3 --- /dev/null +++ b/language/en/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/en/lang_main.php b/language/en/lang_main.php new file mode 100644 index 0000000..fef7811 --- /dev/null +++ b/language/en/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="The Passwords are not identical or empty !
"; +$lang['htaccess11']="Should the directory protection be written now ?"; +$lang['htaccess12']="The directory protection was created."; +$lang['htaccess13']="Contents of file:"; +$lang['htaccess14']="There was an error while creating the directory protection !
Please create the 2 files manually with following content:"; +$lang['htaccess15']="Urgently recommended !"; +$lang['htaccess16']="Edit .htaccess"; +$lang['htaccess18']="Create .htaccess in "; +$lang['htaccess19']="Reload "; +$lang['htaccess20']="Execute script"; +$lang['htaccess21']="Add handler"; +$lang['htaccess22']="Make executable"; +$lang['htaccess23']="Directory Listing"; +$lang['htaccess24']="Error Document"; +$lang['htaccess25']="Activate rewrite"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="More examples and documentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="General"; +$lang['htaccess32']="Attention! The .htaccess directly affects the browser's behavior.
With incorrect content, these pages may no longer be accessible."; +$lang['phpbug']="Bug in zlib ! No Compression possible"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['nogzpossible']="Because Zlib is not installed, you cannot use GZip-Functions."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
+The rights (chmod) are not set properly or it has the wrong owner.
+Pleae set the correct attributes using your FTP-Programm.
+The file or the directory needs to be set to %s.
"; +$lang['cant_create_dir']="Couldn' t create dir '%s'. +Please create it using your FTP-Programm."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/en/lang_restore.php b/language/en/lang_restore.php new file mode 100644 index 0000000..f61dd88 --- /dev/null +++ b/language/en/lang_restore.php @@ -0,0 +1,21 @@ +%d tables were created."; +$lang['file_missing']="couldn't find file"; +$lang['restore_db']="Database '%s' on '%s'."; +$lang['restore_complete']="%s tables created."; +$lang['restore_run1']="
Up to now %s of %s records were successfully added."; +$lang['restore_run2']="
Now the table '%s' is restoring.

"; +$lang['restore_complete2']="%s records inserted."; +$lang['restore_tables_completed']="Up to now %d of %d tables were created."; +$lang['restore_total_complete']="
Congratulations.

The restoration of the database is done.
All data from the Backup file was restored.

Everything is done. :-)"; +$lang['db_select_error']="
Error:
Selection of database "; +$lang['db_select_error2']=" failed!"; +$lang['file_open_error']="Error: could not open file."; +$lang['progress_over_all']="Overall Progress"; +$lang['back_to_overview']="Database Overview"; +$lang['restore_run0']="
up to now %s records were successfully added."; +$lang['unknown_sqlcommand']="unknown SQL-Command"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/en/lang_sql.php b/language/en/lang_sql.php new file mode 100644 index 0000000..2168405 --- /dev/null +++ b/language/en/lang_sql.php @@ -0,0 +1,180 @@ +%s lines exported"; +$lang['csv_fieldcount_nomatch']="The count of fields doesn't match with that of the data to import (%d instead of %d)."; +$lang['csv_fieldslines']="%d fields recognized, totally %d lines"; +$lang['csv_errorcreatetable']="Error while creating table `%s` !"; +$lang['fm_uploadfilerequest']="please choose a file."; +$lang['csv_nodata']="No data found for import!"; +$lang['sqllib_generalfunctions']="general functions"; +$lang['sqllib_resetauto']="reset auto-increment"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="deactivate Board"; +$lang['sqllib_activateboard']="activate Board"; +$lang['sql_notablesselected']="No tables selected !"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Select Database / Datebase functions / Import - Export "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maximum filesize"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/es/help.php b/language/es/help.php new file mode 100644 index 0000000..fd3c047 --- /dev/null +++ b/language/es/help.php @@ -0,0 +1,160 @@ +
+

Sobre este proyecto

+La idea para este proyecto proviene de Daniel Schlichholz. +

En 2004 abrió el foro MySQLDumper e inmediatamente algunos aficionados a la programación se encontraron allí, para escribir y ampliar la versión inicial de los scripts de Daniel.
+En poco tiempo quedó establecido el proyecto de realizar un script de copia de seguridad. +

Si tiene Vd. alguna propuesta de mejora, notifíquela en el foro de MySQLDumper-Forum: http://forum.mysqldumper.de. +

Le deseamos que disfrute del trabajo realizado en este proyecto.
+

+

El equipo de MySQLDumper

+ +
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript con ayuda de Detlev Richter
+
+
+ +

Ayuda de MySQLDumper

+ + +

Descarga

+Este script puede descargarlo desde la página principal de MySQLDumper.
+Se recomienda que visite dicha página regularmente, para mantener el producto actualizado y poder descargar las ampliaciones que se vayan realizando.
+La dirección es: +http://forum.mysqldumper.de + + +

Requisitos del sistema

+

El script funciona en cualquier servidor (Windows, Linux, ...) que soporte una versión de PHP superior a la 4.3.4 +(con GZip instalado)
+y con MySQL a partir de la versión 3.23

+

Además, debe tener activado el ejecutar secuencias de comandos JavaScript en su navegador.

+ +

Instalación

+
+La instalación es muy sencilla. Simplemente extraiga los ficheros (conservando la estructura de directorios) en una carpeta cualquiera.
+Suba (por FTP u otros medios) dichos ficheros a su servidor web. (por ejemplo, [directorio web de su servidor]/MySQLDumper)
+... listo!
+Ahora puede ejecutar MySQLDumper desde su navegador llamándolo desde la dirección "http://www.su_servidor.com/MySQLDumper", para iniciar el proceso de configuración, para el que simplemente debe seguir las instrucciones en pantalla.
+
Aviso:
+En caso de que su servidor tenga activado el modo seguro de PHP, el script no podrá crear los directorios que necesita.
+Si es así, deberá hacerlo Vd. de forma manual, según las instrucciones del proceso de configuración.
+Tras haber creado dichos directorios, todo funcionará normalmente y sin restricciones.
+ + +

Instrucciones para la instalación del script Perl

+

En la mayoría de los casos, el servidor dispondrá de un directorio llamado cgi-bin (o perl) desde el que pueden ejecutarse scripts perl.
+ Dichos scripts se podrán acceder desde su navegador mediante la dirección http://www.su_servidor.com/cgi-bin/ .
+
+Si este es su caso, siga las instrucciones siguientes:
+
+1. Ejecute MySQLDumper desde su navegador, y vaya a la página de and click "Backup Perl"
+2. Copie el camino que aparece en la sección de propiedades del Cronscript Perl, al lado de $absolute_path_of_configdir: .
+3. Abra el fichero "crondump.pl" en un editor cualquiera de texto.
+4. Pegue el camino copiado en la entrada absolute_path_of_configdir (sin espacios vacíos). Hay una muestra dos líneas por encima.
+5. Guarde "crondump.pl".
+6. Copie los ficheros "crondump.pl", así como "perltest.pl" y "simpletest.pl" en el directorio cgi-bin (hágalo en modo ASCII si usa FTP).
+7. Dé a dichos ficheros los derechos 0x755 (use chmod desde shell o desde su programa de FTP).
+7b. En caso de ser neesaria la extensión "cgi" para los scripts, cámbiela en los tres ficheros de "pl" a "cgi" (cambiar nombre).
+8. Vaya a la página de + +en MySQLDumper.
+9. Elija el apartado Cronscript.
+10. Cambie el Camino al Cronscript a "/cgi-bin/" (sin comillas).
+10b. Si ha renombrado los scripts a ".cgi", cambie la extensión de los scripts a ".cgi".
+11. Guarde la configuración.
+
+Ya ha terminado. Ahora puede llamar los scripts desde la página de + +. Le recomendamos que pruebe primero tanto Perl como los Módulos Perl, usando los botones apropiados para ello. Si no funciona alguno de los dos, es probable que no pueda utilizar su script.
+
+Aquellos usuarios que pueden ejecutar Perl en cualquier directorio, pueden alternativamente, seguir los pasos siguientes (más sencillos):
+
+1. Ejecute MySQLDumper desde su navegador, y vaya a la página de + +
+2. Copie el camino que aparece en la sección de propiedades del Cronscript Perl, al lado de $absolute_path_of_configdir: .
+3. Abra el fichero "crondump.pl" en un editor cualquiera de texto.
+4. Pegue el camino copiado en la entrada absolute_path_of_configdir (sin espacios vacíos). Hay una muestra dos líneas por encima.
+5. Guarde "crondump.pl" (si lo ha editado en local, súbalo nuevamente al servidor).
+6. Dé a los ficheros "crondump.pl", así como "perltest.pl" y "simpletest.pl", los derechos 0x755 (use chmod desde shell o desde su programa de FTP).
+7. En caso de ser neesaria la extensión "cgi" para los scripts, cámbiela en los tres ficheros de "pl" a "cgi" (cambiar nombre).
+8. Si ha renombrado los scripts a ".cgi", vaya a la página de + +en MySQLDumper, elija el apartado Cronscript y cambie la extensión de los scripts a ".cgi". Guarde la configuración.
+
+ + Nota: Tanto los usuarios de Windows como los usuarios de servidores con configuraciones no estándar, deberán cambiar en los tres scripts la primera línea para reflejar el camino correcto de Perl. Por ejemplo:
+en vez de: #!/usr/bin/perl -w
+ponga: #!C:\perl\bin\perl.exe -w
+

+

Instrucciones de uso

+ +
Menú
+

En el desplegable superior se encuentra la lista de bases de datos disponibles para trabajar con ellas. Tenga en cuenta que no necesariamente tendrá permiso para trabajar con todas ellas, sólo aquellas en las que su usuario tenga permisos podrán ser realmente accedidas. Las demás le darán simplemente un error.
+Todas las acciones se refieren siempre a la base de datos seleccionada en este desplegable.

+ +
    +
    +

    Aquí encontrará algunas propiedades de su sistema, como las versiones instaladas y algunos detalles de la base de datos.
    + Los botones superiores le permitirán acceder a las diferentes opciones, que tendrán más o menos sentido según el nivel de privilegios de su usuario de base de datos:

    +
    • le mostrará las informaciones genéricas, pudiendo además acceder a algunas de ellas en particular, para ampliarlas.
    • +
    • le llevará a la lista de las mismas, pudiendo crear otras nuevas. Si hace click en alguna de ellas, se le llevará a un menú avanzado dónde se le mostrarán las tablas que contiene y distintas opciones para con ellas.
    • +
    • le mostrará respectivamente los procesos, el estado y las opciones y definiciones del servidor de base de datos MySQL.
    • +
    • le permitirá acceder a una pseudoconsola del servidor de bases de datos y realizar operaciones complejas con el mismo. Nota: para poder utilizar dichas opciones, deberá tener los privilegios adecuados en el servidor MySQL.
    • +
    +

    Otra de las opciones importantes de este menú, es la creación o modificación de los ficheros .htaccess. Dichos ficheros gestionan directamente la seguridad de los directorios y es importante por ejemplo, que no cualquier visitante pueda acceder a los datos de su base de datos mediante este programa. Por ello se recomienda encarecidamente utilizar dicha opción (o cualquier otra de que disponga) para proteger esta aplicación de usos indebidos. No obstante tenga en cuenta que hacerlo de forma errónea puede impedirle a Vd. mismo el acceso. Si le sucede esto, no se preocupe, acceda al directorio mediante FTP o mediante su gestor de archivos habitual, y elimine el fichero .htaccess para desprotegerlo y poder volver a acceder normalmente al mismo.

    +
    +

    Aquí puede cambiar todos los datos de configuración del programa, guardar una copia de seguridad de la configuración, cargar una configuración preexistente, o volver a los valores iniciales de instalación.

    +
      +
    • le permite cambiar los parámetros de conexión (haga click en mostrar / esconder) del usuario de base de datos. Si hay más de una base de datos, puede elegir hacer un volcado múltiple e incluir más de una bases de datos en la copia de seguridad (la base de datos actual se muestra siempre en negrita). Además, podrá seleccionar las tablas que serán incluidas en la copia de seguridad mediante un prefijo.
    • +
        +
      • muestra un listado de todas las bases de datos accesibles. Si ha especificado en los parámetros de conexión, que solamente se muestre un tipo una base de datos, solamente aparecerá ésta. Si hay más de una base de datos accesible, puede elegir hacer un volcado múltiple e incluir más de una bases de datos en la copia de seguridad (la base de datos actual se muestra siempre en negrita). Además, podrá seleccionar las tablas de cada base de datos que deben ser incluidas en la copia de seguridad mediante un prefijo, excluyendo las que no contengan el mismo.
      • +
      • es el prefijo que puede especificar para seleccionar tablas de una base de datos. Por ejemplo puede especificar solamente aquellas tablas que empiecen con el prefijo "phpBB_". Si desea hacer una copia de seguridad de toda la base de datos, deje este campo en blanco.
      • +
      +
    • sirve para elegir las características genéricas de las copias de seguridad (compresión, memoria, velocidad [ALERTA: la velocidad excesiva puede provocar que el servidor deje de responder (timeout)], archivos de registro o logs, si se deben optimizar las tablas antes de hacer la copia, etc...) y de la restauración de datos (si se deben vaciar las tablas antes de hacerla, si se debe detener la importación en caso de errores).
    • +
        +
      • permite activar la compresión de los archivos. Se recomienda activarla, si el módulo GZIP está disponible en su servidor, ya que el tamaño de los archivos se reduce sensiblemente.
      • +
      • + permite vaciar el contenido de la base de datos totalmente antes de realizar la recuperación de datos de una copia de seguridad existente. Es recomendable en caso de recuperar una serie de tablas que se hayan corrompido. En caso de duda, se recomienda dejarlo desactivado, puesto que si realiza una recuperación parcial de algunas tablas, se eliminarían antes todas las tablas existentes, aunque no se encuentren presentes en la copia de seguridad a recuperar.
      • +
      +
    • permite elegir las características gráficas de la interfaz del programa. Puede elegir idioma, tema, definir algunos tamaños de ventana, incluso decidir si desea que aparezca el nombre del servidor en que se encuentra en este momento, y en qué lugar. La elección del navegador que utiliza es importante, ya que si lo hace de forma incorrecta, el programa no funcionará correctamente.
    • +
        +
      • : aquí puede seleccionar el idioma para el interfaz gráfico.
      • +
      +
    • define los parámetros que determinan si se van a eliminar archivos de copia de seguridad de forma automática o no.
    • +
        +
      • : activa o desactiva la eliminación augomática. Si está activado, se eliminarán los archivos necesarios (según las reglas definidas a continuación) antes de iniciar una nueva copia de seguridad. Es una opción útil para ahorrar espacio en el servidor, pero le recomendamos que no la active antes de haber podido probar el funcionamiento correcto del programa.
      • +
      • : un valor mayor que cero elimina todos los archivos de copia de seguridad en exceso del número especificado, bien en total, bien para cada base de datos distinta.
      • +
      +
    • define los parámetros que determinan si se va a enviar un email tras haber completado una copia de seguridad, así como si se deberá adjuntar dicha copia de seguridad y en qué forma.
    • +
        +
      • : activa o desactiva el envío de un email al haberse terminado la copia de seguridad, sea con o sin éxito.
      • +
      • : es la dirección de email a dónde se enviará el mensaje.
      • +
      • : es la dirección de email desde donde se enviará el mensaje. Recuerde permitirle el paso a través de su filtro anti-spam, si dispone de uno.
      • +
      +
    • permite definir una (o varias) transferencias por FTP del archivo de copia de seguridad una vez terminada la misma. Si se activa, se deben especificar las parámetros necesarios para realizar la conexión. Además, deberá tener los derechos apropiados en el servidor de destino de la copia.
    • +
        +
      • : activa o desactiva el envío de la copia de seguridad realizada con éxito, por FTP.
      • +
      • : es la dirección del servidor de FTP destinatario del archivo (por ejemplo ftp.misbackups.com).
      • +
      • : es el puerto de conexión del servidor FTP (generalmente, el puerto 21).
      • +
      • : es el nombre de usuario con el que debe realizarse la conexión.
      • +
      • : es el password a utilizar para establecer la conexión.
      • +
      • : es el directorio de destino del archivo a almacenar. Puede ser un camino absoluto o relativo (pero debe tener derechos de escritura en el mismo).
      • +
      +
    • permite definir las características de la copia de seguridad utilizando el script Perl. La mayoría de las opciones son muy parecidas a las establecidas para el interfaz gráfico, pero para el script Perl, que actúa de forma independiente.
    • +
    +
    +

    Esta es la parte más importante del programa. Desde aquí puede realizar una copia de seguridad de sus datos según las opciones establecidas anteriormente. Además, podrá seleccionar (si así lo desea) solamente algunas tablas para hacer dicha copia, de forma que no todos los datos de la base de datos sean copiados.

    +
    +

    Desde esta opción, podrá restaurar una copia de seguridad existente, a la base de datos seleccionada actualmente.

    +
    +

    En esta página se encuentran los archivos de copia de seguridad generados por el programa.
    + Podrá eliminarlos de uno en uno o en grupo, ejecutar el borrado automático de forma manual, descargar los archivos o subir un archivos para poder restaurarlo posteriormente.

    +
    +

    Aquí podrá ejecutar comandos SQL contra la base de datos, así como consultar la estructura de sus tablas. Para usuarios avanzados de MySQL.

    +
    +

    Aquí encontrará los informes de las operaciones realizadas y podrá borrarlos si así lo desea.

    +
    +

    La página actual.

    +
\ No newline at end of file diff --git a/language/es/lang.php b/language/es/lang.php new file mode 100644 index 0000000..5c17dd9 --- /dev/null +++ b/language/es/lang.php @@ -0,0 +1,104 @@ +no disponible"; +$lang['vom']="de"; +$lang['mysqlvars']="Variables de MySQL"; +$lang['mysqlsys']="Datos de MySQL"; +$lang['Status']="Estado"; +$lang['Prozesse']="Proceso"; +$lang['info_novars']="no hay variables disponibles"; +$lang['Inhalt']="Contenido"; +$lang['info_nostatus']="no hay estados disponibles"; +$lang['info_noprocesses']="no hay procesos corriendo"; +$lang['fm_freespace']="Espacio libre en el servidor"; +$lang['load_database']="Refrescar la lista de BdD"; +$lang['home']="Inicio"; +$lang['config']="Configuración"; +$lang['dump']="Copia de seguridad"; +$lang['restore']="Restaurar"; +$lang['file_manage']="Archivos"; +$lang['log']="Log"; +$lang['choose_db']="elegir base de datos"; +$lang['credits']="Créditos / Ayuda"; +$lang['multi_part']="Copia de seguridad en múltiples archivos"; +$lang['logfilenotwritable']="No se puede escribir en el fichero de historial (log)!"; +$lang['sql_error1']="Error de ejecución:"; +$lang['sql_error2']="MySQL informa:"; +$lang['unknown']="desconocido"; +$lang['unknown_number_of_records']="desconocido"; +$lang['ok']="OK"; +$lang['cron_completelog']="Registrar todas las operaciones"; +$lang['no']="no"; +$lang['create_database']="crear nueva base de datos"; +$lang['exportfinished']="Exportación finalizada."; +$lang['sql_browser']="Navegador-SQL"; +$lang['server']="Servidor"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/es/lang_config_overview.php b/language/es/lang_config_overview.php new file mode 100644 index 0000000..139b2a9 --- /dev/null +++ b/language/es/lang_config_overview.php @@ -0,0 +1,112 @@ +%s
into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Enter Comment"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/es/lang_dump.php b/language/es/lang_dump.php new file mode 100644 index 0000000..71c2503 --- /dev/null +++ b/language/es/lang_dump.php @@ -0,0 +1,57 @@ +%s` "; +$lang['dump_endergebnis']="%s Tablas con un total de %s registros, han sido guardadas con éxito.
"; +$lang['mailerror']="Se ha producido un error al intentar enviar el email!"; +$lang['emailbody_attach']="En el fichero adjunto encontrará la copia de seguridad de su base de datos MySQL.
Copia de seguridad de la base de datos `%s` +

Se ha creado el siguiente archivo:

%s


Saludos de

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Se ha realizado un backup de archivos múltiples.
Los archivos no se adjuntan a este email!
Copia de seguridad de la base de datos `%s` +

Los siguientes archivos han sido adjuntados:

%s +


Saludos de

MySQLDumper
"; +$lang['emailbody_mp_attach']="Se ha realizado un backup de archivos múltiples.
Los archivos se adjuntan a emails separados!
Copia de seguridad de la base de datos `%s` +

Los siguientes archivos han sido adjuntados:

%s


Saludos de

MySQLDumper
"; +$lang['emailbody_footer']="


Saludos de

MySQLDumper
"; +$lang['emailbody_toobig']="La copia de seguridad ha sobrepasado el tamaño máximo de %s y por lo tanto no ha sido adjuntada.
Copia de seguridad de la base de datos `%s` +

Se ha creado el siguiente archivo:

%s


Saludos de

MySQLDumper
"; +$lang['emailbody_noattach']="No se adjunta el archivo de copia de seguridad.
Copia de seguridad de la base de datos `%s` +

Se ha creado el siguiente archivo:

%s


Saludos de

MySQLDumper
"; +$lang['email_only_attachment']=" ... solamente el fichero adjunto"; +$lang['tableselection']="Elección de tablas"; +$lang['selectall']="seleccionar todas +"; +$lang['deselectall']="seleccionar todas"; +$lang['startdump']="iniciar copia de seguridad"; +$lang['lastbufrom']="última actualización el"; +$lang['not_supported']="Esta copia de seguridad no comprende esta función."; +$lang['multidump']="Copia múltiple, copia de seguridad de %d bases de datos resalizada."; +$lang['filesendftp']="envío del archivo vía FTP... tenga un poco de paciencia, por favor. "; +$lang['ftpconnerror']="Conexión no establecida! Conectarse a "; +$lang['ftpconnerror1']=" con el usuario "; +$lang['ftpconnerror2']=" ha sido imposible"; +$lang['ftpconnerror3']="El envío por FTP ha fallado! "; +$lang['ftpconnected1']="Conectado con "; +$lang['ftpconnected2']=" en "; +$lang['ftpconnected3']=" escritos"; +$lang['nr_tables_selected']="- con %s tablas seleccionadas"; +$lang['nr_tables_optimized']="%s tablas optimizadas."; +$lang['dump_errors']="

Ha(n) ocurrido %s error(es): visualizar

"; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
+Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/es/lang_filemanagement.php b/language/es/lang_filemanagement.php new file mode 100644 index 0000000..ae62456 --- /dev/null +++ b/language/es/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Copia de seguridad"; +$lang['DoCronButton']="Ejecutar Cronscript Perl"; +$lang['DoPerlTest']="Comprobar Módulos Perl"; +$lang['DoSimpleTest']="Comprobar Perl"; +$lang['perloutput1']="Línea a escribir en crondump.pl para absolute_path_of_configdir"; +$lang['perloutput2']="Ejecutar desde el navegador o desde un Cronjob externo al servidor"; +$lang['perloutput3']="Ejecutar desde Shell o como entrada en Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Copia de seguridad-Conversor"; +$lang['convert_file']="archivo que se convertirá"; +$lang['convert_filename']="Nombre del archivo de destino (sin extensión)"; +$lang['converting']="La conversión"; +$lang['convert_fileread']="Leyendo el archivo '%s'"; +$lang['convert_finished']="Conversión finalizada: '%s' se ha guardado correctamente."; +$lang['no_msd_backupfile']="Copias de seguridad de otros programas"; +$lang['max_upload_size']="Tamaño máximo del fichero"; +$lang['max_upload_size_info']="If your Dumpfile is bigger than the above mentioned limit, you must upload it via FTP into the directory \"work/backup\". +After that you can choose it to begin a restore progress. "; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
You must choose the charset with which this backup was saved. +
If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/es/lang_help.php b/language/es/lang_help.php new file mode 100644 index 0000000..401a18e --- /dev/null +++ b/language/es/lang_help.php @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/language/es/lang_install.php b/language/es/lang_install.php new file mode 100644 index 0000000..4f91120 --- /dev/null +++ b/language/es/lang_install.php @@ -0,0 +1,90 @@ +La Instalación ha terminado --> MySQLDumper
"; +$lang['install_tomenu']="al menú principal"; +$lang['installmenu']="Menú principal"; +$lang['step']="Paso"; +$lang['install']="Instalación"; +$lang['uninstall']="Desinstalación"; +$lang['tools']="Herramientas"; +$lang['editconf']="modificar configuración"; +$lang['osweiter']="seguir sin guardar"; +$lang['errorman']="Error al escribir la configuración!
Por favor, edite Vd. el fichero "; +$lang['manuell']="manualmente"; +$lang['createdirs']="Directorios creados"; +$lang['install_continue']="seguir con la instalación"; +$lang['connecttomysql']=" conectarse a MySQL "; +$lang['dbparameter']="Parámetros de la base de datos"; +$lang['confignotwritable']="No se ha podido modificar el fichero \"config.php\". +Por favor, utilice su programa de FTP y ejecute chmod de dicho fichero a 0777."; +$lang['dbconnection']="Conexión a la base de datos"; +$lang['connectionerror']="Error: no se pudo realizar la conexión."; +$lang['connection_ok']="La conexión a la base de datos ha sido realizada con éxito."; +$lang['saveandcontinue']="guardar y seguir con la instalación"; +$lang['confbasic']="Propiedades básicas"; +$lang['install_step2finished']="Los datos de acceso a la base de datos han sido guardados."; +$lang['install_step2_1']="seguir con propiedades estándar"; +$lang['laststep']="Fin de la instalación"; +$lang['ftpmode']="Crear directorios por FTP (en modo seguro)"; +$lang['idomanual']="Crearé los directorios manualmente"; +$lang['dofrom']="hacer desde"; +$lang['ftpmode2']="Creación de los directorios por FTP:"; +$lang['connect']="conectar"; +$lang['dirs_created']="Los directorios han sido correctamente creados."; +$lang['connect_to']="conectar a"; +$lang['changedir']="cambiar al directorio"; +$lang['changedirerror']="No ha sido posible realizar el cambio de directorio"; +$lang['ftp_ok']="Los parámetros de FTP son correctos"; +$lang['createdirs2']="Crear directorios"; +$lang['ftp_notconnected']="Conexión por FTP no realizada!"; +$lang['connwith']="Conectar con"; +$lang['asuser']="como usuario"; +$lang['notpossible']="imposible"; +$lang['dircr1']="cree el directorio de trabajo "; +$lang['dircr2']="cree el directorio de copias de seguridad "; +$lang['dircr4']="cree el directorio de informes "; +$lang['dircr5']="cree el directorio de configuración "; +$lang['indir']="está en el directorio"; +$lang['check']="comprobar"; +$lang['disabledfunctions']="Funciones deshabilitadas"; +$lang['noftppossible']="Las funciones de FTP no están disponibles!"; +$lang['nogzpossible']="Las funciones de compressión no están disponibles!"; +$lang['ui1']="Se van a eliminar todos los directorios de trabajo, incluídos aquellos que contengan copias de seguridad."; +$lang['ui2']="Está seguro de que desea realizar la operación ?"; +$lang['ui3']="no, abortar inmediatamente"; +$lang['ui4']="si, deseo continuar"; +$lang['ui5']="eliminar directorio de trabajo"; +$lang['ui6']="todo ha sido eliminado satisfactoriamente."; +$lang['ui7']="Por favor, elimine el directorio de los scripts"; +$lang['ui8']="subir un directorio"; +$lang['ui9']="Se ha producido un error, no ha sido posible eliminarlo

Error en el directorio "; +$lang['import']="importar configuración"; +$lang['import1']="Importar propiedades de "; +$lang['import2']="Cargar configuración e importar datos"; +$lang['import3']="La configuración ha sido cargada ..."; +$lang['import4']="La configuración ha sido guardada."; +$lang['import5']="Iniciar MySQLDumper"; +$lang['import6']="Menú de instalación"; +$lang['import7']="subir configuración"; +$lang['import8']="volver a subir"; +$lang['import9']="Este no es ningun fichero de configuración !"; +$lang['import10']="La configuración ha sido cargada con éxito ..."; +$lang['import11']="ERROR: Ha habido problemas al guardar sql_statements"; +$lang['import12']="ERROR: Ha habido problemas al guardar config.php"; +$lang['install_help_port']="(vacío = Puerto estándar)"; +$lang['install_help_socket']="(vacío = Socket estándar)"; +$lang['tryagain']="intentar nuevamente"; +$lang['socket']="Socket"; +$lang['port']="Puerto"; +$lang['found_db']="Encontrada BdD:"; +$lang['fm_fileupload']="Subir archivo"; +$lang['pass']="Password"; +$lang['no_db_found_info']="The connection to the database was successfully established.
+Your userdata is valid and was accepted by the MySQL-Server.
+But MySQLDumper was not able to find any database.
+The automatic detection via script is blocked on some server.
+You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/es/lang_log.php b/language/es/lang_log.php new file mode 100644 index 0000000..4a5930e --- /dev/null +++ b/language/es/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/es/lang_main.php b/language/es/lang_main.php new file mode 100644 index 0000000..a9cc4c4 --- /dev/null +++ b/language/es/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="¡Los passwords no son idénticos o están vacíos! "; +$lang['htaccess11']="¿Desea crear ahora la protección del directorio?"; +$lang['htaccess12']="La protección del directorio ha sido creada."; +$lang['htaccess13']="Contenido del archivo"; +$lang['htaccess14']="Se ha producido un error al crear la protección del directorio!
Por favor, coloque en él el siguiente archivo, con el contenido especificado:"; +$lang['htaccess15']="¡Altamente recomendado!"; +$lang['htaccess16']="editar .htaccess"; +$lang['htaccess18']="crear .htaccess en "; +$lang['htaccess19']=" cargar de nuevo "; +$lang['htaccess20']="Ejecutar script"; +$lang['htaccess21']="Escriba el proveedor"; +$lang['htaccess22']="Permitir ejecución"; +$lang['htaccess23']="Listado de directorios"; +$lang['htaccess24']="Documentos de error"; +$lang['htaccess25']="Activar la reescritura"; +$lang['htaccess26']="Denegar / Permitir"; +$lang['htaccess27']="Redirecccionar"; +$lang['htaccess28']="Historial de errores"; +$lang['htaccess29']="otros ejemplos y documentación"; +$lang['htaccess30']="Proveedor"; +$lang['htaccess31']="conjunto"; +$lang['htaccess32']="Alerta! El fichero .htaccess influye directamente el comportamiento de los navegadores.
Si lo crea de forma incorrecta, estas páginas no serán accesibles."; +$lang['phpbug']="¡Bug en zlib! No es posible comprimir archivos"; +$lang['disabledfunctions']="Funciones deshabilitadas"; +$lang['nogzpossible']="Dado que Zlib no está instalado, no puede usar las funciones de compresión GZip."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
+The rights (chmod) are not set properly or it has the wrong owner.
+Pleae set the correct attributes using your FTP-Programm.
+The file or the directory needs to be set to %s.
"; +$lang['cant_create_dir']="Couldn' t create dir '%s'. +Please create it using your FTP-Programm."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/es/lang_restore.php b/language/es/lang_restore.php new file mode 100644 index 0000000..d8ce2f7 --- /dev/null +++ b/language/es/lang_restore.php @@ -0,0 +1,21 @@ +%d tablas."; +$lang['file_missing']="no se encuentra el fichero"; +$lang['restore_db']="la base de datos '%s' en '%s'."; +$lang['restore_complete']="%s Las tablas han sido importadas."; +$lang['restore_run1']="
Hasta ahora se han importado %s de %s registros"; +$lang['restore_run2']="
Se está llenando de datos la tabla '%s'.

"; +$lang['restore_complete2']="%s registros insertados."; +$lang['restore_tables_completed']="Hasta el momento, se han recuperado %d de %d tablas."; +$lang['restore_total_complete']="
Felicidades.

La base de datos ha sido completamente restaurada.
Todos los datos de la copia de seguridad han sido importados con éxito.

He terminado. :-)"; +$lang['db_select_error']="
Error:
La selección de la base de datos '"; +$lang['db_select_error2']="' ha fallado!"; +$lang['file_open_error']="Error: no he podido abrir el fichero."; +$lang['progress_over_all']="Progreso total"; +$lang['back_to_overview']="vista de base de datos"; +$lang['restore_run0']="Hasta el momento, se han recuperado %s de tablas."; +$lang['unknown_sqlcommand']="comando SQL desconocido"; +$lang['notices']="Avisos"; + + +?> \ No newline at end of file diff --git a/language/es/lang_sql.php b/language/es/lang_sql.php new file mode 100644 index 0000000..ae99b95 --- /dev/null +++ b/language/es/lang_sql.php @@ -0,0 +1,180 @@ +%s líneas exportadas"; +$lang['csv_fieldcount_nomatch']="El número de campos no coincide con el de los datos a importar (%d en vez de %d)."; +$lang['csv_fieldslines']="%d campos reconocidos, totalizando %d líneas"; +$lang['csv_errorcreatetable']="¡Error al crear la tabla `%s`!"; +$lang['fm_uploadfilerequest']="Por favor, elija un archivo."; +$lang['csv_nodata']="¡No se han encontrado datos que importar!"; +$lang['sqllib_generalfunctions']="funciones generales"; +$lang['sqllib_resetauto']="reinicializar autoincremento"; +$lang['sqllib_boards']="Foros"; +$lang['sqllib_deactivateboard']="desactivar foro"; +$lang['sqllib_activateboard']="activar foro"; +$lang['sql_notablesselected']="¡No se han seleccionado tablas!"; +$lang['tools']="Herramientas"; +$lang['tools_toolbox']="Elección de base de datos / Funciones de base de datos / Im- y Exportar "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Tamaño máximo del fichero"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/flags/ar.gif b/language/flags/ar.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f97d30a59e1190c8316e37785776a0d726ba716 GIT binary patch literal 226 zcmZ?wbhEHbG-8ls*v!E29|&g7JOc#A#%CCSh+*c;nQ3VZX$(LX5TgUdpDbV@9S{jJ zgMp>L;Djf;rRM9iyZ?8(_M~(+X58vbtzKntYTFa(`*(ceEB3!Mnf;!vgtyl9^2X^Z zk}MZilz6R;V)b=WWOz}v|G|a|o)dW|Uu?N?CUp1ZH`{Au=HK4?b+_&M>FJ!zY)#EA zt!?ccZ1o&my?y-?CQh2n)jehUj7igG&Y3ZL?t+Q)7cQAEcy$Mb|U0T)RM! G!5RShhFk6c literal 0 HcmV?d00001 diff --git a/language/flags/ch.gif b/language/flags/ch.gif new file mode 100644 index 0000000000000000000000000000000000000000..672c9769dd6033a658bfb52bc68ab7cf666f37fc GIT binary patch literal 1765 zcmW+#c~Fx_6yJgZ)u`0WhzAH7uR*IF*CqsFs6k8Z4C;*5Rtt#2tmgm$JdjHSYb}yb zL5o|!3oRaqN7O+P6_i6=f+M1UfglJbD9Yi%A>F<&``?@Q-tT(f=ezhv59QjqXd?QI z5EmcgoN`V$$DAXvVvIA&8Q~0bhQuaioKj8+r}=`#t37WF(lGLMJc0%QOqb3RX~$aMhGLA5hRL& zSxgxw3}c27XoOXUC_{uH%n-1GY5)V#pb}(34~PL9paBb(k!VP);SowPrAYJ#v``U3 z38n;zc0mO+F`*b!jKDpJf?0|PMVKP62YG-@*oHX3KZpQ_pc=qHG^m78&;i7N4bXsv z#N@;_)bKDNNDLDE0WDM*6O15NunQ`nNf0Ioa)hKI0MG^F5Hz@jC?OA!3EL0{Xad9F z5L5#gh=xs&1v-EjumKv0ClaTj4K+Lj7lRMBRM6!w&Z(`LU0$ZWsbAT&Bc;E@BYKPk09b)&$-r=Q#q(wTWLh4jA z-sPs#*fv+UZrPNE$+DWMGfZ=E!bI1L-_ExDvhvAr#|Lgx3*Dw1ojmQmN>kvWwzQd_ zHM}UPd1S7xFkZV5>tGZ3jih2vV)g{5ON$rkZEf`uN%5$WXQZR^+}!GXH1~WL)y2ik z0&XP!3&??^M+a{_HykUDcaTmCDW84fPQ2YY{Sy~`$p}zwKVvH0 zocrsnmnG3Y!haKb&o3>xyr61j9yMB?cI~>V+xhv0;&G!czoY+JR?+kJTZ@<8mTNsC zzFOuT*l_b*z}ALSDZFQ8c3)7;r_OelQM&$u@aEd0NPD#PR(wlM-0+{XTq9a*v}IM1 zmaa(u2&3EILA!5nd~Jw(a=JP-esI$C#??lLKab8I7(3%cR7>*pAkV=sWR3Un#4#%Z zT*fQ16~n;lu<$|KL)wO9dzm79=f^+OO#ab1+P0^98&yn+ZC&ih zXBqWgF%OqldG=4KCz)ZIXoKpvXB%_p_eI?kjwa;)Fyn;A(_!4Pz1wmG?Y^B!BeQgd z;H8SRm9*t_poU*B$;;Gys=bgfdiAIs{cm$NC~`~2O+9tDJ-zC1MgDR@75h#(Q=br; zQ6GG+CV0uooOQ$VE(!0FbZ7dU3(F3FdDSWSn;*93{wox>?keo|IFOWF`z*z9wmB*$ z>}2^nX{dUjwT5__j>xL=*4X7{C_LNEsd973`HrHqZIKt{Wq-U0E9f_-RF<|oON3*^ zYxN@(vMo7tJ>8$DbQGB-o4e%o8`AyCCbXpcRl23H^(xDeTd9xT!;(gp)i$yo51}n5 zqH-)R)D}3JG7ZHJ<=F7RJyX*4*c`N6ua>7@NM!*+_6YSrQ+icpzj4;4ikYg!?;Ksz zQ!5)?Gar7@Rw~}-ji~MkslHY#f1M;4>Wr~N?$;%=xB8Y|zpEyn^9?&%l3S#5Q|8{n zf@Z-x^io5oYLcKdJFiumVtqz@G+46qcIr#A+kMTM!}E2L@Zzbqj>|@6d%g8N6d2jD zIV4Hh?EB&Nr#4@+?BD{aMOq{;-!Axd*PjXYQX9)dd+Jkqj;6k;NziXohj<6Ze{Omd zhWGW%^Pb;txu_lJXb*PoAD^qXbm$UN2JDpGdjD`!9CZxz{aE8*Sjko#{6@3Hqh zifFvmY4_^rwg^eTP22^)&V6^|=kcpM^r$bxhbwMcM0aH2q6LDtbJI56TOqx+=kZ1&Va2-cqWAv~EHFsZmg+xoJMUzU)%*)DGCkHtt>3()?DX5J{SOR$z4T_E Wf3cZ1&Va2-cqWAv~EHFsZmg+xoJMUzU)%*)DGCkHtt>3()?DX5J{SOR$z4T_E Wf3chlRb zg?^sG6-0^vEPMbGYb9EkhoZ(AP?CI@zW^e25=@T(I)w^FivT8g4@r#x8*%^t|NH#? z{Qds$^!WVz{UTSE`uqJVUYotm;2BDd`uhA!b*TbCh?%U+U4XC}MT%pGweCmr@GX2mc8BP?-fanuff><{{KW|o)bffh^EK$_W50dv2~TcC|sIghO~B( zyEtf}{QdoNmA$ja+*p9Gu*BJlr^vO&-62hoIbxliwa~=T;>yGBauj{pDvA^8LW004ggEC2ui z03HAj000O7fFTxQa7AVV0s&-OGjR-Ykdcy+HwtAK6%_^xD_3n71{M!&C3dE#sHtuN z4Gj}9IcP`@86yia1PFAyyuH0xQVdX=gPXIW1I6 zK1T`^e&y!p=N}RU1pr1~U{g$@{W%FvYK=D zd9Ni^XY-VIe~@GStJtrecf)qy!tx)%8kJRXtp#=UjSV3k%0<;8&H5@+rq*^$nyKBJ UHfz?L#CbCpELo~3$iQF?0K71AF#rGn literal 0 HcmV?d00001 diff --git a/language/flags/es.gif b/language/flags/es.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b4643a80aff02d9f98594fec3400f442ea8aa35 GIT binary patch literal 141 zcmZ?wbhEHbG-8lr*vtR||AFW~5D^7*KsrEr9ax+UPI#`~Yw`MQwOE2iUrOe@#mm>_ zyk^VLIsYj8e#N@?HtzoqEGY2MSyXjmNzut1tN8(Q3%%Axt-rBGOyX_T{s$janHa1A D90O2Z literal 0 HcmV?d00001 diff --git a/language/flags/fr.gif b/language/flags/fr.gif new file mode 100644 index 0000000000000000000000000000000000000000..db75fc710d225daad599ec1db7d305e333bcd897 GIT binary patch literal 140 zcmZ?wbh9u|lw%NL*v!Dd!Laoh1Ht2f&XIHXEXcVM; z2z?YB@%?N8P_8NILLoJh!t7{&QsTH97mP4hn% I!NOn-06|etiU0rr literal 0 HcmV?d00001 diff --git a/language/flags/index.htm b/language/flags/index.htm new file mode 100644 index 0000000..e0cc5f3 --- /dev/null +++ b/language/flags/index.htm @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/language/flags/it.gif b/language/flags/it.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc5a2cc591e922016057996dddb786255e73d653 GIT binary patch literal 140 zcmZ?wbh9u|lw%NL*v!Dd(8BPaf#E;VKnJLW0i>6K#ZlmdXX{>z7iU+pM`#qJdoO|3j;{J|ld^e=;b?r~qI~l#N4k_xUsbvil#MT|WN$E4%j52Xpg( zpFZ)gc)+mW?t2y055NBMFMsgC)Qn-#z4scL|NsAIAOsYDvVfK7fJl&?46LaS7WSlM zYB{W8ayQsppmRQ7;G%^btKa+o2NLuRIwbl}EV*Q%p)>EoijrSC0qbt8DLehPYJY2pMSBX>TKTb`wv+dtN~!BJ)Zyo literal 0 HcmV?d00001 diff --git a/language/flags/pl.gif b/language/flags/pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..def82d6f48a6d7aa23764e8e20a59a3d4e356352 GIT binary patch literal 1121 zcmV-n1fKgxNk%w1VLSjQ0M!5h{4hr8|NZ~^?fWz}{WU4u|NN|tc=7-K*NTk({_+1R zC;#*Q+IfVzjg991>aR*s`|0fVY=8gi_{~F5|Ni*@{QcBwbe$q8|KIKZ`2YVbIkHz_ z{p;WN|NpJ0ue54ykdK1zEF5$=E&lWJ@&EF9rj!0cHOe_jyf?|G~!hH#Gk-F#a?&|1mcIGBp1) zGynhpA^8LV00000EC2ui06YLE000L6z@KnPEdD4IiR9oobR>&Pi$ba<5}Z*Wa5yX$ zg~GRMESt*|nzDOnEhM9(gX9o!kd8pX3l=ZPXMtu10bfEH2n>lI77UIN5eyaxBNPx{ zTNxQ09fF=kgkLlj5H1_1j4}@!6Dq441{oEY0h*kjxIbGz8DAKy55X)fI1?-|!4?(* z0yH!>HWktpxu3h53m6*@3>*k77ZDdQ5eOGD3=|2@(9_h_f}ET*5WfuuF(3#o1_m7W zF*YC|5x~X|X+jXf3*^KJg%R2i2mleofCvEw?imp9;R6$c3KcFiBkh2V1Ol{i0O7y^ zh!q7&I9MTb0|PP@H2vrRXk?lHk|$Gc_z)uu2@oX;w47;^%R!wy5BMZmfyBuKzbs(j z-~oh$03NQ4Nbw*-FHM@Lg_-)Z>eXKlFeHHBVL^ug2}U%Kpu(&Kw6cDzWm_bz4LTeq z0H|>RfrJK-Azx6@cN8^Fv7N|3To(~hMs99mR9Nz zrviC~5U7(cXyD|NSV}1+qKNw7>8GHE>VpDKVrl9QbH0!RmnM+<0uMZBpa2hnW~!;E zqH?P1poI2H=&r!->g%v+2CGA#$R?|7pPEi->a(><3FfL;)(Rz*1T3rVw%TeM<+IQd zpo6qCP%G}W;$q2uEwZq->+ZX-B1`7H$?o7o4?1X|LAyQdK&H0v1}t#E^3FRzz4zw3 zFRcCkyX?U2{weXq6#q#kyayv|uMY0|TQIEpYEbdWB#(UYyBYVnamOj29CFDL_aO7k nG}mnN%{b?*^Ugf??DNk+2QBo_L>F!J(MTt)^wLcG90UM6K}Y-7 literal 0 HcmV?d00001 diff --git a/language/flags/pt.gif b/language/flags/pt.gif new file mode 100644 index 0000000000000000000000000000000000000000..e32766f8fc1e81da4f36891439308a51dbb50b9d GIT binary patch literal 3316 zcmV)zK@LxW!e+Ja6E1<$9 z&Lx10`CwcnTfZhx6S3Zz0Qgx+`=q$ zZ=CWZBfHuHQJo99J_6?X0^J-UnVc!r7e6+P4({SQ8hilLMj+oG5a1sWEtUY>ArLW> z0Nx-FA^8LV00000EC2ui0DAyZ000L6K$~zFC>oE*q*8cfFa&~t?Jy`41ejEPo?kByR(jaNOF zd1GaMoJfFegHMHXc%`Ovm<4)FMn0~uKCQ5`w61`GK7;~>m%YBfz`?@9#Kc!W$Um8^ zMYXcE(4m1mxuQ{X#o5~1+EzWuJ()<*W7@bU8V^!4XvXw!lU9U7Fu%xO+ch(wsIsne%W->tMK6{=Ny3zhlQ z2#cs!qPdDPP?XkDu}is$9!=Wp4@_b*ALVQ}uKcs!(WNWAj{P*S?bGehop+ajC*ENU*zgiqyag0oItent z+yMu`5Wol{AV-A)94e6iKz{mg7+qUwZ8soc1@1H6Zs-xzU{?=TQ^te`2!Y`)8*=D^ z3($Qi-3$txAS8)T<#eK3->Hb8g6A>l*lX1k!5&EK*dTxj7>;0^8x$@uzyL9XNdgH7 zJkX(tGt^MSJlXwnBw9&^x1xEx3H1s{Q6BZ+AO~ESr3p9)2Lk~cbkM;EAsCRub!RF7 zotkX==gXUC#d)A^OxBs6D_ag{9uE&5=L3ZY5I}$f5~L~t3m&w}0t*x*8fFaF;n#ya zZKgu$RVm7OSa}Qf#wmTCN*UahO676@4H~eJYO5YdFo6RburNUf6j1O%4iD4{-L3KD z8cqSbLS^ZA2?lHb=dchuVMI*EHJ5<}6HKtd1~54B!V407(0~C3WYBB}EI0rr31%uV zZh;Bxa~c-qzSZlcE=DZC>butB{JWI$oQ2ka|B2o1#W-Z!t>Eb^( zDeU7jJviaL4y-Uh0~Un;0SO!=;GqE;I6#4z*2REm2wzTM!TrFaKU)D08E(DeO2QP- zT*N(4wTC%`x`CnScfSx&paC2>feR2|01vn?Wl|fRwmN`158TfJ75H4%X2TNdgvWpX zgI&6`x2|fOZ7=3=!UA4(gH*9#006^44r%~`27us)6{tYWe)z)&C=UZ5AigVVsjc`Oq_5w4aLF<0&7*OCa{33T@3_5tN;cukVZAK5d#T8fYipc z0&RW&U;-gPpOB=pwJN3%i@$2z_B>*oTjauJ8*qRF{l%dK~}R%o(2I6vCbcF6+jNGP*VgnAhHON3k}>LY0=810$i|z z1o%>tBDeqqE)W59mQqM3NI(o4K&EIJfCN9_hjpTvN}jD!kS)|^Aw|Ih7`%!A3pkbK zI>doH{$tTmh~Vq8W_ziq!Pg*tBT2)uhyHFwlSnpJjoV zb}I)Z5J3tea8pW(K&xL>0m2?|RcZC~WKT>$xAy5M1sqkCfD~XW3HTBy9Ka~KsFnph zSveXkAOs=sT~=G5&Ikk(0ufjzVjG}=6@=iC8t~+^{FZ>B5*0{B?PtVRDZA~})r(Hh zYpXKgw!elTd?f%T1X`e4cB=CNDHwnTH1Jp@4ggvnpnw4o@KK_M)UAj^D)z*1&9c3M zi`}~`8+@<<3OL}UG$8E)ZaLc$sGtQcKmkM%i(M3`U;xf#fdLwjftOk^x1Y2BEJz*o zR)5B|VoW_QUe9sYLBQaCFJ*xS{F(t!=5nIi1wdlkDFW@PpaGzCKn`Ni0a`w{Uoi*= zf2IQ@1OykZNu^kEXV*nQ_`n7RE!e3nU^%ir0B@F*BqiG^$qK|V2P6PN4nAN29il3a zm9@e?G27nFzL%BQj0r5D;I4Eu3!&u|pLHG(;|fT!wU;cx4-zmY5?~-^^^`!&4%AzH zR9Lg+`e%IWvQ5vt#s)`ozySgUg9UJ42JPtOlV2-Iv2th!^R&PVHV^{?c=Dd*yaY&5 zInCk5Zp^$XGZbKe0|Fe>I5t>74Q7ylA8?=nGvq>xWNnmJn(@Pc=Bpf zt{F&03g%sv6wy#{52%jA02owD%^T3b2O37snKl3ekxW5=zZ-)e2+0K?$N&Xuct0A` zii(w0T>*43Gm`$;qy&t0HD;|81Qu*x6QFFvIFJJj=nVxo6+sIYPy!6pY;z+*0x&KU zcrr2VY74iTKsIg{htr1ktgT?Xn{6)18!``MAb4s$?Wx8$fF?for8lq|nJ$v=j`Q2v z8D<=;g+ubkREP!zLlp~da6?Y2u}rjjz(<$2vU)N7xfTe))vQDRow{Y>8y?57p+oK@ zZ43M}6xt{Y2ykA1k$_uMrd65VK0X6bpnT7LmBGklVfDG7(ucW3*xeiS>;<{0W*0c9 za8YX*IN%2DTfhMvgM+vYAjS#!Aqf(ZgC3UG19+?~0;XBuuB)-U0 zQr4+nrnDzTx&b9fUJv6~X}qy7Ra#Gg7!Xit>Nsi#sMm+;HH>Z76J2A*3QiGh%`Xc| z9tZl8feaofwUiA2;^E${`V=z09-xU0see}cTf7$XS=jCfUkVLK>J$fqyaua z0sAG2OlDFM<<}CfvwT9=dQBx{0ijJA!vF+81E6O=<#T`kGT?Ieb1m6oZ+-Ve4#5&? z;U5P0E1eZkO+^b+a#tiHFA%p^5}1W*7UCNL^qLIR1nIc_yN9AHtR_yCO9 zTXeV(2NH>h@e+#RN&s;VW(FaCNCoHzbcU8TK_(Obynzk{u@t%JgA~Jy7vqaZ0gUQ^ zi^GVA)ntr=G>b44Io9A8&FGA)2aQ1}jmlV!%y^Bi_Fmd3i~k@H)Myaa2#(=cc&Wh^ z$LNdZ$avoP7wUK`xp=#J4?j?*ZQ{Ya1h*c|~0i*-Sc=1`FQ zD2xdSkm4wi+enbzc#soGk?i=2=Mjtf$c-u$kq5Dn1G11G*^nWLks}$5C25kBfs!V8 zkq?=X5($%%A(IQ}kT3y}E}4!vSs4|{ki7_xKDmqt8I(wJZDr7uPWhBj$qe$LAfwP6 ys&kcCnUz|(m0a1CUdfe2^pp{jiBVaWQpp?6b>{vEMRD8U|4W~;s1Xi`VW;vr4)a%00q7?=zxSl zW-zmK3!Ly=y*Kp5Sxd#(9iB<<62}u8o^otCH1nKR^rS^T?_d9&wc@6NgUp8+#X zA=Thp%vfV$>*-+P?7|wQ*&ArD*buGQYFRPWW6lg+t7*D(4de}`ORQZdBFJD30GP>5 AKL7v# literal 0 HcmV?d00001 diff --git a/language/flags/sw.gif b/language/flags/sw.gif new file mode 100644 index 0000000000000000000000000000000000000000..a82090e74711fbc1b9fa8527cdfe4e675f57adb7 GIT binary patch literal 117 zcmZ?wbhEHbRA3Nc_{abT$#edn12J?!1W25b$*-k<LyePyJ0j|@Ca0_ec}Q!QUP zK9;pmmjwhhLC|xOf~pHzN~KqEav zGe|p-HqHWk6ah&g1&{zD0puT*{g%!?%aoDiQ$V7x@COShiZRA}zagp_Mf^TAC3)f$ ziJ>*WSkGG)J^=hoQ?a*aB;AC-V}1lB{z<@_aM@EHr^W}qDDX&<;&w|MV48qwlUb{Y zev0PDNBWb3A$GT0XBZr~gL3fI?GAJ=&@yvy>N$3{;;pN1{29sm>T!zu42lNkhq+FS zy-0$DW#t-8AtfONc%$n9$BoP8xPgsP3E*)q*SYwa_yf^62 zJLj-ShYy`6BZA=a1;O7*Eo;rGj26&4+P7BhKI`#$tl@2S8=H>O^x6$u$f5=plYM6K zv2`n!o|N|~CkS64=w!K-OExX9<+2LzU6a8}T{c^<*Y)>Rrde{1Kei2ohc8~@GlWqk m+)Z8ah4O4SH~-x`Qo7m`GWdf}Nyb#sGt|{zMiyNFDESZTkJN+! literal 0 HcmV?d00001 diff --git a/language/flags/vn.gif b/language/flags/vn.gif new file mode 100644 index 0000000000000000000000000000000000000000..7cdc6270e40585149a6260fe82434a80a459c33d GIT binary patch literal 207 zcmZ?wbhEHbG-8lrSj52a{|v+bnZ{?*jL#SwpJ6a&fC0syEMTS%hy&`y| zE2q_aEndfp{!j3zOv>y#yt3^{*REJD;U)v&wcHHl>-el^o-XHl!(_ZDbGtW}JwKzc zLc@l6vl|Ofy_MT2wbbpE?roPxAGZB5U22~4ng7hB^WlZ>etx;PW~WDaO)ytWlUfR+ zQIvJHYORDr*F?7xnF-=iGL!SBMJmioTxj0EcuDwj+hr@KuU@lAXyc~M+?)*702?(= A?*IS* literal 0 HcmV?d00001 diff --git a/language/fr/help.php b/language/fr/help.php new file mode 100644 index 0000000..473470b --- /dev/null +++ b/language/fr/help.php @@ -0,0 +1,119 @@ +
+

Sur ce projet

+L'idée pour ce projet est venue de Daniel Schlichtholz.

Il a ouvert en 2004 le forum MySQLDumper et rapidement d'autres développeurs ont écrit de nouveaux scripts ou bien élargi les scripts de Daniel. En peu de temps le simple script de sauvegarde est devenu un imposant projet.

Si vous avez des propositions d'améliorations vous pouvez les communiquer dans le Forum MySQLDumper http://www.daniel-schlichtholz.de/board.

Nous vous souhaitons beaucoup de plaisir avec ce projet.

L'équipe de MySQLDumper

+ +
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Script Perl avec le soutien de Detlev Richter
+
+
+ +

Aide MySQLDumper

+ +

Téléchargement

+Vous venez de télécharger ce script sur le page d'accueil de MySQLDumper.
+Nous vous conseillons de visiter régulièrement la page d'accueil, afin d'accéder aux mises à jour et au support.
+L'adresse est: +http://forum.mysqldumper.de + + +

Système requis

+Le script travaille sur tous les serveurs (Windows, Linux...)
+ayant PHP >= version 4.3.4 avec GZip, MySQL (à partir de la version 3.23), JavaScript (doit être activé). + +

Installation

+L'installation est simple. +Décompresser l'archive dans un répertoire quelconque.
+Envoyer tous les fichiers sur votre espace web. (exemple:Dans le niveau le plus bas [Répertoire du serveur/]MySQLDumper)
+... c'est terminé!
+Maintenant il suffit d'appeler MySQLDumper en saisissant l'adresse suivante dans votre navigateur "http://mon-site-web/MySQLDumper"
+afin de terminer l'installation. Il suffit maintenant de suivre les instructions.
+
Remarque:
Si votre espace web à la fonction PHP Safemode activé, le script ne pourra pas créer les répertoires.
+Vous devrez le faire manuellement afin que MySqlDump puisse sauvegarder les données dans les répertoires.
+Le script s'arrêtera avec un message en conséquence!
+Après avoir crée les répertoires (d'après les informations reçues), le programme fonctionnera normalement et sans restrictions.
+ +

Mode d'emploi du script Perl

+La plupart ont un répertoire cgi-bin, qui permet d'exécuter en Perl.
+Vous pouvez y accéder dans la majeur partie des cas en saisissant l'adresse suivante dans votre navigateur http://www.domaine.com/cgi-bin/.
+
+Dans ce cas veuillez suivre les étapes suivantes:

+ +1. Appeler la page 'Sauvegarde' dans MySQLDumper.
+2. Copier le chemin qui se trouve derrière le texte: crondump.pl pour $absolute_path_of_configdir:
+3. Ouvrir le fichier "crondump.pl" dans un éditeur
+4. et transmettre le chemin que vous venez de copier près de absolute_path_of_configdir (sans espace)
+5. Sauvegarder crondump.pl
+6. Copier crondump.pl, ainsi que perltest.pl et simpletest.pl dans le répertoire cgi-bin (Mode-ASCII par FTP)
+7. Donner les droits CHMOD 755
+7b. Si l'extension .cgi est désirée, changer pour les trois fichiers l'extension de .pl vers .cgi (action renommer)
+8. Appeller la configuraion dans MySQLDumper
+9. Choisir la page script Cron
+10. Changer le chemin d'exécution Perl vers /cgi-bin/
+10b. Si les scripts ont l'extension .cgi, changer l'extension vers .cgi
+11. et sauvegarder la configuration

+ +Voila, c'est terminé, les scripts s'exécutent maintenant d'après la page de sauvegarde.

+ +Si vous pouvez exécuter Perl de tous les fichiers, il vous suffit de suivre les étapes suivantes:

+ +1. Appeler dans MySQLDumper la page 'Sauvegarde' et cliquer "Backup Perl".
+2. Copier le chemin qui se trouve derrière le texte: crondump.pl pour $absolute_path_of_configdir:
+3. Ouvrir le fichier "crondump.pl" dans un éditeur
+4. et transmettre le chemin que vous avez copié près de absolute_path_of_configdir (sans espace)
+5. Sauvegarder crondump.pl
+6. Donner les droits CHMOD 755
+6b. Si l'extension .cgi est désirée, changer pour les trois fichiers l'extension de .pl vers .cgi (action renommer)
+(eventuellement 10b+11 ci-desus)
+
+ +Les utilisateurs de Windows doivent changer pour tous les scripts la première ligne où est stipulé le chemin du programme Perl. Exemple:
+à la place de: #!/usr/bin/perl -w
+remplacer par: #!C:\perl\bin\perl.exe -w
+ +

Navigation

    + +
    Menu déroulant
    +Dans le menu déroulant vous sélectionnez la base de données.
    +Toutes les actions suivantes se rapportent cette base de données. + +
    Page d'accueil
    +Vous trouverez ici des informations sur votre système, les différentes versions installées et des détails sur la configuration des bases de données.
    +La sélection d'une base de données vous donnent de plus amples informations sur le nombre de tables, le nombre de paquets, la taille et la dernière mise à jour. + +
    Configuration
    +Ici vous pouvez éditer, sauvegarder votre configuration ou bien réinstaller la configuration standard. +

      +
    • Configurer la base de données: Liste des bases de données configurées. La base de données active est listée en caractères gras.
    • +
    • Préfix des tables: Ici vous pouvez définir (pour chaque base de donnée) un préfix. C'est un filtre, qui permet de sélectionner lors de la sauvegarde les tables contenant le préfix défini (exemple: Toutes les tables qui commencent avec "phpBB_"). Si vous désirer sauvgarder toutes les tables, laisser ce champ libre.
    • +
    • Compression GZip: Ici vous pouvez activer la compression de fichier. Nous vous conseillons la compression, car les fichiers sont plus petit et nécessitent moins de place.
    • +
    • Courriel avec pièces jointes: Si vous avez activé cette option, vous recevrez après la création de la copie de sauvegarde un courriel avec la copie de sauvegarde en pièce jointe (Attention, la compression doit être impérativement activée, sinon la pièce jointe risque d'être trop volumineuse et ne pourra eventuellement pas être envoyée avec le courriel!)
    • +
    • Adresse électronique: Destinataire du courriel
    • +
    • Expéditeur du courriel: C'est l'adresse de l'expéditeur qui apparaitra dans le courriel
    • +
    • Transfert FTP: Si cette option est activée, après la création de la copie de sauvegarde, celle-ci sera envoyée par FTP sur un serveur.
    • +
    • Serveur FTP: L'adresse du serveur FTP (exemple: ftp.mybackups.com)
    • +
    • Port du serveur FTP: Port du serveur FTP (en général 21)
    • +
    • Utilisateur FTP: Le nom de l'utilisateur du compte FTP
    • +
    • Mot de passe FTP: Le mot de passe du compte FTP
    • +
    • Répertoire de téléchargement FTP: Le répertoire dans lequel la copie de sauvegarde doit être copiée (il doit exister des droits afin de pouvoir télécharger vers le serveur!)
    • +
    • Suppression automatique de la copie de sauvegarde: Si cette option est activée, les sauvegardes les plus anciennes seront supprimée d'après les options choisies. La combinaison d'options n'est pas possible.
    • +
    • Nombre de copie de sauvegarde: La valeur > 0 supprime toutes les copies de sauvegardes les plus anciennes excepté le nombre défini dans ce champ
    • +
    • Langue: Ici vous définissez la langue de votre interface.
    • +
    + +
    Administration
    +Ici s'exécutent les actions.
    +Toutes les copies de sauvegarde sont visibles ici. +Pour les actions de restauration ou de suppression on doit sélectionner un fichier. +
      +
    • Restauration: La copie de sauvegarde sélectionnée sera restaurée.
    • +
    • Suppression: La copie de sauvegarde sélectionnée sera supprimée.
    • +
    • Exécuter une nouvelle copie de sauvegarde: Exécution d'une nouvelle copie de sauvegarde (Dump) d'après les paramètres du menu "Configuration".
    • +
    + +
    Journal
    +Le journal vous permet de voir et de supprimer les entrées. + +
    Crédits / Aide
    +Cette page. +
\ No newline at end of file diff --git a/language/fr/lang.php b/language/fr/lang.php new file mode 100644 index 0000000..17c9571 --- /dev/null +++ b/language/fr/lang.php @@ -0,0 +1,104 @@ +indisponible"; +$lang['vom']="de"; +$lang['mysqlvars']="Variables MySQL"; +$lang['mysqlsys']="Ordre MySQL"; +$lang['Status']="État"; +$lang['Prozesse']="Processus"; +$lang['info_novars']="aucunes variables disponibles"; +$lang['Inhalt']="Contenu"; +$lang['info_nostatus']="aucun état disponible"; +$lang['info_noprocesses']="aucun processus en cours"; +$lang['fm_freespace']="Espace libre sur le serveur"; +$lang['load_database']="Rafraîchir bases de données"; +$lang['home']="Page d'accueil"; +$lang['config']="Configuration"; +$lang['dump']="Sauvegarde"; +$lang['restore']="Restauration"; +$lang['file_manage']="Administration"; +$lang['log']="Journal"; +$lang['choose_db']="Choisir la base de données"; +$lang['credits']="Crédits / Aide"; +$lang['multi_part']="Sauvegarde en plusieurs parties"; +$lang['logfilenotwritable']="Écriture du fichier journal impossible!"; +$lang['sql_error1']="Erreur de demande:"; +$lang['sql_error2']="MySQL déclare:"; +$lang['unknown']="inconnu"; +$lang['unknown_number_of_records']="inconnu"; +$lang['ok']="OK"; +$lang['cron_completelog']="Sauvegarder toutes les sorties dans le journal"; +$lang['no']="non"; +$lang['create_database']="Créer une nouvelle base de données"; +$lang['exportfinished']="Exportation terminée."; +$lang['sql_browser']="Navigateur-SQL"; +$lang['server']="Serveur"; +$lang['mysql_connection_encoding']="Encodage standard du serveur MySql"; +$lang['title_show_data']="Afficher les données"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_config_overview.php b/language/fr/lang_config_overview.php new file mode 100644 index 0000000..33f770b --- /dev/null +++ b/language/fr/lang_config_overview.php @@ -0,0 +1,114 @@ +%s
dans %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="Récepteur-CC"; +$lang['name']="Nom"; +$lang['confirm_configfile_delete']="Etes vous sûr de vouloir supprimer le fichier de configuration %s ?"; +$lang['error_deleting_configfile']="Erreur: Le fichier de configuration %s ne peut pas être supprimé !"; +$lang['success_deleting_configfile']="Le fichier de configuration %s a été supprimé avec succès."; +$lang['success_configfile_created']="Le fichier de configuration %s a été créé avec succès."; +$lang['error_configfile_name']="Le nom du fichier \"%s\" contient des caractères invalides."; +$lang['create_configfile']="Créer un nouveau fichier de configuration"; +$lang['error_loading_configfile']="Impossible de lire le fichier de configuration \"%s\"."; +$lang['backup_dbs_php']="Sauvegarde DBs +(PHP)"; +$lang['backup_dbs_perl']="Sauvegarde Dbs +(PERL)"; +$lang['cron_comment']="Ajouter un commentaire"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_dump.php b/language/fr/lang_dump.php new file mode 100644 index 0000000..00885a4 --- /dev/null +++ b/language/fr/lang_dump.php @@ -0,0 +1,57 @@ +%s`."; +$lang['dump_endergebnis']="%s table(s) avec en tout %s enregistrement(s) a/ont été sauvegardée(s).
"; +$lang['mailerror']="Malheureusement une erreur est apparue lors de l'envoie par courriel!"; +$lang['emailbody_attach']="Dans le fichier joint vous trouverez une sauvegarde de votre base de données MySQL.
Copie de sauvegarde de la base de données `%s` +

Les fichiers suivants ont été créés:

%s

Cordialement

MySQLDumper
"; +$lang['emailbody_mp_noattach']="Une sauvegarde en plusieurs parties a été créé.
Les sauvegardes ne sont pas envoyées en pièces jointes!
Copie de sauvegarde de la base de données `%s` +

Les fichiers suivants ont été créés:

%s


Cordialemene

MySQLDumper
"; +$lang['emailbody_mp_attach']="Une sauvegarde en plusieurs parties a été créé.
Les sauvegardes sont envoyées en pièces jointes!
Copie de sauvegarde de la base de données `%s` +

Les fichiers suivants ont été créés:

%s


Cordialemene

MySQLDumper
"; +$lang['emailbody_footer']="


Cordialement

MySQLDumper
"; +$lang['emailbody_toobig']="La copie de sauvegarde dépasse la taille maximale de %s. Pour cette raison elle n'a pas été envoyée en pièces jointes.
Copie de sauvegarde de la base de données `%s` +

Les fichiers suivants ont été créés:

%s +

Cordialement

MySQLDumper
"; +$lang['emailbody_noattach']="La copie de sauvegarde n'est pas jointe.
Copie de sauvegarde de la base de données `%s` +

Les fichiers suivants ont été créés:

%s +

Cordialement

MySQLDumper
"; +$lang['email_only_attachment']=" ... seulement la pièce jointe"; +$lang['tableselection']="Sélection de la table"; +$lang['selectall']="Tout sélectionner"; +$lang['deselectall']="Tout désélectionner"; +$lang['startdump']="Démarrer la sauvegarde"; +$lang['lastbufrom']="dernière sauvegarde du"; +$lang['not_supported']="Cette sauvegarde ne supporte pas cette fonction."; +$lang['multidump']="Sauvegarde en plusieurs parties: Les bases de données %d ont été sauvegardées."; +$lang['filesendftp']="Les fichiers sont envoyés par FTP... Veuillez patienter. "; +$lang['ftpconnerror']="Aucune connexion FTP n'a pu être établie! Connecter avec "; +$lang['ftpconnerror1']=" comme utilisateur "; +$lang['ftpconnerror2']=" impossible"; +$lang['ftpconnerror3']="Téléchargement vers le serveur FTP est erroné! "; +$lang['ftpconnected1']="Connecté avec "; +$lang['ftpconnected2']=" sur "; +$lang['ftpconnected3']=" a été écrit"; +$lang['nr_tables_selected']="- avec %s des tables sélectionnées"; +$lang['nr_tables_optimized']="%s tables ont été optimisées."; +$lang['dump_errors']="

%s erreurs rencontrées: verdere

"; +$lang['fatal_error_dump']="Erreur fatale: Le rapport de création de la table '%s' de la base de données +'%s' ne peut pas être lu !
Vérifiez cette table et les erreurs éventuelles."; + + +?> \ No newline at end of file diff --git a/language/fr/lang_filemanagement.php b/language/fr/lang_filemanagement.php new file mode 100644 index 0000000..5a50a0a --- /dev/null +++ b/language/fr/lang_filemanagement.php @@ -0,0 +1,77 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Copie de sauvegarde"; +$lang['DoCronButton']="Exécuter le script Cron"; +$lang['DoPerlTest']="Tester le module Perl"; +$lang['DoSimpleTest']="Tester Perl"; +$lang['perloutput1']="Saisie dans crondump.pl pour absolute_path_of_configdir"; +$lang['perloutput2']="Saisie dans un navigateur ou pour exécuter un script Cron externe"; +$lang['perloutput3']="Saisie pour 'Shell' ou pour la crontab"; +$lang['restore_of_tables']="Choisissez les tables à restaurer"; +$lang['converter']="Convertir la copie de sauvegarde"; +$lang['convert_file']="fichier qui doit être converti"; +$lang['convert_filename']="Nom du fichier final (sans extensions)"; +$lang['converting']="En cours de convertion"; +$lang['convert_fileread']="Lire fichier '%s'"; +$lang['convert_finished']="Convertion terminée, fichier '%s' créé avec succès."; +$lang['no_msd_backupfile']="Copies de sécurités d'autres programmes"; +$lang['max_upload_size']="Taille maximale du fichier"; +$lang['max_upload_size_info']="Si votre fichier Dump est plus grand que la taille mentionnée plus haut, vous devez alors l'envoyer sur le serveur dans le répertoire en utilisant votre programme FTP."; +$lang['encoding']="encodage"; +$lang['fm_choose_encoding']="Choisissez le type d'encodage de la sauvegarde"; +$lang['choose_charset']="MySQLDumper n'a pas pu détecter automatiquement le type d'encodage de la sauvegarde
Vous devez choisir le jeux de caractères qui a été utilisé pour la sauvegarde
Si vous découvrez des problèmes avec quelques caractères suite à la restauration, vous pouvez répéter l'opération en choisissant un autre jeux de caractères.
Bonne chance ;-)"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_help.php b/language/fr/lang_help.php new file mode 100644 index 0000000..a69c41a --- /dev/null +++ b/language/fr/lang_help.php @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/language/fr/lang_install.php b/language/fr/lang_install.php new file mode 100644 index 0000000..ac90dc4 --- /dev/null +++ b/language/fr/lang_install.php @@ -0,0 +1,90 @@ +Installation terminée --> start MySQLDumper
"; +$lang['install_tomenu']="Retour au menu principal"; +$lang['installmenu']="Menu principal"; +$lang['step']="Étape"; +$lang['install']="Installation"; +$lang['uninstall']="Désinstallation"; +$lang['tools']="Outils"; +$lang['editconf']="Éditer la configuration"; +$lang['osweiter']="continuer sans sauvegarde"; +$lang['errorman']="Erreur lors de l'écriture de la configuration!
Veuillez éditer le fichier "; +$lang['manuell']="manuellement"; +$lang['createdirs']="créer répertoire"; +$lang['install_continue']="continuer avec l'installation"; +$lang['connecttomysql']=" connecter à MySQL "; +$lang['dbparameter']="Paramètre de la base de données"; +$lang['confignotwritable']="Impossible d'écrire le fichier \"config.php\". +Veuillez utiliser votre programme FTP et chmoder ce fichier en 0777."; +$lang['dbconnection']="Connexion base de données"; +$lang['connectionerror']="Erreur: aucune connexion n'a pu être créée."; +$lang['connection_ok']="Connexion avec la base de données a été établie."; +$lang['saveandcontinue']="sauvegarder et continuer l'installation"; +$lang['confbasic']="Configuration de base"; +$lang['install_step2finished']="Configuration de la base de données a été sauvegardée."; +$lang['install_step2_1']="Continuer l'installation avec la configuration standart"; +$lang['laststep']="Terminer l'installation"; +$lang['ftpmode']="Créer les répertoires par FTP (safe_mode)"; +$lang['idomanual']="Créer un répertoire manuellement"; +$lang['dofrom']="terminer par"; +$lang['ftpmode2']="Créer un répertoire par FTP:"; +$lang['connect']="connecter"; +$lang['dirs_created']="Les répertoires ont été créés avec succès."; +$lang['connect_to']="connexion vers"; +$lang['changedir']="muter vers le répertoire"; +$lang['changedirerror']="Mutation dans le répertoire non possible"; +$lang['ftp_ok']="Paramètres FTP sont ok"; +$lang['createdirs2']="Créer répertoires"; +$lang['ftp_notconnected']="Connexion Ftp non établie!"; +$lang['connwith']="Connexion avec"; +$lang['asuser']="comme utilisateur"; +$lang['notpossible']="impossible"; +$lang['dircr1']="créer répertoire de travail"; +$lang['dircr2']="créer répertoire de sauvegarde"; +$lang['dircr4']="créer répertoire du journal"; +$lang['dircr5']="créer répertoire de configuration"; +$lang['indir']="je suis dans le répertoire"; +$lang['check']="vérifier"; +$lang['disabledfunctions']="Fonctions désactivées"; +$lang['noftppossible']="Il n'y a pas de fonction FTP à disposition!"; +$lang['nogzpossible']="Il n'y a pas de fonction de compression à disposition!"; +$lang['ui1']="Supprimer tous les répertoires de travail avec les sauvegardes incluses."; +$lang['ui2']="Êtes-vous sûr d´exécuter l'opération ?"; +$lang['ui3']="Non, arrêter immédiatement"; +$lang['ui4']="Oui, veuillez continuer"; +$lang['ui5']="Supprimer répertoire de travail"; +$lang['ui6']="tout a été supprimé avec succès."; +$lang['ui7']="Veuillez supprimer le répertoire de script"; +$lang['ui8']="un niveau supérieur"; +$lang['ui9']="Une erreur est apparue, suppression impossible

Erreur dans le répertoire "; +$lang['import']="Importer la configuration"; +$lang['import1']="Importer configuration du fichier "; +$lang['import2']="Télécharger vers le serveur et importer"; +$lang['import3']="La configuration a été chargée..."; +$lang['import4']="La configuration a été sauvegardée."; +$lang['import5']="Démarrer MySQLDumper"; +$lang['import6']="Menu d'installation;"; +$lang['import7']="Télécharger vers le serveur la configuration"; +$lang['import8']="retourner vers le téléchargement"; +$lang['import9']="Ceci n'est pas une sauvegarde de la configuration !"; +$lang['import10']="La configuration a été téléchargée vers le serveur avec succès ..."; +$lang['import11']="Erreur: Il y a des problèmes d'écriture pour les sql_statements"; +$lang['import12']="Erreur: Il y a des problèmes d'écriture pour le fichier config.php"; +$lang['install_help_port']="(vide = Port standart)"; +$lang['install_help_socket']="(vide = Socket standart)"; +$lang['tryagain']="Réessayer"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="Base de données trouvée"; +$lang['fm_fileupload']="Télécharger un fichier vers le serveur"; +$lang['pass']="Mot de passe"; +$lang['no_db_found_info']="La connexion avec la base de données a été établie avec succès.
+Vos données utilisateur sont valides et ont été acceptées par le serveur MySQL.
+Mais, MySQLDumper n'a pas été capable de trouver une base de données.
+La détection automatique via le script est dans quelques cas bloquée par certains serveurs.
+Vous devez alors entrer manuellement le nom de votre base de données après la fin de l'installation. +Cliquer sur \"configuration\" \"Affichage des paramêtres de connexion\" et entrer le nom de votre base de données."; +$lang['safemodedesc']="La configuration de ce serveur étant avec l'option \"safe_mode=on\", les listes suivantes doivent être envoyées manuellement. Utilisez votre logiciel FTP pour effectuer cette opération):"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_log.php b/language/fr/lang_log.php new file mode 100644 index 0000000..5361332 --- /dev/null +++ b/language/fr/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/fr/lang_main.php b/language/fr/lang_main.php new file mode 100644 index 0000000..9ecbb1c --- /dev/null +++ b/language/fr/lang_main.php @@ -0,0 +1,68 @@ +"; +$lang['htaccess10']="Les mots de passes ne sont pas identiques ou bien vide!
"; +$lang['htaccess11']="Voulez-vous créer maintenant la protection de répertoire?"; +$lang['htaccess12']="La protection de répertoire a été créée."; +$lang['htaccess13']="Contenu du fichier"; +$lang['htaccess14']="Une erreur est apparue lors de la création du fichier de protection!
Veuillez créer manuellement un fichier avec les informations suivantes:"; +$lang['htaccess15']="Conseil d'urgence!"; +$lang['htaccess16']="Éditer .htaccess"; +$lang['htaccess18']="Créer .htaccess dans "; +$lang['htaccess19']="Réinitialiser "; +$lang['htaccess20']="Exécuter le script"; +$lang['htaccess21']="Ajouter le fournisseur"; +$lang['htaccess22']="Permettre l'exécution"; +$lang['htaccess23']="Listes des répertoires"; +$lang['htaccess24']="Document des erreurs"; +$lang['htaccess25']="Activer 'Rewrite'"; +$lang['htaccess26']="Refusé / Accepté"; +$lang['htaccess27']="Redirection"; +$lang['htaccess28']="Journal d'erreur"; +$lang['htaccess29']="autres exemples et documentations"; +$lang['htaccess30']="Fournisseur"; +$lang['htaccess31']="Général"; +$lang['htaccess32']="Attention! Le fichier .htaccess a une influence directe sur le navigateur.
Lors d'un mauvais emploi les pages ne sont plus accessibles."; +$lang['phpbug']="Bogue dans zlib ! Aucune compression possible"; +$lang['disabledfunctions']="Fonctions désactivées"; +$lang['nogzpossible']="Comme Zlib n'est pas installé, vous ne pouvez pas utiliser les fonctions GZip."; +$lang['delete_htaccess']="Supprimer la protection des répertoires (suppression .htaccess)"; +$lang['wrong_rights']="Impossible d'écrire le fichier ou le répertoire '%s' .
Les chmods ne sont mal configurés ou le propriétaire n'est pas bon.
Veuillez vérifier les attributs en utilisant votre logiciel FTP.
Le fichier ou le répertoire doivent être sur %s."; +$lang['cant_create_dir']="Impossible de créer le répertoire '%s'. Veuillez créer ce répertoire manuellement avec votre logiciel FTP."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_restore.php b/language/fr/lang_restore.php new file mode 100644 index 0000000..751a9fc --- /dev/null +++ b/language/fr/lang_restore.php @@ -0,0 +1,21 @@ +%d tables ont été créés."; +$lang['file_missing']="le fichier n'a pas été trouvé"; +$lang['restore_db']="Base de données '%s' sur le serveur '%s'."; +$lang['restore_complete']="%s tables ont été créés."; +$lang['restore_run1']="
Jusqu'à présent %s de %s enregistrements ont été enregistrés."; +$lang['restore_run2']="
En ce moment la table '%s' avec ces enregistrements est en cours de traitement.

"; +$lang['restore_complete2']="%s enregistrements ont été enregistrés."; +$lang['restore_tables_completed']="Jusqu'à présent %d de %d tables ont été créés."; +$lang['restore_total_complete']="
Toutes nos félicitations.

La base de données a été restaurée complètement.
Tous les fichiers de la copie de sauvegarde ont été enregistrés avec succès dans la base de données.

Restauration terminée. :-)"; +$lang['db_select_error']="
Erreur:
Choix de la base de données '"; +$lang['db_select_error2']="' échoué!"; +$lang['file_open_error']="Erreur: Le fichier n'a pas pu être ouvert."; +$lang['progress_over_all']="Progression totale"; +$lang['back_to_overview']="Aperçu général des bases de données"; +$lang['restore_run0']="
Jusqu'à présent %s enregistrements ont été enregistrés avec succès."; +$lang['unknown_sqlcommand']="Commande SQL inconnue"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/fr/lang_sql.php b/language/fr/lang_sql.php new file mode 100644 index 0000000..18b4d14 --- /dev/null +++ b/language/fr/lang_sql.php @@ -0,0 +1,183 @@ +%s lignes exportées"; +$lang['csv_fieldcount_nomatch']="Le nombre de tables ne correspondent pas au nombre de données à importer (%d à la place de %d)."; +$lang['csv_fieldslines']="%d champs calculer, en tout %d lignes"; +$lang['csv_errorcreatetable']="Erreur lors de la création de la table `%s` !"; +$lang['fm_uploadfilerequest']="Veuillez entrer un fichier."; +$lang['csv_nodata']="Aucun fichier à importer a été trouvé!"; +$lang['sqllib_generalfunctions']="Fonctions générales"; +$lang['sqllib_resetauto']="Remettre valeur par défaut"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="Désactiver Board"; +$lang['sqllib_activateboard']="Activer Board"; +$lang['sql_notablesselected']="Aucune table n'est sélectionnée !"; +$lang['tools']="Outils"; +$lang['tools_toolbox']="Sélectionner la base de données / Fonctions de la base de données / Import et export"; +$lang['sql_openfile']="Ouvrir le fichier SQL"; +$lang['sql_openfile_button']="Envoyer"; +$lang['max_upload_size']="Taille maximale du fichier"; +$lang['sql_search']="Rechercher"; +$lang['sql_searchwords']="rechercher le(s) mot(s)"; +$lang['start_sql_search']="Commencer la recherche"; +$lang['reset_searchwords']="Purge des critères de recherche"; +$lang['search_options']="Options de recherches"; +$lang['search_results']="La recherche pour \"%s\" dans la table \"%s\" a donné les résultats suivants."; +$lang['search_no_results']="Aucun résultat pour la recherche de \"%s\" dans la table \"%s\" !"; +$lang['no_entries']="La table \"%s\" est vide ou ne contient aucune entrée."; +$lang['search_access_keys']="Parcourir: +Vers l'avant:ALT+V, +Vers l'arrière:ALT+C"; +$lang['search_options_or']="une colonne doit contenir au moins un critère de recherche +(OU-Recherche)"; +$lang['search_options_concat']="une ligne doit contenir tous les critères de recherche, mais ceux-ci peuvent toutefois être indiqués dans n'importe quelle colonne (Peut prendre du temps de calcul !)"; +$lang['search_options_and']="une colonne doit contenir tous les critères de recherche (ET-Recherche)"; +$lang['search_in_table']="Rechercher dans la table"; +$lang['sql_edit_tablestructure']="Modifier la structure des tables"; +$lang['default_charset']="Jeux de caractères par défaut"; +$lang['title_key_primary']="Clé primaire"; +$lang['title_key_unique']="Clé unique"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Clé texte plein"; +$lang['title_nokey']="Aucune clé"; +$lang['title_search']="Rechercher"; +$lang['title_mysql_help']="Documentation MySQL"; +$lang['title_upload']="Envoyer un fichier SQL"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/it/help.php b/language/it/help.php new file mode 100644 index 0000000..a9ba52c --- /dev/null +++ b/language/it/help.php @@ -0,0 +1,126 @@ +
+

Riguarda questo progetto

+L'idea di questo progetto viene da Daniel Schlichtholz.

+Nel 2004 ha aperto il seguente forum MySQLDumper +
+in seguito ha incontrato dei programmatori liberi professionisti che elaboravano nuovi script e completavano quelli di Daniel.
+In brevissimo tempo nasceva da un piccolo backupscript un considerevolo progetto.
+ +

Se hai proposte di miglioramento rivolgiti al MySQLDumper-Forum: http://forum.mysqldumper.de +

Ti auguriamo buon divertimento con questo progetto.

Il Team di MySQLDumper

+
MySQLDumper +Daniel Schlichtholz - Steffen Kamper
+Perlscript con supporto da Detlev Richter
+
+
+ +

MySQLDumper Aiuto

+ +

Scarica

+Da questo script ottenete la homepage di MySQLDumper.
+Si raccomanda di visitate frequentemente la homepage per ottenere sempre le ultime informazioni, aggiornamenti ed aiuto.
+L'indirizzo è http://forum.mysqldumper.de + + +

Presupposto del sistema

+Lo script lavora su tutti i server (Windows, Linux,…)
+e PHP versione >= 4.3.4 con assistenza GZip, MySQL (>= 3.23), + +Javascript (deve essere attivato).
+ +

Installazione

+L'installazione è molto facile. Spacchettate l'archivio in una cartella a vostra scelta e caricatela sul vostro spazio web provider (server).
+(per esempio [rootdir/] MySQLDumper )
+…fatto!
+ +Adesso potete aprire MySQLDumper nel vostro Browser “chiamando http://webserver/MySQLDumper„ in seguito potete finire la installazione seguendo gli avvisi di istruzione.
+
Nota:
Se il vostro web server funziona con il safemode=ON, gli script del MySqlDump non possono costruire gli elenchi.
+Lo dovete fare manualmente, poichè MySqlDump mette i dati in ordine negli elenchi.
+Lo script si ferma automaticamente con una adeguata istruzione.
+Quando avete effettuato le indicazioni con le adeguate istruzioni.
+MySqlDump funzionerà normalmente.
+ +

Istruzioni Perlskript

+Molti hanno un elenco con cartella cgi-bin in cui puo essere efettuato Perl.
+A maggior parte dei casi questo e raggingibile tramite Browser http://www.domain.de/cgi-bin/.
+
+In questo caso consigliamo di effettuare i seguenti passi:
+
+1. Chiama nel MySQLDumper la pagina Backup e clicca "Backup Perl".
+2. Copia il percorso, che è scritto nella crondump.pl per $absolute_path_of_configdir:
+3. Apri il dato "crondump.pl" in editor
+4. Porta il percorso dove c`è absolute_path_of_configdir (senza spazi)
+5. Salva crondump.pl
+6. Copia crondump.pl, perltest.pl e simpletest.pl nel elenco cgi-bin (nel modo Ascii con FTP)
+7. Metti i permessi dei dati in CHMOD 755
+7b. Se preferite cgi come nome del dato, allora cambiate tutti i 3 dati da pl -> cgi (rinominare)
+8. Chiama la configurazione nel MySQLDumper
+9. Scegli la pagina Cronscript
+10. Cambia l`esecuzione del percorso di Perl in /cgi-bin/
+10b. Se gli script hanno .pl, cambiali in .cgi
+11. Salva la configurazione.
+
+Hai finito, i tuoi script si fanno caricare nella tua pagina backup.
+
+Chi puo usare Perl in tutti gli elenchi deve seguire semplicemente i seguenti passi:
+
+1. Chiama nel MySQLDumper la pagina Backup.
+2. Copia il percorso, che è scritto nella crondump.pl per $absolute_path_of_configdir.
+3. Apri il dato "crondump.pl" in editor
+4. Porta il percorso dove c`è absolute_path_of_configdir (senza spazi)
+5. Salva crondump.pl
+6. Metti i permessi dei dati a CHMOD 755
+6b. Se preferite cgi, cambiate tutti i 3 dati da pl -> cgi (rinominare)
+(ev. 10b+11 da sopra)
+
+Se usate Windows dovete cambiare in tutti i dati la prima riga;dove trovate il percorso di Perl. Esempio:
+aposto di: #!/usr/bin/perl -w
+adesso #!C:\perl\bin\perl.exe -w
+ +

Come si usa

    + +
    Menu
    +Nella lista di sopra configurate la banca dati.
    +Tutte le azioni seguono la configurazione fatta nella banca dati.
    + +
    Pagina iniziale
    +Qui potete sapere qualcosa sul vostro sistema, installazioni diverseversioni e dettagli sulla configurazione delle banche dati.
    +Quando selezionate il nome della banca dati vedete una lista delle tabelle specificato in quantità,grandezza e l`ultima data di aggiornamento.
    + +
    Configurazione
    +Qui potete elaborare, salvare o ripristinare la vostra configurazione. +

      +
    • Banca dati configurata: la lista delle banche dati configurati. La banca dati attiva viene visualizata in bold.
    • +
    • Prefix-tabelle: qui potete (per ogni banca dati) mettere un prefix.Questo è un filtro che nel Dumps viene considerato solo nelle tabelle con il prefix (esempio: tutte le tabelle che cominciano con "phpBB_" ). Se volete salvare tutta la banca dati lasciate libera questa casella.
    • +
    • compressione-GZip: Qui potete selezionare la compressione. È consigliato selezionare questa opzione, perche cosi i dati vengono ristretti per risparmiare spazio sul disco rigido .
    • +
    • Email con Dumpfile: Se avete selezionato questa opzione viene spedita una e-mail con allegato dopo il backup(attenzione, la compressione in questo caso e consigliata, altrimenti la e-mail non potrebbe essere spedita!)
    • +
    • Indrizzo-e-mail: Mittente della e-mail
    • +
    • Destinatario della e-mail: questo indrizzo e visibile nella e-mail come destinatario
    • +
    • FTP-Transfer: Se è selezionata questa opzione, al termine del backup viene spedito il dato tramite FTP.
    • +
    • FTP Server: l`indirizzo del server-FTP (esempio: ftp.mybackups.it)
    • +
    • FTP Server Port: la porta del FTP-server (in regola 21)
    • +
    • FTP User: nome del conto-FTP in uso
    • +
    • FTP parola d`ordine (password): La parola d`ordine del conto FTP
    • +
    • FTP cartella - upload: l`elenco in cui viene spedito il dato del backup (dovete avere il permesso per scaricare (upload)!)
    • +
    • Cancellare automaticamente i backups: +Quando è selezionata questa opzione vengono cancellati automaticamente i backups piu vecchi..
    • +
    • Quantità dei dati backup: Un valore > 0 cancella tutti i backup, fino al valore selezionato
    • +
    • Lingua: qui scegli la lingua per l`interfaccia.
    • +
    + +
    Amministrazione
    +qui vengono efettuate le vostre azioni.
    +Ti vengono mostrati tutti i dati nell` elenco backup. Per le azioni "Restore" e "Delete" deve essere selezionato un dato.
    +
      +
    • Restore: la banca dati viene aggiornata con il backup scelto.
    • +
    • Delete: cancellare il backup selezionato.
    • +
    • Partenza nuovo backup: qui fai partire un nuovo backup (Dump) secondo
    • +
    • i parametri della tua configurazione.
    • +
    + +
    Log
    +Qui puoi vedere e cancellare i log (connessioni effettuati).
    + +
    Credito / Auito
    +questa pagina \ No newline at end of file diff --git a/language/it/lang.php b/language/it/lang.php new file mode 100644 index 0000000..2c79580 --- /dev/null +++ b/language/it/lang.php @@ -0,0 +1,104 @@ +non disponibile"; +$lang['vom']="dal"; +$lang['mysqlvars']="Variabili Mysql"; +$lang['mysqlsys']="Comandi Mysql"; +$lang['Status']="Stato"; +$lang['Prozesse']="Processi"; +$lang['info_novars']="nessuna variabile disponibile"; +$lang['Inhalt']="Contenuto"; +$lang['info_nostatus']="stato non disponibile"; +$lang['info_noprocesses']="nessun processo in corso"; +$lang['fm_freespace']="Memoria disponibile sul server"; +$lang['load_database']="Ricarica database"; +$lang['home']="Pagina iniziale"; +$lang['config']="Configurazione"; +$lang['dump']="Backup"; +$lang['restore']="Ripristina"; +$lang['file_manage']="Amministrazione file"; +$lang['log']="Log"; +$lang['choose_db']="Seleziona database"; +$lang['credits']="Crediti/Aiuto"; +$lang['multi_part']="Backup in più parti"; +$lang['logfilenotwritable']="Il logfile non può essere scritto!"; +$lang['sql_error1']="Errore nella richiesta:"; +$lang['sql_error2']="MySQL dice:"; +$lang['unknown']="sconosciuto"; +$lang['unknown_number_of_records']="sconosciuto"; +$lang['ok']="OK."; +$lang['cron_completelog']="Salvare tutte le operazioni"; +$lang['no']="no"; +$lang['create_database']="Crea nuovo database"; +$lang['exportfinished']="Esportazione completata."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Codifica standard dei MySQL-Servers"; +$lang['title_show_data']="Visualizza dati"; +$lang['primaryKey_confirmDelete']="Vuoi cancellare veramente la chiave primaria?"; +$lang['setPrimaryKeysFor']="Inserisci nuova chiave primaria per la tabella"; +$lang['primaryKey_field']="Campo chiave primaria"; +$lang['primaryKeys_save']="Salva chiave primaria"; + + +?> \ No newline at end of file diff --git a/language/it/lang_config_overview.php b/language/it/lang_config_overview.php new file mode 100644 index 0000000..2e5af20 --- /dev/null +++ b/language/it/lang_config_overview.php @@ -0,0 +1,110 @@ +%s
    in %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="Destinatario dell'e-mail in CC"; +$lang['name']="Nome"; +$lang['confirm_configfile_delete']="Sicuro di voler cancellare il file di configurazione %s ?"; +$lang['error_deleting_configfile']="Errore: il file di configurazione %s non può essere cancellato!"; +$lang['success_deleting_configfile']="Il file di configurazione %s è stato cancellato con successo."; +$lang['success_configfile_created']="Il file di configurazione %s è stato creato con successo."; +$lang['error_configfile_name']="Il nome del file \"%s\" contiene dei caratteri non ammessi."; +$lang['create_configfile']="Crea un nuovo file di configurazione "; +$lang['error_loading_configfile']="Il file di configurazione \"%s\" non può essere caricato."; +$lang['backup_dbs_php']="database di cui fare il backup (PHP)"; +$lang['backup_dbs_perl']="database di cui fare il backup (PERL)"; +$lang['cron_comment']="Inserisci commento"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/it/lang_dump.php b/language/it/lang_dump.php new file mode 100644 index 0000000..454b3c9 --- /dev/null +++ b/language/it/lang_dump.php @@ -0,0 +1,56 @@ +%s` nel database."; +$lang['dump_endergebnis']="Sono state salvate %s tabelle con %s record.
    "; +$lang['mailerror']="Spiacente, nell`inviare l`e-mail si è verificato un errore!"; +$lang['emailbody_attach']="Nell`allegato trovi il backup del tuo database MySQL.
    Backup del database `%s` +

    Il seguente file è stato creato:

    %s

    Buona giornata

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="È stato creato un backup multipart.
    Il backup non viene spedito come allegato!
    Backup del database `%s` +

    I seguenti file sono stati creati:

    %s


    Buona giornata

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="È stato creato un backup multipart.
    Il backup viene spedito con e-mail separate, con allegati!
    Backup del database`%s` +

    I seguenti file sono stati creati:

    %s


    Buona giornata

    MySQLDumper
    "; +$lang['emailbody_footer']="`

    Buona giornata

    MySQLDumper
    "; +$lang['emailbody_toobig']="Il backup supera la grandezza massima di %s perciò i file non sono stati allegati.
    Backup del database `%s` +

    I seguenti file sono stati creati:

    %s +

    Buona giornata

    MySQLDumper
    "; +$lang['emailbody_noattach']="È stato creato un backup.
    Il backup non viene spedito come allegato!
    Backup del database `%s` +

    I seguenti file sono stati creati:

    %s +

    Buona giornata

    MySQLDumper
    "; +$lang['email_only_attachment']="Allegati del backup"; +$lang['tableselection']="Seleziona tabelle"; +$lang['selectall']="seleziona tutto"; +$lang['deselectall']="selezionare tutto"; +$lang['startdump']="Fai partire il backup"; +$lang['lastbufrom']="ultimo update dal"; +$lang['not_supported']="Questo backup non supporta questa funzione."; +$lang['multidump']="Multidump: Sono stati salvati %d database."; +$lang['filesendftp']="Invio del file via FTP in corso... un attimo di pazienza prego. "; +$lang['ftpconnerror']="Connessione FTP non riuscita! Connessione con "; +$lang['ftpconnerror1']="come utente "; +$lang['ftpconnerror2']="non possibile"; +$lang['ftpconnerror3']="FTP-Upload errato! "; +$lang['ftpconnected1']="Connesso con "; +$lang['ftpconnected2']="sul "; +$lang['ftpconnected3']="trasferimento completato con successo"; +$lang['nr_tables_selected']="- con %s tabelle selezionate"; +$lang['nr_tables_optimized']="%s tabelle sono state ottimizzate."; +$lang['dump_errors']="

    %s errori riscontrati: controllare gli errori

    "; +$lang['fatal_error_dump']="Errore fatale: l'istruzione di creazione della tabella '%s' nel database '%s' non è leggibile!
    Controlla se ci sono dei errori nella tabella."; + + +?> \ No newline at end of file diff --git a/language/it/lang_filemanagement.php b/language/it/lang_filemanagement.php new file mode 100644 index 0000000..3104091 --- /dev/null +++ b/language/it/lang_filemanagement.php @@ -0,0 +1,75 @@ +%s\""; +$lang['delete_file_error']="Non è stato possibile cancellare il file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Esegui Cronscript Perl"; +$lang['DoPerlTest']="Prova il modulo Perl"; +$lang['DoSimpleTest']="Prova Perl"; +$lang['perloutput1']="Registrazione in crondump.pl per absolute_path_of_configdir"; +$lang['perloutput2']="Url per il Browser oppure per Cronjob esterno"; +$lang['perloutput3']="Linea di commandi nella Shell oppure per il Crontab"; +$lang['restore_of_tables']="Ripristino di tabelle specifiche"; +$lang['converter']="Convertitore Backup"; +$lang['convert_file']="file da convertire"; +$lang['convert_filename']="Nome del file di destinazione (senza estensione)"; +$lang['converting']="Conversione"; +$lang['convert_fileread']="Leggi file '%s'"; +$lang['convert_finished']="Conversione eseguita, '%s' sono stati scritti con successo."; +$lang['no_msd_backupfile']="Backup di altri programmi"; +$lang['max_upload_size']="Grandezza massima del file"; +$lang['max_upload_size_info']="Se il tuo file di backup è piu grande del limite impostato, allora lo devi caricare tramite FTP nella cartella \"work/backup\". Dopo verrà visualizzato e potrà essere scelto per il ripristino."; +$lang['encoding']="codifica"; +$lang['fm_choose_encoding']="Scegli la codifica del file di backup"; +$lang['choose_charset']="MySQLDumper non ha rilevato automaticamente il codice del seti di caratteri utilizzato nel file di backup creato in precedenza.
    Devi inserire manualmente il set di caratteri standard con cui è stato salvato questo backup.
    Dopo aver fatto questo, MySQLDumper effettuerà la connessione verso il MySQL-Server contenente il set di caretteri scelto e avvierà il ripristino dei dati. Se dopo il ripristono si presentassero problemi nella visualizzazione dei caratteri speciali, sarà opportuno ripetere la procedura di ripistino scegliendo un altro set di caratteri.
    Buona fortuna.;)"; + + +?> \ No newline at end of file diff --git a/language/it/lang_help.php b/language/it/lang_help.php new file mode 100644 index 0000000..794d389 --- /dev/null +++ b/language/it/lang_help.php @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/language/it/lang_install.php b/language/it/lang_install.php new file mode 100644 index 0000000..9b1354c --- /dev/null +++ b/language/it/lang_install.php @@ -0,0 +1,84 @@ +L`installazione è finita --> fai partire MySQLDumper
    "; +$lang['install_tomenu']="Ritorna al Menu principale"; +$lang['installmenu']="Menu principale"; +$lang['step']="Passo"; +$lang['install']="Installazione"; +$lang['uninstall']="Disinstallare"; +$lang['tools']="Tools"; +$lang['editconf']="Modifica la configurazione"; +$lang['osweiter']="continuare senza salvare"; +$lang['errorman']="Errore nel salvataggio della configurazione!
    edita il file per favore"; +$lang['manuell']="manualmente"; +$lang['createdirs']="crea directory"; +$lang['install_continue']="continua con la installazione"; +$lang['connecttomysql']="connessione a MySQL "; +$lang['dbparameter']="Parametri database"; +$lang['confignotwritable']="Il file \"config.php\" non è scrivibile. Metti per favore i permessi per scrivere (ad esempio: 0777), cosi MySQLDumper può salvare la tua configurazione. "; +$lang['dbconnection']="Connessione database"; +$lang['connectionerror']="Errore: impossibile connettersi."; +$lang['connection_ok']="Connessione al database effettuata."; +$lang['saveandcontinue']="Salvare e continuare l`installazione"; +$lang['confbasic']="Configurazione di base"; +$lang['install_step2finished']="I parametri del database sono stati salvati."; +$lang['install_step2_1']="Continuare la installazione con i parametri standard"; +$lang['laststep']="Fine della installazione"; +$lang['ftpmode']="Creazione directory tramite FTP (safe-mode)"; +$lang['idomanual']="Creare le directory manualmente"; +$lang['dofrom']="partendo dal"; +$lang['ftpmode2']="Creare le directory tramite FTP:"; +$lang['connect']="connetti"; +$lang['dirs_created']="Le directory sono state create correttamente con i permessi appropriati."; +$lang['connect_to']="connetti a"; +$lang['changedir']="cambia directory"; +$lang['changedirerror']="Impossibile cambiare directory"; +$lang['ftp_ok']="I parametri FTP sono corretti"; +$lang['createdirs2']="Creare directory"; +$lang['ftp_notconnected']="Connessione FTP fallita!"; +$lang['connwith']="Connessione con"; +$lang['asuser']="come utente"; +$lang['notpossible']="impossibile"; +$lang['dircr1']="crea directory di lavoro"; +$lang['dircr2']="crea directory di backup"; +$lang['dircr4']="crea directory di log"; +$lang['dircr5']="crea elenco di configurazione"; +$lang['indir']="sono nella directory"; +$lang['check']="verifica directory"; +$lang['disabledfunctions']="Funzioni disabilitate"; +$lang['noftppossible']="Funzioni FTP non disponibili!"; +$lang['nogzpossible']="Funzione di compressione non disponibile!"; +$lang['ui1']="Tutte le directory di lavoro inclusi gli eventuali backups presenti verranno cancellati."; +$lang['ui2']="Sei sicuro?"; +$lang['ui3']="no"; +$lang['ui4']="si"; +$lang['ui5']="cancella directory di lavoro"; +$lang['ui6']="è stato cancellato tutto con successo."; +$lang['ui7']="cancella la direcotry degli script"; +$lang['ui8']="livello precedente"; +$lang['ui9']="Si è verificato un errore, non è stato possibile cancellare

    Errore nella directory"; +$lang['import']="Importare configurazione"; +$lang['import1']="Importare la configurazione dalla \"config.gz\""; +$lang['import2']="Caricare impostazioni e importare"; +$lang['import3']="La configurazione è stata caricata ..."; +$lang['import4']="La configurazione è stata salvata."; +$lang['import5']="Eseguire MySQLDumper"; +$lang['import6']="Menu di installazione"; +$lang['import7']="Caricare configurazione"; +$lang['import8']="torna al caricamento (upload)"; +$lang['import9']="Questo non è un backup di configurazione!"; +$lang['import10']="La configurazione è stata ripristinata con successo ..."; +$lang['import11']="Errore: Si sono verificati degli errori nel salvataggio delle istruzioni sql"; +$lang['import12']="Errore: Si sono verificati degli errori nel salvataggio di config.php"; +$lang['install_help_port']="(vuoto = porta-standard)"; +$lang['install_help_socket']="(vuoto = Socket-standard)"; +$lang['tryagain']="riprova"; +$lang['socket']="Socket"; +$lang['port']="Porta"; +$lang['found_db']="database trovato:"; +$lang['fm_fileupload']="Carica il file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="La connesione con il database è stata effettuata con successo.
    I tuoi dati di connessione sono stati accettati dal MySQL-Server.
    Purtroppo MySQLDumper non ha trovato alcun database.
    Il riconoscimento automatico per il programma è purtroppo bloccato dal provider.
    Appena hai finito l`installazione devi andare nel menu \"Configurazione\" \"visualizza parametri di connessione\" e inserire il nome del tuo database."; +$lang['safemodedesc']="Siccome PHP è eseguito in \"safe_mode\" su questo server, devono essere create manualmente le seguenti directory (queste possono essere trasferite tramite un qualsiasi programma ftp oppure inserire i dati di accesso ftp nei campi seguenti, cosicchè MySQLDumper li possa creare automaticamente):"; + + +?> \ No newline at end of file diff --git a/language/it/lang_log.php b/language/it/lang_log.php new file mode 100644 index 0000000..e78901b --- /dev/null +++ b/language/it/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/it/lang_main.php b/language/it/lang_main.php new file mode 100644 index 0000000..c1d8ccb --- /dev/null +++ b/language/it/lang_main.php @@ -0,0 +1,68 @@ +"; +$lang['htaccess10']="Le password non sono identiche oppure sono vuote!
    "; +$lang['htaccess11']="Vuoi che venga inserita la protezione per le directory adesso?"; +$lang['htaccess12']="La protezione delle directory è stata inserita."; +$lang['htaccess13']="Contenuto del file:"; +$lang['htaccess14']="Nella creazione della protezione delle directory si è verificato un errore!
    Crea per favore questi file manualmente con il seguente contenuto:"; +$lang['htaccess15']="Urgentemente raccomandato!"; +$lang['htaccess16']="edit .htaccess"; +$lang['htaccess18']="crea .htaccess in "; +$lang['htaccess19']=" ricarica "; +$lang['htaccess20']="Esegui script"; +$lang['htaccess21']="aggiungi fornitore(provider)"; +$lang['htaccess22']="Rendi eseguibile"; +$lang['htaccess23']="Lista directory"; +$lang['htaccess24']="Documento errori"; +$lang['htaccess25']="Attivare rewrite"; +$lang['htaccess26']="Negare / Permettere"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Log degli errori"; +$lang['htaccess29']="Altri esempi e documentazioni"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="Generale"; +$lang['htaccess32']="Attenzione! .htaccess ha effetto direttamente sul browser.
    Se viene usato in maniera scorretta le pagine non saranno piu accessibili."; +$lang['phpbug']="Bug nel zlib ! Compressione impossibile"; +$lang['disabledfunctions']="Funzione disabilitata"; +$lang['nogzpossible']="Poiché Zlib non è installato non puoi usare la funzione GZip."; +$lang['delete_htaccess']="Rimuovi la protezione (cancella .htaccess)"; +$lang['wrong_rights']="Impossibile scrivere il file o la directory '%s' .
    O ha il proprietario sbagliato (Owner) o i diritti sbagliati (Chmod).
    Vi preghiamo di modificare gli attributi correttamente con il vostro programma FTP.
    Il file o la directory ha bisogno dei diritti %s.
    "; +$lang['cant_create_dir']="Impossibile creare la directory '%s'. Crearla manualmente con un programma di FTP."; +$lang['table_type']="Tipo"; + + +?> \ No newline at end of file diff --git a/language/it/lang_restore.php b/language/it/lang_restore.php new file mode 100644 index 0000000..35ccc5a --- /dev/null +++ b/language/it/lang_restore.php @@ -0,0 +1,21 @@ +%d tabelle."; +$lang['file_missing']="impossibile trovare il file"; +$lang['restore_db']="Database '%s' sul Server '%s'."; +$lang['restore_complete']="%s tabelle sono state create."; +$lang['restore_run1']="
    Finora sono stati aggiunti con successo da %s a %s record."; +$lang['restore_run2']="
    Sto popolando la tabella '%s'.

    "; +$lang['restore_complete2']="%s record sono stati inseriti."; +$lang['restore_tables_completed']="Finora sono state create da %d a %d tabelle."; +$lang['restore_total_complete']="
    Congratulazioni!

    Il database è stato ripristinato completamente.
    Tutti i file del backup sono stati inseriti con successo.

    Hai finito. :-)"; +$lang['db_select_error']="
    Errore:
    Selezione del database "; +$lang['db_select_error2']=" fallito!"; +$lang['file_open_error']="Errore: impossibile aprire il file."; +$lang['progress_over_all']="Progresso totale"; +$lang['back_to_overview']="Riepilogo database"; +$lang['restore_run0']="
    Finora sono stati aggiunti con successo da %s a %s record."; +$lang['unknown_sqlcommand']="Comando SQL sconosciuto."; +$lang['notices']="Avvisi"; + + +?> \ No newline at end of file diff --git a/language/it/lang_sql.php b/language/it/lang_sql.php new file mode 100644 index 0000000..66d90a1 --- /dev/null +++ b/language/it/lang_sql.php @@ -0,0 +1,180 @@ +%s righe da esportare"; +$lang['csv_fieldcount_nomatch']="La quantità dei campi della tabella non coincide con i dati da importare (%d al posto di %d)."; +$lang['csv_fieldslines']="%d campi trovati, totale %d righe"; +$lang['csv_errorcreatetable']="Errore nella creazione della tabella `%s` !"; +$lang['fm_uploadfilerequest']="Scegli un file."; +$lang['csv_nodata']="File da importare non trovato!"; +$lang['sqllib_generalfunctions']="funzioni generali"; +$lang['sqllib_resetauto']="ripristina autoincremento"; +$lang['sqllib_boards']="Board"; +$lang['sqllib_deactivateboard']="disattiva Board"; +$lang['sqllib_activateboard']="attivare Board"; +$lang['sql_notablesselected']="Non ci sono tabelle selezionate !"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Scegliere database / Funzione database / Importa e Esporta "; +$lang['sql_openfile']="aprire file - SQL"; +$lang['sql_openfile_button']="Caricare"; +$lang['max_upload_size']="Grandezza massima del file"; +$lang['sql_search']="Ricerca"; +$lang['sql_searchwords']="Parola(e) di ricerca"; +$lang['start_sql_search']="esegui ricerca"; +$lang['reset_searchwords']="resetta ricerca"; +$lang['search_options']="Opzione di ricerca"; +$lang['search_results']="La ricera di \"%s\" nella tabella \"%s\" ha portato al seguente risultato"; +$lang['search_no_results']="La ricera \"%s\" nella tabella \"%s\" non ha prodotto risultati!"; +$lang['no_entries']="La tabella \"%s\" è vuota."; +$lang['search_access_keys']="Sfogliare: avanti=ALT+V, indietro=ALT+C"; +$lang['search_options_or']="una colonna deve contenere almeno una parola di ricerca"; +$lang['search_options_concat']="un record deve contenere tutte le parole di ricerca, però possono essere in colonne diverse (Calcolo intensivo!)"; +$lang['search_options_and']="una colonna deve contenere tutte le parole di ricerca"; +$lang['search_in_table']="cerca nelle tabelle"; +$lang['sql_edit_tablestructure']="Edit struttura tabelle"; +$lang['default_charset']="Set di caretteri standard"; +$lang['title_key_primary']="Chiave primaria"; +$lang['title_key_unique']="Chiave unica"; +$lang['title_index']="Indice"; +$lang['title_key_fulltext']="Chiave testo pieno"; +$lang['title_nokey']="Nessuna chiave"; +$lang['title_search']="Cerca"; +$lang['title_mysql_help']="Documentazione MySQL"; +$lang['title_upload']="Carica dati-SQL"; +$lang['primaryKey_deleted']="Chiave primaria cancellata"; +$lang['primaryKey_notFound']="Chiave primaria non trovata"; +$lang['primaryKeys_changed']="Chiave primaria cambiata"; +$lang['primaryKeys_changingError']="Errore nel cambiare della chiave primaria"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/lang_list.php b/language/lang_list.php new file mode 100644 index 0000000..458c8d1 --- /dev/null +++ b/language/lang_list.php @@ -0,0 +1,128 @@ + \ No newline at end of file diff --git a/language/lu/help.php b/language/lu/help.php new file mode 100644 index 0000000..918458e --- /dev/null +++ b/language/lu/help.php @@ -0,0 +1,125 @@ +
    +

    Ãœber dieses Projekt

    +Die Idee für dieses Projekt kam von Daniel Schlichtholz.

    Er eröffnete 2004 das Forum MySQLDumper, und schon bald fanden sich Hobby-Programmierer, die neue Skripte schrieben und die von Daniel erweiterten.
    Innerhalb kürzester Zeit entstand aus dem kleinen Backupskript ein stattliches Projekt.

    Wenn Du Vorschläge zur Verbesserung hast, dann wende Dich an das MySQLDumper-Forum http://forum.mysqldumper.de.

    Wir wünschen Dir viel Vergnügen mit diesem Projekt.

    Das MySQLDumper-Team

    + +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript mit Unterstützung von Detlev Richter
    +
    +
    + +

    MySQLDumper Hilfe

    + + +

    Download

    +Dieses Script erhaltet Ihr auf der Homepage von MySQLDumper.
    +Es empfiehlt sich, die Homepage regelmäßig zu besuchen, um Updates und +Hilfestellungen zu erlangen.
    +Die Adresse lautet: +http://www.mysqldumper.de + +

    Systemvoraussetzung

    +Das Script arbeitet auf jedem Server (Windows, Linux, ...)
    +mit PHP >= Version 4.3.4 mit GZip-Unterstützung, MySQL (ab Version 3.23), JavaScript (muss aktiviert sein). + +

    Installation

    +Die Installation geht einfach von statten. +Entpackt das Archiv in einen beliebigen Ordner.
    +Ladet alle Dateien auf Euren Webserver hoch. (z. B. in die unterste Ebene in [Server Webverzeichnis/]MySQLDumper)
    +... fertig!
    +Ihr könnt MySQLDumper nun im Webbrowser durch "http://mein-webserver/MySQLDumper" aufrufen,
    +um die Installation abzuschließen. Folgt einfach den Instruktionen.
    +
    Hinweis:
    Falls auf Eurem Server der PHP-Safemode eingeschaltet ist, darf das Script keine +Verzeichnisse erstellen.
    +Dies müsst Ihr dann von Hand nachholen, da MySqlDump die Daten geordnet in +Verzeichnissen ablegt.
    +Das Script bricht mit einer entsprechenden Anweisung ab!
    +Nachdem Ihr die Verzeichnisse (dem Hinweis entsprechend) erstellt habt, läuft es normal und ohne Einschränkungen.
    + +

    Perlskript Anleitung

    +Die Meisten haben ein cgi-bin Verzeichnis, in dem Perl ausgeführt werden kann.
    +Dies ist meist per Browser über http://www.domain.de/cgi-bin/ erreichbar.
    +
    +Für diesen Fall bitte folgende Schritte durchführen:

    + +1. Rufe im MySQLDumper die Seite Backup auf und klicke auf "Backup Perl".
    +2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
    +3. Öffne die Datei "crondump.pl" im Editor.
    +4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
    +5. Speichere crondump.pl .
    +6. Kopiere crondump.pl, sowie perltest.pl und simpletest.pl ins cgi-bin-Verzeichnis (Ascii-Modus im FTP).
    +7. Gebe den Dateien die Rechte 755.
    +7b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
    +8. Rufe die Konfiguration im MySQLDumper auf.
    +9. Wähle die Seite Cronscript.
    +10. Ändere Perl Ausführungspfad in /cgi-bin/ .
    +10b. Wenn die Scripte .pl haben, ändere die Dateiendung auf .cgi .
    +11. Speichere die Konfiguration.

    + +Fertig, die Skripte lassen sich nun von der Backupseite aufrufen.

    + +Wer Perl in allen Verzeichnissen ausführen kann, dem reichen folgende Schritte:

    + +1. Rufe im MySQLDumper die Seite Backup auf.
    +2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
    +3. Öffne die Datei "crondump.pl" im Editor.
    +4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
    +5. Speichere crondump.pl .
    +6. gebe den Datein die Rechte 755.
    +6b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
    +(ev. 10b+11 von oben)
    +
    + +Windowsuser müssen bei allen Scripten die erste Zeile ändern, dort steht der Pfad von Perl. Beispiel:
    +statt: #!/usr/bin/perl -w
    +jetzt: #!C:\perl\bin\perl.exe -w
    + +

    Bedienung

      + +
      Menü
      +In der obigen Auswahlliste stellt Ihr die Datenbank ein.
      +Alle Aktionen beziehen sich auf die hier eingestellte Datenbank. + +
      Startseite
      +Hier erfahrt Ihr Einiges über Euer System, die verschiedenen, installierten +Versionen und Details über die konfigurierten Datenbanken.
      +Wenn Ihr auf den Datenbanknamen klickt, so seht Ihr eine Auflistung der Tabellen +mit der Anzahl der Einträge, der Größe und das letzte Aktualisierungsdatum. + +
      Konfiguration
      +Hier könnt Ihr eure Konfiguration bearbeiten, abspeichern oder die Ausgangskonfiguration +wieder herstellen. +

        +
      • Konfigurierte Datenbanken: die Auflistung der konfigurierten Datenbanken. Die aktive Datenbank wird in bold gelistet.
      • +
      • Tabellen-Präfix: hier könnt Ihr (für jede Datenbank) einen Präfix angeben. Dies ist ein Filter, der bei Dumps nur die Tabellen berücksichtigt, die mit diesem Präfix beginnen (z.B. alle Tabellen, die mit "phpBB_" beginnen). Wenn alle Tabellen dieser Datenbank gespeichert werden sollen, +so lasst das Feld einfach leer.
      • +
      • GZip-Kompression: Hier kann die Kompression aktiviert werden. Empfehlenswert ist die Aktivierung, da die Dateien doch wesentlich kleiner werden und Speicherplatz immer rar ist.
      • +
      • Email mit Dumpfile: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup eine Email mit dem Dump als Anhang verschickt (Vorsicht, Kompression sollte unbedingt an sein, sonst wird der Anhang zu gross und kann evtl. nicht versandt werden!).
      • +
      • Email-Adresse: Empfängeradresse für die Email.
      • +
      • Absender der Email: diese Adresse taucht als Absender in der Email auf.
      • +
      • FTP-Transfer: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup die Backupdatei per FTP versandt.
      • +
      • FTP Server: Die Adresse des FTP-Servers (z. B. ftp.mybackups.de).
      • +
      • FTP Server Port: Der Port des FTP-Servers (in der Regel 21).
      • +
      • FTP User: Der Benutzername des FTP-Accounts.
      • +
      • FTP Passwort: Das Passwort des FTP-Accounts.
      • +
      • FTP Upload-Ordner: Das Verzeichnis, in das die Backupdatei soll (es müssen Upload-Berechtigungen bestehen!).
      • +
      • Automatisches Löschen der Backups: Wenn diese Option aktiviert ist, werden ältere Backups nach den folgenden Regeln automatisch gelöscht.
      • +
      • Anzahl von Backupdateien: Ein Wert > 0 löscht alle Backupdateien, bis auf die hier angegebe Zahl.
      • +
      • Sprache: hier legst du die Sprache für das Interface fest.
      • +
      + +
      Verwaltung
      +Hier werden die eigenlichen Aktionen durchgeführt.
      +Es werden Dir alle Dateien im Backup-Verzeichnis angezeigt. +Für die Aktionen "Restore" und "Delete" muss eine Datei selektiert sein. +
        +
      • Restore: Hiermit wird die Datenbank mit der ausgewählten Backupdatei aktualisiert.
      • +
      • Delete: Hiermit kannst Du die selektierte Backupdatei löschen.
      • +
      • Neues Backup starten: Hier startest Du ein neues Backup (Dump) nach den in der Konfiguration eingestellten Parametern.
      • +
      + +
      Log
      +Hier kannst Du die Logeinträge sehen und löschen. +
      Credits / Hilfe
      +diese Seite. +
    \ No newline at end of file diff --git a/language/lu/lang.php b/language/lu/lang.php new file mode 100644 index 0000000..184c597 --- /dev/null +++ b/language/lu/lang.php @@ -0,0 +1,104 @@ +not available"; +$lang['vom']="from"; +$lang['mysqlvars']="MySQL Variables"; +$lang['mysqlsys']="MySQL Commands"; +$lang['Status']="State"; +$lang['Prozesse']="Processes"; +$lang['info_novars']="no variables available"; +$lang['Inhalt']="Value"; +$lang['info_nostatus']="no status available"; +$lang['info_noprocesses']="no running processes"; +$lang['fm_freespace']="Free Space on Server"; +$lang['load_database']="Reload databases"; +$lang['home']="Home"; +$lang['config']="Konfiguratioun"; +$lang['dump']="Backup"; +$lang['restore']="Restore"; +$lang['file_manage']="File Administration"; +$lang['log']="Log"; +$lang['choose_db']="Datebank auswielen"; +$lang['credits']="Credits / Hëllëf"; +$lang['multi_part']="Multipart Backup"; +$lang['logfilenotwritable']="Can't write logfile !"; +$lang['sql_error1']="Error in Query:"; +$lang['sql_error2']="MySQL says:"; +$lang['unknown']="unknown"; +$lang['unknown_number_of_records']="unknown"; +$lang['ok']="OK"; +$lang['cron_completelog']="Ganz Ausgab loggen"; +$lang['no']="no"; +$lang['create_database']="Nei Datebank erstellen"; +$lang['exportfinished']="Export finished."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_config_overview.php b/language/lu/lang_config_overview.php new file mode 100644 index 0000000..bebd887 --- /dev/null +++ b/language/lu/lang_config_overview.php @@ -0,0 +1,111 @@ +%s
    into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Enter Comment"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_dump.php b/language/lu/lang_dump.php new file mode 100644 index 0000000..ee6d152 --- /dev/null +++ b/language/lu/lang_dump.php @@ -0,0 +1,58 @@ +%s` "; +$lang['dump_endergebnis']="The file contains %s tables with %s records.
    "; +$lang['mailerror']="Sending of email failed!"; +$lang['emailbody_attach']="The Attachment contains the backup of your MySQL-Database.
    Backup of Database `%s` +

    Following File was created:

    %s

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="A Multipart Backup was created.
    The Backup files are not attached to this email!
    Backup of Database `%s` +

    Following Files were created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="A Multipart Backup was created.
    The Backup files are attached to separate emails.
    Backup of Database `%s` +

    Following Files were created:

    %s

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_footer']="`

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_toobig']="The Backup file exceeded the maximum size of %s and was not attached to this email.
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_noattach']="Files are not attached to this email!
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... attachment only."; +$lang['tableselection']="Table selection"; +$lang['selectall']="Select All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['lastbufrom']="last update from"; +$lang['not_supported']="This backup doesn't support this function."; +$lang['multidump']="Multidump: Backup of %d Databases done."; +$lang['filesendftp']="send file via FTP... please be patient. "; +$lang['ftpconnerror']="FTP connection not established! Connection with "; +$lang['ftpconnerror1']=" as user "; +$lang['ftpconnerror2']=" not possible"; +$lang['ftpconnerror3']="FTP Upload failed! "; +$lang['ftpconnected1']="Connected with "; +$lang['ftpconnected2']=" on "; +$lang['ftpconnected3']=" transfer successful"; +$lang['nr_tables_selected']="- with %s selected tables"; +$lang['nr_tables_optimized']="%s tables have been optimized."; +$lang['dump_errors']="

    %s errors occured: view

    "; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
    +Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/lu/lang_filemanagement.php b/language/lu/lang_filemanagement.php new file mode 100644 index 0000000..782bead --- /dev/null +++ b/language/lu/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Run the Perl Cron script"; +$lang['DoPerlTest']="Test Perl Modules"; +$lang['DoSimpleTest']="Test Perl"; +$lang['perloutput1']="Entry in crondump.pl for absolute_path_of_configdir"; +$lang['perloutput2']="URL for the browser or for external Cron job"; +$lang['perloutput3']="Commandline in the Shell or for the Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backup Converter"; +$lang['convert_file']="File to be converted"; +$lang['convert_filename']="Name of destination file (without extension)"; +$lang['converting']="Converting"; +$lang['convert_fileread']="Read file '%s'"; +$lang['convert_finished']="Conversion finished, '%s' was written successfully."; +$lang['no_msd_backupfile']="Backups of other scripts"; +$lang['max_upload_size']="Maximum filesize"; +$lang['max_upload_size_info']="If your Dumpfile is bigger than the above mentioned limit, you must upload it via FTP into the directory \"work/backup\". +After that you can choose it to begin a restore progress. "; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
    You must choose the charset with which this backup was saved. +
    If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
    Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_help.php b/language/lu/lang_help.php new file mode 100644 index 0000000..dc36e2a --- /dev/null +++ b/language/lu/lang_help.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/language/lu/lang_install.php b/language/lu/lang_install.php new file mode 100644 index 0000000..a13807b --- /dev/null +++ b/language/lu/lang_install.php @@ -0,0 +1,90 @@ +Installation completed --> start MySQLDumper
    "; +$lang['install_tomenu']="Back to main menu"; +$lang['installmenu']="Main menu"; +$lang['step']="Step"; +$lang['install']="Installation"; +$lang['uninstall']="Uninstall"; +$lang['tools']="Tools"; +$lang['editconf']="Edit configuration"; +$lang['osweiter']="Continue without saving"; +$lang['errorman']="Error while saving the Configuration!
    Please edit the File "; +$lang['manuell']="manually"; +$lang['createdirs']="Create Directories"; +$lang['install_continue']="Continue with installation"; +$lang['connecttomysql']="Connect to MySQL "; +$lang['dbparameter']="Database Parameters"; +$lang['confignotwritable']="I cannot write to file \"config.php\". +Please use your FTP-Programm and chmod this file to 0777."; +$lang['dbconnection']="Database Connection"; +$lang['connectionerror']="Error: unable to connect."; +$lang['connection_ok']="Database connection was established."; +$lang['saveandcontinue']="Save and continue installation"; +$lang['confbasic']="Basic Parameter"; +$lang['install_step2finished']="Database parameters were saved successfully."; +$lang['install_step2_1']="Continue installation with the default settings"; +$lang['laststep']="Installation Finish"; +$lang['ftpmode']="Create necessary directories in safe-mode"; +$lang['idomanual']="I create the dirs myself"; +$lang['dofrom']="starting from"; +$lang['ftpmode2']="Create the dirs with FTP:"; +$lang['connect']="connect"; +$lang['dirs_created']="The directories are created and correctly permissioned."; +$lang['connect_to']="connect to"; +$lang['changedir']="change to dir"; +$lang['changedirerror']="change to dir was not possible"; +$lang['ftp_ok']="FTP parameter are ok"; +$lang['createdirs2']="Create directories"; +$lang['ftp_notconnected']="FTP connection not established!"; +$lang['connwith']="Connection with"; +$lang['asuser']="as user"; +$lang['notpossible']="not possible"; +$lang['dircr1']="create workdir"; +$lang['dircr2']="create backupdir"; +$lang['dircr4']="create logdir"; +$lang['dircr5']="create configurationdir"; +$lang['indir']="now in dir"; +$lang['check']="Check my directories"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['nogzpossible']="You don't have compression functions !"; +$lang['ui1']="All working directories which can contain backups will be deleted."; +$lang['ui2']="Are you sure you want that?"; +$lang['ui3']="no, cancel immediately"; +$lang['ui4']="yes, please continue"; +$lang['ui5']="delete working directories"; +$lang['ui6']="all was deleted successfully."; +$lang['ui7']="Please delete the script directory"; +$lang['ui8']="one level up"; +$lang['ui9']="An error occured, deleting was not possible

    Error with directory "; +$lang['import']="Import Configuration"; +$lang['import1']="Import settings from "; +$lang['import2']="Upload and import settings"; +$lang['import3']="Configuration was loaded ..."; +$lang['import4']="Configuration was saved."; +$lang['import5']="Start MySQLDumper"; +$lang['import6']="Installation Menu"; +$lang['import7']="Upload configuration"; +$lang['import8']="back to upload"; +$lang['import9']="This is not a configuration backup !"; +$lang['import10']="Configuration was uploaded successfully ..."; +$lang['import11']="Error: There were problems writing sql_statements"; +$lang['import12']="Error: There were problems writing config.php"; +$lang['install_help_port']="(empty = Default Port)"; +$lang['install_help_socket']="(empty = Default Socket)"; +$lang['tryagain']="Try again"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="found db"; +$lang['fm_fileupload']="Upload file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="The connection to the database was successfully established.
    +Your userdata is valid and was accepted by the MySQL-Server.
    +But MySQLDumper was not able to find any database.
    +The automatic detection via script is blocked on some server.
    +You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_log.php b/language/lu/lang_log.php new file mode 100644 index 0000000..70a7ea3 --- /dev/null +++ b/language/lu/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/lu/lang_main.php b/language/lu/lang_main.php new file mode 100644 index 0000000..fef7811 --- /dev/null +++ b/language/lu/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="The Passwords are not identical or empty !
    "; +$lang['htaccess11']="Should the directory protection be written now ?"; +$lang['htaccess12']="The directory protection was created."; +$lang['htaccess13']="Contents of file:"; +$lang['htaccess14']="There was an error while creating the directory protection !
    Please create the 2 files manually with following content:"; +$lang['htaccess15']="Urgently recommended !"; +$lang['htaccess16']="Edit .htaccess"; +$lang['htaccess18']="Create .htaccess in "; +$lang['htaccess19']="Reload "; +$lang['htaccess20']="Execute script"; +$lang['htaccess21']="Add handler"; +$lang['htaccess22']="Make executable"; +$lang['htaccess23']="Directory Listing"; +$lang['htaccess24']="Error Document"; +$lang['htaccess25']="Activate rewrite"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="More examples and documentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="General"; +$lang['htaccess32']="Attention! The .htaccess directly affects the browser's behavior.
    With incorrect content, these pages may no longer be accessible."; +$lang['phpbug']="Bug in zlib ! No Compression possible"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['nogzpossible']="Because Zlib is not installed, you cannot use GZip-Functions."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
    +The rights (chmod) are not set properly or it has the wrong owner.
    +Pleae set the correct attributes using your FTP-Programm.
    +The file or the directory needs to be set to %s.
    "; +$lang['cant_create_dir']="Couldn' t create dir '%s'. +Please create it using your FTP-Programm."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_restore.php b/language/lu/lang_restore.php new file mode 100644 index 0000000..f61dd88 --- /dev/null +++ b/language/lu/lang_restore.php @@ -0,0 +1,21 @@ +%d tables were created."; +$lang['file_missing']="couldn't find file"; +$lang['restore_db']="Database '%s' on '%s'."; +$lang['restore_complete']="%s tables created."; +$lang['restore_run1']="
    Up to now %s of %s records were successfully added."; +$lang['restore_run2']="
    Now the table '%s' is restoring.

    "; +$lang['restore_complete2']="%s records inserted."; +$lang['restore_tables_completed']="Up to now %d of %d tables were created."; +$lang['restore_total_complete']="
    Congratulations.

    The restoration of the database is done.
    All data from the Backup file was restored.

    Everything is done. :-)"; +$lang['db_select_error']="
    Error:
    Selection of database "; +$lang['db_select_error2']=" failed!"; +$lang['file_open_error']="Error: could not open file."; +$lang['progress_over_all']="Overall Progress"; +$lang['back_to_overview']="Database Overview"; +$lang['restore_run0']="
    up to now %s records were successfully added."; +$lang['unknown_sqlcommand']="unknown SQL-Command"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/lu/lang_sql.php b/language/lu/lang_sql.php new file mode 100644 index 0000000..2168405 --- /dev/null +++ b/language/lu/lang_sql.php @@ -0,0 +1,180 @@ +%s lines exported"; +$lang['csv_fieldcount_nomatch']="The count of fields doesn't match with that of the data to import (%d instead of %d)."; +$lang['csv_fieldslines']="%d fields recognized, totally %d lines"; +$lang['csv_errorcreatetable']="Error while creating table `%s` !"; +$lang['fm_uploadfilerequest']="please choose a file."; +$lang['csv_nodata']="No data found for import!"; +$lang['sqllib_generalfunctions']="general functions"; +$lang['sqllib_resetauto']="reset auto-increment"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="deactivate Board"; +$lang['sqllib_activateboard']="activate Board"; +$lang['sql_notablesselected']="No tables selected !"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Select Database / Datebase functions / Import - Export "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maximum filesize"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/nl/help.php b/language/nl/help.php new file mode 100644 index 0000000..b38ed95 --- /dev/null +++ b/language/nl/help.php @@ -0,0 +1,124 @@ +
    +

    Ãœber dieses Projekt

    +Die Idee für dieses Projekt kam von Daniel Schlichtholz.

    Er eröffnete 2004 das Forum MySQLDumper, und schon bald fanden sich Hobby-Programmierer, die neue Skripte schrieben und die von Daniel erweiterten.
    Innerhalb kürzester Zeit entstand aus dem kleinen Backupskript ein stattliches Projekt.

    Wenn Du Vorschläge zur Verbesserung hast, dann wende Dich an das MySQLDumper-Forum http://forum.mysqldumper.de.

    Wir wünschen Dir viel Vergnügen mit diesem Projekt.

    Das MySQLDumper-Team

    + +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript mit Unterstützung von Detlev Richter
    +
    +
    + +

    MySQLDumper Hilfe

    + +

    Download

    +Dieses Script erhaltet Ihr auf der Homepage von MySQLDumper.
    +Es empfiehlt sich, die Homepage regelmäßig zu besuchen, um Updates und +Hilfestellungen zu erlangen.
    +Die Adresse lautet: +http://www.mysqldumper.de + +

    Systemvoraussetzung

    +Das Script arbeitet auf jedem Server (Windows, Linux, ...)
    +mit PHP >= Version 4.3.4 mit GZip-Unterstützung, MySQL (ab Version 3.23), JavaScript (muss aktiviert sein). + +

    Installation

    +Die Installation geht einfach von statten. +Entpackt das Archiv in einen beliebigen Ordner.
    +Ladet alle Dateien auf Euren Webserver hoch. (z. B. in die unterste Ebene in [Server Webverzeichnis/]MySQLDumper)
    +... fertig!
    +Ihr könnt MySQLDumper nun im Webbrowser durch "http://mein-webserver/MySQLDumper" aufrufen,
    +um die Installation abzuschließen. Folgt einfach den Instruktionen.
    +
    Hinweis:
    Falls auf Eurem Server der PHP-Safemode eingeschaltet ist, darf das Script keine +Verzeichnisse erstellen.
    +Dies müsst Ihr dann von Hand nachholen, da MySqlDump die Daten geordnet in +Verzeichnissen ablegt.
    +Das Script bricht mit einer entsprechenden Anweisung ab!
    +Nachdem Ihr die Verzeichnisse (dem Hinweis entsprechend) erstellt habt, läuft es normal und ohne Einschränkungen.
    + +

    Perlskript Anleitung

    +Die Meisten haben ein cgi-bin Verzeichnis, in dem Perl ausgeführt werden kann.
    +Dies ist meist per Browser über http://www.domain.de/cgi-bin/ erreichbar.
    +
    +Für diesen Fall bitte folgende Schritte durchführen:

    + +1. Rufe im MySQLDumper die Seite Backup auf.
    +2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
    +3. Öffne die Datei "crondump.pl" im Editor.
    +4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
    +5. Speichere crondump.pl .
    +6. Kopiere crondump.pl, sowie perltest.pl und simpletest.pl ins cgi-bin-Verzeichnis (Ascii-Modus im FTP).
    +7. Gebe den Dateien die Rechte 755.
    +7b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
    +8. Rufe die Konfiguration im MySQLDumper auf.
    +9. Wähle die Seite Cronscript.
    +10. Ändere Perl Ausführungspfad in /cgi-bin/ .
    +10b. Wenn die Scripte .pl haben, ändere die Dateiendung auf .cgi .
    +11. Speichere die Konfiuguration.

    + +Fertig, die Skripte lassen sich nun von der Backupseite aufrufen.

    + +Wer Perl in allen Verzeichnissen ausführen kann, dem reichen folgende Schritte:

    + +1. Rufe im MySQLDumper die Seite Backup auf.
    +2. Kopiere den Pfad, der hinter Eintrag in crondump.pl für $absolute_path_of_configdir: steht.
    +3. Öffne die Datei "crondump.pl" im Editor.
    +4. Trage den kopierten Pfad dort bei absolute_path_of_configdir ein (keine Leerzeichen).
    +5. Speichere crondump.pl .
    +6. gebe den Datein die Rechte 755.
    +6b. Wenn die Endung cgi gewünscht ist, ändere bei allen 3 Dateien die Endung von pl -> cgi (umbenennen).
    +(ev. 10b+11 von oben)
    +
    + +Windowsuser müssen bei allen Scripten die erste Zeile ändern, dort steht der Pfad von Perl. Beispiel:
    +statt: #!/usr/bin/perl -w
    +jetzt: #!C:\perl\bin\perl.exe -w
    + +

    Bedienung

      + +
      Menü
      +In der obigen Auswahlliste stellt Ihr die Datenbank ein.
      +Alle Aktionen beziehen sich auf die hier eingestellte Datenbank. + +
      Startseite
      +Hier erfahrt Ihr Einiges über Euer System, die verschiedenen, installierten +Versionen und Details über die konfigurierten Datenbanken.
      +Wenn Ihr auf den Datenbanknamen klickt, so seht Ihr eine Auflistung der Tabellen +mit der Anzahl der Einträge, der Größe und das letzte Aktualisierungsdatum. + +
      Konfiguration
      +Hier könnt Ihr eure Konfiguration bearbeiten, abspeichern oder die Ausgangskonfiguration +wieder herstellen. +

        +
      • Konfigurierte Datenbanken: die Auflistung der konfigurierten Datenbanken. Die aktive Datenbank wird in bold gelistet.
      • +
      • Tabellen-Präfix: hier könnt Ihr (für jede Datenbank) einen Präfix angeben. Dies ist ein Filter, der bei Dumps nur die Tabellen berücksichtigt, die mit diesem Präfix beginnen (z.B. alle Tabellen, die mit "phpBB_" beginnen). Wenn alle Tabellen dieser Datenbank gespeichert werden sollen, +so lasst das Feld einfach leer.
      • +
      • GZip-Kompression: Hier kann die Kompression aktiviert werden. Empfehlenswert ist die Aktivierung, da die Dateien doch wesentlich kleiner werden und Speicherplatz immer rar ist.
      • +
      • Email mit Dumpfile: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup eine Email mit dem Dump als Anhang verschickt (Vorsicht, Kompression sollte unbedingt an sein, sonst wird der Anhang zu gross und kann evtl. nicht versandt werden!).
      • +
      • Email-Adresse: Empfängeradresse für die Email.
      • +
      • Absender der Email: diese Adresse taucht als Absender in der Email auf.
      • +
      • FTP-Transfer: Ist diese Option aktiviert, so wird nach abgeschlossenem Backup die Backupdatei per FTP versandt.
      • +
      • FTP Server: Die Adresse des FTP-Servers (z. B. ftp.mybackups.de).
      • +
      • FTP Server Port: Der Port des FTP-Servers (in der Regel 21).
      • +
      • FTP User: Der Benutzername des FTP-Accounts.
      • +
      • FTP Passwort: Das Passwort des FTP-Accounts.
      • +
      • FTP Upload-Ordner: Das Verzeichnis, in das die Backupdatei soll (es müssen Upload-Berechtigungen bestehen!).
      • +
      • Automatisches Löschen der Backups: Wenn diese Option aktiviert ist, werden ältere Backups nach den folgenden Regeln automatisch gelöscht.
      • +
      • Anzahl von Backupdateien: Ein Wert > 0 löscht alle Backupdateien, bis auf die hier angegebe Zahl.
      • +
      • Sprache: hier legst du die Sprache für das Interface fest.
      • +
      + +
      Verwaltung
      +Hier werden die eigenlichen Aktionen durchgeführt.
      +Es werden Dir alle Dateien im Backup-Verzeichnis angezeigt. +Für die Aktionen "Restore" und "Delete" muss eine Datei selektiert sein. +
        +
      • Restore: Hiermit wird die Datenbank mit der ausgewählten Backupdatei aktualisiert.
      • +
      • Delete: Hiermit kannst Du die selektierte Backupdatei löschen.
      • +
      • Neues Backup starten: Hier startest Du ein neues Backup (Dump) nach den in der Konfiguration eingestellten Parametern.
      • +
      + +
      Log
      +Hier kannst Du die Logeinträge sehen und löschen. +
      Credits / Hilfe
      +diese Seite. +
    \ No newline at end of file diff --git a/language/nl/lang.php b/language/nl/lang.php new file mode 100644 index 0000000..84b882a --- /dev/null +++ b/language/nl/lang.php @@ -0,0 +1,104 @@ +niet beschikbaar"; +$lang['vom']="van"; +$lang['mysqlvars']="MySQL variabelen"; +$lang['mysqlsys']="MySQL commando's"; +$lang['Status']="Status"; +$lang['Prozesse']="Processen"; +$lang['info_novars']="geen variabelen beschikbaar"; +$lang['Inhalt']="Inhoud"; +$lang['info_nostatus']="geen status beschikbaar"; +$lang['info_noprocesses']="geen lopende processen"; +$lang['fm_freespace']="Vrije ruimte op server"; +$lang['load_database']="Database herladen"; +$lang['home']="Home"; +$lang['config']="Configuratie"; +$lang['dump']="Backup"; +$lang['restore']="Herstellen"; +$lang['file_manage']="Bestandsbeheer"; +$lang['log']="Log"; +$lang['choose_db']="Database kiezen"; +$lang['credits']="Credits / Hulp"; +$lang['multi_part']="multipart backup"; +$lang['logfilenotwritable']="Logfile kan niet worden geschreven!"; +$lang['sql_error1']="Aanvraag fout"; +$lang['sql_error2']="MySQL zegt:"; +$lang['unknown']="onbekend"; +$lang['unknown_number_of_records']="onbekend"; +$lang['ok']="okey"; +$lang['cron_completelog']="Compleete output loggen"; +$lang['no']="nee"; +$lang['create_database']="nieuwe database maken"; +$lang['exportfinished']="Export beëindigd"; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="standaardcodeering van de MySQL-servers"; +$lang['title_show_data']="Data toonen"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_config_overview.php b/language/nl/lang_config_overview.php new file mode 100644 index 0000000..e3641e4 --- /dev/null +++ b/language/nl/lang_config_overview.php @@ -0,0 +1,113 @@ +%s
    in %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Ontvanger"; +$lang['name']="Naam"; +$lang['confirm_configfile_delete']="Zal het konfiguratiebestand %s echter worden verwijderd?"; +$lang['error_deleting_configfile']="Fout:Het konfiguatiebestand %s konde niet worden verwijderd!"; +$lang['success_deleting_configfile']="Het konfiguratiebestand %s is succesvol verwijderd."; +$lang['success_configfile_created']="Het konfiguratiebestand %s is succesvol aangemaakt."; +$lang['error_configfile_name']="de bestandsnaam \"%s\" heeft niet toegestaande tekens"; +$lang['create_configfile']="Een nieuw konfiguratiebestand aanmaken"; +$lang['error_loading_configfile']="Het konfiguratiebestand \"%s\" kon niet worden geladen."; +$lang['backup_dbs_php']="backups opslaan +(PHP)"; +$lang['backup_dbs_perl']="backups opslaan +(PERL)"; +$lang['cron_comment']="komentaar toevoegen"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_dump.php b/language/nl/lang_dump.php new file mode 100644 index 0000000..06bb405 --- /dev/null +++ b/language/nl/lang_dump.php @@ -0,0 +1,57 @@ +%s' gevonden."; +$lang['dump_endergebnis']="Er zijn %s tabellen met %s Databankentries opgeslagen.
    "; +$lang['mailerror']="Sending of email failed!"; +$lang['emailbody_attach']="In de bstandsaanhang vind u een backup van uw MySQL-Database.
    Backup van de Databank '%s'

    Het volgende bestand is aangamaakt:

    %s

    Groetjes

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="A Multipart Backup was created.
    The Backup files are not attached to this email!
    Backup of Database `%s` +

    Following Files were created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="A Multipart Backup was created.
    The Backup files are attached to separate emails.
    Backup of Database `%s` +

    Following Files were created:

    %s

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_footer']="


    Groetjes

    MySQLDumper
    "; +$lang['emailbody_toobig']="The Backup file exceeded the maximum size of %s and was not attached to this email.
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_noattach']="Files are not attached to this email!
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... attachment only."; +$lang['tableselection']="Table selection"; +$lang['selectall']="Select All"; +$lang['deselectall']="Keuses opheffen"; +$lang['startdump']="Start Backup"; +$lang['lastbufrom']="last update from"; +$lang['not_supported']="This backup doesn't support this function."; +$lang['multidump']="Multidump: Backup of %d Databases done."; +$lang['filesendftp']="send file via FTP... please be patient. "; +$lang['ftpconnerror']="FTP connection not established! Connection with "; +$lang['ftpconnerror1']=" as user "; +$lang['ftpconnerror2']=" not possible"; +$lang['ftpconnerror3']="FTP Upload failed! "; +$lang['ftpconnected1']="Connected with "; +$lang['ftpconnected2']=" on "; +$lang['ftpconnected3']=" transfer successful"; +$lang['nr_tables_selected']="- with %s selected tables"; +$lang['nr_tables_optimized']="%s tables have been optimized."; +$lang['dump_errors']="

    %s errori riscontrati: verdere

    "; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
    +Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/nl/lang_filemanagement.php b/language/nl/lang_filemanagement.php new file mode 100644 index 0000000..f3bf85b --- /dev/null +++ b/language/nl/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Run the Perl Cron script"; +$lang['DoPerlTest']="Test Perl Modules"; +$lang['DoSimpleTest']="Test Perl"; +$lang['perloutput1']="Entry in crondump.pl for absolute_path_of_configdir"; +$lang['perloutput2']="URL for the browser or for external Cron job"; +$lang['perloutput3']="Commandline in the Shell or for the Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backup Converter"; +$lang['convert_file']="File to be converted"; +$lang['convert_filename']="Name of destination file (without extension)"; +$lang['converting']="Converting"; +$lang['convert_fileread']="Read file '%s'"; +$lang['convert_finished']="Conversion finished, '%s' was written successfully."; +$lang['no_msd_backupfile']="Backups of other scripts"; +$lang['max_upload_size']="Maximum filesize"; +$lang['max_upload_size_info']="Wenn Ihre Backup-Datei größer als das angegebene Limit ist, dann müssen Sie diese per FTP in den \"work/backup\"-Ordner hochladen. +Danach wird diese Datei hier in der Verwaltung angezeigt uns lässt sich für eine Wiederherstellung auswählen."; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
    You must choose the charset with which this backup was saved. +
    If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
    Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_help.php b/language/nl/lang_help.php new file mode 100644 index 0000000..dc36e2a --- /dev/null +++ b/language/nl/lang_help.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/language/nl/lang_install.php b/language/nl/lang_install.php new file mode 100644 index 0000000..4d5f0c0 --- /dev/null +++ b/language/nl/lang_install.php @@ -0,0 +1,90 @@ +starte MySQLDumper
    "; +$lang['install_tomenu']="Back to main menu"; +$lang['installmenu']="Main menu"; +$lang['step']="Step"; +$lang['install']="Installation"; +$lang['uninstall']="Uninstall"; +$lang['tools']="Tools"; +$lang['editconf']="Edit configuration"; +$lang['osweiter']="Continue without saving"; +$lang['errorman']="Error while saving the Configuration!
    Please edit the File "; +$lang['manuell']="manually"; +$lang['createdirs']="Create Directories"; +$lang['install_continue']="Continue with installation"; +$lang['connecttomysql']="Connect to MySQL "; +$lang['dbparameter']="Database Parameters"; +$lang['confignotwritable']="I cannot write to file \"config.php\". +Please use your FTP-Programm and chmod this file to 0777."; +$lang['dbconnection']="Database Connection"; +$lang['connectionerror']="Error: unable to connect."; +$lang['connection_ok']="Database connection was established."; +$lang['saveandcontinue']="Save and continue installation"; +$lang['confbasic']="Basis instellingen"; +$lang['install_step2finished']="Die Einstellungen wurden erfolgreich gesichert."; +$lang['install_step2_1']="Continue installation with the default settings"; +$lang['laststep']="Installation Finish"; +$lang['ftpmode']="Create necessary directories in safe-mode"; +$lang['idomanual']="I create the dirs myself"; +$lang['dofrom']="starting from"; +$lang['ftpmode2']="Create the dirs with FTP:"; +$lang['connect']="connect"; +$lang['dirs_created']="The directories are created and correctly permissioned."; +$lang['connect_to']="connect to"; +$lang['changedir']="wisselen in map"; +$lang['changedirerror']="wisselen naar map niet mogelijk"; +$lang['ftp_ok']="FTP parameter are ok"; +$lang['createdirs2']="Create directories"; +$lang['ftp_notconnected']="FTP connection not established!"; +$lang['connwith']="Connection with"; +$lang['asuser']="als gebruiker"; +$lang['notpossible']="not possible"; +$lang['dircr1']="create workdir"; +$lang['dircr2']="create backupdir"; +$lang['dircr4']="create logdir"; +$lang['dircr5']="create configurationdir"; +$lang['indir']="now in dir"; +$lang['check']="Check mijn mappen"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['nogzpossible']="You don't have compression functions !"; +$lang['ui1']="All working directories which can contain backups will be deleted."; +$lang['ui2']="Are you sure you want that?"; +$lang['ui3']="no, cancel immediately"; +$lang['ui4']="yes, please continue"; +$lang['ui5']="delete working directories"; +$lang['ui6']="all was deleted successfully."; +$lang['ui7']="Please delete the script directory"; +$lang['ui8']="one level up"; +$lang['ui9']="An error occured, deleting was not possible

    Error with directory "; +$lang['import']="Import Configuration"; +$lang['import1']="Import settings from "; +$lang['import2']="Upload and import settings"; +$lang['import3']="Configuration was loaded ..."; +$lang['import4']="Configuration was saved."; +$lang['import5']="Start MySQLDumper"; +$lang['import6']="Installation Menu"; +$lang['import7']="Upload configuration"; +$lang['import8']="back to upload"; +$lang['import9']="This is not a configuration backup !"; +$lang['import10']="Configuration was uploaded successfully ..."; +$lang['import11']="Error: There were problems writing sql_statements"; +$lang['import12']="Error: There were problems writing config.php"; +$lang['install_help_port']="(empty = Default Port)"; +$lang['install_help_socket']="(empty = Default Socket)"; +$lang['tryagain']="Try again"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="found db"; +$lang['fm_fileupload']="Upload file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="The connection to the database was successfully established.
    +Your userdata is valid and was accepted by the MySQL-Server.
    +But MySQLDumper was not able to find any database.
    +The automatic detection via script is blocked on some server.
    +You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_log.php b/language/nl/lang_log.php new file mode 100644 index 0000000..eb56dd4 --- /dev/null +++ b/language/nl/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/nl/lang_main.php b/language/nl/lang_main.php new file mode 100644 index 0000000..cedffc2 --- /dev/null +++ b/language/nl/lang_main.php @@ -0,0 +1,71 @@ +"; +$lang['htaccess10']="The Passwords are not identical or empty !
    "; +$lang['htaccess11']="Should the directory protection be written now ?"; +$lang['htaccess12']="The directory protection was created."; +$lang['htaccess13']="Contents of file:"; +$lang['htaccess14']="There was an error while creating the directory protection !
    Please create the 2 files manually with following content:"; +$lang['htaccess15']="Urgently recommended !"; +$lang['htaccess16']="Edit .htaccess"; +$lang['htaccess18']="Create .htaccess in "; +$lang['htaccess19']="Reload "; +$lang['htaccess20']="Execute script"; +$lang['htaccess21']="Add handler"; +$lang['htaccess22']="Make executable"; +$lang['htaccess23']="Directory Listing"; +$lang['htaccess24']="Error Document"; +$lang['htaccess25']="Activate rewrite"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="More examples and documentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="General"; +$lang['htaccess32']="Attention! The .htaccess directly affects the browser's behavior.
    With incorrect content, these pages may no longer be accessible."; +$lang['phpbug']="Bug in zlib ! No Compression possible"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['nogzpossible']="Because Zlib is not installed, you cannot use GZip-Functions."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
    +The rights (chmod) are not set properly or it has the wrong owner.
    +Pleae set the correct attributes using your FTP-Programm.
    +The file or the directory needs to be set to %s.
    "; +$lang['cant_create_dir']="ik kon de map '%s' niet aanmaken. A.u.b. deze via uw FTP-program aanmaken."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_restore.php b/language/nl/lang_restore.php new file mode 100644 index 0000000..e4eaa66 --- /dev/null +++ b/language/nl/lang_restore.php @@ -0,0 +1,21 @@ +%d tables were created."; +$lang['file_missing']="Bestand kon niet worden gevonden"; +$lang['restore_db']="Database '%s' op de Sever '%s'."; +$lang['restore_complete']="%s Tabellen zijn aangemaakt."; +$lang['restore_run1']="
    Up to now %s of %s records were successfully added."; +$lang['restore_run2']="
    Now the table '%s' is restoring.

    "; +$lang['restore_complete2']="%s Database-entries zijn aangemaakt."; +$lang['restore_tables_completed']="Up to now %d of %d tables were created."; +$lang['restore_total_complete']="
    Congratulations.

    The restoration of the database is done.
    All data from the Backup file was restored.

    Everything is done. :-)"; +$lang['db_select_error']="
    Fout:
    Keuze van de Database '"; +$lang['db_select_error2']="' mislukt!"; +$lang['file_open_error']="Fout: De bestand kon niet worden geopend."; +$lang['progress_over_all']="Process totaal"; +$lang['back_to_overview']="Database overzicht"; +$lang['restore_run0']="
    Er zijn tot nu toe %s Database-entries succesvol ingeschreven."; +$lang['unknown_sqlcommand']="onbekend SQL-Bevel"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/nl/lang_sql.php b/language/nl/lang_sql.php new file mode 100644 index 0000000..5c522dc --- /dev/null +++ b/language/nl/lang_sql.php @@ -0,0 +1,180 @@ +%s lines exported"; +$lang['csv_fieldcount_nomatch']="The count of fields doesn't match with that of the data to import (%d instead of %d)."; +$lang['csv_fieldslines']="%d fields recognized, totally %d lines"; +$lang['csv_errorcreatetable']="Error while creating table `%s` !"; +$lang['fm_uploadfilerequest']="please choose a file."; +$lang['csv_nodata']="No data found for import!"; +$lang['sqllib_generalfunctions']="general functions"; +$lang['sqllib_resetauto']="reset auto-increment"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="deactivate Board"; +$lang['sqllib_activateboard']="activate Board"; +$lang['sql_notablesselected']="No tables selected !"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Select Database / Datebase functions / Import - Export "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maximum filesize"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/pl/help.php b/language/pl/help.php new file mode 100644 index 0000000..328f6e2 --- /dev/null +++ b/language/pl/help.php @@ -0,0 +1,127 @@ +
    +

    O projekcie

    +Pomyslodawca projektu jest Daniel Schlichtholz.

    W 2004 stworzyl forum o nazwie MySQLDumper i wkrótce programisci piszacy nowe skrypty uzupelnili skrypty Daniela.
    Po krótki czasie maly skrypt backupu przerodzil sie w powazny projekt. +

    Jezeli masz jakies pomysly na zmiany, odwiedz forum MySQLDumpera: http://www.mysqldumper.de. +

    Zyczymy duzo radosci z uzywania naszego projektu.

    Zespól MySQLDumpera

    +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Skrypt Perla przy wspólpracy z Detlevem Richterem
    +
    + +

    MySQLDumper - Pomoc

    + +

    Pobieranie

    +Skrypt jest dostepny na stronie domowej MySQLDumpera.
    +Zalecamy czesto odwiedzac strone domowa by byc na biezaco z najnowszymi wiadomosciami, uaktualnieniami i pomoca.
    +Adres strony to: http://forum.mysqldumper.de + +

    Wymagania systemowe

    +Skrypt powninien dzialac z praktycznie kazdym serwerem (uzywajacym Windowsa, Linuxa, itp.)
    +oraz PHP >= wersji 4.3.4 z biblioteka GZip, MySQL (>= 3.23), JavaScriptem (musi byc zalaczony). + +

    Instalacja

    +Instalacja jest bardzo prosta. +Rozpakuj archiwum do dowolnego katalogu, który jest dostepny na serwerze
    +(np. w katalogu glównym [katalog glówny serwera/]MySQLDumper)
    +zmien uprawnienia CHMOD pliku config.php na 777
    +... i juz gotowe!
    +Mozesz uruchomic MySQLDumpera w swojej przegladarce przechodzac na strone "http://TwójSerwer/MySQLDumper" by dokonczyc ustawienia, po prostu wykonuj podane instrukcje. + +
    Uwaga:
    Jezeli twój serwer pracuje w trybie SafeMode On MySQLDumper nie bedzie mógl utworzyc za ciebie katalogów.
    +Bedziesz musial utworzyc je samodzielnie.
    +MySQLDumper zatrzyma sie w takim wypadku i powie ci, co zrobic.
    +Po utworzeniu katalogów MySQLDumper bedzie dzialal normalnie.

    + +

    Przewodnik po skrypcie Perla

    + +Na wiekszosci serwerów dostepny jest katalog cgi-bin, w którym skrypty Perla moga byc uruchamiane.
    +Dostepny jest zazwyczaj przez przegladarke pod adresem http://www.TwójSerwer.pl/cgi-bin/

    + +W takim wypadku prosze wykonac nastepujace kroki:

    + +1. Przejdz na strone Backup w MySQLDumperze i kliknij na "Backup Perl"
    +2. Skopiuj sciezke która znajduje sie za wpisem w crondump.pl dla $absolute_path_of_configdir:
    +3. Otwórz plik "crondump.pl" w edytorze tekstowym
    +4. paste the copied path there with absolute_path_of_configdir (no blanks)
    +5. Save crondump.pl
    +6. copy crondump.pl, as well as perltest.pl and simpletest.pl to the cgi-bin directory (ASCII mode in the ftp-client!)
    +7. chmod 755 to the scripts.
    +7b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
    +8. Call in the MySQLDumper the page Configuration
    +9. click on Cronscript
    +10. changes Perl execution path to /cgi-bin/
    +10b. if the Scripts are renamed to *.cgi , change Fileextension to cgi
    +11 save the Configuration

    + +Ready ! The scripts are available from the Page "Backup"

    + +When you can execute Perl anywhere, only following step are needed:

    + +1. Call in MySQLDumper the page Backup.
    +2. Copy the path, that stands behind entry in crondump.pl for $absolute_path_of_configdir:
    +3. open the file "crondump.pl" in the editor
    +4. paste the copied path there with absolute_path_of_configdir (no blanks)
    +5. Save crondump.pl
    + +6. chmod 755 to the scripts.
    +6b. If the ending cgi is desired, change the ending of all 3 files pl - > cgi (rename)
    +(ev. 10b+11 from above)

    + + +Windowsuser must change the first line of all Perlscripts, to the path of Perl.

    + +Example:
    + +instead of: #!/usr/bin/perl w
    +now #!C:\perl\bin\perl.exe w
    + +

    Operating

      + +
      Menu
      +In the select box above you choose your database.
      +All actions refer to this database. + +
      Home
      +Here you get information about your system, the version numbers and details about the configured databases.
      +If you click on a database in the table, you get a list of tables with record counts, size and last update stamp. + +
      Configuration
      +Here you can edit your configuration, save it or load the default settings. + + +
      Management
      +All the actions are listed here.
      +You see all files in the backup directory. +For the actions "Restore" and "Delete" you have to select a file first. +
        +
      • Restore: you restore the database with the records of the selected backupfile.
      • +
      • Delete: you can delete the selected backup file.
      • +
      • Start new Dump: here you start a new backup (dump) with your configured parameters.
      • +
      + +
      Log
      +You can read the Log entries and delete them. + +
      Credits / Help
      +This page. +
    \ No newline at end of file diff --git a/language/pl/lang.php b/language/pl/lang.php new file mode 100644 index 0000000..1994140 --- /dev/null +++ b/language/pl/lang.php @@ -0,0 +1,104 @@ +not available"; +$lang['vom']="from"; +$lang['mysqlvars']="MySQL Variables"; +$lang['mysqlsys']="MySQL Commands"; +$lang['Status']="State"; +$lang['Prozesse']="Processes"; +$lang['info_novars']="no variables available"; +$lang['Inhalt']="Value"; +$lang['info_nostatus']="no status available"; +$lang['info_noprocesses']="no running processes"; +$lang['fm_freespace']="Free Space on Server"; +$lang['load_database']="Reload databases"; +$lang['home']="Home"; +$lang['config']="Ustawienia"; +$lang['dump']="Backup"; +$lang['restore']="Restore"; +$lang['file_manage']="File Administration"; +$lang['log']="Log"; +$lang['choose_db']="Wybierz bazÄ™ danych"; +$lang['credits']="Credits / Help"; +$lang['multi_part']="Multipart Backup"; +$lang['logfilenotwritable']="Can't write logfile !"; +$lang['sql_error1']="Error in Query:"; +$lang['sql_error2']="MySQL says:"; +$lang['unknown']="unknown"; +$lang['unknown_number_of_records']="unknown"; +$lang['ok']="OK"; +$lang['cron_completelog']="Log complete output"; +$lang['no']="no"; +$lang['create_database']="Create new database"; +$lang['exportfinished']="Export finished."; +$lang['sql_browser']="SQL-Browser"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_config_overview.php b/language/pl/lang_config_overview.php new file mode 100644 index 0000000..bebd887 --- /dev/null +++ b/language/pl/lang_config_overview.php @@ -0,0 +1,111 @@ +%s
    into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Enter Comment"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_dump.php b/language/pl/lang_dump.php new file mode 100644 index 0000000..ee6d152 --- /dev/null +++ b/language/pl/lang_dump.php @@ -0,0 +1,58 @@ +%s` "; +$lang['dump_endergebnis']="The file contains %s tables with %s records.
    "; +$lang['mailerror']="Sending of email failed!"; +$lang['emailbody_attach']="The Attachment contains the backup of your MySQL-Database.
    Backup of Database `%s` +

    Following File was created:

    %s

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="A Multipart Backup was created.
    The Backup files are not attached to this email!
    Backup of Database `%s` +

    Following Files were created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="A Multipart Backup was created.
    The Backup files are attached to separate emails.
    Backup of Database `%s` +

    Following Files were created:

    %s

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_footer']="`

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_toobig']="The Backup file exceeded the maximum size of %s and was not attached to this email.
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['emailbody_noattach']="Files are not attached to this email!
    Backup of Database `%s` +

    Following File was created:

    %s +

    Kind regards

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... attachment only."; +$lang['tableselection']="Table selection"; +$lang['selectall']="Select All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['lastbufrom']="last update from"; +$lang['not_supported']="This backup doesn't support this function."; +$lang['multidump']="Multidump: Backup of %d Databases done."; +$lang['filesendftp']="send file via FTP... please be patient. "; +$lang['ftpconnerror']="FTP connection not established! Connection with "; +$lang['ftpconnerror1']=" as user "; +$lang['ftpconnerror2']=" not possible"; +$lang['ftpconnerror3']="FTP Upload failed! "; +$lang['ftpconnected1']="Connected with "; +$lang['ftpconnected2']=" on "; +$lang['ftpconnected3']=" transfer successful"; +$lang['nr_tables_selected']="- with %s selected tables"; +$lang['nr_tables_optimized']="%s tables have been optimized."; +$lang['dump_errors']="

    %s errors occured: view

    "; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
    +Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/pl/lang_filemanagement.php b/language/pl/lang_filemanagement.php new file mode 100644 index 0000000..782bead --- /dev/null +++ b/language/pl/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Run the Perl Cron script"; +$lang['DoPerlTest']="Test Perl Modules"; +$lang['DoSimpleTest']="Test Perl"; +$lang['perloutput1']="Entry in crondump.pl for absolute_path_of_configdir"; +$lang['perloutput2']="URL for the browser or for external Cron job"; +$lang['perloutput3']="Commandline in the Shell or for the Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backup Converter"; +$lang['convert_file']="File to be converted"; +$lang['convert_filename']="Name of destination file (without extension)"; +$lang['converting']="Converting"; +$lang['convert_fileread']="Read file '%s'"; +$lang['convert_finished']="Conversion finished, '%s' was written successfully."; +$lang['no_msd_backupfile']="Backups of other scripts"; +$lang['max_upload_size']="Maximum filesize"; +$lang['max_upload_size_info']="If your Dumpfile is bigger than the above mentioned limit, you must upload it via FTP into the directory \"work/backup\". +After that you can choose it to begin a restore progress. "; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
    You must choose the charset with which this backup was saved. +
    If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
    Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_help.php b/language/pl/lang_help.php new file mode 100644 index 0000000..dc36e2a --- /dev/null +++ b/language/pl/lang_help.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/language/pl/lang_install.php b/language/pl/lang_install.php new file mode 100644 index 0000000..a13807b --- /dev/null +++ b/language/pl/lang_install.php @@ -0,0 +1,90 @@ +Installation completed --> start MySQLDumper
    "; +$lang['install_tomenu']="Back to main menu"; +$lang['installmenu']="Main menu"; +$lang['step']="Step"; +$lang['install']="Installation"; +$lang['uninstall']="Uninstall"; +$lang['tools']="Tools"; +$lang['editconf']="Edit configuration"; +$lang['osweiter']="Continue without saving"; +$lang['errorman']="Error while saving the Configuration!
    Please edit the File "; +$lang['manuell']="manually"; +$lang['createdirs']="Create Directories"; +$lang['install_continue']="Continue with installation"; +$lang['connecttomysql']="Connect to MySQL "; +$lang['dbparameter']="Database Parameters"; +$lang['confignotwritable']="I cannot write to file \"config.php\". +Please use your FTP-Programm and chmod this file to 0777."; +$lang['dbconnection']="Database Connection"; +$lang['connectionerror']="Error: unable to connect."; +$lang['connection_ok']="Database connection was established."; +$lang['saveandcontinue']="Save and continue installation"; +$lang['confbasic']="Basic Parameter"; +$lang['install_step2finished']="Database parameters were saved successfully."; +$lang['install_step2_1']="Continue installation with the default settings"; +$lang['laststep']="Installation Finish"; +$lang['ftpmode']="Create necessary directories in safe-mode"; +$lang['idomanual']="I create the dirs myself"; +$lang['dofrom']="starting from"; +$lang['ftpmode2']="Create the dirs with FTP:"; +$lang['connect']="connect"; +$lang['dirs_created']="The directories are created and correctly permissioned."; +$lang['connect_to']="connect to"; +$lang['changedir']="change to dir"; +$lang['changedirerror']="change to dir was not possible"; +$lang['ftp_ok']="FTP parameter are ok"; +$lang['createdirs2']="Create directories"; +$lang['ftp_notconnected']="FTP connection not established!"; +$lang['connwith']="Connection with"; +$lang['asuser']="as user"; +$lang['notpossible']="not possible"; +$lang['dircr1']="create workdir"; +$lang['dircr2']="create backupdir"; +$lang['dircr4']="create logdir"; +$lang['dircr5']="create configurationdir"; +$lang['indir']="now in dir"; +$lang['check']="Check my directories"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['nogzpossible']="You don't have compression functions !"; +$lang['ui1']="All working directories which can contain backups will be deleted."; +$lang['ui2']="Are you sure you want that?"; +$lang['ui3']="no, cancel immediately"; +$lang['ui4']="yes, please continue"; +$lang['ui5']="delete working directories"; +$lang['ui6']="all was deleted successfully."; +$lang['ui7']="Please delete the script directory"; +$lang['ui8']="one level up"; +$lang['ui9']="An error occured, deleting was not possible

    Error with directory "; +$lang['import']="Import Configuration"; +$lang['import1']="Import settings from "; +$lang['import2']="Upload and import settings"; +$lang['import3']="Configuration was loaded ..."; +$lang['import4']="Configuration was saved."; +$lang['import5']="Start MySQLDumper"; +$lang['import6']="Installation Menu"; +$lang['import7']="Upload configuration"; +$lang['import8']="back to upload"; +$lang['import9']="This is not a configuration backup !"; +$lang['import10']="Configuration was uploaded successfully ..."; +$lang['import11']="Error: There were problems writing sql_statements"; +$lang['import12']="Error: There were problems writing config.php"; +$lang['install_help_port']="(empty = Default Port)"; +$lang['install_help_socket']="(empty = Default Socket)"; +$lang['tryagain']="Try again"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="found db"; +$lang['fm_fileupload']="Upload file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="The connection to the database was successfully established.
    +Your userdata is valid and was accepted by the MySQL-Server.
    +But MySQLDumper was not able to find any database.
    +The automatic detection via script is blocked on some server.
    +You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_log.php b/language/pl/lang_log.php new file mode 100644 index 0000000..70a7ea3 --- /dev/null +++ b/language/pl/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/pl/lang_main.php b/language/pl/lang_main.php new file mode 100644 index 0000000..fef7811 --- /dev/null +++ b/language/pl/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="The Passwords are not identical or empty !
    "; +$lang['htaccess11']="Should the directory protection be written now ?"; +$lang['htaccess12']="The directory protection was created."; +$lang['htaccess13']="Contents of file:"; +$lang['htaccess14']="There was an error while creating the directory protection !
    Please create the 2 files manually with following content:"; +$lang['htaccess15']="Urgently recommended !"; +$lang['htaccess16']="Edit .htaccess"; +$lang['htaccess18']="Create .htaccess in "; +$lang['htaccess19']="Reload "; +$lang['htaccess20']="Execute script"; +$lang['htaccess21']="Add handler"; +$lang['htaccess22']="Make executable"; +$lang['htaccess23']="Directory Listing"; +$lang['htaccess24']="Error Document"; +$lang['htaccess25']="Activate rewrite"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="More examples and documentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="General"; +$lang['htaccess32']="Attention! The .htaccess directly affects the browser's behavior.
    With incorrect content, these pages may no longer be accessible."; +$lang['phpbug']="Bug in zlib ! No Compression possible"; +$lang['disabledfunctions']="Disabled Functions"; +$lang['nogzpossible']="Because Zlib is not installed, you cannot use GZip-Functions."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
    +The rights (chmod) are not set properly or it has the wrong owner.
    +Pleae set the correct attributes using your FTP-Programm.
    +The file or the directory needs to be set to %s.
    "; +$lang['cant_create_dir']="Couldn' t create dir '%s'. +Please create it using your FTP-Programm."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_restore.php b/language/pl/lang_restore.php new file mode 100644 index 0000000..f61dd88 --- /dev/null +++ b/language/pl/lang_restore.php @@ -0,0 +1,21 @@ +%d tables were created."; +$lang['file_missing']="couldn't find file"; +$lang['restore_db']="Database '%s' on '%s'."; +$lang['restore_complete']="%s tables created."; +$lang['restore_run1']="
    Up to now %s of %s records were successfully added."; +$lang['restore_run2']="
    Now the table '%s' is restoring.

    "; +$lang['restore_complete2']="%s records inserted."; +$lang['restore_tables_completed']="Up to now %d of %d tables were created."; +$lang['restore_total_complete']="
    Congratulations.

    The restoration of the database is done.
    All data from the Backup file was restored.

    Everything is done. :-)"; +$lang['db_select_error']="
    Error:
    Selection of database "; +$lang['db_select_error2']=" failed!"; +$lang['file_open_error']="Error: could not open file."; +$lang['progress_over_all']="Overall Progress"; +$lang['back_to_overview']="Database Overview"; +$lang['restore_run0']="
    up to now %s records were successfully added."; +$lang['unknown_sqlcommand']="unknown SQL-Command"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/pl/lang_sql.php b/language/pl/lang_sql.php new file mode 100644 index 0000000..2168405 --- /dev/null +++ b/language/pl/lang_sql.php @@ -0,0 +1,180 @@ +%s lines exported"; +$lang['csv_fieldcount_nomatch']="The count of fields doesn't match with that of the data to import (%d instead of %d)."; +$lang['csv_fieldslines']="%d fields recognized, totally %d lines"; +$lang['csv_errorcreatetable']="Error while creating table `%s` !"; +$lang['fm_uploadfilerequest']="please choose a file."; +$lang['csv_nodata']="No data found for import!"; +$lang['sqllib_generalfunctions']="general functions"; +$lang['sqllib_resetauto']="reset auto-increment"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="deactivate Board"; +$lang['sqllib_activateboard']="activate Board"; +$lang['sql_notablesselected']="No tables selected !"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Select Database / Datebase functions / Import - Export "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maximum filesize"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/pt_br/help.php b/language/pt_br/help.php new file mode 100644 index 0000000..6c9bbe6 --- /dev/null +++ b/language/pt_br/help.php @@ -0,0 +1,156 @@ +
    +

    Sobre este Projeto

    +A idéia para este projeto é de Daniel Schlichtholz. +

    Em 2004 ele criou um fórum chamado MySQLDumper e logo , programadores estavam escrevendo novos scripts, que complementavam os scripts de Daniel.
    +Depois de um período curto de tempo um pequeno script de backup tinha se tornado um projeto robusto e avançado. +

    Se você tiver alguma sugestão de aperfeiçoamento por favor visite o fórum do MySQLDumper: http://www.mysqldumper.de. +

    Nós esperamos que você tenha bons momentos com este projeto!
    +
    +

    Equipe do MySQLDumper

    +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript with Support from Detlev Richter
    +
    + +

    Ajuda do MySQLDumper

    + +

    Download

    +O script está disponível na página principal do MySQLDumper.
    +Recomendamos que você visite a página principal com frequência para obter as últimas informações, atualizações e ajuda.
    +O endereço é + +http://forum.mysqldumper.de + + +

    Requisitos de sistema obrigatórios

    +O script funciona em praticamente qualquer tipo de servidor (Windows, Linux, ...)
    +e PHP >= Version 4.3.4 com GZip-Library, MySQL (>= 3.23), JavaScript (deve estar habilitado). + + +

    Instalação

    +
    +A Instalação é muito fácil. +Descompacte o arquivo em qualquer pasta, com acesso permitido, no servidor
    +(p.ex. no diretório raiz [Server rootdir/]MySQLDumper)
    +altere o config.php para chmod 777
    +... e pronto!
    +você pode executar o MySQLDumper em seu navegador digitando"http://webserver/MySQLDumper" +para completar o setup, simplesmente siga as instruções. + +
    +Nota:
    +Se o seu webserver operar com a opção safemode=ON, o MySqlDump pode não conseguir criar os diretórios.
    +você deverá fazê-lo, criando os diretórios você mesmo.
    +O MySqlDump vai parar, neste caso, e dizer a você o quê fazer.
    +Depois de criados os diretórios o MySqlDump irá funcionar normalmente.

    + + +

    Guia para o script Perl

    + +Muitos tem um diretório cgi-bin , no qual scripts Perl podem ser executados.
    +Normalmente isto é feito pelo navegador, i.é, http://www.domain.de/cgi-bin/ script disponível.
    +
    + +Siga os seguintes passos, por favor.
    +
    + +1. Carregue no MySQLDumper a página Backup e clique em "Backup Perl"
    +2. Copie o path, antes da entrada em crondump.pl para $absolute_path_of_configdir:
    +3. Abra o arquivoe "crondump.pl" em um editor
    +4. Cole o path copiado como absolute_path_of_configdir (sem espaços em branco)
    +5. Salve o crondump.pl
    +6. Copie o crondump.pl, como perltest.pl e simpletest.pl para o diretório cgi-bin (use o modo ASCII do seu prog. de ftp!)
    +7. Aplique chmod 755 nos scripts.
    +7b. Se o final do cgi for pedido, mude o final de todos os 3 arquivos pl - >cgi (renomear)
    +8. Carregue a página Configuração no MySQLDumper
    +9. Clique em Cronscript
    +10. Altere a execução do path do para /cgi-bin/
    +10b. Se os scripts foram renomeados para *.cgi, altere a extensão do arquivo para cgii
    +11. Salve a Configuração
    +
    + +Pronto ! Os scripts estão disponíveis a partir da página "Backup"
    +
    + +Quando você executar o Perl em qualquer lugar, somente os seguintes passos são necessários:
    +
    + +1. Carregue no MySQLDumper a página Backup.
    +2. Copie o path, antes da entrada em crondump.pl para $absolute_path_of_configdir:
    +3. Abra o arquivo "crondump.pl" no seu editor
    +4. Cole o path copiado como absolute_path_of_configdir (sem espaços em branco)
    +5. Salve o crondump.pl
    + +6. Aplique chmod 755 nestes scripts.
    +6b.Se o final do cgi for pedido, mude o final de todos os 3 arquivos pl - >;cgi (renomear)
    +(ver 10b+11 acima)
    +
    + + +Usuários do windows devem alterar a primeira linha de todos os scripts Perl, para o path do Perl.
    +
    + +Exemplo:
    + +em lugar de: #!/usr/bin/perl w
    +agora #!C:\perl\bin\perl.exe w
    + +

    Operação

    +
      + +
      Menu
      +Na caixa de seleção acima você deve escolher o banco de dados.
      +Todas as ações serão para este banco de dados. + +
      Inicial
      +Aqui você irá obter informação sobre o sistema, os números da versão e detalhes +sobre as configurações do banco de dados.
      +Se você clicar em um banco de dados na caixa de seleção, irá ver a lista de tabelas +com os registros de gravação, tamanho e a data da última atualização. +
      Configuração
      +Aqui você pode editar sua Configuração, salvá-la ou carregar as configurações +padrão. +
        +
      • Bancos de Dados Configurados: lista dos bancos + de dados. O bd ativo está em negrito.
      • +
      • Prefixo da Tabela: você pode escolher um prefixo + para cada bd separadamente. O prefixo pode operar como um filtro, o que permite que você escolha tabelas em um backup, que comecem com esse prefixo (p.ex. todas as tabelas que comecem com "phpBB_"). + Se você não for usar isto deixe este campo em branco.
      • +
      • GZip-Compression: Aqui você pode ativar a compressão. é recomendável trabalhar com compressão por conta do tamanho dos arquivos: espaço em disco sempre é algo precioso, não é?
      • +
      • Contagem de Registros para Backup: Número de registros lidos simultaneamente durante o processo de backup, antes do registro fazer nova chamada. Em servidores lentos você deve reduzir este parâmetro para prevenir timeouts.
      • +
      • Contagem de Registros para restaurar: Número de registros lidos simultaneamente durante o processo de restauração, antes do registro fazer nova chamada.Em servidores lentos você deve reduzir este parâmetro para prevenir timeouts
      • +
      • diretório para arquivos de backup: escolha seu diretório para os arquivos de backup. Se você quiser criar um, o script irá criar um para você. você pode usar paths relativos ou absolutos.
      • +
      • Enviar arquivo de backup como e-mail: Quando esta opção está ativa, o script irá encaminhar automaticamente o arquivo de backup como anexo do e-mail (cuidado!, você deve usar a opção de comprimir os arquivos porquê os arquivos de backup podem ficar muito grandes para serem encaminhados por eamail!
      • +
      • endereço de e-mail: endereço do e-mail do destinatário
      • +
      • Assunto do E-mail: Assunto do e-mail
      • +
      • Transferência por FTP: Quando esta opção estiver ativa, o script irá, automaticamente, enviar o arquivo de backup via FTP.
      • +
      • Servidor de FTP: endereço do servidor de FTP + (p.ex. ftp.mybackups.de)
      • +
      • Porta do Servidor de FTP: a Porta do Servidor de FTP (normalmente 21)
      • +
      • Usuário do FTP: nome de Usuário da conta de FTP
      • +
      • Senha do FTP: senha da conta de FTP
      • +
      • FTP - diretório para upload: diretório/pasta para salvar os arquivos de backup (tem de ter permissão para upload!)
      • + +
      • Apagar backups automaticamente: Quando você ativar esta opção os arquivos de backup serão apagados automaticamente segundo as configurações a seguir.
      • +
      • Apagar por Número de arquivos: Um valor > 0 + apagará todos os que excederem o valor determinado
      • +
      • Idioma: escolha a linguagem para a interface.
      • +
      + +
      Gerenciamento
      +Todas as ações estão listadas aqui.
      +Você poderá ver todos os arquivos do diretório de backup .Para realizar as ações +de "Restore" e "Backup" você deve selecionar um arquivo primeiro. +
        +
      • Restaurar: você restaura o banco de dados com os registros + do arquivo de backup selecionado.
      • +
      • Apagar: você pode apagar o arquivo de backup selecionado.
      • +
      • Iniciar novo Dump: aqui você inicia um novo backup (dump) + com seus parâmetros anteriormente configurados.
      • +
      + +
      Log
      +você pode ler os registros de Log e apagá-los. +
      Créditos/Ajuda
      +Esta página. +
    \ No newline at end of file diff --git a/language/pt_br/lang.php b/language/pt_br/lang.php new file mode 100644 index 0000000..01954f6 --- /dev/null +++ b/language/pt_br/lang.php @@ -0,0 +1,104 @@ +não disponível"; +$lang['vom']="de"; +$lang['mysqlvars']="Variáveis do MySQL"; +$lang['mysqlsys']="Comandos do MySQL"; +$lang['Status']="Estado"; +$lang['Prozesse']="Processos"; +$lang['info_novars']="nenhuma variável disponível"; +$lang['Inhalt']="Valor"; +$lang['info_nostatus']="nenhum estado disponível"; +$lang['info_noprocesses']="nenhum processo em execução"; +$lang['fm_freespace']="Espaço livre no servidor"; +$lang['load_database']="recarregar bancos de dados"; +$lang['home']="Início"; +$lang['config']="Configuração"; +$lang['dump']="Criar backup"; +$lang['restore']="Restaurar"; +$lang['file_manage']="Administração de arquivos"; +$lang['log']="Log"; +$lang['choose_db']="Escolher banco de dados"; +$lang['credits']="Créditos / Ajuda"; +$lang['multi_part']="Backup multi-parte"; +$lang['logfilenotwritable']="Não pude criar o arquivo de log !"; +$lang['sql_error1']="Erro na consulta:"; +$lang['sql_error2']="MySQL diz:"; +$lang['unknown']="desconhecido"; +$lang['unknown_number_of_records']="desconhecido"; +$lang['ok']="OK"; +$lang['cron_completelog']="Registrar todas as saídas"; +$lang['no']="não"; +$lang['create_database']="Criar novo banco de dados"; +$lang['exportfinished']="Exportação finalizada."; +$lang['sql_browser']="Navegador-SQL"; +$lang['server']="Servidor"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_config_overview.php b/language/pt_br/lang_config_overview.php new file mode 100644 index 0000000..cf3007d --- /dev/null +++ b/language/pt_br/lang_config_overview.php @@ -0,0 +1,112 @@ +%s
    into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Digitar comentário"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_dump.php b/language/pt_br/lang_dump.php new file mode 100644 index 0000000..9a1f7f5 --- /dev/null +++ b/language/pt_br/lang_dump.php @@ -0,0 +1,58 @@ +%s` "; +$lang['dump_endergebnis']="O arquivo contém %s tabela(s) com %s registro(s).
    "; +$lang['mailerror']="O envio do email falhou!"; +$lang['emailbody_attach']="O anexo contém o backup do seu banco de dados MySQL.
    Backup do banco de dados `%s` +

    O seguinte arquivo foi criado:

    %s

    Atenciosamente

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="Um backup Multi-parte foi criad.
    Os arquivos não estão anexados a este email!
    Backup do banco de dados `%s` +

    Os seguintes arquivos foram criados:

    %s +

    Atenciosamente

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="Um backup Multi-parte foi criado.
    Os arquivos de backup estão anexados em emails separados.
    Backup do banco de dados `%s` +

    Os seguintes arquivos foram criados:

    %s

    Atenciosamente

    MySQLDumper
    "; +$lang['emailbody_footer']="`

    Atenciosamente

    MySQLDumper
    "; +$lang['emailbody_toobig']="O arquivo de backup excedeu o tamanho máximo de %s e não foi anexado a este email.
    Backup do banco de dados `%s` +

    O seguinte arquivo foi criado:

    %s +

    Atenciosamente

    MySQLDumper
    "; +$lang['emailbody_noattach']="Os arquivos não estão anexados a este email!
    Backup do banco de dados `%s` +

    O seguinte arquivo foi criado:

    %s +

    Atenciosamente

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... somente anexos."; +$lang['tableselection']="Seleção de tabela"; +$lang['selectall']="Selecionar tudo"; +$lang['deselectall']="Desselecionar tudo"; +$lang['startdump']="Iniciar backup"; +$lang['lastbufrom']="última atualização de"; +$lang['not_supported']="Este backup não suporta esta função."; +$lang['multidump']="Multidump: Backup do(s) %d banco(s) de dados pronto."; +$lang['filesendftp']="enviando o arquivo via FTP... favor ter paciente. "; +$lang['ftpconnerror']="Conexão de FTP não estabelecida! Conexão com "; +$lang['ftpconnerror1']=" com o usuário "; +$lang['ftpconnerror2']=" impossível"; +$lang['ftpconnerror3']="Envio por FTP falhou! "; +$lang['ftpconnected1']="Conectado com "; +$lang['ftpconnected2']=" em "; +$lang['ftpconnected3']=" trasnferido com sucesso"; +$lang['nr_tables_selected']="- com %s tabelas selecionadas"; +$lang['nr_tables_optimized']="%s tabelas foram otimizadas."; +$lang['dump_errors']="

    %s erros ocorreram: verdere

    "; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
    +Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_filemanagement.php b/language/pt_br/lang_filemanagement.php new file mode 100644 index 0000000..da69a97 --- /dev/null +++ b/language/pt_br/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Executar o script Perl Cron"; +$lang['DoPerlTest']="Testar módulos Perl"; +$lang['DoSimpleTest']="Testar Perl"; +$lang['perloutput1']="Entrada no crondump.pl para o absolute_path_of_configdir"; +$lang['perloutput2']="URL para o navegador ou serviço Cron externo"; +$lang['perloutput3']="Linha de comando no terminal para o Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Conversor de backup"; +$lang['convert_file']="Arquivo a ser convertido"; +$lang['convert_filename']="Nome do arquivo de destino (sem extensão)"; +$lang['converting']="Convertendo"; +$lang['convert_fileread']="Ler arquivo '%s'"; +$lang['convert_finished']="Conversão terminada, o arquivo '%s' foi gravado com sucesso."; +$lang['no_msd_backupfile']="Backups de outros scripts"; +$lang['max_upload_size']="Tamanho máximo do aqruivo"; +$lang['max_upload_size_info']="Se o seu arquivo de dump é maior que o limite mencionado acima, você deve enviá-lo via FTP para o diretório \"work/backup\". +Após fazer isso você poderá escolhê-lo novamente para iniciar o processo de restauração. "; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
    You must choose the charset with which this backup was saved. +
    If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
    Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_help.php b/language/pt_br/lang_help.php new file mode 100644 index 0000000..fbc84a5 --- /dev/null +++ b/language/pt_br/lang_help.php @@ -0,0 +1,36 @@ + \ No newline at end of file diff --git a/language/pt_br/lang_install.php b/language/pt_br/lang_install.php new file mode 100644 index 0000000..fcd951b --- /dev/null +++ b/language/pt_br/lang_install.php @@ -0,0 +1,90 @@ +Instalação completada --> iniciar o MySQLDumper
    "; +$lang['install_tomenu']="Voltar ao menu principal"; +$lang['installmenu']="Menu principal"; +$lang['step']="Passo"; +$lang['install']="Instalação"; +$lang['uninstall']="Desinstalar"; +$lang['tools']="Ferramentas"; +$lang['editconf']="Editar configuração"; +$lang['osweiter']="Continuar sem salvar"; +$lang['errorman']="Erro durante a gravação da configuração!
    Favor editar o Arquivo "; +$lang['manuell']="manualmente"; +$lang['createdirs']="Criar diretórios"; +$lang['install_continue']="Continuar com a instalação"; +$lang['connecttomysql']="Conectar ao MySQL "; +$lang['dbparameter']="Parâmetros do banco de dados"; +$lang['confignotwritable']="Eu não consigo escrever no arquivo \"config.php\". +Favor usar seu programa de FTP e alterar as permissões deste arquivo para 0777."; +$lang['dbconnection']="Conexão do banco de dados"; +$lang['connectionerror']="Erro: incapaz de conectar."; +$lang['connection_ok']="A conexão ao banco de dados foi estabelecida."; +$lang['saveandcontinue']="Salvar e continuar a instalação"; +$lang['confbasic']="Parâmetros básicos"; +$lang['install_step2finished']="Os parâmetros do banco de dados foram salvos."; +$lang['install_step2_1']="Continuar a instalação com as opções padrão"; +$lang['laststep']="Instalação terminada"; +$lang['ftpmode']="Criar os diretórios necessários em modo seguro"; +$lang['idomanual']="Eu mesmo criarei os diretórios"; +$lang['dofrom']="iniciando com"; +$lang['ftpmode2']="Criar os diretórios pelo FTP:"; +$lang['connect']="conectar"; +$lang['dirs_created']="Os diretórios foram criados e as permissões corretamente atribuídas."; +$lang['connect_to']="conectar a"; +$lang['changedir']="mudar para o diretório"; +$lang['changedirerror']="a mudança para o diretório não foi possível"; +$lang['ftp_ok']="os parâmetros de FTP estão ok"; +$lang['createdirs2']="Criar diretórios"; +$lang['ftp_notconnected']="A conexão de FTP não foi estabelecida!"; +$lang['connwith']="Conexão com"; +$lang['asuser']="como usuário"; +$lang['notpossible']="impossível"; +$lang['dircr1']="criar workdir"; +$lang['dircr2']="criar backupdir"; +$lang['dircr4']="criar logdir"; +$lang['dircr5']="criar configurationdir"; +$lang['indir']="agora no diretório"; +$lang['check']="Verificar meus diretórios"; +$lang['disabledfunctions']="Funções desativadas"; +$lang['noftppossible']="Você não tem as funções de FTP !"; +$lang['nogzpossible']="Você não tem as funções de compressão !"; +$lang['ui1']="Todos os diretórios que podem conter backups serão excluidos."; +$lang['ui2']="Você tem certeza de que quer isso?"; +$lang['ui3']="não, cancelar imediatamente"; +$lang['ui4']="sim, favor continuar"; +$lang['ui5']="excluir diretórios de serviço"; +$lang['ui6']="todos foram excluidos com sucesso."; +$lang['ui7']="Fvor excluir o diretório de script"; +$lang['ui8']="one level up"; +$lang['ui9']="Um erro ocorreu, impossível excluir

    Erro com o diretório "; +$lang['import']="Importar configuração"; +$lang['import1']="Importar ajustes de "; +$lang['import2']="Enviar e importar os ajustes"; +$lang['import3']="A configuração foi carregada ..."; +$lang['import4']="A configuração foi salva."; +$lang['import5']="Iniciar o MySQLDumper"; +$lang['import6']="Menu de instalação"; +$lang['import7']="Enviar configuração"; +$lang['import8']="voltar ao envio"; +$lang['import9']="Este não é um backup de configuração !"; +$lang['import10']="A configuração foi enviada com sucesso ..."; +$lang['import11']="Erro: Houveram problemas ao escrever os comandos sql"; +$lang['import12']="Erro: Houveram problemas ao escrever o config.php"; +$lang['install_help_port']="(em branco = Porta padrão)"; +$lang['install_help_socket']="(em branco = Socket padrão)"; +$lang['tryagain']="Tentar novamente"; +$lang['socket']="Socket"; +$lang['port']="Porta"; +$lang['found_db']="bd localizado"; +$lang['fm_fileupload']="Enviar arquivo"; +$lang['pass']="Senha"; +$lang['no_db_found_info']="A conexão com o banco de dados foi estabelecida com sucesso.
    +Seus dados de usuário são válidos e foram aceitos pelo Servidor MySQL.
    +Mas o MySQLDumper não foi capaz de encontrar nenhuma base de dados.
    +A detecção automática via script é bloqueada em alguns servidores.
    +Você deve colocar seus dados do banco de dados manualmente depois de terminada a instalação. +Clique em \"configurações\" \"Parâmetros de Conexão - exibir\" e digite ali o nome do banco de dados."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_log.php b/language/pt_br/lang_log.php new file mode 100644 index 0000000..b4755f5 --- /dev/null +++ b/language/pt_br/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/pt_br/lang_main.php b/language/pt_br/lang_main.php new file mode 100644 index 0000000..903b328 --- /dev/null +++ b/language/pt_br/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="As senhas não são idênticas ou são nulas !
    "; +$lang['htaccess11']="Deve a proteção do diretório ser gravada agora ?"; +$lang['htaccess12']="A proteção do diretório foi criada."; +$lang['htaccess13']="Conteúdo do arquivo:"; +$lang['htaccess14']="Houve um erro durante a criação da proteção do diretório !
    Favor criar os 2 arquivos manualmente com o seguinte conteúdo:"; +$lang['htaccess15']="Urgentemente recomendado !"; +$lang['htaccess16']="Editar o .htaccess"; +$lang['htaccess18']="Criar o .htaccess em "; +$lang['htaccess19']="Recarregar "; +$lang['htaccess20']="Executar script"; +$lang['htaccess21']="Adicionar handler"; +$lang['htaccess22']="Tornar executável"; +$lang['htaccess23']="Listar Diretórios"; +$lang['htaccess24']="Documento de Erro"; +$lang['htaccess25']="Ativar rewrite"; +$lang['htaccess26']="Negar / Permitir"; +$lang['htaccess27']="Redirecionar"; +$lang['htaccess28']="Error Log"; +$lang['htaccess29']="Mais exemplos e documentação"; +$lang['htaccess30']="Provedor"; +$lang['htaccess31']="General"; +$lang['htaccess32']="Atenção! As diretivas do .htaccess afetam o comportamento do navegador.
    Com conteúdo incorreto, as páginas podem ficar inacessíveis."; +$lang['phpbug']="Bug em zlib ! Não foi possível comprimir"; +$lang['disabledfunctions']="Desativar Funções"; +$lang['nogzpossible']="Como Zlib não está instalado, você não poderá usar as funções do GZip."; +$lang['delete_htaccess']="Remover proteção de diretório (apagar .htaccess)"; +$lang['wrong_rights']="O arquivo ou o diretório '%s' não tem permissão de escrita para mim.
    +As permissões (chmod) não estão configuradas apropriadamente ou não há privilégios suficientes para este usuário.
    +Por favor configure corretamente as permissões usando o programa de FTP.
    +O arquivo ou diretório necessitam de configuração para %s.
    "; +$lang['cant_create_dir']="Não foi possível criar o diretório '%s'. +Por favor utilize seu programa de FTP."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_restore.php b/language/pt_br/lang_restore.php new file mode 100644 index 0000000..2f13ef5 --- /dev/null +++ b/language/pt_br/lang_restore.php @@ -0,0 +1,21 @@ +%d tabelas foram criadas."; +$lang['file_missing']="não pude encontrar o arquivo"; +$lang['restore_db']="banco de dados '%s' em '%s'."; +$lang['restore_complete']="%s tabelas driadas."; +$lang['restore_run1']="
    Up to now %s of %s registros foram adicionados com sucesso."; +$lang['restore_run2']="
    Agora a tabela '%s' está sendo restaurada.

    "; +$lang['restore_complete2']="%s registros inseridos."; +$lang['restore_tables_completed']="Até agora %d de %d tabelas foram criadas."; +$lang['restore_total_complete']="
    Parabéns.

    A restauração do banco de dados está pronta.
    todos os dados do arquivo de backup foram restaurados.

    Está tudo pronto. :-)"; +$lang['db_select_error']="
    Error:
    Seleção do banco de dados "; +$lang['db_select_error2']=" falhou!"; +$lang['file_open_error']="Erro: não pude abrir o arquivo."; +$lang['progress_over_all']="Progresso do todo"; +$lang['back_to_overview']="Visão geral do banco de dados"; +$lang['restore_run0']="
    até agora %s registros foram adicionados com sucesso."; +$lang['unknown_sqlcommand']="comando SQL desconhecido"; +$lang['notices']="Notices"; + + +?> \ No newline at end of file diff --git a/language/pt_br/lang_sql.php b/language/pt_br/lang_sql.php new file mode 100644 index 0000000..164d895 --- /dev/null +++ b/language/pt_br/lang_sql.php @@ -0,0 +1,180 @@ +%s linhas exportadas"; +$lang['csv_fieldcount_nomatch']="A contagem de campos não confere com a dos dados a importar (%d ao invés de %d)."; +$lang['csv_fieldslines']="%d campos reconhecidos, totalizando %d linhas"; +$lang['csv_errorcreatetable']="Erro durante a criação da tabela `%s` !"; +$lang['fm_uploadfilerequest']="favor escolher um arquivo."; +$lang['csv_nodata']="Nenhum dado encontrado para importação!"; +$lang['sqllib_generalfunctions']="funções gerais"; +$lang['sqllib_resetauto']="reiniciar o auto-incremento"; +$lang['sqllib_boards']="Quadros"; +$lang['sqllib_deactivateboard']="desativar quadro"; +$lang['sqllib_activateboard']="ativar quadro"; +$lang['sql_notablesselected']="Nenhuma tabela selecionada !"; +$lang['tools']="Ferramentas"; +$lang['tools_toolbox']="Selecionar banco de dados / Funções de banco de dados / Importar - Exportar "; +$lang['sql_openfile']="Abrir arquivo SQL"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Tamanho máximo de arquivo"; +$lang['sql_search']="Pesquisar"; +$lang['sql_searchwords']="Pesquisar palavra(s)"; +$lang['start_sql_search']="iniciar pesquisa"; +$lang['reset_searchwords']="reiniciar pesquisa de palavras"; +$lang['search_options']="Opções de pesquisa"; +$lang['search_results']="A pesquisa por \"%s\" na tabela \"%s\" levou aos seguintes resultados"; +$lang['search_no_results']="A pesquisa por \"%s\" na tabela \"%s\" não trouxe nenhum resultado!"; +$lang['no_entries']="A tabela \"%s\" está vazia e não contêm nenhuma entrada."; +$lang['search_access_keys']="Navegação: para frente=ALT+V, para trás=ALT+C"; +$lang['search_options_or']="a coluna deve conter uma das palavras a pesquisar (OU-pesquisar)"; +$lang['search_options_concat']="a linha deve conter todas as palavras a pesquisar, mas elas podem estar em qualquer coluna (pode levar algum tempo)"; +$lang['search_options_and']="a coluna deve conter todas as palavras a pesquisar (E-pesquisar)"; +$lang['search_in_table']="Pesquisar na tabela"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/sw/help.php b/language/sw/help.php new file mode 100644 index 0000000..c9282df --- /dev/null +++ b/language/sw/help.php @@ -0,0 +1,117 @@ +
    +

    Om detta projekt

    +Daniel Schlichtholz hade iden för detta projekt.

    2004 startade han forumet MySQLDumper och väldigt snabbt infann sig ett antal hobby-programmerare som skrev nya skripter och anpassade de skripter som Daniel hade skrivit.
    På kortaste tid uppstod ett omfångsrikt projekt.

    Välkommen att yttra dina förbättringsförslag i MySQLDumper-forumet http://forum.mysqldumper.de.

    Vi önskar mycket nytta och nöje med detta projekt.

    MySQLDumper-teamet

    + +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlskript med stöd av Detlev Richter
    +
    +
    + +

    MySQLDumper hjälp

    + +

    Download

    +Detta skript kan laddas hem från MySQLDumper-projektets hemsida.
    +Vi rekommenderar att du besöker sajten regelbundet för hjälp och uppdateringar.
    +Adressen lyder: +http://www.mysqldumper.de + +

    Systemförutsättningar

    +Skriptet fungerar på alla servrar (Windows, Linux, ...)
    +med PHP >= version 4.3.4 med stöd för GZip, MySQL (från version 3.23), JavaScript (måste aktiveras). + +

    Installation

    +Installationen är mycket enkel. +Packa upp arkivet till en valfri mapp.
    +Ladda upp alla filerna till din webbserver (t.ex. till serverns högsta nivå [server mapp/]MySQLDumper)
    +... färdigt!
    +Du kan nu starta MySQLDumper i webbläsaren med "http://mein-webserver/MySQLDumper"
    +för att avsluta installationen. Följ helt enkelt instruktionerna.
    +
    Hänvisning:
    Om servern är inställd på PHP-Safemode så får skriptet ej skapa mappar på servern.
    +Detta måste du då göra manuellt eftersom MySqlDump sparar data i mappar.
    +Skriptet stoppas och motsvarande anvisning visas!
    +Efter det att du har skapat mapparna (se anvisningen) kan du fortsätta helt normalt och utan inskränkningar.
    + +

    Instruktion till perlskriptet

    +De flesta har en cgi-bin mapp i vilken CGI-skript kan utföras.
    +Denna mapp kan nås med webbläsaren via http://www.domain.se/cgi-bin/ .
    +
    +Om detta är fallet så bör följande steg genomföras:

    + +1. Starta sidan Backup i MySQLDumper and click "Backup Perl".
    +2. Kopiera sökvägen som visas efter crondump.pl för $absolute_path_of_configdir: .
    +3. Öppna filen "crondump.pl" i Anteckningar.
    +4. Kopiera in skriptsökvägen vid absolute_path_of_configdir (utan mellanslag).
    +5. Spara crondump.pl .
    +6. Kopiera över crondump.pl samt perltest.pl och simpletest.pl till cgi-bin-mappen (använd ASCII-läge i FTP-programmet).
    +7. Ställ in rättigheten 755 (CHMOD).
    +7b. Om filändelsen cgi önskas ändrar du ändelsen pl -> cgi hos alla tre filerna.
    +8. Starta konfigureringen i MySQLDumper.
    +9. Välj sidan Cronscript.
    +10. Ändra Perl-skriptsökvägen till /cgi-bin/ .
    +10b. Om skripterna har ändelsen .pl ändrar du dem till .cgi .
    +11. Spara konfigureringen.

    + +Färdigt! Skripterna kan nu startas från sidan Backupertig.

    + +Om du kan utföra Perl-skript i alla mappar så räcker följande ändringar:

    + +1. Starta sidan Backup i MySQLDumper.
    +2. Kopiera sökvägen som visas efter crondump.pl för $absolute_path_of_configdir: .
    +3. Öppna filen "crondump.pl" i Anteckningar.
    +4. Kopiera in skriptsökvägen vid absolute_path_of_configdir (utan mellanslag).
    +5. Spara crondump.pl .
    +6. Ställ in rättigheten 755 (CHMOD).
    +6b. Om filändelsen cgi önskas ändrar du ändelsen pl -> cgi hos alla tre filerna.
    +(ev. stegen 10b + 11 längre upp)
    +
    + +Windows-användare måste ändra den första raden i alla skripter, där står sökvägen för Perl. Exempel:
    +hitta: #!/usr/bin/perl -w
    +ändra till: #!C:\perl\bin\perl.exe -w
    + +

    Användning

      + +
      Meny
      +I ovan nämnda lista ställer du in databasen.
      +Alla aktioner är beroende av inställningarna som görs här. + +
      Startsidan
      +Här visas diverse information om ditt system, de olika installerade versionerna och detaljer om de konfigurerade datbaserna.
      +Om du klickar på databasens namn så visas lista över tabellerna med antalet poster, storleken och datumet för senaste aktualisering. + +
      Konfigurering
      +Här kan du redigera, spara eller återställa din konfigurering. +

        +
      • Konfigurerade databaser: en lista över konfigurerade databaser. Den aktiva databasen visas med fet text.
      • +
      • Tabell-prefix: här kan du ange ett prefix (för varje databas). Detta är ett filter som filtrar ut tabeller som börjar med detta prefix (t.ex. alla tabeller som börjar med "phpBB_") när en dump görs. Lämna fältet tomt om alla tabeller skall sparas.
      • +
      • GZip-komprimering: här kan du aktivera komprimeringen. Vi rekommenderar att komprimering aktiveras eftersom filerna blir mycket mindre och platsen pÃ¥ hÃ¥rddisken är dyr.
      • +
      • Email med dump-filen: om denna option aktiveras sÃ¥ sänds den färdiga dumpen som email-attachment (VARNING: aktivera ovillkorligen kompression, annars kan attachmentet blir för stort och kan eventuellt ej skickas!).
      • +
      • Email-adress: mottagaradressen för dessa email.
      • +
      • Emailets avsändare: denna adress används som avsändaradress.
      • +
      • FTP-överföring: om denna option aktiveras sÃ¥ överförs den färdiga dumpen via FTP.
      • +
      • FTP-server: FTP-serverns adress (t.ex. ftp.mindomain.se).
      • +
      • FTP-serverns port: FTP-serverns port (normalt sett 21).
      • +
      • FTP-användare: användarnamnet för FTP-kontot.
      • +
      • FTP-lösenord: lösenordet för FTP-kontot.
      • +
      • FTP upload-mapp: mappen i vilken backup-filen skall sparas (servern mÃ¥ste tillÃ¥tas skriva till denna mapp!).
      • +
      • Automatisk radering av backup: om denna option aktiveras sÃ¥ raderas äldre backup-filer automatiskt enligt följande regler.
      • +
      • Antal backup-filer: ett värde > 0 raderar alla filer utöver antalet i detta värde.
      • +
      • SpÃ¥k: här ställer du in sprÃ¥ket för gränssnittet.
      • +
      + +
      Förvaltning
      +Här utförs de egentliga aktionerna.
      +Alla filerna i backup-mappen visas. +Du måste välja/markera en fil för att kunna utföra aktionerna "Återställ" och "Radera". +
        +
      • Ã…terställ: med denna funktion aktualiseras databasen med vald backup-fil.
      • +
      • Radera: med denna funktion kan du radera vald backup-fil.
      • +
      • Starta ny backup: med denna funktion startar du en ny backup (dump) i enlighet med de parametrar som ställts in i konfigureringen.
      • +
      + +
      Logg
      +Här kan du se och radera posterna i loggen. +
      Credits / Hjälp
      +denna sida. +
    \ No newline at end of file diff --git a/language/sw/lang.php b/language/sw/lang.php new file mode 100644 index 0000000..3fe56ab --- /dev/null +++ b/language/sw/lang.php @@ -0,0 +1,104 @@ +existerar ej"; +$lang['vom']="från"; +$lang['mysqlvars']="Mysql-variabler"; +$lang['mysqlsys']="Mysql-kommandon"; +$lang['Status']="Status"; +$lang['Prozesse']="Processer"; +$lang['info_novars']="inga variabler"; +$lang['Inhalt']="Innehåll"; +$lang['info_nostatus']="ingen status"; +$lang['info_noprocesses']="inga aktuella processer"; +$lang['fm_freespace']="Ledigt utrymme på servern"; +$lang['load_database']="Ladda om databaserna"; +$lang['home']="Hem"; +$lang['config']="Konfigurering"; +$lang['dump']="Backup"; +$lang['restore']="Återställning"; +$lang['file_manage']="Administrering"; +$lang['log']="Logg"; +$lang['choose_db']="Välj databas"; +$lang['credits']="Credits / Hjälp"; +$lang['multi_part']="Multipart Backup"; +$lang['logfilenotwritable']="Loggfil kan ej skrivas!"; +$lang['sql_error1']="Fel i förfrågningen:"; +$lang['sql_error2']="Mysql svarar:"; +$lang['unknown']="okänd"; +$lang['unknown_number_of_records']="okänt"; +$lang['ok']="OK"; +$lang['cron_completelog']="Logga hela utmatningen"; +$lang['no']="nej"; +$lang['create_database']="skapa ny databas"; +$lang['exportfinished']="Exporten avslutad."; +$lang['sql_browser']="SQL-läsare"; +$lang['server']="Server"; +$lang['mysql_connection_encoding']="Standard encoding of MySQL-Server"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_config_overview.php b/language/sw/lang_config_overview.php new file mode 100644 index 0000000..78c67b8 --- /dev/null +++ b/language/sw/lang_config_overview.php @@ -0,0 +1,112 @@ +%s
    into %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Receiver"; +$lang['name']="Name"; +$lang['confirm_configfile_delete']="Really delete the configuration file %s?"; +$lang['error_deleting_configfile']="Error: couldn't delete configurationfile %s!"; +$lang['success_deleting_configfile']="The configurationfile %s has successfully been deleted."; +$lang['success_configfile_created']="Configurationfile %s has successfully been created."; +$lang['error_configfile_name']="Filename \"%s\" contains invalid characters."; +$lang['create_configfile']="Create a new configurationfile"; +$lang['error_loading_configfile']="Couldn't load configfile \"%s\"."; +$lang['backup_dbs_php']="DBs to backup (PHP)"; +$lang['backup_dbs_perl']="DBs to backup (PERL)"; +$lang['cron_comment']="Enter Comment"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_dump.php b/language/sw/lang_dump.php new file mode 100644 index 0000000..0667589 --- /dev/null +++ b/language/sw/lang_dump.php @@ -0,0 +1,57 @@ +%s`."; +$lang['dump_endergebnis']="%s tabeller med totalt %s dataposter har säkrats.
    "; +$lang['mailerror']="Leider ist beim Verschicken der Email ein Fehler aufgetreten!"; +$lang['emailbody_attach']="Här kommer säkringen av din mysqldatabas.
    Säkring av databasen `%s` +

    Följande fil har skapats:

    %s

    Med vänliga hälsningar

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="En multipart-säkring har skapats.
    Säkringarna levereras EJ som bilaga i mail!
    Säkring av databasen `%s` +

    Följande filer har skapats:

    %s


    Med vänliga hälsningar

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="En multipart-säkring har skapats.
    Säkringen levereras i separata mail!
    Säkring av databasen `%s` +

    Följande filer har skapats:

    %s


    Med vänliga hälsningar

    MySQLDumper
    "; +$lang['emailbody_footer']="


    Med vänliga hälsningar

    MySQLDumper
    "; +$lang['emailbody_toobig']="Die Sicherung überschreitet die Maximalgröße von %s und wurde daher nicht angehängt.
    Sicherung der Datenbank `%s` +

    Folgende Datei wurde erzeugt:

    %s +

    Viele Grüße

    MySQLDumper
    "; +$lang['emailbody_noattach']="Das Backup wurde nicht angehängt.
    Sicherung der Datenbank `%s` +

    Folgene Datei wurde erzeugt:

    %s +

    Viele Grüße

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... nur der Anhang"; +$lang['tableselection']="Tabellenauswahl"; +$lang['selectall']="markera alla"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Backup starten"; +$lang['lastbufrom']="letztes Update vom"; +$lang['not_supported']="Dieses Backup unterstützt diese Funktion nicht."; +$lang['multidump']="Multidump: Es wurden %d Datenbanken gesichert."; +$lang['filesendftp']="versende File via FTP... bitte habe etwas Geduld. "; +$lang['ftpconnerror']="FTP-Verbindung nicht hergestellt! Verbindung mit "; +$lang['ftpconnerror1']=" als Benutzer "; +$lang['ftpconnerror2']=" nicht möglich"; +$lang['ftpconnerror3']="FTP-Upload war fehlerhaft! "; +$lang['ftpconnected1']="Verbunden mit "; +$lang['ftpconnected2']=" auf "; +$lang['ftpconnected3']=" geschrieben"; +$lang['nr_tables_selected']="- mit %s gewählten Tabellen"; +$lang['nr_tables_optimized']="%s tables have been optimized."; +$lang['dump_errors']="

    %s errori riscontrati: verdere

    "; +$lang['fatal_error_dump']="Fatal error: the CREATE-Statement of table '%s' in database '%s' couldn't be read!
    +Check this table for errors."; + + +?> \ No newline at end of file diff --git a/language/sw/lang_filemanagement.php b/language/sw/lang_filemanagement.php new file mode 100644 index 0000000..ae8b107 --- /dev/null +++ b/language/sw/lang_filemanagement.php @@ -0,0 +1,83 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Utför Perl-cronscript"; +$lang['DoPerlTest']="Testa Perl-modulerna"; +$lang['DoSimpleTest']="Testa Perl"; +$lang['perloutput1']="Eintrag in crondump.pl für absolute_path_of_configdir"; +$lang['perloutput2']="Aufruf im Browser oder für externen Cronjob"; +$lang['perloutput3']="Aufruf in der Shell oder für die Crontab"; +$lang['restore_of_tables']="Choose tables to be restored"; +$lang['converter']="Backup-konverterare"; +$lang['convert_file']="fil som skall konverteras"; +$lang['convert_filename']="Målfilens namn (utan filändelse)"; +$lang['converting']="Konvertering"; +$lang['convert_fileread']="Filen '%s' läses in"; +$lang['convert_finished']="Konverteringen avslutad, '%s' har skapats."; +$lang['no_msd_backupfile']="Dateien anderer Programme"; +$lang['max_upload_size']="Maximale Dateigröße"; +$lang['max_upload_size_info']="Wenn Ihre Backup-Datei größer als das angegebene Limit ist, dann müssen Sie diese per FTP in den \"work/backup\"-Ordner hochladen. +Danach wird diese Datei hier in der Verwaltung angezeigt uns lässt sich für eine Wiederherstellung auswählen."; +$lang['encoding']="encoding"; +$lang['fm_choose_encoding']="Choose encoding of backupfile"; +$lang['choose_charset']="MySQLDumper couldn't detect the encoding of the backupfile automatically. +
    You must choose the charset with which this backup was saved. +
    If you discover any problems with some characters after restoring, you can repeat the backup-progress and then choose another chracter set. +
    Good luck. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_help.php b/language/sw/lang_help.php new file mode 100644 index 0000000..f76f420 --- /dev/null +++ b/language/sw/lang_help.php @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/language/sw/lang_install.php b/language/sw/lang_install.php new file mode 100644 index 0000000..d3dc319 --- /dev/null +++ b/language/sw/lang_install.php @@ -0,0 +1,90 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
    "; +$lang['install_tomenu']="zum Hauptmenü"; +$lang['installmenu']="Hauptmenü"; +$lang['step']="Schritt"; +$lang['install']="Installation"; +$lang['uninstall']="Deinstallation"; +$lang['tools']="Tools"; +$lang['editconf']="Redigera konfigureringen"; +$lang['osweiter']="ohne Speichern weiter"; +$lang['errorman']="Fehler beim Schreiben der Konfiguration!
    Bitte editieren Sie das File "; +$lang['manuell']="manuell"; +$lang['createdirs']="skapar mappar"; +$lang['install_continue']="mit der Installation fortfahren"; +$lang['connecttomysql']=" förbind med mysql "; +$lang['dbparameter']="Databas-parametrar"; +$lang['confignotwritable']="I cannot write to file \"config.php\". +Please use your FTP-Programm and chmod this file to 0777."; +$lang['dbconnection']="Databas-förbindelse"; +$lang['connectionerror']="Fel: förbindelse kunde ej upprättas."; +$lang['connection_ok']="Databas-förbindelse har upprättats."; +$lang['saveandcontinue']="speichern und Installation fortsetzen"; +$lang['confbasic']="Grundinställningar"; +$lang['install_step2finished']="Die Einstellungen wurden erfolgreich gesichert."; +$lang['install_step2_1']="Installation mit Standardkonfiguration fortsetzen"; +$lang['laststep']="Abschluss der Installation"; +$lang['ftpmode']="Verzeichnisse per FTP erzeugen (safe_mode)"; +$lang['idomanual']="Ich erstelle die Verzeichnisse manuell"; +$lang['dofrom']="utgående ifrån"; +$lang['ftpmode2']="Erstelle die Verzeichnisse per FTP:"; +$lang['connect']="förbind"; +$lang['dirs_created']="Alla mappar har skapats."; +$lang['connect_to']="förbind med"; +$lang['changedir']="Hoppa till mapp"; +$lang['changedirerror']="Hopp till mapp ej möjligt"; +$lang['ftp_ok']="FTP-Parameter sind ok"; +$lang['createdirs2']="Skapa mappar"; +$lang['ftp_notconnected']="FTP-Verbindung nicht hergestellt!"; +$lang['connwith']="Förbindelse med"; +$lang['asuser']="som användare"; +$lang['notpossible']="nicht möglich"; +$lang['dircr1']="skapar arbetsmapp"; +$lang['dircr2']="skapar backupmapp"; +$lang['dircr4']="skapar loggmapp"; +$lang['dircr5']="skapar konfigureringsmapp"; +$lang['indir']="bin im Verzeichnis"; +$lang['check']="kontrollera mina mappar"; +$lang['disabledfunctions']="Deaktiverade funktioner"; +$lang['noftppossible']="Es stehen keine FTP-Funktionen zur Verfügung!"; +$lang['nogzpossible']="Es stehen keine Kompressions-Funktionen zur Verfügung!"; +$lang['ui1']="Es werden alle Arbeitsverzeichnisse incl. den darin enthaltenen Backups gelöscht."; +$lang['ui2']="Sind Sie sicher, dass Sie das möchten ?"; +$lang['ui3']="Nein, sofort abbrechen"; +$lang['ui4']="ja, bitte fortfahren"; +$lang['ui5']="lösche Arbeitsverzeichnis"; +$lang['ui6']="alles wurde erfolgreich gelöscht."; +$lang['ui7']="Bitte löschen Sie das Skriptverzeichnis"; +$lang['ui8']="eine Ebene nach oben"; +$lang['ui9']="Ein Fehler trat auf, löschen war nicht möglich

    Fehler bei Verzeichnis "; +$lang['import']="Konfiguration importieren"; +$lang['import1']="Einstellungen aus "; +$lang['import2']="Einstellungen hochladen und importieren"; +$lang['import3']="Die Konfiguration wurde geladen..."; +$lang['import4']="Die Konfiguration wurde gesichert."; +$lang['import5']="MySQLDumper starten"; +$lang['import6']="Installations-Menü"; +$lang['import7']="Konfiguration uploaden"; +$lang['import8']="zurück zum Upload"; +$lang['import9']="Dies ist keine Konfigurationssicherung!"; +$lang['import10']="Die Konfiguration wurde erfolgreich hochgeladen..."; +$lang['import11']="Fehler: Es gab Probleme beim Schreiben der sql_statements"; +$lang['import12']="Fehler: Es gab Probleme beim Schreiben der config.php"; +$lang['install_help_port']="(leer = Standardport)"; +$lang['install_help_socket']="(leer = Standardsocket)"; +$lang['tryagain']="nochmal versuchen"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="gefundene DB: "; +$lang['fm_fileupload']="Datei hochladen"; +$lang['pass']="Passwort"; +$lang['no_db_found_info']="The connection to the database was successfully established.
    +Your userdata is valid and was accepted by the MySQL-Server.
    +But MySQLDumper was not able to find any database.
    +The automatic detection via script is blocked on some server.
    +You must enter your databasename manually after the installation is finished. +Click on \"configuration\" \"Connection Parameter - display\" and enter the databasename there."; +$lang['safemodedesc']="Because PHP is running in safe_mode you need to create the following directories manually using your FTP-Programm:"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_log.php b/language/sw/lang_log.php new file mode 100644 index 0000000..4a53253 --- /dev/null +++ b/language/sw/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/sw/lang_main.php b/language/sw/lang_main.php new file mode 100644 index 0000000..125928c --- /dev/null +++ b/language/sw/lang_main.php @@ -0,0 +1,72 @@ +"; +$lang['htaccess10']="Die Passwörter sind nicht identisch oder leer!
    "; +$lang['htaccess11']="Soll der Verzeichnisschutz jetzt erstellt werden?"; +$lang['htaccess12']="Der Verzeichnisschutz wurde erstellt."; +$lang['htaccess13']="Inhalt der Datei"; +$lang['htaccess14']="Es ist ein Fehler bei der Erstellung des Verzeichnisschutzes aufgetreten!
    Bitte erzeuge die Dateien manuell mit folgendem Inhalt:"; +$lang['htaccess15']="Dringend empfohlen!"; +$lang['htaccess16']=".htaccess editieren"; +$lang['htaccess18']=".htaccess erstellen in "; +$lang['htaccess19']=" neu laden "; +$lang['htaccess20']="Skript ausführen"; +$lang['htaccess21']="Handler zufügen"; +$lang['htaccess22']="Ausführbar machen"; +$lang['htaccess23']="Verzeichnis-Listing"; +$lang['htaccess24']="Error-Dokument"; +$lang['htaccess25']="Rewrite aktivieren"; +$lang['htaccess26']="Deny / Allow"; +$lang['htaccess27']="Redirect"; +$lang['htaccess28']="Error-Log"; +$lang['htaccess29']="weitere Beispiele und Dokumentation"; +$lang['htaccess30']="Provider"; +$lang['htaccess31']="allgemein"; +$lang['htaccess32']="Achtung! Die .htaccess hat eine direkte Auswirkung auf den Browser.
    Bei falscher Anwendung sind die Seiten nicht mehr erreichbar."; +$lang['phpbug']="Bug in zlib! Keine Kompression möglich"; +$lang['disabledfunctions']="Deaktiverade funktioner"; +$lang['nogzpossible']="Da Zlib nicht installiert ist, stehen keine Gzip-Funktionen zur Verfügung."; +$lang['delete_htaccess']="Remove directory protection (delete .htaccess)"; +$lang['wrong_rights']="The file or the directory '%s' is not writable for me.
    +The rights (chmod) are not set properly or it has the wrong owner.
    +Pleae set the correct attributes using your FTP-Programm.
    +The file or the directory needs to be set to %s.
    "; +$lang['cant_create_dir']="Couldn' t create dir '%s'. +Please create it using your FTP-Programm."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_restore.php b/language/sw/lang_restore.php new file mode 100644 index 0000000..213ec48 --- /dev/null +++ b/language/sw/lang_restore.php @@ -0,0 +1,21 @@ +%d Tabellen angelegt."; +$lang['file_missing']="konnte Datei nicht finden"; +$lang['restore_db']="Datenbank '%s' auf Server '%s'."; +$lang['restore_complete']="%s Tabellen wurden angelegt."; +$lang['restore_run1']="
    Es wurden bisher %s von %s Datensätzen erfolgreich eingetragen."; +$lang['restore_run2']="
    Now the table '%s' is restoring.

    "; +$lang['restore_complete2']="%s Datensätze wurden eingetragen."; +$lang['restore_tables_completed']="Es wurden bisher %d von %d Tabellen angelegt."; +$lang['restore_total_complete']="
    Herzlichen Glückwunsch.

    Die Datenbank wurde komplett wiederhergestellt.
    Alle Daten aus der Backupdatei wurden erfolgreich in die Datenbank eingetragen.

    Alles fertig. :-)"; +$lang['db_select_error']="
    Fel:
    val av databasen '"; +$lang['db_select_error2']="' slog fel!"; +$lang['file_open_error']="Fehler: Die Datei konnte nicht geöffnet werden."; +$lang['progress_over_all']="Fortschritt gesamt"; +$lang['back_to_overview']="Databasöversikt"; +$lang['restore_run0']="
    Es wurden bisher %s Datensätze erfolgreich eingetragen."; +$lang['unknown_sqlcommand']="unknown SQL-Command"; +$lang['notices']="Hinweise"; + + +?> \ No newline at end of file diff --git a/language/sw/lang_sql.php b/language/sw/lang_sql.php new file mode 100644 index 0000000..6a0e62c --- /dev/null +++ b/language/sw/lang_sql.php @@ -0,0 +1,180 @@ +%s Zeilen exportiert"; +$lang['csv_fieldcount_nomatch']="Antalet tabell-fält stämmer ej överens med antalet som skall importeras (%d istället för %d)."; +$lang['csv_fieldslines']="%d fält fastställda, totalt %d rader"; +$lang['csv_errorcreatetable']="Fel när tabellen `%s` skulle skapas!"; +$lang['fm_uploadfilerequest']="Bitte gib eine Datei an."; +$lang['csv_nodata']="Ingen data kunde hittas för import!"; +$lang['sqllib_generalfunctions']="allgemeine Funktionen"; +$lang['sqllib_resetauto']="Auto-Wert zurücksetzen"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="Board deaktivieren"; +$lang['sqllib_activateboard']="Board aktivieren"; +$lang['sql_notablesselected']="Es sind keine Tabellen selektiert!"; +$lang['tools']="Tools"; +$lang['tools_toolbox']="Datenbank auswählen / Datenbankfunktionen / Im- und Export "; +$lang['sql_openfile']="Open SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Maximum filesize"; +$lang['sql_search']="Search"; +$lang['sql_searchwords']="Searchword(s)"; +$lang['start_sql_search']="start search"; +$lang['reset_searchwords']="reset searchwords"; +$lang['search_options']="Searchoptions"; +$lang['search_results']="The search for \"%s\" in table \"%s\" brings the following results"; +$lang['search_no_results']="The search for \"%s\" in table \"%s\" doesn't bring any hits!"; +$lang['no_entries']="Table \"%s\" is empty and doesn't have any entry."; +$lang['search_access_keys']="Browse: forward=ALT+V, backwards=ALT+C"; +$lang['search_options_or']="a column must have one of the searchwords (OR-search)"; +$lang['search_options_concat']="a row must contain all of the searchwords but they can be in any column (could take some time)"; +$lang['search_options_and']="a column must contain all searchwords (AND-search)"; +$lang['search_in_table']="Search in table"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/tr/help.php b/language/tr/help.php new file mode 100644 index 0000000..8dda3bc --- /dev/null +++ b/language/tr/help.php @@ -0,0 +1,124 @@ +
    +

    Bu Proje hakkinda

    +Bu projenin kurucusu Daniel Schlichtholz'dur.

    2004 yilinda MySQLDumper panosunu kurdu, +kisa bir süre sonra baskalari tarafindan destek gördü ve birçok kisinin katilimlari ile yazilim genisletilmeye baslandi.

    istekleriniz veya önerileriniz için MySQLDumper-Panosuna katilabilirsiniz.

    +

    MySQLDumper-Ekibi

    + +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript: Detlev Richter'in destegi ile
    +
    +
    + +

    MySQLDumper Yardimi

    + +

    Indirme

    +Bu yazilimi MySQLDumper Sitesinden temin edebilirsiniz.
    +Güncellemeler ve destek için Sitemizi sik sik takip etmenizi tavsiye ederiz.
    +Site adresi: +http://www.mysqldumper.de + +

    Sistem gereksinimleri

    +Mysqldumper her sunucuda çalisir (Windows, Linux, ...)
    +PHP sürümü >= 4.3.4 GZip-destekli, MySQL (3.23 sürümünden itibaren), JavaScript (aktiv olmak zorunda). + +

    Kurulum

    +Kurulumu çok basittir. +Sikistirilmis dosyayi herhangi bir klasör içerisinde açiniz.
    +Açilann dosyalari FTP ile Sunucunuza yükleyiniz. (Örnegin root [sizindomain/]MySQLDumper)
    +... bitti!
    +Artik MySQLDumper'i tarayiciniz ile "http://sizindomain/MySQLDumper" adresini girerek açabilirsiniz,
    +kurulumu tamamlamak için saadece Sistemin sorularini cevaplamaniz yeterlidir.
    +
    ÖNEMLI:
    Sunucunuzda safe_mode açik ise, yazilimin klasör olusturma imkani yoktur.
    +Gerekli klasörleri kendiniz olusturmaniz gerekir, MySqlDumper'in çalisabilmesi için belli bir düzende klasörlerin bulunmasi gerekir.
    +Bu durumda yazilim kurulumu hata belirterek durduracaktir!
    +Verilen hataya göre klasörleri olusturdugunuz taktirde yaziliminiz normal bir sekilde islev görecektir.
    + +

    Perlskript kullanimi

    +Sunucularin birçogu Perl Scripleri destekler.
    +Bu scriptlerin belli bir klasör içerisinde bulunmasi gerekebilir, klasörün adresi genellikle http://sizindomain/cgi-bin/ dir. +
    +
    +Bu durumda yapilmasi gereken islemler:

    + +1. MySQLDumper'i açtiktan sonra Yedekleme sayfasini açiniz ve "Yedekleme Perl" tusunu tiklayiniz.
    +2. Crondump.pl de kayitli adres absolute_path_of_configdir: in arkasinda bulunan kayidi kopyalayiniz.
    +3. "crondump.pl" Editör ile açiniz.
    +4. Kopyaladiginiz adresi absolute_path_of_configdir´in arkasina yapistiriniz (bosluk birakilmayacak).
    +5. Crondump.pl i kapatarak kayit ediniz.
    +6. Crondump.pl, perltest.pl ve simpletest.pl dosyalarini cgi-bin-klasörüne kopyalayiniz (FTP ile Ascii-Modüsünde).
    +7. Dosyalarin haklarini 755 olarak belirleyiniz (CHMOD).
    +7b. Dosyabitimi cgi olmasi gerekiyorsa her 3 dosyanin adinin degistiriniz pl -> cgi.
    +8. Ayar Merkez, sayfasini açiniz.
    +9. Cronscript e tiklayiniz.
    +10. Perl veriyolunu /cgi-bin/ seklinde degistiriniz.
    +10b. Kullanilan dosyabitimi seçiniz.
    +11. Ayarlari kayit ediniz.

    + +Ayarlar tamamlanmistir, Scriptleri yedekleme sayfasindan çalistirabilirsiniz.

    + +Perli her klasörden çalistirma yetkiniz bulunuyorsa:

    + +1. MySQLDumper'i açtiktan sonra Yedekleme sayfasini açiniz ve "Yedekleme Perl" tusunu tiklayiniz.
    +2. Crondump.pl de kayitli adres absolute_path_of_configdir: in arkasinda bulunan kayidi kopyalayiniz.
    +3. "crondump.pl" Editör ile açiniz.
    +4. Kopyaladiginiz adresi absolute_path_of_configdir´in arkasina yapistiriniz (bosluk birakilmayacak).
    +5. Crondump.pl i kapatarak kayit ediniz.
    +6. Dosyalarin haklarini 755 olarak belirleyiniz (CHMOD).
    +6b. Dosyabitimi cgi olmasi gerekiyorsa her 3 dosyanin adinin degistiriniz pl -> cgi.
    +(Gerekirse yukaridaki 10b+11 ci adimlari da uygulayiniz)
    +
    + +Windows kullanicilarinin Scriptlerin ilk satirinda /cgi-bin/ veriyolunu degistirmeleri gerekir:
    +#!/usr/bin/perl -w yerine
    +#!C:\perl\bin\perl.exe -w yazilacak
    + +

    Kullanim

      + +
      Menü
      +islenecek Veritabanini burada seçeceksiniz.
      +Bütün islemler burada beelirlenmis olan Veritabanina uygulanir. + +
      Ana Sayfa
      +Burada kullandiginiz sistem hakkinda bilgiler bulabilirsiniz, yüklenmis +sürümler, Veritabanilari vs..
      +Veritabni ismine tiklandiginda tablolarin listesine ulasilabilir. +Kayitsayisi ebat ve son güncelleme bilgilerini burada bulabilirsiniz. + +
      Ayar Merkezi
      +Sistem ayarlarini burada belirleyebilir, yedeklemeden geri dönüstürebilir veya sifirlayabilirsiniz. +

        +
      • Veritabanlari: Veritabanlari Listesi. Aktiv olan Veritabani kalin yazilmistir.
      • +
      • Tablo ön eki: Burada belirleyeceginiz filtre tedeklenecek tablolarda uygulanacaktir + (örnegin: "phpBB_" ile baslayan tablolar). Veritabaninin bütün tablolarini yedeklemek istiyorsanin burasini bos birakiniz.
      • +
      • Sikistirma: Sikistirmayi burada açabilirsiniz. Sikistirmayi kullanmanizi tavsiye ederiz.
      • +
      • Yedekleme ekli Mail: Bu Opsyon kullanildiginda, islemin sonunda gönderilecek mail'e yedekleme dosyasi eklenecektir. Sikistirmanin aktiv olmasini öneririz !).
      • +
      • Email-Adresi: Mailin ulastirilacagi adres.
      • +
      • Email göndericisi: gönderilecek mailin kimin adina gönderildigi.
      • +
      • FTP-Transferi: Bu Opsyon kullanildiginda, islem sonunda yedekleme dosyasi FTP ile gönderilir.
      • +
      • FTP Sunucusu: Die FTP sunucusunun adress (örnegin: ftp.mybackups.de).
      • +
      • FTP Sunucu Portu: FTP-Sunucusunun Portu (Genelde 21).
      • +
      • FTP Kulanicisi: FTP-kullanicisinin adi.
      • +
      • FTP sifresi: FTP-kullanicisinin sifresi.
      • +
      • FTP yükleme klasörü: Yedekleme dosyasinin yüklenecegi klasörün adi. (UYARI: CHMOD ayarlarini göz önünde bulundurunuz).
      • +
      • Otomatik dosya silme: Bu Opsyon kullanildiginda, belirlenecek kurallara göre yedekleme dosyalari silinecektir.
      • +
      • Dosya sayisi: 0 dan büyük bir deger, bu degeri asan dosya sayisindan fazla olan dosyalari silecektir.
      • +
      • Dil: MySQL Dumperin kullanacagi dili burada belirlersiniz.
      • +
      • Cronjob zamandilimi: Saniye olarak belirlenecek deger, Cronjob için geçerli olan süreyi (eger yetkiniz varsa) yükseltmege deger.
      • +
      + +
      Dosya yönetimi
      +Dosya islemleri burada yapilir +Yedekleme Klasörünüzde bulunan dosyalar listelenir.
      +islemlerin uygulanabilmesi için bir dosyanin seçilmis olmasi gerekiyor. +
        +
      • Restore: Burada veritabani, seçilmis dosya ile dönüstürülür.
      • +
      • Delete: Seçilmis yedekleme dosyalari silinir.
      • +
      • Yeni Yedekleme baslat: Ayarlarda belirlenmis sartlarla yeni bir yedekleme olusturulur.
      • +
      + +
      Raporlar
      +Burada rapor dosyalarini görebilir veya silebilirsiniz. +
      Künye / Yardim
      +bu Sayfa. +
    \ No newline at end of file diff --git a/language/tr/lang.php b/language/tr/lang.php new file mode 100644 index 0000000..03cafb3 --- /dev/null +++ b/language/tr/lang.php @@ -0,0 +1,104 @@ +ulaşılamıyor"; +$lang['vom']="den"; +$lang['mysqlvars']="MySQL Değişkenleri"; +$lang['mysqlsys']="MySQL komutları"; +$lang['Status']="Durum"; +$lang['Prozesse']="İşlemler"; +$lang['info_novars']="Değişkenler bulunmuyor"; +$lang['Inhalt']="İçerik"; +$lang['info_nostatus']="durum tespit edilemiyor"; +$lang['info_noprocesses']="Çalışır işlem yok"; +$lang['fm_freespace']="Sunucuda mevcut kullanılabilir hacim"; +$lang['load_database']="Veritabanlarını tekrar yükle"; +$lang['home']="Ana Sayfa"; +$lang['config']="Ayar Merkezi"; +$lang['dump']="Yedekleme"; +$lang['restore']="Dönüştürüm"; +$lang['file_manage']="Yönetim"; +$lang['log']="Rapor"; +$lang['choose_db']="Veritabanı seçimi"; +$lang['credits']="Künye/Yardım"; +$lang['multi_part']="Parçalı yedekleme"; +$lang['logfilenotwritable']="Rapor Dosyasına yazılamıyor!"; +$lang['sql_error1']="Sorguda hata oluştu:"; +$lang['sql_error2']="MySQL bildirisi:"; +$lang['unknown']="bilinmeyen"; +$lang['unknown_number_of_records']="bilinmeyen"; +$lang['ok']="tamam"; +$lang['cron_completelog']="Çıktıları tamamen raporla"; +$lang['no']="hayır"; +$lang['create_database']="Yeni Veritabanı oluştur"; +$lang['exportfinished']="ihrac tamamlanmıştır"; +$lang['sql_browser']="SQL-Tarayıcısı"; +$lang['server']="Sunucu"; +$lang['mysql_connection_encoding']="MYSQL Sunucunun sabit karakter seti"; +$lang['title_show_data']="Verileri göster"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_config_overview.php b/language/tr/lang_config_overview.php new file mode 100644 index 0000000..afd03e0 --- /dev/null +++ b/language/tr/lang_config_overview.php @@ -0,0 +1,112 @@ +%s
    klasör %s +"; +$lang['ftp']="FTP"; +$lang['email_cc']="CC-Alıcı"; +$lang['name']="İsim"; +$lang['confirm_configfile_delete']="Ayar dosyası %s gerçekten silinsin mi ?"; +$lang['error_deleting_configfile']="Hata oluştu: Ayar dosyası %s silinemedi"; +$lang['success_deleting_configfile']="Ayar dosyası %s başarıyla silindi."; +$lang['success_configfile_created']="%s isimli ayar dosyası başarı ile oluşturuldu"; +$lang['error_configfile_name']="Dosya ismi \"%s\" izin verilmeyen karakter içeriyor"; +$lang['create_configfile']="Yeni ayar dosyası oluştur"; +$lang['error_loading_configfile']="Ayar dosyası \"%s\" yüklenemedi"; +$lang['backup_dbs_php']="yedeklenecek veritabanları (PHP)"; +$lang['backup_dbs_perl']="yedeklenecek veritabanları (PERL)"; +$lang['cron_comment']="Not ekle"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_dump.php b/language/tr/lang_dump.php new file mode 100644 index 0000000..27efa45 --- /dev/null +++ b/language/tr/lang_dump.php @@ -0,0 +1,56 @@ +%s` Veritabanında tablo bulunamadı."; +$lang['dump_endergebnis']=" %s tabloda %s kayıt yedeklendi.
    "; +$lang['mailerror']="Mail gönderiminde hata oluştu!"; +$lang['emailbody_attach']="Ekte veritabanıyın yedeklemesi bulunuyor.
    yedeklenen Veritabanı `%s` +

    OluÅŸturulan dosya:

    %s

    Sevgilerler

    MySQLDumper
    www.mysqldumper.de"; +$lang['emailbody_mp_noattach']="Çok parçalı yedekleme oluşturuldu.
    Dosyalar eklenti olarak gönderilmiyor!
    yedeklenen Veritabanı `%s` +

    oluÅŸturulan dosyalar:

    %s


    Sevgilerle

    MySQLDumper
    www.mysqldumper.de"; +$lang['emailbody_mp_attach']="Çok parçalı yedekleme oluşturuldu.
    Dosyalar eklenti olarak gönderilmiyor!Dosyalar ayrı bir mail ile gönderiliyor!
    Yedeklenen Veritabanı `%s` +

    oluÅŸturulan dosyalar:

    %s


    Sevgilerle

    MySQLDumper
    www.mysqldumper.de"; +$lang['emailbody_footer']="


    Sevgiler

    MySQLDumper
    www.mysqldumper.de"; +$lang['emailbody_toobig']="Yedekleme boyutu maximumu boyut olan %s aştıgından dolayı eklenti olarak gönderilemiyor.
    Yedeklenen Veritabanı `%s` +

    oluÅŸturulan dosyalar:

    %s +

    Saygılarla

    MySQLDumper
    www.mysqldumper.de"; +$lang['emailbody_noattach']="Yedekleme dosyaları maalesef eklenememiştir.
    yedeklenen Veritabanı `%s` +

    OluÅŸturulan Dosyalar:

    %s +

    Sevgilerle

    MySQLDumper
    www.mysqldumper.de"; +$lang['email_only_attachment']=" ... sadece eklentiler"; +$lang['tableselection']="Tablo seçimi"; +$lang['selectall']="hepsini seç"; +$lang['deselectall']="hepsini kaldır"; +$lang['startdump']="Yedeklemeyi başlat"; +$lang['lastbufrom']="son yedekleme tarihi"; +$lang['not_supported']="Bu yedekleme istenilen fonksiyonu desteklemiyor."; +$lang['multidump']="Parçalı yedekleme:%d Veritabanları yedeklendi."; +$lang['filesendftp']="Dosya FTP ile gönderiliyor... lütfen biraz bekleyiniz. "; +$lang['ftpconnerror']="FTP-Bağlantısı kurulmadı! Bağlantı "; +$lang['ftpconnerror1']=" Kullanıcı"; +$lang['ftpconnerror2']=" mümkün değil"; +$lang['ftpconnerror3']="FTP-Yüklemesi başarısız! "; +$lang['ftpconnected1']="Kullanılan bağlantı"; +$lang['ftpconnected2']=" ile "; +$lang['ftpconnected3']=" kayıt edilen"; +$lang['nr_tables_selected']="- %s seçilmiş tablolar"; +$lang['nr_tables_optimized']="%s Tablo arındırıldı."; +$lang['dump_errors']="

    Hata %s oluştu: göster

    "; +$lang['fatal_error_dump']="Hata oluştu: CREATE komutu '%s'tablosu '%s' veritabanında okunamadı
    Tabloları onarmanızı öneriyoruz."; + + +?> \ No newline at end of file diff --git a/language/tr/lang_filemanagement.php b/language/tr/lang_filemanagement.php new file mode 100644 index 0000000..7c0fad1 --- /dev/null +++ b/language/tr/lang_filemanagement.php @@ -0,0 +1,76 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Yedekleme"; +$lang['DoCronButton']="Perl-Cronscript'i çalıştır"; +$lang['DoPerlTest']="Perl-Modülerini denetle"; +$lang['DoSimpleTest']="Perli denetle"; +$lang['perloutput1']="crondump.pl de kayıtlı adres absolute_path_of_configdir"; +$lang['perloutput2']="Tarayıcı veya dışarıdan çağrışım ile çalışan Cronjob"; +$lang['perloutput3']="Shell den veya Crontab dan çalışması için"; +$lang['restore_of_tables']="belirli tabloları geri dönüştürme"; +$lang['converter']="Yedekleme dönüştürücüsü"; +$lang['convert_file']="dönüştürülecek dosya"; +$lang['convert_filename']="Yeni dosya adı (uzantısız)"; +$lang['converting']="Dönüştürüm"; +$lang['convert_fileread']="Dosya '%s' okunuyor"; +$lang['convert_finished']="Dönüştürme tamamlandı, '%s' oluşturuldu."; +$lang['no_msd_backupfile']="Başka yazılımların dosyaları:"; +$lang['max_upload_size']="Maksimum dosya boyutu"; +$lang['max_upload_size_info']="Eğer Yedek dosyanız izin verilen boyuttan büyük ise, o zaman FTP ile \"work/backup\"-Klasörüne yüklemeniz lazım. +Daha sonra bu dosya Yönetim bölümünde gözüküp geri yükleme işlemi için kullanılabilir duruma gelicektir."; +$lang['encoding']="kodlama"; +$lang['fm_choose_encoding']="alınacak yedeğin karakter setini seçin"; +$lang['choose_charset']="Maalesef veritabanı yedeğinin hangi karakter seti ile kodlandığını otomatik olarak bulunmadı
    Hangi karakter setini kullandıysanız onu seçip elle vermeniz gerekiyor.Daha sonra MYSQLDumper veritabanı serveri ile irtibata gecip yedeği yüklemeye başlıyacaktır.
    Eğer yedek yüklendikten sonra karakter sorunu devam ediyorsa başka bir karakter seti seçip tekrar denemeniz gerekiyor.
    Bol şans ;)"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_help.php b/language/tr/lang_help.php new file mode 100644 index 0000000..ee6d013 --- /dev/null +++ b/language/tr/lang_help.php @@ -0,0 +1,36 @@ + \ No newline at end of file diff --git a/language/tr/lang_install.php b/language/tr/lang_install.php new file mode 100644 index 0000000..f4da641 --- /dev/null +++ b/language/tr/lang_install.php @@ -0,0 +1,90 @@ +Kurulum tamamlanmıştır --> MySQLDumper'i başlat
    "; +$lang['install_tomenu']="Ana Menüye geç"; +$lang['installmenu']="Ana Menüsü"; +$lang['step']="Adım"; +$lang['install']="Kurulum"; +$lang['uninstall']="Kurulumu kaldır"; +$lang['tools']="Araçlar"; +$lang['editconf']="Ayarları elden düzenle"; +$lang['osweiter']="Kayıt etmeden devam et"; +$lang['errorman']="Ayarların kaydında hata oluştu!
    Dosyayı lütfen elden düzenleyiniz "; +$lang['manuell']="elden"; +$lang['createdirs']="Klasörler oluşturuluyor"; +$lang['install_continue']="Kuruluma devam et"; +$lang['connecttomysql']=" MySQL ile bağlan "; +$lang['dbparameter']="Veritabanı-Parametreleri"; +$lang['confignotwritable']="\"config.php\" yazılamıyor. FTP yazılımınız ile CHMOD ayarlarını 0777 ye çevirin."; +$lang['dbconnection']="Bağlantı Parametreleri"; +$lang['connectionerror']="Hata: bağlantı kurulamıyor."; +$lang['connection_ok']="Veritabanı bağlantısı kuruldu."; +$lang['saveandcontinue']="Kaydet ve kurulumu devam et"; +$lang['confbasic']="Asıl Ayarları"; +$lang['install_step2finished']="Veritabanı ayarları kayıt edildi.

    +İsterseniz standart ayarlar ile kurulumu sürdürebilirsiniz, veya ayarları düzenleyebilirsiniz."; +$lang['install_step2_1']="Standart ayarlarla devam"; +$lang['laststep']="Kurulumum tamamlanması"; +$lang['ftpmode']="Klasörler FTP ile oluşturuluyor (safe_mode)"; +$lang['idomanual']="Klasörleri elden oluşturacağım"; +$lang['dofrom']="başlangıç:"; +$lang['ftpmode2']="klasörleri FTP ile oluştur"; +$lang['connect']="Bağlantı kur"; +$lang['dirs_created']="Klasörler oluşturuldu."; +$lang['connect_to']="Bağlantı kur:"; +$lang['changedir']="Klasöre geç"; +$lang['changedirerror']="Klasöre geciş mümkün değil"; +$lang['ftp_ok']="FTP-Ayarları geçerli"; +$lang['createdirs2']="Klasörleri oluştur"; +$lang['ftp_notconnected']="FTP-bağlantısı kurulmadı!"; +$lang['connwith']="Kurulacak bağlantı:"; +$lang['asuser']="Kullanıcı"; +$lang['notpossible']="mümkün değil"; +$lang['dircr1']="Oluşturuluyor: Çalışma klasörü"; +$lang['dircr2']="Oluşturuluyor: yedekleme klasörü"; +$lang['dircr4']="Oluşturuluyor: rapor klasörü"; +$lang['dircr5']="Oluşturuluyor: ayar klasörü"; +$lang['indir']="bulunulan klasör"; +$lang['check']="Kontrol ediliyor"; +$lang['disabledfunctions']="İptal edilmiş fonksiyonlar"; +$lang['noftppossible']="FTP fonksiyonları kullanılmaz!"; +$lang['nogzpossible']="Sıkıştırma fonksiyonları kullanılmıyor!"; +$lang['ui1']="Çalışma klasörleri siliniyor (içerisinde bulunan yedekleme dosyaları ile birlikte)."; +$lang['ui2']="Eminmisiniz?"; +$lang['ui3']="Hayır, hemen iptal et"; +$lang['ui4']="Evet, eminim, devam et"; +$lang['ui5']="Çalışma klasörü siliniyor"; +$lang['ui6']="Hepsi silindi."; +$lang['ui7']="Skript klasörünü lütfen siliniz"; +$lang['ui8']="Bir düzey yukarı çık"; +$lang['ui9']="Hata oluştu, silme işlemi uygulanamadı

    Hatanın oluştuğu klasör: "; +$lang['import']="Ayarları ithal et"; +$lang['import1']="Ayarları \"config.gz\" den ithal et"; +$lang['import2']="Ayarları yükle ve ithal et"; +$lang['import3']="Ayarlar yüklendi..."; +$lang['import4']="Ayarlar yedeklendi."; +$lang['import5']="MySQLDumper'i başlat"; +$lang['import6']="Kurulum menüsü"; +$lang['import7']="Ayarları yükle"; +$lang['import8']="Yüklemeye geri dön"; +$lang['import9']="Bu bir ayaryedeklemesi değil!"; +$lang['import10']="Ayarlar yüklendi..."; +$lang['import11']="Hata: SQL komutları yazarken hata oluştu"; +$lang['import12']="Hata: Config.php nin kaydında hata oluştu"; +$lang['install_help_port']="(boş = Standart port)"; +$lang['install_help_socket']="(boş= Standart socket)"; +$lang['tryagain']="Bir daha dene"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_db']="Bulunan Veritabanı: "; +$lang['fm_fileupload']="Dosya yükle"; +$lang['pass']="Şifre"; +$lang['no_db_found_info']="Veritabanı sunucusu ile bağlantı kuruldu.
    +Bağlantı parametreleri doğrulandı, kullanıcı ismi ve şifresi kabul edildi.
    +Fakat Sunucuda Veritabanı bulunamadı.
    +Otomatik tanıma sunucunuzda kilitli olabilir.
    +Kurulum tamamlandıktan sonra lütfen Ayar Merkezi sayfasına gidin ve Bağlantı parametreleri bölümünde \"göster\" tıklayınız.
    +Veritabanı ile bağlantı kurulabilmesi için gereken bilgileri oraya girmeniz gerekiyor."; +$lang['safemodedesc']="Bu sunucudaki PHP ayarlarında \"safe_mode=on\" tespit edilmiştır, bazı klasörleri elden oluşturmanız gerekiyor (mesela FTP Client programı ile)"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_log.php b/language/tr/lang_log.php new file mode 100644 index 0000000..da5d589 --- /dev/null +++ b/language/tr/lang_log.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/language/tr/lang_main.php b/language/tr/lang_main.php new file mode 100644 index 0000000..5f3aede --- /dev/null +++ b/language/tr/lang_main.php @@ -0,0 +1,68 @@ +"; +$lang['htaccess10']="Şifreler birbirini tutmuyor!
    "; +$lang['htaccess11']="Klasör Koruması şimdi oluşturulsunmu?"; +$lang['htaccess12']="Klasör Koruması oluşturuldu."; +$lang['htaccess13']="Dosyanın içeriği"; +$lang['htaccess14']="Klasör Koruma oluşturulmasında hata oluştu!
    Dosyayı lütfen elden oluşturunuz. İçeriği:"; +$lang['htaccess15']="Önemli!"; +$lang['htaccess16']=".htaccess dosyasını düzenle"; +$lang['htaccess18']=".htaccess dosyasının oluşturulacağı klasör "; +$lang['htaccess19']=" güncelle "; +$lang['htaccess20']="Skript'i çalıştır"; +$lang['htaccess21']="Handler ekle"; +$lang['htaccess22']="Çalıştırılır hale getir"; +$lang['htaccess23']="Klasör listesi"; +$lang['htaccess24']="Hata dosyası"; +$lang['htaccess25']="Rewrite'i aç"; +$lang['htaccess26']="Yasak / Serbest"; +$lang['htaccess27']="Yönlendir"; +$lang['htaccess28']="Hata-Log'u"; +$lang['htaccess29']="Başka örnekler ve belgeler"; +$lang['htaccess30']="Hosting Şirketi"; +$lang['htaccess31']="genel"; +$lang['htaccess32']="Dikat .htaccess dosyası tarayıcıyı anında etkiler.
    Yanlış ayarlandığında sayfalara ulaşamazsınız."; +$lang['phpbug']="zlib de hata var! Sıkıştırma kullanılamaz"; +$lang['disabledfunctions']="İptal edilmiş fonksiyonlar"; +$lang['nogzpossible']="Zlib bulunamadığı için Sıkıştırma kullanılamaz."; +$lang['delete_htaccess']="Klasör koruması kaldırılsın (.htaccess silinecek)"; +$lang['wrong_rights']="Dosya yada Klasör '%s' yazılamıyor !.
    Ya yetkili kullanıcı değilsiniz yada erişim haklarınız kısıtlı (chmod).
    Lütfen Ftp programınızla gerekli erişim haklarını düzenleyin.
    Dosya / Klasör için gerekli erişim hakkı %s.
    "; +$lang['cant_create_dir']="gerekli olan '%s' Klasörü oluşturulamadı. Lütfen FTP Programınız ile yaratın."; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_restore.php b/language/tr/lang_restore.php new file mode 100644 index 0000000..db2466b --- /dev/null +++ b/language/tr/lang_restore.php @@ -0,0 +1,21 @@ +%d tablo oluşturuldu."; +$lang['file_missing']="Dosya bulunamadı"; +$lang['restore_db']="Veritabanı: '%s' Sunucu: '%s'."; +$lang['restore_complete']="%s Tablolar oluşturuldu."; +$lang['restore_run1']="
    Şimdiye kadar %s / %s kayıt işlendi."; +$lang['restore_run2']="
    İşlenen tablo '%s' kayıtlar işleniyor.

    "; +$lang['restore_complete2']="%s Kayıtlar işlendi."; +$lang['restore_tables_completed']="Şimdiye kadar %d / %d Tablo oluşturuldu."; +$lang['restore_total_complete']="
    Tebrikler.

    Veritabanı tamamen dönüştürüldü.
    Yedeklemedeki bulunan bütün bilgiler işlenebildi.

    İşlem tamamlanmıştır. :-)"; +$lang['db_select_error']="
    Hata:
    Veritabanı seçimi '"; +$lang['db_select_error2']="' Hata oluştu!"; +$lang['file_open_error']="Hata: Dosya açılamadı."; +$lang['progress_over_all']="Süreçin tamamı"; +$lang['back_to_overview']="Veritabanı listesi"; +$lang['restore_run0']="
    Şimdiye kadar %s kayıt başarılı olarak işlendi."; +$lang['unknown_sqlcommand']="Tanınmayan SQL komudu:"; +$lang['notices']="İpuçlar"; + + +?> \ No newline at end of file diff --git a/language/tr/lang_sql.php b/language/tr/lang_sql.php new file mode 100644 index 0000000..3b30308 --- /dev/null +++ b/language/tr/lang_sql.php @@ -0,0 +1,180 @@ +%s satır ihraç edildi"; +$lang['csv_fieldcount_nomatch']="Tablo kayıtlarının sayısı, ithal edilecek bilgilerle uyuşmuyor (%d yerine %d)."; +$lang['csv_fieldslines']="%d hücre tespit edildi, toplam %d satır"; +$lang['csv_errorcreatetable']=" `%s` Tablo oluşturmada hata oluştu!"; +$lang['fm_uploadfilerequest']="Dosya belirtiniz."; +$lang['csv_nodata']="İthal edilebilecek kayıt bulunamadı!"; +$lang['sqllib_generalfunctions']="genel fonksiyonlar"; +$lang['sqllib_resetauto']="Auto-değeri geri al"; +$lang['sqllib_boards']="Paneller"; +$lang['sqllib_deactivateboard']="Paneli durdur"; +$lang['sqllib_activateboard']="Paneli çalştır"; +$lang['sql_notablesselected']="Tablo seçilmedi!"; +$lang['tools']="Araçlar"; +$lang['tools_toolbox']="Veritabanı seçimi / Veritabanı işlemler / İthal / İhraç "; +$lang['sql_openfile']="SQL dosyasını aç"; +$lang['sql_openfile_button']="yükle"; +$lang['max_upload_size']="maximum Dosya boyutu"; +$lang['sql_search']="Arama"; +$lang['sql_searchwords']="aranan kelime(ler)"; +$lang['start_sql_search']="aramayı başlat"; +$lang['reset_searchwords']="arama sonucunu sil"; +$lang['search_options']="Arama Seçenekleri"; +$lang['search_results']="aradığınız \"%s\" kelime sonucu \"%s\" Tablo'da bulunan sonuçlar"; +$lang['search_no_results']="aradığınız \"%s\" kelimesi \"%s\" Tablo içersinde bulunamadı !"; +$lang['no_entries']="\"%s\" isimli Tablo boş ve hiçbirşey yazılmamış."; +$lang['search_access_keys']="Çevir: ileri=ALT+V, geri=ALT+C"; +$lang['search_options_or']="Sütunda en azından bir aranılan kelime bulunmalıdır. (VEYA arama)"; +$lang['search_options_concat']="Metin'de bütün aranılan kelimeler bir satırda bulunmalıdır, fakat aranılan kelimeler değişik sütunlarda bulunabilir. (Vakit alıcı)"; +$lang['search_options_and']="Sütunun içinde aranan kelimelerin hepsi bulunmalı (VE)"; +$lang['search_in_table']="Tablonun içinde ara"; +$lang['sql_edit_tablestructure']="Tablo yapısını düzenle"; +$lang['default_charset']="standart karakter seti"; +$lang['title_key_primary']="İndeks"; +$lang['title_key_unique']="Eşsiz Anahtar"; +$lang['title_index']="İndeks"; +$lang['title_key_fulltext']="Full Metin Anahtari"; +$lang['title_nokey']="Anahtar yok"; +$lang['title_search']="Ara"; +$lang['title_mysql_help']="MySQL Klavuzu"; +$lang['title_upload']="SQL dosyasını yükle"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/language/vn/help.php b/language/vn/help.php new file mode 100644 index 0000000..1da522b --- /dev/null +++ b/language/vn/help.php @@ -0,0 +1,129 @@ +
    +

    VỠdự án này

    +à tưởng cho dự án này là của Daniel Schlichtholz.

    Năm 2004, ông tạo ra diễn đàn MySQLDumper và sau đó, lập trình những đoạn mã mới, bổ sung đoạn mã của Daniel.
    Sau má»™t thá»i gian ngắn, mã nguồn phát triển thành má»™t dá»± án lá»›n hÆ¡n.

    Nếu bạn có bất cứ góp ý nào nhằm cải tiến mã nguồn, bạn có thể truy cập vào Diễn đàn MySQLDumper: http://www.mysqldumper.de.

    Chúc bạn có những giây phút thú vị.

    The MySQLDumper-Team

    +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript được hỗ trợ từ Detlev Richter
    +
    + +

    Trợ giúp vỠMySQLDumper

    + +

    Download

    +Mã nguồn này có thể tải vè từ trang chủ của MySQLDumper.
    +Hãy ghé thăm trang chủ của MySQLDumper thÆ°á»ng xuyên để có những thông tin má»›i nhất, đầy đủ nhất vá» các phiên bản nâng cấp của phần má»m.
    +Äịa chỉ website là +http://forum.mysqldumper.de + + +

    System Mandatories

    +Mã nguồn này có thể chạy trên các hệ thống máy chủ thông dụng (Windows, Linux, ...)
    +và PHP >= Version 4.3.4 với GZip-Library, MySQL (>= 3.23), JavaScript (phải được cho phép). + +

    Cài đặt

    +Chương trình có thể cài đặt rất dễ dàng. +Giải nén chương trình vào thư mục bất kỳ trên Webserver
    +(VD: vào thư mục gốc của Website [Thư mục gốc Server/]MySQLDumper)
    +chmod 777 cho file config.php
    +... hết!
    +Chạy MySQLDumper trên trình duyệt (FireFox, Internet Explorer) bằng cách gõ "http://webserver/MySQLDumper" +để hoàn thành cài đặt (xem hướng dẫn kèm theo). + +
    Chú ý:
    Nếu webserver của bạn chạy vá»›i tùy chá»n safemode=ON thì MySqlDump không thể tạo thÆ° mục.
    +Bạn sẽ phải tự mình tạo.
    +Trong trÆ°á»ng hợp đó, MySqlDump sẽ cho bạn biết mình phải làm gì.
    +Sau khi bạn tạo ra các thÆ° mục, MySqlDump sẽ hoạt Ä‘á»™ng bình thÆ°á»ng.

    + +

    Hướng dẫn cho mã nguồn Perl

    + +Hầu hết thì má»i website Ä‘á»u có má»™t thÆ° mục tên là cgi-bin, trong đó Perl có thể chạy.
    +Äiá»u này có nghÄ©a là có thể truy cập từ trình duyệt vào má»™t địa chỉ có dạng http://www.domain.de/cgi-bin/.

    + +Äá»c kỹ các hÆ°á»›ng dẫn từng bÆ°á»›c ở dÆ°á»›i đây.

    + + +1. Vào MySQLDumper/ trang "Sao lưu"; bấm vào "Backup Perl"
    +2. Sao chép Ä‘Æ°á»ng dẫn đứng đằng sau mục nhập trong crondump.pl cho $absolute_path_of_configdir:
    +3. Mở tập tin "crondump.pl" bằng trình soạn thảo
    +4. Dán Ä‘Æ°á»ng dẫn đã sao chép vá»›i absolute_path_of_configdir (không có khoảng trắng)
    +5. LÆ°u crondump.pl
    +6. sao chép crondump.pl, cũng như perltest.pl và simpletest.pl vào thư mục cgi-bin (chế độ ASCII trong chương trình ftp!)
    +7. chmod 755 cho nó.
    +7b. Nếu muốn phần mở rộng là cgi, chỉ việc đổi tên đuôi pl -> cgi
    +8. Vào MySQLDumper / Cấu hình
    +9. Nhấp chuột vào
    Cronscript +10. Thay đổi Ä‘Æ°á»ng dẫn Perl đến /cgi-bin/
    +10B. Nếu Script được đổi tên thành *. cgi, đổi Fileextension thành cgi
    +11. Ghi lại cấu hình.

    + +Sẵn sàng! Các lệnh có sẵn ở trang "Sao lưu"

    + +Bạn có thể chạy Perl ở bất cứ đâu, chỉ cần thực hiện các bước sau:

    + +1. Vào MySQLDumper / "Sao lưu".
    +2. Sao chép Ä‘Æ°á»ng dẫn đứng đằng sau mục nhập trong crondump.pl cho $absolute_path_of_configdir:
    +3. Mở file "crondump.pl"
    +4. án Ä‘Æ°á»ng dẫn đã sao chép vá»›i absolute_path_of_configdir (không có khoảng trắng)
    +5. Save crondump.pl
    + +6. chmod 755 cho nó.
    +6b. Nếu muốn phần mở rộng là cgi, chỉ việc đổi tên đuôi pl -> cgi
    +(tiếp: 10b+11 như trên)

    + + +NgÆ°á»i dùng Windows phải đổi tất cả các dòng đầu của mã nguồn Perl, thành Ä‘Æ°á»ng dẫn tá»›i Perl.

    + +Ví dụ:
    + +instead of: #!/usr/bin/perl w
    +now #!C:\perl\bin\perl.exe w
    + +

    Hệ thống

      + +
      Menu
      +Há»™p chá»n cho phép bạn chá»n CSDL để làm việc.
      +Tất cả các thao tác sẽ được áp dụng cho CSDL đang hiển thị. + +
      Trang chủ
      +Tại đây bạn có thể xem tất cả các thông tin của hệ thống, phiên bản của phần má»m và chi tiết các cấu hình của hệ thống.
      +Khi bạn Click vào một CSDL trong bảng, bạn sẽ thấy danh sách các bảng với số bản ghi, kích cỡ và lần cuối cập nhật stamp. + +
      Cấu hình
      +Tại đây bạn có thể sửa các cấu hình, ghi hoặc nạp các cấu hình mặc định. + + +
      Quản lý
      +Danh sách tất cả các thao tác có thể thực hiện sẽ được liệt kê tại đây.
      +Bạn có thể thấy tất cacsr các file trong thư mục Backup. +Thao tác "Phục hồi" và "Xóa" có thể thực hiện ở trước mỗi file. +
        +
      • Phục hồi: bạn có thể phục hồi các bản ghi của file backup đã lá»±a chá»n.
      • +
      • Xóa: bạn có thể xóa file backup đã lá»±a chá»n.
      • +
      • Bắt đầu 1 sao lÆ°u (Dump): tại đây bạn có thể bắt đầu 1 sao lÆ°u (dump) má»›i vá»›i các thông số đã được cấu hình.
      • +
      + +
      Log / Nhật ký hệ thống
      +Bạn có thể Ä‘á»c các bản ghi nhật ký và xóa chúng. + +
      Yêu cầu / Trợ giúp
      +(chính là trang này.) +
    \ No newline at end of file diff --git a/language/vn/lang.php b/language/vn/lang.php new file mode 100644 index 0000000..4551583 --- /dev/null +++ b/language/vn/lang.php @@ -0,0 +1,107 @@ +http://mangvn.org - Tác giả"; +$lang['back']="quay lại"; +$lang['db_host']="Hostname"; +$lang['db_user']="User"; +$lang['db_pass']="Password"; +$lang['info_scriptdir']="ThÆ° mục chứa MySQLDumper"; +$lang['info_actdb']="CÆ¡ sở dữ liệu hiện hành"; +$lang['wrongconnectionpars']="Thông số kết nối sai hoặc thiếu!"; +$lang['conn_not_possible']="Không thể kết nối!"; +$lang['servercaption']="Hiển thị Server"; +$lang['help_servercaption']="Khi sá»­ dụng MySQLDumper trên những tên miá»n hay những server khác nhau, sẽ hữu ích nếu hiển thị tên miá»n/server ở trên cùng màn hình."; +$lang['activate_multidump']="kích hoạt MultiDump"; +$lang['save']="Save"; +$lang['reset']="Làm lại"; +$lang['praefix']="Tiá»n tố bảng"; +$lang['autodelete']="Tá»± Ä‘á»™ng xóa phần sao lÆ°u"; +$lang['max_backup_files_each2']="Cho má»—i má»™t CSDL"; +$lang['saving_db_form']="CSDL"; +$lang['testconnection']="Kiểm tra Kết nối"; +$lang['back_to_minisql']="Soạn thảo CSDL"; +$lang['create']="Tạo"; +$lang['Variabeln']="Các biến"; +$lang['Statusinformationen']="Thông tin Trạng thái"; +$lang['Versionsinformationen']="Thông tin Phiên bản"; +$lang['MySQL Dumper Informationen']="Thông tin MySQL Dumper"; +$lang['backupfilesanzahl']="Trong thÆ° mục Backup có"; +$lang['lastbackup']="Sao lÆ°u Cuối cùng"; +$lang['notavail']="không có"; +$lang['vom']="từ"; +$lang['mysqlvars']="Biến MySQL"; +$lang['mysqlsys']="Lệnh MySQL"; +$lang['Status']="Trạng thái"; +$lang['Prozesse']="Tiến trình"; +$lang['info_novars']="không có biến nào hợp lệ"; +$lang['Inhalt']="Giá trị"; +$lang['info_nostatus']="không có trạng thái nào hợp lệ"; +$lang['info_noprocesses']="không có tiến trình nào Ä‘ang chạy"; +$lang['fm_freespace']="Dung lượng trống trên Server"; +$lang['load_database']="Nạp lại các CSDL"; +$lang['home']="Trang chủ"; +$lang['config']="Cấu hình"; +$lang['dump']="Sao lÆ°u"; +$lang['restore']="Phục hồi"; +$lang['file_manage']="File Admin"; +$lang['log']="Log"; +$lang['choose_db']="Chá»n CSDL"; +$lang['credits']="Yêu cầu / Trợ giúp"; +$lang['multi_part']="Sao lÆ°u Nhiá»u phần"; +$lang['logfilenotwritable']="Không thể ghi Logfile!"; +$lang['sql_error1']="Lá»—i trong Lệnh truy xuất (Query):"; +$lang['sql_error2']="MySQL báo:"; +$lang['unknown']="không rõ"; +$lang['unknown_number_of_records']="không rõ"; +$lang['ok']="OK"; +$lang['cron_completelog']="Xuất đầy đủ Log"; +$lang['no']="không"; +$lang['create_database']="Tạo ra cÆ¡ sở dữ liệu má»›i"; +$lang['exportfinished']="Quá trình xuất đã kết thúc."; +$lang['sql_browser']="Duyệt SQL"; +$lang['server']="Máy chủ"; +$lang['mysql_connection_encoding']="Mã chuẩn của MySQL-Server + + +"; +$lang['title_show_data']="Show data"; +$lang['primaryKey_confirmDelete']="Really delete primary key?"; +$lang['setPrimaryKeysFor']="Set new primary keys for table"; +$lang['primaryKey_field']="Primary key field"; +$lang['primaryKeys_save']="Save primary keys"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_config_overview.php b/language/vn/lang_config_overview.php new file mode 100644 index 0000000..eba0329 --- /dev/null +++ b/language/vn/lang_config_overview.php @@ -0,0 +1,116 @@ +%s
    vào %s"; +$lang['ftp']="FTP"; +$lang['email_cc']="Äồng gá»­i"; +$lang['name']="Tên"; +$lang['confirm_configfile_delete']="Bạn có chắc muốn xóa các tập tin cấu hình %s?"; +$lang['error_deleting_configfile']="Lá»—i: không thể xóa file cấu hình %s!"; +$lang['success_deleting_configfile']="File cấu hình %s vừa được xóa thành công."; +$lang['success_configfile_created']="File cấu hình %s vừa được tạo thành công."; +$lang['error_configfile_name']="Tên file \"%s\" có ký tá»± không phù hợp."; +$lang['create_configfile']="Tạo file cấu hình má»›i"; +$lang['error_loading_configfile']="Không thể tải file cấu hình \"%s\"."; +$lang['backup_dbs_php']="CSDL để sao lÆ°u (PHP)"; +$lang['backup_dbs_perl']="CSDL để sao lÆ°u (PERL)"; +$lang['cron_comment']="Nhập ghi chú + + +"; +$lang['autodetect']="auto detect"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_dump.php b/language/vn/lang_dump.php new file mode 100644 index 0000000..3d1bf5e --- /dev/null +++ b/language/vn/lang_dump.php @@ -0,0 +1,61 @@ +%s` "; +$lang['dump_endergebnis']="File chứa %s bảng vá»›i %s bản ghi.
    "; +$lang['mailerror']="Gửi email thất bại!"; +$lang['emailbody_attach']="File đính kèm chứa đựng nội dung sao lưu MySQL.
    Sao lưu Cơ sở dữ liệu `%s` +

    File sau đã được tạo:

    %s

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['emailbody_mp_noattach']="Má»™t Sao lÆ°u Nhiá»u phần được tạo ra.
    Những tập tin dự phòng không được gửi kèm email!
    Sao lưu Cơ sở dữ liệu `%s` +

    Những file Sau đã được tạo ra

    %s +

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['emailbody_mp_attach']="Má»™t Sao lÆ°u Nhiá»u phần được tạo ra.
    Những tập tin dự phòng đã được gửi kèm email!
    Sao lưu Cơ sở dữ liệu `%s` +

    Những file sau đã được tạo ra:

    %s

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['emailbody_footer']="`

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['emailbody_toobig']="Tập tin sao lưu vượt hơn kích thước lớn nhất của %s và nó không được đính kèm email.
    Sao lưu Cơ sở dữ liệu `%s` +

    File sau đã được tạo ra:

    %s +

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['emailbody_noattach']="Files không được đính kèm email này!
    Sao lưu của CSDL `%s` +

    File sau đã được tạo ra:

    %s +

    Trân trá»ng!

    MySQLDumper - http://mangvn.org
    "; +$lang['email_only_attachment']=" ... chỉ đính kèm."; +$lang['tableselection']="Chá»n Bảng"; +$lang['selectall']="Chá»n tất cả"; +$lang['deselectall']="Thôi chá»n tất cả"; +$lang['startdump']="Bắt đầu sao lÆ°u"; +$lang['lastbufrom']="cập nhật lần cuối từ"; +$lang['not_supported']="Sao lÆ°u này không há»— trợ chức năng này."; +$lang['multidump']="Multidump: Sao lÆ°u của %d Những cÆ¡ sở dữ liệu xong."; +$lang['filesendftp']="gá»­i file qua FTP... hãy đợi. "; +$lang['ftpconnerror']="Kết nối FTP không được thiết lập! Kết nối vá»›i "; +$lang['ftpconnerror1']=" nhÆ° ngÆ°á»i sá»­ dụng "; +$lang['ftpconnerror2']=" không thể xảy ra"; +$lang['ftpconnerror3']="Upload FTP há»ng! "; +$lang['ftpconnected1']="Äã kết nối vá»›i "; +$lang['ftpconnected2']=" trên "; +$lang['ftpconnected3']=" chuyển đổi thành công"; +$lang['nr_tables_selected']="- vá»›i %s bảng đã được chá»n"; +$lang['nr_tables_optimized']="%s những bảng đã được tối Æ°u hóa."; +$lang['dump_errors']="

    %s những lỗi xuất hiện: xem

    "; +$lang['fatal_error_dump']="Lá»—i nghiêm trá»ng: CREATE-Statement của bảng '%s' trong CSDL '%s' không thể Ä‘á»c!
    +Kiểm tra lại bảng này để tìm lá»—i. + + +"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_filemanagement.php b/language/vn/lang_filemanagement.php new file mode 100644 index 0000000..f6181f8 --- /dev/null +++ b/language/vn/lang_filemanagement.php @@ -0,0 +1,81 @@ +%s\""; +$lang['delete_file_error']="Error deleting file \"%s\"!"; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Chạy Perl Cron script"; +$lang['DoPerlTest']="Kiểm tra Perl Modules"; +$lang['DoSimpleTest']="Kiểm tra Perl"; +$lang['perloutput1']="Các mục trong crondump.pl cho absolute_path_of_configdir"; +$lang['perloutput2']="URL cho tronhf duyệt hoặc ngoài Cron job"; +$lang['perloutput3']="Dòng lệnh trong Shell hoặc cho Crontab"; +$lang['restore_of_tables']="Chá»n Bảng để phục hồi"; +$lang['converter']="ChÆ°Æ¡ng trình chuyển đổi sao lÆ°u"; +$lang['convert_file']="File cần được chuyển đổi"; +$lang['convert_filename']="Tên file xuất ra (bá» qua phần mở rá»™ng)"; +$lang['converting']="Äang chuyển đổi"; +$lang['convert_fileread']="Äá»c file '%s'"; +$lang['convert_finished']="Kết thúc chuyển đổi, '%s' vừa tạo thành công."; +$lang['no_msd_backupfile']="Sao lÆ°u script khác"; +$lang['max_upload_size']="Dung lượng tối Ä‘a cho file"; +$lang['max_upload_size_info']="Nếu file sao lÆ°u của các bạn lá»›n hÆ¡n giá»›i hạn được quy định ở trên, bạn phải nạp dữ liệu nó qua FTP vào trong thÆ° mục \"work/backup\". +Sau đó bạn có thể chá»n nó để bắt đầu phục hồi. "; +$lang['encoding']="mã hóa"; +$lang['fm_choose_encoding']="Chá»n chế Ä‘á»™ mã hóa của file sao lÆ°u"; +$lang['choose_charset']="MySQLDumper đã không thể phát hiện ra sá»± mã hóa của File sao lÆ°u má»™t cách tá»± Ä‘á»™ng. +
    Bạn phải chá»n charset đúng vá»›i định dạng đã được sao lÆ°u. +
    Nếu bạn thấy bất kỳ vấn Ä‘á» nào sau khi khôi phục, bạn có thể lặp lại quá trình sao lÆ°u và sau đó chá»n charset khác. +
    Chúc may mắn. ;) + +"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_help.php b/language/vn/lang_help.php new file mode 100644 index 0000000..a83fc72 --- /dev/null +++ b/language/vn/lang_help.php @@ -0,0 +1,39 @@ + \ No newline at end of file diff --git a/language/vn/lang_install.php b/language/vn/lang_install.php new file mode 100644 index 0000000..5aac2e8 --- /dev/null +++ b/language/vn/lang_install.php @@ -0,0 +1,93 @@ +Cài đặt thành công --> Bắt đầu MySQLDumper
    "; +$lang['install_tomenu']="Quay lại menu chính"; +$lang['installmenu']="Menu chính"; +$lang['step']="SBước"; +$lang['install']="Cài đặt"; +$lang['uninstall']="Gỡ cài đặt"; +$lang['tools']="Công cụ"; +$lang['editconf']="Sửa cấu hình"; +$lang['osweiter']="Tiếp tục (bỠqua không Lưu)"; +$lang['errorman']="Lỗi trong khi Lưu cấu hình!
    Sá»­a lại File "; +$lang['manuell']="bằng tay"; +$lang['createdirs']="Tạo ra những thÆ° mục"; +$lang['install_continue']="Tiếp tục vá»›i sá»± cài đặt"; +$lang['connecttomysql']="Kết nối tá»›i MySQL "; +$lang['dbparameter']="Những tham số CÆ¡ sở dữ liệu"; +$lang['confignotwritable']="Tôi không thể viết vào file \"config.php\". +Hãy dùng trình FTP của bạn và chmod afile này thành 0777."; +$lang['dbconnection']="Kết nối CÆ¡ sở dữ liệu"; +$lang['connectionerror']="Lá»—i: Không thể nối."; +$lang['connection_ok']="Kết nối CÆ¡ sở dữ liệu được thiết lập."; +$lang['saveandcontinue']="LÆ°u lại và tiếp tục sá»± cài đặt"; +$lang['confbasic']="Tham số CÆ¡ bản"; +$lang['install_step2finished']="Những tham số CÆ¡ sở dữ liệu được LÆ°u lại thành công."; +$lang['install_step2_1']="Tiếp tục cài đặt vá»›i những thiết đặt mặc định"; +$lang['laststep']="Kết thúc Cài đặt"; +$lang['ftpmode']="Tạo ra những thÆ° mục cần thiết Trong safe-mode"; +$lang['idomanual']="Tôi tạo ra những thÆ° mục của tôi"; +$lang['dofrom']="bắt đầu từ"; +$lang['ftpmode2']="Tạo các thÆ° mục vá»›i FTP:"; +$lang['connect']="kết nối"; +$lang['dirs_created']="Các thÆ° mục được tạo ra và được chấp nhận."; +$lang['connect_to']="kết nối tá»›i"; +$lang['changedir']="đổi thÆ° mục"; +$lang['changedirerror']="không thể đổi thÆ° mục"; +$lang['ftp_ok']="tham số FTP được chấp nhận"; +$lang['createdirs2']="Tạo các thÆ° mục"; +$lang['ftp_notconnected']="Kết nối FTP không được thiết lập!"; +$lang['connwith']="Kết nối Vá»›i"; +$lang['asuser']="nhÆ° ngÆ°á»i sá»­ dụng"; +$lang['notpossible']="không thể"; +$lang['dircr1']="tạo thÆ° mục work"; +$lang['dircr2']="tạo thÆ° mục backup"; +$lang['dircr4']="tạo thÆ° mục log"; +$lang['dircr5']="tạo thÆ° mục configuration"; +$lang['indir']="Ä‘ang ở thÆ° mục"; +$lang['check']="Kiểm tra các thÆ° mục"; +$lang['disabledfunctions']="Vô hiệu hóa những tính năng"; +$lang['noftppossible']="Bạn không có những tính năng FTP !"; +$lang['nogzpossible']="Bạn không có những tính năng nén !"; +$lang['ui1']="Tất cả các thÆ° mục làm việc mà có thể chứa Ä‘á»±ng những sao lÆ°u sẽ được xóa."; +$lang['ui2']="Bạn chắc chắn bạn muốn Ä‘iá»u đó?"; +$lang['ui3']="không, bá» qua ngay lập tức"; +$lang['ui4']="có, cứ tiếp tục"; +$lang['ui5']="xóa những thÆ° mục làm việc"; +$lang['ui6']="má»i thứ đã bị xóa thành công."; +$lang['ui7']="Xin xóa thÆ° mục script"; +$lang['ui8']="lên mức trên"; +$lang['ui9']="Có lá»—i, không thể xóa

    Lá»—i vá»›i thÆ° mục "; +$lang['import']="Nhập Cấu hình"; +$lang['import1']="Nhập cài đặt từ"; +$lang['import2']="Upload và nhập vào các cài đặt"; +$lang['import3']="Cấu hình được tải ..."; +$lang['import4']="Äã ghi cấu hình."; +$lang['import5']="Chạy MySQLDumper"; +$lang['import6']="Menu cài đặt"; +$lang['import7']="Upload cấu hình"; +$lang['import8']="quay lại để upload"; +$lang['import9']="Äây không là má»™t sao lÆ°u cấu hình !"; +$lang['import10']="Cấu hình được upload thành công ..."; +$lang['import11']="Lá»—i: Có vấn Ä‘á» khi Ä‘ang viết sql_statements"; +$lang['import12']="Lá»—i: Có vấn Ä‘á» khi Ä‘ang viết config.php"; +$lang['install_help_port']="(để trống = Cổng mặc định)"; +$lang['install_help_socket']="(để trống = Socket mặc định)"; +$lang['tryagain']="Thá»­ lại"; +$lang['socket']="Socket"; +$lang['port']="Cổng"; +$lang['found_db']="tìm thấy db"; +$lang['fm_fileupload']="Upload file"; +$lang['pass']="Password"; +$lang['no_db_found_info']="Kết nối tá»›i cSDL được thiết lập thành công.
    +Dữ liệu thành viên hợp lệ và được MySQL-Server chấp nhận.
    +Nhưng MySQLDumper không thể tìm thấy bất kỳ cơ sở dữ liệu nào.
    +Dò tìm tự động qua script bị cấm trên một vài server.
    +Bạn phải vào databasename của bạn bằng tay sau khi sự cài đặt (thì) kết thúc. +Click \"cấu hình\" \"Tham số Kết nối - hiển thị\" và nhập tên CSDL đó."; +$lang['safemodedesc']="Vì PHP đang chạy trong chế độ safe_mode nên bạn phải tạo thư mục bằng cách sử dụng chương trình FTP: + + +"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_log.php b/language/vn/lang_log.php new file mode 100644 index 0000000..9708fd4 --- /dev/null +++ b/language/vn/lang_log.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/language/vn/lang_main.php b/language/vn/lang_main.php new file mode 100644 index 0000000..18908c0 --- /dev/null +++ b/language/vn/lang_main.php @@ -0,0 +1,75 @@ +"; +$lang['htaccess10']="Mật khẩu nhập lại không giống hoặc đã bị để trống!
    "; +$lang['htaccess11']="Có bảo vệ thÆ° mục hay không?"; +$lang['htaccess12']="ThÆ° mục đã được bảo vệ"; +$lang['htaccess13']="Ná»™i dung của file:"; +$lang['htaccess14']="Äã có lá»—i khi tạo file bảo vệ thÆ° mục!
    Hãy tạo ra 2 file bằng tay vá»›i ná»™i dung sau đây:"; +$lang['htaccess15']="Thông báo khẩn!"; +$lang['htaccess16']="Sá»­a .htaccess"; +$lang['htaccess18']="Tạo .htaccess trong "; +$lang['htaccess19']="Nạp lại "; +$lang['htaccess20']="Thá»±c hiện script"; +$lang['htaccess21']="Thêm ngÆ°á»i Ä‘iá»u khiển"; +$lang['htaccess22']="Làm cho có thể thá»±c hiện"; +$lang['htaccess23']="Danh sách ThÆ° mục"; +$lang['htaccess24']="Tài liệu Lá»—i"; +$lang['htaccess25']="Kích hoạt Viết lại"; +$lang['htaccess26']="Từ chối / Cho phép"; +$lang['htaccess27']="Gá»­i má»™t lần nữa"; +$lang['htaccess28']="Danh sách lá»—i được ghi nhận"; +$lang['htaccess29']="Xem thêm ví dụ và tài liệu"; +$lang['htaccess30']="Nhà cung cấp"; +$lang['htaccess31']="Tổng quan"; +$lang['htaccess32']="Chú ý! file .htaccess trá»±c tiếp ảnh hưởng đến hoạt Ä‘á»™ng của trình duyệt.
    Với nội dung sai, những trang này có thể bị chặn truy cập."; +$lang['phpbug']="Lỗi trong zlib ! Không thể nén"; +$lang['disabledfunctions']="Vô hiệu hóa những chức năng"; +$lang['nogzpossible']="Vì Zlib chưa được cài đặt, bạn không thể sử dụng thư viện GZip."; +$lang['delete_htaccess']="BỠbảo vệ thư mục (xóa .htaccess)"; +$lang['wrong_rights']="File hay thư mục '%s' không cho phép ghi.
    +Chế độ chmod không đúng hoặc nó không dành cho chúng ta.
    +Äặt lại thuá»™c tính cho đúng bằng cách sá»­ dụng trình FTP.
    +File hay thư mục cần được thiết lập thành %s.
    "; +$lang['cant_create_dir']="Không thể tạo thư mục '%s'. +Hãy tạo ra nó bằng cách sử dụng trình FTP. + + +"; +$lang['table_type']="Type"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_restore.php b/language/vn/lang_restore.php new file mode 100644 index 0000000..1f0fcc7 --- /dev/null +++ b/language/vn/lang_restore.php @@ -0,0 +1,24 @@ +%d bảng đã được tạo ra."; +$lang['file_missing']="không tìm thấy file"; +$lang['restore_db']="'%s' CSDL trong '%s'."; +$lang['restore_complete']="%s bảng đã được tạo ra."; +$lang['restore_run1']="
    Tính đến giá», %s trong số %s bản ghi đã được thêm vào thành công."; +$lang['restore_run2']="
    Hiện tại bảng '%s' đang được phục hồi.

    "; +$lang['restore_complete2']="%s bản ghi được chèn vào."; +$lang['restore_tables_completed']="Tính đến giá», %d trong số %d table đã được tạo."; +$lang['restore_total_complete']="
    Chúc mừng.

    Việc phục hồi cơ sở dữ liệu đã xong.
    Tất cả dữ liệu Sao lưu đã được phục hồi.

    Má»i việc đã kết thúc. :-)"; +$lang['db_select_error']="
    Lá»—i:
    Lá»±a chá»n CSDL "; +$lang['db_select_error2']=" thất bại!"; +$lang['file_open_error']="Lá»—i: Không thể mở file."; +$lang['progress_over_all']="Toàn bá»™ tiến trình"; +$lang['back_to_overview']="Tổng quan CÆ¡ sở dữ liệu"; +$lang['restore_run0']="
    Tính đến giá», %s bản ghi đã được thêm vào thành công."; +$lang['unknown_sqlcommand']="không hiểu lệnh SQL"; +$lang['notices']="Chú ý + + +"; + + +?> \ No newline at end of file diff --git a/language/vn/lang_sql.php b/language/vn/lang_sql.php new file mode 100644 index 0000000..8a65135 --- /dev/null +++ b/language/vn/lang_sql.php @@ -0,0 +1,183 @@ +%s dòng được xuất"; +$lang['csv_fieldcount_nomatch']="Việc đếm các TrÆ°á»ng không đồng nghÄ©a rằng dữ liệu xuất ra (%d thay vì %d)."; +$lang['csv_fieldslines']="%d TrÆ°á»ng được ghi nhận, tổng số %d dòng"; +$lang['csv_errorcreatetable']="Lá»—i trong khi tạo bảng `%s` !"; +$lang['fm_uploadfilerequest']="chá»n 1 file file."; +$lang['csv_nodata']="Không tìm thấy dữ liệu nhập vào!"; +$lang['sqllib_generalfunctions']="những chức năng chung"; +$lang['sqllib_resetauto']="chạy lại auto-increment (tá»± đánh số)"; +$lang['sqllib_boards']="Boards"; +$lang['sqllib_deactivateboard']="ngÆ°ng kích hoạt Board"; +$lang['sqllib_activateboard']="kích hoạt Board"; +$lang['sql_notablesselected']="ChÆ°a chá»n bảng !"; +$lang['tools']="Những công cụ"; +$lang['tools_toolbox']="Chá»n CSDL / Tính năng của CSDL / Nhập - Xuất "; +$lang['sql_openfile']="Mở SQL-File"; +$lang['sql_openfile_button']="Upload"; +$lang['max_upload_size']="Cỡ file tối Ä‘a"; +$lang['sql_search']="Tìm"; +$lang['sql_searchwords']="Từ khóa"; +$lang['start_sql_search']="bắt đầu tìm"; +$lang['reset_searchwords']="xóa"; +$lang['search_options']="Tùy chá»n tìm kiếm"; +$lang['search_results']="Kết quả tìm kiếm \"%s\" trong bảng \"%s\" nhÆ° sau"; +$lang['search_no_results']="Tìm kiếm cho \"%s\" trong bảng \"%s\" không mang lại bất cứ kết quả nào!"; +$lang['no_entries']="Bảng \"%s\" trống rá»—ng và không có bất kỳ mục vào nào."; +$lang['search_access_keys']="Duyệt: trở Ä‘i=ALT+V, trở lại=ALT+C"; +$lang['search_options_or']="Má»—i cá»™t phải có 1 từ khóa (OR-search)"; +$lang['search_options_concat']="má»™t dòng phải chứa tất cả các từ khóa trừ phi há» có thể trong bất kỳ cá»™t nào (thỉnh thoảng có thể ngoại lệ)"; +$lang['search_options_and']="cá»™t phải chứa tất cả từ khóa (AND-search)"; +$lang['search_in_table']="Tìm trong Bảng"; +$lang['sql_edit_tablestructure']="Sá»­a cấu trúc bảng"; +$lang['default_charset']="Äặt bảng làm mặc định + + +"; +$lang['title_key_primary']="Primary key"; +$lang['title_key_unique']="Unique key"; +$lang['title_index']="Index"; +$lang['title_key_fulltext']="Fulltext key"; +$lang['title_nokey']="No key"; +$lang['title_search']="Search"; +$lang['title_mysql_help']="MySQl Documentation"; +$lang['title_upload']="Upload SQL file"; +$lang['primaryKey_deleted']="Primary key deleted"; +$lang['primaryKey_notFound']="Primary key not found"; +$lang['primaryKeys_changed']="Primary keys changed"; +$lang['primaryKeys_changingError']="Error changing primary keys"; +$lang['sql_view_compact']="View: compact"; +$lang['sql_view_standard']="View: standard"; +$lang['fields_of_table']="Fields of table"; + + +?> \ No newline at end of file diff --git a/log.php b/log.php new file mode 100644 index 0000000..f769146 --- /dev/null +++ b/log.php @@ -0,0 +1,145 @@ +ERROR !
    Logdir is not writable

    '); + +//lesen +$errorbutton=''; +$perlbutton=''; +$perlbutton2=''; + +if (file_exists($loginfo['errorlog'])) $errorbutton=''; +if (file_exists($loginfo['perllog'])) $perlbutton=''; +if (file_exists($loginfo['perllogcomplete'])) $perlbutton2=''; + +//anzeigen +echo '
    '; +echo ''; +echo "\n" . $errorbutton . "\n" . $perlbutton . "\n" . $perlbutton2 . "\n"; +echo '

    '; + +//Status Logfiles +echo '
    '; +echo ''; +echo '
    ' . $lang['logfileformat'] . '

    ' . ( ( $config['logcompression'] == 1 ) ? 'compressed':'' ); +echo '' . ( ( $config['logcompression'] == 1 ) ? $lang['compressed']:$lang['notcompressed'] ) . '
          '; +echo '' . substr($loginfo['log'],strrpos($loginfo['log'],"/") + 1) . '
    '; +echo ( $loginfo['errorlog_size'] > 0 ) ? '' . substr($loginfo['errorlog'],strrpos($loginfo['errorlog'],"/") + 1) . '
    ':substr($loginfo['errorlog'],strrpos($loginfo['errorlog'],"/") + 1) . '
    '; +echo ( $loginfo['perllog_size'] > 0 ) ? '' . substr($loginfo['perllog'],strrpos($loginfo['perllog'],"/") + 1) . '
    ':substr($loginfo['perllog'],strrpos($loginfo['perllog'],"/") + 1) . '
    '; +echo ( $loginfo['perllogcomplete_size'] > 0 ) ? '' . substr($loginfo['perllogcomplete'],strrpos($loginfo['perllogcomplete'],"/") + 1) . '
    ':substr($loginfo['perllogcomplete'],strrpos($loginfo['perllogcomplete'],"/") + 1) . '
    '; +echo 'total
    ' . byte_output($loginfo['log_size']) . '
    ' . byte_output($loginfo['errorlog_size']) . '
    ' . byte_output($loginfo['perllog_size']) . '
    ' . byte_output($loginfo['perllogcomplete_size']) . '
    ' . byte_output($loginfo['log_totalsize']) . '
    ' . $lang['noreverse'] . '   ' . $lang['reverse'] . '
    '; + +$out=''; +if ($r != 2) $out.='
    ';
    +
    +if (file_exists($lfile))
    +{
    +	$zeilen=( $config['logcompression'] == 1 ) ? gzfile($lfile):file($lfile);
    +	if ($r == 30)
    +	{
    +		echo '
    ' . print_r($zeilen,true) . '
    '; + exit(); + } + if ($revers == 1) $zeilen=array_reverse($zeilen); + foreach ($zeilen as $zeile) + { + if ($r == 2) + { + $out.=$zeile . '
    '; + } + elseif ($r == 3) + { + $z=explode("|:|",$zeile); + for ($i=0; $i < count($z); $i++) + { + $out.='' . substr($z[$i],0,strpos($z[$i],": ")) . ' ' . substr($z[$i],strpos($z[$i],": ")) . "
    "; + } + } + else + $out.=$zeile; + } +} +if ($r != 2) $out.='
    '; + +$suchen=array( + + '', + '' +); +$ersetzen=array( + + '', + '' +); +$out=str_replace($suchen,$ersetzen,$out); + +if ($out != "") +{ + echo '

    '; + echo ''; + echo '

    ' . $out . '
    '; +} + +echo '
    '; +echo MSDFooter(); +?> diff --git a/main.php b/main.php new file mode 100644 index 0000000..ee69182 --- /dev/null +++ b/main.php @@ -0,0 +1,659 @@ +'; +$action=( isset($_GET['action']) ) ? $_GET['action'] : "status"; +$checkit=( isset($_GET['checkit']) ) ? urldecode($_GET['checkit']) : ""; +$repair=( isset($_GET['repair']) ) ? $_GET['repair'] : 0; + +if ($action == "deletehtaccess") +{ + @unlink($config['paths']['root'] . '.htaccess'); + @unlink($config['paths']['root'] . '.htpasswd'); + $action="status"; +} + +$is_htaccess=( file_exists("./.htaccess") ); +if ($is_htaccess) $htaccess_exist=file(".htaccess"); +$dba=$hta_dir=$Overwrite=$msg=""; + +//MySQL-Verbindung herstellen +MSD_mysql_connect(); + +if (isset($_POST['htaccess']) || $action == "schutz") +{ + if ($is_htaccess) $Overwrite='

    ' . $lang['htaccess8'] . '

    '; + $cry_txt=array( + + $lang['htaccess5'], + $lang['htaccess6'], + $lang['htaccess7'] + ); + $step=( isset($_POST['step']) ) ? $_POST['step'] : 0; + $cryptart=( isset($_POST['cryptart']) ) ? $_POST['cryptart'] : 0; + $uname=( isset($_POST['username']) ) ? $_POST['username'] : ""; + $upass1=( isset($_POST['userpass1']) ) ? $_POST['userpass1'] : ""; + $upass2=( isset($_POST['userpass2']) ) ? $_POST['userpass2'] : ""; + + if ($step == 1) + { + $msg=""; + if ($uname == "") $msg=$lang['htaccess9']; + if (( $upass1 != $upass2 ) || ( $upass1 == "" )) $msg.=$lang['htaccess10']; + if ($msg != "") + { + $msg='

    ' . $msg . '

    '; + $step=0; + } + else + { + $msg='

    ' . $lang['htaccess11'] . '

    '; + } + } + elseif ($step == 2) + { + $htaccess="AuthName \"MySQLDumper\"\nAuthType Basic\nAuthUserFile \"" . $config['paths']['root'] . ".htpasswd\"\nrequire valid-user\n"; + if ($cryptart == 0) $userpass=crypt($upass1,CRYPT_STD_DES); + elseif ($cryptart == 1) $userpass=md5($upass1); + else $userpass=$upass1; + $htpasswd=$uname . ":" . $userpass; + @chmod($config['paths']['root'],0777); + + if ($file_htpasswd=@fopen(".htpasswd","w")) + { + fputs($file_htpasswd,$htpasswd); + fclose($file_htpasswd); + $file_htaccess=@fopen(".htaccess","w"); + fputs($file_htaccess,$htaccess); + fclose($file_htaccess); + $msg=$lang['htaccess12'] . '


    ' . $lang['htaccess13'] . ' .htaccess:' . "\n" . htmlspecialchars($htaccess) . '


    ' . $lang['htaccess13'] . ' .htpasswd:' . "\n" . htmlspecialchars($htpasswd) . "
    "; + @chmod($config['paths']['root'],0755); + } + else + { + $msg='

    ' . $lang['htaccess14'] . '


    ' . $lang['htaccess13'] . ' .htaccess:' . "\n" . htmlspecialchars($htaccess) . '


    ' . $lang['htaccess13'] . ' .htpasswd:' . "\n" . htmlspecialchars($htpasswd) . '
    '; + } + } + + //Ausgabe + echo headline($lang['htaccess1']) . $Overwrite; + if ($step < 2) + { + + if ($step == 0) + { + $un=''; + $p1=''; + $p2=''; + $cry='' . $cry_txt[0] . '  '; + $cry.='' . $cry_txt[1] . '  '; + $cry.='' . $cry_txt[2] . '  '; + + } + else + { + $un=$uname . ''; + $p1='***************'; + $p2='***************'; + $cry='' . $cry_txt[$cryptart]; + } + echo $msg . '
    '; + echo ''; + echo '
    Name' . $un . '
    ' . $lang['htaccess2'] . '' . $p1 . '
    ' . $lang['htaccess3'] . '' . $p2 . '
    ' . $lang['htaccess4'] . ' ' . $cry . '

    '; + echo '
    '; + + } + else + echo $msg; + echo "











    "; + include ( "inc/footer.php" ); + die(); + +} + +if ($action == "edithtaccess") +{ + $htaccessdontexist=0; + + if (( isset($_GET['create']) && $_GET['create'] == 1 ) || ( isset($_POST['create']) && $_POST['create'] == 1 )) + { + $fp=fopen("$hta_dir.htaccess","w"); + fwrite($fp,"# created by MySQLDumper " . MSD_VERSION . "\n"); + fclose($fp); + } + if (isset($_POST['newload'])) + { + $hta_dir=( isset($_POST['newhtadir']) ) ? $_POST['newhtadir'] : ""; + } + else + $hta_dir=( isset($_POST['hta_dir']) ) ? $_POST['hta_dir'] : ""; + if ($hta_dir != "" && substr($hta_dir,-1) != "/") $hta_dir.="/"; + + if (isset($_POST['submit']) && isset($_POST['thta'])) + { + $fp=fopen("$hta_dir.htaccess","w"); + fwrite($fp,$_POST['thta']); + fclose($fp); + } + if (file_exists("$hta_dir.htaccess")) + { + $htaccess_exist=file("$hta_dir.htaccess"); + } + else + { + $htaccessdontexist=1; + } + + echo headline($lang['htaccess16']); + echo $lang['htaccess32']; + echo '
    File: .htaccess   '; + if ($htaccessdontexist != 1) + { + echo '


    '; + echo '
    '; + //Presets + echo '
    Presets

    ' . $lang['htaccess30'] . '

    + all-inkl
    + +

    ' . $lang['htaccess31'] . '

    + ' . $lang['htaccess20'] . '
    + ' . $lang['htaccess21'] . '
    + ' . $lang['htaccess22'] . '
    + ' . $lang['htaccess23'] . '
    + ' . $lang['htaccess24'] . '
    + ' . $lang['htaccess25'] . '
    + ' . $lang['htaccess26'] . '
    + ' . $lang['htaccess27'] . '
    + ' . $lang['htaccess28'] . '
    +
    ' . $lang['htaccess29'] . ''; + echo '
    ' . $lang['htaccess18'] . '
    '; + echo '   '; + echo '   '; + echo '
    '; + } + else + { + echo '

    ' . $hta_dir . '.htaccess existiert nicht. Soll sie erstellt werden ?

    '; + echo '
    '; + } + echo '
    ' . $lang['back'] . ''; + exit(); +} + +if ($action == "phpinfo") +{ + phpinfo(); + echo '

    Home

    '; + exit(); +} + +if ($action == "db") +{ + for ($i=0; $i < count($databases['Name']); $i++) + { + if (isset($_POST['empty' . $i])) + { + EmptyDB($databases['Name'][$i]); + $dba='

    ' . $lang['db'] . " " . $databases['Name'][$i] . " " . $lang['info_cleared'] . "

    "; + break; + } + if (isset($_POST['kill' . $i])) + { + $res=mysql_query("DROP DATABASE `" . $databases['Name'][$i] . "`") or die(mysql_error() . ""); + $dba='

    ' . $lang['db'] . " " . $databases['Name'][$i] . " " . $lang['info_deleted'] . "

    "; + SetDefault(); + include ( $config['files']['parameter'] ); + echo ''; + break; + } + if (isset($_POST['optimize' . $i])) + { + mysql_select_db($databases['Name'][$i],$config['dbconnection']); + $res=mysql_list_tables($databases['Name'][$i],$config['dbconnection']); + $tabellen=''; + WHILE ($row=mysql_fetch_row($res)) + $tabellen.='`' . $row[0] . '`,'; + $tabellen=substr($tabellen,0,( strlen($tabellen) - 1 )); + if ($tabellen > "") + { + $query="OPTIMIZE TABLE " . $tabellen; + $res=mysql_query($query) or die(mysql_error() . ""); + } + $_GET['dbid']=$i; + $dba='

    ' . $lang['db'] . ' ' . $databases['Name'][$i] . ' ' . $lang['info_optimized'] . '.

    '; + break; + } + if (isset($_POST['check' . $i])) + { + $checkit="ALL"; + $_GET['dbid']=$i; + } + } +} + +//Hier beginnt die Ausgabe +echo headline('Home'); +echo '
    '; + +if ($action == "status") +{ + //Infos ueber Backups + $Sum_Files=$Sum_Size=0; + $Last_BU=Array(); + $sm=( $config['safe_mode'] == 1 ) ? " (Safemode)" : ""; + + $dh=opendir($config['paths']['backup']); + while (false !== ( $filename=readdir($dh) )) + { + if ($filename != "." && $filename != ".." && !is_dir($config['paths']['backup'] . $filename)) + { + $files[]=$filename; + $Sum_Files++; + $Sum_Size+=filesize($config['paths']['backup'] . $filename); + $ft=filectime($config['paths']['backup'] . $filename); + if (!isset($Last_BU[2]) || ( isset($Last_BU[2]) && $ft > $Last_BU[2] )) + { + $Last_BU[0]=$filename; + $Last_BU[1]=date("d.m.Y H:i",$ft); + $Last_BU[2]=$ft; + } + } + } + + $status='
    ' . $lang['Statusinformationen'] . '
    '; + $status.=DirectoryWarnings(); + //Versionen + $status.='
    ' . $lang['Versionsinformationen'] . '
    '; + $status.='love your data'; + + $status.='MySQLDumper-Version: ' . MSD_VERSION . '
    '; + $status.='OS: ' . MSD_OS . ' (' . MSD_OS_EXT . ')
    '; + $status.='MySQL-Version: ' . MSD_MYSQL_VERSION . '
    '; + $status.='PHP-Version: ' . PHP_VERSION . ' Speicher: ' . $config['php_ram'] . ' MB ' . ( ( $config['zlib'] ) ? '' : '  ' . $lang['phpbug'] . '.  ' ) . $sm . '  '; + $status.='Max Execution Time: ' . $config['max_execution_time'] . ' sec.  [PHP-Info]  '; + $status.='
    PHP-Extensions: ' . $config['phpextensions'] . '
    '; + + if ($config['disabled'] != "") $status.='
    ' . $lang['disabledfunctions'] . ': ' . str_replace(',',', ',$config['disabled']) . ''; + if (!extension_loaded("ftp")) $status.='
    ' . $lang['noftppossible'] . ''; + if (!$config['zlib']) $status.='   
    ' . $lang['nogzpossible'] . '
    '; + + //MySQLDumper Informationen + $status.='
    ' . $lang['MySQL Dumper Informationen'] . '
    ' . $lang['info_location'] . ' "' . $_SERVER['SERVER_NAME'] . '" (' . ( $config['paths']['root'] ) . ')
    '; + $status.=$lang['info_actdb'] . ": " . $databases['db_actual'] . "
    "; + if ($is_htaccess) + { + $status.='' . $lang['htaccess16'] . ''; + $status.=' ' . $lang['delete_htaccess'] . ''; + } + else + { + $status.='' . $lang['htaccess1'] . '  ' . $lang['htaccess15'] . ''; + } + //History + $status.='
    History
    ' . $lang['backupfilesanzahl'] . ' ' . $Sum_Files . ' Backups (' . byte_output($Sum_Size) . ')
    '; + + $status.=$lang['fm_freespace'] . ': ' . MD_FreeDiskSpace() . '
    '; + if ($Sum_Files > 0) $status.=$lang['lastbackup'] . ' ' . $lang['vom'] . ' ' . ( ( isset($Last_BU[1]) ) ? $Last_BU[1] : " - " ) . '
    +      ' . ( ( isset($Last_BU[1]) ) ? '' : " - " ) . '' . ( ( isset($Last_BU[0]) ) ? $Last_BU[0] : " - " ) . '
    '; + echo $status; +} +elseif ($action == "db") +{ + + //Datenbanken + echo '
    ' . $lang['info_databases'] . '
    '; + echo $dba . ''; + echo ''; + if (!isset($config['dbconnection'])) MSD_mysql_connect(); + + for ($i=0; $i < count($databases['Name']); $i++) + { + //gibts die Datenbank überhaupt? + if (!mysql_select_db($databases['Name'][$i],$config['dbconnection'])) + { + echo ''; + } + else + { + mysql_select_db($databases['Name'][$i],$config['dbconnection']); + $tabellen=mysql_query("SHOW TABLES FROM `" . $databases['Name'][$i] . "`",$config['dbconnection']); + $num_tables=mysql_num_rows($tabellen); + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + if ($i == $databases['db_selected_index']) $cl="dbrowsel"; + echo ''; + echo ''; + } + } + echo '
    ' . $lang['dbs'] . '' . $lang['tables'] . '
    ' . $databases['Name'][$i] . '' . $lang['info_nodb'] . '
    '; + echo ( $i == $databases['db_selected_index'] ) ? "" . $databases['Name'][$i] . "" : $databases['Name'][$i]; + echo '' . $num_tables . ' ' . $lang['info_table1']; + echo ( $num_tables > 1 ) ? $lang['info_table2'] : ''; + echo '



    '; + echo '
    '; +} +elseif ($action == "sys") +{ + $sysaction=( isset($_GET['dosys']) ) ? $_GET['dosys'] : 0; + $msg=""; + $res=@mysql_query("SHOW VARIABLES LIKE 'datadir'",$config['dbconnection']); + if ($res) + { + $row=mysql_fetch_array($res); + $data_dir=$row[1]; + } + switch ($sysaction) + { + case 1: //FLUSH PRIVILEGES + $msg="> operating FLUSH PRIVILEGES
    "; + $res=@mysql_query("FLUSH PRIVILEGES",$config['dbconnection']); + $meldung=mysql_error($config['dbconnection']); + if ($meldung != "") + { + $msg.='> MySQL-Error: ' . $meldung; + } + else + { + $msg.="> Privileges were reloaded."; + } + break; + case 2: //FLUSH STATUS + $msg="> operating FLUSH STATUS
    "; + $res=@mysql_query("FLUSH STATUS",$config['dbconnection']); + $meldung=mysql_error($config['dbconnection']); + if ($meldung != "") + { + $msg.='> MySQL-Error: ' . $meldung; + } + else + { + $msg.="> Status was reset."; + } + break; + case 3: //FLUSH HOSTS + $msg="> operating FLUSH HOSTS
    "; + $res=@mysql_query("FLUSH HOSTS",$config['dbconnection']); + $meldung=mysql_error($config['dbconnection']); + if ($meldung != "") + { + $msg.='> MySQL-Error: ' . $meldung; + } + else + { + $msg.="> Hosts were reloaded."; + ; + } + break; + case 4: //SHOW MASTER LOGS + $msg="> operating SHOW MASTER LOGS
    "; + $res=@mysql_query("SHOW MASTER LOGS",$config['dbconnection']); + $meldung=mysql_error($config['dbconnection']); + if ($meldung != "") + { + $msg.='> MySQL-Error: ' . $meldung; + } + else + { + $numrows=mysql_num_rows($res); + if ($numrows == 0 || $numrows === false) + { + $msg.='> there are no master log-files'; + } + else + { + $msg.='> there are ' . $numrows . ' logfiles
    '; + for ($i=0; $i < $numrows; $i++) + { + $row=mysql_fetch_row($res); + $msg.='> ' . $row[0] . '   ' . ( ( $data_dir ) ? byte_output(@filesize($data_dir . $row[0])) : '' ) . '
    '; + } + } + } + break; + case 5: //RESET MASTER + $msg="> operating RESET MASTER
    "; + $res=@mysql_query("RESET MASTER",$config['dbconnection']); + $meldung=mysql_error($config['dbconnection']); + if ($meldung != "") + { + $msg.='> MySQL-Error: ' . $meldung; + } + else + { + $msg.="> All Masterlogs were deleted."; + } + break; + } + echo '
    ' . $lang['mysqlsys'] . '
    '; + echo ''; + echo '
    '; + echo '> MysSQL Dumper v' . MSD_VERSION . ' - Output Console

    '; + echo ( $msg != "" ) ? $msg : '> waiting for operation ...
    '; + echo '
    '; +} +elseif ($action == "vars") +{ + $var=( isset($_GET['var']) ) ? $_GET['var'] : "prozesse"; + $Titelausgabe=array( + + "variables" => $lang['Variabeln'], + "status" => $lang['Status'], + "prozesse" => $lang['Prozesse'] + ); + echo '
    ' . $lang['mysqlvars'] . '
    ' . $Titelausgabe[$var] . '    '; + echo '' . $lang['Prozesse'] . '   '; + echo '' . $lang['Status'] . '   '; + echo '' . $lang['Variabeln'] . '   '; + + echo '

     

    '; + //Variabeln + switch ($var) + { + case "variables": + $res=@mysql_query("SHOW variables"); + if ($res) $numrows=mysql_num_rows($res); + if ($numrows == 0) + { + echo $lang['info_novars']; + } + else + { + echo ''; + for ($i=0; $i < $numrows; $i++) + { + $row=mysql_fetch_array($res); + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + echo ''; + } + } + echo '
    Name' . $lang['Inhalt'] . '
    ' . $row[0] . '' . $row[1] . '
    '; + break; + case "status": + $res=@mysql_query("SHOW STATUS"); + if ($res) $numrows=mysql_num_rows($res); + if ($numrows == 0) + { + echo $lang['info_nostatus']; + } + else + { + echo ''; + for ($i=0; $i < $numrows; $i++) + { + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + $row=mysql_fetch_array($res); + echo ''; + } + } + echo '
    Name' . $lang['Inhalt'] . '
    ' . $row[0] . '' . $row[1] . '
    '; + break; + case "prozesse": + if ($config['processlist_refresh'] < 1000) $config['processlist_refresh']=2000; + if (isset($_GET['killid']) && $_GET['killid'] > 0) + { + $killid=( isset($_GET['killid']) ) ? $_GET['killid'] : 0; + $wait=( isset($_GET['wait']) ) ? $_GET['wait'] : 0; + if ($wait == 0) + { + $ret=mysql_query("KILL " . $_GET['killid']); + $wait=2; + } + else + $wait+=2; + + if ($wait == 0) + { + echo '

    ' . $lang['processkill1'] . $_GET['killid'] . $lang['processkill2'] . $ret . '

    '; + } + else + { + echo '

    ' . $lang['processkill3'] . $wait . $lang['processkill4'] . $_GET['killid'] . $lang['processkill2'] . $ret . '

    '; + } + + } + + $killid=$wait=0; + $res=@mysql_query("SHOW FULL PROCESSLIST "); + if ($res) $numrows=mysql_num_rows($res); + if ($numrows == 0) + { + echo $lang['info_noprocesses']; + } + else + { + echo ''; + for ($i=0; $i < $numrows; $i++) + { + $cl=( $i % 2 ) ? "dbrow" : "dbrow1"; + $row=mysql_fetch_array($res); + echo ' + + + '; + if ($row[0] == $killid && $row[4] == "Killed") + { + $wait=$killid=0; + } + } + } + echo '
    IDUserHostDBCommandTimeStateInfoRT: ' . round($config['processlist_refresh'] / 1000) . ' sec
    ' . $row[0] . '' . $row[1] . '' . $row[2] . '' . $row[3] . '' . $row[4] . '' . $row[5] . '' . $row[6] . '' . $row[7] . 'kill
    '; + echo '
    + + + +
    '; + echo ''; + + break; + } +} + +//Datenbankdetails +if (isset($_GET['dbid'])) +{ + $dbid=$_GET['dbid']; + echo '
    ' . $lang['info_dbdetail'] . '"' . $databases['Name'][$dbid] . '"
    '; + + $res=@mysql_query("SHOW TABLE STATUS FROM `" . $databases['Name'][$dbid] . "`"); + mysql_select_db($databases['Name'][$dbid]); + if ($res) $numrows=mysql_num_rows($res); + if ($numrows == 0) + { + echo $lang['info_dbempty']; + + } + else + { + echo $numrows . ' ' . $lang['info_table1']; + echo ( $numrows > 1 ) ? $lang['info_table2'] : ''; + echo "\n" . '
    ' . '' . "\n"; + $last_update="2000-01-01 00:00:00"; + $s=$s1=$s2=""; + for ($i=0; $i < $numrows; $i++) + { + $row=mysql_fetch_array($res); + + // Get nr of records -> need to do it this way because of incorrect returns when using InnoDBs + $sql_2="SELECT count(*) as `count_records` FROM `" . $databases['Name'][$dbid] . "`.`" . $row['Name'] . "`"; + $res2=@mysql_query($sql_2); + if ($res2 === false) + { + echo "\n" . ''; + echo ''; + echo ''; + } + + echo ''; + if (isset($row['Update_time'])) if (strtotime($row['Update_time']) > strtotime($last_update)) $last_update=$row['Update_time']; + $s1=$s1 + $row['Rows']; + $s2=$s2 + $row['Data_length'] + $row['Index_length']; + } + echo ''; + echo '
    Nr.' . $lang['info_table1'] . '' . $lang['info_records'] . '' . $lang['info_size'] . '' . $lang['info_lastupdate'] . '' . $lang['info_optimized'] . 'Status
    ' . ( $i + 1 ) . '' . $row['Name'] . '' . $lang['unknown_number_of_records'] . ''; + echo ' ' . $lang['no'] . ' '; + $akt_size=0; + } + else + { + $row2=mysql_fetch_array($res2); + $row['Rows']=$row2['count_records']; + + $akt_size=$row['Data_length'] + $row['Index_length']; + $cl=( $i % 2 ) ? 'dbrow' : 'dbrow1'; + echo "\n" . '
    ' . ( $i + 1 ) . '' . $row['Name'] . '' . number_format($row['Rows'],0,",",".") . '' . byte_output($akt_size) . ' ' . $row['Update_time'] . ''; + if ($row['Data_free'] == 0) echo ''; + else echo ' ' . $lang['no'] . ' '; + echo ''; + if ($checkit == $row['Name'] || $repair == 1) + { + $tmp_res=mysql_query("REPAIR TABLE `" . $row['Name'] . "`"); + } + if (( $checkit == $row['Name'] || $checkit == "ALL" )) // && $akt_size>0) + { + $tmp_res=mysql_query("CHECK TABLE `" . $row['Name'] . "`"); + if ($tmp_res) + { + $tmp_row=mysql_fetch_row($tmp_res); + if ($tmp_row[3] != 'OK') echo $tmp_row[3] . '
    '; + echo ( $tmp_row[3] == "OK" ) ? '' : ' repair '; + } + else + echo "CHECK TABLE `" . $row['Name'] . "`"; + } + else + { + if ($akt_size > 0) echo 'check'; + else echo "-"; + } + echo '
    ' . $lang['info_sum'] . '' . number_format($s1,0,",",".") . '' . byte_output($s2) . '' . $last_update . ' 
    '; + } + $edb=$lang['info_emptydb1'] . ' `' . $databases['Name'][$dbid] . '` ' . $lang['info_emptydb2']; + $kdb=$lang['info_emptydb1'] . ' `' . $databases['Name'][$dbid] . '` ' . $lang['info_killdb']; + + echo '
    '; + if ($numrows > 0) echo ''; + echo ''; + if ($numrows > 0) + { + echo ''; + echo ''; + } + echo '
    '; +} +echo MSDFooter(); +; + +?> \ No newline at end of file diff --git a/menu.php b/menu.php new file mode 100644 index 0000000..1d7e7f7 --- /dev/null +++ b/menu.php @@ -0,0 +1,206 @@ + + if (parent.MySQL_Dumper_content.location.href.indexOf("config_overview.php")!=-1) + { + var selected_div=parent.MySQL_Dumper_content.document.getElementById("sel").value; + } + else selected_div=\'\'; + parent.MySQL_Dumper_content.location.href=\'config_overview.php?config=' . urlencode($new_config) . '&sel=\'+selected_div'; + } + if (isset($_GET['config'])) $config_refresh=''; //Neu-Aufruf bei Uebergabe aus Content-Bereich verhindern + } +} + +$pagerefresh=' +'; + +//Ausgabestart +echo MSDHeader(1); +echo headline('',0); + +if ($config_refresh > '') echo $config_refresh; + +// Sprache gewechselt? +if ($config['language'] != $lang_old) +{ + echo ''; +} + +if (isset($_GET['action'])) +{ + if ($_GET['action'] == 'dbrefresh') + { + // DB-Namen merken + $old_dbname=isset($databases['Name'][$databases['db_selected_index']]) ? $databases['Name'][$databases['db_selected_index']] : ''; + SetDefault(); + // jetzt nachschauen, ob es den DB-Namen noch gibt + $old_dbs=array_flip($databases['Name']); + if (isset($old_dbs[$old_dbname])) SelectDB($old_dbs[$old_dbname]); + else SelectDB(0); + echo $pagerefresh; + } +} + +if (isset($_POST['dbindex'])) +{ + $dbindex=$_POST['dbindex']; + $databases['db_selected_index']=$dbindex; + SelectDB($dbindex); + WriteParams(0); + echo $pagerefresh; +} +else + $dbindex=0; + +?> +MySQL Dumper - Homepage +
    + +
    :
    + +
    +
    : + 0) +{ + echo ''; +} +else + echo $lang['none'] . '
    '; +?> +

    +
    +
    +
    +

    +
    +
    + +setMenuActive(\'m2\');parent.MySQL_Dumper_content.location.href=\'./config_overview.php\';'; +} +else + echo ''; +?> + + + \ No newline at end of file diff --git a/msd_cron/crondump.pl b/msd_cron/crondump.pl new file mode 100644 index 0000000..e1da830 --- /dev/null +++ b/msd_cron/crondump.pl @@ -0,0 +1,1185 @@ +#!/usr/bin/perl -w +######################################################################################## +# MySQLDumper CronDump +# +# 2004-2009 by Steffen Kamper, Daniel Schlichtholz +# additional scripting: Detlev Richter +# +# for support etc. visit http://www.mysqldumper.de/board +# (c) GNU General Public License +######################################################################################## +# Script-Version +$pcd_version="1.23"; + +######################################################################################## +# please enter the absolute path of the config-dir +# when calling the script without parameters the default_configfile (mysqldumper.conf.php) will be loaded +# e.g. - (zum Beispiel): +# my $absolute_path_of_configdir="/home/www/doc/8176/mysqldumper.de/www/mysqldumper/work/config/"; + +my $absolute_path_of_configdir=""; +my $cgibin_path=""; # this is needed for MIME::Lite if it is in cgi-bin +my $default_configfile="mysqldumper.conf.php"; + +######################################################################################## +# nothing to edit below this line !!! +######################################################################################## +# import the necessary modules ... +use strict; +use warnings; +use DBI; +use File::Find; +use File::Basename; +use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +warningsToBrowser(1); +use CGI; +use Data::Dumper; + +######################################################################################## +use vars qw( +$pcd_version $dbhost $dbname $dbuser $dbpass $dbport $dbsocket +$cron_dbindex @cron_db_array @ftp_server $dbpraefix @cron_dbpraefix_array +$compression $backup_path $logdatei $completelogdatei $nl $command_beforedump $command_afterdump +$cron_printout $cronmail $cronmail_dump $cronmailto $cronmailto_cc $cronmailfrom +$cronftp $mp $multipart_groesse $email_maxsize +$auto_delete $max_backup_files $perlspeed $optimize_tables_beforedump $result +@key_value $pair $key $value $conffile @confname $logcompression $log_maxsize $complete_log +$starttime $Sekunden $Minuten $Stunden $Monatstag $Monat $Jahr $Wochentag $Jahrestag $Sommerzeit +$rct $tabelle @tables @tablerecords $dt $sql_create @ergebnis @ar $sql_daten $inhalt +$insert $totalrecords $error_message $cfh $oldbar $print_out $msg $dt $ftp $dateistamm $dateiendung +$mpdatei $i $BodyNormal $BodyMultipart $BodyToBig $BodyNoAttach $BodyAttachOnly $Body $DoAttach $cmt $part $fpath $fname +$fmtime $timenow $daydiff $datei $inh $gz $search $fdbname @str $item %dbanz $anz %db_dat +$fieldlist $first_insert $my_comment $sendmail_call $config_read_from +$cron_smtp $cron_smtp_port $cron_use_sendmail $v1 $v2 +@ftp_transfer @ftp_timeout @ftp_user @ftp_pass @ftp_dir @ftp_server @ftp_port @ftp_mode +$output $query $skip $html_output $datei +@trash_files $time_stamp @filearr $sql_file $backupfile $memory_limit $dbh $sth @db_array +@dbpraefix_array @cron_command_before_dump @cron_command_after_dump $db_anz +$record_count $filesize $status_start $status_end $sql_text $punktzaehler @backupfiles_name +@backupfiles_size $mysql_commentstring $character_set $mod_gz $mod_mime $mod_ftp +@multipartfiles %db_tables @tablenames $tablename $opttbl $command +); + +$memory_limit=100000; +$mysql_commentstring="-- "; +$character_set="utf8"; +$sql_text=''; +$sql_file=''; +$punktzaehler=0; +@trash_files=(); +@filearr=(); +$opttbl=0; +$dbpraefix=""; + +# import the optional modules ... +my $eval_in_died; +$mod_gz=0; +$mod_ftp=0; +$mod_mime=0; +push (@INC, "$cgibin_path"); + +eval { $eval_in_died = 1; require Compress::Zlib; }; +if(!$@){ + $mod_gz = 1; + import Compress::Zlib; +} +eval { $eval_in_died = 1; require Net::FTP; }; +if(!$@){ + $mod_ftp = 1; + import Net::FTP; +} +eval { $eval_in_died = 1; require MIME::Lite; }; +if(!$@){ + $mod_mime = 1; + import MIME::Lite; +} + +#include config file +$conffile=""; + +use Getopt::Long; +GetOptions ("config=s" => \$conffile, + "html_output=s" => \$html_output); +if (!defined $html_output) { $html_output=0; }; # suppress HTML Output + +if(trim($conffile) ne "") +{ + $config_read_from="shell"; +} + +if($ENV{QUERY_STRING}) { + $html_output=1; # turn HTML Output on if called via Browser-Request + my $querystring=$ENV{QUERY_STRING}; + #$querystring=~ s/\?/ /g; + @key_value = split(/&/,$querystring); + foreach $pair(@key_value) + { + #$pair =~ tr/+/ /; + ($key,$value) = split(/=/,$pair); + if($key eq "config") + { + $value=~ s/\?/ /g; + $conffile=$value; + $config_read_from="Querystring"; + } + if($key eq "html_output") { $html_output=$value; }; # overwrite var if given in call + } +} + + +$conffile=trim($conffile); +if($conffile eq "") +{ + $conffile=$default_configfile; # no Parameter for configfile given -> use standardfile "mysqldumper.php.conf" + $config_read_from="standard configuration"; +} + +# Security: try to detect wether someone tries to include some external configfile +die "Hacking attempt - I wont do anything!\nGo away\n\n" if (lc($conffile) =~ m /:/); + +#try to guess path if $absolute_path_of_configdir is not filled +if($absolute_path_of_configdir eq "" || ! -d $absolute_path_of_configdir) +{ + #get full path + #regex from http://www.perlmonks.org/?node_id=47035 + + if ($0=~m#^(.*)\\#) { + #windows + $absolute_path_of_configdir = "$1"."work\\config\\"; + } elsif ($0=~m#^(.*)/# ) { + #*nix + $absolute_path_of_configdir = "$1"."work/config/"; + } + + $absolute_path_of_configdir =~ s/msd\_cron//g; +} + +# check config-dir +$absolute_path_of_configdir=trim($absolute_path_of_configdir); # remove spaces +opendir(DIR, $absolute_path_of_configdir) or die "The config-directory you entered is wrong !\n($absolute_path_of_configdir - $!) \n\nPlease edit the crondump.pl and enter the right configuration-path.\n\n"; +closedir(DIR); +my $abc=length($absolute_path_of_configdir)-1; +my $defed=substr($absolute_path_of_configdir,$abc,1); +if($defed ne "/") { + $absolute_path_of_configdir=$absolute_path_of_configdir."/"; +} + +if (substr($conffile,length($conffile)-5,5) eq '.conf') { $conffile.='.php'; }; +if (substr($conffile,length($conffile)-9,9) ne '.conf.php') { $conffile.='.conf.php'; }; + +$datei=$absolute_path_of_configdir.$conffile; + +open(CONFIG,"<$datei") or die "\nI couldn't open the configurationfile:".$datei."\nFile not found or not accessible!\n\n"; +while (my $line = ) +{ + chomp($line); + if ($line ne '' && substr($line,0,1) ne '#') + { + eval($line); + } +} +close(CONFIG); + +if ($html_output==1) { $cron_printout=1; }; # overwrite output if HTML-Output is activated + +@confname=split(/\//,$conffile); +# Output Headers +PrintHeader(); + +PrintOut("Configurationfile '".$conffile."' was loaded successfully from ".$config_read_from." ."); +if($mod_gz==1) { + PrintOut("Compression Library loaded successfully..."); +} else { + $compression=0; + PrintOut("Compression Library loading failed - Compression deactivated ..."); +} +if($mod_ftp==1) { + PrintOut("FTP Library loaded successfully..."); +} else { + $cronftp=0; + PrintOut("FTP Library loading failed - FTP deactivated ..."); +} +if($mod_mime==1) { + PrintOut("Mail Library loaded successfully..."); +} else { + $cronmail=0; + PrintOut("Mail Library loading failed - Mail deactivated ..."); +} + +#teste Zugriff auf logfile +write_log("Starting backup using Perlscript version $pcd_version (configuration $conffile)\n"); + +#Jetzt den Dump anschmeissen +# mal schauen, obs mehrere DB's sind +if($cron_dbindex> -1) +{ + $dbpraefix=$cron_dbpraefix_array[$cron_dbindex]; + ExecuteCommand(1,$cron_command_before_dump[$cron_dbindex]); + DoDump(); + ExecuteCommand(2,$cron_command_after_dump[$cron_dbindex]); +} +else +{ + $db_anz=@cron_db_array; + for(my $ii = 0; $ii < $db_anz; $ii++) { + if ($mp>0) { $mp=1; } # Part-Reset if using Multipart (for next database) + $dbname=$cron_db_array[$ii]; + $dbpraefix=$cron_dbpraefix_array[$ii]; + PrintOut("
    Starting backup ".($ii+1)." of $db_anz (database `$dbname` ".(($dbpraefix ne "") ? "- looking for tables with prefix '$dbpraefix')" : ")")); + ExecuteCommand(1,$cron_command_before_dump[$ii]); + DoDump(); + ExecuteCommand(2,$cron_command_after_dump[$ii]); + } + PrintOut("
    ALL $db_anz BACKUPS ARE DONE!!!"); +} + +if($auto_delete>0) { + #Autodelete Count + if($max_backup_files>0) + { + PrintOut("
    Starting autodelete function:
    Keep the latest $max_backup_files backup files for each database and delete older ones."); + find(\&AutoDeleteCount, $backup_path); + DoAutoDeleteCount(); + DeleteFiles (\@trash_files); + } +} +closeScript(); +if ($html_output==0) { print "\nEnd of Cronscript\n"; } + +############################################## +# Subroutinen # +############################################## +sub DoDump { + undef(%db_tables); + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); + $Jahr+=1900;$Monat+=1;$Jahrestag+=1; + my $CTIME_String = localtime(time); + my $ret=0; + $time_stamp=$Jahr."_".sprintf("%02d",$Monat)."_".sprintf("%02d",$Monatstag)."_".sprintf("%02d",$Stunden)."_".sprintf("%02d",$Minuten); + $starttime= sprintf("%02d",$Monatstag).".".sprintf("%02d",$Monat).".".$Jahr." ".sprintf("%02d",$Stunden).":".sprintf("%02d",$Minuten); + $fieldlist=""; + # Verbindung mit MySQL herstellen, $dbh ist das Database Handle + if (trim($dbsocket) eq "") + { + $dbh = DBI->connect("DBI:mysql:$dbname:$dbhost:$dbport","$dbuser","$dbpass") || die "Database connection not made: $DBI::errstr"; + } + else + { + $dbh = DBI->connect("DBI:mysql:$dbname:$dbhost:$dbport;mysql_socket=$dbsocket","$dbuser","$dbpass") || die "Database connection not made: $DBI::errstr"; + } + # herausfinden welche Mysql-Version verwendet wird + $sth = $dbh->prepare("SELECT VERSION()"); + $sth->execute; + my @mysql_version=$sth->fetchrow; + my @v=split(/\./,$mysql_version[0]); + + if($v[0]>=5 || ($v[0]>=4 && $v[1]>=1) ) + { + #mysql Version >= 4.1 + $sth = $dbh->prepare("SET NAMES '".$character_set."'"); + $sth->execute; + # get standard encoding of MySQl-Server + $sth = $dbh->prepare("SHOW VARIABLES LIKE 'character_set_connection'"); + $sth->execute; + @ar=$sth->fetchrow; + $character_set=$ar[1]; + PrintOut("Characterset of connection and backup file set to ".$character_set."."); + } + else + { + # mysql Version < 4.1 -> no SET NAMES available + # get standard encoding of MySQl-Server + $sth = $dbh->prepare("SHOW VARIABLES LIKE 'character_set'"); + $sth->execute; + @ar=$sth->fetchrow; + if (defined($ar[1])) { $character_set=$ar[1]; } + PrintOut("Characterset of connection is ".$character_set."."); + } + + + #Statuszeile erstellen + my $t=0; + my $r=0; + my $st_e="\n"; + undef(@tables); + undef(@tablerecords); + my $value=0; + my $engine=''; + my $query="SHOW TABLE STATUS FROM `$dbname`"; + if ($dbpraefix ne "") + { + $query.=" LIKE '$dbpraefix%'"; + PrintOut("Searching for tables inside database `$dbname` with prefix '$dbpraefix'"); + } + else + { + PrintOut("Searching for tables inside database `$dbname`"); + } + $sth = $dbh->prepare($query); + $sth->execute || err_trap("Error executing: ".$query." ! MySQL-Error: ".$DBI::errstr); + while ( $value=$sth->fetchrow_hashref()) + { + $value->{skip_data}=0; #defaut -> backup data of table + # decide if we need to skip the data while dumping (VIEWs and MEMORY) + + # check for old MySQL3-Syntax Type=xxx + if (defined $value->{Type}) + { + # port old index type to index engine, so we can use the index Engine in the rest of the script + $value->{Engine}=$value->{Type}; + $engine=uc($value->{Type}); + if ($engine eq "MEMORY") + { + $value->{skip_data}=1; + } + } + + # check for >MySQL3 Engine=xxx + if (defined $value->{Engine}) + { + $engine=uc($value->{Engine}); + if ($engine eq "MEMORY") + { + $value->{skip_data}=1; + } + } + + # check for Views - if it is a view the comment starts with "VIEW" + if (defined $value->{Comment} && uc(substr($value->{Comment},0,4)) eq 'VIEW') + { + $value->{skip_data}=1; + } + + $db_tables{$value->{Name}}=$value; + } + $sth->finish; + @tablenames=sort keys(%db_tables); + $tablename=''; + if (@tablenames<1) + { + PrintOut("There are no tables inside database ".$dbname."! It doesn't make sense to backup an empty database. Skipping this one."); + return; + } + if($optimize_tables_beforedump==1) + { + optimise_tables(); + } + + $st_e.="-- TABLE-INFO\n"; + foreach $tablename (@tablenames) + { + my $dump_table=1; + if ($dbpraefix ne "") + { + if (substr($tablename,0,length($dbpraefix)) ne $dbpraefix) + { + # eclude tabel from backup because it doesn't fit to praefix + $dump_table=0; + } + } + + if ($dump_table==1) + { + $r+=$db_tables{$tablename}{Rows}; #calculate nr of records + push(@tables,$db_tables{$tablename}{Name}); # add tablename to backupped tables + + if (!defined $db_tables{$tablename}{Update_time}) + { + $db_tables{$tablename}{Update_time}=0; + } + + $st_e.=$mysql_commentstring."TABLE\|$db_tables{$tablename}{Name}\|$db_tables{$tablename}{Rows}\|".($db_tables{$tablename}{Data_length}+$db_tables{$tablename}{Index_length})."\|$db_tables{$tablename}{Update_time}|$db_tables{$tablename}{Engine}\n"; + } + } + $st_e.="-- EOF TABLE-INFO"; + + PrintOut("Found ".(@tables)." tables with $r records."); + + #AUFBAU der Statuszeile: + # -- Status:tabellenzahl:datensaetze:Multipart:Datenbankname:script:scriptversion:Kommentar:MySQLVersion:Backupflags:SQLBefore:SQLAfter:Charset:EXTINFO + # Aufbau Backupflags (1 Zeichen pro Flag, 0 oder 1, 2=unbekannt) + # (complete inserts)(extended inserts)(ignore inserts)(delayed inserts)(downgrade)(lock tables)(optimize tables) + # + $status_start=$mysql_commentstring."Status:$t:$r:"; + my $downgrade=0; + my $flags="1$optimize_tables_beforedump"; + $status_end=":$dbname:perl:$pcd_version:$my_comment:$mysql_version[0]:$flags"; + $status_end.=":$command_beforedump:$command_afterdump:$character_set:EXTINFO$st_e\n".$mysql_commentstring."Dump created on $CTIME_String by PERL Cron-Script\n".$mysql_commentstring."Dump by MySQLDumper (http://www.mysqldumper.de/)\n\n"; + + + if($mp>0) { + $sql_text=$status_start."MP_$mp".$status_end; + } else { + $sql_text=$status_start.$status_end; + } + NewFilename(); + + $totalrecords=0; + foreach $tablename (@tables) + { + # first get CREATE TABLE Statement + if($dbpraefix eq "" or ($dbpraefix ne "" && substr($tablename,0,length($dbpraefix)) eq $dbpraefix)) + { + PrintOut("Dumping table `$tablename` "); + $a="\n\n$mysql_commentstring\n$mysql_commentstring Create Table `$tablename`\n$mysql_commentstring\n\nDROP TABLE IF EXISTS `$tablename`;\n"; + $sql_text.=$a; + $sql_create="SHOW CREATE TABLE `$tablename`"; + $sth = $dbh->prepare($sql_create); + if (!$sth) + { + err_trap("Fatal error sending Query '".$sql_create."'! MySQL-Error: ".$DBI::errstr); + } + + $sth->execute || err_trap("Couldn't execute ".$sql_create); + @ergebnis=$sth->fetchrow; + $sth->finish; + $a=$ergebnis[1].";\n"; + if (length($a)<10) + { + err_trap("Fatal error! Couldn't read CREATE-Statement of table `$tabelle`! This backup might be incomplete! Check your database for errors.",1); + $skip=1; + } + + if ($db_tables{$tablename}{skip_data}==0) + { + $sql_text.=$a."\n$mysql_commentstring\n$mysql_commentstring Data for Table `$tablename`\n$mysql_commentstring\n"; + $sql_text.="\n/*!40000 ALTER TABLE `$tablename` DISABLE KEYS */;"; + + WriteToFile($sql_text,0); + $sql_text=""; + $punktzaehler=0; + $fieldlist="("; + $sql_create="SHOW FIELDS FROM `$tablename`"; + $sth = $dbh->prepare($sql_create); + if (!$sth) + { + err_trap("Fatal error sending Query '".$sql_create."'! MySQL-Error: ".$DBI::errstr); + } + + $sth->execute || err_trap("Couldn't execute ".$sql_create); + while ( @ar=$sth->fetchrow) { + $fieldlist.="`".$ar[0]."`,"; + } + $sth->finish; + $fieldlist=substr($fieldlist,0,length($fieldlist)-1).")"; + + # daten auslesen + $rct=$db_tables{$tablename}{Rows}; + + for (my $ttt=0;$ttt<$rct;$ttt+=$perlspeed) + { + $insert = "INSERT INTO `$tablename` $fieldlist VALUES ("; + $first_insert=0; + $sql_daten="SELECT * FROM `$tablename` LIMIT ".$ttt.",".$perlspeed.";"; + $sth = $dbh->prepare($sql_daten); + if (!$sth) + { + err_trap("Fatal error sending Query '".$sql_create."'! MySQL-Error: ".$DBI::errstr); + } + $sth->execute || err_trap("Couldn't execute \"".$sql_daten."\" - MySQL-Error: ".$DBI::errstr); + while ( @ar=$sth->fetchrow) + { + #Start the insert + if($first_insert==0) + { + $a="\n$insert"; + } + else + { + $a="\n("; + } + foreach $inhalt(@ar) { $a.= $dbh->quote($inhalt).","; } + $a=substr($a,0, length($a)-1).");"; + $sql_text.= $a; + if($memory_limit>0 && length($sql_text)>$memory_limit) + { + WriteToFile($sql_text); + $sql_text=""; + if($mp>0 && $filesize>$multipart_groesse) {NewFilename();} + } + } + $sth->finish; + } + $sql_text.="\n/*!40000 ALTER TABLE `$tablename` ENABLE KEYS */;"; + } + + #jetzt wegschreiben + WriteToFile($sql_text); + $sql_text=""; + PrintOut("\n
    $db_tables{$tablename}{Rows} inserted records (size of backupfile now: ".byte_output($filesize).")"); + $totalrecords+=$db_tables{$tablename}{Rows}; + if($mp>0 && $filesize>$multipart_groesse) {NewFilename();} + } + } + # Ende + WriteToFile("\nSET FOREIGN_KEY_CHECKS=1;\n"); + WriteToFile($mysql_commentstring."EOB\n"); + PrintOut("\n
    Finished backup of database `$dbname`."); + write_log("Finished backup of database `$dbname`.\n"); + + # Jetzt der Versand per Mail + if($cronmail==1) { + PrintOut("Sending E-Mail ..."); + $ret=send_mail(); + if ($ret) + { + write_log("Recipient/s: $cronmailto $cronmailto_cc\n"); + PrintOut("Recipient/s: $cronmailto $cronmailto_cc\n"); + } + } + + # Jetzt der Versand per FTP + send_ftp(); +} + +#Wird aufgerufen, wenn Fehler passieren +sub err_trap { + $error_message = shift(@_); + my $continue = shift(@_); + PrintOut("Perl Cronscript ERROR: $error_message
    "); + write_log("Perl Cronscript ERROR: $error_message
    "); + if (!defined $continue) + { + PrintOut("Stopping script because of this fatal error!
    "); + write_log("Stopping script because of this fatal error!
    "); + exit(1); + } +} + +sub PrintHeader { + my $cgi = new CGI; + print $cgi->header(-type => 'text/html; charset=utf-8'); + if ($html_output==1) + { + print "\n"; + print "MySQLDumper - Perl CronDump [Version $pcd_version]"; + print ""; + print "

    MySQLDumper - Perl CronDump [Version $pcd_version]

    \n"; + } + else + { + #Mini-Ausgabe fuer externe Cronjob-Dienste, die eine kleine Rueckgabe erwarten + print "MySQLDumper - Perl CronDump [Version $pcd_version] started successfully\n"; + } +} + +sub PrintOut { + $print_out = shift(@_); + + if (defined $print_out && length(trim($print_out))>0) + { + if($complete_log==1) { + my $logsize=0; + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); + $Jahr+=1900; $Monat+=1;$Jahrestag+=1; + $dt=sprintf("%02d",$Monatstag).".".sprintf("%02d",$Monat).".".sprintf("%02d",$Jahr)." ".sprintf("%02d",$Stunden).":".sprintf("%02d",$Minuten).":".sprintf("%02d",$Sekunden); + if (-e $completelogdatei) { + $logsize=(stat($completelogdatei))[7]; + unlink($completelogdatei) if($logsize + length($print_out)>$log_maxsize && $log_maxsize>0); + } + my $output=$print_out; + #$output =~ s/<(.*?)>//gi; + $output =~ s/\n//gi; + $output =~ s/\r//gi; + $output =~ s/
    //gi; + $output=trim($output); + + if ( ($logcompression==0) || ($mod_gz==0)) { + open(DATEI,">>$completelogdatei") || err_trap('can\'t open mysqldump_perl.complete.log ('.$completelogdatei.').'); + print DATEI "$dt $output\n" || err_trap('can\'t write to mysqldump_perl.complete.log ('.$completelogdatei.').'); + close(DATEI)|| err_trap('can\'t close mysqldump_perl.complete.log ('.$completelogdatei.').'); + chmod(0777,$completelogdatei); + } else { + $gz = gzopen($completelogdatei, "ab") || err_trap("Cannot open mysqldump_perl.complete.log. "); + $gz->gzwrite("$dt $output\n") || err_trap("Error writing mysqldump_perl.complete.log. "); + $gz->gzclose ; + chmod(0777,$completelogdatei); + } + } + if($cron_printout==1) { + local ($oldbar) = $|; + $cfh = select (STDOUT); + $| = 1; + if($html_output==0) + { + $print_out =~ s/<(.*?)>//gi; + } + + print $print_out; + if ($html_output==1){ print "
    \n"; } else { print "\n"; }; + $| = $oldbar; + select ($cfh); + } + } +} + +sub write_log { + $msg = shift(@_); + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); + $Jahr+=1900; $Monat+=1;$Jahrestag+=1; + $dt=sprintf("%02d",$Monatstag).".".sprintf("%02d",$Monat).".".sprintf("%02d",$Jahr)." ".sprintf("%02d",$Stunden).":".sprintf("%02d",$Minuten).":".sprintf("%02d",$Sekunden); + + my $logsize=0; + if (-e $logdatei) { + $logsize=(stat($logdatei))[7]; + unlink($logdatei) if($logsize+200>$log_maxsize && $log_maxsize>0); + } + + if ( ($logcompression==0) || ($mod_gz==0)) { + open(DATEI,">>$logdatei") || err_trap("Can't open file ($logdatei)."); + print DATEI "$dt $msg" || err_trap("Can't write to file ($logdatei)."); + close(DATEI)|| err_trap("can't close file ($logdatei)."); + chmod(0777,$logdatei); + } else { + $gz = gzopen($logdatei, "ab") || err_trap("Can't open $logdatei."); + $gz->gzwrite("$dt $msg") || err_trap("Can't write to $logdatei. "); + $gz->gzclose ; + chmod(0777,$logdatei); + } +} + +sub send_ftp { + my $ret=0; + for(my $i = 0; $i <3; $i++) + { + if ($ftp_transfer[$i]==1) + { + PrintOut("FTP: transferring `$backupfile` to ".$ftp_server[$i]." into dir ".$ftp_dir[$i]); + if ($ftp_timeout[$i]<1) { $ftp_timeout[$i]=30; }; + $ftp = Net::FTP->new($ftp_server[$i], Port => $ftp_port[$i], Timeout => $ftp_timeout[$i], Debug => 1,Passive => $ftp_mode[$i]) or err_trap( "FTP-ERROR: Can't connect: $@\n",1); + $ftp->login($ftp_user[$i], $ftp_pass[$i]) or err_trap("FTP-ERROR: Couldn't login\n",1); + $ftp->binary(); + $ftp->cwd($ftp_dir[$i]) or err_trap("FTP-ERROR: Couldn't change directory: ".$ftp_dir[$i],1); + if($mp==0) + { + $ret=$ftp->put($sql_file); + if (!$ret) + { + err_trap("FTP-Error: Couldn't put $backupfile to ".$ftp_server[$i]." into dir ".$ftp_dir[$i]."\n",1); + } + else + { + write_log("FTP: transferring of `$backupfile` to $ftp_server[$i] finished successfully.\n"); + PrintOut("FTP: transferring `$backupfile` to $ftp_server[$i] was successful."); + } + } + else + { + $dateistamm=substr($backupfile,0,index($backupfile,"part_"))."part_"; + $dateiendung=($compression==1)?".sql.gz":".sql"; + $mpdatei=""; + for ($i=1;$i<$mp;$i++) + { + $mpdatei=$dateistamm.$i.$dateiendung; + $ret=$ftp->put($backup_path.$mpdatei); + if ($ret) + { + err_trap("Couldn't put $backup_path.$mpdatei to ".$ftp_server[$i]." into dir ".$ftp_dir[$i]."\n",1); + } + else + { + write_log("FTP: transferring of `$mpdatei` to ".$ftp_server[$i]." finished successfully.\n"); + PrintOut("FTP: transferring of `$mpdatei` to $ftp_server[$i] finished successfully."); + } + } + } + } + } +} + +sub send_mail { + $BodyNormal='The attachement is your backup of your database `'.$dbname.'`.'; + $BodyMultipart="A multipart backup has been made.
    You will receive one or more emails with the backup-files attached.
    The database `".$dbname."` has been backupped.
    The following files have been created:"; + $BodyToBig="The backup is bigger than the allowed max-limit of ".byte_output($email_maxsize)." and has not been attached.
    Backup of database ".$dbname."

    The following files have been created:"; + $BodyNoAttach="The backup has not been attached.
    I saved your database `".$dbname."` to file
    "; + $BodyAttachOnly="Here is your backup."; + $Body=""; + $DoAttach=1; + my @mparray; + my $ret=0; + if($mp==0) + { + if(($email_maxsize>0 && $filesize>$email_maxsize) || $cronmail_dump==0) + { + if($cronmail_dump==0) + { + $Body=$BodyNoAttach.$backupfile." (".byte_output($filesize).")"; + } + else + { + $Body=$BodyToBig.$backupfile." (".byte_output($filesize).")" + } + $DoAttach=0; + } + else + { + $Body=$BodyNormal; + } + } + else + { + $Body=$BodyMultipart; + $dateistamm=substr($backupfile,0,index($backupfile,"part_"))."part_"; + $dateiendung=($compression==1)?".sql.gz":".sql"; + $mpdatei=""; + for ($i=1;$i<$mp;$i++) + { + $mpdatei=$dateistamm.$i.$dateiendung; + push(@mparray,"$mpdatei|$i"); + $filesize=(stat($backup_path.$mpdatei))[7]; + $Body.="\n
    $mpdatei (".(byte_output($filesize))." )"; + } + } + $Body.="\n\n

    Best regards,

    MySQLDumper
    If you have any questions, feel free and visit the support board at:
    http://forum.mysqldumper.de"; + + if ($cron_use_sendmail==1) + { + MIME::Lite->send("sendmail", $sendmail_call) || err_trap("Error setting sendmail call!",1); + } + else + { + MIME::Lite->send('smtp', $cron_smtp, Timeout=>60) || err_trap("Error setting smtp call !",1); + } + + $msg = MIME::Lite->new( + From => $cronmailfrom, + To => $cronmailto, + Cc => $cronmailto_cc, + Subject => "MSD (Perl) - Backup of DB ".$dbname, + Type => 'text/html; charset=iso-8859-1', + Data => "\n".$Body."\n" + ); + + if($DoAttach==1 && $mp==0) + { + $msg->attach( + Type => "BINARY", + Path => "$sql_file", + Encoding => "base64", + Filename => "$backupfile" + ); + $ret=$msg->send; + if (!$ret) + { + err_trap("Error 1 sending mail with backup ".$backupfile."!",1); + } + else + { + PrintOut("E-Mail with backup ".$backupfile." sent successfully."); + write_log("E-Mail with backup ".$backupfile." sent successfully.\n"); + } + return $ret; + } + + if($DoAttach==1 && $mp>0 && $cronmail_dump>0) + { + foreach $datei(@mparray) + { + @str=split(/\|/,$datei); + $msg = MIME::Lite->new( + From => $cronmailfrom, + To => $cronmailto, + Cc => $cronmailto_cc, + Subject => "MSD (Perl) - Backup of DB $dbname File ".$str[1]." of ".@mparray , + Type => 'text/html; charset=iso-8859-1', + Data => "\n".$Body."\n" + ); + + $msg->attach( + Type => "BINARY", + Path => $backup_path.$str[0], + Encoding => "base64", + Filename => $str[0] + ); + $ret=$msg->send; + if (!$ret) + { + err_trap("Error 2 sending mail with backup ".$str[0]."!",1); + } + else + { + PrintOut("E-Mail with backup ".$str[0]." sent successfully."); + write_log("E-Mail with backup ".$str[0]." sent successfully.\n"); + } + } + return $ret; + } + + $ret=$msg->send; + if (!$ret) + { + err_trap("Error 3 sending E-Mail!
    ",1); + } + else + { + PrintOut("E-Mail sent successfully."); + write_log("E-Mail sent successfully.\n"); + } + return $ret; +} + +sub NewFilename { + $part=""; + if($mp>0) + { + $part="_part_$mp"; + $mp++; + } + if($compression==0) + { + $sql_file=$backup_path.$dbname."_".$time_stamp.$part.".sql"; + $backupfile=$dbname."_".$time_stamp.$part.".sql"; + } + else + { + $sql_file=$backup_path.$dbname."_".$time_stamp.$part.".sql.gz"; + $backupfile=$dbname."_".$time_stamp.$part.".sql.gz"; + } + if($mp==0) + { + PrintOut("\n
    Starting to dump data into file `$backupfile`"); + write_log("Dumping data into file `$backupfile` \n"); + } + if($mp==2) + { + PrintOut("\n
    Starting to dump data into multipart-file `$backupfile`"); + write_log("Start Perl Multipart-Dump with file `$backupfile` \n"); + } + if($mp>2) + { + PrintOut("\n
    Continuing Multipart-Dump with file `$backupfile`"); + write_log("Continuing Multipart-Dump with file `$backupfile` \n"); + } + if($mp>0) + { + $sql_text=$status_start."MP_".($mp-1).$status_end; + } + else + { + $sql_text=$status_start.$status_end; + } + $sql_text.="/*!40101 SET NAMES '".$character_set."' */;\n"; + $sql_text.="SET FOREIGN_KEY_CHECKS=0;\n"; + + WriteToFile($sql_text,1); + chmod(0777,$sql_file); + $sql_text=""; + $first_insert=0; + $punktzaehler=0; + push(@backupfiles_name,$sql_file); +} + +sub WriteToFile { + $inh=shift; + my $points=shift; + if (!defined($points)) { $points=2; } + + if(length($inh)>0) { + if($compression==0){ + open(DATEI,">>$sql_file"); + print DATEI $inh; + close(DATEI); + } else { + $gz = gzopen($sql_file, "ab") || err_trap("Cannot open ".$sql_file); + $gz->gzwrite($inh) || err_trap("Error writing ".$sql_file); + $gz->gzclose ; + } + if ($points>1) + { + if ($html_output==1) { print "."; } else { print "."; }; + } + $filesize= (stat($sql_file))[7]; + $punktzaehler++; + if($punktzaehler>120) + { + if ($html_output==1) { print "
    "; } else { print "\n"; }; + $punktzaehler=0; + } + } +} + +sub AutoDeleteCount { + $fpath=$File::Find::name; + $fname=basename($fpath); + my @fileparts=split(/\./,"$fname"); + my $partcount=@fileparts; + if ($partcount>1) + { + my $end=$fileparts[(@fileparts-1)]; +# print "
    Filename $fname
    Dateiendung: $end"; + + # Read Statusline and extract info + my $line=''; + if ($end eq 'sql') + { + if (open(DATEI,"<$fpath")) + { + $line=; + close(DATEI); + } + else + { + print "
    Error: couldn\'t open file: ".$fpath; + } + } + if ($end eq 'gz') + { + $gz = gzopen("$fpath", "rb"); + if ($gz) + { + $gz->gzreadline($line); + $gz->gzclose; + } + else + { + print "
    Error: couldn\'t open file: ".$fpath; + } + } + + if (length($line)>0) + { + #statusline read + my @infos=split(/\:/,$line); + my $file_multipart=$infos[3]; + $file_multipart=~ s/MP_/ /g; + my $file_databasename=$infos[4]; + if ($file_multipart eq "") + { +# print "
    Kein Multipartfile
    "; + push(@filearr,"$fname|$file_databasename"); + } + else + { +#print "
    \nMultipart: ".$file_multipart.' '.$file_databasename.'
    '; + push(@filearr,"$fname|$file_databasename|$file_multipart"); + } + + } + else + { +#print "
    No Statusline found. Seems not to be a MySQLDumper file. Skipping file..

    "; + } + } +} + +sub DoAutoDeleteCount { + my @str; + my @dbarray; + my $item; + my $item2; + my %dbanz; + my $anz=@filearr; + # sort filearr descending -> so the latest backups are at top + # multipartfiles sorting is also descending -> part3, part2, part1 + @filearr=sort{"$b" cmp "$a"}(@filearr); + @multipartfiles=(); + + if ($anz>0) + { + foreach $item (@filearr) + { + @str=split(/\|/,$item); + # str[0]=filename, str[1]=databasename, str[2]=multipart number + + #init db-counter if this index doesn't exist yet + if (!defined $dbanz{$str[1]}) + { + $dbanz{$str[1]}=0; + @multipartfiles=(); + } + #PrintOut($max_backup_files.': '.$dbanz{$str[1]}.' -> '.$str[0].' - '.$str[1].' - '.$str[2]); + + #no multipart file -> update db counter + if(!defined $str[2]) + { + # handling for non multipart files + $dbanz{$str[1]}++; + # is the max number of backups for this database reached? + # if yes -> push the actual filename into trash_files + if($dbanz{$str[1]}>$max_backup_files) + { + push(@trash_files, $str[0]); + } + } + else + { + # keep multipartz filename + if($dbanz{$str[1]}>=$max_backup_files) + { + push(@multipartfiles,$str[0]); + } + + # if it is a multipart file and it is part_1 -> update db counter + # multiparts with higher numbers already passed the loop, so we can use + # part1 to increase the db-counter + if(defined $str[2] && $str[2]==1) + { + $dbanz{$str[1]}++; + # now check if we have reached the limit + if($dbanz{$str[1]}>$max_backup_files) + { + foreach $item2 (@multipartfiles) + { + push(@trash_files, $item2); + } + } + # clear array for next multipart backup + @multipartfiles=(); + } + } + } + } +} + +sub DeleteFiles +{ + my $res=0; + if(@trash_files==0) + { + PrintOut("No file to delete."); + } + else + { + foreach $datei(@trash_files) + { + my $file_to_delete = $backup_path.$datei; + $res=unlink($file_to_delete); + if ($res) + { + PrintOut("Autodelete: old backup file ".$datei." deleted."); + write_log( "Autodelete: old backup file $datei deleted.\n" ) ; + } + else + { + err_trap("Autodelete: Error deleting old backup file ".$datei."!
    ",1); + } + } + undef(@trash_files); + } +} + +sub ExecuteCommand { + my $cmt = shift(@_); + my $command_dump = shift(@_); + my (@cad, $errText, $succText, $cd2, $commandDump); + my $err=''; + + if($cmt==1 && $command ne "") { #before dump + $errText="Error while executing Query before Dump"; + $succText="executing Query before Dump was successful"; + } else { + $errText="Error while executing Query after Dump"; + $succText="executing Query after Dump was successful"; + } + if(length($commandDump)>0) { + if(substr($commandDump,0,7) ne "system:") { + $dbh = DBI->connect("DBI:mysql:$dbname:$dbhost:$dbport","$dbuser","$dbpass")|| die "Database connection not made: $DBI::errstr"; + $dbh->{PrintError} = 0; + if(index($commandDump,";")>=0) { + @cad=split(/;/,$commandDump); + for($i=0;$i<@cad;$i++) { + if($cad[$i] ne ""){ + + $sth = $dbh->prepare($cad[$i]); + $sth->execute or $err=$sth->errstr(); + if ($err ne '') { write_log("Executing Command $cad[$i] caused an error: $err \n"); } + else { write_log("Executing Command ($cad[$i]) was successful\n"); } + $sth->finish; + } + } + } else { + write_log("Executing Command ($commandDump)\n"); + if($commandDump) { + $sth = $dbh->prepare($commandDump); + $sth->execute or $err=$sth->errstr(); + if ($err ne '') { write_log("Executing Command ($cad[$i] caused an error: ".$err." \n"); } + else { write_log("Executing Command ($cad[$i] was successful\n"); } + $sth->finish; + } + } + if($@){ + my $ger=$@; + PrintOut("

    $errText ($commandDump):$ger

    "); + write_log("$errText ($commandDump): $ger\n"); + } else { + PrintOut("

    $succText

    "); + write_log("$succText\n"); + } + } else { + #Systembefehl + $commandDump=substr($commandDump,7); + system($commandDump); + PrintOut("

    $succText ($commandDump)

    "); + write_log("$succText ($commandDump)\n"); + } + } +} + +sub closeScript { + my ($Start, $Jetzt, $Totalzeit); + $Start = $^T; $Jetzt = (time); + $Totalzeit=$Jetzt - $Start; + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); + $Jahr+=1900;$Monat+=1;$Jahrestag+=1; + $starttime=sprintf("%02d",$Monatstag).".".sprintf("%02d",$Monat).".".$Jahr." ".sprintf("%02d",$Stunden).":".sprintf("%02d",$Minuten).":".sprintf("%02d",$Sekunden); + PrintOut("Everythings is done: closing script $starttime"); + PrintOut("total time used: $Totalzeit sec."); + PrintOut("#EOS (End of script)
    "); + # Datenbankverbindung schliessen + $sth->finish() if (defined $sth); + ($dbh->disconnect() || warn $dbh->errstr) if (defined $dbh); +} + +sub trim +{ + my $string = shift; + if (defined($string)) + { + $string =~ s/^\s+//; + $string =~ s/\s+$//; + } + else + { + $string=''; + } + return $string; +} + +sub byte_output +{ + my $bytes= shift; + my $suffix="Bytes"; + if ($bytes>=1024) { $suffix="KB"; $bytes=sprintf("%.2f",($bytes/1024));}; + if ($bytes>=1024) { $suffix="MB"; $bytes=sprintf("%.2f",($bytes/1024));}; + my $ret=sprintf "%.2f",$bytes; + $ret.=' '.$suffix; + return $ret; +} + +sub optimise_tables +{ + my $engine=''; + my $ret=0; + $opttbl=0; + PrintOut("Optimizing tables:"); + foreach $tablename (@tablenames) + { + #optimize table if engine supports optimization + $engine=uc($db_tables{$tablename}{Engine}); + if ( $engine eq "MYISAM" or $engine eq "BDB" or $engine eq "INNODB") + { + my $sth_to = $dbh->prepare("OPTIMIZE TABLE `$tablename`"); + $ret=$sth_to->execute; + if ($ret) + { + PrintOut("- Table ".($opttbl+1)." `$tablename` optimized successfully."); + $opttbl++; + } + else + { + err_trap("  Error optimizing table `$tablename`",1); + } + } + } + PrintOut("$opttbl tables have been optimized") if($opttbl>0) ; +} \ No newline at end of file diff --git a/msd_cron/perltest.pl b/msd_cron/perltest.pl new file mode 100644 index 0000000..74447e3 --- /dev/null +++ b/msd_cron/perltest.pl @@ -0,0 +1,125 @@ +#!/usr/bin/perl -w +use strict; +use Socket; +use Config; +use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +use CGI; +my $cgi = CGI->new(); +print $cgi->header(); +warningsToBrowser(1); # dies ist ganz wichtig! + +my $eval_in_died; +my $mod_dbi=0; +my $mod_ff=0; +my $mod_fb=0; +my $mod_gz=0; +my $mod_ftp=0; +my $mod_mime=0; +my $dbi_driver; +my $dbi_mysql_exists=0; +my $get_options=0; +my $ok=''; +my $err=''; +my $zlib_version='unknown'; + +print "MySQLDumper Perltest\n"; +print ''; +print "

    Testing needed Perl-Moduls in order to run the Perl script crondump.pl

    \n"; +print "

    Necessary Modules for crondump.pl

    "; +print "testing DBI ...\n"; +eval { $eval_in_died = 1; require DBI; }; + if(!$@){ + $mod_dbi = 1; + import DBI; + } +if($mod_dbi!=1){ + print $err."Couldn't findDBI!
    crondump.pl can't establih a connection to the MySQL database!
    \n"; +} else { + print $ok."Found modul DBI. OK.
    \n"; + my @available_drivers = DBI->available_drivers('quiet'); + foreach $dbi_driver (@available_drivers) + { + print "
    Found modul DBI::$dbi_driver\n"; + if ( $dbi_driver eq 'mysql' ) { $dbi_mysql_exists=1; } ; + } + if ($dbi_mysql_exists !=1 ) { print $err."Critical error: modul DBI::mysql not found! crondump.pl can't establish a connection to the MySQL-Databse if this modul isn't installed! Please install DBI::mysql!
    "; } + else { print "
    ".$ok."Found modul DBI::mysql. OK. crondump.pl can connect to MySQL-Database.
    "; } +} + +print "

    testing File::Find ...\n"; +eval { $eval_in_died = 1; require File::Find; }; + if(!$@){ + $mod_ff = 1; + import File::Find; + } +if($mod_ff!=1){ + print $err."Critical error: modul File::Find not found! Please install it

    \n"; +} else { + print $ok."Found modul File::Find. OK.
    \n"; +} + + +print "testing File::Basename ...\n"; +eval { $eval_in_died = 1; require File::Basename; }; + if(!$@){ + $mod_fb = 1; + import File::Basename; + } +if($mod_fb!=1){ + print $err."Critical error: modul File::Basename not found! Please install it!
    \n"; +} else { + print $ok."Found modul File::Basename. OK.
    \n"; +} + +print "testing Getop...\n"; +eval { $eval_in_died = 1; require Getopt::Long; }; + if(!$@){ + $get_options = 1; + import Getopt::Long; + } +if($get_options!=1){ + print $err."Modul Getopt not found! You should install it if you want to set configfile via shell.
    \n"; +} else { + print $ok."Found modul Getopt. OK. crondump.pl can read configfile-parameter from shell.
    \n"; +} + +print "

    Configurable functions for crondump.pl (these moduls are only needed when explained option is turned on):

    "; + +print "testing Compress::Zlib (needed for dumping data into a crompessed *.gz-file)...
    \n"; +eval { $eval_in_died = 1; require Compress::Zlib; }; + if(!$@){ + $zlib_version=qq[ver $Compress::Zlib::VERSION]; + $mod_gz = 1; + import Compress::Zlib; + } +if($mod_gz!=1){ + print "Error: modul Compress::Zlib not found! crondump.pl can't write compressed files. Falling back to uncrompressed files (files are 10 times bigger).
    \n"; +} else { + print $ok."Found modul Compress::Zlib ".$zlib_version.". OK. crondump.pl can write compressed backups.
    \n"; +} + +print "
    testing Net::FTP (needed if you want to transfer backups to another server)...
    \n"; +eval { $eval_in_died = 1; require Net::FTP; }; + if(!$@){ + $mod_ftp = 1; + import Net::FTP; + } +if($mod_ftp!=1){ + print $err."Error: modul Net::FTP not found! crondump.pl can't transfer data via FTP.
    \n"; +} else { + print $ok."Found modul Net::FTP. OK - crondump.pl can send backups via FTP.
    \n"; +} + +print "
    testing MIME::Lite (needed if you want to send backups via email)...
    \n"; +eval { $eval_in_died = 1; require MIME::Lite; }; + if(!$@){ + $mod_mime = 1; + import MIME::Lite; + } +if($mod_mime!=1){ + print $err."Error: modul MIME::Lite not found!
    crondump.pl can't send emails! Option will automatically be deactivated. Install Mime::Lite in order to send emails!\n"; +} else { + print $ok."Found modul MIME::Lite. OK. crondump.pl can send emails.
    \n"; +} + +print "



    \n"; \ No newline at end of file diff --git a/msd_cron/simpletest.pl b/msd_cron/simpletest.pl new file mode 100644 index 0000000..e57e8b7 --- /dev/null +++ b/msd_cron/simpletest.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl -w +use strict; +use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +warningsToBrowser(1); + +print "Content-type: text/html\n\n"; +print '', "\n"; +print "Testausgabe\n"; +print "\n"; + +print "Wenn Du das siehst, funktioniert Perl auf Deinem System !

    "; +print "If you see this perl works fine on your system !"; +print "\n"; + + +# Wenn Du diese Zeile hier siehst, dann wird Perl nicht ausgefuehrt. +# Frage Deinen Hoster, ob und wie Du Perl aktivieren kannst. +# +# If you can read this line Perl is not executed. +# Ask your host how to activate Perl. +# diff --git a/refresh_dblist.php b/refresh_dblist.php new file mode 100644 index 0000000..f60d88d --- /dev/null +++ b/refresh_dblist.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/restore.php b/restore.php new file mode 100644 index 0000000..625548d --- /dev/null +++ b/restore.php @@ -0,0 +1,307 @@ +$val) +{ + if (is_array($val)) + { + foreach ($val as $key2=>$val2) + { + if ($config['magic_quotes_gpc']) $restore[stripslashes($key)][stripslashes($key2)]=stripslashes($val2); + else $restore[$key][$key2]=$val2; + } + } +} +if (isset($_GET['filename'])) +{ + include ( './' . $config['files']['parameter'] ); + $restore['max_zeit']=intval($config['max_execution_time'] * $config['time_buffer']); + if ($restore['max_zeit'] == 0) $restore['max_zeit']=20; + $restore['startzeit']=time(); + $restore['xtime']=( isset($_POST['xtime']) ) ? $_POST['xtime'] : time(); + $restore['fileEOF']=false; // Ende des Files erreicht? + $restore['actual_table']=( !empty($_POST['actual_table']) ) ? $_POST['actual_table'] : 'unbekannt'; + $restore['offset']=( !empty($_POST['offset']) ) ? $_POST['offset'] : 0; + $restore['aufruf']=( !empty($_POST['aufruf']) ) ? $_POST['aufruf'] : 0; + $restore['table_ready']=( !empty($_POST['table_ready']) ) ? $_POST['table_ready'] : 0; + $restore['part']=( isset($_POST['part']) ) ? $_POST['part'] : 0; + $restore['do_it']=( isset($_POST['do_it']) ) ? $_POST['do_it'] : false; + $restore['errors']=( isset($_POST['err']) ) ? $_POST['err'] : 0; + $restore['notices']=( isset($_POST['notices']) ) ? $_POST['notices'] : 0; + $restore['anzahl_eintraege']=( isset($_POST['anzahl_eintraege']) ) ? $_POST['anzahl_eintraege'] : 0; + $restore['anzahl_tabellen']=( isset($_POST['anzahl_tabellen']) ) ? $_POST['anzahl_tabellen'] : 0; + $restore['filename']=( isset($_POST['filename']) ) ? urldecode($_POST['filename']) : ''; + if (isset($_GET['filename'])) $restore['filename']=urldecode($_GET['filename']); + $restore['actual_fieldcount']=( isset($_POST['actual_fieldcount']) ) ? $_POST['actual_fieldcount'] : 0; + $restore['eintraege_ready']=( isset($_POST['eintraege_ready']) ) ? $_POST['eintraege_ready'] : 0; + $restore['anzahl_zeilen']=( isset($_POST['anzahl_zeilen']) ) ? $_POST['anzahl_zeilen'] : $config['minspeed']; + $restore['summe_eintraege']=( isset($_POST['summe_eintraege']) ) ? $_POST['summe_eintraege'] : 0; + $restore['erweiterte_inserts']=( isset($_POST['erweiterte_inserts']) ) ? $_POST['erweiterte_inserts'] : 0; + $restore['flag']=( isset($_POST['flag']) ) ? $_POST['flag'] : -1; + $restore['EOB']=( isset($_POST['EOB']) ) ? $_POST['EOB'] : 0; + $restore['dump_encoding']=( isset($_POST['dump_encoding']) ) ? $_POST['dump_encoding'] : 'utf8'; + if (isset($_GET['dump_encoding'])) $restore['dump_encoding']=$_GET['dump_encoding']; + + $restore['compressed']=( substr(strtolower($restore['filename']),-2) == 'gz' ) ? 1 : 0; + + // wurden nur bestimmte Tabellen ausgwaehlt? + if (!isset($databases['db_actual_tableselected'])) $databases['db_actual_tableselected']=''; + if ($databases['db_actual_tableselected'] != '') + { + $restore['tables_to_restore']=explode('|',$databases['db_actual_tableselected']); + } + else + $restore['tables_to_restore']=false; + + $_SESSION['config']=$config; + $_SESSION['databases']=$databases; +} +else +{ + $config=$_SESSION['config']; + $databases=$_SESSION['databases']; + $restore=$_SESSION['restore']; + $restore['startzeit']=time(); +} + +include ( './language/' . $config['language'] . '/lang.php' ); +include ( './language/' . $config['language'] . '/lang_restore.php' ); + +ob_start(); +$aus=Array(); +$pageheader=MSDheader() . headline($lang['restore']); +$aus1=$page_parameter=''; +$RestoreFertig=$eingetragen=$dauer=$filegroesse=0; +MSD_mysql_connect($restore['dump_encoding'],true,$restore['actual_table']); +@mysql_select_db($databases['db_actual']) or die($lang['db_select_error'] . $databases['db_actual'] . $lang['db_select_error2']); + +// open backup file +$restore['filehandle']=( $restore['compressed'] == 1 ) ? gzopen($config['paths']['backup'] . $restore['filename'],'r') : fopen($config['paths']['backup'] . $restore['filename'],'r'); +if ($restore['filehandle']) +{ + //nur am Anfang Logeintrag + if ($restore['offset'] == 0 && $restore['anzahl_tabellen'] == 0) + { + // Statuszeile auslesen + $restore['part']=0; + $statusline=( $restore['compressed'] == 1 ) ? gzgets($restore['filehandle']) : fgets($restore['filehandle']); + $sline=ReadStatusline($statusline,true); + + $restore['anzahl_tabellen']=$sline['tables']; + $restore['anzahl_eintraege']=$sline['records']; + if ($sline['part'] != 'MP_0') $restore['part']=1; //substr($sline['part'],3); + if ($config['empty_db_before_restore'] == 1) EmptyDB($databases['db_actual']); + $restore['tablelock']=0; + $restore['erweiterte_inserts']=0; + + if ($sline['tables'] == '-1') ( $restore['compressed'] ) ? gzseek($restore['filehandle'],0) : fseek($restore['filehandle'],0); + if ($restore['part'] > 0) WriteLog('Start Multipart-Restore \'' . $restore['filename'] . '\''); + else WriteLog('Start Restore \'' . $restore['filename'] . '\''); + + } + else + { + if ($restore['compressed'] == 0) $filegroesse=filesize($config['paths']['backup'] . $restore['filename']); + // Dateizeiger an die richtige Stelle setzen + ( $restore['compressed'] ) ? gzseek($restore['filehandle'],$restore['offset']) : fseek($restore['filehandle'],$restore['offset']); + + // Jetzt basteln wir uns mal unsere Befehle zusammen... + $a=0; + $dauer=0; + $restore['EOB']=false; + // Disable Keys of actual table to spped up restoring + if ($restore['actual_table'] > '') @mysql_query('/*!40000 ALTER TABLE `' . $restore['actual_table'] . '` DISABLE KEYS */;',$config['dbconnection']); + + WHILE (( $a < $restore['anzahl_zeilen'] ) && ( !$restore['fileEOF'] ) && ( $dauer < $restore['max_zeit'] ) && !$restore['EOB']) + { + $sql_command=get_sqlbefehl(); + if ($sql_command > '') + { + //WriteLog(htmlspecialchars($sql_command)); + $res=mysql_query($sql_command,$config['dbconnection']); + if (!$res === false) + { + $anzsql=mysql_affected_rows($config['dbconnection']); + // Anzahl der eingetragenen Datensaetze ermitteln (Indexaktionen nicht zaehlen) + $command=strtoupper(substr($sql_command,0,7)); + if ($command == 'INSERT ') + { + $anzsql=mysql_affected_rows($config['dbconnection']); + if ($anzsql > 0) $restore['eintraege_ready']+=$anzsql; + } + } + else + { + // Bei MySQL-Fehlern sofort abbrechen und Info ausgeben + $meldung=@mysql_error($config['dbconnection']); + if ($meldung != '') + { + if (strtolower(substr($meldung,0,15)) == 'duplicate entry') + { + ErrorLog('RESTORE',$databases['db_actual'],$sql_command,$meldung,1); + $restore['notices']++; + } + else + { + if ($config['stop_with_error'] == 0) + { + Errorlog('RESTORE',$databases['db_actual'],$sql_command,$meldung); + $restore['errors']++; + } + else + { + Errorlog('RESTORE',$databases['db_actual'],$sql_command,'Restore failed: ' . $meldung,0); + SQLError($sql_command,$meldung); + die($sql_command . ' -> ' . $meldung); + } + } + } + } + } + $a++; + $dauer=time() - $restore['startzeit']; + } + $eingetragen=$a - 1; + } + + $restore['offset']=( $restore['compressed'] ) ? gztell($restore['filehandle']) : ftell($restore['filehandle']); + $restore['compressed'] ? gzclose($restore['filehandle']) : fclose($restore['filehandle']); + $restore['aufruf']++; + if (!$restore['compressed']) $prozent=( $filegroesse > 0 ) ? ( $restore['offset'] * 100 ) / $filegroesse : 0; + else + { + if ($restore['anzahl_eintraege'] > 0) $prozent=$restore['eintraege_ready'] * 100 / $restore['anzahl_eintraege']; + else $prozent=0; + } + if ($prozent > 100) $prozent=100; + + if ($aus1 != '') $aus[]='
    ' . $aus1 . '

    '; + $aus[]=sprintf($lang['restore_db'],$databases['db_actual'],$config['dbhost']) . '
    ' . $lang['file'] . ': ' . $restore['filename'] . '
    ' . $lang['charset'] . ': ' . $restore['dump_encoding'] . '
    '; + + if ($restore['part'] > 0) $aus[]='
    Multipart File ' . $restore['part'] . '
    '; + + $tabellen_fertig=( $restore['table_ready'] > 0 ) ? $restore['table_ready'] : '0'; + $to_do=( $restore['anzahl_tabellen'] > 0 ) ? $restore['anzahl_tabellen'] : $lang['unknown']; + if ($restore['anzahl_tabellen'] > 0) $aus[]=sprintf($lang['restore_tables_completed'],$tabellen_fertig,$to_do); + else $aus[]=sprintf($lang['restore_tables_completed0'],$tabellen_fertig); + + $done=number_format($restore['eintraege_ready'],0,',','.'); + $to_do=number_format($restore['anzahl_eintraege'],0,',','.'); + if ($restore['anzahl_eintraege'] > 0) $aus[]=sprintf($lang['restore_run1'],$done,$to_do); + else $aus[]=sprintf($lang['restore_run0'],$done); + $aus[]=sprintf($lang['restore_run2'],$restore['actual_table']) . $lang['progress_over_all'] . '
    '; + + //Fortschrittsbalken + $prozentbalken=( round($prozent,0) * 3 ); + //v($restore);die(); + if ($restore['anzahl_eintraege'] > 0 && $restore['tables_to_restore'] === false) + { + $aus[]=''; + if ($prozentbalken >= 3) $aus[]='' . '' . '
    +  ' . ( number_format($prozent,2,",",".") ) . ' %
    '; + } + else + $aus[]=' ' . $lang['unknown_number_of_records'] . '

    '; + + //Speed-Anzeige + $fw=( $config['maxspeed'] == $config['minspeed'] ) ? 300 : round(( $restore['anzahl_zeilen'] - $config['minspeed'] ) / ( $config['maxspeed'] - $config['minspeed'] ) * 300,0); + $aus[]='
    ' . '
    ' . 'Speed
    ' . $restore['anzahl_zeilen'] . '
    ' . '' . '
    ' . '' . '
    ' . '' . '' . '
    ' . $config['minspeed'] . '' . $config['maxspeed'] . '
    '; + + //Status-Text + $aus[]='

    ' . zeit_format(time() - $restore['xtime']) . ', ' . $restore['aufruf'] . ' pages' . ( ( $restore['part'] > 0 ) ? ', file ' . $restore['part'] : '' ) . ( ( $restore['errors'] > 0 ) ? ', ' . $restore['errors'] . ' errors' : '' ) . ( ( $restore['notices'] > 0 ) ? ', ' . $restore['notices'] . ' notices' : '' ) . '

    '; + $restore['summe_eintraege']+=$eingetragen; + + //Zeitanpassung + if ($dauer < $restore['max_zeit']) + { + $restore['anzahl_zeilen']=$restore['anzahl_zeilen'] * $config['tuning_add']; + // wenn wir mehr als die Haelfte der Zeit noch haetten nutzen koennen: Anzahl direkt um fast das Doppelte erhoehen + if ($dauer < $restore['max_zeit'] / 2) $restore['anzahl_zeilen']=$restore['anzahl_zeilen'] * 1.8; + if ($restore['anzahl_zeilen'] > $config['maxspeed']) $restore['anzahl_zeilen']=$config['maxspeed']; + } + else + { + $restore['anzahl_zeilen']=$restore['anzahl_zeilen'] * $config['tuning_sub']; + if ($restore['anzahl_zeilen'] < $config['minspeed']) $restore['anzahl_zeilen']=$config['minspeed']; + } + $restore['anzahl_zeilen']=intval($restore['anzahl_zeilen']); + + if ($restore['fileEOF'] && $restore['part'] == 0) $restore['EOB']=true; + + if ($restore['EOB']) + { + // Uff, geschafft! Jetzt darf die Leitung wieder abkuehlen. :-) + unset($aus); + $aus=array(); + + $restore['xtime']=time() - $restore['xtime']; + WriteLog("Restore '" . $restore['filename'] . "' finished in " . zeit_format($restore['xtime']) . "."); + $aus[]=$lang['restore_total_complete'] . "
    "; + $aus[]=$lang['file'] . ': ' . $restore['filename'] . '

    '; + $aus[]=sprintf($lang['restore_complete'],$restore['table_ready']) . '
    '; + $aus[]=sprintf($lang['restore_complete2'],number_format($restore['eintraege_ready'],0,",",".")); + $aus[]='

    ' . zeit_format($restore['xtime']) . ", " . $restore['aufruf'] . " pages

    "; + if ($restore['errors'] > 0) $aus[]=$lang['errors'] . ': ' . $restore['errors'] . ' » ' . $lang['view'] . '
    '; + if ($restore['notices'] > 0) $aus[]=$lang['notices'] . ': ' . $restore['notices'] . ' » ' . $lang['view'] . '
    '; + $aus[]="
       "; + $aus[]="   "; + $RestoreFertig=1; + } + else + { + if ($restore['fileEOF']) + { + //Multipart-Restore + $restore['fileEOF']=false; + $nextfile=NextPart($restore['filename'],0,true); + if (!file_exists($config['paths']['backup'] . $nextfile)) + { + $done=number_format($restore['eintraege_ready'],0,",","."); + $to_do=number_format($restore['anzahl_eintraege'],0,",","."); + $aus=array(); + $aus[]='

    ' . $lang['restore'] . '

    '; + $aus[]=sprintf($lang['restore_db'],$databases['db_actual'],$config['dbhost']); + $aus[]='

    ' . $lang['multi_part'] . ': ' . $lang['file_missing'] . ' \'' . $nextfile . '\' !

    '; + $aus[]=sprintf($lang['restore_run1'],$done,$to_do); + $aus[]=sprintf($lang['restore_run2'],$restore['actual_table']); + $aus[]='

    ' . zeit_format(time() - $restore['xtime']) . ', ' . $restore['aufruf'] . ' pages'; + $aus[]=( $restore['part'] > 0 ) ? ', ' . $lang['file'] . ' ' . $restore['part'] : ''; + $aus[]=( $restore['errors'] > 0 ) ? ', ' . $restore['errors'] . ' errors' : ''; + $aus[]='

    ' . ( ( isset($restore['EOB']) ) ? "EOB" : "" ); + WriteLog('Restore unsuccessful: Cannot find Multipartfile \'' . $nextfile . '\''); + $RestoreFertig=1; + } + else + { + $restore['filename']=$nextfile; + $restore['offset']=0; + $restore['part']++; + WriteLog("Continue Multipart-Restore with File '" . $restore['filename'] . "'"); + } + } + } +} +else + $aus[]=$config['paths']['backup'] . $restore['filename'] . ' : ' . $lang['file_open_error']; + +$pagefooter=( $RestoreFertig == 1 ) ? MSDFooter() : '
    '; +// formerly all parameters were submitted via POST; now we use a session but we need the form to do the js-selfcall +$page_parameter='
    '; +if ($RestoreFertig == 1) +{ + $complete_page=$pageheader . ( ( $aus != '' ) ? implode("\n",$aus) : '' ) . $pagefooter; +} +else +{ + $aus[]=$page_parameter; + $_SESSION['restore']=$restore; + $selbstaufruf=''; + $complete_page=$pageheader . ( ( $aus != '' ) ? implode("\n",$aus) : '' ) . $selbstaufruf . $pagefooter; +} +echo $complete_page; +ob_end_flush(); +?> \ No newline at end of file diff --git a/sql.php b/sql.php new file mode 100644 index 0000000..5ad7722 --- /dev/null +++ b/sql.php @@ -0,0 +1,346 @@ + + var auswahl = "document.getElementsByName(\"f_export_tables[]\")[0]"; + var msg1="' . $lang['sql_notablesselected'] . '"; + '; +} +//Variabeln +$mysql_help_ref='http://dev.mysql.com/doc/'; +$mysql_errorhelp_ref='http://dev.mysql.com/doc/mysql/en/error-handling.html'; +$no_order=false; +$tdcompact=( isset($_GET['tdc']) ) ? $_GET['tdc'] : $config['interface_table_compact']; +$db=( !isset($_GET['db']) ) ? $databases['db_actual'] : $_GET['db']; +$dbid=( !isset($_GET['dbid']) ) ? $databases['db_selected_index'] : $_GET['dbid']; +$context=( !isset($_GET['context']) ) ? 0 : $_GET['context']; +$context=( !isset($_POST['context']) ) ? $context : $_POST['context']; +$tablename=( !isset($_GET['tablename']) ) ? "" : $_GET['tablename']; +$limitstart=( isset($_POST['limitstart']) ) ? intval($_POST['limitstart']) : 0; +if (isset($_GET['limitstart'])) $limitstart=intval($_GET['limitstart']); +$orderdir=( !isset($_GET['orderdir']) ) ? '' : $_GET['orderdir']; +$order=( !isset($_GET['order']) ) ? '' : $_GET['order']; +$sqlconfig=( isset($_GET['sqlconfig']) ) ? 1 : 0; +$editkey=( !isset($_GET['editkey']) ) ? -1 : $_GET['editkey']; +$norder=( $orderdir == "DESC" ) ? 'ASC' : 'DESC'; +$sql['order_statement']=( $order != '' ) ? ' ORDER BY ' . $order . ' ' . $norder : ''; +$sql['sql_statement']=( isset($_GET['sql_statement']) ) ? stripslashes(urldecode($_GET['sql_statement'])) : ''; +if (isset($_POST['sql_statement'])) $sql['sql_statement']=$_POST['sql_statement']; + +$showtables=( !isset($_GET['showtables']) ) ? 0 : $_GET['showtables']; +$limit=$add_sql=''; +$bb=( isset($_GET['bb']) ) ? $_GET['bb'] : -1; +if (isset($_POST['tablename'])) $tablename=$_POST['tablename']; +$search=( isset($_GET['search']) ) ? $_GET['search'] : 0; + +//SQL-Statement geposted +if (isset($_POST['execsql'])) +{ + $sql['sql_statement']=( isset($_POST['sqltextarea']) ) ? stripslashes($_POST['sqltextarea']) : ""; + $db=$_POST['db']; + $dbid=$_POST['dbid']; + $tablename=$_POST['tablename']; + if ($tablename == '') $tablename=ExtractTablenameFromSQL($sql['sql_statement']); +} + +if ($sql['sql_statement'] == '') +{ + if ($tablename != '' && $showtables == 0) + { + $sql['sql_statement']="SELECT * FROM `$tablename`"; + } + else + { + $sql['sql_statement']="SHOW TABLE STATUS FROM `$db`"; + $showtables=1; + } +} + +//sql-type +$sql_to_display_data=0; +$Anzahl_SQLs=getCountSQLStatements($sql['sql_statement']); +$sql_to_display_data=sqlReturnsRecords($sql['sql_statement']); +if ($Anzahl_SQLs > 1) $sql_to_display_data=0; +if ($sql_to_display_data == 1) +{ + //nur ein SQL-Statement + $limitende=( $limitstart + $config['sql_limit'] ); + + //Darf editiert werden? + $no_edit=( strtoupper(substr($sql['sql_statement'],0,6)) != "SELECT" || $showtables == 1 || preg_match('@^((-- |#)[^\n]*\n|/\*.*?\*/)*(UNION|JOIN)@im',$sql['sql_statement']) ); + if ($no_edit) $no_order=true; + + //Darf sortiert werden? + $op=strpos(strtoupper($sql['sql_statement'])," ORDER "); + if ($op > 0) + { + //is order by last ? + $sql['order_statement']=substr($sql['sql_statement'],$op); + if (strpos($sql['order_statement'],')') > 0) $sql['order_statement']=''; + else $sql['sql_statement']=substr($sql['sql_statement'],0,$op); + } +} + +if (isset($_POST['tableselect']) && $_POST['tableselect'] != "1") $tablename=$_POST['tableselect']; +MSD_mysql_connect(); +mysql_select_db($db,$config['dbconnection']); + +///*** EDIT / UPDATES / INSERTS ***/// +///*** ***/// + + +//Datensatz editieren +if (isset($_POST['update']) || isset($_GET['update'])) +{ + GetPostParams(); + $f=explode('|',$_POST['feldnamen']); + $sqlu='UPDATE `' . $tablename . '` SET '; + for ($i=0; $i < count($f); $i++) + { + $fkey=str_replace('.','_',$f[$i]); + $sqlu.='`' . $f["$i"] . '`=\'' . convert_to_latin1($_POST[$fkey]) . '\', '; + } + $sqlu=substr($sqlu,0,strlen($sqlu) - 2) . ' WHERE ' . $recordkey; + $res=MSD_query($sqlu); + $msg='

    ' . $lang['sql_recordupdated'] . '

    '; + if (isset($mode) && $mode == 'searchedit') $search=1; + $sql_to_display_data=1; +} +//Datensatz einfuegen +if (isset($_POST['insert'])) +{ + GetPostParams(); + $f=explode('|',$_POST['feldnamen']); + $sqlu='INSERT INTO `' . $tablename . '` SET '; + for ($i=0; $i < count($f); $i++) + { + $sqlu.='`' . $f[$i] . '`=\'' . convert_to_latin1($_POST[$f[$i]]) . '\', '; + } + $sqlu=substr($sqlu,0,strlen($sqlu) - 2); + $res=MSD_query($sqlu); + $msg='

    ' . $lang['sql_recordinserted'] . '

    '; + $sql_to_display_data=1; +} + +if (isset($_POST['cancel'])) GetPostParams(); + +//Tabellenansicht +$showtables=( substr(strtoupper($sql['sql_statement']),0,10) == "SHOW TABLE" ) ? 1 : 0; +$tabellenansicht=( substr(strtoupper($sql['sql_statement']),0,5) == "SHOW " ) ? 1 : 0; + +if (!isset($limitstart)) $limitstart=0; +$limitende=$config['sql_limit']; +if (strtolower(substr($sql['sql_statement'],0,6)) == "select") $limit=' LIMIT ' . $limitstart . ', ' . $limitende . ';'; + +$params="sql.php?db=" . $db . "&tablename=" . $tablename . "&dbid=" . $dbid . '&context=' . $context . '&sql_statement=' . urlencode($sql['sql_statement']) . '&tdc=' . $tdcompact . '&showtables=' . $showtables; +if ($order != "") $params.="&order=" . $order . "&orderdir=" . $orderdir . '&context=' . $context; +if ($bb > -1) $params.="&bb=" . $bb; + +$aus=headline($lang['sql_browser']); + +// Kopfzeile -- Tools... +$aus.='

    ' . $icon['back2db_overview'] . '  '; +$aus.='[' . $lang['tools'] . ']  ' . $lang['db'] . '  '; + +if ($context < 3) +{ + $aus.='`' . $db . '` ' . ( ( $tablename != "" ) ? '' . $lang['table'] . ' `' . $tablename . '`' : '' ) . ''; +} +else + $aus.="(" . $lang['sql_selecdb'] . ")"; +$aus.='

    '; + +if ($search == 0 && !$download) +{ + echo $aus; + $aus=''; + include ( './sqlbrowser/sqlbox.php' ); + + if ($mode > '' && $context == 0) + { + if (isset($recordkey) && $recordkey > '') $rk=urldecode($recordkey); + if (isset($_GET['tablename'])) $tablename=$_GET['tablename']; + + if ($mode == 'kill' || $mode == 'kill_view') + { + if ($showtables == 0) + { + if (strpos($rk,"|") != false) + { + $rk=str_replace('|',' AND ',$rk); + } + $sqlk="DELETE FROM `$tablename` WHERE " . $rk . " LIMIT 1"; + $res=MSD_query($sqlk); + //echo "
    ".$sqlk; + $aus.='

    ' . $lang['sql_recorddeleted'] . '

    '; + } + else + { + $sqlk="DROP TABLE `$rk`"; + if ($mode == 'kill_view') $sqlk='DROP VIEW `' . $rk . '`'; + $res=MSD_query($sqlk); + $aus.='

    ' . sprintf($lang['sql_recorddeleted'],$rk) . '

    '; + } + } + if ($mode == "empty") + { + + if ($showtables == 0) + { + + } + else + { + $sqlk="TRUNCATE `$rk`"; + $res=MSD_query($sqlk); + $aus.='

    ' . sprintf($lang['sql_tableemptied'],$rk) . '

    '; + } + } + if ($mode == "emptyk") + { + if ($showtables == 0) + { + + } + else + { + $sqlk="TRUNCATE `$rk`;"; + $res=MSD_query($sqlk); + $sqlk="ALTER TABLE `$rk` AUTO_INCREMENT=1;"; + $res=MSD_query($sqlk); + $aus.='

    ' . sprintf($lang['sql_tableemptiedkeys'],$rk) . '

    '; + } + } + if ($mode == "edit" || $mode == "searchedit") + { + $rk=str_replace('|',' AND ',$recordkey); + $aus.='

    ' . $lang['sql_recordedit'] . '

    '; + $sqledit="SELECT * FROM `$tablename` WHERE " . $rk; + + $res=MSD_query($sqledit); + $aus.='
    '; + $row=mysql_fetch_row($res); + $aus.=''; + $feldnamen=""; + for ($x=0; $x < count($row); $x++) + { + $str=mysql_fetch_field($res,$x); + $feldnamen.=$str->name . '|'; + $aus.=''; + $aus.=''; //'.$str->type.' + } + + $aus.=''; + $aus.='
    ' . convert_to_utf8($str->name) . ''; + if ($str->type == 'blob') $aus.=''; + else $aus.=''; + $aus.=' 
    +     +     +
    ' . FormHiddenParams() . '
    '; + } + + if ($mode == "new") + { + $aus.='

    ' . $lang['sql_recordnew'] . '

    '; + $sqledit="SHOW FIELDS FROM `$tablename`"; + $res=MSD_query($sqledit); + $num=mysql_numrows($res); + $aus.='
    '; + $aus.=''; + + $aus.=''; + $feldnamen=""; + for ($x=0; $x < $num; $x++) + { + $row=mysql_fetch_row($res); + $feldnamen.=$row[0] . '|'; + $aus.=''; + $aus.=''; //'.$str->type.' + } + $aus.=''; + $aus.='
    ' . $row[0] . ''; + $type=strtoupper($row[1]); + if ($type == 'BLOB' || $type == 'TEXT') $aus.=''; + else $aus.=''; + $aus.=' 
          
    ' . FormHiddenParams() . '
    '; + + } + } + + if ($context == 0) include_once ( './sqlbrowser/sql_dataview.php' ); + if ($context == 1) include ( './sqlbrowser/sql_commands.php' ); + if ($context == 2) include ( './sqlbrowser/sql_tables.php' ); + if ($context == 3) include ( './inc/sql_tools.php' ); +} +if ($context == 4) include ( './inc/sql_importexport.php' ); +if ($search == 1) include ( './sqlbrowser/mysql_search.php' ); + +if (!$download) +{ + ?> + +

    '; + echo MSDFooter(); +} + +function FormHiddenParams() +{ + global $db,$dbid,$tablename,$context,$limitstart,$order,$orderdir; + + $s=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + return $s; +} \ No newline at end of file diff --git a/sqlbrowser/mysql_search.php b/sqlbrowser/mysql_search.php new file mode 100644 index 0000000..c64af25 --- /dev/null +++ b/sqlbrowser/mysql_search.php @@ -0,0 +1,411 @@ + count($tables) - 1) $table_selected=0; + +$offset=( isset($_POST['offset']) ) ? intval($_POST['offset']):0; + +$tablename=isset($_GET['tablename']) ? urldecode($_GET['tablename']):''; + +// Delete +if (isset($_GET['mode']) && $_GET['mode'] == "kill" && $rk > '') +{ + //echo "
    RK ist: ".$rk."

    "; + if (strpos($rk,"|") != false) $rk=str_replace('|',' AND ',$rk); + $sqlk="DELETE FROM `$tablename` WHERE " . $rk . " LIMIT 1"; + //echo $sqlk; + $res=MSD_query($sqlk); + // echo "
    ".$res; + $aus.='

    ' . $lang['sql_recorddeleted'] . '

    '; +} + +function mysql_search($db, $tabelle, $suchbegriffe, $suchart, $offset=0, $anzahl_ergebnisse=20, $auszuschliessende_tabellen='') +{ + global $tables,$config; + $ret=false; + $link=MSD_mysql_connect(); + if (sizeof($tables) > 0) + { + $suchbegriffe=trim(str_replace('*','',$suchbegriffe)); + $suchworte=explode(' ',$suchbegriffe); + if (( $suchbegriffe > '' ) && ( is_array($suchworte) )) + { + // Leere Einträge (durch doppelte Leerzeichen) entfernen + $anzahl_suchworte=sizeof($suchworte); + for ($i=0; $i < $anzahl_suchworte; $i++) + { + if (trim($suchworte[$i]) == '') unset($suchworte[$i]); + } + + $bedingung=''; + $where=''; + $felder=''; + + // Felder ermitteln + $sql='SHOW COLUMNS FROM `' . $db . '`.`' . $tables[$tabelle] . '`'; + $res=mysql_query($sql,$link); + unset($felder); + if (!$res === false) + { + // Felder der Tabelle ermitteln + WHILE ($row=mysql_fetch_object($res)) + { + $felder[]=$row->Field; + } + } + + $feldbedingung=''; + if ($suchart == 'CONCAT') + { + if (is_array($felder)) + { + //Concat-String bildem + $concat=implode('`),LOWER(`',$felder); + $concat='CONCAT_WS(\'\',LOWER(`' . $concat . '`))'; + $where=''; + foreach ($suchworte as $suchbegriff) + { + $where.=$concat . ' LIKE \'%' . strtolower($suchbegriff) . '%\' AND '; + } + $where=substr($where,0,-4); // letztes AND entfernen + $sql='SELECT * FROM `' . $db . '`.`' . $tables[$tabelle] . '` WHERE ' . $where . ' LIMIT ' . $offset . ',' . $anzahl_ergebnisse; + } + } + else + { + $pattern='`{FELD}` LIKE \'%{SUCHBEGRIFF}%\''; + if (is_array($felder)) + { + foreach ($felder as $feld) + { + unset($feldbedingung); + foreach ($suchworte as $suchbegriff) + { + $suchen=ARRAY( + + '{FELD}', + '{SUCHBEGRIFF}' + ); + $ersetzen=ARRAY( + + $feld, + $suchbegriff + ); + $feldbedingung[]=str_replace($suchen,$ersetzen,$pattern); + } + $bedingung[]='(' . implode(' ' . $suchart . ' ',$feldbedingung) . ') '; + } + } + else + die('
    Fehler bei Suche: ich konnte nicht ermitteln welche Felder die Tabelle "' . $tabelle . '" hat!'); + $where=implode(' OR ',$bedingung); + $sql='SELECT * FROM `' . $db . '`.`' . $tables[$tabelle] . '` WHERE (' . $where . ') LIMIT ' . $offset . ',' . $anzahl_ergebnisse; + } + } + else + $sql='SELECT * FROM `' . $db . '`.`' . $tables[$tabelle] . '` LIMIT ' . $offset . ',' . $anzahl_ergebnisse; + + $res=@mysql_query($sql,$link); + if ($res) + { + WHILE ($row=mysql_fetch_array($res,MYSQL_ASSOC)) + { + //Treffer markieren + foreach ($row as $key=>$val) + { + foreach ($suchworte as $suchbegriff) + { + $row[$key]=markiere_suchtreffer($suchbegriff,$row[$key]); + } + $row[$key]=ersetze_suchtreffer($row[$key]); + } + $ret[]=$row; + } + } + } + return $ret; +} + +// Markiert den Suchbegriff mit einem Code (ASCII 01/02) +// - falls nicht gefunden : Rückgabe des Originalstrings +// +function markiere_suchtreffer($suchbegriff, $suchstring) +{ + $str=strtolower($suchstring); + $suchbegriff=strtolower($suchbegriff); + if (( strlen($str) > 0 ) && ( strlen($suchbegriff) > 0 )) + { + // Treffer Position bestimmen + $offset=0; + $trefferpos=0; + while (( $offset <= strlen($str) )) + //Wenn nur der erste Treffer markiert werden soll, so muss die Zeile so lauten + // while ( ($offset<=strlen($str)) || ($in_html==false) ) + { + for ($offset=$trefferpos; $offset <= strlen($str); $offset++) + { + $start=strpos($str,$suchbegriff,$offset); + if ($start === false) $offset=strlen($str) + 1; + else + { + if ($offset <= strlen($str)) + { + //Treffer überprüfen + $in_html=false; + // Steht die Fundstelle zwischen < und > (also im HTML-Tag) ? + for ($position=$start; $position >= 0; $position--) + { + if (substr($str,$position,1) == ">") + { + $in_html=false; + $position=-1; // Schleife verlassen + } + if (substr($str,$position,1) == "<") + { + $in_html=true; + $position=-1; // Schleife verlassen + } + } + if ($in_html) + { + for ($position2=$start; $position2 < strlen($str); $position2++) + { + if (substr($str,$position2,1) == "<") + { + $position2=strlen($str) + 1; + } + if (substr($str,$position2,1) == ">") + { + $in_html=true; + $position2=strlen($str) + 1; + $offset=strlen($str) + 1; + } + } + } + if (!$in_html) + { + $ersetzen=substr($suchstring,$start,strlen($suchbegriff)); + $str=substr($suchstring,0,$start); + $str.=chr(1) . $ersetzen . chr(2); + $str.=substr($suchstring,( $start + strlen($ersetzen) ),( strlen($suchstring) - strlen($ersetzen) )); + $suchstring=$str; + } + if ($in_html) + { + $trefferpos=$start + 1; + $offset=$trefferpos; + } + } + $offset=$start + 1; + } + } + } + } + return $suchstring; +} + +// Ersetzt die Codes letztlich durch die Fontangabe +function ersetze_suchtreffer($text) +{ + $such=ARRAY( + + chr(1), + chr(2) + ); + $ersetzen=ARRAY( + + '', + '' + ); + return str_replace($such,$ersetzen,htmlspecialchars($text)); +} + +$suchbegriffe=trim($suchbegriffe); // Leerzeichen vorne und hinten wegschneiden +if (isset($_POST['reset'])) +{ + $suchbegriffe=''; + $_SESSION['mysql_search']['suchbegriffe']=''; + $suchart='AND'; + $_SESSION['mysql_search']['suchart']='AND'; + $table_selected=0; + $_SESSION['mysql_search']['table_selected']=0; +} +$showtables=0; // Anzeige der Tabellendaten im restlichen SQL-Browser ausschalten + + +// Fix bis zur kompletten Umstellung auf Templates +echo $aus; +$aus=''; + +$anzahl_tabellen=sizeof($tables); +$table_options=''; +if ($anzahl_tabellen > 0) +{ + for ($i=0; $i < $anzahl_tabellen; $i++) + { + if (isset($tables[$i])) + { + $table_options.='