echo '<form action="filemanagement.php?action=restore&kind=0" method="POST">'; echo '<table><tr><td>' . $lang['L_FM_CHOOSE_ENCODING'] . ':</td><td>'; echo '<select name="sel_dump_encoding_restore">'; echo make_options($config['mysql_possible_character_sets'], $dump['sel_dump_encoding']); echo '</select></td></tr><tr><td>'; echo $lang['L_MYSQL_CONNECTION_ENCODING'] . ':</td><td><strong>' . $config['mysql_standard_character_set'] . '</strong></td></tr>'; echo '<tr><td colspan="2"><br><input type="submit" name="restore" class="Formbutton" value="' . $lang['L_FM_RESTORE'] . '">'; echo '<input type="hidden" name="file[0]" value="' . $file . '">'; echo '</td></tr></table></form></body></html>'; exit; } else { $dump_encoding = $statusline['charset']; } } $databases['db_actual_tableselected'] = ""; WriteParams(); echo '<script language="JavaScript" type="text/javascript">parent.MySQL_Dumper_content.location.href="restore.php?filename=' . $file . '&dump_encoding=' . $dump_encoding . '&kind=' . $kind . '";</script></body></html>'; exit; } } else { $msg .= '<p class="error">' . $lang['L_FM_NOFILE'] . '</p>'; } } //*** Abfrage ob Delete *** $del = array(); if (isset($_POST['delete'])) { if (isset($_POST['file'])) { $delfiles = array(); for ($i = 0; $i < count($_POST['file']); $i++) { if (!strpos($_POST['file'][$i], "_part_") === false) { $delfiles[] = substr($_POST['file'][$i], 0, strpos($_POST['file'][$i], "_part_") + 6) . '*';
function SetDefault($load_default = false) { global $config, $databases, $nl, $out, $lang, $preConfig; if ($load_default == true) { if (file_exists($config['files']['parameter']) && is_readable($config['files']['parameter'])) { include $config['files']['parameter']; } // alte Config lesen } $restore_values = array(); $restore_values['cron_dbindex'] = isset($config['cron_dbindex']) ? $config['cron_dbindex'] : -3; $restore_values['cron_dbpraefix_array'] = isset($config['cron_dbpraefix_array']) ? $config['cron_dbpraefix_array'] : ''; if ($restore_values['cron_dbindex'] >= 0 && isset($databases['Name'][$config['cron_dbindex']])) { // Ja, Namen merken, um spaeter den Index wieder herzustellen $restore_values['db_actual_cron'] = $databases['Name'][$config['cron_dbindex']]; } $restore_values['db_actual'] = isset($databases['db_actual']) ? $databases['db_actual'] : ''; $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"; } $oldVals = array(); // Zuordnung nach Namen der Db zwischenspeichern, um Eingaben nicht zu verlieren if (isset($databases) && isset($databases['Name'])) { foreach ($databases['Name'] as $k => $v) { if (!isset($oldVals[$k])) { $oldVals[$v] = array(); } $oldVals[$v]['praefix'] = $databases['praefix'][$k]; $oldVals[$v]['command_before_dump'] = $databases['command_before_dump'][$k]; $oldVals[$v]['command_after_dump'] = $databases['command_after_dump'][$k]; } } $oldDbArray = array(); if (isset($databases['Name'])) { $oldDbArray = $databases['Name']; } $databases['Name'] = array(); $found_dbs = array(); //DB-Liste holen MSD_mysql_connect(); $res = mysqli_query($config['dbconnection'], 'SHOW DATABASES'); while ($row = mysqli_fetch_row($res)) { $found_dbs[] = $row[0]; } $found_dbs = array_merge($oldDbArray, $found_dbs); $found_dbs = array_unique($found_dbs); sort($found_dbs); // now check each db $a = 0; for ($i = 0; $i < count($found_dbs); $i++) { $found_db = $found_dbs[$i]; $use = @(bool) mysqli_query($GLOBALS["___mysqli_ston"], "USE " . $found_db); if ($use) { 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] = ""; if (isset($oldVals[$found_db])) { $databases['praefix'][$a] = $oldVals[$found_db]['praefix']; $databases['command_before_dump'][$a] = $oldVals[$found_db]['command_before_dump']; $databases['command_after_dump'][$a] = $oldVals[$found_db]['command_after_dump']; } $out .= $lang['L_SAVING_DB_FORM'] . " " . $found_db . " " . $lang['L_ADDED'] . "{$nl}"; $a++; } } if (!isset($databases['db_selected_index'])) { $databases['db_selected_index'] = 0; $databases['db_actual'] = $databases['Name'][0]; } WriteParams(1, $restore_values); if ($load_default === true) { WriteLog("default settings loaded."); } return $out; }
//*** Abfrage ob Restore *** //-------------------------------------------------------- if (isset($_POST['restore'])) { if (isset($_POST['file'])) { if (file_exists($config['paths']['log'] . "restore.tmp")) { @unlink($config['paths']['log'] . "restore.tmp"); } if (isset($_POST['tblfrage']) && $_POST['tblfrage'] == 1) { //Tabellenabfrage $tblfrage_refer = "restore"; $filename = urldecode($_POST['file'][0]); include "inc/tabellenabfrage.php"; exit; } else { $databases['db_actual_tableselected'] = ""; WriteParams(1, $config, $databases); echo '<script language="JavaScript">parent.MySQL_Dumper_content.location.href="restore.php?filename=' . $_POST['file'][0] . '&kind=' . $kind . '";</script>'; } } else { $msg .= '<p class="error">' . $lang['fm_nofile'] . '</p>' . 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) {
$anzahl_datenbanken=sizeof($databases['Name']); if (sizeof($databases['praefix']) > $anzahl_datenbanken) { for ($i=sizeof($databases['praefix']); $i >= $anzahl_datenbanken; $i--) { unset($databases['praefix'][$i]); unset($databases['command_before_dump'][$i]); unset($databases['command_after_dump'][$i]); } if ($databases['db_selected_index'] >= $anzahl_datenbanken) $databases['db_selected_index']=0; } // und wegschreiben if ($save_config) { if (WriteParams(false) == true) { //neue Sprache? Dann Menue links auch aktualisieren if ($_SESSION['config']['language'] != $config['language'] || $_POST['scaption_old'] != $config['interface_server_caption'] || $oldtheme != $config['theme'] || $oldscposition != $config['interface_server_caption_position']) { $msg.='<script type="text/javascript">parent.MySQL_Dumper_menu.location.href="menu.php?config=' . urlencode($config['config_file']) . '";</script>'; if (isset($_POST['cron_savepath_new']) && $_POST['cron_savepath_new'] > '') $msg.='<p class="success">' . $lang['L_SUCCESS_CONFIGFILE_CREATED'] . '</p>'; } //Parameter laden read_config($config['config_file']); if ($config['logcompression'] != $oldlogcompression) DeleteLog(); $msg.='<p class="success">' . sprintf($lang['L_SAVE_SUCCESS'],$config['config_file']) . '</p>'; $msg.='<script type="text/javascript" language="javascript">parent.MySQL_Dumper_menu.location.href="menu.php?config=' . $config['config_file'] . '";</script>'; } else $msg.='<p class="error">' . $lang['L_SAVE_ERROR'] . '</p>';
if (isset($_POST['dbindex'])) { $dbindex = intval($_POST['dbindex']); $databases['db_selected_index'] = $dbindex; $databases['db_actual'] = $databases['Name'][$dbindex]; SelectDB($dbindex); WriteParams(0); $tpl->assign_block_vars('DB_REFRESH', array()); } else { $dbindex = 0; } if (isset($_GET['dbindex'])) { $dbindex = intval($_GET['dbindex']); $databases['db_selected_index'] = $dbindex; $databases['db_actual'] = $databases['Name'][$dbindex]; SelectDB($dbindex); WriteParams(0); } if (isset($databases['Name']) && count($databases['Name']) > 0) { $tpl->assign_block_vars('MAINTENANCE', array()); $tpl->assign_vars(array('DB_ACTUAL' => $databases['db_actual'], 'DB_SELECTED_INDEX' => $databases['db_selected_index'])); } $tpl->assign_var('GET_FILELIST', get_config_filelist()); if (isset($databases['Name']) && count($databases['Name']) > 0) { $tpl->assign_block_vars('DB_LIST', array()); $datenbanken = count($databases['Name']); for ($i = 0; $i < $datenbanken; $i++) { $selected = $i == $databases['db_selected_index'] ? ' selected' : ''; $tpl->assign_block_vars('DB_LIST.DB_ROW', array('ID' => $i, 'NAME' => $databases['Name'][$i], 'SELECTED' => $selected)); } } else { $tpl->assign_block_vars('NO_DB_FOUND', array());
function SetDefault($load_default = false) { global $config, $databases, $nl, $out, $lang, $preConfig; if ($load_default == true) { if (file_exists($config['files']['parameter']) && is_readable($config['files']['parameter'])) { include $config['files']['parameter']; } // alte Config lesen } $restore_values = array(); $restore_values['cron_dbindex'] = isset($config['cron_dbindex']) ? $config['cron_dbindex'] : -3; $restore_values['cron_dbpraefix_array'] = isset($config['cron_dbpraefix_array']) ? $config['cron_dbpraefix_array'] : ''; if ($restore_values['cron_dbindex'] >= 0 && isset($databases['Name'][$config['cron_dbindex']])) { // Ja, Namen merken, um spaeter den Index wieder herzustellen $restore_values['db_actual_cron'] = $databases['Name'][$config['cron_dbindex']]; } $restore_values['db_actual'] = isset($databases['db_actual']) ? $databases['db_actual'] : ''; $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"; } $oldVals = array(); // Zuordnung nach Namen der Db zwischenspeichern, um Eingaben nicht zu verlieren if (isset($databases) && isset($databases['Name'])) { foreach ($databases['Name'] as $k => $v) { if (!isset($oldVals[$k])) { $oldVals[$v] = array(); } $oldVals[$v]['praefix'] = $databases['praefix'][$k]; $oldVals[$v]['command_before_dump'] = $databases['command_before_dump'][$k]; $oldVals[$v]['command_after_dump'] = $databases['command_after_dump'][$k]; } } $oldDbArray = array(); if (isset($databases['Name'])) { $oldDbArray = $databases['Name']; } $databases['Name'] = array(); $found_dbs = array(); //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']); while ($row = mysql_fetch_row($res)) { $found_dbs[] = $row[0]; } $found_dbs = array_merge($oldDbArray, $found_dbs); $found_dbs = array_unique($found_dbs); sort($found_dbs); // now check each db $a = 0; for ($i = 0; $i < count($found_dbs); $i++) { $found_db = $found_dbs[$i]; // Testverbindung - Tabelle erstellen, nachschauen, ob es geklappt hat und dann wieder löschen $use = @mysql_select_db($found_db); if ($use) { 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] = ""; if (isset($oldVals[$found_db])) { $databases['praefix'][$a] = $oldVals[$found_db]['praefix']; $databases['command_before_dump'][$a] = $oldVals[$found_db]['command_before_dump']; $databases['command_after_dump'][$a] = $oldVals[$found_db]['command_after_dump']; } $out .= $lang['L_SAVING_DB_FORM'] . " " . $found_db . " " . $lang['L_ADDED'] . "{$nl}"; $a++; } } if (!isset($databases['db_selected_index'])) { $databases['db_selected_index'] = 0; $databases['db_actual'] = $databases['Name'][0]; } WriteParams(1, $restore_values); if ($load_default === true) { WriteLog("default settings loaded."); } return $out; }
function SetDefault($load_default = false) { global $config, $databases, $nl, $out, $lang; //Arrays löschen $i = 0; $old_db = $databases['db_actual']; //unset($databases); $databases['Name'] = array(); $old_lang = $config['language']; if ($load_default == true) { @unlink($config['files']['parameter']); include "./config.php"; $config['language'] = $old_lang; include "./language/" . $config['language'] . "/lang.php"; } //DB-Liste holen MSD_mysql_connect(); $databases['db_selected_index'] = -1; $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']); $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 udn 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 ($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 ($databases['db_selected_index'] == -1) { $databases['db_selected_index'] = 0; $databases['db_actual'] = $databases['Name'][$databases['db_selected_index']]; } else { $databases['db_actual'] = $databases['Name'][$databases['db_selected_index']]; } $databases['db_actual_cronpraefix'] = ""; $databases['db_actual_cronindex'] = $databases['db_selected_index']; WriteParams(1, $config, $databases); if ($load_default == false) { WriteLog("default settings loaded."); } return $out; }
$config['dbsocket'] = $_POST['dbsocket']; if (MSD_mysql_connect()) { SetDefault(); $msg .= '<script language="JavaScript">parent.MySQL_Dumper_menu.location.href="menu.php";</script>'; } 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 .= '<p class="error">' . $lang['wrong_connectionpars'] . '</p>'; } } else { // und wegschreiben if (WriteParams(0, $config, $databases) == 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 .= '<script language="JavaScript">parent.MySQL_Dumper_menu.location.href="menu.php";</script>'; } //Parameter laden include $config['files']['parameter']; if ($config['logcompression'] != $oldlogcompression) { SwitchLogfileFormat(); } $msg .= '<p class="success">' . $lang['save_success'] . '</p>'; } else { $msg .= '<p class="error">' . $lang['save_error'] . '</p>'; } } }