$getval){ ${$getvar} = $getval; } foreach($_POST as $postvar => $postval){ ${$postvar} = $postval; } $dbonly=(isset($dbonly)) ? $dbonly : ""; $dbport=(isset($dbport)) ? $dbport : ""; $dbsocket=(isset($dbsocket)) ? $dbsocket : ""; if(!isset($language)) $language="de"; if(isset($dbhost) && isset($dbuser) && isset($dbpass)) { $config["dbhost"]=$dbhost; $config["dbuser"]=$dbuser; $config["dbpass"]=$dbpass; $config["dbonly"]=$dbonly; $config["dbport"]=$dbport; $config["dbsocket"]=$dbsocket; } else { if(isset($connstr) && !empty($connstr)) { $p=explode("|",$connstr); $dbhost=$config["dbhost"]=$p[0]; $dbuser=$config["dbuser"]=$p[1]; $dbpass=$config["dbpass"]=$p[2]; $dbonly=$config["dbonly"]=$p[3]; $dbport=$config["dbport"]=$p[4]; $dbsocket=$config["dbsocket"]=$p[5]; } else $connstr=""; } //Variabeln $phase=(isset($phase)) ? $phase : 0; $connstr="$dbhost|$dbuser|$dbpass|$dbonly|$dbport|$dbsocket"; $delfiles=Array(); include_once("inc/functions.php"); include_once("inc/mysql.php"); require("inc/runtime.php"); $config['language']=$language; include("language/lang_list.php"); include("language/".$language."/lang_install.php"); $img_ok=''; $img_failed=''; $href="install.php?language=$language&phase=$phase&connstr=$connstr"; ?>
'.$lang['confignotwritable'].'
'; echo ''.$lang['tryagain'].''; echo ' '.$lang['install_tomenu'].''; } else { $tmp=file("config.php"); $stored=0; if(!(isset($dbhost) && isset($dbuser) && isset($dbpass))) { //lese aus config for($i=0;$i'.$lang['dbparameter'].$exp.' |
'; echo ' | '; echo ' |
'.$lang['import11'].'
'; } elseif($import==2) { echo ''.$lang['import12'].'
'; } break; case 100: //uninstall echo $lang['ui1'].''.$lang['ui6'].'
'; echo $lang['ui7']."'.$lang['ui9'].'"'.$paths[count($paths)-1].'"';
}
break;
}
?>
//eigene Funktionen
// rec_rmdir - loesche ein Verzeichnis rekursiv
// Rueckgabewerte:
// 0 - alles ok
// -1 - kein Verzeichnis
// -2 - Fehler beim Loeschen
// -3 - Ein Eintrag eines Verzeichnisses war keine Datei und kein Verzeichnis und
// kein Link
function rec_rmdir ($path) {
global $paths;
$paths[]=$path;
// schau' nach, ob das ueberhaupt ein Verzeichnis ist
if (!is_dir ($path)) {
return -1;
}
// oeffne das Verzeichnis
$dir = @opendir ($path);
// Fehler?
if (!$dir) {
return -2;
}
// gehe durch das Verzeichnis
while ($entry = @readdir($dir)) {
// wenn der Eintrag das aktuelle Verzeichnis oder das Elternverzeichnis
// ist, ignoriere es
if ($entry == '.' || $entry == '..') continue;
// wenn der Eintrag ein Verzeichnis ist, dann
if (is_dir ($path.'/'.$entry)) {
// rufe mich selbst auf
$res = rec_rmdir ($path.'/'.$entry);
// wenn ein Fehler aufgetreten ist
if ($res == -1) { // dies duerfte gar nicht passieren
@closedir ($dir); // Verzeichnis schliessen
return -2; // normalen Fehler melden
} else if ($res == -2) { // Fehler?
@closedir ($dir); // Verzeichnis schliessen
return -2; // Fehler weitergeben
} else if ($res == -3) { // nicht unterstuetzer Dateityp?
@closedir ($dir); // Verzeichnis schliessen
return -3; // Fehler weitergeben
} else if ($res != 0) { // das duerfe auch nicht passieren...
@closedir ($dir); // Verzeichnis schliessen
return -2; // Fehler zurueck
}
} else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) {
// ansonsten loesche diese Datei / diesen Link
$res = @unlink ($path.'/'.$entry);
// Fehler?
if (!$res) {
@closedir ($dir); // Verzeichnis schliessen
return -2; // melde ihn
}
} else {
// ein nicht unterstuetzer Dateityp
@closedir ($dir); // Verzeichnis schliessen
return -3; // tut mir schrecklich leid...
}
}
// schliesse nun das Verzeichnis
@closedir ($dir);
// versuche nun, das Verzeichnis zu loeschen
$res = @rmdir ($path);
// gab's einen Fehler?
if (!$res) {
return -2; // melde ihn
}
// alles ok
return 0;
}
function Rechte($file)
{
clearstatcache();
return @substr(decoct(fileperms($file)),-3);
}
function zipConfig()
{
global $config;
$cfname=$config["paths"]["config"]."config.gz";
if(file_exists($cfname)) unlink($cfname);
$h1="### Configuration Summary - MySQLDumper ".MSD_VERSION."\n\n";
$h2="###FILE_config.php\n";
$h3="###FILE_".$config["paths"]["config"]."sql_statements\n";
$cf=$h1.$h2;
$tmp=file("config.php");
while(substr($tmp[0],0,18)!='$config["direct_connection"]') {
array_shift($tmp);
if(count($tmp)==0) break;
}
array_shift($tmp);
$cf.=implode($tmp,"")."\n".$h3;
if(file_exists($config["paths"]["config"]."sql_statements")) {
$tmp=file($config["paths"]["config"]."sql_statements");
$cf.=implode($tmp,"")."\n";
}
if($config["zlib"]) {
$fp = gzopen ($cfname,"ab");
gzwrite ($fp,$cf);
gzclose ($fp);
} else {
$fp = fopen ($cfname,"ab");
fwrite ($fp,$cf);
fclose ($fp);
}
//return '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
';
$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 {
//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
";
}
$databases["db_actual"]=$databases["Name"][0];
$databases["db_selected_index"]=0;
} else {
if($printout==1) echo $lang['dbonlyneed'].'
';
}
}
}
?>