function WriteParams($as = 0, $restore_values = false) { // wenn $as=1 wird versucht den aktuellen Index der Datenbank nach dem Einlesen wieder zu ermitteln // auch wenn sich die Indexnummer durch Loeschaktionen geaendert hat global $config, $databases, $config_dontsave; $nl = "\n"; // alte Werte retten if ($as) { if (is_array($restore_values)) { if ($restore_values['cron_dbindex'] < 0) { // Multidump oder "alle Datenbanken" war gewaehlt $config['cron_dbindex'] = $restore_values['cron_dbindex']; } else { //den Index der konkreten Datenbank aus der alten Konfiguration ermitteln $db_names = array(); $db_names = array_flip($databases['Name']); if (isset($db_names[$restore_values['db_actual']])) { // alte Db existiert noch -> Index uebernehmen $databases['db_actual'] = $restore_values['db_actual']; } else { $databases['db_actual'] = $databases['Name'][0]; } //Cron-Index wiederfinden if (isset($db_names[$restore_values['cron_dbindex']])) { $config['cron_dbindex'] = $db_names[$restore_values['cron_dbindex']]; } else { // DB wurde zwischenzeitlich geloescht - sicherheitshalber alle DBs sichern $databases['cron_dbindex'] = -3; } } } } FillMultiDBArrays(); //Parameter zusammensetzen $config['multipart_groesse'] = $config['multipartgroesse1'] * ($config['multipartgroesse2'] == 1 ? 1024 : 1024 * 1024); $param = $pars_all = '<?php ' . $nl; if (!isset($config['email_maxsize'])) { $config['email_maxsize'] = $config['email_maxsize1'] * ($config['email_maxsize2'] == 1 ? 1024 : 1024 * 1024); } if (!isset($config['cron_execution_path'])) { $config['cron_execution_path'] = "msd_cron/"; } if ($as == 0) { $config['paths']['root'] = addslashes(Realpfad("./")); } $config['files']['parameter'] = $config['paths']['config'] . $config['config_file'] . '.php'; $config['files']['iconpath'] = './css/' . $config['theme'] . '/icons/'; foreach ($config as $var => $val) { if (!in_array($var, $config_dontsave)) { if (is_array($val)) { $pars_all .= '$config[\'' . $var . '\']=array();' . $nl; foreach ($val as $var2 => $val2) { if ($config['magic_quotes_gpc'] == 1) { $val2 = stripslashes($val2); } $pars_all .= '$config[\'' . $var . '\'][' . (is_int($var2) ? $var2 : "'" . $var2 . "'") . '] = \'' . my_addslashes($val2) . "';{$nl}"; } } else { if ($config['magic_quotes_gpc'] == 1) { $val = stripslashes($val); } if (!in_array($var, $config_dontsave)) { $pars_all .= '$config[\'' . $var . '\'] = \'' . my_addslashes($val) . "';{$nl}"; } } } } foreach ($databases as $var => $val) { if (is_array($val)) { $pars_all .= '$databases[\'' . $var . '\']=array();' . $nl; foreach ($val as $var2 => $val2) { if ($config['magic_quotes_gpc'] == 1 || $as == 1) { $pars_all .= '$databases[\'' . $var . '\'][' . (is_int($var2) ? $var2 : "'" . $var2 . "'") . '] = \'' . my_addslashes(stripslashes($val2)) . "';{$nl}"; } else { $pars_all .= '$databases[\'' . $var . '\'][' . (is_int($var2) ? $var2 : "'" . $var2 . "'") . '] = \'' . my_addslashes($val2) . "';{$nl}"; } } } else { if ($config['magic_quotes_gpc'] == 0 || $as == 1) { $pars_all .= '$databases[\'' . $var . '\'] = \'' . addslashes($val) . "';{$nl}"; } else { $pars_all .= '$databases[\'' . $var . '\'] = \'' . $val . "';{$nl}"; } } } $param .= '?>'; $pars_all .= '?>'; //Datei öffnen und schreiben $ret = true; $file = $config['paths']['config'] . $config['config_file'] . '.php'; if ($fp = fopen($file, "wb")) { if (!fwrite($fp, $pars_all)) { $ret = false; } if (!fclose($fp)) { $ret = false; } @chmod($file, 0777); } else { $ret = false; } $ret = WriteCronScript($restore_values); return $ret; }
function WriteParams($as = 0, $config, $databases) { global $config_dontsave; $nl = "\n"; FillMultiDBArrays(); //Parameter zusammensetzen $config['multipart_groesse'] = $config['multipartgroesse1'] * ($config['multipartgroesse2'] == 1 ? 1024 : 1024 * 1024); $param = $pars_all = '<?php ' . $nl; if (!isset($config['email_maxsize'])) { $config['email_maxsize'] = $config['email_maxsize1'] * ($config['email_maxsize2'] == 1 ? 1024 : 1024 * 1024); } if (!isset($config['cron_execution_path'])) { $config['cron_execution_path'] = "msd_cron/"; } if ($as == 0) { $config['paths']['root'] = addslashes(Realpfad("./")); } foreach ($config as $var => $val) { 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($config, $databases); return $ret; }