';
return $t;
}
// if new language was selected already before include
if (isset($_POST['save']) && $_POST['language'] != $_POST['lang_old']) {
$config['language'] = $_POST['language'];
$temp_lang = $config['language'];
include_once './inc/header.php'; // Normal prodecure (resets config[language])
$config['language'] = $temp_lang; // re-set language
include './language/lang_list.php'; // This re-initializes $lang[] and loads appropiate language files
} else {
include_once './inc/header.php'; // language not changed, go on as usual
}
include_once './inc/runtime.php';
include_once './inc/functions_sql.php';
include_once './language/'.$config['language'].'/lang_help.php';
include_once './language/'.$config['language'].'/lang_config_overview.php';
include_once './language/'.$config['language'].'/lang_sql.php';
$msg = '';
$sel = (isset($_POST['sel'])) ? $_POST['sel'] : 'db';
if (isset($_GET['sel'])) {
$sel = $_GET['sel'];
}
$old_config_file = $config['config_file'];
if (isset($_GET['config'])) {
unset($databases);
$databases = [];
if (isset($_POST['save'])) {
unset($_POST['save']);
}
if (read_config($_GET['config'])) {
$config['config_file'] = $_GET['config'];
$_SESSION['config_file'] = $config['config_file'];
$msg = ''.sprintf($lang['L_CONFIG_LOADED'], $config['config_file']).' ';
$msg .= '';
} else {
read_config($old_config_file);
$msg = ''.sprintf($lang['L_ERROR_LOADING_CONFIGFILE'], $config['config_file']).'
';
}
}
if (isset($_GET['config_delete'])) {
$del_config = urldecode($_GET['config_delete']);
if ($del_config == $config['config_file']) {
// currently selected configuration was deleted
$config['config_file'] = 'myoosdumper';
$_SESSION['config_file'] = $config['config_file'];
read_config($config['config_file']); // Load standard
}
$del = @unlink($config['paths']['config'].$del_config.'.php');
if ($del) {
$del = @unlink($config['paths']['config'].$del_config.'.conf.php');
}
if (false === $del) {
$msg = ''.sprintf($lang['L_ERROR_DELETING_CONFIGFILE'], $del_config).'
';
} else {
$msg = ''.sprintf($lang['L_SUCCESS_DELETING_CONFIGFILE'], $del_config).'
'.''; //refresh menu-frame
}
$sel = 'configs';
}
include_once './inc/define_icons.php';
$config['files']['parameter'] = $config['paths']['config'].$config['config_file'].'.php';
$config['theme'] = (!isset($config['theme'])) ? 'mod' : $config['theme'];
$config['cron_smtp_port'] = (!isset($config['cron_smtp_port'])) ? 25 : $config['cron_smtp_port'];
if (!isset($command)) {
$command = 0;
}
$checkFTP = [
' ',
' ',
' ',
];
$checkFTP[$i] = '';
$ftptested = -1;
if ((isset($_POST['testFTP0'])) || (isset($_POST['testFTP1'])) || (isset($_POST['testFTP2']))) {
$config['ftp_transfer'] = [];
$config['ftp_timeout'] = [];
$config['ftp_mode'] = [];
$config['ftp_useSSL'] = [];
for ($i = 0; $i < 3; ++$i) {
$config['ftp_transfer'][$i] = (isset($_POST['ftp_transfer'][$i])) ? $_POST['ftp_transfer'][$i] : 0;
$config['ftp_timeout'][$i] = (isset($_POST['ftp_timeout'][$i])) ? $_POST['ftp_timeout'][$i] : 30;
$config['ftp_useSSL'][$i] = (isset($_POST['ftp_useSSL'][$i])) ? $_POST['ftp_useSSL'][$i] : 0;
$config['ftp_mode'][$i] = (isset($_POST['ftp_mode'][$i])) ? 1 : 0;
$config['ftp_server'][$i] = (isset($_POST['ftp_server'][$i])) ? $_POST['ftp_server'][$i] : '';
$config['ftp_port'][$i] = (isset($_POST['ftp_port'][$i])) ? $_POST['ftp_port'][$i] : 21;
$config['ftp_user'][$i] = (isset($_POST['ftp_user'][$i])) ? $_POST['ftp_user'][$i] : '';
$config['ftp_pass'][$i] = (isset($_POST['ftp_pass'][$i])) ? $_POST['ftp_pass'][$i] : '';
$config['ftp_dir'][$i] = (isset($_POST['ftp_dir'][$i])) ? stripslashes($_POST['ftp_dir'][$i]) : '/';
if ('' == $config['ftp_dir'][$i] || (strlen($config['ftp_dir'][$i]) > 1 && '/' != substr($config['ftp_dir'][$i], -1))) {
$config['ftp_dir'][$i] .= '/';
}
if (isset($_POST['testFTP'.$i])) {
$checkFTP[$i] = ''.$lang['L_TESTCONNECTION'].' FTP-Connection '.($i + 1).' '.TesteFTP($i).'
';
$ftptested = $i;
}
}
}
// SFTP
$checkSFTP = [
' ',
' ',
' ',
];
$checkSFTP[$i] = '';
$sftptested = -1;
if ((isset($_POST['testSFTP0'])) || (isset($_POST['testSFTP1'])) || (isset($_POST['testSFTP2']))) {
$config['sftp_transfer'] = [];
$config['sftp_timeout'] = [];
for ($i = 0; $i < 3; ++$i) {
$config['sftp_transfer'][$i] = (isset($_POST['sftp_transfer'][$i])) ? $_POST['sftp_transfer'][$i] : 0;
$config['sftp_timeout'][$i] = (isset($_POST['sftp_timeout'][$i])) ? $_POST['sftp_timeout'][$i] : 30;
$config['sftp_server'][$i] = (isset($_POST['sftp_server'][$i])) ? $_POST['sftp_server'][$i] : '';
$config['sftp_port'][$i] = (isset($_POST['sftp_port'][$i])) ? $_POST['sftp_port'][$i] : 22;
$config['sftp_user'][$i] = (isset($_POST['sftp_user'][$i])) ? $_POST['sftp_user'][$i] : '';
$config['sftp_pass'][$i] = (isset($_POST['sftp_pass'][$i])) ? $_POST['sftp_pass'][$i] : '';
$config['sftp_dir'][$i] = (isset($_POST['sftp_dir'][$i])) ? stripslashes($_POST['sftp_dir'][$i]) : '/';
$config['sftp_path_to_private_key'][$i] = (isset($_POST['sftp_path_to_private_key'][$i])) ? stripslashes($_POST['sftp_path_to_private_key'][$i]) : null;
$config['sftp_secret_passphrase_for_private_key'][$i] = (isset($_POST['sftp_secret_passphrase_for_private_key'][$i])) ? stripslashes($_POST['sftp_secret_passphrase_for_private_key'][$i]) : null;
$config['sftp_fingerprint'][$i] = (isset($_POST['sftp_fingerprint'][$i])) ? stripslashes($_POST['sftp_fingerprint'][$i]) : null;
if ('' == $config['sftp_dir'][$i] || (strlen($config['sftp_dir'][$i]) > 1 && '/' != substr($config['sftp_dir'][$i], -1))) {
$config['sftp_dir'][$i] .= '/';
}
if (isset($_POST['testSFTP'.$i])) {
$checkSFTP[$i] = ''.$lang['L_TESTCONNECTION'].' SFTP-Connection '.($i + 1).' '.TesteSFTP($i).'
';
$sftptested = $i;
}
}
}
$showVP = false;
$oldtheme = $config['theme'] ?? 'mod';
$oldscposition = $config['interface_server_caption_position'] ?? '';
if ($ftptested > -1) {
$ftp_server[$ftptested] = $_POST['ftp_server'][$ftptested];
$ftp_port[$ftptested] = $_POST['ftp_port'][$ftptested];
$ftp_user[$ftptested] = $_POST['ftp_user'][$ftptested];
$ftp_pass[$ftptested] = $_POST['ftp_pass'][$ftptested];
$ftp_dir_s = 'ftp_dir['.$ftptested.']';
$f = $_POST['ftp_dir'];
$ftp_dir[$ftptested] = stripslashes($f[$ftptested]);
// Remember inputs
$config['ftp_transfer'][$ftptested] = (isset($_POST['ftp_transfer'][$ftptested])) ? $_POST['ftp_transfer'][$ftptested] : 0;
$config['sftp'][$ftptested] = (isset($_POST['sftp'][$ftptested])) ? $_POST['sftp'][$ftptested] : 0;
$config['ftp_timeout'][$ftptested] = (isset($_POST['ftp_timeout'][$ftptested])) ? $_POST['ftp_timeout'][$ftptested] : 30;
$config['ftp_useSSL'][$ftptested] = (isset($_POST['ftp_useSSL'][$ftptested])) ? $_POST['ftp_useSSL'][$ftptested] : 0;
$config['ftp_mode'][$ftptested] = (isset($_POST['ftp_mode'][$ftptested])) ? 1 : 0;
$config['ftp_server'][$ftptested] = $ftp_server[$ftptested];
$config['ftp_port'][$ftptested] = $ftp_port[$ftptested];
$config['ftp_user'][$ftptested] = $ftp_user[$ftptested];
$config['ftp_pass'][$ftptested] = $ftp_pass[$ftptested];
$config['ftp_dir'][$ftptested] = $ftp_dir[$ftptested];
if ('' == $ftp_dir[$ftptested] || (strlen($ftp_dir[$ftptested]) > 1 && '/' != substr($ftp_dir[$ftptested], -1))) {
$ftp_dir[$ftptested] .= '/';
}
WriteParams();
}
if ($sftptested > -1) {
$sftp_server[$sftptested] = $_POST['sftp_server'][$sftptested];
$sftp_port[$sftptested] = $_POST['sftp_port'][$sftptested];
$sftp_user[$sftptested] = $_POST['sftp_user'][$sftptested];
$sftp_pass[$sftptested] = $_POST['sftp_pass'][$sftptested];
$sftp_dir_s = 'sftp_dir['.$sftptested.']';
$f = $_POST['sftp_dir'];
$sftp_dir[$sftptested] = stripslashes($f[$sftptested]);
if ('' == $sftp_dir[$sftptested] || (strlen($sftp_dir[$sftptested]) > 1 && '/' != substr($sftp_dir[$sftptested], -1))) {
$sftp_dir[$sftptested] .= '/';
}
$sftp_path_to_private_key[$sftptested] = stripslashes($_POST['sftp_path_to_private_key'][$sftptested]);
$sftp_secret_passphrase_for_private_key[$sftptested] = stripslashes($_POST['sftp_secret_passphrase_for_private_key'][$sftptested]);
$sftp_fingerprint[$sftptested] = stripslashes($_POST['sftp_fingerprint'][$sftptested]);
// Remember inputs
$config['sftp_transfer'][$sftptested] = (isset($_POST['sftp_transfer'][$sftptested])) ? $_POST['sftp_transfer'][$sftptested] : 0;
$config['sftp_timeout'][$sftptested] = (isset($_POST['sftp_timeout'][$sftptested])) ? $_POST['sftp_timeout'][$sftptested] : 30;
$config['sftp_server'][$sftptested] = $sftp_server[$sftptested];
$config['sftp_port'][$sftptested] = $sftp_port[$sftptested];
$config['sftp_user'][$sftptested] = $sftp_user[$sftptested];
$config['sftp_pass'][$sftptested] = $sftp_pass[$sftptested];
$config['sftp_dir'][$sftptested] = $sftp_dir[$sftptested];
$config['sftp_path_to_private_key'][$sftptested] = $sftp_path_to_private_key[$sftptested];
$config['sftp_secret_passphrase_for_private_key'][$sftptested] = $sftp_secret_passphrase_for_private_key[$sftptested];
$config['sftp_fingerprint'][$sftptested] = $sftp_fingerprint[$sftptested];
WriteParams();
}
echo MODHeader();
if (isset($_POST['load'])) {
$msg = SetDefault(true);
$msg = nl2br($msg).' '.$lang['L_LOAD_SUCCESS'].' ';
echo '';
}
if (isset($_POST['save'])) {
$save_config = true;
//Read parameters
$config['multi_dump'] = $_POST['MultiDBDump'] ?? 0;
$config['compression'] = $_POST['compression'] ?? 0;
$config['language'] = $_POST['language'];
$config['interface_server_caption'] = $_POST['server_caption'] ?? 0;
$config['interface_server_caption_position'] = isset($_POST['server_caption_position']) ? $_POST['server_caption_position'] : 0;
$config['interface_sqlboxsize'] = $_POST['sqlboxsize'];
$config['theme'] = $_POST['theme'];
$config['interface_table_compact'] = (isset($_POST['interface_table_compact'])) ? $_POST['interface_table_compact'] : 1;
// if (isset($_POST['selected_config'])) $new_config = $_POST['selected_config'];
if (isset($_POST['email0'])) {
$config['email_recipient'] = $_POST['email0'];
}
if (isset($_POST['email_recipient_cc'])) {
$config['email_recipient_cc'] = $_POST['email_recipient_cc'];
}
if (isset($_POST['email1'])) {
$config['email_sender'] = $_POST['email1'];
}
$config['send_mail'] = isset($_POST['send_mail']) ? $_POST['send_mail'] : 0;
$config['send_mail_dump'] = isset($_POST['send_mail_dump']) ? $_POST['send_mail_dump'] : 0;
if (isset($_POST['email_maxsize1'])) {
$config['email_maxsize1'] = $_POST['email_maxsize1'];
}
if ('' == $config['email_maxsize1']) {
$config['email_maxsize1'] = 0;
}
if (isset($_POST['email_maxsize2'])) {
$config['email_maxsize2'] = $_POST['email_maxsize2'];
}
$config['email_maxsize'] = $config['email_maxsize1'] * ((1 == $config['email_maxsize2']) ? 1024 : 1024 * 1024);
if (isset($_POST['memory_limit'])) {
$config['memory_limit'] = $_POST['memory_limit'];
}
if ('' == $config['memory_limit']) {
$config['memory_limit'] = 0;
}
if (isset($_POST['minspeed'])) {
$config['minspeed'] = $_POST['minspeed'];
}
if ($config['minspeed'] < 5) {
$config['minspeed'] = 5;
}
if (isset($_POST['maxspeed'])) {
$config['maxspeed'] = $_POST['maxspeed'];
}
if ($config['maxspeed'] < $config['minspeed']) {
$config['maxspeed'] = $config['minspeed'] * 2;
}
if (isset($_POST['stop_with_error'])) {
$config['stop_with_error'] = $_POST['stop_with_error'];
}
$config['ignore_enable_keys'] = isset($_POST['ignore_enable_keys']) ? (int) $_POST['ignore_enable_keys'] : 0;
$config['multi_part'] = isset($_POST['multi_part']) ? $_POST['multi_part'] : 0;
if (1 == $config['multi_part']) {
$config['multipartgroesse1'] = isset($_POST['multipartgroesse1']) ? floatval(str_replace(',', '.', $_POST['multipartgroesse1'])) : 0;
$config['multipartgroesse2'] = isset($_POST['multipartgroesse2']) ? intval($_POST['multipartgroesse2']) : 0;
}
if ($config['multipartgroesse1'] < 100 && 1 == $config['multipartgroesse2']) {
$config['multipartgroesse1'] = 100;
}
if ($config['multipartgroesse1'] < 1 && 2 == $config['multipartgroesse2']) {
$config['multipartgroesse1'] = 1;
}
$config['logcompression'] = isset($config['logcompression']) ? $config['logcompression'] : 0;
$oldlogcompression = $config['logcompression'];
$config['logcompression'] = (isset($_POST['logcompression']) && 1 == $_POST['logcompression']) ? 1 : 0;
if (isset($_POST['log_maxsize1'])) {
$config['log_maxsize1'] = $_POST['log_maxsize1'];
}
if ('' == $config['log_maxsize1']) {
$config['log_maxsize1'] = 0;
}
if (isset($_POST['log_maxsize2'])) {
$config['log_maxsize2'] = $_POST['log_maxsize2'];
}
$config['log_maxsize'] = $config['log_maxsize1'] * ((1 == $config['log_maxsize2']) ? 1024 : 1024 * 1024);
$config['auto_delete'] = isset($_POST['auto_delete']) ? $_POST['auto_delete'] : 0;
if (isset($_POST['max_backup_files'])) {
$config['max_backup_files'] = $_POST['max_backup_files'];
}
$config['empty_db_before_restore'] = isset($_POST['empty_db_before_restore']) ? $_POST['empty_db_before_restore'] : 0;
$config['optimize_tables_beforedump'] = isset($_POST['optimize_tables']) ? $_POST['optimize_tables'] : 0;
$config['use_binary_container'] = isset($_POST['binary_container']) ? $_POST['binary_container'] : 0;
if (isset($_POST['cron_dbindex'])) {
$config['cron_dbindex'] = $_POST['cron_dbindex'];
}
if (isset($_POST['cron_comment'])) {
$config['cron_comment'] = $_POST['cron_comment'];
}
if (isset($_POST['cron_extender'])) {
$config['cron_extender'] = $_POST['cron_extender'];
}
// cron_select_savepath/
if (!isset($_POST['cron_select_savepath'])) {
$_POST['cron_select_savepath'] = $config['config_file'];
}
if (isset($_POST['cron_savepath_new']) && !empty($_POST['cron_savepath_new'])) {
$tmp_configfilename = utf8_decode(trim($_POST['cron_savepath_new']));
if (!preg_match('/^[a-z.-_]+$/i', $tmp_configfilename, $matches)) {
$save_config = false;
$msg .= ''.sprintf($lang['L_ERROR_CONFIGFILE_NAME'], $_POST['cron_savepath_new']).'
';
} else {
$config['config_file'] = $_POST['cron_savepath_new'];
$config['cron_configurationfile'] = $_POST['cron_savepath_new'].'.conf.php';
}
}
if (isset($_POST['cron_execution_path'])) {
$config['cron_execution_path'] = $_POST['cron_execution_path'];
}
if ('' == $config['cron_execution_path']) {
$config['cron_execution_path'] = 'mod_cron/';
}
if (strlen($config['cron_execution_path']) > 1 && '/' != substr($config['cron_execution_path'], -1)) {
$config['cron_execution_path'] .= '/';
}
if (isset($_POST['cron_use_sendmail'])) {
$config['cron_use_sendmail'] = $_POST['cron_use_sendmail'];
}
if (isset($_POST['cron_sendmail'])) {
$config['cron_sendmail'] = $_POST['cron_sendmail'];
}
$config['cron_smtp'] = isset($_POST['cron_smtp']) ? $_POST['cron_smtp'] : 'localhost';
$config['cron_printout'] = isset($_POST['cron_printout']) ? $_POST['cron_printout'] : 0;
$config['cron_completelog'] = isset($_POST['cron_completelog']) ? $_POST['cron_completelog'] : 0;
$config['cron_compression'] = isset($_POST['compression']) ? $_POST['compression'] : 0;
if (isset($_POST['cron_completelog'])) {
$config['cron_completelog'] = $_POST['cron_completelog'];
}
$databases['multi'] = [];
$databases['multi_praefix'] = [];
$databases['multi_commandbeforedump'] = [];
$databases['multi_commandafterdump'] = [];
if (isset($databases['Name'][0]) && $databases['Name'][0] > '') {
for ($i = 0; $i < count($databases['Name']); ++$i) {
$databases['praefix'][$i] = isset($_POST['dbpraefix_'.$i]) ? $_POST['dbpraefix_'.$i] : '';
$databases['command_before_dump'][$i] = (!isset($_POST['command_before_'.$i])) ? '' : $_POST['command_before_'.$i];
$databases['command_after_dump'][$i] = (!isset($_POST['command_after_'.$i])) ? '' : $_POST['command_after_'.$i];
if (isset($_POST['db_multidump_'.$i]) && $_POST['db_multidump_'.$i] == "db_multidump_$i") {
$databases['multi'][] = $databases['Name'][$i];
$databases['multi_praefix'][] = $databases['praefix'][$i];
$databases['multi_commandbeforedump'][] = $databases['command_before_dump'][$i];
$databases['multi_commandafterdump'][] = $databases['command_after_dump'][$i];
}
}
}
$databases['multisetting'] = (count($databases['multi']) > 0) ? implode(';', $databases['multi']) : '';
$databases['multisetting_praefix'] = (count($databases['multi']) > 0) ? implode(';', $databases['multi_praefix']) : '';
$databases['multisetting_commandbeforedump'] = (count($databases['multi']) > 0) ? implode(';', $databases['multi_commandbeforedump']) : '';
$databases['multisetting_commandafterdump'] = (count($databases['multi']) > 0) ? implode(';', $databases['multi_commandafterdump']) : '';
if (-2 == $config['cron_dbindex']) {
$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 (-3 == $config['cron_dbindex']) {
$cron_db_array = implode('|', $databases['Name']);
$cron_dbpraefix_array = implode('|', $databases['praefix']);
$cron_db_cbd_array = isset($databases['command_before_dump']) && !empty($databases['command_before_dump']) ? implode('|', $databases['command_before_dump']) : '';
$cron_db_cad_array = isset($databases['command_after_dump']) && !empty($databases['command_after_dump']) ? implode('|', $databases['command_after_dump']) : '';
}
$config['ftp_transfer'] = [];
$config['ftp_timeout'] = [];
$config['ftp_mode'] = [];
$config['ftp_useSSL'] = [];
$config['ftp_server'] = [];
$config['ftp_port'] = [];
$config['ftp_user'] = [];
$config['ftp_pass'] = [];
$config['ftp_dir'] = [];
for ($i = 0; $i < 3; ++$i) {
$checkFTP[$i] = '';
$config['ftp_transfer'][$i] = isset($_POST['ftp_transfer'][$i]) ? $_POST['ftp_transfer'][$i] : 0;
$config['ftp_timeout'][$i] = isset($_POST['ftp_timeout'][$i]) ? $_POST['ftp_timeout'][$i] : 30;
$config['ftp_useSSL'][$i] = isset($_POST['ftp_useSSL'][$i]) ? 1 : 0;
$config['ftp_mode'][$i] = isset($_POST['ftp_mode'][$i]) ? 1 : 0;
$config['ftp_server'][$i] = isset($_POST['ftp_server'][$i]) ? $_POST['ftp_server'][$i] : '';
$config['ftp_port'][$i] = isset($_POST['ftp_port'][$i]) ? $_POST['ftp_port'][$i] : 0;
$config['ftp_user'][$i] = isset($_POST['ftp_user'][$i]) ? $_POST['ftp_user'][$i] : '';
$config['ftp_pass'][$i] = isset($_POST['ftp_pass'][$i]) ? $_POST['ftp_pass'][$i] : '';
$config['ftp_dir'][$i] = isset($_POST['ftp_dir'][$i]) ? stripslashes($_POST['ftp_dir'][$i]) : '';
if (0 == $config['ftp_port'][$i]) {
$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['sftp_transfer'] = [];
$config['sftp_timeout'] = [];
$config['sftp_server'] = [];
$config['sftp_port'] = [];
$config['sftp_user'] = [];
$config['sftp_pass'] = [];
$config['sftp_dir'] = [];
$config['sftp_path_to_private_key'] = [];
$config['sftp_secret_passphrase_for_private_key'] = [];
$config['sftp_fingerprint'] = [];
for ($i = 0; $i < 3; ++$i) {
$checkFTP[$i] = '';
$config['sftp_transfer'][$i] = isset($_POST['sftp_transfer'][$i]) ? $_POST['sftp_transfer'][$i] : 0;
$config['sftp_timeout'][$i] = isset($_POST['sftp_timeout'][$i]) ? $_POST['sftp_timeout'][$i] : 30;
$config['sftp_server'][$i] = isset($_POST['sftp_server'][$i]) ? $_POST['sftp_server'][$i] : '';
$config['sftp_port'][$i] = isset($_POST['sftp_port'][$i]) ? $_POST['sftp_port'][$i] : 0;
$config['sftp_user'][$i] = isset($_POST['sftp_user'][$i]) ? $_POST['sftp_user'][$i] : '';
$config['sftp_pass'][$i] = isset($_POST['sftp_pass'][$i]) ? $_POST['sftp_pass'][$i] : '';
$config['sftp_dir'][$i] = isset($_POST['sftp_dir'][$i]) ? stripslashes($_POST['sftp_dir'][$i]) : '';
$config['sftp_path_to_private_key'][$i] = (isset($_POST['sftp_path_to_private_key'][$i])) ? stripslashes($_POST['sftp_path_to_private_key'][$i]) : null;
$config['sftp_secret_passphrase_for_private_key'][$i] = (isset($_POST['sftp_secret_passphrase_for_private_key'][$i])) ? stripslashes($_POST['sftp_secret_passphrase_for_private_key'][$i]) : null;
$config['sftp_fingerprint'][$i] = (isset($_POST['sftp_fingerprint'][$i])) ? stripslashes($_POST['sftp_fingerprint'][$i]) : null;
if (0 == $config['sftp_port'][$i]) {
$config['sftp_port'][$i] = 22;
}
if ('' == $config['sftp_dir'][$i] || (strlen($config['sftp_dir'][$i]) > 1 && '/' != substr($config['sftp_dir'][$i], -1))) {
$config['sftp_dir'][$i] .= '/';
}
}
$config['bb_width'] = $_POST['bb_width'];
$config['bb_textcolor'] = $_POST['bb_textcolor'];
$config['sql_limit'] = $_POST['sql_limit'];
if ($config['dbhost'] != $_POST['dbhost'] || $config['dbuser'] != $_POST['dbuser'] || $config['dbpass'] != $_POST['dbpass'] || $config['dbport'] != $_POST['dbport'] || $config['dbsocket'] != $_POST['dbsocket']) {
// new connection parameters
$show_VP = true;
// Save old parameters
$old['dbhost'] = $config['dbhost'];
$old['dbuser'] = $config['dbuser'];
$old['dbpass'] = $config['dbpass'];
$old['dbport'] = $config['dbport'];
$old['dbsocket'] = $config['dbsocket'];
//set new
$config['dbhost'] = $_POST['dbhost'];
$config['dbuser'] = $_POST['dbuser'];
$config['dbpass'] = $_POST['dbpass'];
$config['dbport'] = $_POST['dbport'];
$config['dbsocket'] = $_POST['dbsocket'];
if (mod_mysqli_connect()) {
// new connection data was accepted -> manually delete DB list from other user
SetDefault();
$msg .= '';
} else {
// Get old values
$config['dbhost'] = $old['dbhost'];
$config['dbuser'] = $old['dbuser'];
$config['dbpass'] = $old['dbpass'];
$config['dbport'] = $old['dbport'];
$config['dbsocket'] = $old['dbsocket'];
$msg .= ''.$lang['L_WRONG_CONNECTIONPARS'].'
';
}
}
// Manuelles hinzufügen einer Datenbank
if ($_POST['add_db_manual'] > '') {
$to_add = trim($_POST['add_db_manual']);
$found = false;
// Check if the DB already exists in the list
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['L_DB_IN_LIST'], $to_add);
} else {
if (mod_mysqli_connect()) {
$res = mysqli_select_db($config['dbconnection'], $to_add);
if (false === !$res) {
$databases['Name'][] = $to_add;
// Refresh menu so that the DB appears in the select list
echo '';
} else {
$add_db_message = sprintf($lang['L_DB_MANUAL_ERROR'], $to_add);
}
$showVP = true;
}
}
}
// After a transfer of a new configuration remove superfluous indexes before writing
$number_databases = sizeof($databases['Name']);
if (sizeof($databases['praefix']) > $number_databases) {
for ($i = sizeof($databases['praefix']); $i >= $number_databases; --$i) {
unset($databases['praefix'][$i]);
unset($databases['command_before_dump'][$i]);
unset($databases['command_after_dump'][$i]);
}
if ($databases['db_selected_index'] >= $number_databases) {
$databases['db_selected_index'] = 0;
}
}
// and write away
if ($save_config) {
if (true == WriteParams(false)) {
// new language? Then also update menu on the left
if ($_SESSION['config']['language'] != $config['language'] || $_POST['scaption_old'] != $config['interface_server_caption'] || $oldtheme != $config['theme'] || $oldscposition != $config['interface_server_caption_position']) {
$msg .= '';
if (isset($_POST['cron_savepath_new']) && $_POST['cron_savepath_new'] > '') {
$msg .= ''.$lang['L_SUCCESS_CONFIGFILE_CREATED'].'
';
}
}
// Load parameters
read_config($config['config_file']);
if ($config['logcompression'] != $oldlogcompression) {
DeleteLog();
}
$msg .= ''.sprintf($lang['L_SAVE_SUCCESS'], $config['config_file']).'
';
$msg .= '';
} else {
$msg .= ''.$lang['L_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'] .= ' ';
$aus['formstart'] .= ' '.$nl;
$aus['formstart'] .= ' '.$nl;
//$aus['formstart'] .= ' '.$nl;
$aus['formstart'] .= '
'.$msg.$nl;
// Configuration files
$aus['conf'] = '
'.$lang['L_CONFIGFILES'].' '.$nl.$nl;
$aus['conf'] .= '';
$aus['conf'] .= '# '.$lang['L_CONFIGFILE'].' / '.$lang['L_MYSQL_DATA'].' ';
$aus['conf'] .= ''.$lang['L_CONFIGURATIONS'].' '.$lang['L_ACTION'].' ';
$i = 0;
$old_config = $config;
$configs = get_config_filenames();
if (sizeof($configs) > 0) {
foreach ($configs as $c) {
++$i;
unset($databases);
read_config($c);
$aus['conf'] .= '';
$aus['conf'] .= ''.$i.'. ';
// Settings
$aus['conf'] .= '';
$aus['conf'] .= '';
$aus['conf'] .= ''.$lang['L_NAME'].': '.$c.' '; // filename
$aus['conf'] .= ''.$lang['L_DB_HOST'].': '.$config['dbhost'].' ';
$aus['conf'] .= ''.$lang['L_DB_USER'].': '.$config['dbuser'].' ';
$aus['conf'] .= '';
$aus['conf'] .= $lang['L_DBS'].': ';
$aus['conf'] .= '';
$aus['conf'] .= $icon['search'].''.sizeof($databases['Name']).' ';
$aus['conf'] .= ' ';
// Show database list
$aus['conf'] .= '';
$aus['conf'] .= '';
$a = 1;
$aus['conf'] .= '
';
if (isset($databases['Name'])) {
foreach ($databases['Name'] as $d) {
$aus['conf'] .= '';
$aus['conf'] .= $a.'. ';
$aus['conf'] .= '';
$aus['conf'] .= $d.' ';
++$a;
}
}
$aus['conf'] .= '
';
$aus['conf'] .= '
';
$aus['conf'] .= '';
// Build string from multidump DBs
$toolboxstring = '';
$databases['multi'] = [];
if (isset($databases['multisetting'])) {
$databases['multi'] = explode(';', $databases['multisetting']);
}
$multi_praefixe = [];
if (isset($databases['multisetting_praefix'])) {
$multi_praefixe = explode(';', $databases['multisetting_praefix']);
}
if (is_array($databases['multi'])) {
for ($x = 0; $x < sizeof($databases['multi']); ++$x) {
if ($x > 0) {
$toolboxstring .= ', ';
}
$toolboxstring .= $databases['multi'][$x];
if (isset($multi_praefixe[$x]) && $multi_praefixe[$x] > '') {
$toolboxstring .= ' (\''.$multi_praefixe[$x].'\' )';
}
}
}
// DB list for PHP
if (isset($config['multi_dump']) && (1 == $config['multi_dump'])) { // Multidump
$aus['conf'] .= table_output($lang['L_BACKUP_DBS_PHP'], $toolboxstring);
} else {
// Current DB
$text = isset($databases['db_actual']) ? $databases['db_actual'] : '';
if (isset($databases['db_selected_index']) && isset($databases['praefix'][$databases['db_selected_index']]) && $databases['praefix'][$databases['db_selected_index']] > '') {
$text .= " ('".$databases['praefix'][$databases['db_selected_index']]." ')";
}
$aus['conf'] .= table_output($lang['L_BACKUP_DBS_PHP'], $text);
}
// DB list for Perl
// Fallback if index is not yet set from old configuration files -> save all DBs
if (!isset($config['cron_dbindex'])) {
$config['cron_dbindex'] = -3;
}
if (-2 == $config['cron_dbindex']) {
$aus['conf'] .= table_output($lang['L_BACKUP_DBS_PERL'], $toolboxstring);
} elseif (-3 == $config['cron_dbindex']) {
$text = $lang['L_ALL'];
$aus['conf'] .= table_output($lang['L_BACKUP_DBS_PERL'], $text);
} else {
$text = isset($databases['Name'][$config['cron_dbindex']]) ? $databases['Name'][$config['cron_dbindex']] : '';
if (isset($databases['praefix'][$config['cron_dbindex']]) && $databases['praefix'][$config['cron_dbindex']] > '') {
$text .= " ('".$databases['praefix'][$config['cron_dbindex']]." ')";
}
$aus['conf'] .= table_output($lang['L_BACKUP_DBS_PERL'], $text);
}
if (isset($config['multi_part']) && (1 == $config['multi_part'])) { // Multipart
$aus['conf'] .= table_output($lang['L_MULTI_PART'], $lang['L_YES'].', '.$lang['L_FILESIZE'].' '.byte_output($config['multipart_groesse']));
}
if (isset($config['send_mail']) && (1 == $config['send_mail'])) { // Email
$aus['conf'] .= table_output($lang['L_SEND_MAIL_FORM'], $lang['L_YES'].', '.$lang['L_EMAIL_ADRESS'].': '.$config['email_recipient']);
if ($config['email_recipient_cc'] > '') {
$aus['conf'] .= table_output($lang['L_EMAIL_CC'], $config['email_recipient_cc']);
}
$text = $lang['L_YES'].', '.$lang['L_MAX_UPLOAD_SIZE'].': ';
$bytes = $config['email_maxsize1'] * 1024;
if (2 == $config['email_maxsize2']) {
$bytes = $bytes * 1024;
}
$text .= byte_output($bytes);
if (1 == $config['send_mail_dump']) {
$aus['conf'] .= table_output($lang['L_SEND_MAIL_DUMP'], $text);
}
}
for ($x = 0; $x < 3; ++$x) {
// FTP
if (isset($config['ftp_transfer'][$x]) && $config['ftp_transfer'][$x] > 0) {
$aus['conf'] .= table_output($lang['L_FTP'], sprintf($lang['L_FTP_SEND_TO'], $config['ftp_server'][$x], $config['ftp_dir'][$x]));
}
// SFTP
if (isset($config['sftp_transfer'][$x]) && $config['sftp_transfer'][$x] > 0) {
$aus['conf'] .= table_output($lang['L_SFTP'], sprintf($lang['L_SFTP_SEND_TO'], $config['sftp_server'][$x], $config['sftp_dir'][$x]));
}
}
$aus['conf'] .= '
';
$aus['conf'] .= ''.$icon['edit'].' ';
if ('myoosdumper' != $c) { // && $old_config['config_file']!= $c)
$aus['conf'] .= ''.$icon['delete'].' ';
} else {
$aus['conf'] .= ' ';
}
$aus['conf'] .= ' ';
}
}
$configfile = $old_config['config_file'];
$config = $old_config;
unset($databases);
$databases = [];
read_config($configfile);
$aus['conf'] .= '
';
$aus['conf'] .= ''.$nl.$nl;
// Access data
$aus['db'] = '
'.$lang['L_CONNECTIONPARS'].' '.$nl.$nl;
$aus['db'] .= ' / ';
$aus['db'] .= ' / ';
$aus['db'] .= ' ';
$aus['db'] .= '
'.$lang['L_EXTENDEDPARS'].' ';
$aus['db'] .= 'Port / Socket: / ';
$aus['db'] .= ' ';
$aus['db'] .= ''.$lang['L_ADD_DB_MANUALLY'].': ';
$aus['db'] .= ' ';
if (isset($add_db_message)) {
$aus['db'] .= ''.$add_db_message;
$aus['db'] .= ' ';
}
$aus['db'] .= ''.print_save_button().' ';
$aus['db'] .= ''.$lang['L_DB_BACKUPPARS'].' ';
$aus['db'] .= '';
// If databases are available
if (isset($databases['Name'][0]) && $databases['Name'][0] > '') {
if (!isset($databases['multi']) || (!is_array($databases['multi']))) {
$databases['multi'] = [];
}
if (1 == count($databases['Name'])) {
$databases['db_actual'] = $databases['Name'][0];
$databases['db_selected_index'] = 0;
$aus['db'] .= ''.Help($lang['L_HELP_DB'], 'conf1').$lang['L_LIST_DB'].' ';
$aus['db'] .= ''.$databases['db_actual'].' ';
$aus['db'] .= ''.Help($lang['L_HELP_PRAEFIX'], 'conf2').$lang['L_PRAEFIX'].' ';
$aus['db'] .= ''.Help($lang['L_HELP_COMMANDS'], '').'Command before Dump '.ComboCommandDump(0, $databases['db_selected_index']).' ';
$aus['db'] .= ''.Help($lang['L_HELP_COMMANDS'], '').'Command after Dump '.ComboCommandDump(1, $databases['db_selected_index']).' ';
$aus['db'] .= ''.$lang['L_SQL_BEFEHLE'].' ';
$aus['db'] .= ' ';
} else {
$disabled = '';
if (in_array($databases['db_actual'], $dontBackupDatabases)) {
$disabled = ' disabled="disabled"';
}
$aus['db'] .= ''.Help($lang['L_HELP_DB'], 'conf1').$lang['L_LIST_DB'].' '.$lang['L_ACTIVATE_MULTIDUMP'].' ';
$aus['db'] .= '';
$aus['db'] .= ''.$lang['L_DB'].' Multidump('.$lang['L_ALL'].' '.$lang['L_NONE'].' ) ';
$aus['db'] .= ''.Help($lang['L_HELP_PRAEFIX'], 'conf2').$lang['L_PRAEFIX'].' '.Help($lang['L_HELP_COMMANDS'], '', 11).'Command before Dump '.Help($lang['L_HELP_COMMANDS'], '', 11).'Command after Dump '.$lang['L_SQL_BEFEHLE'].' ';
//erst die aktuelle DB
$aus['db'] .= ''.$databases['db_actual'].' ';
$aus['db'] .= ' ';
$aus['db'] .= ' ';
$aus['db'] .= ''.ComboCommandDump(0, $databases['db_selected_index'], $disabled)
.' '.ComboCommandDump(1, $databases['db_selected_index'], $disabled).' ';
$aus['db'] .= ''.$lang['L_SQL_BEFEHLE'].' ';
$aus['db'] .= ' ';
$dbacombo = $dbbcombo = '';
$j = 0;
for ($i = 0; $i < count($databases['Name']); ++$i) {
if ($i != $databases['db_selected_index']) {
++$j;
$disabled = '';
if (in_array($databases['Name'][$i], $dontBackupDatabases)) {
$disabled = ' disabled="disabled"';
}
if (!isset($databases['praefix'][$i])) {
$databases['praefix'][$i] = '';
}
$aus['db'] .= ''.$databases['Name'][$i].' ';
$aus['db'] .= ' ';
$aus['db'] .= ''.ComboCommandDump(0, $i, $disabled).' '
.ComboCommandDump(1, $i, $disabled).' ';
$aus['db'] .= ''.$lang['L_SQL_BEFEHLE'].' ';
$aus['db'] .= ' ';
}
}
}
} else {
$aus['db'] .= ''.$lang['L_NO_DB_FOUND'].' ';
}
$aus['db'] .= '
';
$aus['db'] .= '
';
// sonstige Einstellungen
$aus['global1'] = '
'.$lang['L_GENERAL'].' '.$lang['L_DUMP'].' '.$lang['L_RESTORE'].' ';
$aus['global1'] .= print_save_button();
$aus['global1'] .= '
';
//Interface -->
$aus['global3'] = '
'.$lang['L_CONFIG_INTERFACE'].' '.$lang['L_SQL_BROWSER'].' '.print_save_button().'
';
//automatic delete-->
$aus['global2'] = '
'.$lang['L_CONFIG_AUTODELETE'].' '.print_save_button().'
';
//Email-->
if (!isset($config['email_recipient_cc'])) {
$config['email_recipient_cc'] = '';
} // backwards compatibility if field is undefined
$aus['transfer1'] = '
'.$lang['L_EMAIL_NOTIFICATION'].' '.print_save_button().'
';
//FTP-->
$aus['transfer2'] = '
'.$lang['L_CONFIG_FTP'].' ';
for ($i = 0; $i < 3; ++$i) {
$aus['transfer2'] .= 'FTP-Connection '.($i + 1).' ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPTRANSFER'], '').$lang['L_FTP_TRANSFER'].': ';
$aus['transfer2'] .= ' ';
$aus['transfer2'] .= ''.Help($lang['SFTP'], '').$lang['L_FTP_TIMEOUT'].': ';
$aus['transfer2'] .= ' sec ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTP_MODE'], '').$lang['L_FTP_CHOOSE_MODE'].': ';
$aus['transfer2'] .= ' ';
$aus['transfer2'] .= $lang['L_FTP_PASSIVE'].'';
$aus['transfer2'] .= ' '.Help($lang['L_HELP_FTPSSL'], '').$lang['L_FTP_SSL'].': ';
$aus['transfer2'] .= ' ';
$aus['transfer2'] .= ' '.$lang['L_FTP_USESSL'].' ';
$aus['transfer2'] .= ' '.$checkFTP[$i].'';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPSERVER'], 'conf14', 12).$lang['L_FTP_SERVER'].': ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPPORT'], 'conf15', 12).$lang['L_FTP_PORT'].': ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPUSER'], 'conf16', 12).$lang['L_FTP_USER'].': ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPPASS'], 'conf17', 12).$lang['L_FTP_PASS'].': ';
$aus['transfer2'] .= ''.Help($lang['L_HELP_FTPDIR'], 'conf18', 12).$lang['L_FTP_DIR'].': ';
$aus['transfer2'] .= '
'.print_save_button().' ';
}
$aus['transfer2'] .= '';
// SFTP-->
$aus['transfer3'] = '
'.$lang['L_CONFIG_SFTP'].' ';
for ($i = 0; $i < 3; ++$i) {
$aus['transfer3'] .= 'SFTP-Connection '.($i + 1).' ';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPTRANSFER'], '').$lang['L_SFTP_TRANSFER'].': ';
$aus['transfer3'] .= ' ';
$aus['transfer3'] .= ''.Help($lang['SFTP'], '').$lang['L_SFTP_TIMEOUT'].': ';
$aus['transfer3'] .= ' sec ';
$aus['transfer3'] .= ' '.$checkSFTP[$i].'';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPSERVER'], 'conf14', 12).$lang['L_SFTP_SERVER'].': ';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPPORT'], 'conf15', 12).$lang['L_SFTP_PORT'].': ';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPUSER'], 'conf16', 12).$lang['L_SFTP_USER'].': ';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPPASS'], 'conf17', 12).$lang['L_SFTP_PASS'].': ';
$aus['transfer3'] .= ''.Help($lang['L_HELP_SFTPDIR'], 'conf18', 12).$lang['L_SFTP_DIR'].': ';
$aus['transfer3'] .= ''.$lang['L_SFTP_SFTP_PATH_TO_PRIVATE_KEY'].': (optional, default: null) ';
$aus['transfer3'] .= ''.$lang['L_SFTP_SECRET_PASSPHRASE_FOR_PRIVATE_KEY'].': (optional, default: null) ';
$aus['transfer3'] .= ''.$lang['L_SFTP_FINGERPRINT'].': (optional, default: null) ';
$aus['transfer3'] .= '
'.print_save_button().' ';
}
$aus['transfer3'] .= '';
// Crondump
$aus['cron'] = '
'.$lang['L_CONFIG_CRONPERL'].' '.print_save_button().'
';
//Formular-Buttons -->
$aus['formende'] = '
';
// AUSGABE
echo $aus['formstart'];
echo $aus['db'];
echo $aus['global1'];
echo $aus['global2'];
echo $aus['global3'];
echo $aus['transfer1'];
echo $aus['transfer2'];
echo $aus['transfer3'];
echo $aus['cron'];
echo $aus['conf'];
echo $aus['formende'];
echo '';
echo MODFooter();
$_SESSION['config'] = $config;
ob_end_flush();
exit();