0) {
$s1=$s2=0;
for ($i = 0; $i < $databases["Detailinfo"]["tables"]; $i++)
{
$row = mysql_fetch_array($res);
$s1+=$row["Rows"];
$s2+=$row["Data_length"]+$row["Index_length"];
}
$databases["Detailinfo"]["records"]=$s1;
$databases["Detailinfo"]["size"]=$s2;
}
}
//Globale Funktionen
function br($m=1)
{
//gibt m Zeilenumbrüche zurück
return str_repeat("\n",$m);
}
function Stringformat($s,$count)
{
return str_repeat("0",$count-strlen($s)).$s;
}
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function MD_FreeDiskSpace()
{
global $lang;
$dfs=@diskfreespace("../");
return ($dfs) ? byte_output($dfs) : $lang['notavail'];
}
function WriteDynamicText($txt,$object)
{
return '';
}
function byte_output($bytes, $precision = 2, $names = Array())
{
if (!is_numeric($bytes) || $bytes < 0) {
return false;
}
for ($level = 0; $bytes >= 1024; $level++) {
$bytes /= 1024;
}
switch ($level)
{
case 0:
$suffix = (isset($names[0])) ? $names[0] : 'Bytes';
break;
case 1:
$suffix = (isset($names[1])) ? $names[1] : 'KB';
break;
case 2:
$suffix = (isset($names[2])) ? $names[2] : 'MB';
break;
case 3:
$suffix = (isset($names[3])) ? $names[3] : 'GB';
break;
case 4:
$suffix = (isset($names[4])) ? $names[4] : 'TB';
break;
default:
$suffix = (isset($names[$level])) ? $names[$level] : '';
break;
}
return round($bytes, $precision) . ' ' . $suffix;
}
function ExtractDBname($s)
{
if(strpos(strtolower($s),"_structure_file")>0){
return substr($s,0,strpos(strtolower($s),"_structure_file"));
break;
}
$sp=explode("_",$s);
$anz=count($sp)-1;
$r=0;
if($anz>4) {
$df=5; //Datumsfelder
if($sp[$anz-1]=="part") $df+=2;
if($sp[$anz-3]=="crondump" || $sp[$anz-1]=="crondump") $df+=2;
$anz=$anz-$df; //Datum weg
for($i=0;$i<=$anz;$i++){ $r+=strlen($sp[$i])+1;}
return substr($s,0,$r-1);
} else {
//Fremdformat
return substr($s,0,strpos($s,"."));
}
}
function ExtractBUT($s)
{
$i=strpos(strtolower($s),"part");
if($i>0) $s=substr($s,0,$i-1);
$i=strpos(strtolower($s),"crondump");
if($i>0) $s=substr($s,0,$i-1);
$i=strpos(strtolower($s),".sql");
if($i>0) $s=substr($s,0,$i);
$sp=explode("_",$s);
$anz=count($sp)-1;
if($anz>4) {
return $sp[$anz-2].".".$sp[$anz-3].".".$sp[$anz-4]." ".$sp[$anz-1].":".$sp[$anz];
} else {
//Fremdformat
return "";
}
}
function WriteLog($aktion)
{
global $config,$lang;
$log=date("d.m.Y h:i:s").': '.$aktion."\n";
$logfile=($config["logcompression"]==1) ? $config["files"]["log"].".gz" : $config["files"]["log"];
if(@filesize($logfile)+strlen($log)>$config["log_maxsize"]) @unlink($logfile);
//Datei öffnen und schreiben
if($config["logcompression"]==1) {
$fp = @gzopen($logfile, "a");
if($fp) {
@gzwrite ($fp,$log) .'
';
@gzclose ($fp);
} else echo '
'.$lang['logfilenotwritable'].' ('.$logfile.')
'; } else { $fp = @fopen($logfile, "ab"); if($fp) { @fwrite ($fp,$log); @fclose ($fp); } else echo ''.$lang['logfilenotwritable'].' ('.$logfile.')
'; } } function WriteTempOut($aktion) { global $config; $fp = @fopen($config["paths"]["log"]."out.tmp", "w"); if($fp) { @fwrite ($fp,$aktion); @fclose ($fp); } } function WritePageParams($aktion) { global $config,$restore,$dump,$nl; $pars="$nl"; if($aktion=="dump") { $datei="dump.tmp"; foreach($dump as $var => $val){ if(is_array($val)) { foreach($val as $var2 => $val2){ if ($config["magic_quotes_gpc"]==0) { $pars.='$dump["'."$var\"][".((is_int($var2)) ? $var2 : '"'.$var2.'"')."] = \"".addslashes($val2)."\";$nl"; } else { $pars.='$dump["'."$var\"][".((is_int($var2)) ? $var2 : '"'.$var2.'"')."] = \"$val2\";$nl"; } } } else { if ($config["magic_quotes_gpc"]==0) { $pars.='$dump["'."$var\"] = \"".addslashes($val)."\";$nl"; } else { $pars.='$dump["'."$var\"] = \"$val\";$nl"; } } } } elseif($aktion=="restore") { $datei="restore.tmp"; foreach($restore as $var => $val){ if(is_array($val)) { foreach($val as $var2 => $val2){ if ($config["magic_quotes_gpc"]==0) { $pars.='$restore["'."$var\"][".((is_int($var2)) ? $var2 : '"'.$var2.'"')."] = \"".addslashes($val2)."\";$nl"; } else { $pars.='$restore["'."$var\"][".((is_int($var2)) ? $var2 : '"'.$var2.'"')."] = \"$val2\";$nl"; } } } else { if ($config["magic_quotes_gpc"]==0) { $pars.='$restore["'."$var\"] = \"".addslashes($val)."\";$nl"; } else { $pars.='$restore["'."$var\"] = \"$val\";$nl"; } } } } $pars.="$nl?>"; $fp = @fopen($config["paths"]["log"].$datei, "w"); if($fp) { @fwrite ($fp,$pars."\n"); @fclose ($fp); } } function ErrorLog($dest,$db,$sql,$error) { global $config; if(strlen($sql)>100) $sql=substr($sql,0,100)." ... (snip)"; //Error-Zeile generieren $errormsg=date("d.m.Y h:i:s").': '; $errormsg.=($dest=="RESTORE") ? " Restore of db `$db`|:|" : " Dump of db `$db`|:|"; $errormsg.="Error-Message: $error|:|"; $errormsg.="SQL : ".$sql."\n"; //Datei öffnen und schreiben if($config["logcompression"]==1) { $fp = @gzopen($config["paths"]["log"]."error.log.gz", "ab"); if($fp) { @gzwrite ($fp,($errormsg)); @gzclose ($fp); } } else { $fp = @fopen($config["paths"]["log"]."error.log", "ab"); if($fp) { @fwrite ($fp,($errormsg)); @fclose ($fp); } } } function DirectoryWarnings($path="") { global $config; $warn=""; if($path=="" || $path=="config") if(!is_writable($config["paths"]["config"])) $warn.='Configpath is not writable!