$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'].'
';
}
}
}
?>