0) { $SQL_ARRAY=file($sf); } } function WriteSQL() { global $SQL_ARRAY,$config; $sf=$config['paths']['config'].'sql_statements'; $str=""; for($i=0;$i'.$nl; $s.=''.$nl; if(count($SQL_ARRAY)>0) { for($i=0;$i'.SQL_Name($i).''.$nl; } } $s.=''.$nl.$nl; return $s; } function Table_ComboBox() { global $db,$config,$lang,$nl; $tabellen = mysql_query("SHOW TABLES FROM `$db`",$config['dbconnection']); $num_tables = mysql_num_rows($tabellen); $s=$nl.$nl.''.$nl.$nl; return $s; } function TableComboBox($default='') { global $db,$config,$lang,$nl; $tabellen = mysql_list_tables($db,$config['dbconnection']); $num_tables = mysql_num_rows($tabellen); $s=''.$nl; for($i=0;$i<$num_tables;$i++) { $t=mysql_tablename($tabellen,$i); $s.=''.$nl; } return $s; } function DB_Exists($db) { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $erg=false; $dbs=mysql_list_dbs($config['dbconnection']); while ($row = mysql_fetch_object($dbs)) { if(strtolower($row->Database)==strtolower($db)) { $erg=true;break; } } return $erg; } function Table_Exists($db,$table) { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $erg=false; $sqlt="SHOW TABLES FROM `$db`"; $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); if($res) { $row = mysql_fetch_row($res); if(strtolower($row[0])==strtolower($table)) { $erg=true; } } else die("ERROR"); return $erg; } function DB_Empty($dbn) { $r="DROP DATABASE `$dbn`;\nCREATE DATABASE `$dbn`;"; MSD_DoSQL($r); } function DB_Copy($source,$destination,$drop_source=0,$insert_data=1) { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $SQL_Array=$t=""; if(!DB_Exists($destination)) $SQL_Array.="CREATE DATABASE `$destination` ;\n"; $SQL_Array.="USE `$destination` ;\n"; $tabellen = mysql_list_tables($source,$config['dbconnection']); $num_tables = mysql_num_rows($tabellen); for($i=0;$i<$num_tables;$i++) { $table=mysql_tablename($tabellen,$i); $sqlt="SHOW CREATE TABLE `$source`.`$table`"; $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); $row=mysql_fetch_row($res); $c=$row[1]; if(substr($c,-1)==";") $c=substr($c,0,strlen($c)-1); $SQL_Array.=($insert_data==1) ? "$c SELECT * FROM `$source`.`$table` ;\n" : "$c ;\n"; } if($drop_source==1) $SQL_Array.="DROP DATABASE `$source` ;"; mysql_select_db($destination); MSD_DoSQL($SQL_Array); } function Table_Copy($source,$destination,$insert_data,$destinationdb="") { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $SQL_Array=$t=""; $sqlc="SHOW CREATE TABLE $source"; $res=MSD_query($sqlc) or die(SQLError($sqlc,mysql_error())); $row=mysql_fetch_row($res); $c=$row[1]; $a1=strpos($c,"`"); $a2=strpos($c,"`",$a1+1); $c=substr($c,0,$a1+1).$destination.substr($c,$a2); if(substr($c,-1)==";") $c=substr($c,0,strlen($c)-1); $SQL_Array.=($insert_data==1) ? "$c SELECT * FROM $source ;\n" : "$c ;\n"; //echo "
$SQL_Array
"; MSD_DoSQL($SQL_Array); } function MSD_DoSQL($sqlcommands,$limit="") { global $config,$out,$numrowsabs,$numrows,$num_befehle,$time_used,$sql; if(!isset($sql['parser']['sql_commands'])) $sql['parser']['sql_commands']=0; if(!isset($sql['parser']['sql_errors'])) $sql['parser']['sql_errors']=0; $sql['parser']['time_used']=getmicrotime(); if(!isset($config['dbconnection'])) MSD_mysql_connect(); $out=$sqlcommand=""; $allSQL=explode(';',preg_replace('/\r\n|\n/', '', $sqlcommands)); $sql_queries=count($allSQL); if(!isset($allSQL[$sql_queries-1])) $sql_queries--; if($sql_queries==1) { SQLParser($allSQL[0]); $sql['parser']['sql_commands']++; $out.=Stringformat(($sql['parser']['sql_commands']),4).": ". $allSQL[0]."\n"; $result =MSD_query($allSQL[0]) or die(SQLError($allSQL[0],mysql_error())); } else { for($i=0;$i<$sql_queries; $i++) { $allSQL[$i]=trim(rtrim($allSQL[$i])); if($allSQL[$i]!="") { $sqlcommand.=$allSQL[$i]; $sqlcommand=SQLParser($sqlcommand); //echo "$i: ".htmlentities($sqlcommand)."
"; if($sql['parser']['start']==0 && $sql['parser']['end']==0 && $sqlcommand!="") { //sql complete $sql['parser']['sql_commands']++; $out.=Stringformat(($sql['parser']['sql_commands']),4).": ". $sqlcommand."\n"; $result =MSD_query($sqlcommand) or die(SQLError($sqlcommand,mysql_error())); $sqlcommand=""; } } } } $sql['parser']['time_used']=getmicrotime()-$sql['parser']['time_used']; } function SQLParser($command,$debug=0) { global $sql; $sql['parser']['start']=$sql['parser']['end']=0; $sql['parser']['sqlparts']=0; if(!isset($sql['parser']['drop'])) $sql['parser']['drop']=0; if(!isset($sql['parser']['create'])) $sql['parser']['create']=0; if(!isset($sql['parser']['insert'])) $sql['parser']['insert']=0; if(!isset($sql['parser']['update'])) $sql['parser']['update']=0; if(!isset($sql['parser']['comment'])) $sql['parser']['comment']=0; $Backslash=chr(92); $s=rtrim(trim(($command))); //Was ist das f�r eine Anfrage ? if(substr($s,0,1)=="#" || substr($s,0,2)=="--") { $sql['parser']['comment']++; $s=""; } elseif(strtoupper(substr($s,0,5))=="DROP ") { $sql['parser']['drop']++; } elseif(strtoupper(substr($s,0,7))=="CREATE ") { //Hier nur die Anzahl der Klammern z�hlen $sql['parser']['start']=1; $kl1=substr_count($s,"("); $kl2=substr_count($s,")"); if($kl2-$kl1==0) { $sql['parser']['start']=0; $sql['parser']['create']++; } } elseif(strtoupper(substr($s,0,7))=="INSERT " || strtoupper(substr($s,0,7))=="UPDATE ") { if(strtoupper(substr($s,0,7))=="INSERT ") $sql['parser']['insert']++; else $sql['parser']['update']++; $i=strpos(strtoupper($s)," VALUES")+7; $st=substr($s,$i); $i=strpos($st,"(")+1; $st=substr($st,$i); $st=substr($st,0,strlen($st)-2); $tb=explode(",",$st); for ($i=0;$i2) { $sql['parser']['end']=1; } elseif (($B_Delimiter % 2)==1 && strlen($v)>2) { //ist mit `'` maskiert $sql['parser']['end']=0; } elseif(($B_Esc % 2)==1) { //ist mit Backslash maskiert $sql['parser']['end']=0; } else { $sql['parser']['end']=1; } } } if($debug==1) echo "".$sql['parser']['start']."/".$sql['parser']['end']." Feld $i: ".htmlspecialchars($tb[$i])."- ".$sql['parser']['sqlparts']." ($B_Ticks / $B_Esc)
"; if($sql['parser']['start']==1 && $sql['parser']['end']==1) { $sql['parser']['sqlparts']++; $sql['parser']['start']=$sql['parser']['end']=0; } } } return $s; } function SQLOutput($sqlcommand,$meldung="") { global $sql,$lang; $s= '
'.$lang['sql_output'].'
'; if($meldung!="") $s.='

'.$meldung.'

'; if(isset($sql['parser']['sql_commands'])) { $s.=''.$sql['parser']['sql_commands'].'
'.$lang['sql_commands_in'].round($sql['parser']['time_used'],4).$lang['sql_commands_in2'].'

'; $s.=$lang['sql_out1'].''.$sql['parser']['drop'].' DROP-, '; $s.=''.$sql['parser']['create'].' CREATE-, '; $s.=''.$sql['parser']['insert'].' INSERT-, '; $s.=''.$sql['parser']['update'].' UPDATE-'.$lang['sql_out2'].'
'; $s.=$lang['sql_out3'].''.$sql['parser']['comment'].' '.$lang['sql_out4'].'
'; if($sql['parser']['sql_commands']<5000) $s.='
'.Highlight_SQL($sqlcommand).'
'; else $s.=$lang['sql_out5'].""; }elseif($sqlcommand!="")$s.='
'.$lang['sql_output'].'
'.Highlight_SQL($sqlcommand).'
'; return $s.''; } function GetCreateTable($db,$tabelle) { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $res=mysql_query("SHOW CREATE TABLE `$db`.`$tabelle`"); if($res) { $row=mysql_fetch_array($res); return $row['Create Table']; } else return mysql_error(); } function KindSQL($sql) { if (preg_match('@^((-- |#)[^\n]*\n|/\*.*?\*/)*(DROP|CREATE)[[:space:]]+(IF EXISTS[[:space:]]+)?(TABLE|DATABASE)[[:space:]]+(.+)@im', $sql)) { return 2; } elseif (preg_match('@^((-- |#)[^\n]*\n|/\*.*?\*/)*(DROP|CREATE)[[:space:]]+(IF EXISTS[[:space:]]+)?(TABLE|DATABASE)[[:space:]]+(.+)@im', $sql)) { return 1; } } function GetPostParams() { global $db,$dbid,$tablename,$context,$limitstart,$order,$orderdir,$sql; $db=$_POST['db']; $dbid=$_POST['dbid']; $tablename=$_POST['tablename']; $context=$_POST['context']; $limitstart=$_POST['limitstart']; $order=$_POST['order']; $orderdir=$_POST['orderdir']; $sql['sql_statement']=(isset($_POST['sql_statement'])) ? stripslashes(urldecode($_POST['sql_statement'])) : "SELECT * FROM `$tablename`"; } function ComboCommandDump($when,$index) { global $SQL_ARRAY,$nl,$databases,$lang; if(count($SQL_ARRAY)==0) { $r=''.$lang['sql_befehle'].''; if($when==0) $r.=''; else $r.=''; } else { if($when==0) { $r=''; $csql=$databases['command_after_dump'][$index]; } $r.=''; if(count($SQL_ARRAY)>0) { for($i=0;$i'.SQL_Name($i).''.$nl; } } $r.=''; } return $r; } function EngineCombo($default="") { global $config; if(!$config['dbconnection']) MSD_mysql_connect(); $r=''; if(!MSD_NEW_VERSION) { //BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM $r.=''; $r.=''; $r.=''; $r.=''; $r.=''; $r.=''; $r.=''; } else { $res=mysql_query("SHOW ENGINES"); $num = mysql_num_rows($res); for($i=0;$i<$num;$i++) { $row=mysql_fetch_array($res); $r.=''; } } return $r; } function CharsetCombo($default="") { global $config; if(!MSD_NEW_VERSION) { return ""; } else { if(!isset($config['dbconnection'])) MSD_mysql_connect(); $res=mysql_query("SHOW Charset"); $num = mysql_num_rows($res); $r=''; for($i=0;$i<$num;$i++) { $row=mysql_fetch_array($res); $r.=''; } return $r; } } function GetCollationArray() { global $config; if(!isset($config['dbconnection'])) MSD_mysql_connect(); $res=mysql_query("SHOW Collation"); $num = mysql_num_rows($res); $r=Array(); for($i=0;$i<$num;$i++) { $row=mysql_fetch_array($res); $r[$i]['Collation']=$row['Collation']; $r[$i]['Charset']=$row['Charset']; $r[$i]['Id']=$row['Id']; $r[$i]['Default']=$row['Default']; $r[$i]['Compiled']=$row['Compiled']; $r[$i]['Sortlen']=$row['Sortlen']; } return $r; } function CollationCombo($default="",$withcharset=0) { if(!MSD_NEW_VERSION) { return ""; } else { $r=GetCollationArray(); sort($r); $s=""; $s=''; $group=""; for($i=0;$i0) $s.=''; $s.=''; } $s.=''; } return $s.''; } } function AttributeCombo($default="") { $s=''; $s.=''; $s.=''; return $s; } function simple_bbcode_conversion($a) { global $config; $tag_start='
'; $tag_end='
'; //replacements $a=nl2br($a); $a=preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/si","$2",$a); $a=preg_replace("/\[urltargetself=(.*?)\](.*?)\[\/urltargetself\]/si","$2",$a); $a=preg_replace("/\[url\](.*?)\[\/url\]/si","$1",$a); $a=preg_replace("/\[ed2k=\+(.*?)\](.*?)\[\/ed2k\]/si","$2",$a); $a=preg_replace("/\[ed2k=(.*?)\](.*?)\[\/ed2k\]/si","$2",$a); $a=preg_replace("/\[center\](.*?)\[\/center\]/si", "
$1
", $a); $a=preg_replace("/\[size=([1-2]?[0-9])\](.*?)\[\/size\]/si", "$2", $a); $a=preg_replace("/\[size=([1-2]?[0-9]):(.*?)\](.*?)\[\/size(.*?)\]/si", "$3", $a); $a=preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/si", "$2", $a); $a=preg_replace("/\[color=(.*?)\](.*?)\[\/color\]/si", "$2", $a); $a=preg_replace("/\[color=(.*?):(.*?)\](.*?)\[\/color(.*?)\]/si", "$3", $a); $a=preg_replace("/\[img\](.*?)\[\/img\]/si", "", $a); $a=preg_replace("/\[b\](.*?)\[\/b\]/si", "$1", $a); $a=preg_replace("/\[b(.*?)\](.*?)\[\/b(.*?)\]/si", "$2", $a); $a=preg_replace("/\[u\](.*?)\[\/u\]/si", "$1", $a); $a=preg_replace("/\[u(.*?)\](.*?)\[\/u(.*?)\]/si", "$2", $a); $a=preg_replace("/\[i\](.*?)\[\/i\]/si", "$1", $a); $a=preg_replace("/\[i(.*?)\](.*?)\[\/i(.*?)\]/si", "$2", $a); $a=preg_replace("/\[quote\](.*?)\[\/quote\]/si", "

$1

", $a); $a=preg_replace("/\[quote:(.*?)\](.*?)\[\/quote(.*?)\]/si", "

$2

", $a); $a=preg_replace("/\[code:(.*?)\](.*?)\[\/code(.*?)\]/si", "

$2

", $a); $a=preg_replace("/\[hide\](.*?)\[\/hide\]/si", "
$1
", $a); $a=preg_replace("/[[:space:]]http:\/\/(.*?)[[:space:]]/si","$1",$a); return $tag_start.$a.$tag_end; } function ExtractTablename($q) { $offset=0; $p=strtoupper($q); $i=strpos($p,"FROM")+5; $p=substr($p,$i); if(substr($p,0,1)=="("){ $offset=2; echo "$offset
"; } if(strpos($p," ",$offset)) { $j=strpos($p," ",$offset); $p=substr($p,$offset,$j); } $t=substr($q,$i+$offset,strlen($p)-$offset); if(substr($t,-1)==",") { //Achtung, keine eindeutige Tabelle $t=''; } if(substr($t,0,1)=="`" && substr($t,-1)=="`") $t=substr($t,1,strlen($t)-2); return $t; } function ExtractTablenameFromSQL($q) { $p=strtoupper($q); $first=substr($p,0,strpos($p," ")); switch($first) { case "SHOW": return ""; break; case "SELECT": $p=substr($q,strpos($p,"FROM")+5); $p=explode(" ",$p); $t=$p[0]; if(strpos($t,".")) $t=substr($t, strpos($t,".")+1); return str_replace("`","",$t); case "DROP": case "INSERT": case "UPDATE": break; default: return $first; } } function GetOptionsCombo($arr,$default) { global $feldtypen,$feldattribute,$feldnull,$feldextras,$feldkeys,$feldrowformat; $r=""; foreach ($arr as $s) { $r.=''."\n"; } return $r; } function FillFieldinfos($db,$tabelle) { global $config; $fields_infos=Array(); $t=GetCreateTable($db,$tabelle); $sqlf="SHOW FULL FIELDS FROM `$db`.`$tabelle`;"; $res=MSD_query($sqlf) or die(SQLError($sqlf,mysql_error())); $anz_fields=mysql_num_rows($res); for($i=0;$i<$anz_fields;$i++) { $row=mysql_fetch_array($res); if(MSD_NEW_VERSION) $fields_infos[$i]['collate']=$row['Collation']; if(MSD_NEW_VERSION) $fields_infos[$i]['comment']=$row['Comment']; $fields_infos[$i]['privileges']=$row['Privileges']; } $fields_infos['_primarykey_']=""; $flds=$keys=$ukeys=$fkeys=0; $fields_infos['_createtable_']=$t; $tmp=explode("\n",$t); for($i=1;$i"; if(substr($t,0,12)=="PRIMARY KEY ") { $t=str_replace("`","",$t); $fields_infos['_primarykey_']=substr($t,strpos($t,"(")+1,strpos($t,")")-strpos($t,"(")-1); } elseif (substr($t,0,4)=="KEY ") { $t=str_replace("`","",$t); $att=explode(" ",$t); $fields_infos['_key_'][$keys]['name']=$att[1]; $att[2]=str_replace("(","",$att[2]); $att[2]=str_replace(")","",$att[2]); $fields_infos['_key_'][$keys]['columns']=$att[2]; $keys++; } elseif (substr($t,0,11)=="UNIQUE KEY ") { $t=str_replace("`","",$t); $att=explode(" ",$t); $fields_infos['_uniquekey_'][$ukeys]['name']=$att[2]; $att[3]=str_replace("(","",$att[3]); $att[3]=str_replace(")","",$att[3]); $fields_infos['_uniquekey_'][$ukeys]['columns']=$att[3]; $ukeys++; } elseif (substr($t,0,13)=="FULLTEXT KEY ") { $t=str_replace("`","",$t); $att=explode(" ",$t); $fields_infos['_fulltextkey_'][$fkeys]['name']=$att[2]; $att[3]=str_replace("(","",$att[3]); $att[3]=str_replace(")","",$att[3]); $fields_infos['_fulltextkey_'][$fkeys]['columns']=$att[3]; $fkeys++; } else { $att=explode(" ",$t); if(substr($att[0],0,1)=="`" && substr($att[0],-1)=="`") { $fields_infos[$flds]['name']=str_replace("`","",$att[0]); $s=1; } else { $fields_infos[$flds]['name']=str_replace("`","",$att[0])." "; for($ii=1;$i"; $s++; } } $flds++; } } //echo substr($tmp[count($tmp)-1],2)."
"; $ext=explode(" ",substr($tmp[count($tmp)-1],2)); $s="";$haltchar="="; for($i=0;$i"; if($ok[0]==0 && $nk[0]==1) { if($restriction!="drop_only") $s.="ADD PRIMARY KEY (`$fld`), "; } elseif ($ok[0]==1 && $nk[0]==0) { $s.="DROP PRIMARY KEY, "; } if($ok[1]==0 && $nk[1]==1) { if($restriction!="drop_only") $s.="ADD UNIQUE INDEX `$fld` (`$fld`), "; } elseif ($ok[1]==1 && $nk[1]==0) { $s.="DROP INDEX `$fld`, "; } if($ok[2]==0 && $nk[2]==1) { if($restriction!="drop_only") $s.="ADD INDEX `$fld` (`$fld`), "; } elseif ($ok[2]==1 && $nk[2]==0) { $s.="DROP INDEX `$fld`, "; } if($ok[3]==0 && $nk[3]==1) { if($restriction!="drop_only") $s.="ADD FULLTEXT INDEX `$fld` (`$fld`($size)), "; } elseif ($ok[3]==1 && $nk[3]==0) { $s.="DROP FULLTEXT INDEX `$fld`, "; } } if($s!="") $s=substr($s,0,strlen($s)-2); return $s; } function CheckCSVOptions() { global $sql; if(!isset($sql['export']['trenn'])) $sql['export']['trenn']=";"; if(!isset($sql['export']['enc'])) $sql['export']['enc']="\""; if(!isset($sql['export']['esc'])) $sql['export']['esc']="\\"; if(!isset($sql['export']['ztrenn'])) $sql['export']['ztrenn']="\\r\\n"; if(!isset($sql['export']['null'])) $sql['export']['null']="NULL"; if(!isset($sql['export']['namefirstline'])) $sql['export']['namefirstline']=0; if(!isset($sql['export']['format'])) $sql['export']['format']=0; if(!isset($sql['export']['sendfile'])) $sql['export']['sendfile']=0; if(!isset($sql['export']['tables'])) $sql['export']['tables']=Array(); if(!isset($sql['export']['compressed'])) $sql['export']['compressed']=0; if(!isset($sql['export']['htmlstructure'])) $sql['export']['htmlstructure']=0; if(!isset($sql['export']['xmlstructure'])) $sql['export']['xmlstructure']=0; if(!isset($sql['import']['trenn'])) $sql['import']['trenn']=";"; if(!isset($sql['import']['enc'])) $sql['import']['enc']="\""; if(!isset($sql['import']['esc'])) $sql['import']['esc']="\\"; if(!isset($sql['import']['ztrenn'])) $sql['import']['ztrenn']="\\r\\n"; if(!isset($sql['import']['null'])) $sql['import']['null']="NULL"; if(!isset($sql['import']['namefirstline'])) $sql['import']['namefirstline']=0; if(!isset($sql['import']['format'])) $sql['import']['format']=0; } function ExportCSV() { global $sql,$config; $t=""; $time_start = time(); if(!isset($config['dbconnection'])) MSD_mysql_connect(); for($table=0;$table$config['memory_limit']) { CSVOutput($t); $t=""; } $time_now = time(); if ($time_start >= $time_now + 30) { $time_start = $time_now; header('X-MSDPing: Pong'); } } } } CSVOutput($t,1); } function CSVOutput($str,$last=0) { global $sql,$config; if($sql['export']['sendfile']==0) { //Display echo $str; } else { if($sql['export']['header_sent']=="") { if($sql['export']['compressed']==1 & !function_exists('gzencode')) $sql['export']['compressed']=0; if($sql['export']['format']<4) { $file=$sql['export']['db'].(($sql['export']['compressed']==1) ? ".csv.gz" : ".csv"); } elseif($sql['export']['format']==4) { $file=$sql['export']['db'].(($sql['export']['compressed']==1) ? ".xml.gz" : ".xml"); } elseif($sql['export']['format']==5) { $file=$sql['export']['db'].(($sql['export']['compressed']==1) ? ".html.gz" : ".html"); } $mime=($sql['export']['compressed']==0) ? "x-type/subtype" : "application/x-gzip"; header('Content-Disposition: attachment; filename="' . $file . '"'); header('Pragma: no-cache'); header('Content-Type: '.$mime); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); $sql['export']['header_sent']=="1"; } if($sql['export']['compressed']==1) echo gzencode($str); else echo $str; } } function DoImport() { global $sql,$lang; $r=''; $zeilen=count($sql['import']['csv'])-$sql['import']['namefirstline']; $sql['import']['first_zeile']=explode($sql['import']['trenn'],$sql['import']['csv'][0]); $importfelder=count($sql['import']['first_zeile']); if($sql['import']['tablecreate']==0) { $res=MSD_query("show fields FROM ".$sql['import']['table']); $tabellenfelder=mysql_num_rows($res); if($importfelder!=$tabellenfelder) { $r.='
'.sprintf($lang['csv_fieldcount_nomatch'],$tabellenfelder,$importfelder); } else { $ok=1; } } else { $ok=ImportCreateTable(); if($ok==0) { $r.='
'.sprintf($lang['csv_errorcreatetable'],$sql['import']['table']); } } if($ok==1) { $insert=""; if($sql['import']['emptydb']==1 && $sql['import']['tablecreate']==0) { MSD_DoSQL("TRUNCATE ".$sql['import']['table'].";"); } $sql['import']['lines_imported']=0; $enc=($sql['import']['enc']=="") ? "'" : ""; $zc=""; for($i=$sql['import']['namefirstline'];$i<$zeilen+$sql['import']['namefirstline'];$i++) { //Importieren $insert="INSERT INTO ".$sql['import']['table']." VALUES("; if($sql['import']['createindex']==1) $insert .="'', "; $zc.=trim(rtrim($sql['import']['csv'][$i])); echo "Zeile $i: $zc
"; if($zc!="" && substr($zc,-1)==$enc) { $zeile=explode($sql['import']['trenn'],$zc); for($j=0;$j<$importfelder;$j++) { $a=($zeile[$j]=="" && $enc=="") ? "''" : $zeile[$j]; $insert.=$enc.$a.$enc.(($j==$importfelder-1) ? ");\n" : ","); } //MSD_DoSQL($insert); $sql['import']['lines_imported']++; $zc=""; } } $r.=sprintf($lang['csv_fieldslines'],$importfelder,$sql['import']['lines_imported']); } $r.='
'; return $r; } function ImportCreateTable() { global $sql,$lang,$db,$config; $tbl=Array(); $tabellen = mysql_list_tables($db,$config['dbconnection']); $num_tables = mysql_num_rows($tabellen); for($i=0;$i<$num_tables;$i++) { $tbl[]=strtolower(mysql_tablename($tabellen,$i)); } $i=0; $sql['import']['table']=$sql['import']['table'].$i; while(in_array($sql['import']['table'],$tbl)) { $sql['import']['table']=substr($sql['import']['table'],0,strlen($sql['import']['table'])-1).++$i; } $create="CREATE TABLE `".$sql['import']['table']."` (".(($sql['import']['createindex']==1) ? '`import_id` int(11) unsigned NOT NULL auto_increment, ' : ''); if($sql['import']['namefirstline']) { for($i=0;$i'."\n"; $level++; $time_start = time(); if(!isset($config['dbconnection'])) MSD_mysql_connect(); for($table=0;$table'."\n"; $sqlt="SHOW Fields FROM `".$sql['export']['db']."`.`".$sql['export']['tables'][$table]."`;"; $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); if($res) { $numfields=mysql_num_rows($res); if($sql['export']['xmlstructure']==1){ $t.=str_repeat($tab,$level++).''."\n"; for($feld=0;$feld<$numfields;$feld++) { $row=mysql_fetch_array($res); $t.=str_repeat($tab,$level++).''."\n"; $t.=str_repeat($tab,$level).''.$row['Field'].''."\n"; $t.=str_repeat($tab,$level).''.$row['Type'].''."\n"; $t.=str_repeat($tab,$level).''.$row['Null'].''."\n"; $t.=str_repeat($tab,$level).''.$row['Key'].''."\n"; $t.=str_repeat($tab,$level).''.$row['Default'].''."\n"; $t.=str_repeat($tab,$level).''.$row['Extra'].''."\n"; $t.=str_repeat($tab,--$level).''."\n"; } $t.=str_repeat($tab,--$level).''."\n"; } } $t.=str_repeat($tab,$level++).''."\n"; $sqlt="SELECT * FROM `".$sql['export']['db']."`.`".$sql['export']['tables'][$table]."`;"; $res=MSD_query($sqlt) or die(SQLError($sqlt,mysql_error())); if($res) { $numrows=mysql_numrows($res); for($data=0;$data<$numrows;$data++) { $t.=str_repeat($tab,$level)."\n"; $level++; $row=mysql_fetch_row($res); for($feld=0;$feld<$numfields;$feld++) { $t.=str_repeat($tab,$level).''.$row[$feld].''."\n"; } $t.=str_repeat($tab,--$level)."\n"; $sql['export']['lines']++; if(strlen($t)>$config['memory_limit']) { CSVOutput($t); $t=""; } $time_now = time(); if ($time_start >= $time_now + 30) { $time_start = $time_now; header('X-MSDPing: Pong'); } } } $t.=str_repeat($tab,--$level).''."\n"; $t.=str_repeat($tab,--$level).''."\n"; } $t.=str_repeat($tab,--$level).''."\n"; CSVOutput($t,1); } function ExportHTML() { global $sql,$config,$lang; $header=implode("",file($config['paths']['config'].'html_template')); $header=str_replace("{TITLE}",'MSD HTML-Export',$header); $footer="\n\n\n"; $content=""; $content.='

Datenbank '.$sql['export']['db'].'

'; $time_start = time(); if(!isset($config['dbconnection'])) MSD_mysql_connect(); for($table=0;$table'."\n"; $fsql="show fields from `".$sql['export']['tables'][$table]."`"; $dsql="select * from `".$sql['export']['tables'][$table]."`"; //Struktur $res=MSD_query($fsql) or die(SQLError($fsql,mysql_error())); if($res) { $field=$fieldname=$fieldtyp=Array(); $structure="\n"; $numfields=mysql_numrows($res); for($feld=0;$feld<$numfields;$feld++) { $row=mysql_fetch_row($res); $field[$feld]=$row[0]; if($feld==0) { $structure.="\n"; for($i=0;$iname; $fieldtyp[$i]=$str->type; $structure.="\n"; } $structure.="\n\n"; } for($i=0;$i".(($row[$i]!="") ? $row[$i] : " ")."\n"; } $structure.="\n"; } $structure.="
".$str->name."
\n"; } if($sql['export']['htmlstructure']==1) $content.="

Struktur

\n".$structure; //Daten $res=MSD_query($dsql) or die(SQLError($dsql,mysql_error())); if($res) { $anz=mysql_num_rows($res); $content.="

Daten ($anz Datensätze)

\n"; $content.="\n"; for($feld=0;$feld\n"; for($i=0;$i\n"; } $content.="\n"; } } for($d=0;$d<$anz;$d++) { $row=mysql_fetch_row($res); $content.="\n"; for($i=0;$i\n"; } $content.="\n"; } } $content.="
"; } CSVOutput($header.$content.$footer); } ?>