From 25d3a3ee93ee3adfc9790a9a2531e169f9a9c2cd 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/changelog.txt | 135 ++ ReadMe/install_deutsch.txt | 96 ++ ReadMe/install_english.txt | 70 + ReadMe/install_francais.txt | 71 + ReadMe/install_italiano.txt | 65 + ReadMe/license_deutsch.txt | 105 ++ ReadMe/license_english.txt | 88 ++ ReadMe/update_deutsch.txt | 10 + ReadMe/update_english.txt | 10 + mysqldumper/config.php | 152 ++ mysqldumper/config_overview.php | 771 ++++++++++ mysqldumper/css/msd/icons/ardown.gif | Bin 0 -> 859 bytes mysqldumper/css/msd/icons/arrowdown.gif | Bin 0 -> 65 bytes mysqldumper/css/msd/icons/arrowleft.gif | Bin 0 -> 878 bytes mysqldumper/css/msd/icons/arrowup.gif | Bin 0 -> 64 bytes mysqldumper/css/msd/icons/arup.gif | Bin 0 -> 857 bytes mysqldumper/css/msd/icons/blank.gif | Bin 0 -> 43 bytes mysqldumper/css/msd/icons/browse.gif | Bin 0 -> 995 bytes mysqldumper/css/msd/icons/close.gif | Bin 0 -> 880 bytes mysqldumper/css/msd/icons/compact.gif | Bin 0 -> 868 bytes mysqldumper/css/msd/icons/delete.gif | Bin 0 -> 944 bytes mysqldumper/css/msd/icons/edit.gif | Bin 0 -> 985 bytes mysqldumper/css/msd/icons/empty.gif | Bin 0 -> 979 bytes mysqldumper/css/msd/icons/emptykeys.gif | Bin 0 -> 864 bytes mysqldumper/css/msd/icons/encompact.gif | Bin 0 -> 868 bytes mysqldumper/css/msd/icons/fulltext.gif | Bin 0 -> 1295 bytes mysqldumper/css/msd/icons/gz.gif | Bin 0 -> 1468 bytes mysqldumper/css/msd/icons/help16.gif | Bin 0 -> 147 bytes mysqldumper/css/msd/icons/help32.gif | Bin 0 -> 252 bytes mysqldumper/css/msd/icons/key.gif | Bin 0 -> 489 bytes mysqldumper/css/msd/icons/key_primary.gif | Bin 0 -> 994 bytes mysqldumper/css/msd/icons/nokey.gif | Bin 0 -> 1299 bytes mysqldumper/css/msd/icons/notok.gif | Bin 0 -> 900 bytes mysqldumper/css/msd/icons/ok.gif | Bin 0 -> 905 bytes mysqldumper/css/msd/icons/openfile.gif | Bin 0 -> 941 bytes mysqldumper/css/msd/icons/primary.gif | Bin 0 -> 1302 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 mysqldumper/css/msd/icons/rename.gif | Bin 0 -> 296 bytes mysqldumper/css/msd/icons/search.gif | Bin 0 -> 540 bytes mysqldumper/css/msd/icons/unique.gif | Bin 0 -> 1302 bytes mysqldumper/css/msd/pics/body_bg.gif | Bin 0 -> 53 bytes mysqldumper/css/msd/pics/cellpic.gif | Bin 0 -> 1110 bytes mysqldumper/css/msd/pics/h1_logo.gif | Bin 0 -> 4476 bytes mysqldumper/css/msd/pics/mainnavi.gif | Bin 0 -> 1748 bytes mysqldumper/css/msd/pics/menubutton.gif | Bin 0 -> 359 bytes mysqldumper/css/msd/pics/navi_bg.jpg | Bin 0 -> 21264 bytes mysqldumper/css/msd/pics/overall_bg.gif | Bin 0 -> 51 bytes mysqldumper/css/msd/pics/pagetitle.gif | Bin 0 -> 200 bytes mysqldumper/css/msd/style.css | 158 +++ mysqldumper/dump.php | 429 ++++++ mysqldumper/filemanagement.php | 518 +++++++ mysqldumper/images/blank.gif | Bin 0 -> 43 bytes mysqldumper/images/h1_logo.gif | Bin 0 -> 4476 bytes mysqldumper/images/konqueror.png | Bin 0 -> 285 bytes mysqldumper/images/logo.gif | Bin 0 -> 5235 bytes mysqldumper/images/mozilla.png | Bin 0 -> 299 bytes mysqldumper/images/msie.png | Bin 0 -> 314 bytes mysqldumper/images/omniweb.png | Bin 0 -> 355 bytes mysqldumper/images/opera.png | Bin 0 -> 284 bytes mysqldumper/images/safari.png | Bin 0 -> 324 bytes mysqldumper/images/schriftzug_logo.png | Bin 0 -> 8228 bytes mysqldumper/inc/footer.php | 15 + mysqldumper/inc/functions.php | 523 +++++++ mysqldumper/inc/functions_dump.php | 483 +++++++ mysqldumper/inc/functions_files.php | 378 +++++ mysqldumper/inc/functions_global.php | 986 +++++++++++++ mysqldumper/inc/functions_restore.php | 500 +++++++ mysqldumper/inc/functions_sql.php | 1254 +++++++++++++++++ mysqldumper/inc/header.php | 21 + mysqldumper/inc/mysql.php | 127 ++ mysqldumper/inc/runtime.php | 119 ++ mysqldumper/inc/sql_dataview.php | 301 ++++ mysqldumper/inc/sql_importexport.php | 254 ++++ mysqldumper/inc/sql_inputbox.php | 137 ++ mysqldumper/inc/sql_sqlstrings.php | 73 + mysqldumper/inc/sql_tables.php | 324 +++++ mysqldumper/inc/sql_tools.php | 144 ++ mysqldumper/inc/sqllib.php | 55 + mysqldumper/inc/tabellenabfrage.php | 98 ++ mysqldumper/inc/template.php | 478 +++++++ mysqldumper/index.php | 41 + mysqldumper/install.php | 753 ++++++++++ mysqldumper/js/script.js | 240 ++++ mysqldumper/language/da/help.php | 150 ++ mysqldumper/language/da/lang.php | 114 ++ .../language/da/lang_config_overview.php | 102 ++ mysqldumper/language/da/lang_dump.php | 62 + .../language/da/lang_filemanagement.php | 86 ++ mysqldumper/language/da/lang_help.php | 50 + mysqldumper/language/da/lang_install.php | 89 ++ mysqldumper/language/da/lang_log.php | 14 + mysqldumper/language/da/lang_main.php | 73 + mysqldumper/language/da/lang_restore.php | 23 + mysqldumper/language/da/lang_sql.php | 177 +++ mysqldumper/language/de/help.php | 141 ++ mysqldumper/language/de/lang.php | 114 ++ .../language/de/lang_config_overview.php | 103 ++ mysqldumper/language/de/lang_dump.php | 58 + .../language/de/lang_filemanagement.php | 84 ++ mysqldumper/language/de/lang_help.php | 51 + mysqldumper/language/de/lang_install.php | 94 ++ mysqldumper/language/de/lang_log.php | 11 + mysqldumper/language/de/lang_main.php | 74 + mysqldumper/language/de/lang_restore.php | 23 + mysqldumper/language/de/lang_sql.php | 185 +++ mysqldumper/language/de_du/help.php | 141 ++ mysqldumper/language/de_du/lang.php | 114 ++ .../language/de_du/lang_config_overview.php | 103 ++ mysqldumper/language/de_du/lang_dump.php | 58 + .../language/de_du/lang_filemanagement.php | 84 ++ mysqldumper/language/de_du/lang_help.php | 51 + mysqldumper/language/de_du/lang_install.php | 94 ++ mysqldumper/language/de_du/lang_log.php | 11 + mysqldumper/language/de_du/lang_main.php | 74 + mysqldumper/language/de_du/lang_restore.php | 23 + mysqldumper/language/de_du/lang_sql.php | 185 +++ mysqldumper/language/en/help.php | 151 ++ mysqldumper/language/en/lang.php | 114 ++ .../language/en/lang_config_overview.php | 101 ++ mysqldumper/language/en/lang_dump.php | 59 + .../language/en/lang_filemanagement.php | 83 ++ mysqldumper/language/en/lang_help.php | 47 + mysqldumper/language/en/lang_install.php | 94 ++ mysqldumper/language/en/lang_log.php | 11 + mysqldumper/language/en/lang_main.php | 74 + mysqldumper/language/en/lang_restore.php | 23 + mysqldumper/language/en/lang_sql.php | 178 +++ mysqldumper/language/es/help.php | 175 +++ mysqldumper/language/es/lang.php | 114 ++ .../language/es/lang_config_overview.php | 102 ++ mysqldumper/language/es/lang_dump.php | 58 + .../language/es/lang_filemanagement.php | 83 ++ mysqldumper/language/es/lang_help.php | 46 + mysqldumper/language/es/lang_install.php | 94 ++ mysqldumper/language/es/lang_log.php | 11 + mysqldumper/language/es/lang_main.php | 74 + mysqldumper/language/es/lang_restore.php | 23 + mysqldumper/language/es/lang_sql.php | 178 +++ mysqldumper/language/flags/da.gif | Bin 0 -> 117 bytes mysqldumper/language/flags/de.gif | Bin 0 -> 158 bytes mysqldumper/language/flags/de_du.gif | Bin 0 -> 158 bytes mysqldumper/language/flags/en.gif | Bin 0 -> 206 bytes mysqldumper/language/flags/es.gif | Bin 0 -> 141 bytes mysqldumper/language/flags/fr.gif | Bin 0 -> 140 bytes mysqldumper/language/flags/it.gif | Bin 0 -> 140 bytes mysqldumper/language/flags/lu.gif | Bin 0 -> 232 bytes mysqldumper/language/flags/nl.gif | Bin 0 -> 141 bytes mysqldumper/language/flags/pt_br.gif | Bin 0 -> 222 bytes mysqldumper/language/flags/sw.gif | Bin 0 -> 117 bytes mysqldumper/language/flags/tr.gif | Bin 0 -> 612 bytes mysqldumper/language/flags/vn.gif | Bin 0 -> 928 bytes mysqldumper/language/fr/help.php | 137 ++ mysqldumper/language/fr/lang.php | 114 ++ .../language/fr/lang_config_overview.php | 102 ++ mysqldumper/language/fr/lang_dump.php | 58 + .../language/fr/lang_filemanagement.php | 79 ++ mysqldumper/language/fr/lang_help.php | 51 + mysqldumper/language/fr/lang_install.php | 94 ++ mysqldumper/language/fr/lang_log.php | 11 + mysqldumper/language/fr/lang_main.php | 70 + mysqldumper/language/fr/lang_restore.php | 23 + mysqldumper/language/fr/lang_sql.php | 185 +++ mysqldumper/language/it/help.php | 143 ++ mysqldumper/language/it/lang.php | 114 ++ .../language/it/lang_config_overview.php | 100 ++ mysqldumper/language/it/lang_dump.php | 58 + .../language/it/lang_filemanagement.php | 77 + mysqldumper/language/it/lang_help.php | 46 + mysqldumper/language/it/lang_install.php | 88 ++ mysqldumper/language/it/lang_log.php | 11 + mysqldumper/language/it/lang_main.php | 70 + mysqldumper/language/it/lang_restore.php | 23 + mysqldumper/language/it/lang_sql.php | 177 +++ mysqldumper/language/lang_list.php | 104 ++ mysqldumper/language/lu/help.php | 141 ++ mysqldumper/language/lu/lang.php | 114 ++ .../language/lu/lang_config_overview.php | 101 ++ mysqldumper/language/lu/lang_dump.php | 59 + .../language/lu/lang_filemanagement.php | 83 ++ mysqldumper/language/lu/lang_help.php | 47 + mysqldumper/language/lu/lang_install.php | 94 ++ mysqldumper/language/lu/lang_log.php | 11 + mysqldumper/language/lu/lang_main.php | 74 + mysqldumper/language/lu/lang_restore.php | 23 + mysqldumper/language/lu/lang_sql.php | 178 +++ mysqldumper/language/nl/help.php | 140 ++ mysqldumper/language/nl/lang.php | 114 ++ .../language/nl/lang_config_overview.php | 101 ++ mysqldumper/language/nl/lang_dump.php | 59 + .../language/nl/lang_filemanagement.php | 83 ++ mysqldumper/language/nl/lang_help.php | 47 + mysqldumper/language/nl/lang_install.php | 94 ++ mysqldumper/language/nl/lang_log.php | 11 + mysqldumper/language/nl/lang_main.php | 74 + mysqldumper/language/nl/lang_restore.php | 23 + mysqldumper/language/nl/lang_sql.php | 178 +++ mysqldumper/language/pt_br/help.php | 178 +++ mysqldumper/language/pt_br/lang.php | 114 ++ .../language/pt_br/lang_config_overview.php | 102 ++ mysqldumper/language/pt_br/lang_dump.php | 59 + .../language/pt_br/lang_filemanagement.php | 83 ++ mysqldumper/language/pt_br/lang_help.php | 50 + mysqldumper/language/pt_br/lang_install.php | 94 ++ mysqldumper/language/pt_br/lang_log.php | 11 + mysqldumper/language/pt_br/lang_main.php | 74 + mysqldumper/language/pt_br/lang_restore.php | 23 + mysqldumper/language/pt_br/lang_sql.php | 178 +++ mysqldumper/language/sw/help.php | 134 ++ mysqldumper/language/sw/lang.php | 114 ++ .../language/sw/lang_config_overview.php | 103 ++ mysqldumper/language/sw/lang_dump.php | 58 + .../language/sw/lang_filemanagement.php | 85 ++ mysqldumper/language/sw/lang_help.php | 51 + mysqldumper/language/sw/lang_install.php | 94 ++ mysqldumper/language/sw/lang_log.php | 11 + mysqldumper/language/sw/lang_main.php | 74 + mysqldumper/language/sw/lang_restore.php | 23 + mysqldumper/language/sw/lang_sql.php | 185 +++ mysqldumper/language/tr/help.php | 139 ++ mysqldumper/language/tr/lang.php | 114 ++ .../language/tr/lang_config_overview.php | 101 ++ mysqldumper/language/tr/lang_dump.php | 58 + .../language/tr/lang_filemanagement.php | 83 ++ mysqldumper/language/tr/lang_help.php | 50 + mysqldumper/language/tr/lang_install.php | 94 ++ mysqldumper/language/tr/lang_log.php | 11 + mysqldumper/language/tr/lang_main.php | 70 + mysqldumper/language/tr/lang_restore.php | 23 + mysqldumper/language/tr/lang_sql.php | 184 +++ mysqldumper/log.php | 104 ++ mysqldumper/main.php | 551 ++++++++ mysqldumper/menu.php | 120 ++ mysqldumper/msd_cron/crondump.pl | 834 +++++++++++ mysqldumper/msd_cron/perltest.pl | 109 ++ mysqldumper/msd_cron/simpletest.pl | 21 + mysqldumper/refresh_dblist.php | 22 + mysqldumper/restore.php | 301 ++++ mysqldumper/sql.php | 1175 +++++++++++++++ mysqldumper/sqlbrowser/mysql_search.php | 308 ++++ mysqldumper/sqlbrowser/sqlbox.php | 55 + .../sqlbrowser/templates/mysql_search.tpl | 68 + mysqldumper/sqlbrowser/templates/sqlbox.tpl | 46 + mysqldumper/style.php | 141 ++ 246 files changed, 25170 insertions(+) create mode 100644 ReadMe/ReadMe.txt create mode 100644 ReadMe/changelog.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/update_deutsch.txt create mode 100644 ReadMe/update_english.txt create mode 100644 mysqldumper/config.php create mode 100644 mysqldumper/config_overview.php create mode 100644 mysqldumper/css/msd/icons/ardown.gif create mode 100644 mysqldumper/css/msd/icons/arrowdown.gif create mode 100644 mysqldumper/css/msd/icons/arrowleft.gif create mode 100644 mysqldumper/css/msd/icons/arrowup.gif create mode 100644 mysqldumper/css/msd/icons/arup.gif create mode 100644 mysqldumper/css/msd/icons/blank.gif create mode 100644 mysqldumper/css/msd/icons/browse.gif create mode 100644 mysqldumper/css/msd/icons/close.gif create mode 100644 mysqldumper/css/msd/icons/compact.gif create mode 100644 mysqldumper/css/msd/icons/delete.gif create mode 100644 mysqldumper/css/msd/icons/edit.gif create mode 100644 mysqldumper/css/msd/icons/empty.gif create mode 100644 mysqldumper/css/msd/icons/emptykeys.gif create mode 100644 mysqldumper/css/msd/icons/encompact.gif create mode 100644 mysqldumper/css/msd/icons/fulltext.gif create mode 100644 mysqldumper/css/msd/icons/gz.gif create mode 100644 mysqldumper/css/msd/icons/help16.gif create mode 100644 mysqldumper/css/msd/icons/help32.gif create mode 100644 mysqldumper/css/msd/icons/key.gif create mode 100644 mysqldumper/css/msd/icons/key_primary.gif create mode 100644 mysqldumper/css/msd/icons/nokey.gif create mode 100644 mysqldumper/css/msd/icons/notok.gif create mode 100644 mysqldumper/css/msd/icons/ok.gif create mode 100644 mysqldumper/css/msd/icons/openfile.gif create mode 100644 mysqldumper/css/msd/icons/primary.gif create mode 100644 mysqldumper/css/msd/icons/progressbar_dump.gif create mode 100644 mysqldumper/css/msd/icons/progressbar_restore.gif create mode 100644 mysqldumper/css/msd/icons/progressbar_speed.gif create mode 100644 mysqldumper/css/msd/icons/rename.gif create mode 100644 mysqldumper/css/msd/icons/search.gif create mode 100644 mysqldumper/css/msd/icons/unique.gif create mode 100644 mysqldumper/css/msd/pics/body_bg.gif create mode 100644 mysqldumper/css/msd/pics/cellpic.gif create mode 100644 mysqldumper/css/msd/pics/h1_logo.gif create mode 100644 mysqldumper/css/msd/pics/mainnavi.gif create mode 100644 mysqldumper/css/msd/pics/menubutton.gif create mode 100644 mysqldumper/css/msd/pics/navi_bg.jpg create mode 100644 mysqldumper/css/msd/pics/overall_bg.gif create mode 100644 mysqldumper/css/msd/pics/pagetitle.gif create mode 100644 mysqldumper/css/msd/style.css create mode 100644 mysqldumper/dump.php create mode 100644 mysqldumper/filemanagement.php create mode 100644 mysqldumper/images/blank.gif create mode 100644 mysqldumper/images/h1_logo.gif create mode 100644 mysqldumper/images/konqueror.png create mode 100644 mysqldumper/images/logo.gif create mode 100644 mysqldumper/images/mozilla.png create mode 100644 mysqldumper/images/msie.png create mode 100644 mysqldumper/images/omniweb.png create mode 100644 mysqldumper/images/opera.png create mode 100644 mysqldumper/images/safari.png create mode 100644 mysqldumper/images/schriftzug_logo.png create mode 100644 mysqldumper/inc/footer.php create mode 100644 mysqldumper/inc/functions.php create mode 100644 mysqldumper/inc/functions_dump.php create mode 100644 mysqldumper/inc/functions_files.php create mode 100644 mysqldumper/inc/functions_global.php create mode 100644 mysqldumper/inc/functions_restore.php create mode 100644 mysqldumper/inc/functions_sql.php create mode 100644 mysqldumper/inc/header.php create mode 100644 mysqldumper/inc/mysql.php create mode 100644 mysqldumper/inc/runtime.php create mode 100644 mysqldumper/inc/sql_dataview.php create mode 100644 mysqldumper/inc/sql_importexport.php create mode 100644 mysqldumper/inc/sql_inputbox.php create mode 100644 mysqldumper/inc/sql_sqlstrings.php create mode 100644 mysqldumper/inc/sql_tables.php create mode 100644 mysqldumper/inc/sql_tools.php create mode 100644 mysqldumper/inc/sqllib.php create mode 100644 mysqldumper/inc/tabellenabfrage.php create mode 100644 mysqldumper/inc/template.php create mode 100644 mysqldumper/index.php create mode 100644 mysqldumper/install.php create mode 100644 mysqldumper/js/script.js create mode 100644 mysqldumper/language/da/help.php create mode 100644 mysqldumper/language/da/lang.php create mode 100644 mysqldumper/language/da/lang_config_overview.php create mode 100644 mysqldumper/language/da/lang_dump.php create mode 100644 mysqldumper/language/da/lang_filemanagement.php create mode 100644 mysqldumper/language/da/lang_help.php create mode 100644 mysqldumper/language/da/lang_install.php create mode 100644 mysqldumper/language/da/lang_log.php create mode 100644 mysqldumper/language/da/lang_main.php create mode 100644 mysqldumper/language/da/lang_restore.php create mode 100644 mysqldumper/language/da/lang_sql.php create mode 100644 mysqldumper/language/de/help.php create mode 100644 mysqldumper/language/de/lang.php create mode 100644 mysqldumper/language/de/lang_config_overview.php create mode 100644 mysqldumper/language/de/lang_dump.php create mode 100644 mysqldumper/language/de/lang_filemanagement.php create mode 100644 mysqldumper/language/de/lang_help.php create mode 100644 mysqldumper/language/de/lang_install.php create mode 100644 mysqldumper/language/de/lang_log.php create mode 100644 mysqldumper/language/de/lang_main.php create mode 100644 mysqldumper/language/de/lang_restore.php create mode 100644 mysqldumper/language/de/lang_sql.php create mode 100644 mysqldumper/language/de_du/help.php create mode 100644 mysqldumper/language/de_du/lang.php create mode 100644 mysqldumper/language/de_du/lang_config_overview.php create mode 100644 mysqldumper/language/de_du/lang_dump.php create mode 100644 mysqldumper/language/de_du/lang_filemanagement.php create mode 100644 mysqldumper/language/de_du/lang_help.php create mode 100644 mysqldumper/language/de_du/lang_install.php create mode 100644 mysqldumper/language/de_du/lang_log.php create mode 100644 mysqldumper/language/de_du/lang_main.php create mode 100644 mysqldumper/language/de_du/lang_restore.php create mode 100644 mysqldumper/language/de_du/lang_sql.php create mode 100644 mysqldumper/language/en/help.php create mode 100644 mysqldumper/language/en/lang.php create mode 100644 mysqldumper/language/en/lang_config_overview.php create mode 100644 mysqldumper/language/en/lang_dump.php create mode 100644 mysqldumper/language/en/lang_filemanagement.php create mode 100644 mysqldumper/language/en/lang_help.php create mode 100644 mysqldumper/language/en/lang_install.php create mode 100644 mysqldumper/language/en/lang_log.php create mode 100644 mysqldumper/language/en/lang_main.php create mode 100644 mysqldumper/language/en/lang_restore.php create mode 100644 mysqldumper/language/en/lang_sql.php create mode 100644 mysqldumper/language/es/help.php create mode 100644 mysqldumper/language/es/lang.php create mode 100644 mysqldumper/language/es/lang_config_overview.php create mode 100644 mysqldumper/language/es/lang_dump.php create mode 100644 mysqldumper/language/es/lang_filemanagement.php create mode 100644 mysqldumper/language/es/lang_help.php create mode 100644 mysqldumper/language/es/lang_install.php create mode 100644 mysqldumper/language/es/lang_log.php create mode 100644 mysqldumper/language/es/lang_main.php create mode 100644 mysqldumper/language/es/lang_restore.php create mode 100644 mysqldumper/language/es/lang_sql.php create mode 100644 mysqldumper/language/flags/da.gif create mode 100644 mysqldumper/language/flags/de.gif create mode 100644 mysqldumper/language/flags/de_du.gif create mode 100644 mysqldumper/language/flags/en.gif create mode 100644 mysqldumper/language/flags/es.gif create mode 100644 mysqldumper/language/flags/fr.gif create mode 100644 mysqldumper/language/flags/it.gif create mode 100644 mysqldumper/language/flags/lu.gif create mode 100644 mysqldumper/language/flags/nl.gif create mode 100644 mysqldumper/language/flags/pt_br.gif create mode 100644 mysqldumper/language/flags/sw.gif create mode 100644 mysqldumper/language/flags/tr.gif create mode 100644 mysqldumper/language/flags/vn.gif create mode 100644 mysqldumper/language/fr/help.php create mode 100644 mysqldumper/language/fr/lang.php create mode 100644 mysqldumper/language/fr/lang_config_overview.php create mode 100644 mysqldumper/language/fr/lang_dump.php create mode 100644 mysqldumper/language/fr/lang_filemanagement.php create mode 100644 mysqldumper/language/fr/lang_help.php create mode 100644 mysqldumper/language/fr/lang_install.php create mode 100644 mysqldumper/language/fr/lang_log.php create mode 100644 mysqldumper/language/fr/lang_main.php create mode 100644 mysqldumper/language/fr/lang_restore.php create mode 100644 mysqldumper/language/fr/lang_sql.php create mode 100644 mysqldumper/language/it/help.php create mode 100644 mysqldumper/language/it/lang.php create mode 100644 mysqldumper/language/it/lang_config_overview.php create mode 100644 mysqldumper/language/it/lang_dump.php create mode 100644 mysqldumper/language/it/lang_filemanagement.php create mode 100644 mysqldumper/language/it/lang_help.php create mode 100644 mysqldumper/language/it/lang_install.php create mode 100644 mysqldumper/language/it/lang_log.php create mode 100644 mysqldumper/language/it/lang_main.php create mode 100644 mysqldumper/language/it/lang_restore.php create mode 100644 mysqldumper/language/it/lang_sql.php create mode 100644 mysqldumper/language/lang_list.php create mode 100644 mysqldumper/language/lu/help.php create mode 100644 mysqldumper/language/lu/lang.php create mode 100644 mysqldumper/language/lu/lang_config_overview.php create mode 100644 mysqldumper/language/lu/lang_dump.php create mode 100644 mysqldumper/language/lu/lang_filemanagement.php create mode 100644 mysqldumper/language/lu/lang_help.php create mode 100644 mysqldumper/language/lu/lang_install.php create mode 100644 mysqldumper/language/lu/lang_log.php create mode 100644 mysqldumper/language/lu/lang_main.php create mode 100644 mysqldumper/language/lu/lang_restore.php create mode 100644 mysqldumper/language/lu/lang_sql.php create mode 100644 mysqldumper/language/nl/help.php create mode 100644 mysqldumper/language/nl/lang.php create mode 100644 mysqldumper/language/nl/lang_config_overview.php create mode 100644 mysqldumper/language/nl/lang_dump.php create mode 100644 mysqldumper/language/nl/lang_filemanagement.php create mode 100644 mysqldumper/language/nl/lang_help.php create mode 100644 mysqldumper/language/nl/lang_install.php create mode 100644 mysqldumper/language/nl/lang_log.php create mode 100644 mysqldumper/language/nl/lang_main.php create mode 100644 mysqldumper/language/nl/lang_restore.php create mode 100644 mysqldumper/language/nl/lang_sql.php create mode 100644 mysqldumper/language/pt_br/help.php create mode 100644 mysqldumper/language/pt_br/lang.php create mode 100644 mysqldumper/language/pt_br/lang_config_overview.php create mode 100644 mysqldumper/language/pt_br/lang_dump.php create mode 100644 mysqldumper/language/pt_br/lang_filemanagement.php create mode 100644 mysqldumper/language/pt_br/lang_help.php create mode 100644 mysqldumper/language/pt_br/lang_install.php create mode 100644 mysqldumper/language/pt_br/lang_log.php create mode 100644 mysqldumper/language/pt_br/lang_main.php create mode 100644 mysqldumper/language/pt_br/lang_restore.php create mode 100644 mysqldumper/language/pt_br/lang_sql.php create mode 100644 mysqldumper/language/sw/help.php create mode 100644 mysqldumper/language/sw/lang.php create mode 100644 mysqldumper/language/sw/lang_config_overview.php create mode 100644 mysqldumper/language/sw/lang_dump.php create mode 100644 mysqldumper/language/sw/lang_filemanagement.php create mode 100644 mysqldumper/language/sw/lang_help.php create mode 100644 mysqldumper/language/sw/lang_install.php create mode 100644 mysqldumper/language/sw/lang_log.php create mode 100644 mysqldumper/language/sw/lang_main.php create mode 100644 mysqldumper/language/sw/lang_restore.php create mode 100644 mysqldumper/language/sw/lang_sql.php create mode 100644 mysqldumper/language/tr/help.php create mode 100644 mysqldumper/language/tr/lang.php create mode 100644 mysqldumper/language/tr/lang_config_overview.php create mode 100644 mysqldumper/language/tr/lang_dump.php create mode 100644 mysqldumper/language/tr/lang_filemanagement.php create mode 100644 mysqldumper/language/tr/lang_help.php create mode 100644 mysqldumper/language/tr/lang_install.php create mode 100644 mysqldumper/language/tr/lang_log.php create mode 100644 mysqldumper/language/tr/lang_main.php create mode 100644 mysqldumper/language/tr/lang_restore.php create mode 100644 mysqldumper/language/tr/lang_sql.php create mode 100644 mysqldumper/log.php create mode 100644 mysqldumper/main.php create mode 100644 mysqldumper/menu.php create mode 100644 mysqldumper/msd_cron/crondump.pl create mode 100644 mysqldumper/msd_cron/perltest.pl create mode 100644 mysqldumper/msd_cron/simpletest.pl create mode 100644 mysqldumper/refresh_dblist.php create mode 100644 mysqldumper/restore.php create mode 100644 mysqldumper/sql.php create mode 100644 mysqldumper/sqlbrowser/mysql_search.php create mode 100644 mysqldumper/sqlbrowser/sqlbox.php create mode 100644 mysqldumper/sqlbrowser/templates/mysql_search.tpl create mode 100644 mysqldumper/sqlbrowser/templates/sqlbox.tpl create mode 100644 mysqldumper/style.php diff --git a/ReadMe/ReadMe.txt b/ReadMe/ReadMe.txt new file mode 100644 index 0000000..e270cd8 --- /dev/null +++ b/ReadMe/ReadMe.txt @@ -0,0 +1,15 @@ +MySqlDumper Copyright (C)2004-2007 Daniel Schlichtholz (admin@daniel-schlichtholz.de) & Steffen Kamper + +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/changelog.txt b/ReadMe/changelog.txt new file mode 100644 index 0000000..a8b31ff --- /dev/null +++ b/ReadMe/changelog.txt @@ -0,0 +1,135 @@ +Changelog (from Version 1.21 to 1.22): + +Added: +- used character set is shown while backing up with PHP +- used character set is shown while restoring + +Deleted: +- removed some old no longer needed debug-features to speed up backup & restore + +Deleted: +- removed old function "WritePageParams" which is no longer used +- removed some checkings for temp-files that are no longer created (this will speed up the backup and restore progress!) + +Bugfix: unwanted vars have been saved to parameter.php (array $config_dont_save was not recognized - possible mysql character sets have been savedto parameter.php by accident). Fixed. + +Added: Set HTML-output of crondump.pl to utf-8 + +Bugfix: PHP-Emails were still sent in ISO, so some special chars were shown incorrectly. Fixed Emailheader to be utf8. + +Added: sendmail call from configuration is now interpretd by crondump.pl (no more need to fix it manually in crondump.pl) + +Added: security - recursively cleaning tags in $_REQUEST-Array (now walks through sub-arrays) + +Bugfix: filemanagement.php Date of Perlfiles were shown incorrectly. Fixed + +Bugfix for Firefox: replaced some & in links by & + +Bugfix: Filemanagement - Selected Encoding got lost on some servers. Fixed. + +Bugfix: SQLBrowser - there was still a last bug left when BBCode was activated. Not all columns were shown with interpreted BBCode. Now they do. ;) + +Bugfix: SQLBrowser - warning when editing fields: "undefined var d_collate" - fixed + +Added Feature: SQLBrowser +- in table overview some columns are displayed "human readable" (1 MB instead of 1048576) +- added explaining titles when hovering size (move curosr onto TB and you will see the explanation "TeraByte") + +Bugfix: SQLBrowser - BB-Codes are now reactivated. You can activate BBCode-displaying of any char-row again + +Bugfix: SQLBrowser - fixed some problems with the listing of table overview (fields were sometimes not in the correct row if a field before was empty) + +Added: most wanted features when restoring ;) +- if it is a backupfile of MSD -> get character set automatically and restore file with switching MySQL-connection to correct character set +- let the user choose the charset of backupfile if we can't detect the charset automatically + +Bugfix: enclosed encoding in backticks when writing encoding to dumpfile (problem: encoding is a keyword and must be placed inside backticks) + +Bugfix: for Installation (Warning: mysql_query() [function.mysql-query]: Unable to save result set in +/www/htdocs/xxx/inc/functions.php on line 471") - suppressed Warning by adding @ + +Added: Toolbox - choose character set and collation separatly when creating new tables + +Added: Toolbox - language var for charset added + +Bugfix: Toolbox - charset and collation was not surrounded by backticks. Error when using charset "binary". Fixed. + +Bugfix: fixed some validation errors in sqlbrowser + +Bugfix: filemanagement -> bugfix for coloring table rows when listing backup-files + +Bugfix: SQLBrowser: undefined index 'Name' + +Added: SQLBrowser - edit table structure: Charset-Listing is now sorted alphabetically + +Bugfix: when editing Records in SQLBrowser the tablename got lost + +Fixed some missing lang-vars in language pack "de-Du" + +Added feature: when backing up via PHP one now can choose the encoding of the backupfile (standard encoding of MySQL-Server is pre-selected) +SET NAMES character_set now also is written into backupfile when using PHP + +Added: Implemented detection of possible character_sets of MySQL-Server for MySQL 4.0 and 4.1 and higher + +Added: some language-vars for output (language-packs are updatet) + +Bugfix: SQL-Browser: fixed a problem when deleting tables + +Added: some language-vars (I found some fixed text-outputs) + +Security: began to secure some of the included files. They can't be accessed directly now (still some more to do) + +Update crondump.pl: +- security: crondump.pl won't do anything if the passed config-parameter contains ":" (should prevent unsecured installations from including external evil configurations) +- translated some German outputs to English +- removed some unnecessary breaks and hr's in logfiles and screen-outputs +- adorned output in some other ways +- added the possibility to include and evaluate the new .conf.php-file + +Bugfix for warning: undefined index cronfile_savepath + +Added feature: show file encoding in filemangement + +Security: Perl configuration file is named .conf.php - corrected configuration (config_overview) to get the correct filelist according to the new filenames + +Bugfix crondump.pl: when using Multipart and Multidump together the partcounter was not reset to 1 (Part1 of the next database was named part_(part of last database+1) + +Added Charset-var: preparing the manual choose of the encoding of the backupfile + +Added charset-var to statusline in order to show it in filemanagement.PHP/msd/trunk/msd_cron/crondump.pl + +Bugfix: SET NAMES $charset; has been placed before each table - now it is just written once into each backupfile + +Bugfix Perlscript: Use of uninitialized value in concatenation (.) or string + +Added: Perlscript crondump.pl: +- When backing up, Perl now sets the connection to MySQL to utf8 +- added output "SET NAMES utf8" to Dumpfile. This way MySQL is switched to utf8 when restoring + +Added: Delete older perl configuration files + +Added: Security issue for typo3 + +Bugfix for undefined Index-Notices in SQLBrowser + +anti vulnerable patch in sql.php + +Bugfix: when using InnoDbs nr of records was shown wrong in databaseoverview (Not really a bug because MySQL itself returns the wrong sum - bypassing this by using SELECT count(*) ) + +Added: output of used Perl compress::zlib version number in perltest.pl + +Bugfix: failure when using the converter and the backup contains "decimal" fields. Backticks were set wrong. Fixed. + +Added: Portsetting of configuration was not recognized by crondump.pl - now you can choose different ports than 3306 + +Bugfix: on some servers some of the configvars in mysqldumper.conf were not saved as 0 but as empty strings. This lead to errore when executing crondump.pl . Fixed by converting those vars to intvalues when saving mysqldumper.conf. + +Bugfix: error unknown var $id in sql.php when changing fields + +Bugfix: menu.php Javscript-Definition completet + +Added some error handling for mysql_search if chosen table is empty + +Added string-conversion for output if connection is not set to utf8 + +Bugfix: JS-Error when selecting a SQL-Command from the SQLLib in other browsers than IE \ No newline at end of file diff --git a/ReadMe/install_deutsch.txt b/ReadMe/install_deutsch.txt new file mode 100644 index 0000000..4639569 --- /dev/null +++ b/ReadMe/install_deutsch.txt @@ -0,0 +1,96 @@ +Installation: + +- lade den Ordner mysqldumper auf Deinen Webspace hoch +- gebe der Datei config.php die Rechte 777 (es ist nicht nötig die Datei config.php von Hand anzupassen! Das erledigt MySQLDumper während der Installation von alleine.) + +- Starte das Script im Browser (http://www.deineDomain.de/mysqldumper/) +- Folge der Installation +- in Schritt 2 (Konfiguration) ändere die Daten (Host, Name, Passwort) der zu verwaltenden Datenbanken + +- MySQLDumper benötigt zum Speichern der Backups verschiedene Unterordner, die mit den Rechten 0777 versehen werden müssen. +MySQLDumper erstellt diese Verzeichnisse automatisch. + +Sollte der Webserver mit dem Einstellung "safe_mode=on" konfiguriert sein (und nur dann! - Ansonsten kannst Du diesen Punkt überspringen. Solltest Du Dir nicht sicher sein, so meldet Dir MySQLDumper dies während der Installation aber auch zuverlässig), so kann MySQLDUmper die Verzeichnisse aufgrund der Serverbeschränkung nicht selbstständig anlegen. +Im Falle von safe_mode=on müssen folgende Ordner von Dir manuell mit Deinem FTP-Programm erstellt und mit den Rechten (CHMOD) 0777 versehen werden: + + - work + - work/backup + - work/config + - work/structure + - work/log +("work/backup" bedeutet, dass im Ordner "work" ein Unterverzeichnis "backup" erstellt wird) + +- Da wir wissen, dass sich viele User nicht die Mühe machen diese ReadMe-Datei zu lesen, werden alle Einstellungen +vom MySQLDumper gewissenhaft überprüft und bei Nicht-Erfüllung jeweils eine entsprechende Bildschirmausgabe gemacht. ;-) + + +- Fertig ! Jetzt kann MySQLDUmper im Browser über http://www.DeineDomain/Dein_MySQLDumper-Verzeichnis/ aufgerufen werden +------------------- + +Verzeichnisschutz erstellen: + +Es ist dringend erforderlich den MySQLDUmper vor Fremdzugriffen zu schützen!!! +Jeder, der Zugriff zum MySQLDUmper hat, kann in der Datenbank beliebige SQL-Befehle ausführen, +die Daten herunterladen oder einfach alle Daten der Datenbank löschen. +Deshalb sollte jeder das MySQLDumper-Verzeichnis durch einen Verzeichnisschutz schützen. +Dies geschieht über eine sogenannte .htaccess-Datei, welche den besten Schutz bietet. +Glücklicherweise bietet MySQLDumper eine eigene Routine, um einen Verzeichnisschutz zu erstellen. +Es gibt aber so viele unterschiedliche Verfahren einen Webserver zu konfigurieren, dass die +automatische Erstellung nicht immer klappt. Dies merkt der Dumper aber und teilt das auch mit. +Sollte Dir MySQLDumepr mitteilen, dass das Anlegen des Schutzes nicht funktioniert hat udn Dich auffordern +manuell eine Datei anzulegen, dann versuche folgendes: + +- gebe dem Hauptverzeichnis des MySQLDumpers mit Deinem FTP-Programm die Rechte 0777 +- starte MySQLDUmper in Deinem Browser und versuche erneut einen Schutz zu erstellen + +- die Angabe der Verschlüsselungsart bezieht sich auf das Betriebssystem des Serers Deines Webspaces! Nicht auf Dein lokales Betriebssystem. In 99% aller Fälle ist die voreingestellte Verschlüsselungsart "Linux und Unix-Systeme (Crypt)" richtig! Ändere diese nur, wenn Du genau weißt, dass Dein Webserver (!) auf Windows läuft + +- nun sollte der Verzeichnisschutz korrekt erstellt werden. Du merkst das daran, dass Du beim nächsten Seitenaufruf +nach den Zugangsdaten gefragt wirst. + +- solltest Du nicht nach den Zugangsdaten gefragt werden, so realisiert Dein Hoster den Verzeichnisschutz auf eine andere Art und Weise. Erkundige Dich bei Deinem Hoster, wie man auf seinem Server einen Verzeichnisschutz erstellen kann. + +- solltest Du immer wieder nach den Zugangsdaten gefragt werden udn diese nicht anerkannt werden, so hast Du die falsche Verschlüsselungsart gewählt. Lösche dann die Dateien .htaccess und .htpasswd im MySQLDumper-Hauptordner - dann bekommst Du wieder Zugriff. Dummerweise gibt es aber auch Hoster + + + +Anleitung für das Perlskript: + +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. Speicher 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) + +Fertig. + +-------------------- +Wenn bei Dir Perl nur innerhalb des Verzeichnisses "cgi-bin" ausgeführt werden kann: + +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. Speicher 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 Seite Cronscript +10. ändere Perl Ausführungspfad in /cgi-bin/ +10b. wenn die Scripte .pl haben, ändere die Dateiendung auf .cgi +11. speicher die Konfiuguration +------------------------ +fertig, die Skripte lassen sich nun von der Backupseite aufrufen + + +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 + diff --git a/ReadMe/install_english.txt b/ReadMe/install_english.txt new file mode 100644 index 0000000..13373dd --- /dev/null +++ b/ReadMe/install_english.txt @@ -0,0 +1,70 @@ +Installation: + +- upload the folder mysqldumper to your webspace +- chmod the file "config.php" to 777 +- start the script in your browser (http://www.deineDomain.de/mysqldumper/) +- Follow the Installationscript +- in step 2 (Configuration) change Data (Host, Name, Password) of your databaseconnection and save +- in case of safe_mode=1 you must create the folders manually. + create following folders in the Scriptdir: + + - work + - work/backup + - work/config + - work/structure + - work/log + + and chmod these folders to 0777 + +- Ready ! + + + +Guidance for the Perl script: + +When you can execute Perl anywhere: + +1. In MySQLDumper switch to 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 to the $absolute_path_of_configdir-variable (no blanks,no new line) +5. Save crondump.pl +6. chmod the scripts to 0755. +7. If the ending .cgi is desired, change the ending of all 3 files from .pl to .cgi (rename) +8. If the Scripts are renamed to *.cgi , change Fileextension to cgi in the MySQLDumper Configuration (cronscript) + +Done. + +-------------------------------------- +When perl is only allowed in cgi-bin: + +Many user have a cgi-bin directory, in which Perl can be executed. +This is usually available via Browser http://www.domain.com/cgi-bin/ . + +In this casse do the following steps: + +1. in MySQLDumper call 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, no new line) +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 the scripts to 0755. +7b. If the ending cgi is desired, change the ending of all 3 files .pl to .cgi (rename) +8. in MySQLDumper switch to the page Configuration +9. click on Cronscript +10. change the Perl execution path to /cgi-bin/ or ./../cgi-bin (depending on your file-structure. Path is relative from MSD-Dir) +10b. if the Scripts are renamed to *.cgi , change Fileextension to cgi +11 save the Configuration +------------------------------------- + +Ready ! The scripts are now available from the Page "Backup". + + +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 + diff --git a/ReadMe/install_francais.txt b/ReadMe/install_francais.txt new file mode 100644 index 0000000..2160204 --- /dev/null +++ b/ReadMe/install_francais.txt @@ -0,0 +1,71 @@ +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 +- Dans l'étape 2 (Configuration), changer les données (Serveur, Nom, Mot de passe) par ceux fournis par votre hébergeur puis sauvegardez +- Si pour votre serveur le safe_mode=1 vous devez créer manuellement les répertoires suivants: + + créer les répertoires ci-dessous dans le répertoire du Script (mysqldumper/): + + - work + - work/backup + - work/config + - work/structure + - work/log + + et Chmoder ces répertoires en 0777 + +- C'est fini ! + + + +Guide pour le script Perl: + +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 +7. Si l'extension .cgi est désirée, changer pour les trois fichiers l'extension de .pl vers .cgi (action renommer) +8. Si le script est renommé en *.cgi, changer l'extension du fichier en cgi dans la configuration MySQLDumper (cronscript) + +-C'est fini ! + +-------------------------------------- +Quand perl est seulement laissé dans cgi-bin: + +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/ou ./../cgi-bin (depend de la structure fichiers. Le chemin est relatif de MSD-Dir) +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. + +---------------------------------------------------------------------------------- + +Les utilisateurs de windows doivent changer la première ligne de tous les scripts de Perls, avec le chemin de Perl. + +Exemple: + +Au lieu de: #!/usr/bin/perl w +Mettre #!C:\perl\bin\perl.exe w + diff --git a/ReadMe/install_italiano.txt b/ReadMe/install_italiano.txt new file mode 100644 index 0000000..b7833c7 --- /dev/null +++ b/ReadMe/install_italiano.txt @@ -0,0 +1,65 @@ +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 +- nel secondo passo (configurazione) cambia i tuoi dati (Host, nome, password) della banca dati da gestire + +- nel caso di safe_mode=1 dovete creare le cartelle manualmente. + crea nella cartella di MySQLDumper le cartelle + + - works + - works/backup + - works/config + - works/sturcture + - works/log + + + metti i diritti delle cartelle a 777 + +- finito ! + +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/. + +Chi puo usare Perl in tutti gli elenchi deve seguire semplicemente i seguenti passi: + +1. Chiama nel MySQLDumper la pagina Backup. +2. Copia il cammino, che è scritto nella crondump.pl per $absolute_path_of_configdir. +3. Apri il dato "crondump.pl" in editor +4. Porta il cammino 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) + +finito. + +--------------------- + +Nel caso che puoi effettuare Perl in "cgi-bin"consigliamo di effettuare i seguenti passi: + +1. Chiama nel MySQLDumper la pagina Backup e clicca "Backup Perl". +2. Copia il cammino, che è scritto nella crondump.pl per $absolute_path_of_configdir: +3. Apri il dato "crondump.pl" in editor +4. Porta il cammino 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 di cammino 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. + +Se usate Windows dovete cambiare in tutti i dati la prima riga; dove trovate il cammino di Perl. Esempio: +aposto di: #!/usr/bin/perl -w +adesso #!C:\perl\bin\perl.exe -w + 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/update_deutsch.txt b/ReadMe/update_deutsch.txt new file mode 100644 index 0000000..d4c8387 --- /dev/null +++ b/ReadMe/update_deutsch.txt @@ -0,0 +1,10 @@ +Update einer älteren MySQLDumper-Version: + +- überschreibe alle Dateien mit denen aus der neuen Version +- rufe MySQLDumper im Browser auf, klicke Dich in die Konfiguration und klicke einmal auf "speichern" +- wenn das crondump.pl-Script per cronjob aufgerufen wird: im Aufruf muss der Parameter config angepasst werden +(bis Version 1.21 hieß er mysqldumper.conf - seit Version 1.22 heißt er mysqldumper.conf.php !) + +Hinweis: +eventuell wirst Du auf dem Wege dahin auf Warnmeldungen stoßen ["undefinde index ..."]. +Diese kannst Du ignorieren. Nach dem Speichern der Konfiguration sind diese verschwunden. diff --git a/ReadMe/update_english.txt b/ReadMe/update_english.txt new file mode 100644 index 0000000..20eb10a --- /dev/null +++ b/ReadMe/update_english.txt @@ -0,0 +1,10 @@ +Updating an older Version of MySQLDumper: + +- overwrite all files with the new ones +- call MySQLDumper in your browser, go to the configuration and clicke "save" +- when you are running crondump.pl via cronjob: remember to update the name of the configuration file in the call of the cronjob +(up to version 1.21 it was named mysqldumper.conf - now it is called mysqldumper.conf.php !) + +Notice: +maybe you will some warnings on your way to the configuration: ["undefinde index ..."]. +Ignore that. After saving the new configuration theses warnings are gone. diff --git a/mysqldumper/config.php b/mysqldumper/config.php new file mode 100644 index 0000000..24667d8 --- /dev/null +++ b/mysqldumper/config.php @@ -0,0 +1,152 @@ +1000 +$config['processlist_refresh']=2000; + +//Disable all .htaccess-Functions with value 1 +$config['no_htaccess']=0; + +$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']=""; +// 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; + + +// For FTP-Transfer of Backupfiles set ftp_transfer to 1 +$config['ftp_transfer']=0; + +// FTP Server Configuration for Transfer +$config['ftp_connectionindex']=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_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_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 + +$config['ftp_timeout']=30; +$config['ftp_useSSL']=0; +$config['ftp_mode']=0; + +//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['del_files_after_days']=0; +$config['max_backup_files']=3; +$config['max_backup_files_each']=0; + + +//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']=0; +$config['cron_timelimit']=360; +$config['cron_extender']=0; +$config['cron_mail']=0; +$config['cron_mail_dump']=0; +$config['cron_ftp']=0; +$config['cron_compression']=1; +$config['cron_printout']=1; +$config['cron_completelog']=1; +$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/mysqldumper/config_overview.php b/mysqldumper/config_overview.php new file mode 100644 index 0000000..89ec896 --- /dev/null +++ b/mysqldumper/config_overview.php @@ -0,0 +1,771 @@ +1 && substr($config['ftp_dir'][$i],-1)!="/")) $config['ftp_dir'][$i].="/"; + } +} + +$showVP=false; +$oldtheme=$config['theme']; +$oldscposition=$config['interface_server_caption_position']; +$checkFTP=Array(" 

 
 "," 

 
 "," 

 
 "); +if(isset($_POST['testFTP0'])) { + $checkFTP[0]='
'.$lang['testconnection'].' FTP-Connection 1

'.TesteFTP($_POST['ftp_server0'],$_POST['ftp_port0'],$_POST['ftp_user0'],$_POST['ftp_pass0'],$_POST['ftp_dir0']).'
'; + $ftptested=0; +} +if(isset($_POST['testFTP1'])) { + $checkFTP[1]='
'.$lang['testconnection'].' FTP-Connection 2

'.TesteFTP($_POST['ftp_server1'],$_POST['ftp_port1'],$_POST['ftp_user1'],$_POST['ftp_pass1'],$_POST['ftp_dir1']).'
'; + $ftptested=1; +} +if(isset($_POST['testFTP2'])) { + $checkFTP[2]='
'.$lang['testconnection'].' FTP-Connection 3

'.TesteFTP($_POST['ftp_server2'],$_POST['ftp_port2'],$_POST['ftp_user2'],$_POST['ftp_pass2'],$_POST['ftp_dir2']).'
'; + $ftptested=2; +} + +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[$ftptested]=stripslashes($_POST['ftp_dir'.$ftptested]); + if($ftp_dir[$ftptested]=="" || (strlen($ftp_dir[$ftptested])>1 && substr($ftp_dir[$ftptested],-1)!="/")) $ftp_dir[$ftptested].="/"; +} + +echo MSDHeader(); + +if (isset($_POST['load'])) +{ + $msg=SetDefault(true); + $msg=nl2br($msg)."
". $lang['load_success']."
"; + echo ''; +} + +if (isset($_POST['save'])) +{ + //Parameter auslesen + + $config['multi_dump']=(isset($_POST['MultiDBDump'])) ? $_POST['MultiDBDump'] : 0; + $databases['db_actual_cronpraefix']=$_POST['dbcronpraefix']; + $config['compression']=$_POST['compression']; + $config['language']=$_POST['language']; + $config['interface_server_caption']=$_POST['server_caption']; + $config['interface_server_caption_position']=$_POST['server_caption_position']; + $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_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['backup_complete_inserts']=(isset($_POST['backup_complete_inserts'])) ? 1 : 0; + $config['backup_extended_inserts']=(isset($_POST['backup_extended_inserts'])) ? 1 : 0; + $config['backup_delayed_inserts']=(isset($_POST['backup_delayed_inserts'])) ? 1 : 0; + $config['backup_ignore_inserts']=(isset($_POST['backup_ignore_inserts'])) ? 1 : 0; + $config['backup_lock_tables']=(isset($_POST['backup_lock_tables'])) ? 1 : 0; + $config['backup_downgrade']=(isset($_POST['backup_downgrade'])) ? 1 : 0; + + $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']; + $config['stop_with_error']=$_POST['stop_with_error']; + + $config['multi_part']=$_POST['multi_part']; + $config['multipartgroesse1']=$_POST['multipartgroesse1']; + $config['multipartgroesse2']=$_POST['multipartgroesse2']; + if($config['multipartgroesse1']<100 && $config['multipartgroesse2']==1)$config['multipartgroesse1']=100; + + $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['del_files_after_days']=$_POST['del_files_after_days']; + $config['max_backup_files']=$_POST['max_backup_files']; + $config['max_backup_files_each']=$_POST['max_backup_files_each']; + + + $config['empty_db_before_restore']=$_POST['empty_db_before_restore']; + $config['optimize_tables_beforedump']=$_POST['optimize_tables']; + $config['cron_samedb']=$_POST['cron_samedb']; + + + $config['cron_extender']=$_POST['cron_extender']; + // cron_select_savepath/ + if (!isset($_POST['cron_select_savepath'])) $_POST['cron_select_savepath']='mysqldumper'; + if(isset($_POST['cron_savepath_new']) && !empty($_POST['cron_savepath_new'])) + $config['cron_configurationfile']=$_POST['cron_savepath_new'].".conf.php"; + else + $config['cron_configurationfile']=$_POST['cron_select_savepath'].".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_mail']=$_POST['cron_mail']; + $config['cron_mail_dump']=$_POST['cron_mail_dump']; + + $config['cron_use_sendmail']=$_POST['cron_use_sendmail']; + $config['cron_sendmail']=$_POST['cron_sendmail']; + $config['cron_smtp']=$_POST['cron_smpt']; + + $config['cron_printout']=$_POST['cron_printout']; + $config['cron_completelog']=$_POST['cron_completelog']; + $config['cron_ftp']=$_POST['cron_ftp']; + $config['cron_compression']=$_POST['cron_compression']; + $config['cron_comletelog']=$_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;$i0)?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']) : ""; + + $databases['db_actual_cronindex']=$_POST['cron_dbindex']; + if($config['cron_samedb']==0){ + $databases['db_actual_cronindex']=$databases['db_selected_index']; + + } elseif($databases['db_actual_cronindex']=="-2") { + $cron_save_all_dbs=1; + $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 ($databases['db_actual_cronindex']=="-3") { + $cron_save_all_dbs=1; + $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']=$_POST['ftp_transfer']; + $config['ftp_connectionindex']=$_POST['ftp_transferconn']; + $config['ftp_timeout']=$_POST['ftp_timeout']; + $config['ftp_useSSL']=isset($_POST['ftp_useSSL']) ? $_POST['ftp_useSSL'] : 0; + $config['ftp_mode']=isset($_POST['ftp_mode']) ? 1 : 0; + + for($i=0;$i<3;$i++) { + $checkFTP[$i]=""; + $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==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']; + + $config['connect_utf8']=isset($_POST['connect_utf8']) ?1:0; + 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 Vernindungsdaten wurden akzeptiert -> manuelle DB-Liste von anderem User löschen + if (file_exists('./'.$config['files']['dbs_manual'])) @unlink('./'.$config['files']['dbs_manual']); + unset($databases['Name']); + 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 dr 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; + } + } + } + + // und wegschreiben + if (WriteParams(0)==true) + { + //neue Sprache? Dann Menü links auch aktualisieren + if( $_POST['lang_old']!=$config['language'] + || $_POST['scaption_old']!=$config['interface_server_caption'] + || $oldtheme!=$config['theme'] + || $oldscposition!=$config['interface_server_caption_position']) + { + $msg.= ''; + } + //Parameter laden + include($config['files']['parameter']); + if ($config['logcompression']!=$oldlogcompression) SwitchLogfileFormat(); + $msg.= '

'.$lang['save_success'].'

'; + } 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'].=''.$nl; +$aus['formstart'].=''.$nl; +$aus['formstart'].='
'.$msg.$nl; + +// Zugangsdaten +$aus['db']='
'.$lang['connectionpars'].''.$nl.$nl; +$aus['db'].='
'.$lang['db_backuppars'].''; + +$aus['db'].=''; + +//Wenn Datenbanken vorhanden sind +if (isset($databases['Name'][0]) && $databases['Name'][0]>'') +{ + 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'; + $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   automatisch ermitteln'; +$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'].=''; + +$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'].='  '; +$aus['global1'].='
'.Help($lang['help_optimize'],"").$lang['optimize'].': '.$lang['activated']; +$aus['global1'].=''.$lang['not_activated'].'
'.Help("","").$lang['backup_format'].': '.$lang['inserts_complete'].'
'; +$aus['global1'].=''.$lang['inserts_extended'].'
'; +$aus['global1'].=''.$lang['inserts_delayed'].'
'; +$aus['global1'].=''.$lang['inserts_ignore'].'
'; +$aus['global1'].=''.$lang['lock_tables'].'
'; +$aus['global1'].=''.$lang['downgrade'].'
'.$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'].='
'; + +//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
'; + +//automatisches Löschen--> +$aus['global2']='
'.$lang['config_autodelete'].''; +$aus['global2'].=''; +$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_ad2'],"conf9").$lang['age_of_files'].': 
'.Help($lang['help_ad3'],"conf10").$lang['number_of_files_form'].':  '; +$aus['global2'].=''.$lang['max_backup_files_each1'].' '; +$aus['global2'].=''.$lang['max_backup_files_each2']; +$aus['global2'].='
'; + + +//Email--> +$aus['transfer1']='
'.$lang['config_email'].''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].=''; +$aus['transfer1'].='
'.Help($lang['help_mail1'],"conf5").$lang['send_mail_form'].': '.$lang['yes']; +$aus['transfer1'].=''.$lang['no']; +$aus['transfer1'].='
'.Help($lang['help_mail2'],"conf6").$lang['email_adress'].': 
'.Help($lang['help_mail3'],"conf7").$lang['email_subject'].': 
'.Help($lang['help_mail5'],"").$lang['send_mail_dump'].': '; +$aus['transfer1'].=''.$lang['yes']; +$aus['transfer1'].=''.$lang['no']; +$aus['transfer1'].='
'.Help($lang['help_mail4'],"").$lang['email_maxsize'].': '; +$aus['transfer1'].='  '; +$aus['transfer1'].='
'.Help($lang['help_cronmailprg'],"").$lang['cron_mailprg'].': '; +$aus['transfer1'].=''; +$aus['transfer1'].='
sendmail
SMPT
 SMTP-Port: '.$config['cron_smtp_port'].'
'; + +//FTP--> +$aus['transfer2']='
'.$lang['config_ftp'].''; +$aus['transfer2'].=''; +$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['useconnection'].":","").$lang['useconnection'].': '; +$aus['transfer2'].=' FTP 1  '; +$aus['transfer2'].=' FTP 2  '; +$aus['transfer2'].=' FTP 3
'.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'].'
'; + +//1 +$aus['transfer2'].='
FTP-Connection 1

'.$checkFTP[0].'
'; +$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'].': 
'; +//2 +$aus['transfer2'].='
FTP-Connection 2

'.$checkFTP[1].'
'; +$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'].': 
'; +//3 +$aus['transfer2'].='
FTP-Connection 3

'.$checkFTP[2].'
'; +$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'].': 
'; + + +//Crondump +$aus['cron']='
'.$lang['config_cronperl'].''; +$aus['cron'].=''; +$aus['cron'].=''; + +$aus['cron'].=''; + +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; +$aus['cron'].=''; + +$aus['cron'].=''; +$aus['cron'].='
'.Help($lang['help_cronextender'],"").$lang['cron_extender'].': .pl'; +$aus['cron'].='.cgi'; +$aus['cron'].='
'.Help($lang['help_cronsavepath'],"").$lang['cron_savepath'].': '; +$aus['cron'].='
'.$lang['existing'].':
'.$lang['new'].': .conf.php
'.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_cronsamedb'],"conf13").$lang['cron_samedb'].': '.$lang['yes']; +$aus['cron'].=''.$lang['no']; +$aus['cron'].='
'.Help($lang['help_crondbindex'],"conf14").$lang['cron_crondbindex'].': 
  
'.Help($lang['help_cronzip'],"").$lang['gzip'].': '.$lang['activated']; +$aus['cron'].=''.$lang['not_activated']; +$aus['cron'].='
'.Help($lang['help_cronmail'],"").$lang['send_mail_form'].': '.$lang['yes']; +$aus['cron'].=''.$lang['no']; +$aus['cron'].='
'.Help($lang['help_cronmail_dump'],"").$lang['send_mail_dump'].': '.$lang['yes']; +$aus['cron'].=''.$lang['no']; +$aus['cron'].='
'.Help($lang['help_cronftp'],"").$lang['cron_ftp'].': '.$lang['yes']; +$aus['cron'].=''.$lang['no']; +$aus['cron'].='
'; + +//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['formende']; + +echo ''; + +echo MSDFooter(); + + + +?> diff --git a/mysqldumper/css/msd/icons/ardown.gif b/mysqldumper/css/msd/icons/ardown.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/mysqldumper/css/msd/icons/arrowdown.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/arrowleft.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/arrowup.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/arup.gif b/mysqldumper/css/msd/icons/arup.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/mysqldumper/css/msd/icons/blank.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/browse.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/compact.gif b/mysqldumper/css/msd/icons/compact.gif new file mode 100644 index 0000000000000000000000000000000000000000..9dcb131882234b3bf5bf3f635d3def64636f857b GIT binary patch literal 868 zcmZ?wbh9u|6krfw_|5SSq^ED1S5rhF1tE{$ybU`A7#ufbs-8ha&?c zhm6Mtg$5QjVI`Lt8y*~LDUN$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/mysqldumper/css/msd/icons/edit.gif b/mysqldumper/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/mysqldumper/css/msd/icons/empty.gif b/mysqldumper/css/msd/icons/empty.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#3jL6ciK{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^8LW00000EC2ui01E&O00#&?009UbNU)&6g9QyJT*y#ifrk(wIut;$ qqJRPpBSu_U;G##21^^i7Nb+JxktIo<9Qo0tK$a<2YJ3SSq^ED1S5rhF1tE{$ybU`A7#ufbs-8ha&?c zhm6OD1&$1y0&*rZ3?4c)@ya`e?6|Pdsas4iX~~Mfgr

9#*F3YCxbsIjN%NCYl& T?-PpNHAPZ*+38kBMh0sD3Pm62 literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/fulltext.gif b/mysqldumper/css/msd/icons/fulltext.gif new file mode 100644 index 0000000000000000000000000000000000000000..bedce14a0c07307d5ed2065f3bac1e287c6cf4e3 GIT binary patch literal 1295 zcmZ?wbh9u|lx0w4_%6Wk@87@IXXj3uwe|e+q`#l%Zm2h&G;wlfN^C=Q*|KFzeqYGH zaN+#(XHRzR+Vy>@!~g&P|FOC-jDpb+7%m~8_>+Z^fq|bv2jn48o^a>*&mhksb0VSf zAS(}>R?LnKKzUYa6$ya{i45#~A_@Wt4;b87S$R}KZX`H1v+;1LWf(X#HuWgPT4^*0 z9%O12D0==S)s$ zyvXuTZ-$pgXc9x= z&aY8vsZ*bddYLA%gvXeOGAwp#NnDYbFTYVWc%nvTS!fi;91{i~z5vtN(F(4b7vii+ zS(o`4-c*aNWGOAZ7II^1`hxs4JBDY>jz70FMEOX%N_&`ZoX)_YttxQ8Rd?SPapud6 msX?C2d?60`p^9B-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/mysqldumper/css/msd/icons/help16.gif b/mysqldumper/css/msd/icons/help16.gif new file mode 100644 index 0000000000000000000000000000000000000000..c1f81c4179760f801ca99376cdfcad294665d303 GIT binary patch literal 147 zcmZ?wbh9u|6krfw*v!uW1Px%^0Hzv%yao_BaNxjyp!k1=|6mG816e?z_>+Z^fq{`h z2Pg?NL4bjo#lhf&<*KCIT)+~2uL+= literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/help32.gif b/mysqldumper/css/msd/icons/help32.gif new file mode 100644 index 0000000000000000000000000000000000000000..18ac603da3bb4a2f49855125e229f66bf2a5dcbd GIT binary patch literal 252 zcmZ?wbh9u|RA5kG*v!uW1Px%^0Hzv%yao_BaNxjyp!k1=|6mG816e?z_>+Z^fq{`h z2Pg?NL4kppWu?Ih&*wWNuAhDDz%S8u;_BS%99`N$^KO4QQ{uZzU+1Lv`~TgNdhJyV z{reWKJnU>$$n0>@Q`dE-+bUt@rzZ8{3<=W5n07XP6nuO3*QrM4NwUS?*9rZUy3bbj zxwt+qsii4CzsagJyR%EAy}Y;2x~#lra)0sk8H^LSOXkd-I=^7yqUzZ*<}F>edeW-a njmr!r!`4r(%3rf^XTr)Edv|T`IyiB&$ie-~HXarhWUvMRsq<}L literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/key.gif b/mysqldumper/css/msd/icons/key.gif new file mode 100644 index 0000000000000000000000000000000000000000..16106dfda66fa0aced485280f81f7ff1c927e89b GIT binary patch literal 489 zcmV0MilWAmKfO~ePrlkAO zZ_v=s=jPz>$A^8LW000jFEC2ui0384!000F4@X5)RU2N*j zmIOdjP-qsO8!1l2s52A+0APo}aSc!pB^Y`YXnP6@1bqiw1q~Ywg)s>Oc>n=T3VjBR z4hjW;8YpTe0}6UfJ$(WP1(}HmUr}`>SUNmS2R8>gnxK$T7`6gvj;;X&s$IK33@Awn z2nY_!jyuZ*2MMzh&(8)nDvDe?)@=o{V9(qP01T(9iprpE>Kjjkh4Gs7Oz0>g#XwO( z1iwTD5_M^EFN&3EHU@lRLc~`WV1YginYO@04sBJIbo^r&=)u5_9Z!rwv0y+OP{2B{ zurULH7*Qq-=x8$lK}iZ)!X3c*V2Qj(Ej&C4hkz)&0z4E9APU5Sfd$i`w9Eyn8;1`l zv1ql#L@HGc3=#kkk>G$=L9dwf{3!@S5Vso`6xc(c=Uay-cX22XZw%cBPhu<(oVODZ fI5H(w5ECr#z{6BBMCFOPd~&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/mysqldumper/css/msd/icons/nokey.gif b/mysqldumper/css/msd/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#C=oqu zG{WSEHLHkf8 zNC&P3b_`n)>jA4CrOl$?4B`TG9x4YZ;ATK$7)1;MdLC_?LL^_tfCdyG0XLbzbQrZ5 z)ag}eONt^f6QiJ!SI9{S7a5u!qc#IWuSvT>5fWjHnuf1Xl5kvDG-N~uq(|DMNSR{9 z8d^a~NEdEDEY=YF&?P7b(t_I$iv`4a=p2-Q%)sr3wV$jX7Ey?i*T^XdiHzG1i>Sr$ zHA)JOgyr_bBH|cYLn%lJH|gm`YzH(Rn>HJ%TmKnm*ooK*Soc`9DFuu8&oDz1F$x%X z^laLKBHfX_hIMFKjOq-k^d#*f#ms&z^k~|Q41*@U2JLXyu)SExvh^X`i-nz?oo=_g zy}iA)wY9#!zOu3shT-DkVy#xIR4TsjFDxvSN~PJ^S;ujvrlu^*%4V|@6B8pNBgcOa z4x~qLCYAIihKA=bFnrYhytMXs_~5A<4YzWsGCFkO&G=Y*W5b^6wUdne_c&DUq=yBiN){k-}v|LFOr!k6Xm)nm{8PHS`f`p5CA L^Y*SaiHrXLMq|OY literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/ok.gif b/mysqldumper/css/msd/icons/ok.gif new file mode 100644 index 0000000000000000000000000000000000000000..4abfb291446a31abe2271ffbdf46f27167a327c1 GIT binary patch literal 905 zcmZvbL1+_E5QhI&!GKr<>mk)cZFyDHOBO^yQoPu{tcZ(}#)F8iAjm>NUPZ_$Ahd$A zffe>3QmPb@jY{{>lD*Xmi4_be&r8`;0zHRZL_GZN_SQBtkAE%$Z$AE+>B7{di}yz{ zia)DJqLO4PY26X5ClRl||K6=sDg=={rgcXWCI5AomX_JoY=_h?8xHG|fnb2xLsW)u zLz%D)u%p=wS#w!+s3c2*MZ^U}dH6Xf0V@k?%`l|v(s3vyg-E`Pfe7#c1z5=hy2G$Z zw??N*sVGWBF-9Rm-bYSBSjbX$8Mf(aIt|J?ML+~Gya;6LnvgeeprMT zqa4BZVJa9_KP)1S5k>HQC4t2()D9bx_0+9>hG}*}HeJ>nRwb2S3HuDw)FDHc zu0uys3W{_`b{p2AZZfRVtc3^m;bojPT(W7ux2WZC+V?Z!f{*W2FS z-rCw~wOSh+8*6K8K@co1E_$9fKR;hCmuF{ZZQGuinK4asa&pozjERYfk&%(1p`lZM z4-TY9a6XmvCJtpDVjy!;t}K0dmN|Cz&bO7fUl)#!n{Q-z@6(IpNAAYA&vmZ2C-Q^H z8snSZ@D2OphhGn_y*hohF;}?x@cQ#J)2+Eouk&N!!qdUx=Hs!S@2097!>_$Zx0c7A Qe12)J2ES{E4-De+e>dF1@Bjb+ literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/openfile.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/primary.gif b/mysqldumper/css/msd/icons/primary.gif new file mode 100644 index 0000000000000000000000000000000000000000..c80e3cba7cae499582f1a715674872d9655e2ff2 GIT binary patch literal 1302 zcmZ?wbh9u|lx0w4_|DJp@87@IXXj3uwe|e+q`#l%Zm2h&G;wlfN^C=Q*|KFzeqYGH zaN+#(XHRzR+Vy>@!~g&Pe~Gy;jDpb+7%m~8_>+Z^fq|bv2jn48o^a>*&mhksb0VSf zAS(}>R?LnKKzUYa6$ya{i45#~A_@Wt4;b87S$R}KZX`H1v+;1LWf(X#HuWgPT4^*0 z9%O12D0+2f=Ya!FEVhC@B0Cx$d9yORyh=H-<>et(CMg+Xq%xnTY9tjH=nR<-# z^->x(H8!$v>=UZ!+{n=TJvP&7HTqsoaKb&57%*o*(Vqr$UU}%lav3m&dCF> z7&o$T&rlPnXsl>_8ffHDaBpSd8g1UVx3eZVHk{*$biE(KA|x@Dk#WP<2xs*`*PD^5 zsvZmsX`BqPjNEWP|9aNOmpmKejn zha)_?lh;)&GIn8!vRnQ^*I-5?t&|xq+yyUgyJw#)QStJRY!zct=Vh489DLR6a<22u zrI-C9JX=#8@1}+v$h{h9E*qZq(ln%Lzi7kk3QNYTmzgq4!$fkj?y02tJ!RYw#PoII umq*@>h9B-R+s_OMO5zcHARXGb%X5OWVBoG9OCDx=1%w4>rpG%lSOWlx@#Zf8 literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/icons/progressbar_dump.gif b/mysqldumper/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/mysqldumper/css/msd/icons/progressbar_speed.gif b/mysqldumper/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/mysqldumper/css/msd/icons/rename.gif b/mysqldumper/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/mysqldumper/css/msd/icons/search.gif b/mysqldumper/css/msd/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/mysqldumper/css/msd/icons/unique.gif b/mysqldumper/css/msd/icons/unique.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d5c870e1598b811c36c73a92c097331571cd700 GIT binary patch literal 1302 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 literal 0 HcmV?d00001 diff --git a/mysqldumper/css/msd/pics/mainnavi.gif b/mysqldumper/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/mysqldumper/css/msd/pics/menubutton.gif b/mysqldumper/css/msd/pics/menubutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1def4985aad7937048ec473bfe54802db8c7748 GIT binary patch literal 359 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 ? $config['minspeed'] : 50); +$dump['dump_encoding']= (isset($_POST['dump_encoding'])) ? urldecode($_POST['dump_encoding']):''; + +if (isset($_GET['select_dump_encoding'])) +{ + // Erstaufruf -> encoding auswerten + include_once('./inc/functions_sql.php'); + get_sql_encodings(); + $encodingline=$config['mysql_possible_character_sets'][$_GET['select_dump_encoding']]; + $encoding=explode(' ',$encodingline); + $dump['dump_encoding']=isset($encoding[0]) ? $encoding[0]:$encodingline; +} + +$mp2=array('Bytes','Kilobytes','Megabytes','Gigabytes'); +$cancelurl='dump.php?cancel=1&part='.$dump['part'].'&backupdatei='.urlencode($dump['backupdatei']).'&backupdateistructure='.urlencode($dump['backupdatei_structure']); +$aus2=$page_parameter=$debugausgabe=$a=''; +$dump['tabellen_gesamt']=0; + +if($cancel==1) { + //Abbruch durch Benutzer + //Wildcard erzeugen + $wildcard=substr($dump['backupdatei'],0,strlen($databases['db_actual'])+17); + $wildcard2=$dump['backupdatei_structure']; + echo $pageheader.'

Abruch durch Benutzer

Der Backupvorgang wurde unterbrochen.

'; + echo 'Folgende angefangene Backupdateien wurden gelöscht:

'; + echo $wildcard.'*
'.$wildcard2; + echo ''; + exit; +} + +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'])); +} + +//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']); + +$flipped = array_flip($databases['Name']); +$dump['tables']=Array(); +$dump['records']=Array(); +$dump['totalrecords']=0; + +for($ii=0;$ii0) + { + for ($i=0;$i<$num_tables;$i++) + { + $row=mysql_fetch_array($tabellen); + if($config['optimize_tables_beforedump']==1 && $dump['table_offset']==-1) mysql_query('OPTIMIZE `'.$row['Name'].'`'); + if (isset($tbl_sel)) + { + if (in_array($row['Name'],$dump['tblArray'])) { + $dump['tables'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Name']; + $dump['records'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Rows']; + $dump['totalrecords']+=$row['Rows']; + } + } + elseif ($databases['praefix'][$dump['dbindex']]!='' && !isset($tbl_sel)) + { + if (substr($row['Name'],0,strlen($databases['praefix'][$dump['dbindex']]))==$databases['praefix'][$dump['dbindex']]) { + $dump['tables'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Name']; + $dump['records'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Rows']; + $dump['totalrecords']+=$row['Rows']; + } + } + else + { + $dump['tables'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Name']; + $dump['records'][]=$databases['Name'][$dump['dbindex']].'|'.$row['Rows']; + + // 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']]."`.`".$row['Name']."`"; + $res2=@mysql_query($sql_2); + $row2=mysql_fetch_array($res2); + $row['Rows']=$row2['count_records']; + + + $dump['totalrecords']+=$row['Rows']; + } + } + } +} + +$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['structure']=''; +$dump['dbindex']=(isset($_POST['dbindex'])) ? $_POST['dbindex'] :$flipped[$databases['multi'][0]]; + +//Ausgaben-Header bauen +$aus_header[]= PicCache($relativ_path); +$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(count($dump['tables'])==0) +{ + //keine Tabellen gefunden + $aus[]='

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

'; + if(!$config['multi_dump']==1) + { + echo $pageheader.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 + 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(); + if($config['ftp_transfer']==1) DoFTP(); + 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']; + } + $dump['data'] .= get_def($adbname,$table); + $dump['structure'].=get_def($adbname,$table,0); + } + WriteToDumpFile(); + get_content($adbname,$table); + $dump['restzeilen']--; + if($config['memory_limit']>0 && strlen($dump['data'])>$config['memory_limit']) WriteToDumpFile(); + } + } + + ///////////////////////////////// + // Anzeige - Fortschritt + ///////////////////////////////// + + if($config['multi_dump']==1) + { + $mudbs=''; + for($i=0;$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'].'
'; + $aus[]=$lang['charset'].': '.$dump['dump_encoding'].''; + + $aus[]='
'.$lang['filesize'].': '.byte_output($dump['filesize']).'

'.$lang['gzip_compression'].' '; + $aus[]=($config['compression']==1) ? $lang['activated'] : $lang['not_activated']; + $aus[]='.
'; + + $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']],'|')); + + $sql='SELECT COUNT(*) AS anzahl FROM `'.$table.'`'; + $res=mysql_query($sql); + if ($res) + { + $row=mysql_fetch_object($res); + $dump['zeilen_total']=intval($row->anzahl); + + 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[]= '
'.$lang['progress_over_all'].':' + .'' + .'' + .'' + .'
'.(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[]= '
'; + $aus[]= '
'; + $aus[]= 'Speed
'.$dump['anzahl_zeilen'].'
'; + $aus[]= ''; + $aus[]= '
'; + $aus[]= '
'; + $aus[]= ''; + $aus[]= ''; + $aus[]= '
'.$config['minspeed'].''.$config['maxspeed'].'
'; + + //Status-Text + $aus[]= '

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

'; + $aus[]= '
'.$out.'
'; + } + ////////////////////////////////////// + // 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($config['direct_connection']==1) { + if ($dauer<$dump['max_zeit']) $dump['anzahl_zeilen']=$dump['anzahl_zeilen']*$config['tuning_add']; + else $dump['anzahl_zeilen']=$dump['anzahl_zeilen']*$config['tuning_sub']; + $dump['anzahl_zeilen']=round($dump['anzahl_zeilen'],0); + if($config['minspeed']>0) {if ($dump['anzahl_zeilen']<$config['minspeed']) $dump['anzahl_zeilen']=$config['minspeed'];} + if($config['maxspeed']>0) {if($dump['anzahl_zeilen']>$config['maxspeed']) $dump['anzahl_zeilen']=$config['maxspeed'];} + } + $dump['aufruf']++; + } + else + { + //Backup fertig + $dump['data']="\n".$mysql_commentstring.' EOB - End of backup\n\n\n'; + WriteToDumpFile(); + ExecuteCommand('a'); + chmod($config['paths']['backup'].$dump['backupdatei'],0755); + if($config['multi_part']==1) + { + $out.='
'; + $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.= $lang['file'].' '.$mpdatei.' ('.$sz.') '.$lang['dump_successful'].'
'; + } + + } + else $out.='
'.$lang['file']. + ' '.$dump['backupdatei'].' ('.byte_output(filesize($config['paths']['backup'].$dump['backupdatei'])).')' + .''.$lang['dump_successful'].'
'; + + $backup_ready=1; + $xtime=time()-$xtime; + $aus=Array(); + $aus[]= '
'; + 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(); + if($config['ftp_transfer']==1) DoFTP(); + $out.='
'; + + $aus[]= ''.$lang['done'].'
'; + + if($config['multi_dump']==1) + { + $aus[]= sprintf($lang['multidump'],count($databases['multi'])).': '; + + $aus[]=''.implode(', ',$databases['multi']).''; + //$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.'

' + .str_repeat(' ',60); + $aus[]= '
'; + $aus[]= '   '; + $aus[]= '   

'; + + $DumpFertig=1; + } +} + + +//===================================================================== +//================= Anzeige =========================================== +//===================================================================== + +//Seite basteln +$config_array=(isset($config)) ? 'CONFIG
'.@print_r($config,true).'
': ''; +$database_array=(isset($database)) ? 'DATABASE
'.@print_r($database,true).'
': ''; +$dump_array=(isset($dump)) ? 'DUMP
'.@print_r($dump,true).'
': ''; +$aus=array_merge($aus_header,$aus); + +$dump['xtime']=$xtime; +if ($DumpFertig!=1) $page_parameter=get_page_parameter($dump); + +$pagefooter=($DumpFertig==1) ? '

Daniel Schlichtholz & Steffen Kamper - Infoboard: '.$config['homepage'].'

' : ''; +$pagefooter.='
'; + +$js_aufruf_automatisch=$page_parameter.''; +$selbstaufruf=($page_parameter=='') ? '' : $js_aufruf_automatisch; +$complete_page=$pageheader.implode("\n",$aus).$selbstaufruf.$pagefooter; +echo $complete_page; +?> \ No newline at end of file diff --git a/mysqldumper/filemanagement.php b/mysqldumper/filemanagement.php new file mode 100644 index 0000000..c232bae --- /dev/null +++ b/mysqldumper/filemanagement.php @@ -0,0 +1,518 @@ +parent.MySQL_Dumper_content.location.href="dump.php?comment='.urlencode($dk) + .'&select_dump_encoding='.$dump['select_dump_encoding'] + .'";'; + exit; +} + +//-------------------------------------------------------- +//*** Abfrage ob Dump *** +//-------------------------------------------------------- +if (isset($_POST['dump'])) +{ + $dk=(isset($_POST['dumpKommentar'])) ? ((get_magic_quotes_gpc()) ? stripslashes($_POST['dumpKommentar']) : $_POST['dumpKommentar']) : ""; + 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(1,$config,$databases); + + $dump['fileoperations']=0; + echo ''; + } +} + +//-------------------------------------------------------- +//*** 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(1,$config,$databases); + + 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['select_dump_encoding_restore'])) + { + $encodingstring=$config['mysql_possible_character_sets'][$_POST['select_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(1,$config,$databases); + echo ''; + } + } + else + $msg.= '

'.$lang['fm_nofile'].'

'.br(); +} + + +//-------------------------------------------------------- +//*** Abfrage ob Delete *** +//-------------------------------------------------------- +if (isset($_POST['delete']) ) +{ + $msg=""; + if (isset($_POST['file'])) + { + $file=$_POST['file']; + //hier muss die Abfrage checkbox/radiobox rein + if($_POST['multi']==1) { + $delfiles=Array(); + $msg.= '

'; + for($i=0;$i'; + } else { + for ($j=0; $j'; + WriteLog("deleted '$del[$j]'."); + } + } + + } + $msg.='

'; + + + } else { + + if($_POST['multipart'][0]==0) { + $delfiles[]=$_POST['file'][0]; + } else { + $delfiles[]=substr($_POST['file'][0],0,strpos($_POST['file'][0],"_part_"))."*.*"; + } + + $del=DeleteFilesM($fpath,$delfiles[0]); + if($del==0){ + $msg.= '

'.$lang['fm_delete1'].$fpath.$_POST['file'][0].$lang['fm_delete3'].'

'; + } else { + for ($j=0; $j'; + WriteLog("deleted '$del[$j]'."); + } + } + } + } + else + $msg.= '

'.$lang['fm_nofile'].'

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

'.AutoDelete().'

'; + +if (isset($_POST['deleteall']) ) +{ + //hier kommt alldelete rein + $del=DeleteFilesM($fpath,"*.sql"); + if($del==0){ + //$msg.="Fehler beim löschen!"; + }else{ + for ($i=0; $i'; + WriteLog("deleted '$del[$i]'."); + } + $msg.='

'; + } + $del=DeleteFilesM($fpath,"*.gz"); + +} + +if (isset($_POST['deleteallfilter']) ) +{ + //hier kommt alldelete rein + $del=DeleteFilesM($fpath,$databases['db_actual']."*"); + if($del==0){ + //$msg.="Fehler beim löschen!"; + }else{ + for ($i=0; $i'; + WriteLog("deleted '$del[$i]'."); + } + $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'].": "; +$abue=($config['max_backup_files_each']==1)? $lang['max_backup_files_each2'] :$lang['max_backup_files_each1']; +$abue2=($config['del_files_after_days']>0) ? $lang['age_of_files']."=".$config['del_files_after_days'].", " : ""; +$autodel.=($config['auto_delete']==0) ? $lang['not_activated'] : $lang['activated']." (".$abue2.$lang['number_of_files_form']."=".$config['max_backup_files']." -> ".$abue.")"; +$autodel.='

'.br().br(); + +//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['cron_configurationfile']; + $scriptref="http://".$_SERVER['SERVER_NAME'].$refdir.$config['cron_execution_path'].'crondump.'.$cext."?config=".$confabsolute; + $cronref="perl ".$cronabsolute." config=".$confabsolute; + + //Ausgabe + echo headline($lang['fm_dump_header']); + if(!is_writable($config['paths']['backup'])) die(''.sprintf($lang['wrong_rights'],'work/backup','777').''); + + echo (isset($msg) && $msg!="")?"$msg
":""; + echo $autodel; + + //Auswahl + echo '
+ +       + +
'; + + echo '
'; + + //Dumpsettings + echo '
'.$lang['dump'].' (PHP)
'; + + echo br(3).'
'.br(); + echo ''; + + echo ''.$tbl_abfrage; + echo ''; + echo ''; + echo ''; + echo '
'.$lang['fm_choose_encoding'].':
'.$lang['mysql_connection_encoding'].':'.$config['mysql_standard_character_set'].'
'; + + + echo '
'.$lang['fm_dumpsettings'].' (PHP)
'; + + echo ''.$lang['db'].': '. + (($config['multi_dump']==1) ? + 'Multidump ('.count($databases['multi']).' '.$lang['dbs'].')' + : + $databases['db_actual'].'  ('.$databases['Detailinfo']['tables']." Tables, ".$databases['Detailinfo']['records']." Records, ".byte_output($databases['Detailinfo']['size']).")").''; + echo '   '.$lang['praefix'].': '.(($config['multi_dump']==1) ? '-' : $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']).''; + if($config['multi_part']==1) { + echo '   '.$lang['multi_part_groesse'].': '.byte_output($config['multipart_groesse']); + } + echo '
'.$lang['backup_format'].': '; + $t=''; + if($config['backup_complete_inserts']==1) $t.=$lang['inserts_complete']." / "; + if($config['backup_extended_inserts']==1) $t.=$lang['inserts_extended']." / "; + if($config['backup_ignore_inserts']==1) $t.=$lang['inserts_ignore']." / "; + if($config['backup_delayed_inserts']==1) $t.=$lang['inserts_delayed']." / "; + if($config['backup_lock_tables']==1 && $config['backup_delayed_inserts']==0) $t.=$lang['lock_tables']." / "; + $t=($t=="") ? $lang['normal'] : substr($t,0,strlen($t)-3); + if($config['backup_downgrade']==1) $t.='   '.htmlspecialchars($lang['downgrade']); + + echo $t.'
'; + + if($config['send_mail']==1) { + $t=$config['email_recipient'].(($config['send_mail_dump']==1) ? $lang['withattach'] : $lang['withoutattach']); + } + echo ''.$lang['send_mail_form'].': '.(($config['send_mail']==1) ? $t : $lang['not_activated']); + echo ''; + + echo '
'.$lang['ftp_transfer'].': '.(($config['ftp_transfer']==1) ? $lang['activated'] : $lang['not_activated']); + if($config['ftp_transfer']==1) { + echo 'Host: '.$config['ftp_server'][$config['ftp_connectionindex']].' Port '.$config['ftp_port'][$config['ftp_connectionindex']].' User: '.$config['ftp_user'][$config['ftp_connectionindex']].' Dir: '.$config['ftp_dir'][$config['ftp_connectionindex']]; + } + + echo '

'; + + echo '
'; + + break; + + case "restore": + echo headline($lang['fm_restore_header'].$databases['db_actual'].$lang['fm_restore_header2']); + echo (isset($msg) && $msg!="")?"$msg":""; + echo $autodel; + + echo br(3).'
'.br(); + echo '
'.br(); + echo ''; + echo FileList(); + echo '
'.br(); + + break; + case "files": + $sysfedit=(isset($_POST['sysfedit'])) ? 1 : 0; + $sysfedit=(isset($_GET['sysfedit'])) ? $_GET['sysfedit'] : $sysfedit; + echo headline($lang['file_manage']); + echo (isset($msg) && $msg!="") ? $msg.'
' : ''; + echo $autodel; + + echo ''.br(); + echo br(3).'
'.br(); + echo br().''.br(); + echo br().''.br(); + echo br().''.br(); + echo br().''.br(); + + echo FileList().'
'.br(); + + echo '
'.$lang['fm_fileupload'].'
'.br(); + echo '
'.br(); + echo ''.br(); + echo ''.br(); + echo '
'.$lang['max_upload_size'].': '.$config['upload_max_filesize'].''; + echo '
'.$lang['max_upload_size_info']; + + echo '
'.br(); + + 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 ''.br(3); +echo MSDFooter(); + + + +?> + diff --git a/mysqldumper/images/blank.gif b/mysqldumper/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/mysqldumper/images/h1_logo.gif b/mysqldumper/images/h1_logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6a339bddc06541fcf72e905fdb9cfb53efeefef GIT binary patch literal 4476 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 literal 0 HcmV?d00001 diff --git a/mysqldumper/images/konqueror.png b/mysqldumper/images/konqueror.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb315dbfa85ace41d485cc5fab536bf475fbb13 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^AT}QdGmuoQt(^&?N?apKTvCgZi!uvJGV}8ooQqNu zOHxx5$}>wc6hbmm72G|21E$vbbOIH#mw5WRvR`77;8PPe+;}AgD8yOd5n0T@z%2yA zjF;}#{Q(NHq&xaLGB9lH=l+w(3gk-%_=LFr|NsBYnKLtI&NMbQPD@Jza)B~4XQnYQ z7+d|AG!MvOED7=pW^j0R11QGe?djqeQgO?)&r|4t0|%4fl_&r8`z$8!yV2^+Im2UB zETh|&Wiw9oZRGNu(ePsrSNn;iZocs7I4i3cd>OT(mrt%vcoe?aYWg3>(znbd&l#IK TexH*98q476>gTe~DWM4fP&Z&x literal 0 HcmV?d00001 diff --git a/mysqldumper/images/logo.gif b/mysqldumper/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f5bac8e3499b2a0274f6c287b08b031430779be GIT binary patch literal 5235 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 ralHeO=ivGcz*kYHOJZ z@BoE43p^r=85o3OK$tP(h*>94kR{#G*O7r?V?XzwL{=c*AiyWYRmf(xT-pVj>hqb6 zJHwZ~$=?3HdFzX&3%}RyIJf4+%NY-TZGG_L(xcC>UVr%f{rCU>|F=D}P6z6(_H=O! zskp^hz|jAn;s5^|7QO$0^bd?NMQuI!hXnFM6ma(Dha4iw@n z@Q5sCVBi)4Va7{$>;3=*S<)SS9T^xl_H+M9WCijK0(?STr^(26yEt!EQaf#HTbi4@ zq@w&}1{{RZT zyZif}@t^hOR0$glsUr!;P{m~l_& zP|hxKjdvTHPaaY>=smd9`NTHYHC+pj9zIyt9?g5$SKR&U{6nuL{=F*@G-8|iyWISQ a9K(}Lv)L_Cw%$Oi89ZJ6T-G@yGywqEVS1_n literal 0 HcmV?d00001 diff --git a/mysqldumper/images/safari.png b/mysqldumper/images/safari.png new file mode 100644 index 0000000000000000000000000000000000000000..683f2ea2bf72347f9e8ceea793bec2c6b651587b GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^d?3ui3?$#C89V|~>?NMQuI!hY85wm|&-U4J1BEyX zJR*x37`Q%wFr(8NlNmrkmUKs7M+SzC{oH>NS%G|m0G|-o*o4Hux^)eOh3#FF3};*o zS$MT<=Kh*3Hy5WIcw>hGNByQq~NU1x1C@#bz_iObky9akFHYnc@~6>Sf8WX-cSjXf-#(C+$*~ z@Jsv*f0_2woL0Ec@P7mI%n95e^Cu}=|NsBm&gkVYqu)n?&S3C#^>bP0l+XkK__v5e literal 0 HcmV?d00001 diff --git a/mysqldumper/images/schriftzug_logo.png b/mysqldumper/images/schriftzug_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..04989f69cbaa79837caa0f135a4da456f8edf596 GIT binary patch literal 8228 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
".@print_r($config,true)."
": ""; +$database_array=(isset($database)) ? "DATABASE
".@print_r($database,true)."
": ""; +$dump_array=(isset($dump)) ? "DUMP
".@print_r($dump,true)."
": ""; +$restore_array=(isset($restore)) ? "RESTORE
".@print_r($restore,true)."
" : ""; + +echo '

'.$lang['authors'].':  + +Daniel Schlichtholz & Steffen Kamper - Infoboard: +'. +$config['homepage'].'

'; + +echo ''; + +?> diff --git a/mysqldumper/inc/functions.php b/mysqldumper/inc/functions.php new file mode 100644 index 0000000..682f448 --- /dev/null +++ b/mysqldumper/inc/functions.php @@ -0,0 +1,523 @@ +Help'; + } else { + return 'Help'; + } +} + +function DeleteFilesM($dir, $pattern = "*.*") +{ + $deleted = false; + $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; + } + } + closedir($d); + return $deleted; + } + else return 0; +} + +function SetDefault($load_default=false) +{ + global $config,$databases,$nl,$out,$lang,$preConfig; + + //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]; + } + $databases['db_actual_cronpraefix']=""; + $databases['db_actual_cronindex']=0; + } + + WriteParams(1); + if($load_default===true) WriteLog("default settings loaded."); + + return $out; +} + +function WriteParams($as=0) +{ + global $config,$databases,$config_dontsave; + $nl="\n"; + 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)) { + foreach($val as $var2 => $val2){ + if ($config['magic_quotes_gpc']==0 || $as==1) { + $pars_all.='$config[\''.$var.'\']['.((is_int($var2)) ? $var2 : "'".$var2."'").'] = \''.addslashes($val2)."';$nl"; + } else { + $pars_all.='$config[\''.$var.'\']['.((is_int($var2)) ? $var2 : "'".$var2."'").'] = \''.$val2."';$nl"; + } + } + } else { + if ($config['magic_quotes_gpc']==0 || $as==1) { + if(!in_array($var,$config_dontsave)) $pars_all.='$config[\''.$var.'\'] = \''.addslashes($val)."';$nl"; + } else { + if(!in_array($var,$config_dontsave)) $pars_all.='$config[\''.$var.'\'] = \''.$val."';$nl"; + } + } + } + } + foreach($databases as $var => $val){ + if(is_array($val)) { + foreach($val as $var2 => $val2){ + if ($config['magic_quotes_gpc']==0 || $as==1) { + $pars_all.='$databases[\''.$var.'\']['.((is_int($var2)) ? $var2 : "'".$var2."'").'] = \''.addslashes($val2)."';$nl"; + } else { + $pars_all.='$databases[\''.$var.'\']['.((is_int($var2)) ? $var2 : "'".$var2."'").'] = \''.$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; + @chmod($config['files']['parameter'], 0777); + if ($fp=fopen($config['files']['parameter'], "wb")) + { + if (!fwrite($fp,$pars_all)) $ret=false; + if (!fclose($fp)) $ret=false; + } + else $ret=false; + + $ret=WriteCronScript(); + + return $ret; +} + +function escape_specialchars($text) +{ +// $tomask=Array('@'=>'\@','$'=>'\$','\\'=>'\\\\'); + $suchen=ARRAY('@','$','\\\\'); + $ersetzen=ARRAY('\@','\$','\\'); + $text=str_replace($suchen,$ersetzen,$text); + return $text; +} + +function WriteCronScript() +{ + + global $nl, $config, $databases, $cron_save_all_dbs, + $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); + + if($config['cron_samedb']==0) + { + $cron_dbname=(isset($databases['db_actual'])) ? $databases['db_actual']:0; + $cron_dbpraefix = $databases['praefix'][$databases['db_selected_index']]; + } + else + { + if($databases['db_actual_cronindex']>=0) + { + $cron_dbname=$databases['Name'][$databases['db_actual_cronindex']]; + $cron_dbpraefix = $databases['db_actual_cronpraefix']; + + } + else + { + $cron_dbname=$databases['db_actual']; + $cron_dbpraefix = $databases['praefix'][$databases['db_selected_index']]; + } + } + + if($databases['db_actual_cronindex']=="-2") + { + $cron_save_all_dbs=1; + $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']); + } + + if ($databases['db_actual_cronindex']=="-3") + { + $cron_save_all_dbs=1; + $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']); + } + + if($databases['db_actual_cronindex']<0) + { + $csadb='$cron_save_all_dbs=1;'.$nl; + $csadb.='$cron_db_array=qw('.$cron_db_array.');'.$nl; + $csadb.='$cron_dbpraefix_array=qw('.$cron_dbpraefix_array.');'.$nl; + $csadb.='$dbpraefix="";'.$nl; + $csadb.='$command_beforedump_array="'.$cron_db_cbd_array.'";'.$nl; + $csadb.='$command_afterdump_array="'.$cron_db_cad_array.'";'.$nl; + } + else + { + $csadb='$cron_save_all_dbs=0;'.$nl; + $csadb.='$cron_db_array="";'.$nl; + $csadb.='$cron_dbpraefix_array="";'.$nl; + $csadb.='$dbpraefix="'.$cron_dbpraefix.'";'.$nl; + if (!isset($databases['command_before_dump'][$databases['db_selected_index']])) $databases['command_before_dump'][$databases['db_selected_index']]=''; + $csadb.='$command_beforedump_array="'.$databases['command_before_dump'][$databases['db_selected_index']].'";'.$nl; + if (!isset($databases['command_after_dump'][$databases['db_selected_index']])) $databases['command_after_dump'][$databases['db_selected_index']]=''; + $csadb.='$command_afterdump_array="'.$databases['command_after_dump'][$databases['db_selected_index']].'";'.$nl; + } + + + $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','cron_mail','cron_mail_dump','multi_part', + 'multipart_groesse','email_maxsize','auto_delete','del_files_after_days', + 'del_files_after_days','max_backup_files','perlspeed','optimize_tables_beforedump', + 'logcompression','log_maxsize','backup_complete_inserts','backup_extended_inserts', + 'backup_delayed_inserts','backup_ignore_inserts','backup_lock_tables','cron_completelog'); + foreach ($int_array as $i) + { + $config[$i]=intval($config[$i]); + } + if ($config['dbport']==0) $config['dbport']=3306; + + $cronscript=""; + + + //Datei öffnen und schreiben + $ret=true; + + + + $ext=($config['cron_extender']==0) ? "pl" : "cgi"; + + $sfile=$config['paths']['config'].$config['cron_configurationfile']; + if(substr($sfile,-5)=='.conf') { + @unlink($sfile); + $sfile.='.php'; + } + if(file_exists($sfile)) @chmod("$sfile",0777); + + if ($fp=fopen($sfile, "wb")) + { + if (!fwrite($fp,$cronscript)) $ret=false; + if (!fclose($fp)) $ret=false; + } + else $ret=false; + + if(file_exists($config['paths']['config']."mysqldumper.conf")) @unlink($config['paths']['config']."mysqldumper.conf"); + + 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",0755); + } + 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['dircr3'].' ...
'; + ftp_mkdir($conn_id,"structure"); + ftp_site($conn_id, "CHMOD 0777 structure"); + 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'; + } + } + if (isset($databases['Name'][0])) $databases['db_actual']=$databases['Name'][0]; +} + +// removes tags from inputs recursivly +function my_strip_tags($value) +{ + $ret=''; + if (is_array($value)) + { + foreach ($value as $key=>$val) + { + $$key=my_strip_tags($val); + } + } + else $ret=trim(strip_tags($value)); + return $ret; +} + +?> \ No newline at end of file diff --git a/mysqldumper/inc/functions_dump.php b/mysqldumper/inc/functions_dump.php new file mode 100644 index 0000000..a879703 --- /dev/null +++ b/mysqldumper/inc/functions_dump.php @@ -0,0 +1,483 @@ +'.$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 at '.$cur_time.$nl.$nl; + $dump['structure']=$mysql_commentstring.' Status:0:0::'.$databases['Name'][$dump['dbindex']]; + $dump['structure'].=":php:".MSD_VERSION.$nl; + $dump['structure'].=$mysql_commentstring.' Dump by MySQLDumper '.MSD_VERSION.' ('.$config['homepage'].')'.$nl; + $dump['structure'].=$mysql_commentstring.' Dump created on '.$cur_time.$nl.$mysql_commentstring.' This file only contains the structure of the database without data \n\n'; + + } + 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, $dump,$mysql_commentstring; + + $t_array=explode("|",$databases['db_actual_tableselected']); + $t=0; + $r=0; + $t_zeile="$mysql_commentstring\n$mysql_commentstring TABLE-INFO\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); + $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']; + $t_zeile.="$mysql_commentstring TABLE|".$erg['Name']."|".$erg['Rows']."|".($erg['Data_length']+$erg['Index_length'])."|".$erg['Update_time']."\n"; + } + } + //$dump['totalrecords']=$r; + $flags=$config['backup_complete_inserts'].$config['backup_extended_inserts'].$config['backup_ignore_inserts'].$config['backup_delayed_inserts'].$config['backup_downgrade'].$config['backup_lock_tables'].$config['optimize_tables_beforedump']; + + $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\n\n"; + 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; + + $def = "\n\n$mysql_commentstring\n$mysql_commentstring Create Table `$table`\n$mysql_commentstring\n\nDROP TABLE IF EXISTS `$table`;\n"; + mysql_select_db($db); + $result = mysql_query('SHOW CREATE TABLE `'.$table.'`',$config['dbconnection']); + $row=mysql_fetch_row($result); + $def .= (($config['backup_downgrade']==1) ? DownGrade($row[1],false) : $row[1].';')."\n\n"; + + if($withdata==1) { + $def.="$mysql_commentstring\n$mysql_commentstring Data for Table `$table`\n$mysql_commentstring\n\n"; + if($config['backup_delayed_inserts']==0) $def.="/*!40000 ALTER TABLE `$table` DISABLE KEYS */;".$nl; + if($config['backup_lock_tables']==1 && $config['backup_delayed_inserts']==0) $def.="LOCK TABLES `$table` WRITE;\n\n"; + } + 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=''; + $delayed=(isset($config['backup_delayed_inserts']) && $config['backup_delayed_inserts']==1) ? 'DELAYED ' : ''; + $complete=(isset($config['backup_complete_inserts']) && $config['backup_complete_inserts']==1) ? Fieldlist($db,$table).' ':''; + $ignore=(isset($config['backup_ignore_inserts']) && $config['backup_ignore_inserts']==1) ? 'IGNORE ':''; + + $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); + $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++; + + if($config['backup_extended_inserts']==0 || ($config['backup_extended_inserts']==1 && $first==1 && $ax==1) ) { + $insert = 'INSERT '.$delayed.$ignore.'INTO `'.$table.'` '.$complete.'VALUES ('; + $first=0; + } else $insert='('; + + + 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); + if(strlen($dump['data'])>400000 || $x==($ergebnisse-1)) { + $ax=0;$first=1; + } + $insert .= ($config['backup_extended_inserts']==0 || $x==($ergebnisse-1) || $ax==0) ? ");\n" : '),'; + $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 && $config['backup_lock_tables']==1 && $config['backup_delayed_inserts']==0) $dump['data'].="\nUNLOCK TABLES;"; + if($table_ready==1 && $config['backup_delayed_inserts']==0) $dump['data'].="\n/*!40000 ALTER TABLE `$table` ENABLE KEYS */;\n\n"; + mysql_free_result($result); +} + +function WriteToDumpFile() +{ + global $config,$dump,$buffer; + $dump['filesize']=0; + + $df=$config['paths']['backup'].$dump['backupdatei']; + $sf=$config['paths']['structure'].$dump['backupdatei_structure']; + + if ($config['compression']==1) + { + if($dump['data']!='') { + $fp = gzopen ($df,'ab'); + gzwrite ($fp,$dump['data']); gzclose ($fp); + } + if($dump['structure']!='') { + $fp = gzopen ($sf,'ab'); + gzwrite ($fp,$dump['structure']); gzclose ($fp); + } + } + else + { + if($dump['data']!='') { + $fp = fopen ($df,'ab'); + fwrite ($fp,$dump['data']);fclose ($fp); + } + if($dump['structure']!='') { + $fp = fopen ($sf,'ab'); + fwrite ($fp,$dump['structure']); fclose ($fp); + } + } + $dump['data']=$dump['structure']=''; + 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($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;$iERROR 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"; + $header.= "MIME-version: 1.0\n"; + $header .= "X-Mailer: PHP/" . phpversion(). "\n"; + $header .= "X-Sender-IP: $REMOTE_ADDR\n"; + $header .= "Content-Type: text/html"; + 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)).")"); + } + $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"; + $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"; + $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"; + + 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() +{ + global $config,$dump,$out; + + if($config['multi_part']==0) { + SendViaFTP($dump['backupdatei'],1); + } else { + $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; + SendViaFTP($mpdatei,$i); + } + } + $out.=''."file sent via FTP (".$dump['backupdatei']." => ".$config['ftp_server'][$config['ftp_connectionindex']].")

"; +} + +function SendViaFTP($source_file,$conn_msg=1) +{ + global $config,$out,$lang; + flush(); + if($conn_msg==1) $out.=''.$lang['filesendftp']."(".$config['ftp_server'][$config['ftp_connectionindex']]." - ".$config['ftp_user'][$config['ftp_connectionindex']].")
"; + + + // Herstellen der Basis-Verbindung + if($config['ftp_useSSL']==0) + $conn_id = ftp_connect($config['ftp_server'][$config['ftp_connectionindex']], $config['ftp_port'][$config['ftp_connectionindex']],$config['ftp_timeout']); + else + $conn_id = ftp_ssl_connect($config['ftp_server'][$config['ftp_connectionindex']], $config['ftp_port'][$config['ftp_connectionindex']],$config['ftp_timeout']); + // Einloggen mit Benutzername und Kennwort + $login_result = ftp_login($conn_id, $config['ftp_user'][$config['ftp_connectionindex']], $config['ftp_pass'][$config['ftp_connectionindex']]); + if ($config['ftp_mode']==1) ftp_pasv($conn_id,true); + + // Verbindung überprüfen + if ((!$conn_id) || (!$login_result)) { + $out.= ''.$lang['ftpconnerror'].$config['ftp_server'][$config['ftp_connectionindex']].$lang['ftpconnerror1'].$config['ftp_user'][$config['ftp_connectionindex']].$lang['ftpconnerror2'].'
'; + exit; + } else { + if($conn_msg==1) $out.= ''.$lang['ftpconnected1'].$config['ftp_server'][$config['ftp_connectionindex']].$lang['ftpconnerror1'].$config['ftp_user'][$config['ftp_connectionindex']].'
'; + } + + // Upload der Datei + $dest=$config['ftp_dir'][$config['ftp_connectionindex']].$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'][$config['ftp_connectionindex']].$lang['ftpconnected3'].'
'; + WriteLog("'$source_file' sent via FTP."); + } + + // Schließen des FTP-Streams + @ftp_quit($conn_id); +} +?> diff --git a/mysqldumper/inc/functions_files.php b/mysqldumper/inc/functions_files.php new file mode 100644 index 0000000..a97a16d --- /dev/null +++ b/mysqldumper/inc/functions_files.php @@ -0,0 +1,378 @@ +'; + $r.=''; + + $dh = opendir($fpath); + while (false !== ($filename = readdir($dh))) + { + if ($filename != "." && $filename != ".." && !is_dir($fpath.$filename)) { + $r.='
[offene Klammern: $klammerstart] --$rit
"; + + } + return $anz; +} + +function get_sqlbefehl() +{ + global $restore,$config,$databases,$lang; + + //Init + $restore['fileEOF']=false; + $restore['EOB']=false; + $complete_sql=''; + $sqlparser_status=0; + if(!isset($restore['eintraege_ready'])) $restore['eintraege_ready']=0; + + //Parsen + WHILE ($sqlparser_status!=100 && !$restore['fileEOF'] && !$restore['EOB'] ) + { + //nächste Zeile lesen + $zeile= ($restore['compressed']) ? gzgets($restore['filehandle']) : fgets($restore['filehandle']); + + /******************* 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)); + + // Am Ende eines MySQLDumper-Backups angelangt? + if(substr($zeile2,0,6)=='-- EOB' || substr($zeile2,0,5)=='# EOB') + { + $restore['EOB']=true; + $zeile='--';$zeile2='--'; + $sqlparser_status=100; + } + + // Kommenatr? + if ( (substr($zeile2,0,2)=='--') || (substr($zeile2,0,1)=='#') ) + { + $zeile='';$zeile2=''; $sqlparser_status=0; + } + + //Einfache Anweisung finden die mit Semikolon beendet werden + if(substr($zeile2,0,11)=='LOCK TABLES') $sqlparser_status=5; + if(substr($zeile2,0,6)=='COMMIT') $sqlparser_status=5; + if(substr($zeile2,0,5)=='BEGIN') $sqlparser_status=5; + if(substr($zeile2,0,13)=='UNLOCK TABLES') $sqlparser_status=5; + if(substr($zeile2,0,4)=='SET ') $sqlparser_status=5; + if(substr($zeile2,0,6)=='START ') $sqlparser_status=5; + if(substr($zeile2,0,3)=='/*!') $sqlparser_status=5; //MySQL-Condition oder Kommentar + if(substr($zeile2,0,11)=='ALTER TABLE') $sqlparser_status=5; + if(substr($zeile2,0,12)=='CREATE TABLE') $sqlparser_status=2; //Createaktion + if(substr($zeile2,0,12)=='CREATE INDEX') $sqlparser_status=4; //Indexaktion + + //Kommentar + if ( ($sqlparser_status!=5) && (substr($zeile2,0,2)=='/*')) $sqlparser_status=6; + + // Befehle, die nicht ausgeführt werden sollen + if (substr($zeile2,0,4)=='USE ') $sqlparser_status=7; + if (substr($zeile2,0,14)=='DROP DATABASE ') $sqlparser_status=7; + if(substr($zeile2,0,10)=='DROP TABLE') $sqlparser_status=1; //Löschaktion + + if (substr($zeile2,0,7)=='INSERT ') + { + $sqlparser_status=3; //Datensatzaktion + //$restore['actual_table']=strtolower(get_tablename_aus_insert($zeile)); + $restore['actual_table']=get_tablename_aus_insert($zeile); + + // Pruefen ob die Spaltenanzahl bekannt ist und wenn nicht setzen + if(!isset($restore['num_table_fields'][$restore['actual_table']])) + { + $restore['num_table_fields'][$restore['actual_table']]=get_num_rows($restore['actual_table']); + } + } + // 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: ".$complete_sql; + echo "
Erweiterte Inserts: ".$restore['erweiterte_inserts']; + die('
'.$lang['unknown_sqlcommand'].': '.$zeile); + } + /******************* 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==1) + { //Löschaktion + if($last_char==';') $sqlparser_status=100; //Befehl komplett + } + + if($sqlparser_status==2) + { + // Createanweisung ist beim Finden eines ; beendet + if($last_char==';' ) + { + if($config['minspeed']>0) $restore['anzahl_zeilen']=$config['minspeed']; + + //Spaltenanzahl fuer diese Tabelle merken + $restore['actual_table']=get_tablename($complete_sql); + + $complete_sql=del_inline_comments($complete_sql); //Inline-Kommentare entfernen + + //Create ausfuehren und Anzahl der Spalten speichern + $restore['actual_fieldcount']=submit_create_action($complete_sql); + $restore['num_table_fields'][$restore['actual_table']]=$restore['actual_fieldcount']; + + // Zeile verwerfen und naechsten Befehl suchen + $complete_sql=''; + $sqlparser_status=0; + } + } + + if($sqlparser_status==3) + { + //INSERT + // Anzahl der Felder ermitteln wenn unbekannt + if(!isset($restore['num_table_fields'][$restore['actual_table']])) + { + $restore['num_table_fields'][$restore['actual_table']]=get_num_rows($restore['actual_table']); + } + + + $AnzahlFelder=SQL_Is_Complete($complete_sql,$restore['num_table_fields'][$restore['actual_table']],DEBUG); + + // einen vollständigen Insert ermittelt + if($AnzahlFelder==$restore['num_table_fields'][$restore['actual_table']]) + { + $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 + 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 ') + { + $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'].'`'; + } + + if($AnzahlFelder>$restore['num_table_fields'][$restore['actual_table']] && $restore['erweiterte_inserts']==0) + { + if(!isset($restore['table_create'][$restore['actual_table']])) + { + global $lang; + include('./inc/functions_sql.php'); + $restore['table_create'][$restore['actual_table']]=GetCreateTable($databases['db_actual'],$restore['actual_table']); + } + + echo '
'; + echo '

Parser-Fehler : zuviele gezählt in Tabelle '.$restore["actual_table"].' ('.$AnzahlFelder.' statt '.$restore["num_table_fields"][$restore["actual_table"]].')'; + echo '
Aktuelle Tabelle: '.$restore['actual_table']; + echo '

CREATE-Anweisung

'; + echo '

INSERT-Anweisung


'; + echo '

'.$zeile; + die; + } + } + } + + // Index + 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; //Befehl komplett + } + } + + // Kommentar oder Condition + if($sqlparser_status==5) + { //Anweisung + if($last_char==';' ) + { + if($config['minspeed']>0) {$restore['anzahl_zeilen']=$config['minspeed'];} + $complete_sql=del_inline_comments($complete_sql); + $sqlparser_status=100; //Befehl komplett + } + } + + // Mehrzeiliger oder Inline-Kommentar + if($sqlparser_status==6) + { + if(!strrpos($zeile,'*/')===false) + { + $complete_sql=trim(del_inline_comments($complete_sql)); + $sqlparser_status=0; + } + } + + // Befehle, die verworfen werden sollen + 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; + + } + return trim($complete_sql); +} + +function submit_create_action($sql) +{ + //Führt eine Create-Anweisung durch und ermittelt danach die Anzahl der aktuellen Spalten + // und legt diese im Array ab + global $restore; + $tablename=get_tablename($sql); + if (DEBUG) + { + echo "
Tabellenname: ".$tablename; + echo "
Create: ".$sql; + } + $res=mysql_query($sql); + if (!$res===false) + { + if (DEBUG) echo "
Create-Anweisung erfolgreich ausgeführt."; + $restore['actual_table']=$tablename; + $restore['table_ready']++; + } + else + { + //erster Versuch die Tabelle anzulegen hat nicht geklappt + // versuchen wir es mal mit der alten Syntax + $res=mysql_query(downgrade($sql)); + if (!$res===false) + { + if (DEBUG) echo "
Create-Anweisung nach Downgrade erfolgreich ausgeführt."; + $restore['actual_table']=$tablename; + $restore['table_ready']++; + } + else + { + SQLError($sql,'Couldn\'t create table: '.$tablename); + die(); + } + } + return get_num_rows($tablename); +} + +function get_num_rows($tablename) +{ + //Anzahl der Tabellenspalten ermitteln + $sql='SHOW COLUMNS FROM `'.$tablename.'`'; + $res=mysql_query($sql); + if ($res) + { + $num_rows=mysql_num_rows($res); + } + else + { + global $restore; + v($restore); + die('Couldn\'t read rowcount for table '.$tablename.'!
Restore:'.$restore['actual_table']); + } + return $num_rows; +} + +function del_inline_comments($sql) +{ + $sql=str_replace("\n",'
',$sql); + + //Inline-Kommentare entfernen + preg_match_all("/(\/\*(.+)\*\/)/U",$sql,$array); + if (is_array($array[0])) + { + if (DEBUG) + { + v($array); + echo"

vorher:
".$sql."

"; + } + $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; +} + +function lock_table() +{ + global $config,$restore; + if ($config["lock_tables"]==1 && (isset($restore["actual_table"])) && ($restore["actual_table"]<>"unbekannt") ) + { + $sql="LOCK TABLES `".$restore["actual_table"]."` WRITE"; + $res=MSD_query($sql) || die(SQLError("Kein Lock ausgeführt!",mysql_error())); + } +} + +function stri_replace($original,$patterns) +{ + $finalremove=$original; + $piece_front=''; + $piece_back=''; + $piece_replace=''; + + for ($x=0; $x < count($patterns); $x++) + { + $safety=0; + while(strstr(strtolower($finalremove),strtolower($patterns[$x]))) + { + $safety=$safety+1; + if ($safety >= 100000) { break; } + + $occ=strpos(strtolower($finalremove),strtolower($patterns[$x])); + $piece_front=substr($finalremove,0,$occ); + $piece_back=substr($finalremove,($occ+strlen($patterns[$x]))); + $finalremove=$piece_front . $piece_replace . $piece_back; + } + } + return $finalremove; +} + + +// extrahiert auf einfache Art den Tabellennamen aus dem "Create"-Befehl +function get_tablename($t) +{ + global $restore; + $ersetzen=array('CREATE TABLE','IF NOT EXISTS'); + $t=trim(stri_replace($t,$ersetzen)); + $t=trim(str_replace('(',' ',$t)); + $w=explode(' ',$t); + $tn=$w[0]; + if(substr($tn,0,1)=='`') $tn=substr($tn,1,strlen($tn)-2); + return $tn; +} + +// extrahiert auf einfache Art den Tabellennamen aus dem "Insert"-Befehl +function get_tablename_aus_insert($t) +{ + $t=substr($t,0,100); + $t=substr($t,strpos(strtolower($t), 'into ')+5); + $w=explode(' ',$t); + $tn=$w[0]; + if(substr($tn,0,1)=='`') $tn=substr($tn,1,strlen($tn)-2); + return $tn; +} + +function SQL_Is_Complete($s,$expected=0,$debug=0) +{ + global $restore; + if ($debug) echo "
Zu analysieren:".$s."
"; + $anz=$f_begin=$f_end=$restore["erw_anz"]=0; + $Backslash=chr(92); + $s=trim(strtoupper(($s))); + if(substr($s,-2)==");" || substr($s,-2)=="),") $s=substr($s,0,strlen($s)-2); + if(substr($s,-1)==")") $s=substr($s,0,strlen($s)-1); + if(strpos($s," VALUES")) { + $i=strpos($s," VALUES")+7; + $s=substr($s,$i); + } + $i=strpos($s,"(")+1; + $s=substr($s,$i); + + $tb=explode(",",$s); + for ($i=0;$i0 && $anz==$expected-1 && substr($v,-1)==")") { + $v=substr($v,0,strlen($v)-1); // ) entfernen + //if($i+12) { + + $f_end=1; + } elseif (($B_Delimiter % 2)==1 && strlen($v)>2) { + //ist mit `'` maskiert + $f_end=0; + } elseif(($B_Esc % 2)==1) { + //ist mit Backslash maskiert + $f_end=0; + } else { + + $f_end=1; + } + } + } + if($debug==1) echo "$f_begin/$f_end Feld $i: ".htmlspecialchars($tb[$i])."- $anz ($B_Ticks / $B_Esc)
"; + if($f_begin==1 && $f_end==1) { + $anz++; + $f_begin=$f_end=0; + if($anz==$expected) { + $restore["erw_anz"]++; + if($debug==1) echo "
".$restore["erw_anz"].".Insert - (".$anz." Felder)
"; + $anz=0; + } + } + + } + if($anz==0 && $expected>0 && $restore["erw_anz"]>0) $anz=$expected; + + return $anz; +} + +?> diff --git a/mysqldumper/inc/functions_sql.php b/mysqldumper/inc/functions_sql.php new file mode 100644 index 0000000..8ec952f --- /dev/null +++ b/mysqldumper/inc/functions_sql.php @@ -0,0 +1,1254 @@ +0) { + $SQL_ARRAY=file($sf); + } +} +function WriteSQL() +{ + global $SQL_ARRAY,$config; + $sf=$config['paths']['config'].'sql_statements'; + $str=""; + for($i=0;$i0) + { + $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(); + $erg=false; + $sqlt="SHOW TABLES FROM `$db`"; + $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); + + if($res) { + $row = mysql_fetch_row($res); + if(strtolower($row[0])==strtolower($table)) { + $erg=true; + } + } else die("ERROR"); + return $erg; +} + +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) $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) or die(SQLError($sqlt,mysql_error())); + $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) or die(SQLError($sqlc,mysql_error())); + $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]) or die(SQLError($allSQL[0],mysql_error())); + + } else { + + for($i=0;$i<$sql_queries; $i++) { + $allSQL[$i]=trim(rtrim($allSQL[$i])); + + if($allSQL[$i]!="") { + $sqlcommand.=$allSQL[$i]; + $sqlcommand=SQLParser($sqlcommand); + //echo "$i: ".htmlentities($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) or die(SQLError($sqlcommand,mysql_error())); + $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;$i2) { + + $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($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']<5000) + $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); + return $row['Create Table']; + } 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.=''; + if(count($SQL_ARRAY)>0) { + for($i=0;$i'.SQL_Name($i).''.$nl; + } + } + + $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(); + for($i=0;$i<$num;$i++) { + $row=mysql_fetch_array($res); + $r[$i]['Collation']=$row['Collation']; + $r[$i]['Charset']=$row['Charset']; + $r[$i]['Id']=$row['Id']; + $r[$i]['Default']=$row['Default']; + $r[$i]['Compiled']=$row['Compiled']; + $r[$i]['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;$i0) $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=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("/[[:space:]]http:\/\/(.*?)[[:space:]]/si","$1",$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; + $table=''; + if (strlen($q)>100) $q=substr(0,100,$q); + $p=strtoupper($q); + $first=substr($p,0,strpos($p," ")); + switch($first) + { + case "SHOW": + $table=''; + break; + case "SELECT": + $p=substr($q,strpos($p,"FROM")+5); + $p=explode(" ",$p); + $t=$p[0]; + if(strpos($t,".")) $t=substr($t, strpos($t,".")+1); + $table=str_replace("`","",$t); + break; + case "DROP": + case "INSERT": + case "UPDATE": + break; + default: + $table=$first; + } + // So, dann wollen wir doch mal nachsehen, ob es die ermittelte Tabelle ueberhaupt gibt + if (Table_Exists($databases['db_actual'],$table)) return $table; + 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.='

'; + 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'.$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
'; + echo ''; + echo ''; + } + } + if(isset($_GET['new'])) { + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + echo ' + + '; + } + echo '
PositionNameSQL'.$lang['command'].'
'.($i+1).''; + echo '
+
+
'.($i+1).''; + echo '
'.$lang['sql_library'].'
'; + echo '
'; +?> diff --git a/mysqldumper/inc/sql_tables.php b/mysqldumper/inc/sql_tables.php new file mode 100644 index 0000000..fe53c20 --- /dev/null +++ b/mysqldumper/inc/sql_tables.php @@ -0,0 +1,324 @@ +'.$lang['sql_tablesofdb'].' `'.$databases['Name'][$dbid].'` '.$lang['sql_edit'].''; + if(isset($_GET['kill'])) { + if($_GET['anz']==1) + echo '

'.$lang['sql_nofielddelete'].'

'; + else { + $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_GET['tablename']."` DROP COLUMN `".$_GET['kill']."`"; + MSD_DoSQL($sql_alter); + echo '
'; + echo '

'.$lang['sql_fielddelete1'].' `'.$_GET['kill'].'` '.$lang['sql_deleted'].'.

'.highlight_sql($out).'
'; + } + } + if(isset($_POST['tablecopysubmit'])) { + $table_edit_name=$_GET['tablename']; + if($_POST['tablecopyname']=="") { + echo '

'.$lang['sql_nodest_copy'].'

'; + } elseif(Table_Exists($databases['Name'][$dbid],$_POST['tablecopyname'])) { + echo '

'.$lang['sql_desttable_exists'].'

'; + } else { + Table_Copy("`".$databases['Name'][$dbid]."`.`".$table_edit_name."`",$_POST['tablecopyname'],$_POST['copyatt']); + echo '
'; + echo ($_POST['copyatt']==0) ? '

'.sprintf($lang['sql_scopy'],$table_edit_name,$_POST['tablecopyname']).'.

' : '

'.sprintf($lang['sql_tcopy'],$table_edit_name,$_POST['tablecopyname']).'

'; + echo highlight_sql($out).'
'; + $tablename=$_POST['tablecopyname']; + } + } + if(isset($_POST['newtablesubmit'])) { + if($_POST['newtablename']=="") { + echo '

'.$lang['sql_tablenoname'].'

'; + } else { + $sql_alter="CREATE TABLE `".$databases['Name'][$dbid]."`.`".$_POST['newtablename']."` (`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY ) ".((MSD_NEW_VERSION) ? "ENGINE" : "TYPE")."=MyISAM;"; + MSD_DoSQL($sql_alter); + echo SQLOutput($out,$lang['table'].' `'.$_POST['newtablename'].'` '.$lang['sql_created']); + } + } + if(isset($_POST['t_edit_submit'])) { + $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_POST['table_edit_name']."` "; + if($_POST['t_edit_name']=="") + echo '

'.$lang['sql_tblnameempty'].'

'; + elseif(MSD_NEW_VERSION && $_POST['t_edit_collate']!="" && substr($_POST['t_edit_collate'],0,strlen($_POST['t_edit_charset']))!=$_POST['t_edit_charset']) + echo '

'.$lang['sql_collatenotmatch'].'

'; + else { + if($_POST['table_edit_name']!=$_POST['t_edit_name']) { + $sql_alter.="RENAME TO `".$_POST['t_edit_name']."`, "; + $table_edit_name=$_POST['t_edit_name']; + } else $table_edit_name=$_POST['table_edit_name']; + if($_POST['t_edit_engine']!="") $sql_alter.=((MSD_NEW_VERSION) ? "ENGINE=" : "TYPE=").$_POST['t_edit_engine'].", "; + if($_POST['t_edit_rowformat']!="") $sql_alter.="ROW_FORMAT=".$_POST['t_edit_rowformat'].", "; + if(MSD_NEW_VERSION && $_POST['t_edit_charset']!="") $sql_alter.="DEFAULT CHARSET=".$_POST['t_edit_charset'].", "; + if(MSD_NEW_VERSION && $_POST['t_edit_collate']!="") $sql_alter.="COLLATE ".$_POST['t_edit_collate'].", "; + $sql_alter.="COMMENT='".$_POST['t_edit_comment']."' "; + + MSD_DoSQL($sql_alter); + echo SQLOutput($out,$lang['table'].' `'.$_POST['table_edit_name'].'` '.$lang['sql_changed']); + } + } else { + if(!isset($table_edit_name) || $table_edit_name=="") { + $table_edit_name=(isset($_GET['tablename'])) ? $_GET['tablename'] : ""; + if(isset($_POST['tableselect'])) $table_edit_name=$_POST['tableselect']; + if(isset($_POST['newtablesubmit'])) $table_edit_name=$_POST['newtablename']; + } + } + if(isset($_POST['newfield_posted'])) { + //build sql for alter + if($_POST['f_name']=="") { + echo '

'.$lang['sql_fieldnamenotvalid'].' ('.$_POST['f_name'].')

'; + $field_fehler=1; + } else { + //alter Key + $oldkeys[0]=$_POST['f_primary']; + $oldkeys[1]=$_POST['f_unique']; + $oldkeys[2]=$_POST['f_index']; + $oldkeys[3]=$_POST['f_fulltext']; + //neuer Key + $newkeys[0]=($_POST['f_index_new']=="primary")? 1 : 0; + $newkeys[1]=($_POST['f_index_new']=="unique")? 1 : 0; + $newkeys[2]=($_POST['f_index_new']=="index")? 1 : 0; + $newkeys[3]=(isset($_POST['f_indexfull'])) ? 1 : 0; + + $add_sql.=ChangeKeys($oldkeys,$newkeys,$_POST['f_name'],$_POST['f_size'],"drop_only"); + + $sql_stamm="ALTER TABLE `".$databases['Name'][$dbid]."`.`$table_edit_name` "; + $sql_alter=$sql_stamm.((isset($_POST['editfield'])) ? "CHANGE COLUMN `".$_POST['fieldname']."` `".$_POST['f_name']."` " : "ADD COLUMN `".$_POST['f_name']."` "); + $sql_alter.=$_POST['f_type']; + $wl=stripslashes($_POST['f_size']); + if($wl!="" && !preg_match('@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT)$@i', $_POST['f_type'])) { + $sql_alter.="($wl) "; + } elseif ($_POST['f_size']=="" && preg_match('@^(VARCHAR)$@i', $_POST['f_type'])) { + $sql_alter.="("."255".") "; + } else $sql_alter.=" "; + $sql_alter.=$_POST['f_attribut']." "; + $sql_alter.=$_POST['f_null']." "; + $sql_alter.=($_POST['f_default']!="") ? "DEFAULT '".$_POST['f_default']."' " :""; + + if(MSD_NEW_VERSION && $_POST['f_collate']!="") $sql_alter.="COLLATE ".$_POST['f_collate']." "; + + if($_POST['f_extra']=="AUTO_INCREMENT") { + $sql_alter.=" AUTO_INCREMENT "; + } + if($newkeys[0]==1) $sql_alter.=" PRIMARY KEY "; + if($newkeys[1]==1) $sql_alter.=" UNIQUE INDEX "; + if($newkeys[2]==1) $sql_alter.=" INDEX "; + if($newkeys[3]==1) $sql_alter.=" FULLTEXT INDEX "; + + $sql_alter.=$_POST['f_position']." ;"; + + if($add_sql!="") { + $add_sql=$sql_stamm.$add_sql; + $sql_alter="$sql_alter;\n$add_sql;\n"; + } + MSD_DoSQL($sql_alter); + + echo '
'; + echo '

`'.$_POST['f_name'].'` '.((isset($_POST['editfield'])) ? $lang['sql_changed'] : $lang['sql_created']).'.

'; + echo highlight_sql($out).'
'; + $fields_infos=FillFieldinfos($databases['Name'][$dbid],$table_edit_name); + } + } + mysql_select_db($databases['Name'][$dbid]); + $sqlt="SHOW TABLE STATUS FROM `".$databases['Name'][$dbid]."` ;"; + $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); + $anz_tabellen=mysql_numrows($res); + $p="sql.php?db=".$databases['Name'][$dbid]."&dbid=$dbid&tablename=$table_edit_name&context=2"; + + echo '
'; + echo ''; + echo '
'.$lang['new'].' '.$lang['sql_createtable'].':
'.$lang['sql_copytable'].':
'; + + echo ''; + + if($anz_tabellen==0) { + echo ''; + } else { + + + echo ''; + echo ''; + echo ''; + } + echo '
'.$lang['sql_notablesindb'].' `'.$databases['Name'][$dbid].'`
'.$lang['sql_selecttable'].':     

 

'; + if($table_edit_name!="") { + + $sqlf="SHOW FULL FIELDS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name` ;"; + $res=MSD_query($sqlf) or die(SQLError($sqlf,mysql_error())); + $anz_fields=mysql_num_rows($res); + + //Array füllen + + $fields_infos=FillFieldinfos($databases['Name'][$dbid],$table_edit_name); + + if(MSD_NEW_VERSION) + $t_engine=(isset($fields_infos['_tableinfo_']['ENGINE'])) ? $fields_infos['_tableinfo_']['ENGINE'] : "MyISAM"; + else + $t_engine=(isset($fields_infos['_tableinfo_']['TYPE'])) ? $fields_infos['_tableinfo_']['TYPE'] : "MyISAM"; + $t_charset=(isset($fields_infos['_tableinfo_']['DEFAULT CHARSET'])) ? $fields_infos['_tableinfo_']['DEFAULT CHARSET'] : ""; + $t_collation=isset($row['Collation']) ? $row['Collation'] : ""; //(isset($fields_infos['_tableinfo_']['COLLATE'])) ? $fields_infos['_tableinfo_']['COLLATE'] : ""; + $t_comment=(isset($fields_infos['_tableinfo_']['COMMENT'])) ? substr($fields_infos['_tableinfo_']['COMMENT'],1,strlen($fields_infos['_tableinfo_']['COMMENT'])-2) : ""; + $t_rowformat=(isset($fields_infos['_tableinfo_']['ROW_FORMAT'])) ? $fields_infos['_tableinfo_']['ROW_FORMAT'] : ""; + + echo "
Tabelle `$table_edit_name`
"; + $td=''; + + + //Tabelleneigenschaften + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'.$lang['sql_tblpropsof'].' `'.$table_edit_name.'` ('.$anz_fields.' '.$lang['fields'].')Name
Engine
Row Format
'.$lang['charset'].'
'.$lang['collation'].'
'.$lang['comment'].'
 

 

'; + + $field_fehler=0; + echo '
Felder der Tabelle `'.$table_edit_name.'`
'; + + if(isset($_GET['newfield']) || isset($_GET['editfield']) || $field_fehler>0 || isset($_POST['newfield_posted'])) { + if(isset($_GET['editfield'])) $id=$_GET['editfield']; + $d_name=(isset($_GET['editfield'])) ? $fields_infos[$id]['name'] : ""; + $d_type=(isset($_GET['editfield'])) ? $fields_infos[$id]['type'] : ""; + $d_size=(isset($_GET['editfield'])) ? $fields_infos[$id]['size'] : ""; + $d_null=(isset($_GET['editfield'])) ? $fields_infos[$id]['null'] : ""; + $d_attribute=(isset($_GET['editfield'])) ? $fields_infos[$id]['attribut'] : ""; + $d_default=(isset($_GET['editfield'])) ? substr($fields_infos[$id]['default'],1,strlen($fields_infos[$id]['default'])-2) : ""; + $d_extra=(isset($_GET['editfield'])) ? $fields_infos[$id]['extra'] : ""; + $d_primary=$d_unique=$d_index=$d_fulltext=0; + $d_collate=(isset($_GET['editfield'])) ? $fields_infos[$id]['collate'] : ""; + $d_comment=(isset($_GET['editfield'])) ? $fields_infos[$id]['comment'] : ""; + $d_privileges=(isset($_GET['editfield'])) ? $fields_infos[$id]['privileges'] : ""; + + if(isset($_GET['editfield'])) { + $d_primary=(isset($fields_infos['_primarykey_']) && $fields_infos['_primarykey_']==$fields_infos[$id]['name']) ? 1 : 0; + if(isset($fields_infos['_key_'])) { + for($i=0;$i'; + if (isset($_GET['editfield'])) echo ''; + if(isset($_POST['newtablesubmit'])) echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + echo ''; + echo ''; + echo '
'.((isset($_GET['editfield'])) ? $lang['sql_editfield']." `".$d_name."`" : $lang['sql_newfield']).'
Name
Type
Size '.$lang['sql_enumsethelp'].'
NULL
Default
Extra
'.$lang['sql_indexes'].'
'; + echo 'No Index '; + echo 'Primary Key '; + echo 'Unique Index '; + echo 'Index '; + echo 'Fulltext Index 
'.$lang['collation'].'
'.$lang['sql_attributes'].'
'.$lang['sql_atposition'].':

 

'; + } else + echo ''.$lang['sql_insertnewfield'].'

'; + + //Felder ausgeben + echo ''; + for($i=0;$i<$anz_fields;$i++) { + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + if($i==0) echo ''; + echo ''; + echo ''; + echo ''.$td.$fields_infos[$i]['extra'].''; + echo ''; + } + echo '
 FieldTypeSizeNULLKeyAttributeDefaultExtraSortierung
'; + echo 'edit field  '; + echo 'delete field  '; + + echo ''.$fields_infos[$i]['name'].''.$fields_infos[$i]['type'].''.$fields_infos[$i]['size'].''.$fields_infos[$i]['null'].''; + //key + if($fields_infos['_primarykey_']==$fields_infos[$i]['name']) echo 'Primary Key'; + if(isset($fields_infos['_fulltextkey_'])) { + for($ii=0;$ii'; break; + } + } + } + if(isset($fields_infos['_uniquekey_'])) { + for($ii=0;$ii'; break; + } + } + } + if(isset($fields_infos['_key_'])) { + for($ii=0;$ii".$fields_infos['_key_'][$ii]['columns'].""; + if($fields_infos['_key_'][$ii]['name']==$fields_infos[$i]['name']) { + echo 'Index'; break; + } + } + } + echo ''.$fields_infos[$i]['attribut'].''.$fields_infos[$i]['default'].''.((MSD_NEW_VERSION) ? $fields_infos[$i]['collate'] : " ").'

'; + + echo '
'.$lang['sql_tableindexes'].' `'.$table_edit_name.'`
'; + echo ''.((MSD_NEW_VERSION) ? '' : '').''; + $sqlk="SHOW KEYS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name`;"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $num=mysql_numrows($res); + if($num==0) { + echo ''; + } else { + for($i=0;$i<$num;$i++) { + $row=mysql_fetch_array($res); + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + //Images + echo ''; + echo ''; + if(MSD_NEW_VERSION) echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + } + echo '
 Index-NameTyp'.$lang['sql_allowdups'].''.$lang['sql_cardinality'].'Spalten
'.$lang['sql_tablenoindexes'].'
  '.$row['Key_name'].''.$row['Index_type'].''.(($row['Non_unique']==1) ? $lang['yes']: $lang['no']).''.(($row['Cardinality']>=0) ? $row['Cardinality'] : "keine").''.$row['Column_name'].'

'; + echo '
';print_r($fields_infos);echo '
';*/ + } +?> diff --git a/mysqldumper/inc/sql_tools.php b/mysqldumper/inc/sql_tools.php new file mode 100644 index 0000000..c5e02f0 --- /dev/null +++ b/mysqldumper/inc/sql_tools.php @@ -0,0 +1,144 @@ +Tools"; + if(isset($_POST['dbdosubmit'])) { + $newname=$_POST['newname']; + $db_index=$_POST['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=$_POST['db_create']; + if(!empty($newname)) { + $col=(MSD_NEW_VERSION) ? $_POST['db_collate'] : ""; + if($col!="") { + $r=explode("|",$col); + $sqlc="CREATE DATABASE `$newname` DEFAULT CHARACTER SET $r[0] COLLATE $r[1]"; + } else $sqlc="CREATE DATABASE `$newname`"; + MSD_query($sqlc) or die(SQLError($sqlc,mysql_error())); + echo $lang['db']." `$newname` ".$lang['sql_wascreated'].".
"; + SetDefault(); + include ($config['files']['parameter']); + echo ''; + + } + } + $db_action=$newname="";$db_index=-1; + for($i=0;$i
'; + 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 '
'.$lang['create_database'].'
Name: '; + echo '  '.$lang['collation'].':   '; + echo '
'; + + echo '

 

'; + echo ''; + for($i=0;$i' : ''; + echo ''; + echo ''; + } + + echo '
'.$lang['dbs'].''.$lang['sql_actions'].'
'.$databases['Name'][$i].''; + echo '  '; + echo "\n\n".'  '; + + echo '  
'; +?> diff --git a/mysqldumper/inc/sqllib.php b/mysqldumper/inc/sqllib.php new file mode 100644 index 0000000..ba0cf28 --- /dev/null +++ b/mysqldumper/inc/sqllib.php @@ -0,0 +1,55 @@ + diff --git a/mysqldumper/inc/tabellenabfrage.php b/mysqldumper/inc/tabellenabfrage.php new file mode 100644 index 0000000..81a06e7 --- /dev/null +++ b/mysqldumper/inc/tabellenabfrage.php @@ -0,0 +1,98 @@ + 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); + $row2=mysql_fetch_array($res2); + $row['Rows']=$row2['count_records']; + + $klasse=($i % 2) ? 1:''; + $tbl_zeile.=''.$row['Name'].''; + $tbl_zeile.=''.$row['Rows'].' '.$lang['datawith'].' '.byte_output($row['Data_length']+$row['Index_length']).', '.$lang['lastbufrom'].' '.$row['Update_time'].''; + } +} else { + //Restore - Header aus Backupfile lesen + $button_name='restore_tbl'; + $button_caption=""; + $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[0]; + $anzahl_eintraege=$sline[1]; + $part=($sline[2]=="") ? 0 : substr($sline[2],3); + $EXTINFO= $sline[6]; + if($EXTINFO=="") { + $tbl_zeile.=''.$lang['not_supported'].''; + } else { + for($i=0;$i<$anzahl_tabellen;$i++) { + if ($gz) + { + gzseek($fp,$offset); + $statusline=gzgets($fp,40960); + $offset= gztell($fp); + } else { + fseek($fp,$offset); + $statusline=fgets($fp,5000); + $offset= ftell($fp); + } + $s=explode("|",$statusline); + $tbl_zeile.=''.$s[1].''; + $tbl_zeile.=''.$s[2].' '.$lang['datawith'].' '.byte_output($s[3]).', '.$lang['lastbufrom'].' '.$s[4].''; + } + if($gz) gzclose ($fp); else fclose ($fp); + } +} + +$buttons='' +.'' +.'' +.'' +.'
'; + +echo '
'.$tblr.' - '.$lang['tableselection'].'
'.$lang['db'].': '.$databases['db_actual'].'
'; +echo '
'; +echo '
'; +echo ''; + +echo $buttons; +echo $tbl_zeile; +echo $buttons; + +echo '
+ + + + +
'; +//echo '




'; +echo '


'; + +?> diff --git a/mysqldumper/inc/template.php b/mysqldumper/inc/template.php new file mode 100644 index 0000000..28f3fae --- /dev/null +++ b/mysqldumper/inc/template.php @@ -0,0 +1,478 @@ +_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/mysqldumper/index.php b/mysqldumper/index.php new file mode 100644 index 0000000..473646c --- /dev/null +++ b/mysqldumper/index.php @@ -0,0 +1,41 @@ + + + + + + + +MySQLDumper + + + + + + + diff --git a/mysqldumper/install.php b/mysqldumper/install.php new file mode 100644 index 0000000..022681f --- /dev/null +++ b/mysqldumper/install.php @@ -0,0 +1,753 @@ + $getval){ ${$getvar} = $getval; } +foreach($_POST as $postvar => $postval){ ${$postvar} = $postval; } + +if(!isset($language)) $language="en"; + +//Übergabe der Parameter über FORM +if (isset($_POST['dbhost'])) +{ + $config['dbhost']=$dbhost; + $config['dbuser']=$dbuser; + $config['dbpass']=$dbpass; + $config['dbport']=$dbport; + $config['dbsocket']=$dbsocket; +} +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]; + } + else $connstr=""; +} + +//Variabeln +$phase=(isset($phase)) ? $phase : 0; +$connstr="$dbhost|$dbuser|$dbpass|$dbport|$dbsocket"; +$delfiles=Array(); + +include_once('./inc/functions.php'); +include_once('./inc/mysql.php'); +include_once('./inc/runtime.php'); + +$config['language']=$language; +include('./language/lang_list.php'); +include('language/'.$language.'/lang_install.php'); +include('language/'.$language.'/lang_main.php'); +$img_ok='ok'; +$img_failed='failed'; +$href="install.php?language=$language&phase=$phase&connstr=$connstr"; + +?> + + + + + + + + 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.' '.MSD_VERSION_ADD.'
'.$lang['install_forcescript'].'

+'; + + +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); + if(file_exists("config.php") && file_exists($config['paths']['config']."parameter.php"))zipConfig(); + + 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'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + if(isset($dbconnect)) + { + echo ''; + echo ''; + } + echo '
'.$lang['db_host'].':
'.$lang['db_user'].':
'.$lang['db_pass'].':
'; + echo $lang['port'].':  '.$lang['install_help_port'].'
'.$lang['socket'].':  '.$lang['install_help_socket'].'
'.$lang['testconnection'].':
'.$lang['dbconnection'].'
'; + MSD_mysql_connect(); + + if(!$config['dbconnection']) { + echo '

'.$lang['connectionerror'].'

 '; + } else { + echo '

'.$lang['connection_ok'].'

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

'; + + if (isset($connection) && $connection=="ok") + { + if (empty($databases['Name'])) 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'.$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/","work/structure/"); + $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"); + $iw[4]=IsWritable("work/structure"); + + if ($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4]) + { + echo ''; + } + + + 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).'
work/structure'.Rechte("work/structure").''.(($iw[4]) ? $img_ok : $img_failed).'
'.$lang['dirs_created'].'

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

'.$lang['installfinished'].'

'; + SetDefault(true); + 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"); + $iw[4]=IsWritable("work/structure"); + echo '
'.$lang['ftpmode'].'
'; + echo '

'.$lang['safemodedesc'].'

'; + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + // Wenn Verzeichnisse erstellt wurden - direkt weitermachen + if ($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4]) + { + 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).'
work/structure'.(($iw[4]) ? $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"); + $iw[4]=IsWritable("work/structure"); + 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 ''; + echo ''; + if($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4]) + 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).'
work/structure'.(($iw[4]) ? $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']; + + if(is_writable($config['paths']['config'])) { + if(file_exists($config['paths']['config']."config.gz")) { + echo '

'.$lang['import1'].''; + } + echo '
'.$lang['import2'].''; + } + } + break; + /* + case 20: //import + echo '
'.$lang['import'].'
'; + + $import=importConfig($config['paths']['config']."config.gz"); + if($import==0) { + echo '
'.$lang['import3'].'
'; + SetDefault(true); + echo '
'.$lang['import4'].'
'; + echo ''.$lang['import5'].'    '.$lang['import6'].''; + } elseif($import==1) { + echo '

'.$lang['import11'].'

'; + } elseif($import==2) { + echo '

'.$lang['import12'].'

'; + } + break; + + + + break; + case 21: //upload + import + echo '
'.$lang['import2'].'
'; + echo '
'; + echo '
'; + echo ''; + echo '
'; + + break; + case 22: //posting from upload + echo '
'.$lang['import7'].'
'; + $backlink=''.$lang['import8'].''; + if (isset($_POST['upload'])) + { + $error=false; + if (!($_FILES['upfile']['name'])) { + echo "".$lang['fm_uploadfilerequest'].'

'.$backlink; + exit; + } + + if (file_exists($config['paths']['config'].$_FILES['upfile']['name'])) unlink($config['paths']['config'].$_FILES['upfile']['name']); + + if ($_FILES['upfile']['name']!='config.gz') + { + echo "".$lang['import9']."

".$backlink; + exit; + } + if (move_uploaded_file($_FILES['upfile']['tmp_name'],$config['paths']['config'].$_FILES['upfile']['name'])) + { + chmod($config['paths']['config'].$upfile_name,0755); + + } else { + echo "".$lang['fm_uploadmoveerror']."
".$backlink; + exit; + } + } + echo '
'.$lang['import10'].'
'; + $import=importConfig($config['paths']['config']."config.gz"); + if($import==0) { + echo '
'.$lang['import3'].'
'; + SetDefault(true); + echo '
'.$lang['import4'].'
'; + echo ''.$lang['import5'].'    '.$lang['import6'].''; + } elseif($import==1) { + echo '

'.$lang['import11'].'

'; + } elseif($import==2) { + echo '

'.$lang['import12'].'

'; + } + break; + */ + case 100: //uninstall + echo '
'.$lang['ui1'].'
'; + echo zipConfig().'

'; + 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; +} + +?> + +

+ + + + +Download Config from '.$config['paths']['config'].''; + +} + +function importConfig($importfile) +{ + global $config; + + $cf1=Array(); + $imp1=Array(); + $sql1=Array(); + $tmp=Array(); + + if(!file_exists($importfile)) exit; + $tmp=file("config.php"); + $imp=gzfile($importfile); + + for($i=0;$i diff --git a/mysqldumper/js/script.js b/mysqldumper/js/script.js new file mode 100644 index 0000000..fdd8152 --- /dev/null +++ b/mysqldumper/js/script.js @@ -0,0 +1,240 @@ +var NS = (document.layers); +var IE = (document.all); + +function setMenuActive(id) { + for(var i=1;i<9;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; 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 +
+

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://www.mysqldumper.de/board + + +

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

    + +
    Menu
    +I den øverste valgboks vælges din database.
    +Alle handlinger refererer til denne database. + +
    Hjem
    +Her ser du information om dit system, versionsnumre og detaljer om de konfigurerede databaser.
    +Hvis du klikker på en database i tabellen, får du en liste over tabeller med posttællere, størrelse og senest opdateret-stempel. + +
    Konfiguration
    +Her kan du redigere din konfiguration, gemme den eller indlæse standardindstillingerne. + + +
    Administration
    +Alle handlinger listes op hér.
    +Du kan se alle filer i backupfolderen. +For handlingerne "Genetabler" og "Slet" skal du vælge en fil først. +
      +
    • Genetabler: du genetablerer databasen med posterne fra den valgte backupfil.
    • +
    • Slet: du kan slette den valgte backupfil.
    • +
    • Start nyt Dump: her starter du en ny backup (dump) med dine konfigurerede parametre.
    • +
    + +
    Log
    +Du kan læse Log-indlæg og slette dem. + +
    Bidragsydere / Hjælp
    +Denne side. + + +
+

Vore Sponsorer

+Sponsorer kan også findes på vor Sponsorside
+























+























+ \ No newline at end of file diff --git a/mysqldumper/language/da/lang.php b/mysqldumper/language/da/lang.php new file mode 100644 index 0000000..ea858bb --- /dev/null +++ b/mysqldumper/language/da/lang.php @@ -0,0 +1,114 @@ +Bemærk: Programmet kan ikke fortsætte i Safe-Mode!Opret manuelt følgende foldere i MySQLDumper folderen:
\ No newline at end of file diff --git a/mysqldumper/language/da/lang_config_overview.php b/mysqldumper/language/da/lang_config_overview.php new file mode 100644 index 0000000..b2ea716 --- /dev/null +++ b/mysqldumper/language/da/lang_config_overview.php @@ -0,0 +1,102 @@ + for Cron jobbet"; +$lang['withattach']=" med vedhæftede"; +$lang['withoutattach']=" uden vedhæftede"; +$lang['multidumpconf']="=Multidump konfiguration="; +$lang['multidumpall']="=alle databaser="; +$lang['gzip']="GZip-komprimering"; +$lang['send_mail_form']="Send email rapport"; +$lang['send_mail_dump']="Vedhæft backup"; +$lang['email_adress']="Emailadresse"; +$lang['email_subject']="Afsenderadresse på emailen"; +$lang['email_maxsize']="Maksimumstørrelse på vedhæftede"; +$lang['age_of_files']="Slet ud fra alder på filer (i dage)"; +$lang['number_of_files_form']="Slet ud fra antal filer"; +$lang['language']="Sprog"; +$lang['list_db']="Konfigurerede databaser:"; +$lang['config_ftp']="FTP-overførsel af Backupfil"; +$lang['ftp_transfer']="FTP-overførsel"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="Bruger"; +$lang['ftp_pass']="Kodeord"; +$lang['ftp_dir']="Upload-folder"; +$lang['ftp_ssl']="Sikker SSL FTP-forbindelse"; +$lang['ftp_useSSL']="brug SSL-forbindelse"; +$lang['sqlboxheight']="Højde på SQL-Boks"; +$lang['sqllimit']="Antal poster pr. side"; +$lang['bbparams']="Konfiguration for BB-kode"; +$lang['bbtextcolor']="Tekstfarve"; +$lang['help_commands']="Du kan udføre en kommando før og efter backup. +Denne kommando kan være en SQL-konstruktion eller en Systemkommando (f.eks. et script)"; +$lang['command']="Kommando"; +$lang['wrong_connectionpars']="Forbindelsesparametre er forkerte!"; +$lang['connectionpars']="Forbindelsesparametre"; +$lang['extendedpars']="Udvidede parametre"; +$lang['fade_in_out']="Visning til/fra"; +$lang['db_backuppars']="Database backupparametre"; +$lang['general']="Generelt"; +$lang['maxsize']="maks. størrelse"; +$lang['backup_format']="Backupformat"; +$lang['inserts_complete']="Komplette Inserts"; +$lang['inserts_extended']="Udvidede Inserts"; +$lang['inserts_delayed']="Forsinkede Inserts"; +$lang['inserts_ignore']="Fejl ved ignoring Inserts"; +$lang['lock_tables']="Lås tabeller"; +$lang['errorhandling_restore']="Fejlhandling under genetablering"; +$lang['ehrestore_continue']="fortsæt og log fejl"; +$lang['ehrestore_stop']="stop"; +$lang['in_mainframe']="i hovedramme"; +$lang['in_leftframe']="i venstre ramme"; +$lang['width']="Bredde"; +$lang['sql_befehle']="SQL-kommandoer"; +$lang['download_languages']="download andre sprog"; +$lang['download_styles']="download andre temaer"; +$lang['connect_to']="forbind med"; +$lang['changedir']="Skifter til folder"; +$lang['changedirerror']="Kunne ikke skifte folder!"; +$lang['ftp_ok']="Forbindelse etableret."; +$lang['install']="Installation"; +$lang['noftppossible']="Du har ingen FTP-funktioner !"; +$lang['found_db']="fundet db"; +$lang['ftp_choose_mode']="FTP-overførselstilstand"; +$lang['ftp_passive']="brug passiv-tilstand"; +$lang['help_ftp_mode']="Vælg passiv tilstand hvis der opstår problemer ved brug af aktiv tilstand."; +$lang['db_in_list']="Databasen '%s' kunne ikke tilføjes da den allerede findes."; +$lang['add_db_manually']="Opret manuelt database"; +$lang['db_manual_error']="Beklager, kunne ikke forbinde til database '%s'!"; +$lang['db_manual_file_error']="Fil-fejl: kunne ikke tilføje database '%s'!"; +$lang['no_db_found']="kunne ikke automatisk finde nogen database! Åbn forbindelsesparametrene og indtast manuelt navnet på databasen."; +$lang['connect_utf8']="Sæt databaseforbindelse til utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/da/lang_dump.php b/mysqldumper/language/da/lang_dump.php new file mode 100644 index 0000000..7abe91c --- /dev/null +++ b/mysqldumper/language/da/lang_dump.php @@ -0,0 +1,62 @@ +%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['datawith']="Poster med"; +$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

\"; + + +"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/da/lang_filemanagement.php b/mysqldumper/language/da/lang_filemanagement.php new file mode 100644 index 0000000..66b2088 --- /dev/null +++ b/mysqldumper/language/da/lang_filemanagement.php @@ -0,0 +1,86 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/da/lang_help.php b/mysqldumper/language/da/lang_help.php new file mode 100644 index 0000000..559ff32 --- /dev/null +++ b/mysqldumper/language/da/lang_help.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/mysqldumper/language/da/lang_install.php b/mysqldumper/language/da/lang_install.php new file mode 100644 index 0000000..c803373 --- /dev/null +++ b/mysqldumper/language/da/lang_install.php @@ -0,0 +1,89 @@ +Installation gennemført --> start MySQLDumper
"; +$lang['install_forcescript']="Start MySQLDumper uden installation"; +$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['dircr3']="opret structurdir"; +$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_no_db']="FEJL: følgende DB blev ikke fundet:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/da/lang_log.php b/mysqldumper/language/da/lang_log.php new file mode 100644 index 0000000..149dcbb --- /dev/null +++ b/mysqldumper/language/da/lang_log.php @@ -0,0 +1,14 @@ +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/mysqldumper/language/da/lang_main.php b/mysqldumper/language/da/lang_main.php new file mode 100644 index 0000000..ccf2443 --- /dev/null +++ b/mysqldumper/language/da/lang_main.php @@ -0,0 +1,73 @@ +"; +$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['htaccess17']="Opret og 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/da/lang_restore.php b/mysqldumper/language/da/lang_restore.php new file mode 100644 index 0000000..6d029ca --- /dev/null +++ b/mysqldumper/language/da/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/da/lang_sql.php b/mysqldumper/language/da/lang_sql.php new file mode 100644 index 0000000..e131553 --- /dev/null +++ b/mysqldumper/language/da/lang_sql.php @@ -0,0 +1,177 @@ +%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['sqllib_boardoffline']="Board offline"; +$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_explain']="Indtast et eller flere søgeord og begynd at søge ved at klikke \"start søgning\".
Du kan indtaste mere end et søgeord ved at afskille dem med mellemrum."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de/help.php b/mysqldumper/language/de/help.php new file mode 100644 index 0000000..93abacc --- /dev/null +++ b/mysqldumper/language/de/help.php @@ -0,0 +1,141 @@ + +
+

Ãœ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://www.mysqldumper.de/board.

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. Kombinationen sind möglich.
    • +
    • Alter der Dateien (in Tagen): Ein Wert > 0 löscht alle Backupdateien, die älter als diese Angabe sind.
    • +
    • 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. +
+

Unsere Sponsoren

+Die Sponsoren finden Sie auch auf der Sponsorenseite
+ +























+























\ No newline at end of file diff --git a/mysqldumper/language/de/lang.php b/mysqldumper/language/de/lang.php new file mode 100644 index 0000000..6bfd918 --- /dev/null +++ b/mysqldumper/language/de/lang.php @@ -0,0 +1,114 @@ +Achtung: Fortsetzung im Safe-Modus nicht möglich!Folgende Verzeichnisse müssen manuell im Scriptverzeichnis angelegt werden:
\ No newline at end of file diff --git a/mysqldumper/language/de/lang_config_overview.php b/mysqldumper/language/de/lang_config_overview.php new file mode 100644 index 0000000..a245172 --- /dev/null +++ b/mysqldumper/language/de/lang_config_overview.php @@ -0,0 +1,103 @@ + für den Cronjob"; +$lang['withattach']=" mit Anhang"; +$lang['withoutattach']=" ohne Anhang"; +$lang['multidumpconf']="=Multidump Einstellungen="; +$lang['multidumpall']="=alle Datenbanken="; +$lang['gzip']="GZip-Kompression"; +$lang['send_mail_form']="E-Mail senden"; +$lang['send_mail_dump']="Backup anhängen"; +$lang['email_adress']="E-Mail-Adresse"; +$lang['email_subject']="Absender der E-Mail"; +$lang['email_maxsize']="maximale Größe des Anhangs"; +$lang['age_of_files']="Alter der Dateien (in Tagen)"; +$lang['number_of_files_form']="Anzahl von Backup-Dateien"; +$lang['language']="Sprache"; +$lang['list_db']="Konfigurierte Datenbanken:"; +$lang['config_ftp']="FTP-Transfer der Backup-Datei"; +$lang['ftp_transfer']="FTP-Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Passwort"; +$lang['ftp_dir']="Upload-Ordner"; +$lang['ftp_ssl']="sichere SSL-FTP-Verbindung"; +$lang['ftp_useSSL']="benutze SSL-Verbindung"; +$lang['sqlboxheight']="Höhe der SQL-Box"; +$lang['sqllimit']="Anzahl der Datensätze pro Seite"; +$lang['bbparams']="Einstellung für BB-Code"; +$lang['bbtextcolor']="Textfarbe"; +$lang['help_commands']="Man kann vor und nach dem Backup einen Befehl ausführen lassen. +Dies kann eine SQL-Anweisung sein oder ein Systembefehl (z. B. ein Script)"; +$lang['command']="Befehl"; +$lang['wrong_connectionpars']="Verbindungsparameter stimmen nicht!"; +$lang['connectionpars']="Verbindungsparameter"; +$lang['extendedpars']="erweiterte Parameter"; +$lang['fade_in_out']="ein-/ausblenden"; +$lang['db_backuppars']="Datenbanken Backup-Einstellungen"; +$lang['general']="allgemein"; +$lang['maxsize']="maximale Größe"; +$lang['backup_format']="Backup-Format"; +$lang['inserts_complete']="vollständige Inserts"; +$lang['inserts_extended']="erweiterte Inserts"; +$lang['inserts_delayed']="verzögerte Inserts"; +$lang['inserts_ignore']="fehlerübergehende Inserts"; +$lang['lock_tables']="Tabellen sperren"; +$lang['errorhandling_restore']="Fehlerbehandlung bei Wiederherstellung"; +$lang['ehrestore_continue']="fortfahren und Fehler protokollieren"; +$lang['ehrestore_stop']="anhalten"; +$lang['in_mainframe']="im Hauptframe"; +$lang['in_leftframe']="im linken Frame"; +$lang['width']="Breite"; +$lang['sql_befehle']="SQL-Befehle"; +$lang['download_languages']="andere Sprachen herunterladen"; +$lang['download_styles']="andere Themen herunterladen"; +$lang['connect_to']="Verbinde mit"; +$lang['changedir']="Wechsle in das Verzeichnis "; +$lang['changedirerror']="Es konnte nicht in das Verzeichnis gewechselt werden!"; +$lang['ftp_ok']="Die Verbindung wurde erfolgreich hergestellt."; +$lang['install']="Installation"; +$lang['noftppossible']="Es stehen keine FTP-Funktionen zur Verfügung!"; +$lang['found_db']="gefundene DB: "; +$lang['ftp_choose_mode']="FTP-Übertragungsmodus"; +$lang['ftp_passive']="passiven Übertragungsmodus benutzen"; +$lang['help_ftp_mode']="Gibt den FTP-Übertragungsmodus an. Wenn Probleme im aktiven Modus auftreten, sollte in den passiven Modus umgeschaltet werden."; +$lang['db_in_list']="Die Datenbank '%s' konnte nicht hinzugefügt werden, da sie bereits vorhanden ist."; +$lang['add_db_manually']="Datenbank manuell hinzufügen"; +$lang['db_manual_error']="Die Verbindung zur Datenbank '%s' ist fehlgeschlagen!"; +$lang['db_manual_file_error']="Dateifehler: konnte die Datenbank '%s' nicht eintragen!"; +$lang['no_db_found']="Es wurde keine Datenbank gefunden. +Blenden Sie die Verbindungsparameter ein und geben Sie den Namen Ihrer Datenbanken manuell ein! "; +$lang['connect_utf8']="Datenbankverbindung auf utf8 stellen"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de/lang_dump.php b/mysqldumper/language/de/lang_dump.php new file mode 100644 index 0000000..cdc1784 --- /dev/null +++ b/mysqldumper/language/de/lang_dump.php @@ -0,0 +1,58 @@ +%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['datawith']="Datensätze mit"; +$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

"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de/lang_filemanagement.php b/mysqldumper/language/de/lang_filemanagement.php new file mode 100644 index 0000000..900c69f --- /dev/null +++ b/mysqldumper/language/de/lang_filemanagement.php @@ -0,0 +1,84 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/de/lang_help.php b/mysqldumper/language/de/lang_help.php new file mode 100644 index 0000000..f7e8bdf --- /dev/null +++ b/mysqldumper/language/de/lang_help.php @@ -0,0 +1,51 @@ + \ No newline at end of file diff --git a/mysqldumper/language/de/lang_install.php b/mysqldumper/language/de/lang_install.php new file mode 100644 index 0000000..40eaf14 --- /dev/null +++ b/mysqldumper/language/de/lang_install.php @@ -0,0 +1,94 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
"; +$lang['install_forcescript']="MySQLDumper ohne Installation starten"; +$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['dircr3']="erstelle Strukturverzeichnis"; +$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_no_db']="Fehler: nicht gefundene Datenbank:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de/lang_log.php b/mysqldumper/language/de/lang_log.php new file mode 100644 index 0000000..9d5f743 --- /dev/null +++ b/mysqldumper/language/de/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/de/lang_main.php b/mysqldumper/language/de/lang_main.php new file mode 100644 index 0000000..d55fd6e --- /dev/null +++ b/mysqldumper/language/de/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']=".htaccess erstellen und 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de/lang_restore.php b/mysqldumper/language/de/lang_restore.php new file mode 100644 index 0000000..a387c3e --- /dev/null +++ b/mysqldumper/language/de/lang_restore.php @@ -0,0 +1,23 @@ +%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 wird die Tabelle '%s' mit Datensätzen gefüllt.

"; +$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/mysqldumper/language/de/lang_sql.php b/mysqldumper/language/de/lang_sql.php new file mode 100644 index 0000000..8367221 --- /dev/null +++ b/mysqldumper/language/de/lang_sql.php @@ -0,0 +1,185 @@ +%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['sqllib_boardoffline']="Board offline"; +$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_explain']="Geben einen oder mehrere Suchbegriffe ein und starten Sie die Suche durch einen Klick auf \"Suche starten\". +
Sie können mehrere Suchbegriffe durch ein Leerzeichen getrennt eingeben."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de_du/help.php b/mysqldumper/language/de_du/help.php new file mode 100644 index 0000000..93abacc --- /dev/null +++ b/mysqldumper/language/de_du/help.php @@ -0,0 +1,141 @@ + +
+

Ãœ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://www.mysqldumper.de/board.

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. Kombinationen sind möglich.
    • +
    • Alter der Dateien (in Tagen): Ein Wert > 0 löscht alle Backupdateien, die älter als diese Angabe sind.
    • +
    • 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. +
+

Unsere Sponsoren

+Die Sponsoren finden Sie auch auf der Sponsorenseite
+ +























+























\ No newline at end of file diff --git a/mysqldumper/language/de_du/lang.php b/mysqldumper/language/de_du/lang.php new file mode 100644 index 0000000..f73ebe1 --- /dev/null +++ b/mysqldumper/language/de_du/lang.php @@ -0,0 +1,114 @@ +Achtung: Fortsetzung im Safe-Modus nicht möglich!Folgende Verzeichnisse müssen manuell im Scriptverzeichnis angelegt werden:
\ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_config_overview.php b/mysqldumper/language/de_du/lang_config_overview.php new file mode 100644 index 0000000..b170082 --- /dev/null +++ b/mysqldumper/language/de_du/lang_config_overview.php @@ -0,0 +1,103 @@ + für den Cronjob"; +$lang['withattach']=" mit Anhang"; +$lang['withoutattach']=" ohne Anhang"; +$lang['multidumpconf']="=Multidump Einstellungen="; +$lang['multidumpall']="=alle Datenbanken="; +$lang['gzip']="GZip-Kompression"; +$lang['send_mail_form']="E-Mail senden"; +$lang['send_mail_dump']="Backup anhängen"; +$lang['email_adress']="E-Mail-Adresse"; +$lang['email_subject']="Absender der E-Mail"; +$lang['email_maxsize']="maximale Größe des Anhangs"; +$lang['age_of_files']="Alter der Dateien (in Tagen)"; +$lang['number_of_files_form']="Anzahl von Backup-Dateien"; +$lang['language']="Sprache"; +$lang['list_db']="Konfigurierte Datenbanken:"; +$lang['config_ftp']="FTP-Transfer der Backup-Datei"; +$lang['ftp_transfer']="FTP-Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Passwort"; +$lang['ftp_dir']="Upload-Ordner"; +$lang['ftp_ssl']="sichere SSL-FTP-Verbindung"; +$lang['ftp_useSSL']="benutze SSL-Verbindung"; +$lang['sqlboxheight']="Höhe der SQL-Box"; +$lang['sqllimit']="Anzahl der Datensätze pro Seite"; +$lang['bbparams']="Einstellung für BB-Code"; +$lang['bbtextcolor']="Textfarbe"; +$lang['help_commands']="Man kann vor und nach dem Backup einen Befehl ausführen lassen. +Dies kann eine SQL-Anweisung sein oder ein Systembefehl (z. B. ein Script)"; +$lang['command']="Befehl"; +$lang['wrong_connectionpars']="Verbindungsparameter stimmen nicht!"; +$lang['connectionpars']="Verbindungsparameter"; +$lang['extendedpars']="erweiterte Parameter"; +$lang['fade_in_out']="ein-/ausblenden"; +$lang['db_backuppars']="Datenbanken Backup-Einstellungen"; +$lang['general']="allgemein"; +$lang['maxsize']="maximale Größe"; +$lang['backup_format']="Backup-Format"; +$lang['inserts_complete']="vollständige Inserts"; +$lang['inserts_extended']="erweiterte Inserts"; +$lang['inserts_delayed']="verzögerte Inserts"; +$lang['inserts_ignore']="fehlerübergehende Inserts"; +$lang['lock_tables']="Tabellen sperren"; +$lang['errorhandling_restore']="Fehlerbehandlung bei Wiederherstellung"; +$lang['ehrestore_continue']="fortfahren und Fehler protokollieren"; +$lang['ehrestore_stop']="anhalten"; +$lang['in_mainframe']="im Hauptframe"; +$lang['in_leftframe']="im linken Frame"; +$lang['width']="Breite"; +$lang['sql_befehle']="SQL-Befehle"; +$lang['download_languages']="andere Sprachen herunterladen"; +$lang['download_styles']="andere Themen herunterladen"; +$lang['connect_to']="Verbinde mit"; +$lang['changedir']="Wechsle in das Verzeichnis "; +$lang['changedirerror']="Es konnte nicht in das Verzeichnis gewechselt werden!"; +$lang['ftp_ok']="Die Verbindung wurde erfolgreich hergestellt."; +$lang['install']="Installation"; +$lang['noftppossible']="Es stehen keine FTP-Funktionen zur Verfügung!"; +$lang['found_db']="gefundene DB: "; +$lang['ftp_choose_mode']="FTP-Übertragungsmodus"; +$lang['ftp_passive']="passiven Übertragungsmodus benutzen"; +$lang['help_ftp_mode']="Gibt den FTP-Übertragungsmodus an. Wenn Probleme im aktiven Modus auftreten, sollte in den passiven Modus umgeschaltet werden."; +$lang['db_in_list']="Die Datenbank '%s' konnte nicht hinzugefügt werden, da sie bereits vorhanden ist."; +$lang['add_db_manually']="Datenbank manuell hinzufügen"; +$lang['db_manual_error']="Die Verbindung zur Datenbank '%s' ist fehlgeschlagen!"; +$lang['db_manual_file_error']="Dateifehler: konnte die Datenbank '%s' nicht eintragen!"; +$lang['no_db_found']="Es wurde keine Datenbank gefunden. +Blende die Verbindungsparameter ein und gebe den Namen Deiner Datenbank manuell ein! "; +$lang['connect_utf8']="Datenbankverbindung auf utf8 stellen"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_dump.php b/mysqldumper/language/de_du/lang_dump.php new file mode 100644 index 0000000..dc4490f --- /dev/null +++ b/mysqldumper/language/de_du/lang_dump.php @@ -0,0 +1,58 @@ +%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['datawith']="Datensätze mit"; +$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

"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_filemanagement.php b/mysqldumper/language/de_du/lang_filemanagement.php new file mode 100644 index 0000000..c52b3fe --- /dev/null +++ b/mysqldumper/language/de_du/lang_filemanagement.php @@ -0,0 +1,84 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/de_du/lang_help.php b/mysqldumper/language/de_du/lang_help.php new file mode 100644 index 0000000..64dd2ee --- /dev/null +++ b/mysqldumper/language/de_du/lang_help.php @@ -0,0 +1,51 @@ + \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_install.php b/mysqldumper/language/de_du/lang_install.php new file mode 100644 index 0000000..48250a7 --- /dev/null +++ b/mysqldumper/language/de_du/lang_install.php @@ -0,0 +1,94 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
"; +$lang['install_forcescript']="MySQLDumper ohne Installation starten"; +$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['dircr3']="erstelle Strukturverzeichnis"; +$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_no_db']="Fehler: nicht gefundene Datenbank:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_log.php b/mysqldumper/language/de_du/lang_log.php new file mode 100644 index 0000000..9d5f743 --- /dev/null +++ b/mysqldumper/language/de_du/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_main.php b/mysqldumper/language/de_du/lang_main.php new file mode 100644 index 0000000..7e2a852 --- /dev/null +++ b/mysqldumper/language/de_du/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']=".htaccess erstellen und 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/de_du/lang_restore.php b/mysqldumper/language/de_du/lang_restore.php new file mode 100644 index 0000000..a387c3e --- /dev/null +++ b/mysqldumper/language/de_du/lang_restore.php @@ -0,0 +1,23 @@ +%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 wird die Tabelle '%s' mit Datensätzen gefüllt.

"; +$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/mysqldumper/language/de_du/lang_sql.php b/mysqldumper/language/de_du/lang_sql.php new file mode 100644 index 0000000..7eca69b --- /dev/null +++ b/mysqldumper/language/de_du/lang_sql.php @@ -0,0 +1,185 @@ +%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['sqllib_boardoffline']="Board offline"; +$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_explain']="Gib einen oder mehrere Suchbegriffe ein und starte die Suche durch einen Klick auf \"Suche starten\". +
Du kannst mehrere Suchbegriffe durch ein Leerzeichen getrennt eingeben."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/en/help.php b/mysqldumper/language/en/help.php new file mode 100644 index 0000000..5b7d61b --- /dev/null +++ b/mysqldumper/language/en/help.php @@ -0,0 +1,151 @@ + +
+

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://www.mysqldumper.de/board + + +

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. + + +
+

Our Sponsores

+The Sponsores can be found also at our Sponsorepage
+ +























+























diff --git a/mysqldumper/language/en/lang.php b/mysqldumper/language/en/lang.php new file mode 100644 index 0000000..005d4c1 --- /dev/null +++ b/mysqldumper/language/en/lang.php @@ -0,0 +1,114 @@ +Attention:Program can't continue in Safe-Mode!Create the following directories manually in the MySQLDumper directory:
\ No newline at end of file diff --git a/mysqldumper/language/en/lang_config_overview.php b/mysqldumper/language/en/lang_config_overview.php new file mode 100644 index 0000000..481e744 --- /dev/null +++ b/mysqldumper/language/en/lang_config_overview.php @@ -0,0 +1,101 @@ + for the Cron job"; +$lang['withattach']=" with attach"; +$lang['withoutattach']=" without attach"; +$lang['multidumpconf']="=Multidump Configuration="; +$lang['multidumpall']="=all Databases="; +$lang['gzip']="GZip compression"; +$lang['send_mail_form']="Send email report"; +$lang['send_mail_dump']="Attach backup"; +$lang['email_adress']="Email address"; +$lang['email_subject']="Sender address of the email"; +$lang['email_maxsize']="Maximum size of attachment"; +$lang['age_of_files']="Delete by age of files (in days)"; +$lang['number_of_files_form']="Delete by number of files"; +$lang['language']="Language"; +$lang['list_db']="Configured Databases:"; +$lang['config_ftp']="FTP Transfer of Backup file"; +$lang['ftp_transfer']="FTP Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Password"; +$lang['ftp_dir']="Upload directory"; +$lang['ftp_ssl']="Secure SSL FTP connection"; +$lang['ftp_useSSL']="use SSL Connection"; +$lang['sqlboxheight']="Height of SQL-Box"; +$lang['sqllimit']="Count of records each page"; +$lang['bbparams']="Configuration for BB-Code"; +$lang['bbtextcolor']="Text color"; +$lang['help_commands']="You can execute a command before and after the backup.\nThis command can be a SQL-Construct or a System Command (e.g. a script)"; +$lang['command']="Command"; +$lang['wrong_connectionpars']="Connection parameters are wrong !"; +$lang['connectionpars']="Connection Parameter"; +$lang['extendedpars']="Extended Parameter"; +$lang['fade_in_out']="Display on/off"; +$lang['db_backuppars']="Database Backup Parameter"; +$lang['general']="General"; +$lang['maxsize']="max. Size"; +$lang['backup_format']="Backup Format"; +$lang['inserts_complete']="Complete Inserts"; +$lang['inserts_extended']="Extended Inserts"; +$lang['inserts_delayed']="Delayed Inserts"; +$lang['inserts_ignore']="Error ignoring Inserts"; +$lang['lock_tables']="Lock Tables"; +$lang['errorhandling_restore']="Error Handling while restoring"; +$lang['ehrestore_continue']="continue and log errors"; +$lang['ehrestore_stop']="stop"; +$lang['in_mainframe']="in main frame"; +$lang['in_leftframe']="in left frame"; +$lang['width']="Width"; +$lang['sql_befehle']="SQL Commands"; +$lang['download_languages']="download other languages"; +$lang['download_styles']="download other themes"; +$lang['connect_to']="Connect to"; +$lang['changedir']="Changing to Directory"; +$lang['changedirerror']="Couldn`t change directory!"; +$lang['ftp_ok']="Connection successful."; +$lang['install']="Installation"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['found_db']="found db"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Choose the passive mode when you discover problems while using the active mode."; +$lang['db_in_list']="The database '%s' couldn't be added because it is allready existing. "; +$lang['add_db_manually']="Add database manually"; +$lang['db_manual_error']="Sorry, couldn't connect to database '%s'!"; +$lang['db_manual_file_error']="Fileerror: couldn't insert database '%s'!"; +$lang['no_db_found']="I couldn't find any database automatically! +Please blend in the connection paramter and enter the name of your database manually."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/en/lang_dump.php b/mysqldumper/language/en/lang_dump.php new file mode 100644 index 0000000..c997ef2 --- /dev/null +++ b/mysqldumper/language/en/lang_dump.php @@ -0,0 +1,59 @@ +%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']="Deselect All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['datawith']="Records with"; +$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

"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/en/lang_filemanagement.php b/mysqldumper/language/en/lang_filemanagement.php new file mode 100644 index 0000000..0c56df5 --- /dev/null +++ b/mysqldumper/language/en/lang_filemanagement.php @@ -0,0 +1,83 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/en/lang_help.php b/mysqldumper/language/en/lang_help.php new file mode 100644 index 0000000..5d5e376 --- /dev/null +++ b/mysqldumper/language/en/lang_help.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/mysqldumper/language/en/lang_install.php b/mysqldumper/language/en/lang_install.php new file mode 100644 index 0000000..df6bb16 --- /dev/null +++ b/mysqldumper/language/en/lang_install.php @@ -0,0 +1,94 @@ +Installation completed --> start MySQLDumper
"; +$lang['install_forcescript']="Start MySQLDumper without installation"; +$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['dircr3']="create structurdir"; +$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_no_db']="ERROR: the following DB was not found:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/en/lang_log.php b/mysqldumper/language/en/lang_log.php new file mode 100644 index 0000000..2fe24b2 --- /dev/null +++ b/mysqldumper/language/en/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/en/lang_main.php b/mysqldumper/language/en/lang_main.php new file mode 100644 index 0000000..5235638 --- /dev/null +++ b/mysqldumper/language/en/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']="Create and 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/en/lang_restore.php b/mysqldumper/language/en/lang_restore.php new file mode 100644 index 0000000..0943804 --- /dev/null +++ b/mysqldumper/language/en/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/en/lang_sql.php b/mysqldumper/language/en/lang_sql.php new file mode 100644 index 0000000..aeab884 --- /dev/null +++ b/mysqldumper/language/en/lang_sql.php @@ -0,0 +1,178 @@ +%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['sqllib_boardoffline']="Forum offline"; +$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_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
+You can enter more than one searchword by separating them with a space."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/es/help.php b/mysqldumper/language/es/help.php new file mode 100644 index 0000000..b267d59 --- /dev/null +++ b/mysqldumper/language/es/help.php @@ -0,0 +1,175 @@ + +
+

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://www.mysqldumper.de/board. +

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://www.mysqldumper.de/board + + +

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 que tengan mayor antigüedad que la escrita.
      • +
      • : 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.

    +
+

Nuestros esponsors

+Los esponsors de nuestra aplicación los puede consultar en la página de esponsors
+























+























\ No newline at end of file diff --git a/mysqldumper/language/es/lang.php b/mysqldumper/language/es/lang.php new file mode 100644 index 0000000..0fe6410 --- /dev/null +++ b/mysqldumper/language/es/lang.php @@ -0,0 +1,114 @@ +ATENCIÓN: no se puede seguir de forma segura!Los siguientes directorios deben ser creados manualmente en el directorio del Script:
\ No newline at end of file diff --git a/mysqldumper/language/es/lang_config_overview.php b/mysqldumper/language/es/lang_config_overview.php new file mode 100644 index 0000000..b0bdc59 --- /dev/null +++ b/mysqldumper/language/es/lang_config_overview.php @@ -0,0 +1,102 @@ + para Cronjob"; +$lang['withattach']=" con fichero adjunto"; +$lang['withoutattach']=" sin fichero adjunto"; +$lang['multidumpconf']="=Propiedades de Multidump="; +$lang['multidumpall']="=Todas las bases de datos="; +$lang['gzip']="Compresión GZip"; +$lang['send_mail_form']="enviar un email"; +$lang['send_mail_dump']="Adjuntar copia de seguridad"; +$lang['email_adress']="Dirección de email"; +$lang['email_subject']="Email desde donde se envía"; +$lang['email_maxsize']="tamaño máximo del fichero adjunto"; +$lang['age_of_files']="Antigüedad del archivo (en días)"; +$lang['number_of_files_form']="Cantidad de archivos de copia de seguridad"; +$lang['language']="Idioma"; +$lang['list_db']="Bases de datos configuradas:"; +$lang['config_ftp']="Transferencia por FTP de los backups"; +$lang['ftp_transfer']="Transferencia FTP"; +$lang['ftp_server']="Servidor"; +$lang['ftp_port']="Puerto"; +$lang['ftp_user']="Usuario"; +$lang['ftp_pass']="Password"; +$lang['ftp_dir']="Directorio de subida"; +$lang['ftp_ssl']="Conexión segura mediante SSL-FTP"; +$lang['ftp_useSSL']="conexión SSL usada"; +$lang['sqlboxheight']="Altura del cuadro de SQL"; +$lang['sqllimit']="Cantidad de registros por página"; +$lang['bbparams']="Propiedades del código BB"; +$lang['bbtextcolor']="Color de texto"; +$lang['help_commands']="Antes y después de la copia de seguridad, puede hacer que se ejecute algún comando.\n +Puede tratarse de una sentencia SQL o de un archivo de comandos de sistema (por ejemplo, un script)"; +$lang['command']="Comando"; +$lang['wrong_connectionpars']="¡Parámetros de conexión incorrectos!"; +$lang['connectionpars']="Parámetros de conexión"; +$lang['extendedpars']="Parámetros extendidos"; +$lang['fade_in_out']="mostrar/ocultar"; +$lang['db_backuppars']="Propiedades de la copia de seguridad de la base de datos"; +$lang['general']="Genéricas"; +$lang['maxsize']="tamaño máx."; +$lang['backup_format']="Formato de copia de seguridad"; +$lang['inserts_complete']="Inserts completos"; +$lang['inserts_extended']="Inserts extendidos"; +$lang['inserts_delayed']="Inserts con retraso"; +$lang['inserts_ignore']="Inserts que ignoren los errores"; +$lang['lock_tables']="bloquear tablas"; +$lang['errorhandling_restore']="Tratamiento de los errores en la recuperación de datos"; +$lang['ehrestore_continue']="informar de los errores y seguir"; +$lang['ehrestore_stop']="detenerse"; +$lang['in_mainframe']="en ventana principal"; +$lang['in_leftframe']="en ventana de menu"; +$lang['width']="ancho"; +$lang['sql_befehle']="Comandos SQL"; +$lang['download_languages']="Descargar otros idiomas"; +$lang['download_styles']="Descargar otros temas"; +$lang['connect_to']="Conectarse a "; +$lang['changedir']="Cambiando al directorio"; +$lang['changedirerror']="No se ha podido cambiar el directorio"; +$lang['ftp_ok']="La conexión se ha realizado correctamente"; +$lang['install']="Instalación"; +$lang['noftppossible']="Las funciones de FTP no están disponibles!"; +$lang['found_db']="Encontrada BdD:"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Choose the passive mode when you discover problems while using the active mode."; +$lang['db_in_list']="The database '%s' couldn't be added because it is allready existing. "; +$lang['add_db_manually']="Add database manually"; +$lang['db_manual_error']="Sorry, couldn't connect to database '%s'!"; +$lang['db_manual_file_error']="Fileerror: couldn't insert database '%s'!"; +$lang['no_db_found']="I couldn't find any database automatically! +Please blend in the connection paramter and enter the name of your database manually."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/es/lang_dump.php b/mysqldumper/language/es/lang_dump.php new file mode 100644 index 0000000..4c26608 --- /dev/null +++ b/mysqldumper/language/es/lang_dump.php @@ -0,0 +1,58 @@ +%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']="deseleccionar todas +"; +$lang['deselectall']="seleccionar todas"; +$lang['startdump']="iniciar copia de seguridad"; +$lang['datawith']="registros con"; +$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

"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/es/lang_filemanagement.php b/mysqldumper/language/es/lang_filemanagement.php new file mode 100644 index 0000000..736f08c --- /dev/null +++ b/mysqldumper/language/es/lang_filemanagement.php @@ -0,0 +1,83 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/es/lang_help.php b/mysqldumper/language/es/lang_help.php new file mode 100644 index 0000000..5a01ed4 --- /dev/null +++ b/mysqldumper/language/es/lang_help.php @@ -0,0 +1,46 @@ + \ No newline at end of file diff --git a/mysqldumper/language/es/lang_install.php b/mysqldumper/language/es/lang_install.php new file mode 100644 index 0000000..e1f7c22 --- /dev/null +++ b/mysqldumper/language/es/lang_install.php @@ -0,0 +1,94 @@ +La Instalación ha terminado --> MySQLDumper
"; +$lang['install_forcescript']="Iniciar MySQLDumper sin Instalación"; +$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['dircr3']="cree el directorio de estructuras "; +$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_no_db']="ERROR: No se ha encontrado la BdD:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/es/lang_log.php b/mysqldumper/language/es/lang_log.php new file mode 100644 index 0000000..340f20f --- /dev/null +++ b/mysqldumper/language/es/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/es/lang_main.php b/mysqldumper/language/es/lang_main.php new file mode 100644 index 0000000..d351dde --- /dev/null +++ b/mysqldumper/language/es/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']="crear y 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/es/lang_restore.php b/mysqldumper/language/es/lang_restore.php new file mode 100644 index 0000000..4761cf4 --- /dev/null +++ b/mysqldumper/language/es/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/es/lang_sql.php b/mysqldumper/language/es/lang_sql.php new file mode 100644 index 0000000..f0aafc7 --- /dev/null +++ b/mysqldumper/language/es/lang_sql.php @@ -0,0 +1,178 @@ +%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['sqllib_boardoffline']="Forum offline"; +$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_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
+You can enter more than one searchword by separating them with a space."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/flags/da.gif b/mysqldumper/language/flags/da.gif new file mode 100644 index 0000000000000000000000000000000000000000..5961e70e5ad2aa646e860bb26c2360ea46f5b7e2 GIT binary patch literal 117 zcmZ?wbhEHbRA3Ncn8*ME|AFW~kYLaO@j&7XOnxo>D`!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 Wf3c$@{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/mysqldumper/language/flags/es.gif b/mysqldumper/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/mysqldumper/language/flags/fr.gif b/mysqldumper/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/mysqldumper/language/flags/it.gif b/mysqldumper/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/mysqldumper/language/flags/pt_br.gif b/mysqldumper/language/flags/pt_br.gif new file mode 100644 index 0000000000000000000000000000000000000000..64d10472df17c2f889c6eeabfb1c69f6bc080da4 GIT binary patch literal 222 zcmZ?wbhEHbRA3Nc_{;zS{}~z>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/mysqldumper/language/flags/sw.gif b/mysqldumper/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/mysqldumper/language/flags/vn.gif b/mysqldumper/language/flags/vn.gif new file mode 100644 index 0000000000000000000000000000000000000000..a9f6a301446b9d0bbbd1f650e97203e8fcf0597d GIT binary patch literal 928 zcmV;R17G|{Nk%w1VIBYy0OkMy>^lhJKmg@F0Odgdvrhp0-~s=#KL6My?L-XNI{@E9 z0P{i;|JfSbQ2^^Z0q{l+|Kl|O#1sFMEdT2f?m7nQK>_)54emVw<~;-8J^O26< zRRF|J0PRKw@HhtYMhWdk65>Sw>OckgGZ64)0`N)??nn*jO9baU0Omvh^*RpKLjdVc z0OdOZ+b#g{K?&|a1^6@!=|~CbH3I561noKj?==V4O#u5j59&z(#9095egN@04C*lg z@-+?aH3{lQ2meYF=sp1ZM-J{r0qrsb=Pv-~Lj>zT0O&sk^*|8pO9%He3-Ut@={y4Y z(E#^82;n&Z*?<85`Wxgs1o}}9+J6A{PZ+1I2+!vx(E+60RuY&0zxn%Q9OA+ zGXclRBIOrU&kAocQUlckIz}Q;CRai`JtHFu0$@&fH3F`oARxmGB1GH`fG3aMl^_Fp zSm?kH3=Dt*2?jWLB8vbTLOzIaQlv_T1}*&9iNGXD5(O;Qc=6JQ#|I2=PP7w1g@q9$ zB8p52prOT_IuMvNNHRkUiXlVRpm6YG01;0B08pTC z3>XgmbkKN!RV&vI9x{{wafiW#0ubUfaZw@xkSTBD&gJ4{>jwu8E&$okz{Q*h6XYBq zL!gC*B^BDRa6m=w1ICUaU#Kvn#0oM8!i0f9$4`qAGpwi>U3%`94=h+{34Wo93MvUC z7-+&IgajK20%%d;fd!RaJ5Kx#KAgpcBP!0!urY!O6BjmYY#5-&!x8J)PrOh#fQkbV zCOGIvQl!EQ7AkPT!yg=wfCUTb%#g!;@7O1T5;bs;!V^YRFoqC8JaL5yN?aiZf}<#i z%MV*@@dJq%q^RPG0$>naa60UPff;Vdkj4!UJb +
+

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://www.mysqldumper.de/board + + +

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.
    • +
    • Date limite (en jours): La valeur > 0 supprime toutes les copies de sauvegardes plus anciennes que la valeur définie.
    • +
    • 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. +
+

Nos sponsors

+Vous trouverez les sponsors aussi à l'adresse suivante Sponsors
+ + +























+























\ No newline at end of file diff --git a/mysqldumper/language/fr/lang.php b/mysqldumper/language/fr/lang.php new file mode 100644 index 0000000..74a4ff3 --- /dev/null +++ b/mysqldumper/language/fr/lang.php @@ -0,0 +1,114 @@ +Attention: Impossible de continuer en mode de sécurité!Les répertoires suivants doivent être ajoutés manuellement dans le répertoire du script:
\ No newline at end of file diff --git a/mysqldumper/language/fr/lang_config_overview.php b/mysqldumper/language/fr/lang_config_overview.php new file mode 100644 index 0000000..8a4acf3 --- /dev/null +++ b/mysqldumper/language/fr/lang_config_overview.php @@ -0,0 +1,102 @@ +préfixe des tables
pour la requête Cron"; +$lang['withattach']=" avec fichier joint"; +$lang['withoutattach']=" sans fichier joint"; +$lang['multidumpconf']="=Configuration de la sauvegarde en plusieurs parties="; +$lang['multidumpall']="=toutes les bases de données="; +$lang['gzip']="Compression GZip des données"; +$lang['send_mail_form']="Envoyer un courriel"; +$lang['send_mail_dump']="Joindre le fichier de sauvegarde"; +$lang['email_adress']="Adresse électronique"; +$lang['email_subject']="Expéditeur du courriel"; +$lang['email_maxsize']="Taille maximale du fichier joint"; +$lang['age_of_files']="Âge du fichier (en jours)"; +$lang['number_of_files_form']="Nombre de fichier de sauvegarde"; +$lang['language']="Langue"; +$lang['list_db']="Base de données configurée:"; +$lang['config_ftp']="Tranfert FTP du fichier de sauvegarde"; +$lang['ftp_transfer']="Transfert FTP"; +$lang['ftp_server']="Serveur"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="Utilisateur"; +$lang['ftp_pass']="Mot de passe"; +$lang['ftp_dir']="Répertoire de téléchargement vers le serveur"; +$lang['ftp_ssl']="Connexion SSL vers le serveur FTP"; +$lang['ftp_useSSL']="utiliser une connexion SSL"; +$lang['sqlboxheight']="Hauteur du cadre SQL"; +$lang['sqllimit']="Nombre d'enregistrements par page"; +$lang['bbparams']="Configuration pour le code BB"; +$lang['bbtextcolor']="Couleur du texte"; +$lang['help_commands']="On peut avant et après chaque sauvegarde exécuter une requête. +Ceci peut-être un ordre SQL ou bien une requête de système (p. ex. un script)"; +$lang['command']="Requête"; +$lang['wrong_connectionpars']="Les paramètres de connexion sont faux !"; +$lang['connectionpars']="Paramètres de connexion"; +$lang['extendedpars']="Paramètres avancés"; +$lang['fade_in_out']="afficher / masquer"; +$lang['db_backuppars']="Configuration des bases de données sauvegardées"; +$lang['general']="Général"; +$lang['maxsize']="Taille maximale"; +$lang['backup_format']="Format de sauvegarde"; +$lang['inserts_complete']="Insertions complètes"; +$lang['inserts_extended']="Insertions étendues"; +$lang['inserts_delayed']="Insertions avec délais"; +$lang['inserts_ignore']="Ignorer les erreurs de doublons"; +$lang['lock_tables']="Protéger les tables"; +$lang['errorhandling_restore']="Traitement des erreurs lors d'une restauration"; +$lang['ehrestore_continue']="continuer et consigner par écrit les erreurs"; +$lang['ehrestore_stop']="arrêter"; +$lang['in_mainframe']="dans le cadre principal"; +$lang['in_leftframe']="dans le cadre de gauche"; +$lang['width']="Largeur"; +$lang['sql_befehle']="Requête SQL"; +$lang['download_languages']="télécharger d'autres langues"; +$lang['download_styles']="télécharger d'autres thèmes"; +$lang['connect_to']="Connecter à"; +$lang['changedir']="Changer vers répertoire"; +$lang['changedirerror']="N'a pas pu changer vers le répertoire!"; +$lang['ftp_ok']="La connexion a été établie avec succès."; +$lang['install']="Installation"; +$lang['noftppossible']="Il n'y a pas de fonction FTP à disposition!"; +$lang['found_db']="Base de données trouvée"; +$lang['ftp_choose_mode']="Mode de transfert FTP"; +$lang['ftp_passive']="utiliser le mode passif"; +$lang['help_ftp_mode']="Choisissez le mode passif quand vous avez des problèmes en utilisant le mode actif."; +$lang['db_in_list']="la base de données '%s' ne peut pas être ajoutée car elle existe déjà. "; +$lang['add_db_manually']="Ajouter une base de données manuellement"; +$lang['db_manual_error']="Désolé, impossible de se connecter à la base de données '%s'!"; +$lang['db_manual_file_error']="Erreur fichier: Impossible à insérer à la base de données '%s'!"; +$lang['no_db_found']="Impossible de trouver une base de données automatiquement! +Veuillez vérifier les paramètres de connexion et entrer le nom de votre base de données manuellement."; +$lang['connect_utf8']="Régler la connexion à la base de données en utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_dump.php b/mysqldumper/language/fr/lang_dump.php new file mode 100644 index 0000000..7188e2c --- /dev/null +++ b/mysqldumper/language/fr/lang_dump.php @@ -0,0 +1,58 @@ +%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['datawith']="Enregistrements avec"; +$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

"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_filemanagement.php b/mysqldumper/language/fr/lang_filemanagement.php new file mode 100644 index 0000000..68c419a --- /dev/null +++ b/mysqldumper/language/fr/lang_filemanagement.php @@ -0,0 +1,79 @@ +"; +$lang['fm_restore_header2']="\""; +$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['converter']="Convertir 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 télécharger vers le serveur dans le répertoire avec votre programme FTP."; +$lang['encoding']="encoding"; +$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/mysqldumper/language/fr/lang_help.php b/mysqldumper/language/fr/lang_help.php new file mode 100644 index 0000000..7e8eabc --- /dev/null +++ b/mysqldumper/language/fr/lang_help.php @@ -0,0 +1,51 @@ + \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_install.php b/mysqldumper/language/fr/lang_install.php new file mode 100644 index 0000000..ba56671 --- /dev/null +++ b/mysqldumper/language/fr/lang_install.php @@ -0,0 +1,94 @@ +Installation terminée --> start MySQLDumper
"; +$lang['install_forcescript']="Démarrer MySQLDumper sans installation"; +$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['dircr3']="créer structure des répertoires"; +$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_no_db']="Erreur: La base de données n'a pas été trouvée"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_log.php b/mysqldumper/language/fr/lang_log.php new file mode 100644 index 0000000..3a03696 --- /dev/null +++ b/mysqldumper/language/fr/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_main.php b/mysqldumper/language/fr/lang_main.php new file mode 100644 index 0000000..dad865f --- /dev/null +++ b/mysqldumper/language/fr/lang_main.php @@ -0,0 +1,70 @@ +"; +$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['htaccess17']="Créer et é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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/fr/lang_restore.php b/mysqldumper/language/fr/lang_restore.php new file mode 100644 index 0000000..56b51fd --- /dev/null +++ b/mysqldumper/language/fr/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/fr/lang_sql.php b/mysqldumper/language/fr/lang_sql.php new file mode 100644 index 0000000..d2f2441 --- /dev/null +++ b/mysqldumper/language/fr/lang_sql.php @@ -0,0 +1,185 @@ +%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['sqllib_boardoffline']="Forum hors ligne"; +$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']="reset searchwords"; +$lang['search_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
+You can enter more than one searchword by separating them with a space."; +$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']="Modifier la structure des tables"; +$lang['default_charset']="Jeux de caractèères par défaut"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/help.php b/mysqldumper/language/it/help.php new file mode 100644 index 0000000..d6cf04d --- /dev/null +++ b/mysqldumper/language/it/help.php @@ -0,0 +1,143 @@ + +
+

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://www.mysqldumper.de/board +

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://www.mysqldumper.de/board + + +

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. Combinazioni sono possibili.
    • +
    • Età dei dati (in giorni): un valore > 0 cancella tutti i backup, che sono piu vecchi del valore selezionato .
    • +
    • 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 +

    I nostri sponsor

    +Trovate sponsor anche in + Pagina degli sponsors
    + +























    +























    diff --git a/mysqldumper/language/it/lang.php b/mysqldumper/language/it/lang.php new file mode 100644 index 0000000..6a2f2b5 --- /dev/null +++ b/mysqldumper/language/it/lang.php @@ -0,0 +1,114 @@ + Attenzione:Continuare in modalitá sicura non è possibile!I seguenti elenchi devono essere creati manualmente nell'elenco per script nel MySQLDumper:
    \ No newline at end of file diff --git a/mysqldumper/language/it/lang_config_overview.php b/mysqldumper/language/it/lang_config_overview.php new file mode 100644 index 0000000..a8dcd12 --- /dev/null +++ b/mysqldumper/language/it/lang_config_overview.php @@ -0,0 +1,100 @@ + per il Cronjob"; +$lang['withattach']="con allegati"; +$lang['withoutattach']="senza allegati"; +$lang['multidumpconf']="=Configurazione Multidump ="; +$lang['multidumpall']="=tutte le banche dati="; +$lang['gzip']="Compressione GZip "; +$lang['send_mail_form']="Spedisci email"; +$lang['send_mail_dump']="Allega backup"; +$lang['email_adress']="Indirizzo email"; +$lang['email_subject']="Destinario della email"; +$lang['email_maxsize']="Grandezza massima dei allegati"; +$lang['age_of_files']="Cancella secondo la data del dato(file) (in giorni)"; +$lang['number_of_files_form']="Quantità dei dati backup"; +$lang['language']="Lingua"; +$lang['list_db']="Banche dati configurati:"; +$lang['config_ftp']="Trasferimento dei dati backup"; +$lang['ftp_transfer']="Trasferimento-FTP"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="Utenti"; +$lang['ftp_pass']="Parola d`ordine(Password) "; +$lang['ftp_dir']="Scarica(upload)-directory"; +$lang['ftp_ssl']="Connessione sicura SSL-FTP "; +$lang['ftp_useSSL']="usa connessione SSL"; +$lang['sqlboxheight']="Altezza del SQL-Box"; +$lang['sqllimit']="Quantità dei dati registrati di ogni pagina"; +$lang['bbparams']="Configurazione per il codice BB"; +$lang['bbtextcolor']="Colore del testo"; +$lang['help_commands']="Puoi eseguire un comando prima di fare il backup. Può essere un comando di SQL-oppure del sistema (esempio: un script)"; +$lang['command']="Comando"; +$lang['wrong_connectionpars']="Parametri di connessione sono incorretti!"; +$lang['connectionpars']="Parametri di connessione"; +$lang['extendedpars']="Parametri estesi"; +$lang['fade_in_out']="visualizzare/nascondere"; +$lang['db_backuppars']="Parametri banche dati backup"; +$lang['general']="Generale"; +$lang['maxsize']="grandezza massima"; +$lang['backup_format']="Backup-Format"; +$lang['inserts_complete']="Inserts completi"; +$lang['inserts_extended']="Inserts estesi"; +$lang['inserts_delayed']="Inserts rinviati"; +$lang['inserts_ignore']="Inserts che ignorano l`errore"; +$lang['lock_tables']="Blocca tabelle"; +$lang['errorhandling_restore']="Trattamento degli errori nel ripristino dei dati"; +$lang['ehrestore_continue']="continuare e protocollare errori"; +$lang['ehrestore_stop']="ferma"; +$lang['in_mainframe']="nel frame principale"; +$lang['in_leftframe']="nel frame sinistro"; +$lang['width']="Larghezza"; +$lang['sql_befehle']="Comando SQL"; +$lang['download_languages']="scaricare altre lingue"; +$lang['download_styles']="scaricare altri themes"; +$lang['connect_to']="Connetti con"; +$lang['changedir']="Cambia nell' elenco"; +$lang['changedirerror']="Non potevo cambiare nell` elenco!"; +$lang['ftp_ok']="La connessione è stata eseguita con successo."; +$lang['install']="Installazione"; +$lang['noftppossible']="Non hai disponibilità per la funzione del FTP!"; +$lang['found_db']="Banca dati trovato"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Scegli il modo di trasferimento tramite FTP. Se si verificano dei problemi con il modo attivo cambia in modo passivo."; +$lang['db_in_list']="La banca dati '%s' non può essere aggiunta, perche è gia esistente. "; +$lang['add_db_manually']="Aggiungi banca dati manualmente."; +$lang['db_manual_error']="Scusa, la connessione con la banca dati'%s'è fallita!"; +$lang['db_manual_file_error']="Errore di dato(file): non si può inserire la banca dati'%s'!"; +$lang['no_db_found']="Non è stato trovato nessuna banca dati. Inserisci i parametri di connessione e il nome della tua banca dati manualmente! "; +$lang['connect_utf8']="Imposta la connessione della banca dati a utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/lang_dump.php b/mysqldumper/language/it/lang_dump.php new file mode 100644 index 0000000..2667979 --- /dev/null +++ b/mysqldumper/language/it/lang_dump.php @@ -0,0 +1,58 @@ +%s` nella banca dati."; +$lang['dump_endergebnis']="Sono stati salvati%stabelle con%sregistri.
    "; +$lang['mailerror']="Spiacente, nell`inviare l` e-mail si è verificato un errore!"; +$lang['emailbody_attach']="Nell` allegato trovi il tuo backup della banca dati MySQL.
    Backup della banca dati `%s` +

    Seguente dato è stato creato:

    %s

    Tanti saluti

    MySQLDumper
    "; +$lang['emailbody_mp_noattach']="È stato creato un backup in parti diversi.
    Il backup non viene spedito come allegato!
    Backup della banca dati `%s` +

    Seguenti dati sono stati creati:

    %s


    Tanti saluti

    MySQLDumper
    "; +$lang['emailbody_mp_attach']="È stato creato un backup in parti diversi.
    Il backup viene spedito con e-mail separati, con allegati!
    Backup della banca dati`%s` +

    Seguenti dati sono stati creati:

    %s


    Tanti saluti

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

    Tanti saluti

    MySQLDumper
    "; +$lang['emailbody_toobig']="Il backup supera la grandezza massima di %s perciò non è data allegata.
    Backup della banca dati `%s` +

    Seguenti dati sono stati creati:

    %s +

    Tanti saluti

    MySQLDumper
    "; +$lang['emailbody_noattach']="Il backup non è stato creato.
    Backup della banca dati `%s` +

    Seguenti dati sono stati creati:

    %s +

    Tanti saluti

    MySQLDumper
    "; +$lang['email_only_attachment']=" ... solo allegati"; +$lang['tableselection']="Seleziona tabelle"; +$lang['selectall']="seleziona tutto"; +$lang['deselectall']="selezionare tutto"; +$lang['startdump']="Fai partire il backup"; +$lang['datawith']="Registri con"; +$lang['lastbufrom']="l`ultimo update dal"; +$lang['not_supported']="Questo backup non ha supporto per questa funzione."; +$lang['multidump']="Multidump: Sono stati salvati %d banche dati."; +$lang['filesendftp']="manda dato (file) via FTP... 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: verdere

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/lang_filemanagement.php b/mysqldumper/language/it/lang_filemanagement.php new file mode 100644 index 0000000..e183500 --- /dev/null +++ b/mysqldumper/language/it/lang_filemanagement.php @@ -0,0 +1,77 @@ +\""; +$lang['fm_restore_header2']="\""; +$lang['fm_dump_header']="Backup"; +$lang['DoCronButton']="Esegui Perl-Cronscript"; +$lang['DoPerlTest']="Prova moduli-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['converter']="Convertitore-Backup"; +$lang['convert_file']="dato (file) da convertire"; +$lang['convert_filename']="Nome della destinazione del dato (file) (senza estenzione)"; +$lang['converting']="Conversione"; +$lang['convert_fileread']="Leggi dati (file) '%s'"; +$lang['convert_finished']="Conversione eseguita, '%s' sono stati scritti con successo."; +$lang['no_msd_backupfile']="Backups di altri programmi"; +$lang['max_upload_size']="Grandezza massima del dato (file)"; +$lang['max_upload_size_info']="Se il tuo dato(file) backup è piu grande del limite imposto, allora lo devi caricare tramite FTP nella cartella \"work/backup\". Dopo verrà visualizzato questo dato qui nella amministrazione e puo essere scelto per il ripristino."; +$lang['encoding']="codificazione"; +$lang['fm_choose_encoding']="Scegli il file backup di codificazione"; +$lang['choose_charset']="MySQLDumper non ha trovato automaticamente il codice del file di backup creato in precedenza.
    Devi inserire manualmente i caratteri standard con cui è stato salvato questo backup .
    Dopo aver eseguito questo, MySQLDumper troverà 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/mysqldumper/language/it/lang_help.php b/mysqldumper/language/it/lang_help.php new file mode 100644 index 0000000..fbe9efc --- /dev/null +++ b/mysqldumper/language/it/lang_help.php @@ -0,0 +1,46 @@ + \ No newline at end of file diff --git a/mysqldumper/language/it/lang_install.php b/mysqldumper/language/it/lang_install.php new file mode 100644 index 0000000..8581bd4 --- /dev/null +++ b/mysqldumper/language/it/lang_install.php @@ -0,0 +1,88 @@ +L`installazione è finita --> fai partire MySQLDumper
    "; +$lang['install_forcescript']="Fai partire MySQLDumper senza installazione"; +$lang['install_tomenu']="Ritorna al Menu-principale"; +$lang['installmenu']="Menu principale"; +$lang['step']="Passo"; +$lang['install']="Installazione"; +$lang['uninstall']="Deinstallare"; +$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 elenchi"; +$lang['install_continue']="continua con la installazione"; +$lang['connecttomysql']="connessione a MySQL "; +$lang['dbparameter']="Parametri-banca dati"; +$lang['confignotwritable']="Il dato(file)\"config.php\" non è scrivibile. Metti per favore i permessi per scrivere a esempio:0777, cosi MySQLDumper può salvare la tua configurazione. "; +$lang['dbconnection']="Connessione-banca dati"; +$lang['connectionerror']="Errore: connessione non possibile."; +$lang['connection_ok']="Connessione banca dati effettuato."; +$lang['saveandcontinue']="Salvare e continuare l`installazione"; +$lang['confbasic']="Configurazione di base"; +$lang['install_step2finished']="Parametetri della banca dati sono salvati."; +$lang['install_step2_1']="Continuare la installazione con i standard-settings"; +$lang['laststep']="Fine della installazione"; +$lang['ftpmode']="Creare elenchi tramite FTP (safe-mode)"; +$lang['idomanual']="Io creo gli elenchi manualmente"; +$lang['dofrom']="concludendo dal"; +$lang['ftpmode2']="Crea gli elenchi tramite FTP:"; +$lang['connect']="connessione"; +$lang['dirs_created']="L`elenco è stato creato correttamente."; +$lang['connect_to']="connetti a"; +$lang['changedir']="cambia nell' elenco"; +$lang['changedirerror']="Impossibile cambiare nell` elenco "; +$lang['ftp_ok']="Parametri-FTP sono ok"; +$lang['createdirs2']="Creare elenchi"; +$lang['ftp_notconnected']="Connessione-FTP non stabilita!"; +$lang['connwith']="Connessione con"; +$lang['asuser']="come utente"; +$lang['notpossible']="non possibile"; +$lang['dircr1']="crea elenco di lavoro"; +$lang['dircr2']="crea elenco backup"; +$lang['dircr3']="crea elenco struttura"; +$lang['dircr4']="crea elenco log"; +$lang['dircr5']="crea elenco di configurazione"; +$lang['indir']="sono nel elenco"; +$lang['check']="verifica"; +$lang['disabledfunctions']="Funzioni disabilitate"; +$lang['noftppossible']="Funzioni FTP non disponibili!"; +$lang['nogzpossible']="Funzione di compressione non disponibile!"; +$lang['ui1']="Tutti gli elenchi di lavoro incluso i backups presenti vengono cancellati."; +$lang['ui2']="Sei sicuro di volere questo?"; +$lang['ui3']="no, cancella immediatamente"; +$lang['ui4']="si, continua per favore"; +$lang['ui5']="cancella elenco di lavoro"; +$lang['ui6']="è stato cancellato tutto con successo."; +$lang['ui7']="cancella per favore l`elenco dei script"; +$lang['ui8']="un livello piu sopra"; +$lang['ui9']="Si è verificato un errore, cancellare non è stato possibile

    Errore con il elenco "; +$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']="Partire MySQLDumper"; +$lang['import6']="Menu di installazione"; +$lang['import7']="Caricare configurazione"; +$lang['import8']="torna dal 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 degli sql_statements"; +$lang['import12']="Errore: Si sono verificati degli errori nel salvataggio della config.php"; +$lang['install_help_port']="(vuoto = porta-standard)"; +$lang['install_help_socket']="(vuoto = Socket-standard)"; +$lang['tryagain']="riprova"; +$lang['socket']="Socket"; +$lang['port']="Port"; +$lang['found_no_db']="Errore: db non trovato:"; +$lang['found_db']="db trovato:"; +$lang['fm_fileupload']="Carica dato(file)"; +$lang['pass']="Parola d`ordine(Password)"; +$lang['no_db_found_info']="La connesione con la banca dati è stata effettuata con successo.
    I tuoi dati di connessione sono stati accettati dal MySQL-Server.
    Purtroppo MySQLDumper non ha trovato nessuna banca dati.
    Il riconoscimento automatico per il programma è purtroppo bloccato dal provider.
    Appena hai finito l`installazione devi andare sotto il punto del menu \"Configurazione\" \"visualizza parametri di connessione\" e inserire il nome della tua banca dati."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/lang_log.php b/mysqldumper/language/it/lang_log.php new file mode 100644 index 0000000..2d909fa --- /dev/null +++ b/mysqldumper/language/it/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/it/lang_main.php b/mysqldumper/language/it/lang_main.php new file mode 100644 index 0000000..90f2133 --- /dev/null +++ b/mysqldumper/language/it/lang_main.php @@ -0,0 +1,70 @@ +"; +$lang['htaccess10']="Le parole d`ordine (passwords) non sono identiche oppure vuoti!
    "; +$lang['htaccess11']="Desideri che venga creato la sicurezza per gli elenchi , adesso?"; +$lang['htaccess12']="La sicurezza per gli elenchi è stato creato."; +$lang['htaccess13']="Contenuto del dato(file):"; +$lang['htaccess14']="Nella creazione della sicurezza per gli elenchi si è verificato un errore!
    Crea per favore questi dati(file) manualmente con il seguente contenuto:"; +$lang['htaccess15']="Urgentemente raccomandato!"; +$lang['htaccess16']="edit .htaccess"; +$lang['htaccess17']="crea e edit .htaccess"; +$lang['htaccess18']="crea .htaccess in "; +$lang['htaccess19']=" ricarica "; +$lang['htaccess20']="esegui script"; +$lang['htaccess21']="aggungi fornitore(provider)"; +$lang['htaccess22']="Renderlo eseguibile"; +$lang['htaccess23']="Lista elenchi"; +$lang['htaccess24']="Documento errori"; +$lang['htaccess25']="Attivare rewrite"; +$lang['htaccess26']="Negare / Permettere"; +$lang['htaccess27']="Redirigere"; +$lang['htaccess28']="Log dei errori"; +$lang['htaccess29']="altri esempi e documentazioni"; +$lang['htaccess30']="Fornitore(Provider)"; +$lang['htaccess31']="in 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 protezzione (cancella .htaccess)"; +$lang['wrong_rights']="Il dato o l`elenco '%s' non è scrivibile per me.
    O ha il proprietario sbagliato (Owner) o i diritti sbagliati (Chmod).
    Vi preghiamo di metter gli attributi giusti con il vostro programma FTP.
    Il dato o l`elenco ha bisogno dei diritti %s.
    "; +$lang['cant_create_dir']="Non ho potuto creare l`elenco '%s'. Vi preghiamo di crearlo con il vostro programma FTP."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/lang_restore.php b/mysqldumper/language/it/lang_restore.php new file mode 100644 index 0000000..b4f7c62 --- /dev/null +++ b/mysqldumper/language/it/lang_restore.php @@ -0,0 +1,23 @@ +%d tabelle."; +$lang['file_missing']="non potevo trovare dato(file)"; +$lang['restore_db']="Banca dati '%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 registri."; +$lang['restore_run2']="
    Momentaneamente la tabella '%s' viene riempita con registri.

    "; +$lang['restore_complete2']="%s registri sono inseriti."; +$lang['restore_tables_completed']="Finora sono stati creati da %d a %d tabelle."; +$lang['restore_total_complete']="
    Congratulazione.

    La banca dati è stat ripristinata completamente.
    Tutti i dati(file) del backup sono stati inseriti con successo.

    Hai finito. :-)"; +$lang['db_select_error']="
    Errore:
    Selezione della banca dati "; +$lang['db_select_error2']=" fallito!"; +$lang['file_open_error']="Errore: non potevo aprire dato(file)."; +$lang['progress_over_all']="Processo totale"; +$lang['back_to_overview']="Sommario-banca dati"; +$lang['restore_run0']="
    Finora sono stati aggiunti con successo da %s a %s registri."; +$lang['unknown_sqlcommand']="Comando sconosciuto di SQL"; +$lang['notices']="Avvisi"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/it/lang_sql.php b/mysqldumper/language/it/lang_sql.php new file mode 100644 index 0000000..1b967e9 --- /dev/null +++ b/mysqldumper/language/it/lang_sql.php @@ -0,0 +1,177 @@ +%s righe esportare"; +$lang['csv_fieldcount_nomatch']="La quantità dei campi della tabella non coincidono con i dati da importare (%d al posti 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 dato(file), per favore."; +$lang['csv_nodata']="Non ho trovato nessun dato(file) da importare!"; +$lang['sqllib_generalfunctions']="funzioni generali"; +$lang['sqllib_resetauto']="ricollocare autoincremento"; +$lang['sqllib_boards']="Boards"; +$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 banca dati / Funzione banca dati / Importo e Esporto "; +$lang['sqllib_boardoffline']="Board disattivato"; +$lang['sql_openfile']="aprire dato - SQL"; +$lang['sql_openfile_button']="Caricare"; +$lang['max_upload_size']="Grandezza massima del dato (file)"; +$lang['sql_search']="Ricerca"; +$lang['sql_searchwords']="Parola(e) di ricerca"; +$lang['start_sql_search']="esegui ricerca"; +$lang['reset_searchwords']="resetta parola di ricerca"; +$lang['search_explain']="Inserisci una o piu parole e fai partire la ricerca cliccando sul pulsante \"iniziare ricerca\". Mettendo piu parole di ricerca bisogna lasciare lo spazzio tra una parola e l`altra."; +$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 risultati!"; +$lang['no_entries']="La tabella \"%s\" è vuota e non ha nessuna iscrizione."; +$lang['search_access_keys']="Sfogliare: avanti=ALT+V, indietro=ALT+C"; +$lang['search_options_or']="una colonna deve contenere almeno una parola di ricera (o-ricreca)"; +$lang['search_options_concat']="un registro deve contenere tutte le parole di ricerca, pero possono essere in colonne diverse (Calcolo intensivo!)"; +$lang['search_options_and']="una colonna deve contenere tutte le parole di ricerca ( e ricerca )"; +$lang['search_in_table']="cerca nelle tabelle"; +$lang['sql_edit_tablestructure']="Edit struttura tabelare"; +$lang['default_charset']="Set di caretteri standard"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/lang_list.php b/mysqldumper/language/lang_list.php new file mode 100644 index 0000000..13a16eb --- /dev/null +++ b/mysqldumper/language/lang_list.php @@ -0,0 +1,104 @@ + \ No newline at end of file diff --git a/mysqldumper/language/lu/help.php b/mysqldumper/language/lu/help.php new file mode 100644 index 0000000..93abacc --- /dev/null +++ b/mysqldumper/language/lu/help.php @@ -0,0 +1,141 @@ + +
    +

    Ãœ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://www.mysqldumper.de/board.

    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. Kombinationen sind möglich.
      • +
      • Alter der Dateien (in Tagen): Ein Wert > 0 löscht alle Backupdateien, die älter als diese Angabe sind.
      • +
      • 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. +
    +

    Unsere Sponsoren

    +Die Sponsoren finden Sie auch auf der Sponsorenseite
    + +























    +























    \ No newline at end of file diff --git a/mysqldumper/language/lu/lang.php b/mysqldumper/language/lu/lang.php new file mode 100644 index 0000000..e58f314 --- /dev/null +++ b/mysqldumper/language/lu/lang.php @@ -0,0 +1,114 @@ +Oppassen: Kann net am SafeMode weiderfueren!Des Ordner mussen manuell am Scriptordner erstallt ginn:
    \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_config_overview.php b/mysqldumper/language/lu/lang_config_overview.php new file mode 100644 index 0000000..481e744 --- /dev/null +++ b/mysqldumper/language/lu/lang_config_overview.php @@ -0,0 +1,101 @@ + for the Cron job"; +$lang['withattach']=" with attach"; +$lang['withoutattach']=" without attach"; +$lang['multidumpconf']="=Multidump Configuration="; +$lang['multidumpall']="=all Databases="; +$lang['gzip']="GZip compression"; +$lang['send_mail_form']="Send email report"; +$lang['send_mail_dump']="Attach backup"; +$lang['email_adress']="Email address"; +$lang['email_subject']="Sender address of the email"; +$lang['email_maxsize']="Maximum size of attachment"; +$lang['age_of_files']="Delete by age of files (in days)"; +$lang['number_of_files_form']="Delete by number of files"; +$lang['language']="Language"; +$lang['list_db']="Configured Databases:"; +$lang['config_ftp']="FTP Transfer of Backup file"; +$lang['ftp_transfer']="FTP Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Password"; +$lang['ftp_dir']="Upload directory"; +$lang['ftp_ssl']="Secure SSL FTP connection"; +$lang['ftp_useSSL']="use SSL Connection"; +$lang['sqlboxheight']="Height of SQL-Box"; +$lang['sqllimit']="Count of records each page"; +$lang['bbparams']="Configuration for BB-Code"; +$lang['bbtextcolor']="Text color"; +$lang['help_commands']="You can execute a command before and after the backup.\nThis command can be a SQL-Construct or a System Command (e.g. a script)"; +$lang['command']="Command"; +$lang['wrong_connectionpars']="Connection parameters are wrong !"; +$lang['connectionpars']="Connection Parameter"; +$lang['extendedpars']="Extended Parameter"; +$lang['fade_in_out']="Display on/off"; +$lang['db_backuppars']="Database Backup Parameter"; +$lang['general']="General"; +$lang['maxsize']="max. Size"; +$lang['backup_format']="Backup Format"; +$lang['inserts_complete']="Complete Inserts"; +$lang['inserts_extended']="Extended Inserts"; +$lang['inserts_delayed']="Delayed Inserts"; +$lang['inserts_ignore']="Error ignoring Inserts"; +$lang['lock_tables']="Lock Tables"; +$lang['errorhandling_restore']="Error Handling while restoring"; +$lang['ehrestore_continue']="continue and log errors"; +$lang['ehrestore_stop']="stop"; +$lang['in_mainframe']="in main frame"; +$lang['in_leftframe']="in left frame"; +$lang['width']="Width"; +$lang['sql_befehle']="SQL Commands"; +$lang['download_languages']="download other languages"; +$lang['download_styles']="download other themes"; +$lang['connect_to']="Connect to"; +$lang['changedir']="Changing to Directory"; +$lang['changedirerror']="Couldn`t change directory!"; +$lang['ftp_ok']="Connection successful."; +$lang['install']="Installation"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['found_db']="found db"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Choose the passive mode when you discover problems while using the active mode."; +$lang['db_in_list']="The database '%s' couldn't be added because it is allready existing. "; +$lang['add_db_manually']="Add database manually"; +$lang['db_manual_error']="Sorry, couldn't connect to database '%s'!"; +$lang['db_manual_file_error']="Fileerror: couldn't insert database '%s'!"; +$lang['no_db_found']="I couldn't find any database automatically! +Please blend in the connection paramter and enter the name of your database manually."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_dump.php b/mysqldumper/language/lu/lang_dump.php new file mode 100644 index 0000000..c997ef2 --- /dev/null +++ b/mysqldumper/language/lu/lang_dump.php @@ -0,0 +1,59 @@ +%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']="Deselect All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['datawith']="Records with"; +$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

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_filemanagement.php b/mysqldumper/language/lu/lang_filemanagement.php new file mode 100644 index 0000000..0c56df5 --- /dev/null +++ b/mysqldumper/language/lu/lang_filemanagement.php @@ -0,0 +1,83 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/lu/lang_help.php b/mysqldumper/language/lu/lang_help.php new file mode 100644 index 0000000..5d5e376 --- /dev/null +++ b/mysqldumper/language/lu/lang_help.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_install.php b/mysqldumper/language/lu/lang_install.php new file mode 100644 index 0000000..df6bb16 --- /dev/null +++ b/mysqldumper/language/lu/lang_install.php @@ -0,0 +1,94 @@ +Installation completed --> start MySQLDumper
    "; +$lang['install_forcescript']="Start MySQLDumper without installation"; +$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['dircr3']="create structurdir"; +$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_no_db']="ERROR: the following DB was not found:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_log.php b/mysqldumper/language/lu/lang_log.php new file mode 100644 index 0000000..2fe24b2 --- /dev/null +++ b/mysqldumper/language/lu/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_main.php b/mysqldumper/language/lu/lang_main.php new file mode 100644 index 0000000..5235638 --- /dev/null +++ b/mysqldumper/language/lu/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']="Create and 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/lu/lang_restore.php b/mysqldumper/language/lu/lang_restore.php new file mode 100644 index 0000000..0943804 --- /dev/null +++ b/mysqldumper/language/lu/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/lu/lang_sql.php b/mysqldumper/language/lu/lang_sql.php new file mode 100644 index 0000000..aeab884 --- /dev/null +++ b/mysqldumper/language/lu/lang_sql.php @@ -0,0 +1,178 @@ +%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['sqllib_boardoffline']="Forum offline"; +$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_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
    +You can enter more than one searchword by separating them with a space."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/nl/help.php b/mysqldumper/language/nl/help.php new file mode 100644 index 0000000..3aeed2c --- /dev/null +++ b/mysqldumper/language/nl/help.php @@ -0,0 +1,140 @@ + +
    +

    Ãœ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://www.mysqldumper.de/board.

    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. Kombinationen sind möglich.
      • +
      • Alter der Dateien (in Tagen): Ein Wert > 0 löscht alle Backupdateien, die älter als diese Angabe sind.
      • +
      • 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. +
    +

    Unsere Sponsoren

    +Die Sponsoren finden Sie auch auf der Sponsorenseite
    +























    +























    \ No newline at end of file diff --git a/mysqldumper/language/nl/lang.php b/mysqldumper/language/nl/lang.php new file mode 100644 index 0000000..6ef64a0 --- /dev/null +++ b/mysqldumper/language/nl/lang.php @@ -0,0 +1,114 @@ +Let op:Programma kan niet doorgaan in Safe-Mode!Maak de volgende mappen handmatig aan in de MySQLDumper map.
    Geef volledige rechten aan de mappen (chmod 777).
    Daarna kunt u MySQL Dumper zonder problemen gebruiken.
    \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_config_overview.php b/mysqldumper/language/nl/lang_config_overview.php new file mode 100644 index 0000000..10b04d2 --- /dev/null +++ b/mysqldumper/language/nl/lang_config_overview.php @@ -0,0 +1,101 @@ + for the Cron job"; +$lang['withattach']="met bijlage"; +$lang['withoutattach']="zonder bijlage"; +$lang['multidumpconf']="=Multidump Configuration="; +$lang['multidumpall']="=all Databases="; +$lang['gzip']="GZip compression"; +$lang['send_mail_form']="Send email report"; +$lang['send_mail_dump']="Attach backup"; +$lang['email_adress']="Email address"; +$lang['email_subject']="Sender address of the email"; +$lang['email_maxsize']="Maximum size of attachment"; +$lang['age_of_files']="Bestandsleeftijd (in dagen)"; +$lang['number_of_files_form']="Delete by number of files"; +$lang['language']="Language"; +$lang['list_db']="Configured Databases:"; +$lang['config_ftp']="FTP Transfer of Backup file"; +$lang['ftp_transfer']="FTP Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Password"; +$lang['ftp_dir']="Upload directory"; +$lang['ftp_ssl']="Secure SSL FTP connection"; +$lang['ftp_useSSL']="use SSL Connection"; +$lang['sqlboxheight']="Height of SQL-Box"; +$lang['sqllimit']="Count of records each page"; +$lang['bbparams']="Instelling voor BB-Code"; +$lang['bbtextcolor']="Tekstkleur"; +$lang['help_commands']="You can execute a command before and after the backup.\nThis command can be a SQL-Construct or a System Command (e.g. a script)"; +$lang['command']="Commando"; +$lang['wrong_connectionpars']="Verbindingsparameters zijn onjuist!"; +$lang['connectionpars']="Connection Parameter"; +$lang['extendedpars']="Extended Parameter"; +$lang['fade_in_out']="Display on/off"; +$lang['db_backuppars']="Database Backup Parameter"; +$lang['general']="General"; +$lang['maxsize']="max. Size"; +$lang['backup_format']="Backup format"; +$lang['inserts_complete']="Complete Inserts"; +$lang['inserts_extended']="Extended Inserts"; +$lang['inserts_delayed']="Delayed Inserts"; +$lang['inserts_ignore']="Error ignoring Inserts"; +$lang['lock_tables']="Lock Tables"; +$lang['errorhandling_restore']="Error Handling while restoring"; +$lang['ehrestore_continue']="continue and log errors"; +$lang['ehrestore_stop']="stop"; +$lang['in_mainframe']="in main frame"; +$lang['in_leftframe']="in left frame"; +$lang['width']="Breedte"; +$lang['sql_befehle']="SQL Commands"; +$lang['download_languages']="download other languages"; +$lang['download_styles']="download other themes"; +$lang['connect_to']="Connect to"; +$lang['changedir']="wisselen naar map"; +$lang['changedirerror']="Kon niet van map wisselen"; +$lang['ftp_ok']="Connection successful."; +$lang['install']="Installation"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['found_db']="found db"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Choose the passive mode when you discover problems while using the active mode."; +$lang['db_in_list']="The database '%s' couldn't be added because it is allready existing. "; +$lang['add_db_manually']="Add database manually"; +$lang['db_manual_error']="Sorry, couldn't connect to database '%s'!"; +$lang['db_manual_file_error']="Fileerror: couldn't insert database '%s'!"; +$lang['no_db_found']="I couldn't find any database automatically! +Please blend in the connection paramter and enter the name of your database manually."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_dump.php b/mysqldumper/language/nl/lang_dump.php new file mode 100644 index 0000000..65fd477 --- /dev/null +++ b/mysqldumper/language/nl/lang_dump.php @@ -0,0 +1,59 @@ +%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']="Deselect All"; +$lang['deselectall']="Deselect all"; +$lang['startdump']="Start Backup"; +$lang['datawith']="Records with"; +$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

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_filemanagement.php b/mysqldumper/language/nl/lang_filemanagement.php new file mode 100644 index 0000000..be504de --- /dev/null +++ b/mysqldumper/language/nl/lang_filemanagement.php @@ -0,0 +1,83 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/nl/lang_help.php b/mysqldumper/language/nl/lang_help.php new file mode 100644 index 0000000..5d5e376 --- /dev/null +++ b/mysqldumper/language/nl/lang_help.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_install.php b/mysqldumper/language/nl/lang_install.php new file mode 100644 index 0000000..0906eed --- /dev/null +++ b/mysqldumper/language/nl/lang_install.php @@ -0,0 +1,94 @@ +starte MySQLDumper
    "; +$lang['install_forcescript']="Start MySQLDumper without installation"; +$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['dircr3']="create structurdir"; +$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_no_db']="ERROR: the following DB was not found:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_log.php b/mysqldumper/language/nl/lang_log.php new file mode 100644 index 0000000..2fe24b2 --- /dev/null +++ b/mysqldumper/language/nl/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_main.php b/mysqldumper/language/nl/lang_main.php new file mode 100644 index 0000000..60597d9 --- /dev/null +++ b/mysqldumper/language/nl/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']="Create and 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/nl/lang_restore.php b/mysqldumper/language/nl/lang_restore.php new file mode 100644 index 0000000..091880b --- /dev/null +++ b/mysqldumper/language/nl/lang_restore.php @@ -0,0 +1,23 @@ +%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 overzicht"; +$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/mysqldumper/language/nl/lang_sql.php b/mysqldumper/language/nl/lang_sql.php new file mode 100644 index 0000000..0be599d --- /dev/null +++ b/mysqldumper/language/nl/lang_sql.php @@ -0,0 +1,178 @@ +%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['sqllib_boardoffline']="Forum offline"; +$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_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
    +You can enter more than one searchword by separating them with a space."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/pt_br/help.php b/mysqldumper/language/pt_br/help.php new file mode 100644 index 0000000..1d5bdec --- /dev/null +++ b/mysqldumper/language/pt_br/help.php @@ -0,0 +1,178 @@ + +
    +

    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://www.mysqldumper.de/board + + +

    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. É possível combinar opções
      • +
      • Apagar por tempo/idade dos arquivos (em dias): Um valor > 0 apagará todos os arquivos mais antigos do que o valor configurado em dias
      • +
      • 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. + + +
    +

    Nossos Patrocinadores

    +Os Patrocinadores podem ser encontrados também em nossa Sponsorepage
    + +























    +























    \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang.php b/mysqldumper/language/pt_br/lang.php new file mode 100644 index 0000000..6f8dde9 --- /dev/null +++ b/mysqldumper/language/pt_br/lang.php @@ -0,0 +1,114 @@ +Atenção: O programa não pode continuar no modo seguro!Crie manualmente os seguintes diretórios abaixo do diretório MySQLDumper:
    \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_config_overview.php b/mysqldumper/language/pt_br/lang_config_overview.php new file mode 100644 index 0000000..40c4caa --- /dev/null +++ b/mysqldumper/language/pt_br/lang_config_overview.php @@ -0,0 +1,102 @@ + para o serviço Cron"; +$lang['withattach']=" com anexo"; +$lang['withoutattach']=" sem anexo"; +$lang['multidumpconf']="=Configuração do Multi-dump="; +$lang['multidumpall']="=todos os bancos de dados="; +$lang['gzip']="Compressão gzip"; +$lang['send_mail_form']="Enviar relatório por email"; +$lang['send_mail_dump']="Anexar o backup"; +$lang['email_adress']="Endereço do email"; +$lang['email_subject']="Endereço do remetente do email"; +$lang['email_maxsize']="Tamanho máximo do anexo"; +$lang['age_of_files']="Excluir pela idade dos arquivos (em dias)"; +$lang['number_of_files_form']="Excluir pelo número de arquivos"; +$lang['language']="Idioma"; +$lang['list_db']="Bancos de dados configurados:"; +$lang['config_ftp']="Transferência via FTP do arquivo de backup"; +$lang['ftp_transfer']="Transferência via FTP"; +$lang['ftp_server']="Servidor"; +$lang['ftp_port']="Porta"; +$lang['ftp_user']="Usuário"; +$lang['ftp_pass']="Senha"; +$lang['ftp_dir']="Diretório para upload"; +$lang['ftp_ssl']="Conexão segura SSL FTP"; +$lang['ftp_useSSL']="usar conexão SSL"; +$lang['sqlboxheight']="Altura da caixa SQL"; +$lang['sqllimit']="Quantidade de registros por página"; +$lang['bbparams']="Configuração para códigos BB"; +$lang['bbtextcolor']="Cor do texto"; +$lang['help_commands']="Você pode executar um comando antes ou depois do backup. +Este comando pode ser uma cláusula SQL ou um comando do sistema (p.e. um script)"; +$lang['command']="Comando"; +$lang['wrong_connectionpars']="Os parâmetros de conexão estão incorretos !"; +$lang['connectionpars']="Parâmetros de conexão"; +$lang['extendedpars']="Parâmetros extendidos"; +$lang['fade_in_out']="Exibir sim/não"; +$lang['db_backuppars']="Parâmetro de backup do banco de dados"; +$lang['general']="Geral"; +$lang['maxsize']="Tamanho máx."; +$lang['backup_format']="Formato do backup"; +$lang['inserts_complete']="Inserções completas"; +$lang['inserts_extended']=" Inserções extendidas"; +$lang['inserts_delayed']="Inserções atrasadas"; +$lang['inserts_ignore']="Erro Inserções ignoradas"; +$lang['lock_tables']="Travar tabelas"; +$lang['errorhandling_restore']="Controle de erro durante a restauração"; +$lang['ehrestore_continue']="continuar e registrar erros"; +$lang['ehrestore_stop']="parar"; +$lang['in_mainframe']="no frame principal"; +$lang['in_leftframe']="no frame da esquerda"; +$lang['width']="Largura"; +$lang['sql_befehle']="Comandos SQL"; +$lang['download_languages']="baixar outros idiomas"; +$lang['download_styles']="baixar outros temas"; +$lang['connect_to']="Conectar-se à"; +$lang['changedir']="Mudando para o diretório"; +$lang['changedirerror']="Não pude mudar de diretório!"; +$lang['ftp_ok']="Conexão bem sucedida."; +$lang['install']="Instalação"; +$lang['noftppossible']="Você não tem as funções de FTP !"; +$lang['found_db']="encontrado db"; +$lang['ftp_choose_mode']="Modo de Transferência - FTP"; +$lang['ftp_passive']="usar modo passivo"; +$lang['help_ftp_mode']="Escolha o modo passivo quando você encontrar problemas usando o modo ativo"; +$lang['db_in_list']="O banco de dados '%s' não pode ser adicionado pois ele já existe"; +$lang['add_db_manually']="Adicionar banco de dados manualmente"; +$lang['db_manual_error']="Desculpe, não é possível conectar com o banco de dados '%s'!"; +$lang['db_manual_file_error']="Erro de arquivo: não foi possível inserir na base de dados '%s'!"; +$lang['no_db_found']="Não pude encontrar nenhuma base de dados automaticamente! +Por favor, verifique os parâmetros de conexão e coloque o nome de seu banco de dados manualmente."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_dump.php b/mysqldumper/language/pt_br/lang_dump.php new file mode 100644 index 0000000..cc4e64a --- /dev/null +++ b/mysqldumper/language/pt_br/lang_dump.php @@ -0,0 +1,59 @@ +%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']="Desselecionar tudo"; +$lang['deselectall']="Desselecionar tudo"; +$lang['startdump']="Iniciar backup"; +$lang['datawith']="Registros com"; +$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

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_filemanagement.php b/mysqldumper/language/pt_br/lang_filemanagement.php new file mode 100644 index 0000000..173c7b6 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_filemanagement.php @@ -0,0 +1,83 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/pt_br/lang_help.php b/mysqldumper/language/pt_br/lang_help.php new file mode 100644 index 0000000..b0ad6e8 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_help.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_install.php b/mysqldumper/language/pt_br/lang_install.php new file mode 100644 index 0000000..8dfc3ac --- /dev/null +++ b/mysqldumper/language/pt_br/lang_install.php @@ -0,0 +1,94 @@ +Instalação completada --> iniciar o MySQLDumper
    "; +$lang['install_forcescript']="Iniciar o MySQLDumper sem instalação"; +$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['dircr3']="criar structurdir"; +$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_no_db']="ERRO: o seguinte BD não foi localizado:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_log.php b/mysqldumper/language/pt_br/lang_log.php new file mode 100644 index 0000000..b8af2d5 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_main.php b/mysqldumper/language/pt_br/lang_main.php new file mode 100644 index 0000000..901e005 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']="Criar e 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/pt_br/lang_restore.php b/mysqldumper/language/pt_br/lang_restore.php new file mode 100644 index 0000000..de1ee76 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_restore.php @@ -0,0 +1,23 @@ +%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/mysqldumper/language/pt_br/lang_sql.php b/mysqldumper/language/pt_br/lang_sql.php new file mode 100644 index 0000000..132e7d4 --- /dev/null +++ b/mysqldumper/language/pt_br/lang_sql.php @@ -0,0 +1,178 @@ +%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['sqllib_boardoffline']="Fórum offline"; +$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_explain']="Digite uma ou mais palavras para pesquisa e inicie a pesquisa clicando \"iniciar pesquisa\".
    +Você pode digitar mais de uma palavra para pesquisa separando-as com um espaço."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/sw/help.php b/mysqldumper/language/sw/help.php new file mode 100644 index 0000000..26ddb6c --- /dev/null +++ b/mysqldumper/language/sw/help.php @@ -0,0 +1,134 @@ + +
    +

    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://www.mysqldumper.de/board.

    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. Reglerna kan kombineras.
      • +
      • Filens Ã¥lder (dagar): ett värde > 0 aktiverar radering av alla backup-filer som är äldre än detta värde i dagar.
      • +
      • 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. +
    +

    VÃ¥ra sponsorer

    +Sponsorerna hittar du på Sponsorsidan
    + +























    +























    \ No newline at end of file diff --git a/mysqldumper/language/sw/lang.php b/mysqldumper/language/sw/lang.php new file mode 100644 index 0000000..1c4abb8 --- /dev/null +++ b/mysqldumper/language/sw/lang.php @@ -0,0 +1,114 @@ +Varning: du kan ej fortsätta i Safe-läge!Följande mappar måste skapas manuellt i skript-mappen:
    \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_config_overview.php b/mysqldumper/language/sw/lang_config_overview.php new file mode 100644 index 0000000..728eef5 --- /dev/null +++ b/mysqldumper/language/sw/lang_config_overview.php @@ -0,0 +1,103 @@ + för cron-jobbet"; +$lang['withattach']=" mit Anhang"; +$lang['withoutattach']=" ohne Anhang"; +$lang['multidumpconf']="=Multidump Einstellungen="; +$lang['multidumpall']="=alle Datenbanken="; +$lang['gzip']="GZip-Kompression"; +$lang['send_mail_form']="Email senden"; +$lang['send_mail_dump']="Backup anhängen"; +$lang['email_adress']="Email-Adresse"; +$lang['email_subject']="Absender der Email"; +$lang['email_maxsize']="maximale Größe des Anhangs"; +$lang['age_of_files']="Filernas ålder (i dagar)"; +$lang['number_of_files_form']="Anzahl von Backupdateien"; +$lang['language']="Sprache"; +$lang['list_db']="Konfigurierte Datenbanken:"; +$lang['config_ftp']="FTP-överföring av backup-filen"; +$lang['ftp_transfer']="FTP-Transfer"; +$lang['ftp_server']="Server"; +$lang['ftp_port']="Port"; +$lang['ftp_user']="User"; +$lang['ftp_pass']="Passwort"; +$lang['ftp_dir']="Upload-Ordner"; +$lang['ftp_ssl']="Sichere SSL-FTP-Verbindung"; +$lang['ftp_useSSL']="benutze SSL-Verbindung"; +$lang['sqlboxheight']="Höhe der SQL-Box"; +$lang['sqllimit']="Anzahl der Datensätze pro Seite"; +$lang['bbparams']="Inställningar för BBcode"; +$lang['bbtextcolor']="Textfärg"; +$lang['help_commands']="Man kann vor und nach dem Backup einen Befehl ausführen lassen. +Dies kann eine SQL-Anweisung sein oder ein Systembefehl (z. B. ein Script)"; +$lang['command']="Kommando"; +$lang['wrong_connectionpars']="Verbindungsparameter stimmen nicht!"; +$lang['connectionpars']="Förbindelse-parametrar"; +$lang['extendedpars']="erweiterte Parameter"; +$lang['fade_in_out']="ein-/ausblenden"; +$lang['db_backuppars']="Databas backup-inställningr"; +$lang['general']="allgemein"; +$lang['maxsize']="max. Größe"; +$lang['backup_format']="Backup-format"; +$lang['inserts_complete']="vollständige Inserts"; +$lang['inserts_extended']="erweiterte Inserts"; +$lang['inserts_delayed']="verzögerte Inserts"; +$lang['inserts_ignore']="fehlerübergehende Inserts"; +$lang['lock_tables']="Tabellen sperren"; +$lang['errorhandling_restore']="Fehlerbehandlung bei Wiederherstellung"; +$lang['ehrestore_continue']="fortsätt och protokollera fel"; +$lang['ehrestore_stop']="stoppa"; +$lang['in_mainframe']="im Hauptframe"; +$lang['in_leftframe']="im linken Frame"; +$lang['width']="Breite"; +$lang['sql_befehle']="SQL-Befehle"; +$lang['download_languages']="ladda hem andra språk"; +$lang['download_styles']="ladda hem andra teman"; +$lang['connect_to']="Förbinder med"; +$lang['changedir']="Hoppa till mapp"; +$lang['changedirerror']="Kunde ej hoppa till mapp!"; +$lang['ftp_ok']="Die Verbindung wurde erfolgreich hergestellt."; +$lang['install']="Installation"; +$lang['noftppossible']="You don't have FTP functions !"; +$lang['found_db']="found db"; +$lang['ftp_choose_mode']="FTP Transfer Mode"; +$lang['ftp_passive']="use passive mode"; +$lang['help_ftp_mode']="Choose the passive mode when you discover problems while using the active mode."; +$lang['db_in_list']="The database '%s' couldn't be added because it is allready existing. "; +$lang['add_db_manually']="Add database manually"; +$lang['db_manual_error']="Sorry, couldn't connect to database '%s'!"; +$lang['db_manual_file_error']="Fileerror: couldn't insert database '%s'!"; +$lang['no_db_found']="I couldn't find any database automatically! +Please blend in the connection paramter and enter the name of your database manually."; +$lang['connect_utf8']="Set database connection to utf8"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_dump.php b/mysqldumper/language/sw/lang_dump.php new file mode 100644 index 0000000..8b17162 --- /dev/null +++ b/mysqldumper/language/sw/lang_dump.php @@ -0,0 +1,58 @@ +%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['datawith']="Dataposter med"; +$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

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_filemanagement.php b/mysqldumper/language/sw/lang_filemanagement.php new file mode 100644 index 0000000..e8377b1 --- /dev/null +++ b/mysqldumper/language/sw/lang_filemanagement.php @@ -0,0 +1,85 @@ +"; +$lang['fm_restore_header2']="\""; +$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['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/mysqldumper/language/sw/lang_help.php b/mysqldumper/language/sw/lang_help.php new file mode 100644 index 0000000..7e09e8e --- /dev/null +++ b/mysqldumper/language/sw/lang_help.php @@ -0,0 +1,51 @@ + \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_install.php b/mysqldumper/language/sw/lang_install.php new file mode 100644 index 0000000..7506c3d --- /dev/null +++ b/mysqldumper/language/sw/lang_install.php @@ -0,0 +1,94 @@ +die Installation ist abgeschlossen --> starte MySQLDumper
    "; +$lang['install_forcescript']="MySQLDumper ohne Installation starten"; +$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['dircr3']="skapar strukturmapp"; +$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_no_db']="FEHLER: nicht gefundene Datenbank:"; +$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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_log.php b/mysqldumper/language/sw/lang_log.php new file mode 100644 index 0000000..c3d546b --- /dev/null +++ b/mysqldumper/language/sw/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_main.php b/mysqldumper/language/sw/lang_main.php new file mode 100644 index 0000000..9a91541 --- /dev/null +++ b/mysqldumper/language/sw/lang_main.php @@ -0,0 +1,74 @@ +"; +$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['htaccess17']=".htaccess erstellen und 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/sw/lang_restore.php b/mysqldumper/language/sw/lang_restore.php new file mode 100644 index 0000000..05f0424 --- /dev/null +++ b/mysqldumper/language/sw/lang_restore.php @@ -0,0 +1,23 @@ +%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 wird die Tabelle '%s' mit Datensätzen gefüllt.

    "; +$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/mysqldumper/language/sw/lang_sql.php b/mysqldumper/language/sw/lang_sql.php new file mode 100644 index 0000000..43df49d --- /dev/null +++ b/mysqldumper/language/sw/lang_sql.php @@ -0,0 +1,185 @@ +%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['sqllib_boardoffline']="Forum offline"; +$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_explain']="Emnter one or more searchwords and start searching by clicking \"start search\".
    +You can enter more than one searchword by separating them with a space."; +$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"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/tr/help.php b/mysqldumper/language/tr/help.php new file mode 100644 index 0000000..32aceaa --- /dev/null +++ b/mysqldumper/language/tr/help.php @@ -0,0 +1,139 @@ + +
    +

    Bu Proje hakkında

    +Bu projenin kurucusu Daniel Schlichtholz'dur.

    2004 yılında MySQLDumper panosunu kurdu, +kısa bir süre sonra başkaları tarafından destek gördü ve birçok kişinin katılımları ile yazılım genişletilmeye başlandı.

    istekleriniz veya önerileriniz için MySQLDumper-Panosuna katılabilirsiniz.

    +

    MySQLDumper-Ekibi

    + +
    MySQLDumper +Daniel Schlichtholz - Steffen Kamper
    +Perlscript: Detlev Richter'in desteÄŸi ile
    +
    +
    + +

    MySQLDumper Yardım

    + + +

    indirme

    +Bu yazılımı MySQLDumper Sitesinden temin edebilirsiniz.
    +Güncellemeler ve destek için Sitemizi sık sık takip etmenizi tavsiye ederiz.
    +Site adresi: +http://www.mysqldumper.de + +

    Sistem gerekçeleri

    +Mysqldumper her sunucuda çalışır (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. +Sıkıştırılmış dosyayı herhangi bir klasör içerisinde açınız.
    +Açılann dosyaları FTP ile Sunucunuza yükleyiniz. (Örneğin root [sizindomain/]MySQLDumper)
    +... bitti!
    +Artık MySQLDumper'i tarayıcınız ile "http://sizindomain/MySQLDumper" adresini girerek açabilirsiniz,
    +kurulumu tamamlamak için saadece Sistemin sorularını cevaplamanız yeterlidir.
    +
    ÖNEMLİ:
    Sunucunuzda Safemode açık ise, yazılımın klasör oluşturma imkanı yoktur.
    +Gerekli klasörleri kendiniz oluşturmanız gerekir, MySqlDumper'in çalışabilmesi için belli bir düzende klasörlerin bulunması gerekir.
    +Bu durumda yazılım kurulumu hata belirterek durduracaktır!
    +Verilen hataya göre klasörleri oluşturduğunuz taktirde yazılımınız normal bir şekilde işlev görecektir.
    + +

    Perlskript kullanımı

    +Sunucuların birçoğu Perl Scripleri destekler.
    +Bu scriptlerin belli bir klasör içerisinde bulunması gerekebilir, klasörün adresi genellikle http://sizindomain/cgi-bin/ dir. +
    +
    +Bu durumda yapılması gereken işlemler:

    + +1. MySQLDumper'i açtıktan sonra Yedekleme sayfasını açınız ve "Yedekleme Perl" tuşunu tıklayınız.
    +2. Crondump.pl de kayitli adres absolute_path_of_configdir: in arkasında bulunan kayıdı kopyalayınız.
    +3. "crondump.pl" Editör ile açınız.
    +4. Kopyaladığınız adresi absolute_path_of_configdir´in arkasına yapıştırınız (boşluk bırakılmayacak).
    +5. Crondump.pl i kapatarak kayıt ediniz.
    +6. Crondump.pl, perltest.pl ve simpletest.pl dosyalarını cgi-bin-klasörüne kopyalayınız (FTP ile Ascii-Modüsünde).
    +7. Dosyaların haklarını 755 olarak belirleyiniz (CHMOD).
    +7b. Dosyabitimi cgi olması gerekiyorsa her 3 dosyanın adının değiştiriniz pl -> cgi.
    +8. Ayar Merkez, sayfasını açınız.
    +9. Cronscript e tıklayınız.
    +10. Perl veriyolunu /cgi-bin/ ÅŸeklinde deÄŸiÅŸtiriniz.
    +10b. Kullanılan dosyabitimi seçiniz.
    +11. Ayarları kayıt ediniz.

    + +Ayarlar tamamlanmıştır, Scriptleri yedekleme sayfasından çalıştırabilirsiniz.

    + +Perli her klasörden çalıştırma yetkiniz bulunuyorsa:

    + +1. MySQLDumper'i açtıktan sonra Yedekleme sayfasını açınız ve "Yedekleme Perl" tuşunu tıklayınız.
    +2. Crondump.pl de kayitli adres absolute_path_of_configdir: in arkasında bulunan kayıdı kopyalayınız.
    +3. "crondump.pl" Editör ile açınız.
    +4. Kopyaladığınız adresi absolute_path_of_configdir´in arkasına yapıştırınız (boşluk bırakılmayacak).
    +5. Crondump.pl i kapatarak kayıt ediniz.
    +6. Dosyaların haklarını 755 olarak belirleyiniz (CHMOD).
    +6b. Dosyabitimi cgi olması gerekiyorsa her 3 dosyanın adının değiştiriniz pl -> cgi.
    +(Gerekirse yukarıdaki 10b+11 ci adımları da uygulayınız)
    +
    + +Windows kullanıcılarının Scriptlerin ilk satırında /cgi-bin/ veriyolunu değiştirmeleri gerekir:
    +#!/usr/bin/perl -w yerine
    +#!C:\perl\bin\perl.exe -w yazılacak
    + +

    Kullanım

      + +
      Menü
      +ışlenecek Veritabanını burada seçeceksiniz.
      +Bütün işlemler burada beelirlenmiş olan Veritabanına uygulanır. + +
      Ana Sayfa
      +Burada kullandığınız sistem hakkında bilgiler bulabilirsiniz, yüklenmiş +sürümler, Veritabanıları vs..
      +Veritabnı ismine tıklandığında tabloların listesine ulaşılabilir. +Kayıtsayısı ebat ve son güncelleme bilgilerini burada bulabilirsiniz. + +
      Ayar Merkezi
      +Sistem ayarlarını burada belirleyebilir, yedeklemeden geri dönüştürebilir veya sıfırlayabilirsiniz. +

        +
      • Veritabanları: Veritabanları Listesi. Aktiv olan Veritabanı kalın yazılmıştır.
      • +
      • Tablo ön eki: Burada belirleyeceÄŸiniz filtre tedeklenecek tablolarda uygulanacaktır + (örneÄŸin: "phpBB_" ile baÅŸlayan tablolar). Veritabanının bütün tablolarını yedeklemek istiyorsanın burasını boÅŸ bırakınız.
      • +
      • Sıkıştırma: Sıkıştırmayı burada açabilirsiniz. Sıkıştırmayı kullanmanızı tavsiye ederiz.
      • +
      • Yedekleme ekli Mail: Bu Opsyon kullanıldığında, iÅŸlemin sonunda gönderilecek mail'e yedekleme dosyası eklenecektir. Sıkıştırmanın aktiv olmasını öneririz !).
      • +
      • Email-Adresi: Mailin ulaÅŸtırılacağı adres.
      • +
      • Email göndericisi: gönderilecek mailin kimin adına gönderildiÄŸi.
      • +
      • FTP-Transferi: Bu Opsyon kullanıldığında, iÅŸlem sonunda yedekleme dosyası FTP ile gönderilir.
      • +
      • FTP Sunucusu: Die FTP sunucusunun adresÅŸ (örneÄŸin: ftp.mybackups.de).
      • +
      • FTP Sunucu Portu: FTP-Sunucusunun Portu (Genelde 21).
      • +
      • FTP Kulanıcısı: FTP-kullanıcısının adı.
      • +
      • FTP ÅŸifresi: FTP-kullanıcısının ÅŸifresi.
      • +
      • FTP yükleme klasörü: Yedekleme dosyasının yükleneceÄŸi klasörün adı. (UYARI: CHMOD ayarlarını göz önünde bulundurunuz).
      • +
      • Otomatik dosya silme: Bu Opsyon kullanıldığında, belirlenecek kurallara göre yedekleme dosyaları silinecektir.
      • +
      • Dosya tarihine göre (Gün olarak): 0 dan büyük bir deÄŸer, gün olarak bu deÄŸeri aÅŸan yedeklemeleri silecektir.
      • +
      • Dosya sayısı: 0 dan büyük bir deÄŸer, bu deÄŸeri aÅŸan dosya sayısından fazla olan dosyaları silecektir.
      • +
      • Dil: MySQL Dumperin kullanacağı dili burada belirlersiniz.
      • +
      • Cronjob zamandilimi: Saniye olarak belirlenecek deÄŸer, Cronjob için geçerli olan süreyi (eÄŸer yetkiniz varsa) yükseltmeÄŸe deÄŸer.
      • +
      + +
      Dosya yönetimi
      +Dosya işlemleri burada yapılır +Yedekleme Klasörünüzde bulunan dosyalar listelenir.
      +işlemlerin uygulanabilmesi için bir dosyanın seçilmiş olması gerekiyor. +
        +
      • Restore: Burada veritabanı, seçilmiÅŸ dosya ile dönüştürülür.
      • +
      • Delete: SeçilmiÅŸ yedekleme dosyaları silinir.
      • +
      • Yeni Yedekleme baÅŸlat: Ayarlarda belirlenmiÅŸ ÅŸartlarla yeni bir yedekleme oluÅŸturulur.
      • +
      + +
      Protokoller
      +BUrada protokol dosyalarını görebilir veya silebilirsiniz. +
      Künye / Yardım
      +bu Sayfa. +
    +

    Sponsorlarımız

    +Sponsorlarımızı burada bulabilirsiniz
    + \ No newline at end of file diff --git a/mysqldumper/language/tr/lang.php b/mysqldumper/language/tr/lang.php new file mode 100644 index 0000000..f4103fd --- /dev/null +++ b/mysqldumper/language/tr/lang.php @@ -0,0 +1,114 @@ +Dikkat: Safe-Mod durumundan dolayı devam edilmesine imkan yok!Elden oluşturulması gereken klasörler:
    \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_config_overview.php b/mysqldumper/language/tr/lang_config_overview.php new file mode 100644 index 0000000..72029b2 --- /dev/null +++ b/mysqldumper/language/tr/lang_config_overview.php @@ -0,0 +1,101 @@ + \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_dump.php b/mysqldumper/language/tr/lang_dump.php new file mode 100644 index 0000000..021ac73 --- /dev/null +++ b/mysqldumper/language/tr/lang_dump.php @@ -0,0 +1,58 @@ +%s` Veritabanında tablo bulunamadı."; +$lang['dump_endergebnis']=" %s tabloda %s kayıt yedeklendi.
    "; +$lang['mailerror']="Mail göderiminde 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']="hiçbirini seçme"; +$lang['deselectall']="hepsini seç"; +$lang['startdump']="Yedeklemeyi başlat"; +$lang['datawith']="kayıtlar"; +$lang['lastbufrom']="son yedekleme tarihi"; +$lang['not_supported']="Bu yedekleme istenilen funksyonu 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 Tablolar arındırıldı."; +$lang['dump_errors']="

    Hata oluştu: göster

    "; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_filemanagement.php b/mysqldumper/language/tr/lang_filemanagement.php new file mode 100644 index 0000000..b7afcc4 --- /dev/null +++ b/mysqldumper/language/tr/lang_filemanagement.php @@ -0,0 +1,83 @@ +\""; +$lang['fm_restore_header2']="\""; +$lang['fm_dump_header']="Yedekleme"; +$lang['DoCronButton']="Perl-Cronscript'i çalıştır"; +$lang['DoPerlTest']="Perl-Modulerini dene"; +$lang['DoSimpleTest']="Perli dene"; +$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['converter']="Yedekleme dönüştürücüsü"; +$lang['convert_file']="dönüştürülecek dosya"; +$lang['convert_filename']="Yeni dosya adı (eksiz)"; +$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']="Maximum dosya büyüklüğü"; +$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/mysqldumper/language/tr/lang_help.php b/mysqldumper/language/tr/lang_help.php new file mode 100644 index 0000000..e827bdd --- /dev/null +++ b/mysqldumper/language/tr/lang_help.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_install.php b/mysqldumper/language/tr/lang_install.php new file mode 100644 index 0000000..c185162 --- /dev/null +++ b/mysqldumper/language/tr/lang_install.php @@ -0,0 +1,94 @@ +Kurulum tamamlanmıştır --> MySQLDumper'i başlat
    "; +$lang['install_forcescript']="MySQLDumper'i yüklemeden başlat"; +$lang['install_tomenu']="Ana Menüye geç"; +$lang['installmenu']="Ana Menüye"; +$lang['step']="Adım"; +$lang['install']="Kurulum"; +$lang['uninstall']="Kurulumu silme"; +$lang['tools']="Araçlar"; +$lang['editconf']="Ayarları elden işle"; +$lang['osweiter']="Kayıt etmeden devam et"; +$lang['errorman']="Ayarların kaydında hata oluştu!
    Dosyayı lütfen elden işleyiniz "; +$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']="Devam et"; +$lang['confbasic']="Tabanayarları"; +$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']="Yola çıkılacak veriyolu"; +$lang['ftpmode2']="klasörleri FTP ile oluşturacağım"; +$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ör oluşturma"; +$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['dircr3']="Oluşturuluyor: yapı klasörü"; +$lang['dircr4']="Oluşturuluyor: protokol klasörü"; +$lang['dircr5']="Oluşturuluyor: ayar klasörü"; +$lang['indir']="bulunulan klasör"; +$lang['check']="Kontrol ediliyor"; +$lang['disabledfunctions']="İptal edilmiş Funksyonlar"; +$lang['noftppossible']="FTP Bağlantısı yok!"; +$lang['nogzpossible']="Sıkıştırma funksyonu bulunmuyor!"; +$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, işlemi sürdür"; +$lang['ui5']="Çalışma klasörü siliniyor"; +$lang['ui6']="Hepsi silindi."; +$lang['ui7']="Skriptklasörünü lütfen elden 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 ıthal et"; +$lang['import3']="Ayarlar kayıt edildi..."; +$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_statement lerin kaydında 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_no_db']="Hata: Bulunamayan Veritabanı:"; +$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ı parametrelerin, göstertin.
    +Veritanı ile bağlantı kurulabilmesi için gereken bilgileri oraya girmeniz gerekiyor."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_log.php b/mysqldumper/language/tr/lang_log.php new file mode 100644 index 0000000..b72c55c --- /dev/null +++ b/mysqldumper/language/tr/lang_log.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_main.php b/mysqldumper/language/tr/lang_main.php new file mode 100644 index 0000000..cf9f95b --- /dev/null +++ b/mysqldumper/language/tr/lang_main.php @@ -0,0 +1,70 @@ +"; +$lang['htaccess10']="Şifreler birbirini tutmuyor!
    "; +$lang['htaccess11']="Klasör Koruma şimdi oluşturulsunmu?"; +$lang['htaccess12']="Klasör Koruma 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ı işle"; +$lang['htaccess17']=".htaccess dosyası oluştur ve işle"; +$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 raporu-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ş funksyonlar"; +$lang['nogzpossible']="Zlib bulunamadığı için Sıkıştırma kullanılamaz."; +$lang['delete_htaccess']="Klasör koruma 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."; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_restore.php b/mysqldumper/language/tr/lang_restore.php new file mode 100644 index 0000000..5ac1c10 --- /dev/null +++ b/mysqldumper/language/tr/lang_restore.php @@ -0,0 +1,23 @@ +%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-Komandosu:"; +$lang['notices']="Notlar"; + + +?> \ No newline at end of file diff --git a/mysqldumper/language/tr/lang_sql.php b/mysqldumper/language/tr/lang_sql.php new file mode 100644 index 0000000..ead23cd --- /dev/null +++ b/mysqldumper/language/tr/lang_sql.php @@ -0,0 +1,184 @@ +%s satır ihraç edildi"; +$lang['csv_fieldcount_nomatch']="Tablokayıtlarının sayısı, ithal edilecek bilgilerle uyuşmuyor (%d yerine %d)."; +$lang['csv_fieldslines']="%d kayıt 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 Funksyonlar"; +$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['sqllib_boardoffline']="Paneli kapa"; +$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_explain']="arama için kelime yada kelimeleri yazın ve \"arama\" tuşuna basın.
    birden fazla kelime için boşluk bırakın."; +$lang['search_options']="arama seçeneği"; +$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']="Satırda en azından bir aranılan kelime bulunmalıdır. (Or-arama)"; +$lang['search_options_concat']="Metin'de bütün aranılan kelimeler bulunmalıdır, aranılan kelimeler değişik satırlarda bulunabilir. (Vakit alıcı)"; +$lang['search_options_and']="Sütunun içinde aranan kelimelerin hepsi bulunmalı"; +$lang['search_in_table']="Tablonun içinde ara"; +$lang['sql_edit_tablestructure']="Edit tablestructure"; +$lang['default_charset']="Default character set"; + + +?> \ No newline at end of file diff --git a/mysqldumper/log.php b/mysqldumper/log.php new file mode 100644 index 0000000..b26816f --- /dev/null +++ b/mysqldumper/log.php @@ -0,0 +1,104 @@ +ERROR !
    Logdir is not writable

    '); + +//lesen + +$errorbutton=''; +$perlbutton= ''; +$perlbutton2=''; + +//anzeigen +echo '
    '; +echo ''; +echo $errorbutton.$perlbutton.$perlbutton2; +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 '.substr($z[$i],strpos($z[$i],": "))."
    "; + } + } else { + $out.=''.substr($zeile,0,strpos($zeile,": ")).' '.substr($zeile,strpos($zeile,": ")); + } + } +} +if($r!=2) $out.='
    '; + + +if($out!="") { + echo '
    '; + echo ''; + echo '
    '.$out.'
    '; +} + +echo '
    '; +echo MSDFooter(); +?> diff --git a/mysqldumper/main.php b/mysqldumper/main.php new file mode 100644 index 0000000..777307b --- /dev/null +++ b/mysqldumper/main.php @@ -0,0 +1,551 @@ +'; +$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 \"MySQLDump\"\nAuthType Basic\nAuthUserFile ". $config['paths']['root'].".htpasswd\n\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'],0775); + + } 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"; + 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 '
    '; +echo ''; +echo ''; +echo ''; +echo ''; +echo '
    '; + + +if($action=="status") { + //Infos über 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.='MySQLDumper-Version: '.MSD_VERSION.' '.MSD_VERSION_ADD.'
    '; + $status.='OS: '.MSD_OS.' ('.MSD_OS_EXT.')
    '; + $status.='MySQL-Version: '.MSD_MYSQL_VERSION.'
    '; + $status.='PHP-Version: '.PHP_VERSION.' Speicher: '.$config['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'].': '.$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($config['no_htaccess']==0) { + //.(($is_htaccess) ? '' : ''.$lang['htaccess15'].''); + if($is_htaccess) { + $status.=''.$lang['htaccess16'].''; + $status.=' '.$lang['delete_htaccess'].''; + } else { + $status.=''.$lang['htaccess1'].'  '.$lang['htaccess15'].''; + //$status.='   +++ '.$lang['htaccess17'].' +++'; + } + } + //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.''; + if(!isset($config['dbconnection'])) MSD_mysql_connect(); + + for($i=0;$i'; + } 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 '
    '.$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 '
    '.$lang['create_database'].'
    '; + 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) { + $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; + } + echo '
    '; + +} + + +//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); + $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".''; + 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'].''. + 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); + 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();; + + +?> diff --git a/mysqldumper/menu.php b/mysqldumper/menu.php new file mode 100644 index 0000000..4888e26 --- /dev/null +++ b/mysqldumper/menu.php @@ -0,0 +1,120 @@ + +var curl=parent.MySQL_Dumper_content.location.href.split("/"); +var cdatei=curl.pop(); +var ca=cdatei.split("."); +if(ca[0]!="sql" && ca[0]!="dump" && ca[0]!="restore" && ca[0]!="frameset") { + parent.MySQL_Dumper_content.location.href=parent.MySQL_Dumper_content.location.href; +} +'; + +//Ausgabestart +echo MSDHeader(1); + +if(isset($_GET['action'])) +{ + if($_GET['action']=='dbrefresh') + { + SetDefault(); + SelectDB(0); + echo $pagerefresh; + } +} + +if(isset($_POST['dbindex'])) +{ + $dbindex=$_POST['dbindex']; + $databases['db_selected_index']=$dbindex; + SelectDB($dbindex); + WriteParams(1,$config,$databases); + echo $pagerefresh; +} +else $dbindex=0; + + +echo headline('',0); + +?> + +
    +

    MySQL Dumper - Homepage

    + +
    + +
    +
    + :
    +'; + if (isset($databases['Name']) && count($databases['Name'])>0) + { + echo ''; + echo ''; + echo ''; + } + else echo $lang['none'].'
    '; +?> + + +
    +
    +setMenuActive(\'m2\');parent.MySQL_Dumper_content.location.href=\'./config_overview.php\';'; +} + +?> + + diff --git a/mysqldumper/msd_cron/crondump.pl b/mysqldumper/msd_cron/crondump.pl new file mode 100644 index 0000000..89232ae --- /dev/null +++ b/mysqldumper/msd_cron/crondump.pl @@ -0,0 +1,834 @@ +#!/usr/bin/perl -w +######################################################################################## +# MySQLDumper CronDump +# +# 2004,2005 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 +my $pcd_version="1.22"; + +######################################################################################## +# please enter the absolute path of the config-dir +# for using the script without Parameters the mysqldumper.conf will be load +# 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 under this line !!! +######################################################################################## +# import the necessary modules ... +use strict; +use DBI; +use File::Find; +use File::Basename; +use CGI::Carp qw/ warningsToBrowser fatalsToBrowser /; + +# import the optional modules ... +my $eval_in_died; +my $mod_gz=0; +my $mod_ftp=0; +my $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; +} +######################################################################################## + +my @trash_files; +my $time_stamp; +my @filearr; +my $sql_file; +my $backupfile; +my $memory_limit=100000; +my $dbh; # DBI databasehandle +my $sth; # DBI statementhandle +my @db_array; +my @dbpraefix_array; +my @db_command_beforedump_array; +my @db_command_afterdump_array; +my $db_anz; +my $record_count; +my $filesize; +my $status_start; +my $status_end; +my $sql_text; +my $punktzaehler; +my @backupfiles_name; +my @backupfiles_size; +my $mysql_commentstring="-- "; +my $character_set="utf8"; + +use vars qw( +$pcd_version $dbhost $dbname $dbuser $dbpass $dbport +$cron_save_all_dbs $cron_db_array $cron_dbpraefix_array $dbpraefix $command_beforedump_array $command_afterdump_array +$compression $backup_path $logdatei $completelogdatei $nl $command_beforedump $command_afterdump +$cron_printout $cronmail $cronmail_dump $cronmailto $cronmailfrom +$cronftp $ftp_server $ftp_port $ftp_user $ftp_pass $ftp_dir $mp $multipart_groesse $email_maxsize +$auto_delete $cron_del_files_after_days $max_backup_files $max_backup_files_each $perlspeed $optimize_tables_beforedump $result +@key_value $pair $key $value $conffile @confname $logcompression $log_maxsize $complete_log +$backup_complete_inserts $backup_extended_inserts $backup_delayed_inserts $backup_ignore_inserts $backup_lock_tables +$starttime $Sekunden $Minuten $Stunden $Monatstag $Monat $Jahr $Wochentag $Jahrestag $Sommerzeit +$ri $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 @dbarray $item %dbanz $anz %db_dat +$delayed $ignore $complete $fieldlist $first_insert $my_comment $ftp_mode $sendmail_call +); + +use CGI::Carp qw(warningsToBrowser fatalsToBrowser); +warningsToBrowser(1); + +# Script Start + +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."/"; +} + + +#include config file +if($ENV{QUERY_STRING}) { + @key_value = split(/&/,$ENV{QUERY_STRING}); + foreach $pair(@key_value){ + $pair =~ tr/+/ /; + ($key,$value) = split(/=/,$pair); + $conffile=$value if($key eq "config"); + } +} + +my $argnum=0; +foreach $argnum (0 .. $#ARGV) +{ + $conffile=chomp(substr($argnum,7,length($argnum)-7)) if(substr($argnum,0,7) eq "config="); +} + +if((!defined $conffile) || ($conffile eq "")) { $conffile=$default_configfile; } + +die "No configuration was handed over to me. Wether you should edit crondump.pl to enter a standard configuration at $absolute_path_of_configdir or you should bypass the parameter config when calling this script! \n\n" if(chomp($conffile) eq ""); +# Security: try to detcet wether someone tries to include some external configfile +die "Hacking attempt - I wont do anything!\nGo away\n\n" if (lc($conffile) =~ m /:/); + +my $my_file=$absolute_path_of_configdir.$conffile; +open(CONFIG,"<$my_file") or die "\nI couldn't open the configurationfile:".$my_file."\nFile not found or not accessible!\n\n"; +while (my $line = ) +{ + chomp($line); + if ($line ne '' && substr($line,0,1) ne '#') + { + ($key,$value) = split(/=/,$line); + eval($line); + } +} +close(CONFIG); + +@confname=split(/\//,$conffile); + +# Output Headers +PrintHeader(); + +PrintOut("Configurationfile '".$confname[$#confname]."' was loaded successfully.
    "); +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 ...

    "); +} + + +# SignalHandler einrichten für Browser-Stop-Button, +# unterbrochene Socketverbindungen, Crtl-C +# Datenbankverbindung wird dann noch ordnungsgemäss geschlossen. +$SIG{HUP} = $SIG{PIPE} = $SIG{INT} =\&closeScript; + + +#teste Zugriff auf logfile +PrintOut("Starting Crondump ... "); +write_log(": Starting backup using Perlscript version $pcd_version\n"); + +#Auto-Delete ausführen +if($auto_delete>0) { + #Autodelete Days + if($cron_del_files_after_days>0) { + PrintOut("
    Autodelete: search for backups older than $cron_del_files_after_days days ...
    "); + find(\&AutoDeleteDays, $backup_path); + DeleteFiles (\@trash_files); + } + #Autodelete Count + if($max_backup_files>0) { + PrintOut("Autodelete: search for more backups than $max_backup_files ...
    "); + find(\&AutoDeleteCount, $backup_path); + DoAutoDeleteCount(); + DeleteFiles (\@trash_files); + } +} + +#Jetzt den Dump anschmeissen +# mal schauen, obs mehrere DB's sind +if($cron_save_all_dbs==0) { + $command_beforedump=$command_beforedump_array; + $command_afterdump=$command_afterdump_array; + ExecuteCommand(1); + DoDump(); + ExecuteCommand(2); + PrintOut("
    Crondump finished.
    "); + closeScript(); +} else { + @db_array=split(/\|/,$cron_db_array); + @dbpraefix_array=split(/\|/,$cron_dbpraefix_array); + @db_command_beforedump_array=split(/\|/,$command_beforedump_array); + @db_command_afterdump_array=split(/\|/,$command_afterdump_array); + $db_anz=@db_array; + PrintOut("

    Starting backup progress for $db_anz databases ...

    "); + for(my $ii = 0; $ii < $db_anz; $ii++) { + if ($mp>0) { $mp=1; } # Part-Reset if using Multipart (for next database) + $dbname=$db_array[$ii]; + $dbpraefix=($dbpraefix_array[$ii]) ? $dbpraefix_array[$ii] : ""; + $command_beforedump=($db_command_beforedump_array[$ii]) ? $db_command_beforedump_array[$ii] : ""; + $command_afterdump=($db_command_afterdump_array[$ii]) ? $db_command_afterdump_array[$ii] : ""; + PrintOut("
    Starting backup ".($ii+1)." of $db_anz with database `$dbname` ".(($dbpraefix ne "") ? "(with praefix $dbpraefix)" : "")."
    "); + ExecuteCommand(1); + DoDump(); + ExecuteCommand(2); + } + PrintOut("ALL $db_anz BACKUPS ARE DONE!!!
    "); + $cron_save_all_dbs=2; + closeScript(); +} + +############################################## +# Subroutinen # +############################################## +sub DoDump { + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); + $Jahr+=1900;$Monat+=1;$Jahrestag+=1; + my $CTIME_String = localtime(time); + $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=$delayed=$ignore=""; + # Verbindung mit mSQL herstellen, $dbh ist das Database Handle + PrintOut("connect to database`$dbname`   "); + $dbh = DBI->connect("DBI:mysql:$dbname:$dbhost:$dbport","$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 + %db_dat = (name => 0, + rows => 4, + data_length =>6, + index_length =>8, + update_time =>11 ); + } else { + #mysql Version < 4.1 + %db_dat = (name => 0, + rows => 3, + data_length =>5 , + index_length =>7, + update_time =>11 ); + } + + PrintOut("ok
    MySQL-Version $v[0].$v[1].$v[2]
    starting backup progress at ".$starttime."
    "); + + $sth = $dbh->prepare("SET NAMES ".$character_set); + $sth->execute; + PrintOut("
    Charset set to ".$character_set."
    "); + + my $format=""; + if($backup_complete_inserts==1) { $format.="complete inserts | "; } + if($backup_extended_inserts==1) { $format.="extended inserts | "; } + if($backup_ignore_inserts==1) { $format.="ignored inserts | "; } + if($backup_delayed_inserts==1) { $format.="delayed inserts | "; } + if($backup_lock_tables==1 && $backup_delayed_inserts==0) { $format.="lock tables | ";} + if($format eq "") { + $format="Backup Parameter: normal

    "; + } else { + $format="Backup Parameter: ".substr($format,0,length($format)-3)."

    "; + } + PrintOut($format); + + #Statuszeile erstellen + my $t=0; + my $r=0; + $sth = $dbh->prepare("SHOW TABLE STATUS FROM `$dbname`"); + $sth->execute; + my $st_e="\n"; + #Arrays löschen + undef(@tables); + undef(@tablerecords); + my $opttbl=0; + + while ( @ar=$sth->fetchrow) { + if($optimize_tables_beforedump==1) { + #tabelle optimieren + my $sth_to = $dbh->prepare("OPTIMIZE Table `$ar[$db_dat{name}]`"); + $sth_to->execute; $opttbl++; + } + if(!defined $ar[$db_dat{update_time}]) { PrintOut("Error: Table ".$ar[$db_dat{name}]." seems to be damaged. Couldn\'t read last update time. Check table definition!
    "); $ar[$db_dat{update_time}]=0; } + + if($dbpraefix eq ""){ + $t++; + $r+=$ar[$db_dat{rows}]; + push(@tables,$ar[$db_dat{name}]); + push(@tablerecords,$ar[$db_dat{rows}]); + $st_e.=$mysql_commentstring."TABLE\|$ar[$db_dat{name}]\|$ar[$db_dat{rows}]\|".($ar[$db_dat{data_length}]+$ar[$db_dat{index_length}])."\|$ar[$db_dat{update_time}]\n"; + } else { + if (substr($ar[$db_dat{name}],0,length($dbpraefix)) eq $dbpraefix) { + $t++; + $r+=$ar[$db_dat{rows}]; + push(@tables,$ar[$db_dat{name}]); + push(@tablerecords,$ar[$db_dat{rows}]); + $st_e.=$mysql_commentstring."TABLE\|$ar[$db_dat{name}]\|$ar[$db_dat{rows}]\|".($ar[$db_dat{data_length}]+$ar[$db_dat{index_length}])."\|$ar[$db_dat{update_time}]\n"; + } + } + } + PrintOut("$opttbl tables have been optimized
    ") if($opttbl>0) ; + PrintOut("found $t tables with $r records.
    "); + + #AUFBAU der Statuszeile: + # -- Status:tabellenzahl:datensätze: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="$backup_complete_inserts$backup_extended_inserts$backup_ignore_inserts$backup_delayed_inserts$downgrade$backup_lock_tables$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/board/)\n\n"; + + + if($mp>0) { + $sql_text=$status_start."MP_$mp".$status_end; + } else { + $sql_text=$status_start.$status_end; + } + NewFilename(); + + $totalrecords=0; + for (my $tt=0;$tt<$t;$tt++) { + $tabelle=$tables[$tt]; + # definition auslesen + if($dbpraefix eq "" or ($dbpraefix ne "" && substr($tabelle,0,length($dbpraefix)) eq $dbpraefix)) { + PrintOut("dumping table `$tabelle` "); + $a="\n\n$mysql_commentstring\n$mysql_commentstring Create Table `$tabelle`\n$mysql_commentstring\n\nDROP TABLE IF EXISTS `$tabelle`;\n\n"; + $sql_text.=$a; + $sql_create="Show create table `$tabelle`"; + $sth = $dbh->prepare($sql_create); + $sth->execute; + @ergebnis=$sth->fetchrow; + $sth->finish; + $a=$ergebnis[1].";\n"; + $sql_text.=$a."\n$mysql_commentstring\n$mysql_commentstring Data for Table `$tabelle`\n$mysql_commentstring\n\n"; + if($backup_delayed_inserts==0) { + $sql_text.="\n/*!40000 ALTER TABLE `$tabelle` DISABLE KEYS */;\n"; + } + if($backup_lock_tables==1 && $backup_delayed_inserts==0) { + $sql_text.="LOCK TABLES `$tabelle` WRITE;\n\n"; + } + + WriteToFile($sql_text); + $sql_text=""; + PrintOut("* "); + $punktzaehler=64; + if($backup_complete_inserts==1) { + $fieldlist="("; + $sql_create="Show fields from `$tabelle`"; + $sth = $dbh->prepare($sql_create); + $sth->execute; + while ( @ar=$sth->fetchrow) { + $fieldlist.="`".$ar[0]."`,"; + } + $fieldlist=substr($fieldlist,0,length($fieldlist)-1).")"; + } + # daten auslesen + $rct=$tablerecords[$tt]; + for (my $ttt=0;$ttt<$rct;$ttt+=$perlspeed) { + $delayed="DELAYED " if($backup_delayed_inserts==1); + $ignore="IGNORE " if($backup_ignore_inserts==1); + $insert = "INSERT ".$delayed.$ignore."INTO `$tabelle` $fieldlist VALUES ("; + $first_insert=0; + $sql_daten="SELECT * FROM `$tabelle` Limit ".$ttt.",".$perlspeed.";"; + $sth = $dbh->prepare($sql_daten); + $sth->execute; + while ( @ar=$sth->fetchrow) { + #Start the insert + if($first_insert==0) { + $a="\n$insert"; + if($backup_extended_inserts==1) {$first_insert=1;} + } else { + $a="\n("; + } + foreach $inhalt(@ar){ $a.= $dbh->quote($inhalt).", "; } + $a=substr($a,0, length($a)-2).")"; + if($backup_extended_inserts==1) { + $a.=","; + } else { + $a.=";"; + } + $sql_text.= $a; + if($memory_limit>0 && length($sql_text)>$memory_limit) { + if($backup_extended_inserts==1 && length($a)>0) { + $sql_text=substr($sql_text,0, length($sql_text)-1).";" if(length($sql_text)>0); + $first_insert=0; + } + WriteToFile($sql_text); + $sql_text=""; + if($mp>0 && $filesize>$multipart_groesse) {NewFilename();} + } + } + } + #jetzt wegschreiben + if($backup_extended_inserts==1) { + $sql_text=substr($sql_text,0, length($sql_text)-1).";" if(length($sql_text)>0);; + } + if($backup_lock_tables==1 && $backup_delayed_inserts==0) { + $sql_text.="\n\nUNLOCK TABLES;"; + } + if($backup_delayed_inserts==0) { + $sql_text.="\n/*!40000 ALTER TABLE `$tabelle` ENABLE KEYS */;\n"; + } + WriteToFile($sql_text); + $sql_text=""; + PrintOut("
       $tablerecords[$tt] inserted records (size of backupfile: $filesize Bytes)
    "); + $totalrecords+=$tablerecords[$tt]; + if($mp>0 && $filesize>$multipart_groesse) {NewFilename();} + } + } + # Ende + WriteToFile("\n".$mysql_commentstring."EOB"); + PrintOut("
    Backup of Database `$dbname` complete.
    "); + write_log(": Perl Cron-Dump `$backupfile` finished.\n"); + + # Jetzt der Versand per Mail + if($cronmail==1) { + PrintOut("sending mail ...
    "); + send_mail(); + write_log(": Mail was sent to $cronmailto. succesfully\n"); + PrintOut("Mail was sent to $cronmailto successfully.
    "); + } + + # Jetzt der Versand per FTP + if($cronftp==1) { + PrintOut("sending ftp ...
    "); + send_ftp($sql_file); + } +} + +#Wird aufgerufen, wenn Fehler passieren +sub err_trap { + $error_message = shift(@_); + print "Perl Cronscript ERROR: $error_message \n"; + close; +} + +sub PrintHeader { + print "Content-type: text/html; charset=utf-8\n\n"; + PrintOut("\n"); + PrintOut("MySQLDumper - Perl CronDump [Version $pcd_version]

    MySQLDumper - Perl CronDump [Version $pcd_version]

    \n"); +} + +sub PrintOut { + $print_out = shift(@_); + if($cron_printout==1) { + local ($oldbar) = $|; + $cfh = select (STDOUT); + $| = 1; + print $print_out."\n"; + $| = $oldbar; + select ($cfh); + } + + if($complete_log==1) { + my $logsize=0; + if (-e $completelogdatei) { + $logsize=(stat($completelogdatei))[7]; + unlink($completelogdatei) if($logsize + length($print_out)>$log_maxsize && $log_maxsize>0); + } + if ( ($logcompression==0) || ($mod_gz==0)) { + open(DATEI,">>$completelogdatei") || err_trap('can\'t open mysqldump_perl.complete.log ('.$completelogdatei.').'); + print DATEI $print_out."\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("$print_out\n") || err_trap("Error writing mysqldump_perl.complete.log. "); + $gz->gzclose ; + chmod(0777,$completelogdatei); + } + } +} + +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("Cannot open $logdatei."); + $gz->gzwrite("$dt $msg") || err_trap("Error writing $logdatei. "); + $gz->gzclose ; + chmod(0777,$logdatei); + } +} + +sub send_ftp { + $ftp = Net::FTP->new($ftp_server, Port => $ftp_port, Timeout => 360, Debug => 1,Passive => $ftp_mode) or err_trap( "FTP-ERROR: Can't connect: $@\n"); + $ftp->login($ftp_user, $ftp_pass) or err_trap("FTP-ERROR: Couldn't login\n"); + $ftp->binary(); + $ftp->cwd($ftp_dir) or err_trap("FTP-ERROR: Couldn't change directory\n"); + if($mp==0) { + $ftp->put($sql_file) or err_trap("FTP-ERROR: Couldn't put $sql_file\n"); + write_log(": FTP-Transfer: transferring of `$backupfile` to $ftp_server finished successfully.\n"); + PrintOut("FTP-Transfer transferring `$backupfile` to $ftp_server 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; + $ftp->put($backup_path.$mpdatei) or err_trap("Couldn't put $backup_path.$mpdatei\n"); + write_log(": FTP-Transfer: transferring `$mpdatei` to $mpdatei finished successfully.\n"); + PrintOut("FTP-Transfer: transferring `$mpdatei` to $ftp_server was successful.
    "); + } + } +} + +sub send_mail { + MIME::Lite->send("sendmail", $sendmail_call); + $BodyNormal='The Attachement is your backup of your database '.$dbname.'

    Best regards

    MySQLDumper
    www.mysqldumper.de'; + $BodyMultipart='A multipart backup has been made. You will receive one or more Emails containing the backups.
    The database `'.$dbname.'` has been backupped.

    The following files have been created:

    '; + $BodyToBig='The backup is bigger than the allowed max-limit of '.$email_maxsize.' Bytes and has not been attached.
    Backup of database '.$dbname.'

    Best regards

    MySQLDumper
    www.mysqldumper.de

    The following files have been created:

    '; + $BodyNoAttach='The backup has not been attached.
    I saved your database `'.$dbname.'` into file '; + $BodyAttachOnly='Here is your backup.

    Best regards

    MySQLDumper
    www.mysqldumper.de'; + $Body=""; + $DoAttach=1; + my @mparray; + if($mp==0) { + if(($email_maxsize>0 && $filesize>$email_maxsize) || $cronmail_dump==0) { + if($cronmail_dump==0) { + $Body=$BodyNoAttach.$backupfile."   ".$filesize; + } else { + $Body=$BodyToBig.$backupfile."   ".$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"); + $Body.="$mpdatei (".(stat($backup_path.$mpdatei))[7]." Bytes)
    "; + } + $Body.='


    Best regards,

    MySQLDumper
    www.mysqldumper.de'; + } + + $msg = new MIME::Lite ; + $msg = build MIME::Lite + From => $cronmailfrom , + To => $cronmailto , + Subject => "MSD (Perl) - Backup of DB ".$dbname, + Type => 'text/html', + Data => $Body; + if($DoAttach==1 && $mp==0) { + attach $msg + Type => "BINARY" , + Path => "$sql_file" , + Encoding => "base64", + Filename => "$backupfile" ; + } + + $msg->send || err_trap("Error sending mail !"); + + if($DoAttach==1 && $mp>0 && $cronmail_dump>0) { + foreach $datei(@mparray) { + @str=split(/\|/,$datei); + $msg = new MIME::Lite ; + $msg = build MIME::Lite + From => $cronmailfrom , + To => $cronmailto , + Subject => "MSD (Perl) - Backup of DB $dbname File ".$str[1]." of ".@mparray , + Type => 'text/html', + Data => $BodyAttachOnly; + attach $msg + Type => "BINARY" , + Path => $backup_path.$str[0] , + Encoding => "base64", + Filename => $str[0] ; + $msg->send || err_trap("Error sending mail !"); + } + } +} + + +sub check_emailadr { + $cmt = shift(@_); + if ($cmt =~ /^([\w\-\+\.]+)@([\w\-\+\.]+)$/){ + return (1) + } else { + return (0) + } +} + +sub NewFilename { + $part=""; + if($mp>0) { + $part="_part_$mp"; + $mp++; + } + if($compression==0) { + $sql_file=$backup_path.$dbname."_".$time_stamp."_perl".$part.".sql"; + $backupfile=$dbname."_".$time_stamp."_perl".$part.".sql"; + } else { + $sql_file=$backup_path.$dbname."_".$time_stamp."_perl".$part.".sql.gz"; + $backupfile=$dbname."_".$time_stamp."_perl".$part.".sql.gz"; + } + if($mp==0) { + PrintOut("
    Starting to dump data into file `$backupfile`
    "); + write_log(": Dumping data into file `$backupfile` \n"); + } + if($mp==2) { + PrintOut("
    Starting to dump data into multipart-file `$backupfile`
    "); + write_log(": Start Perl Multipart-Cron-Dump with file `$backupfile` \n"); + } + if($mp>2) { + PrintOut("
    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.="\n/*!40101 SET NAMES `".$character_set."` */;\n"; + WriteToFile($sql_text); + chmod(0644,$sql_file); + $sql_text=""; + $first_insert=0; + $punktzaehler=0; + push(@backupfiles_name,$sql_file); +} + +sub WriteToFile { + $inh=shift; + 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 ; + } + PrintOut("."); + $filesize= (stat($sql_file))[7]; + $punktzaehler++; + if($punktzaehler>180){ + $punktzaehler=0; + PrintOut("
    "); + } + } +} + +sub AutoDeleteDays { + $fpath=$File::Find::name; + $fname=basename($fpath); + $fmtime=(stat($fname))[9]; + if($fmtime) { + $timenow=time; + $daydiff=($timenow-$fmtime)/60/60/24; + if (((/\.gz$/) || (/\.sql$/)) && ($daydiff>$cron_del_files_after_days)) { + PrintOut "$fpath $daydiff
    " if (-f $fname); + push(@trash_files,$fpath); + } + } +} + +sub AutoDeleteCount { + $fpath=$File::Find::name; + $fname=basename($fpath); + $fmtime=(stat($fname))[9]; + if($fmtime) { + ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr)=localtime($fmtime); + $Jahr+=1900; $Monat+=1; + $Monat="0".$Monat if(length($Monat)==1); + $search="_".$Jahr."_".$Monat."_"; + $fdbname=substr($fname,0,index($fname,$search)); + if ((/\.gz$/) || (/\.sql$/)) { + push(@filearr,"$fmtime|$fdbname|$fpath"); + } + } +} + +sub DoAutoDeleteCount { + my @str; + my @dbarray; + my $item; + my %dbanz; + my $anz=@filearr; + @filearr=sort(@filearr); + if($max_backup_files_each==0) { + PrintOut("Autodelete by count ($max_backup_files) => found $anz Backups
    "); + if ($anz>0) + { + for($i = 0; $i < ($anz-$max_backup_files); $i++) { + @str=split(/\|/,$filearr[$i]); + push(@trash_files, $str[2]); + } + } + } else { + PrintOut("Autodelete by count each DB ($max_backup_files) => found $anz Backups
    "); + if ($anz>0) + { + foreach $item (@filearr) { + @str=split(/\|/,$item); + $dbanz{$str[1]}++; + push(@trash_files, $str[2]) if($dbanz{$str[1]}>$max_backup_files); + } + } + } +} + +sub DeleteFiles { + if(@trash_files==0) { + PrintOut("No file to delete.
    "); + } else { + foreach $datei(@trash_files) { + PrintOut("".$datei." deleted.
    "); + write_log( ": Perl Cronsript Autodelete - $datei deleted.\n" ) ; + } + } + unlink @trash_files ; + undef(@trash_files); +} + +sub ExecuteCommand { + my $cmt = shift(@_); + my (@cad, $errText, $succText, $cd2, $commandDump); + my $err=''; + + if($cmt==1) { #before dump + $commandDump=$command_beforedump; + $errText="Error while executing Query before Dump"; + $succText="executing Query before Dump was successful"; +#write_log(": Executing Command before dump\n"); + } else { + $commandDump=$command_afterdump; + $errText="Error while executing Query after Dump"; + $succText="executing Query after Dump was successful"; +#write_log(": Executing Command after dump\n"); + } + if(length($commandDump)>0) { + #jetzt ausführen + 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); + if($cron_save_all_dbs!=1) { + PrintOut("closing script $starttime, bye
    total time used: $Totalzeit sec.
    #EOS
    \n"); + # Datenbankverbindung schliessen + $sth->finish() if (defined $sth); + ($dbh->disconnect() || warn $dbh->errstr) if (defined $dbh); + } +} diff --git a/mysqldumper/msd_cron/perltest.pl b/mysqldumper/msd_cron/perltest.pl new file mode 100644 index 0000000..3d852c0 --- /dev/null +++ b/mysqldumper/msd_cron/perltest.pl @@ -0,0 +1,109 @@ +#!/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; + + +print "MySQLDUmper Perltest\n

    Perl-Test für MySQLDumper

    \n"; +print "
    Unbedingt notwendige Funktionen für das Cronscript
    "; +print "

    teste DBI ...

    \n"; +eval { $eval_in_died = 1; require DBI; }; + if(!$@){ + $mod_dbi = 1; + import DBI; + } +if($mod_dbi!=1){ + print "DBI ist nicht vorhanden !
    Es kann per Perl keine Datenbank-Verbindung aufgebaut werden!
    \n"; +} else { + print "DBI ist installiert.
    \n"; + my @available_drivers = DBI->available_drivers('quiet'); + foreach $dbi_driver (@available_drivers) + { + print "gefundener DBI-Driver: $dbi_driver
    \n"; + if ( $dbi_driver eq 'mysql' ) { $dbi_mysql_exists=1; } ; + } + if ($dbi_mysql_exists !=1 ) { print "DBI-MySQL-Treiber wurde nicht gefunden! Datenbankzugriff per Perl ist nicht möglich!"; } + else { print "
    Datenbankzugriff per DBI ist OK."; } +} + +print "

    teste File::Find ...

    \n"; +eval { $eval_in_died = 1; require File::Find; }; + if(!$@){ + $mod_ff = 1; + import File::Find; + } +if($mod_ff!=1){ + print "File::Find ist nicht vorhanden !
    \n"; +} else { + print "File::Find ist installiert.
    \n"; +} + + +print "

    teste File::Basename ...

    \n"; +eval { $eval_in_died = 1; require File::Basename; }; + if(!$@){ + $mod_fb = 1; + import File::Basename; + } +if($mod_fb!=1){ + print "File::Basename ist nicht vorhanden !
    \n"; +} else { + print "File::Basename ist installiert.
    \n"; +} + +print "
    Konfigurierbare Funktionen für das Cronscript
    "; + +print "

    teste Compress::Zlib ...

    \n"; +eval { $eval_in_died = 1; require Compress::Zlib; }; + if(!$@){ + print qq[ver $Compress::Zlib::VERSION]; + $mod_gz = 1; + import Compress::Zlib; + } +if($mod_gz!=1){ + print "Compress::Zlib ist nicht vorhanden !
    \n"; +} else { + print "Compress::Zlib ist installiert.
    \n"; +} + +print "

    teste Net::FTP ...

    \n"; +eval { $eval_in_died = 1; require Net::FTP; }; + if(!$@){ + $mod_ftp = 1; + import Net::FTP; + } +if($mod_ftp!=1){ + print "Net::FTP ist nicht vorhanden !
    \n"; +} else { + print "Net::FTP ist installiert.
    \n"; +} + +print "

    teste MIME::Lite ...

    \n"; +eval { $eval_in_died = 1; require MIME::Lite; }; + if(!$@){ + $mod_mime = 1; + import MIME::Lite; + } +if($mod_mime!=1){ + print "MIME::Lite ist nicht vorhanden !
    MySQLDumper kann per Perl keine Emails versenden!
    \n"; +} else { + print "MIME::Lite ist installiert.
    \n"; +} + + +print "\n"; diff --git a/mysqldumper/msd_cron/simpletest.pl b/mysqldumper/msd_cron/simpletest.pl new file mode 100644 index 0000000..e57e8b7 --- /dev/null +++ b/mysqldumper/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/mysqldumper/refresh_dblist.php b/mysqldumper/refresh_dblist.php new file mode 100644 index 0000000..f6d6c96 --- /dev/null +++ b/mysqldumper/refresh_dblist.php @@ -0,0 +1,22 @@ + diff --git a/mysqldumper/restore.php b/mysqldumper/restore.php new file mode 100644 index 0000000..ee50db8 --- /dev/null +++ b/mysqldumper/restore.php @@ -0,0 +1,301 @@ +0) WriteLog('Start Multipart-Restore \''.$restore['filename'].'\''); + else WriteLog('Start Restore \''.$restore['filename'].'\''); + } + else + { + if ($restore['compressed']==0) $filegroesse=filesize($fpath.$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; + //lock_table($restore['actual_table']); + WHILE ( ($a<$restore['anzahl_zeilen'] ) + && (!$restore['fileEOF']) && ($dauer<$restore['max_zeit']) && !$restore['EOB'] ) + { + $sql_command=get_sqlbefehl(); + + if($sql_command>'') + { +//WriteLog($sql_command); + $meldung=''; + $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; + } + } + + // 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(); + } + } + } + } + $a++; + $dauer=time()-$restore['startzeit']; + } + $eingetragen=$a-1; + } + + $restore['offset']= ($restore['compressed']) ? gztell($restore['filehandle']) : ftell($restore['filehandle']); + if ($restore['compressed']) gzclose($restore['filehandle']); else fclose($restore['filehandle']); + + $aus_header[]= headline($lang['restore']); + + $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']).'
    '; + $aus[]=$lang['file'].': '.$restore['filename'].'
    '; + $aus[]=$lang['charset'].': '.$restore['dump_encoding'].'
    '; + + if($fmp>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']); + $aus[]=$lang['progress_over_all'].'
    '; + + //Fortschrittsbalken + $prozentbalken=(round($prozent,0)*3); + if ($restore['anzahl_eintraege']>0) + { + $aus[]= ''; + if ($prozentbalken>=3) $aus[]= ''; + $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[]='
    '; + $aus[]='
    '; + $aus[]='Speed
    '.$restore['anzahl_zeilen'].'
    '; + $aus[]=''; + $aus[]='
    '; + $aus[]=''; + $aus[]='
    '; + $aus[]=''; + $aus[]=''; + $aus[]='
    '.$config['minspeed'].''.$config['maxspeed'].'
    '; + + //Status-Text + $aus[]= '

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

    '; + $restore['summe_eintraege']+=$eingetragen; + + //Zeitanpassung + if($config['direct_connection']==1) + { + if ($dauer<$restore['max_zeit']) + { + $restore['anzahl_zeilen']=$restore['anzahl_zeilen']*$config['tuning_add']; + } + else + { + $restore['anzahl_zeilen']=$restore['anzahl_zeilen']*$config['tuning_sub']; + } + $restore['anzahl_zeilen']=round($restore['anzahl_zeilen'],0); + if($config['minspeed']>0) {if ($restore['anzahl_zeilen']<$config['minspeed']) $restore['anzahl_zeilen']=$config['minspeed'];} + if($config['maxspeed']>0) {if($restore['anzahl_zeilen']>$config['maxspeed']) $restore['anzahl_zeilen']=$config['maxspeed'];} + } + + 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 + $nextfile=NextPart($restore['filename']); + + if(!file_exists($config['paths']['backup'].$nextfile)) + { + $done=number_format($restore['eintraege_ready'],0,",","."); + $to_do=number_format($restore['anzahl_eintraege'],0,",","."); + $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'; //, speed '.$anzahl_zeilen; + $aus[]= ($fmp>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']=urlencode($nextfile); + $restore['offset']=0; + $restore['part']++; + } + } + } +} +else $aus[]=$fpath.$restore['filename'].' : '.$lang['file_open_error']; + +//===================================================================== +//================= Anzeige =========================================== +//===================================================================== + +//Seite basteln +//DEBUGGER +$debugausgabe=''; +$manuell=0; + +$pagefooter=($RestoreFertig==1) ? MSDFooter() : '
    '; +if (is_array($aus_header)) $aus=array_merge($aus_header,$aus); + +$page_parameter=get_page_parameter($restore,'restore'); +if ($RestoreFertig==1) $page_parameter=''; + +$pageheader=''.$meta.'MySqlDumper'.$page_parameter; +$js_aufruf_automatisch=''; +$js_aufruf_manuell=''; +$selbstaufruf=($page_parameter=="") ? "" : (($manuell==0) ? $js_aufruf_automatisch : $js_aufruf_manuell); +$complete_page=$pageheader.(($aus!='') ? implode("\n",$aus) : '').$debugausgabe.$selbstaufruf.$pagefooter; +echo $complete_page; + +?> diff --git a/mysqldumper/sql.php b/mysqldumper/sql.php new file mode 100644 index 0000000..9df6dde --- /dev/null +++ b/mysqldumper/sql.php @@ -0,0 +1,1175 @@ +$v) { $_REQUEST[$g]=my_strip_tags($v);} + +$download=(isset($_POST['f_export_submit']) && (isset($_POST['f_export_sendresult']) && $_POST['f_export_sendresult']==1)); +if (!$download) +{ + echo MSDHeader(0,""); + ReadSQL(); + echo ''; +} + +//Variabeln +$tdcompact=(isset($_GET['tdc'])) ? $_GET['tdc'] : $config['interface_table_compact']; + +$mysql_help_ref='http://dev.mysql.com/doc/mysql/'.$config['language'].'/index.html'; +$mysql_errorhelp_ref='http://dev.mysql.com/doc/mysql/'.$config['language'].'/error-handling.html'; + +$no_order=false; +$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($_GET['limitstart'])) ? 0 : $_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'])) : ""; +$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; + +//v($_REQUEST); + +//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']); #substr_count(substr($sql['sql_statement'],0,strlen($sql['sql_statement'])-1),";"); + +//if($Anzahl_SQLs==0 && (substr(strtoupper($sql['sql_statement']),0,6)=="SELECT" || substr(strtoupper($sql['sql_statement']),0,4)=="SHOW" )) +$sql_to_display_data=sqlReturnsRecords($sql['sql_statement']); + +if($Anzahl_SQLs>0) $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']; + +//MySQL verbinden +MSD_mysql_connect(); + +mysql_select_db($db,$config['dbconnection']); + +///*** EDIT / UPDATES / INSERTS ***/// +///*** ***/// + +//Datensatz editieren +if(isset($_POST['update'])) { + GetPostParams(); + $f=explode("|",$_POST['feldnamen']); + $sqlu='Update `'.$tablename.'` Set '; + for($i=0;$i'; +} +//Datensatz einfügen +if(isset($_POST['insert'])) { + GetPostParams(); + $f=explode("|",$_POST['feldnamen']); + $sqlu='Insert into `'.$tablename.'` Set '; + for($i=0;$i'; +} + +if(isset($_POST['cancel'])) GetPostParams(); + + + + +//Tabellenansicht +$showtables=(substr(strtoupper($sql['sql_statement']),0,5)=="SHOW ") ? 1 : 0; +$tabellenansicht=(substr(strtoupper($sql['sql_statement']),0,10)=="SHOW TABLE") ? 1 : 0; + + +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.='

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

    '; + +if($search==0) //$context==0) +{ + echo $aus;$aus=''; + include('./sqlbrowser/sqlbox.php'); + + if(isset($_GET['mode']) && $context==0) + { + if(isset($_GET['recordkey'])) $rk=stripslashes(urldecode($_GET['recordkey'])); + if(isset($_GET['tablename'])) $tablename=$_GET['tablename']; + + if($_GET['mode']=="kill") + { + + if($showtables==0) + { + $sqlk= "DELETE FROM `$tablename` WHERE ".$rk; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $aus.='

    '.$lang['sql_recorddeleted'].'

    '; + } + else + { + $sqlk= "Drop Table `$rk`"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $aus.='

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

    '; + } + } + if($_GET['mode']=="empty") + { + + if($showtables==0) + { + + } + else + { + $sqlk= "TRUNCATE `$rk`"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $aus.='

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

    '; + } + } + if($_GET['mode']=="emptyk") + { + if($showtables==0) + { + + } + else + { + $sqlk= "TRUNCATE `$rk`;"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $sqlk= "ALTER TABLE `$rk` AUTO_INCREMENT=1;"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $aus.='

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

    '; + } + } + if($_GET['mode']=="edit") + { + $aus.='

    '.$lang['sql_recordedit'].' '.$rk.'

    '; + $sqledit="Select * from `$tablename` where $rk"; + + $res=MSD_query($sqledit) or die(SQLError($sqledit,mysql_error())); + $aus.='
    '; + $aus.=''; + $row=mysql_fetch_row($res); + $aus.=''; + $feldnamen=""; + for($x=0; $xname.'|'; + $aus.=''; + $aus.= ''; //'.$str->type.' + } + + $aus.=''; + $aus.='
    '.$str->name.''; + if($str->type=='blob') + $aus.=''; + else + $aus.=''; + $aus.=' 
          
    '.FormHiddenParams().'
    '; + } + if($_GET['mode']=="new") + { + $aus.='

    '.$lang['sql_recordnew'].'

    '; + $sqledit="SHOW FIELDS FROM `$tablename`"; + $res=MSD_query($sqledit) or die(SQLError($sqledit,mysql_error())); + $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('inc/sql_dataview.php'); + + if ($context==1) + { + //SQL-Strings + echo $aus.='

    '.$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'.$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
    '; + echo ''; + echo ''; + } + } + if(isset($_GET['new'])) + { + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + echo ' + + '; + } + echo '
    PositionNameSQL'.$lang['command'].'
    '.($i+1).''; + echo '
    +
    +
    '.($i+1).''; + echo '
    '.$lang['sql_library'].'
    '; + echo '
    '; + + } + + if ($context==2) + { + //Tabellen + echo $aus.'
    '.$lang['sql_tablesofdb'].' `'.$databases['Name'][$dbid].'` '.$lang['sql_edit'].'
    '; + if(isset($_GET['kill'])) + { + if($_GET['anz']==1) echo '

    '.$lang['sql_nofielddelete'].'

    '; + else + { + $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_GET['tablename']."` DROP COLUMN `".$_GET['kill']."`"; + MSD_DoSQL($sql_alter); + echo '
    '; + echo '

    '.$lang['sql_fielddelete1'].' `'.$_GET['kill'].'` '.$lang['sql_deleted'].'.

    '.highlight_sql($out).'
    '; + } + } + if(isset($_POST['tablecopysubmit'])) + { + $table_edit_name=$_GET['tablename']; + if($_POST['tablecopyname']=="") + { + echo '

    '.$lang['sql_nodest_copy'].'

    '; + } + elseif(Table_Exists($databases['Name'][$dbid],$_POST['tablecopyname'])) + { + echo '

    '.$lang['sql_desttable_exists'].'

    '; + } + else + { + Table_Copy("`".$databases['Name'][$dbid]."`.`".$table_edit_name."`",$_POST['tablecopyname'],$_POST['copyatt']); + echo '
    '; + echo ($_POST['copyatt']==0) ? '

    '.sprintf($lang['sql_scopy'],$table_edit_name,$_POST['tablecopyname']).'.

    ' : sprintf($lang['sql_tcopy'],$table_edit_name,$_POST['tablecopyname']).'

    '; + echo highlight_sql($out).'
    '; + $tablename=$_POST['tablecopyname']; + } + } + if(isset($_POST['newtablesubmit'])) + { + if($_POST['newtablename']=="") { + echo '

    '.$lang['sql_tablenoname'].'

    '; + } else { + $sql_alter="CREATE TABLE `".$databases['Name'][$dbid]."`.`".$_POST['newtablename']."` (`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY ) ".((MSD_NEW_VERSION) ? "ENGINE" : "TYPE")."=MyISAM;"; + MSD_DoSQL($sql_alter); + echo SQLOutput($out,$lang['table'].' `'.$_POST['newtablename'].'` '.$lang['sql_created']); + } + } + if(isset($_POST['t_edit_submit'])) { + $sql_alter="ALTER TABLE `".$databases['Name'][$dbid]."`.`".$_POST['table_edit_name']."` "; + if($_POST['t_edit_name']=="") + echo '

    '.$lang['sql_tblnameempty'].'

    '; + elseif(MSD_NEW_VERSION && $_POST['t_edit_collate']!="" && substr($_POST['t_edit_collate'],0,strlen($_POST['t_edit_charset']))!=$_POST['t_edit_charset']) + echo '

    '.$lang['sql_collatenotmatch'].'

    '; + else { + if($_POST['table_edit_name']!=$_POST['t_edit_name']) { + $sql_alter.="RENAME TO `".$_POST['t_edit_name']."`, "; + $table_edit_name=$_POST['t_edit_name']; + } else $table_edit_name=$_POST['table_edit_name']; + if($_POST['t_edit_engine']!="") $sql_alter.=((MSD_NEW_VERSION) ? "ENGINE=" : "TYPE=").$_POST['t_edit_engine'].", "; + if($_POST['t_edit_rowformat']!="") $sql_alter.="ROW_FORMAT=".$_POST['t_edit_rowformat'].", "; + if(MSD_NEW_VERSION && $_POST['t_edit_charset']!="") $sql_alter.="DEFAULT CHARSET=".$_POST['t_edit_charset'].", "; + if(MSD_NEW_VERSION && $_POST['t_edit_collate']!="") $sql_alter.="COLLATE ".$_POST['t_edit_collate'].", "; + $sql_alter.="COMMENT='".$_POST['t_edit_comment']."' "; + + MSD_DoSQL($sql_alter); + echo SQLOutput($out,$lang['table'].' `'.$_POST['table_edit_name'].'` '.$lang['sql_changed']); + } + } else { + if(!isset($table_edit_name) || $table_edit_name=="") { + $table_edit_name=(isset($_GET['tablename'])) ? $_GET['tablename'] : ""; + if(isset($_POST['tableselect'])) $table_edit_name=$_POST['tableselect']; + if(isset($_POST['newtablesubmit'])) $table_edit_name=$_POST['newtablename']; + } + } + if(isset($_POST['newfield_posted'])) { + //build sql for alter + if($_POST['f_name']=="") { + echo '

    '.$lang['sql_fieldnamenotvalid'].' ('.$_POST['f_name'].')

    '; + $field_fehler=1; + } else { + //alter Key + $oldkeys[0]=$_POST['f_primary']; + $oldkeys[1]=$_POST['f_unique']; + $oldkeys[2]=$_POST['f_index']; + $oldkeys[3]=$_POST['f_fulltext']; + //neuer Key + $newkeys[0]=($_POST['f_index_new']=="primary")? 1 : 0; + $newkeys[1]=($_POST['f_index_new']=="unique")? 1 : 0; + $newkeys[2]=($_POST['f_index_new']=="index")? 1 : 0; + $newkeys[3]=(isset($_POST['f_indexfull'])) ? 1 : 0; + + $add_sql.=ChangeKeys($oldkeys,$newkeys,$_POST['f_name'],$_POST['f_size'],"drop_only"); + + $sql_stamm="ALTER TABLE `".$databases['Name'][$dbid]."`.`$table_edit_name` "; + $sql_alter=$sql_stamm.((isset($_POST['editfield'])) ? "CHANGE COLUMN `".$_POST['fieldname']."` `".$_POST['f_name']."` " : "ADD COLUMN `".$_POST['f_name']."` "); + $sql_alter.=$_POST['f_type']; + $wl=stripslashes($_POST['f_size']); + if($wl!="" && !preg_match('@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT)$@i', $_POST['f_type'])) { + $sql_alter.="($wl) "; + } elseif ($_POST['f_size']=="" && preg_match('@^(VARCHAR)$@i', $_POST['f_type'])) { + $sql_alter.="("."255".") "; + } else $sql_alter.=" "; + $sql_alter.=$_POST['f_attribut']." "; + $sql_alter.=$_POST['f_null']." "; + $sql_alter.=($_POST['f_default']!="") ? "DEFAULT '".$_POST['f_default']."' " :""; + + if(MSD_NEW_VERSION && $_POST['f_collate']!="") $sql_alter.="COLLATE ".$_POST['f_collate']." "; + + if($_POST['f_extra']=="AUTO_INCREMENT") { + $sql_alter.=" AUTO_INCREMENT "; + } + if($newkeys[0]==1) $sql_alter.=" PRIMARY KEY "; + if($newkeys[1]==1) $sql_alter.=" UNIQUE INDEX "; + if($newkeys[2]==1) $sql_alter.=" INDEX "; + if($newkeys[3]==1) $sql_alter.=" FULLTEXT INDEX "; + + $sql_alter.=$_POST['f_position']." ;"; + + if($add_sql!="") { + $add_sql=$sql_stamm.$add_sql; + $sql_alter="$sql_alter;\n$add_sql;\n"; + } + MSD_DoSQL($sql_alter); + + echo '
    '; + echo '

    `'.$_POST['f_name'].'` '.((isset($_POST['editfield'])) ? $lang['sql_changed'] : $lang['sql_created']).'.

    '; + echo highlight_sql($out).'
    '; + $fields_infos=FillFieldinfos($databases['Name'][$dbid],$table_edit_name); + } + } + mysql_select_db($databases['Name'][$dbid]); + $sqlt="SHOW TABLE STATUS FROM `".$databases['Name'][$dbid]."` ;"; + $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); + $anz_tabellen=mysql_numrows($res); + $p="sql.php?db=".$databases['Name'][$dbid]."&dbid=$dbid&tablename=$table_edit_name&context=2"; + + echo '
    '; + echo ''; + echo '
    '.$lang['new'].' '.$lang['sql_createtable'].':
    '.$lang['sql_copytable'].':
    '; + + echo ''; + + if($anz_tabellen==0) { + echo ''; + } else { + + + echo ''; + echo ''; + echo ''; + } + echo '
    '.$lang['sql_notablesindb'].' `'.$databases['Name'][$dbid].'`
    '.$lang['sql_selecttable'].':     

     

    '; + if($table_edit_name!="") { + + $sqlf="SHOW FULL FIELDS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name` ;"; + $res=MSD_query($sqlf) or die(SQLError($sqlf,mysql_error())); + $anz_fields=mysql_num_rows($res); + + //Array füllen + + $fields_infos=FillFieldinfos($databases['Name'][$dbid],$table_edit_name); + + if(MSD_NEW_VERSION) + $t_engine=(isset($fields_infos['_tableinfo_']['ENGINE'])) ? $fields_infos['_tableinfo_']['ENGINE'] : "MyISAM"; + else + $t_engine=(isset($fields_infos['_tableinfo_']['TYPE'])) ? $fields_infos['_tableinfo_']['TYPE'] : "MyISAM"; + $t_charset=(isset($fields_infos['_tableinfo_']['DEFAULT CHARSET'])) ? $fields_infos['_tableinfo_']['DEFAULT CHARSET'] : ""; + $t_collation=isset($row['Collation']) ? $row['Collation'] : ""; //(isset($fields_infos['_tableinfo_']['COLLATE'])) ? $fields_infos['_tableinfo_']['COLLATE'] : ""; + $t_comment=(isset($fields_infos['_tableinfo_']['COMMENT'])) ? substr($fields_infos['_tableinfo_']['COMMENT'],1,strlen($fields_infos['_tableinfo_']['COMMENT'])-2) : ""; + $t_rowformat=(isset($fields_infos['_tableinfo_']['ROW_FORMAT'])) ? $fields_infos['_tableinfo_']['ROW_FORMAT'] : ""; + + echo "
    Tabelle `$table_edit_name`
    "; + $td=''; + + + //Tabelleneigenschaften + echo '
    '; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
    '.$lang['sql_tblpropsof'].' `'.$table_edit_name.'` ('.$anz_fields.' '.$lang['fields'].')Name
    Engine
    Row Format
    '.$lang['charset'].'
    '.$lang['collation'].'
    '.$lang['comment'].'
     

     

    '; + + $field_fehler=0; + echo '
    Felder der Tabelle `'.$table_edit_name.'`
    '; + + $d_collate=''; + $d_comment=''; + + if(isset($_GET['newfield']) || isset($_GET['editfield']) || $field_fehler>0 || isset($_POST['newfield_posted'])) { + if(isset($_GET['editfield'])) $id=$_GET['editfield']; + $d_name=(isset($_GET['editfield'])) ? $fields_infos[$id]['name'] : ""; + $d_type=(isset($_GET['editfield'])) ? $fields_infos[$id]['type'] : ""; + $d_size=(isset($_GET['editfield'])) ? $fields_infos[$id]['size'] : ""; + $d_null=(isset($_GET['editfield'])) ? $fields_infos[$id]['null'] : ""; + $d_attribute=(isset($_GET['editfield'])) ? $fields_infos[$id]['attribut'] : ""; + $d_default=(isset($_GET['editfield'])) ? substr($fields_infos[$id]['default'],1,strlen($fields_infos[$id]['default'])-2) : ""; + $d_extra=(isset($_GET['editfield'])) ? $fields_infos[$id]['extra'] : ""; + + $d_primary=$d_unique=$d_index=$d_fulltext=0; + if (isset($id)) + { + if (isset($fields_infos[$id]['collate'])) $d_collate=(isset($_GET['editfield'])) ? $fields_infos[$id]['collate'] : ""; + if (isset($fields_infos[$id]['comment'])) $d_comment=(isset($_GET['editfield'])) ? $fields_infos[$id]['comment'] : ""; + } + $d_privileges=(isset($_GET['editfield'])) ? $fields_infos[$id]['privileges'] : ""; + if(isset($_GET['editfield'])) { + $d_primary=(isset($fields_infos['_primarykey_']) && $fields_infos['_primarykey_']==$fields_infos[$id]['name']) ? 1 : 0; + if(isset($fields_infos['_key_'])) { + for($i=0;$i'; + if (isset($_GET['editfield'])) echo ''; + if(isset($_POST['newtablesubmit'])) echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + + echo ''; + echo ''; + echo '
    '.((isset($_GET['editfield'])) ? $lang['sql_editfield']." `".$d_name."`" : $lang['sql_newfield']).'
    Name
    Type
    Size '.$lang['sql_enumsethelp'].'
    NULL
    Default
    Extra
    '.$lang['sql_indexes'].'
    '; + echo 'No Index '; + echo 'Primary Key '; + echo 'Unique Index '; + echo 'Index '; + echo 'Fulltext Index 
    '.$lang['collation'].'
    '.$lang['sql_attributes'].'
    '.$lang['sql_atposition'].':

     

    '; + } else + echo ''.$lang['sql_insertnewfield'].'

    '; + + //Felder ausgeben + echo ''; + for($i=0;$i<$anz_fields;$i++) { + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + if($i==0) echo ''; + echo ''; + echo ''; + echo ''.$td.$fields_infos[$i]['extra'].''; + echo ''; + } + echo '
     FieldTypeSizeNULLKeyAttributeDefaultExtraSortierung
    '; + echo 'edit field  '; + echo 'delete field  '; + + echo ''.$fields_infos[$i]['name'].''.$fields_infos[$i]['type'].''.$fields_infos[$i]['size'].''.$fields_infos[$i]['null'].''; + //key + if($fields_infos['_primarykey_']==$fields_infos[$i]['name']) echo 'Primary Key'; + if(isset($fields_infos['_fulltextkey_'])) { + for($ii=0;$ii'; break; + } + } + } + if(isset($fields_infos['_uniquekey_'])) { + for($ii=0;$ii'; break; + } + } + } + if(isset($fields_infos['_key_'])) { + for($ii=0;$ii".$fields_infos['_key_'][$ii]['columns'].""; + if($fields_infos['_key_'][$ii]['name']==$fields_infos[$i]['name']) { + echo 'Index'; break; + } + } + } + echo ''.$fields_infos[$i]['attribut'].''.$fields_infos[$i]['default'].''.((MSD_NEW_VERSION) ? $fields_infos[$i]['collate'] : " ").'

    '; + + echo '
    '.$lang['sql_tableindexes'].' `'.$table_edit_name.'`
    '; + echo ''.((MSD_NEW_VERSION) ? '' : '').''; + $sqlk="SHOW KEYS FROM `".$databases['Name'][$dbid]."`.`$table_edit_name`;"; + $res=MSD_query($sqlk) or die(SQLError($sqlk,mysql_error())); + $num=mysql_numrows($res); + if($num==0) { + echo ''; + } else { + for($i=0;$i<$num;$i++) { + $row=mysql_fetch_array($res); + $cl= ($i % 2) ? "dbrow" : "dbrow1"; + //Images + echo ''; + echo ''; + if(MSD_NEW_VERSION) echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + } + echo '
     Index-NameTyp'.$lang['sql_allowdups'].''.$lang['sql_cardinality'].'Spalten
    '.$lang['sql_tablenoindexes'].'
      '.$row['Key_name'].''.$row['Index_type'].''.(($row['Non_unique']==1) ? $lang['yes']: $lang['no']).''.(($row['Cardinality']>=0) ? $row['Cardinality'] : "keine").''.$row['Column_name'].'

    '; + + /*echo "
    "; + echo '
    ';print_r($fields_infos);echo '
    ';*/ + } + + } + + if ($context==3) + { + get_sql_encodings(); + + //Datenbanken + if(isset($_GET['dbrefresh'])) SetDefault(); + + echo $aus."

    Tools

    "; + if(isset($_POST['dbdosubmit'])) { + $newname=$_POST['newname']; + $db_index=$_POST['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'])) + { + $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) or die(SQLError($sqlc,mysql_error())); + echo $lang['db']." `$newname` ".$lang['sql_wascreated'].".
    "; + SetDefault(); + include ($config['files']['parameter']); + echo ''; + + } + } + $db_action=$newname="";$db_index=-1; + for($i=0;$i
    '; + 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' : ''; + echo ''; + echo ''; + } + + echo '
    '.$lang['dbs'].''.$lang['sql_actions'].'
    '.$databases['Name'][$i].''; + echo '  '; + echo "\n\n".'  '; + + echo '  
    '; + + + } + if ($context==4) { + //Im-/Export + $import=(isset($_GET['import'])) ? 1 : 0; + if($import==1) { + //IMPORT + CheckcsvOptions(); + if(isset($_POST['f_import_csvtrenn'])) $sql['import']['trenn']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_import_csvtrenn']) : $_POST['f_import_csvtrenn']; + if(isset($_POST['f_import_csvenc'])) $sql['import']['enc']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_import_csvenc']) : $_POST['f_import_csvenc']; + if(isset($_POST['f_import_csvesc'])) $sql['import']['esc']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_import_csvesc']) : $_POST['f_import_csvesc']; + if (empty($sql['import']['endline'])) { + $sql['import']['endline']=$nl; + } else { + $sql['import']['endline']= str_replace('\\r', "\015",$sql['import']['endline']); + $sql['import']['endline'] = str_replace('\\n', "\012",$sql['import']['endline']); + $sql['import']['endline']= str_replace('\\t', "\011",$sql['import']['endline']); + } + $sql['import']['endline']= str_replace('\\t', "\011",$sql['import']['endline']); + if(isset($_POST['f_import_csvnull'])) $sql['import']['null']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_import_csvnull']) : $_POST['f_import_csvnull']; + $sql['import']['namefirstline']=(isset($_POST['f_import_namefirstline'])) ? $_POST['f_import_namefirstline'] : 0; + $sql['import']['emptydb']=(isset($_POST['import_emptydb'])) ? 1:0; + $sql['import']['createindex']=(isset($_POST['import_createindex'])) ? 1:0; + $sql['import']['table']=(isset($_POST['import_table'])) ? $_POST['import_table'] : ""; + $sql['import']['import_source']=isset($_POST['import_source']) ? $_POST['import_source'] : 0; + $sql['import']['text']=isset($_POST['import_text']) ? (($config['magic_quotes_gpc']) ? stripslashes($_POST['import_text']) : $_POST['import_text']) : ""; + $sql['import']['csv']=""; + + if(isset($_POST['do_import'])) { + + $sql['import']['tablecreate']=0; + if($sql['import']['table']=="new") { + $sql['import']['table']="import_"; + $sql['import']['tablecreate']=1; + } + if($sql['import']['table']=="") { + $aus.=''.$lang['import_notable'].''; + } else { + if($_POST['import_source']==0) { + //Import aus textbox + $sql['import']['csv']=explode($sql['import']['endline'],$sql['import']['text']); + + } else { + if (!isset($_FILES['upfile']['name']) || empty($_FILES['upfile']['name'])) { + $aus.=''.$lang['fm_uploadfilerequest'].''; + } else { + $fn=$_FILES['upfile']['tmp_name']; + + $sql['import']['csv']=(substr($_FILES['upfile']['name'],-3)==".gz") ? gzfile($fn) : file($fn); + $sql['import']['text']=implode("",$sql['import']['csv']); + $aus.=''.$lang['sql_uploadedfile'].''.$_FILES['upfile']['name'].'   '.byte_output(filesize($_FILES['upfile']['tmp_name'])).''; + + } + } + if(is_array($sql['import']['csv'])) + $aus.=DoImport(); + else + $aus.='
    '.$lang['csv_nodata'].''; + + } + } + $impaus=$aus; + + $impaus.='
    '.$nl; + $impaus.= ''; + $impaus.= ''.$lang['export'].''; + $impaus.= '
    '.sprintf($lang['sql_import'],$databases['Name'][$dbid]).'
    '; + $impaus.= ''.$nl; + + $impaus.= ''; + + $impaus.=''; + + $impaus.=''; + + $impaus.= '
    '.$nl; + $impaus.= $lang['importoptions'].''.$lang['csvoptions'].'
    '.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= '
    '.$lang['importtable'].'
    '.$lang['importsource'].''.$lang['fromtextbox'].'
    '.$nl; + $impaus.= ''.$lang['fromfile'].'
    '.$lang['emptytablebefore'].'
    '.$lang['createautoindex'].'
    '.$nl; + + + $impaus.= '
    '.$nl; + + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= ''.$nl; + $impaus.= '
    '.$lang['csv_namefirstline'].'
    '.$lang['csv_fieldseperate'].'
    '.$lang['csv_fieldsenclosed'].'
    '.$lang['csv_fieldsescape'].'
    '.$lang['csv_eol'].'
    '.$lang['csv_null'].'
    '.$nl; + + $impaus.= '
    '.$lang['csv_fileopen'].':   + '; + $impaus.='
    '.$nl; + + + + $impaus.= '

     

    '.$lang['import'].':
    '.$nl; + + $impaus.= ''.$nl; + + echo $impaus.$nl; + + } else { + //EXPORT + $tables=0;$tblstr=""; + $sql['export']['db']=$db; + + if(isset($_POST['f_export_submit'])) { + //echo '
    '.print_r($_POST,true).'

    '; + $sql['export']['header_sent']=""; + $sql['export']['lines']=0; + $sql['export']['format']=$_POST['f_export_format']; + $sql['export']['ztrenn']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_export_csvztrenn']) : $_POST['f_export_csvztrenn']; + $sql['endline']['ztrenn']=$sql['export']['ztrenn']; + if($sql['export']['format']==0) { + //CSV + $format=0; + $sql['export']['trenn']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_export_csvtrenn']) : $_POST['f_export_csvtrenn']; + $sql['export']['enc']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_export_csvenc']) : $_POST['f_export_csvenc']; + $sql['export']['esc']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_export_csvesc']) : $_POST['f_export_csvesc']; + if (empty($sql['export']['endline'])) { + $sql['export']['endline']=$nl; + } else { + $sql['export']['endline']= str_replace('\\r', "\015",$sql['export']['endline']); + $sql['export']['endline'] = str_replace('\\n', "\012",$sql['export']['endline']); + $sql['export']['endline']= str_replace('\\t', "\011",$sql['export']['endline']); + } + $sql['export']['endline']= str_replace('\\t', "\011",$sql['export']['endline']); + } elseif($sql['export']['format']==1) { + //EXCEL + $format=1; + $sql['export']['trenn']=","; + $sql['export']['enc']='"'; + $sql['export']['esc']='"'; + $sql['export']['endline']="\015\012"; + } elseif($sql['export']['format']==3) { + //EXCEL 2003 + $format=1; + $sql['export']['trenn']=";"; + $sql['export']['enc']='"'; + $sql['export']['esc']='"'; + $sql['export']['endline']="\015\012"; + } elseif($sql['export']['format']==4) { + //XML + $format=4; + CheckcsvOptions(); + } elseif($sql['export']['format']==5) { + //HTML + $format=5; + CheckcsvOptions(); + } + if($format<3) $sql['export']['null']=($config['magic_quotes_gpc']) ? stripslashes($_POST['f_export_csvnull'.$format]) : $_POST['f_export_csvnull'.$format]; + $sql['export']['namefirstline']=(isset($_POST['f_export_namefirstline'.$format])) ? $_POST['f_export_namefirstline'.$format] : 0; + + $sql['export']['sendfile']=$_POST['f_export_sendresult']; + $sql['export']['compressed']=(isset($_POST['f_export_compressed'])) ? $_POST['f_export_compressed'] : 0; + + $sql['export']['exportfile']=""; + $sql['export']['xmlstructure']=(isset($_POST['f_export_xmlstructure'])) ? $_POST['f_export_xmlstructure'] : 0; + $sql['export']['htmlstructure']=(isset($_POST['f_export_htmlstructure'])) ? $_POST['f_export_htmlstructure'] : 0; + + //ausgewählte Tabellen + if(isset($_POST['f_export_tables'])) + $sql['export']['tables']=$_POST['f_export_tables']; + + } else CheckcsvOptions(); + + //Tabellenliste + $sqlt="SHOW TABLE STATUS FROM `$db`"; + $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); + if($res) { + $sql['export']['tablecount']=mysql_numrows($res); + $sql['export']['recordcount']=0; + for($i=0;$i<$sql['export']['tablecount'];$i++) { + $row = mysql_fetch_array($res); + $tblstr.=''."\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(); + } + } + } +} + +if ($search==1) +{ + include('./sqlbrowser/mysql_search.php'); + echo $aus; // Suchergebnisse anzeigen +} + +?> + +

    '; +echo MSDFooter(); + +function FormHiddenParams() +{ + global $db,$dbid,$tablename,$context,$limitstart,$order,$orderdir; + + $s=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + $s.=''; + return $s; +} + +?> diff --git a/mysqldumper/sqlbrowser/mysql_search.php b/mysqldumper/sqlbrowser/mysql_search.php new file mode 100644 index 0000000..858c783 --- /dev/null +++ b/mysqldumper/sqlbrowser/mysql_search.php @@ -0,0 +1,308 @@ +count($tables)-1) $table_selected=0; + +$offset=(isset($_POST['offset'])) ? intval($_POST['offset']):0; + +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: 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") + { + $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=''; + $_SESSION['mysql_search']['suchart']=''; + $table_selected=0; + $_SESSION['mysql_search']['table_selected']=0; +} +$max_treffer=20; +$treffer=mysql_search($db,$table_selected,$suchbegriffe,$suchart,$offset,$max_treffer+1); +$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.='