0) {$restore["anzahl_zeilen"]=$config["minspeed"];} $restore["actual_table"]=strtolower(get_tablename($complete_sql)); //Tabellenfelderanzahl ermitteln $restore["actual_fieldcount"]=AnzahlTabellenfelder($complete_sql); $restore["num_table_fields"][$restore["actual_table"]]=$restore["actual_fieldcount"]; //DEFAULT CHARSET HACK if((GetMySQLVersion()-4.1)<0) { $ll=strpos(strtoupper($complete_sql)," DEFAULT CHARSET"); if($ll) { $ll2=strpos($complete_sql," ",$ll+12); if($ll2) $complete_sql=substr($complete_sql,0,$ll).substr($complete_sql,$ll2); else $complete_sql=substr($complete_sql,0,$ll).';'; } } $restore["table_create"][$restore["actual_table"]]=$complete_sql; $sqlparser_status=100; //Befehl komplett } } if($sqlparser_status==4) { //Createindex if($last_char==";" ) { if($config["minspeed"]>0) {$restore["anzahl_zeilen"]=$config["minspeed"];} $sqlparser_status=100; //Befehl komplett } } if($sqlparser_status==3) { //Datensatzaktion if(substr(rtrim($zeile),-2)==");") { //scheinbar ein Ende erreicht $AnzahlFelder=SQL_Is_Complete($complete_sql); if($AnzahlFelder==$restore["num_table_fields"][$restore["actual_table"]]) { $sqlparser_status=100; } if($AnzahlFelder>$restore["num_table_fields"][$restore["actual_table"]]) { if(!isset($restore["table_create"][$restore["actual_table"]])) { include("inc/functions_sql.php"); $restore["table_create"][$restore["actual_table"]]=GetCreateTable($databases["db_actual"],$restore["actual_table"]); } echo '
'; /*echo ""; print_r($restore); echo "";*/ die; } } } if ( ($restore["compressed"]) && (gzeof($restore["filehandle"])) ) $restore["fileEOF"]=true; if ( (!$restore["compressed"]) && (feof($restore["filehandle"])) ) $restore["fileEOF"]=true; } return trim($complete_sql) ; } // extrahiert auf einfache Art den Tabellennamen aus dem "Create"-Befehl function get_tablename($t) { global $restore; $t=trim(str_replace("CREATE TABLE","",strtoupper($t))); $w=explode(" ",$t); $tn=$w[0]; $restore["table_ready"]++; if(substr($tn,0,1)=="`") $tn=substr($tn,1,strlen($tn)-2); return $tn; } // extrahiert auf einfache Art den Tabellennamen aus dem "Create"-Befehl function get_tablename_aus_insert($t) { $t=str_replace("insert into ","",strtolower($t)); $w=explode(" ",$t); $tn=$w[0]; if(substr($tn,0,1)=="`") $tn=substr($tn,1,strlen($tn)-2); return $tn; } function AnzahlTabellenfelder($s,$debug=0) { // ermittelt die Anzahl der Spalten einer Tabelle aus einer CREATE-Anweisung $anz=$anz_delimter=$rit=$klammerstart=$klammerauf=$klammerzu=0; $s=strtoupper($s); $i=strpos($s,"(")+1; $s=substr($s,$i); $tb=explode(",",$s); $defaultstart=false; for ($i=0;$i