$getval) { ${$getvar} = $getval; } foreach ($_POST as $postvar => $postval) { ${$postvar} = $postval; } include_once './inc/functions.php'; include_once './inc/mysqli.php'; include_once './inc/runtime.php'; if (!isset($language)) { $language = 'en'; } $config['language'] = $language; include './language/lang_list.php'; include 'language/'.$language.'/lang_install.php'; include 'language/'.$language.'/lang_main.php'; include 'language/'.$language.'/lang_config_overview.php'; // Passing the parameters via FORM if (isset($_POST['dbhost'])) { $config['dbhost'] = $dbhost; $config['dbuser'] = $dbuser; $config['dbpass'] = $dbpass; $config['dbport'] = $dbport; $config['dbsocket'] = $dbsocket; $config['manual_db'] = $manual_db; } else { // If connection string exists -> read connection data from connstr if (isset($connstr) && !empty($connstr)) { $p = explode('|', $connstr); $dbhost = $config['dbhost'] = $p[0]; $dbuser = $config['dbuser'] = $p[1]; $dbpass = $config['dbpass'] = $p[2]; $dbport = $config['dbport'] = $p[3]; $dbsocket = $config['dbsocket'] = $p[4]; $manual_db = $config['manual_db'] = $p[5]; } else { $connstr = ''; } } //Variabeln $phase = (isset($phase)) ? $phase : 0; if (isset($_POST['manual_db'])) { $manual_db = trim($_POST['manual_db']); } $connstr = "$dbhost|$dbuser|$dbpass|$dbport|$dbsocket|$manual_db"; $connection = ''; $delfiles = []; $config['files']['iconpath'] = './css/mod/icons/'; $img_ok = 'ok'; $img_failed = 'failed'; $href = "install.php?language=$language&phase=$phase&connstr=$connstr"; header('content-type: text/html; charset=utf-8'); ?> MyOOS [Dumper] - Installation 9 && $phase < 12) { $content = $lang['L_INSTALL'].' - '.$lang['L_STEP'].' '.($phase - 7); } elseif ($phase > 19 && $phase < 100) { $content = $lang['L_TOOLS']; } else { $content = $lang['L_UNINSTALL'].' - '.$lang['L_STEP'].' '.($phase - 99); } echo ''.$lang['L_INSTALL_TOMENU'].''; echo '

'.$content.'

'; echo '

Version '.MOD_VERSION.'

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

'.$lang['L_CONFIGNOTWRITABLE'].'

'; echo ''.$lang['L_TRYAGAIN'].''; echo '     '.$lang['L_INSTALL_TOMENU'].''; } else { $tmp = file('config.php'); $stored = 0; if (!isset($_POST['dbconnect'])) { // Erstaufruf - Daten aus config.php auslesen for ($i = 0; $i < count($tmp); ++$i) { if ('$config[\'dbhost\']' == substr($tmp[$i], 0, 17)) { $config['dbhost'] = extractValue($tmp[$i]); $dbhost = $config['dbhost']; ++$stored; } if ('$config[\'dbport\']' == substr($tmp[$i], 0, 17)) { $config['dbport'] = extractValue($tmp[$i]); $dbport = $config['dbport']; ++$stored; } if ('$config[\'dbsocket\']' == substr($tmp[$i], 0, 19)) { $config['dbsocket'] = extractValue($tmp[$i]); $dbsocket = $config['dbsocket']; ++$stored; } if ('$config[\'dbuser\']' == substr($tmp[$i], 0, 17)) { $config['dbuser'] = extractValue($tmp[$i]); $dbuser = $config['dbuser']; ++$stored; } if ('$config[\'dbpass\']' == substr($tmp[$i], 0, 17)) { $config['dbpass'] = extractValue($tmp[$i]); $dbpass = $config['dbpass']; ++$stored; } if ('$config[\'language\']' == substr($tmp[$i], 0, 19)) { $config['language'] = extractValue($tmp[$i]); ++$stored; } if (6 == $stored) { break; } } } if (!isset($config['dbport'])) { $config['dbport'] = ''; } if (!isset($config['dbsocket'])) { $config['dbsocket'] = ''; } echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if (isset($_POST['dbconnect'])) { echo ''; echo ''; } echo '
'.$lang['L_DB_HOST'].':
'.$lang['L_DB_USER'].':
'.$lang['L_DB_PASS'].':
* '.$lang['L_DB'].':

('.$lang['L_ENTER_DB_INFO'].')

'; echo $lang['L_PORT'].':  '.$lang['L_INSTALL_HELP_PORT'].'
'.$lang['L_SOCKET'].':  '.$lang['L_INSTALL_HELP_SOCKET'].'
'.$lang['L_TESTCONNECTION'].':
'.$lang['L_DBCONNECTION'].'
'; $connection = mod_mysqli_connect(); if (false === $connection) { echo '

'.$lang['L_CONNECTIONERROR'].'

 '; } else { $databases = []; echo '

'.$lang['L_CONNECTION_OK'].'

'; $connection = 'ok'; $connstr = "$dbhost|$dbuser|$dbpass|$dbport|$dbsocket|$manual_db"; echo ''; if ($manual_db > '') { SearchDatabases(1, $manual_db); } else { SearchDatabases(1); } if (!isset($databases['Name']) || !in_array($manual_db, $databases['Name'])) { // conect to manual db was not successful $connstr = substr($connstr, 0, strlen($connstr) - strlen($manual_db)); $manual_db = ''; } } echo '

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

'.$lang['L_SAVE_ERROR'].'

'; } else { echo $lang['L_INSTALL_STEP2FINISHED']; 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 (false == $ret) { echo '
'.$lang['L_ERRORMAN'].' config.php '.$lang['L_MANUELL'].'.'; exit(); } } echo '
'.$lang['L_CREATEDIRS'].'
'; $check_dirs = [ 'work/', 'work/config/', 'work/log/', 'work/backup/', 'work/cache/', 'work/temp/' ]; $msg = ''; foreach ($check_dirs as $d) { $success = SetFileRechte($d, 1, 0777); if (1 != $success) { $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/cache'); $iw[5] = IsWritable('work/temp'); if ($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4] && $iw[5]) { echo ''; } echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if ($iw[0] && $iw[1] && $iw[2] && $iw[3] && $iw[4] && $iw[5]) { echo ''; } echo '
'.$lang['L_DIR'].''.$lang['L_RECHTE'].''.$lang['L_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/cache'.Rechte('work/cache').''.(($iw[4]) ? $img_ok : $img_failed).'
work/temp'.Rechte('work/temp').''.(($iw[5]) ? $img_ok : $img_failed).'
'.$lang['L_DIRS_CREATED'].'

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

'.$lang['L_INSTALLFINISHED'].'

'; SetDefault(1); include 'language/'.$language.'/lang_install.php'; // direkt zum Start des Dumeprs echo ''; break; case 100: //uninstall echo '
'.$lang['L_UI1'].'
'; echo '
'.$lang['L_UI2'].'
'; echo ''.$lang['L_UI3'].'     '; echo ''.$lang['L_UI4'].''; break; case 101: echo '
'.$lang['L_UI5'].'
'; $paths = []; $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 (0 == $res) { // das Verzeichnis wurde korrekt gelöscht echo '

'.$lang['L_UI6'].'

'; echo $lang['L_UI7'].'
"'.Realpfad('./').'"
'.$lang['L_MANUELL'].'.

'; echo ''.$lang['L_UI8'].''; } else { echo '

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