'.$lang['L_SQL_TABLESOFDB'].' `'.$databases['Name'][$dbid].'` '.$lang['L_SQL_EDIT'].''; //Primaerschluessel loeschen if (isset($_GET['killPrimaryKey'])) { $keys = getPrimaryKeys($databases['Name'][$dbid], $_GET['tablename']); //Zu loeschenden Schluessel aus dem Array entfernen $keyPos = array_search($_GET['killPrimaryKey'], $keys['name']); if (!(false === $keyPos)) { unset($keys['name'][$keyPos]); unset($keys['size'][$keyPos]); $keys['name'] = array_values($keys['name']); $keys['size'] = array_values($keys['size']); $res = setNewPrimaryKeys($databases['Name'][$dbid], $_GET['tablename'], $keys['name'], $keys['size']); if ($res) { echo ''; } else { echo ''; } } else { echo ''; } } //Primärschlüssel löschen ende //Neue Schlüssel setzen if (isset($_POST['setNewKeys'])) { $fields = getAllFields($databases['Name'][$dbid], $_GET['tablename']); $newKeysArray = []; $newKeySizesArray = []; foreach ($fields as $index => $field) { if ((isset($_POST['setNewKey'.$index])) && ('' != $_POST['setNewKey'.$index])) { $newKeysArray[] = $_POST['setNewKey'.$index]; $newKeySizesArray[] = isset($_POST['indexSize'.$index]) ? (int) $_POST['indexSize'.$index] : ''; } } //doppelte Elemente entfernen $newKeysArray = array_unique($newKeysArray); $newKeySizesArray = array_intersect_key($newKeySizesArray, $newKeysArray); if ('primary' == $_POST['indexType']) { $res = setNewPrimaryKeys($databases['Name'][$dbid], $_GET['tablename'], $newKeysArray, $newKeySizesArray); if ($res) { echo ''; } else { echo ''; } } else { if ('unique' == $_POST['indexType']) { $newIndexType = 'UNIQUE'; } elseif ('fulltext' == $_POST['indexType']) { $newIndexType = 'FULLTEXT'; } else { $newIndexType = 'INDEX'; } $res = setNewKeys($databases['Name'][$dbid], $_GET['tablename'], $newKeysArray, $newIndexType, $_POST['indexName'], $newKeySizesArray); if ($res) { echo ''; } else { echo ''; } } } //Andere Indizes löschen if (isset($_GET['killIndex'])) { $res = killKey($databases['Name'][$dbid], $_GET['tablename'], $_GET['killIndex']); if ($res) { echo ''; } else { echo ''; } } if (isset($_GET['kill'])) { if (1 == $_GET['anz']) { echo '

'.$lang['L_SQL_NOFIELDDELETE'].'

'; } else { $sql_alter = 'ALTER TABLE `'.$databases['Name'][$dbid].'`.`'.$_GET['tablename'].'` DROP COLUMN `'.$_GET['kill'].'`'; $res = MOD_DoSQL($sql_alter); if ($res) { echo '
'; echo '

'.$lang['L_SQL_FIELDDELETE1'].' `'.$_GET['kill'].'` '.$lang['L_SQL_DELETED'].'.

'.highlight_sql($out).'
'; } } } if (isset($_POST['tablecopysubmit'])) { $table_edit_name = $_GET['tablename']; if ('' == $_POST['tablecopyname']) { echo '

'.$lang['L_SQL_NODEST_COPY'].'

'; } elseif (Table_Exists($databases['Name'][$dbid], $_POST['tablecopyname'])) { echo '

'.$lang['L_SQL_DESTTABLE_EXISTS'].'

'; } else { Table_Copy('`'.$databases['Name'][$dbid].'`.`'.$table_edit_name.'`', $_POST['tablecopyname'], $_POST['copyatt']); echo '
'; echo (0 == $_POST['copyatt']) ? '

'.sprintf($lang['L_SQL_SCOPY'], $table_edit_name, $_POST['tablecopyname']).'

' : sprintf($lang['L_SQL_TCOPY'], $table_edit_name, $_POST['tablecopyname']).'

'; echo highlight_sql($out).'
'; $tablename = $_POST['tablecopyname']; } } if (isset($_POST['newtablesubmit'])) { if ('' == $_POST['newtablename']) { echo '

'.$lang['L_SQL_TABLENONAME'].'

'; } else { $sql_alter = 'CREATE TABLE `'.$databases['Name'][$dbid].'`.`'.$_POST['newtablename'].'` (`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY ) '.((MOD_NEW_VERSION) ? 'ENGINE' : 'TYPE').'=MyISAM;'; $res = MOD_DoSQL($sql_alter); if ($res) { echo SQLOutput($out, $lang['L_TABLE'].' `'.$_POST['newtablename'].'` '.$lang['L_SQL_CREATED']); } } } if (isset($_POST['t_edit_submit'])) { $sql_alter = 'ALTER TABLE `'.$databases['Name'][$dbid].'`.`'.$_POST['table_edit_name'].'` '; if ('' == $_POST['t_edit_name']) { echo '

'.$lang['L_SQL_TBLNAMEEMPTY'].'

'; } elseif (MOD_NEW_VERSION && '' != $_POST['t_edit_collate'] && substr($_POST['t_edit_collate'], 0, strlen($_POST['t_edit_charset'])) != $_POST['t_edit_charset']) { echo '

'.$lang['L_SQL_COLLATENOTMATCH'].'

'; } else { if ($_POST['table_edit_name'] != $_POST['t_edit_name']) { $sql_alter .= 'RENAME TO `'.$_POST['t_edit_name'].'`, '; $table_edit_name = $_POST['t_edit_name']; } else { $table_edit_name = $_POST['table_edit_name']; } if ('' != $_POST['t_edit_engine']) { $sql_alter .= ((MOD_NEW_VERSION) ? 'ENGINE=' : 'TYPE=').$_POST['t_edit_engine'].', '; } if ('' != $_POST['t_edit_rowformat']) { $sql_alter .= 'ROW_FORMAT='.$_POST['t_edit_rowformat'].', '; } if (MOD_NEW_VERSION && '' != $_POST['t_edit_charset']) { $sql_alter .= 'DEFAULT CHARSET='.$_POST['t_edit_charset'].', '; } if (MOD_NEW_VERSION && '' != $_POST['t_edit_collate']) { $sql_alter .= 'COLLATE '.$_POST['t_edit_collate'].', '; } $sql_alter .= "COMMENT='".$_POST['t_edit_comment']."' "; $res = MOD_DoSQL($sql_alter); if ($res) { echo SQLOutput($out, $lang['L_TABLE'].' `'.$_POST['table_edit_name'].'` '.$lang['L_SQL_CHANGED']); } } } else { if (!isset($table_edit_name) || '' == $table_edit_name) { $table_edit_name = (isset($_GET['tablename'])) ? $_GET['tablename'] : ''; if (isset($_POST['tableselect'])) { $table_edit_name = $_POST['tableselect']; } if (isset($_POST['newtablesubmit'])) { $table_edit_name = $_POST['newtablename']; } } } if (isset($_POST['newfield_posted'])) { //build sql for alter if ('' == $_POST['f_name']) { echo '

'.$lang['L_SQL_FIELDNAMENOTVALID'].' ('.$_POST['f_name'].')

'; $field_fehler = 1; } else { //alter Key $oldkeys[0] = $_POST['f_primary']; $oldkeys[1] = $_POST['f_unique']; $oldkeys[2] = $_POST['f_index']; $oldkeys[3] = $_POST['f_fulltext']; //neuer Key $newkeys[0] = ('primary' == $_POST['f_index_new']) ? 1 : 0; $newkeys[1] = ('unique' == $_POST['f_index_new']) ? 1 : 0; $newkeys[2] = ('index' == $_POST['f_index_new']) ? 1 : 0; $newkeys[3] = (isset($_POST['f_indexfull'])) ? 1 : 0; $add_sql .= ChangeKeys($oldkeys, $newkeys, $_POST['f_name'], $_POST['f_size'], 'drop_only'); $sql_stamm = 'ALTER TABLE `'.$databases['Name'][$dbid]."`.`$table_edit_name` "; $sql_alter = $sql_stamm.((isset($_POST['editfield'])) ? 'CHANGE COLUMN `'.$_POST['fieldname'].'` `'.$_POST['f_name'].'` ' : 'ADD COLUMN `'.$_POST['f_name'].'` '); $sql_alter .= $_POST['f_type']; $wl = stripslashes($_POST['f_size']); if ('' != $wl && !preg_match('@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT)$@i', $_POST['f_type'])) { $sql_alter .= "($wl) "; } elseif ('' == $_POST['f_size'] && preg_match('@^(VARCHAR)$@i', $_POST['f_type'])) { $sql_alter .= '('.'255'.') '; } else { $sql_alter .= ' '; } $sql_alter .= $_POST['f_attribut'].' '; $sql_alter .= $_POST['f_null'].' '; $sql_alter .= ('' != $_POST['f_default']) ? "DEFAULT '".addslashes($_POST['f_default'])."' " : ''; if (MOD_NEW_VERSION && '' != $_POST['f_collate']) { $sql_alter .= 'COLLATE '.$_POST['f_collate'].' '; } if ('AUTO_INCREMENT' == $_POST['f_extra']) { $sql_alter .= ' AUTO_INCREMENT '; } $sql_alter .= $_POST['f_position']; if (1 == $newkeys[0]) { $sql_alter .= ', ADD PRIMARY KEY (`'.$_POST['f_name'].'`)'; } if (1 == $newkeys[1]) { $sql_alter .= ', ADD UNIQUE (`'.$_POST['f_name'].'`)'; } if (1 == $newkeys[2]) { $sql_alter .= ', ADD INDEX (`'.$_POST['f_name'].'`)'; } if (1 == $newkeys[3]) { $sql_alter .= ', ADD FULLTEXT INDEX (`'.$_POST['f_name'].'`)'; } $sql_alter .= ';'; if ('' != $add_sql) { $add_sql = $sql_stamm.$add_sql; $sql_alter = "$sql_alter\n$add_sql;"; } $res = MOD_DoSQL($sql_alter); if ($res) { echo '
'; echo '

`'.$_POST['f_name'].'` '.((isset($_POST['editfield'])) ? $lang['L_SQL_CHANGED'] : $lang['L_SQL_CREATED']).'

'; echo highlight_sql($out).'
'; } $fields_infos = getFieldinfos($databases['Name'][$dbid], $table_edit_name); } } mysqli_select_db($config['dbconnection'], $databases['Name'][$dbid]); $sqlt = 'SHOW TABLE STATUS FROM `'.$databases['Name'][$dbid].'` ;'; $res = mod_query($sqlt); $anz_tabellen = mysqli_num_rows($res); $p = 'sql.php?db='.$databases['Name'][$dbid]."&dbid= $dbid&tablename= $table_edit_name&context=2"; echo '
'; echo ''; echo ''; if (0 == $anz_tabellen) { echo ''; } else { echo ''; echo ''; echo ''; } echo '
'.$lang['L_SQL_CREATETABLE'].':
'.$lang['L_SQL_COPYTABLE'].':
'.$lang['L_SQL_NOTABLESINDB'].' `'.$databases['Name'][$dbid].'`
'.$lang['L_SQL_SELECTTABLE'].':     

 

'; if ('' != $table_edit_name) { $sqlf = 'SHOW FULL FIELDS FROM `'.$databases['Name'][$dbid]."`.`$table_edit_name` ;"; $res = mod_query($sqlf); $anz_fields = mysqli_num_rows($res); $fields_infos = getFieldinfos($databases['Name'][$dbid], $table_edit_name); if (MOD_NEW_VERSION) { $t_engine = (isset($fields_infos['_tableinfo_']['ENGINE'])) ? $fields_infos['_tableinfo_']['ENGINE'] : 'MyISAM'; } else { $t_engine = (isset($fields_infos['_tableinfo_']['TYPE'])) ? $fields_infos['_tableinfo_']['TYPE'] : 'MyISAM'; } $t_charset = (isset($fields_infos['_tableinfo_']['DEFAULT CHARSET'])) ? $fields_infos['_tableinfo_']['DEFAULT CHARSET'] : ''; $t_collation = isset($row['Collation']) ? $row['Collation'] : ''; //(isset($fields_infos['_tableinfo_']['COLLATE'])) ? $fields_infos['_tableinfo_']['COLLATE'] : ''; $t_comment = (isset($fields_infos['_tableinfo_']['COMMENT'])) ? substr($fields_infos['_tableinfo_']['COMMENT'], 1, strlen($fields_infos['_tableinfo_']['COMMENT']) - 2) : ''; $t_rowformat = (isset($fields_infos['_tableinfo_']['ROW_FORMAT'])) ? $fields_infos['_tableinfo_']['ROW_FORMAT'] : ''; echo '
'.$lang['L_TABLE']." `$table_edit_name`
"; $td = ''; //Tabelleneigenschaften echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.$lang['L_SQL_TBLPROPSOF'].' `'.$table_edit_name.'` ('.$anz_fields.' '.$lang['L_FIELDS'].')Name
Engine
Row Format
'.$lang['L_CHARSET'].'
'.$lang['L_COLLATION'].'
'.$lang['L_COMMENT'].'
 

 

'; $field_fehler = 0; echo '
'.$lang['L_FIELDS_OF_TABLE'].' `'.$table_edit_name.'`
'; $d_collate = ''; $d_comment = ''; if (isset($_GET['newfield']) || isset($_GET['editfield']) || $field_fehler > 0 || isset($_POST['newfield_posted'])) { if (isset($_GET['editfield'])) { $id = $_GET['editfield']; } $d_name = (isset($_GET['editfield'])) ? $fields_infos[$id]['name'] : ''; $d_type = (isset($_GET['editfield'])) ? $fields_infos[$id]['type'] : ''; $d_size = (isset($_GET['editfield'])) ? $fields_infos[$id]['size'] : ''; $d_null = (isset($_GET['editfield'])) ? $fields_infos[$id]['null'] : ''; $d_attribute = (isset($_GET['editfield'])) ? $fields_infos[$id]['attributes'] : ''; $d_default = ''; if (isset($id) && isset($fields_infos[$id]) && isset($fields_infos[$id]['default'])) { if ('NULL' == $fields_infos[$id]['default']) { $d_default = 'NULL'; } else { $d_default = substr($fields_infos[$id]['default'], 1, strlen($fields_infos[$id]['default']) - 2); } } $d_extra = (isset($_GET['editfield'])) ? $fields_infos[$id]['extra'] : ''; $d_primary = $d_unique = $d_index = $d_fulltext = 0; if (isset($id)) { if (isset($fields_infos[$id]['collate'])) { $d_collate = (isset($_GET['editfield'])) ? $fields_infos[$id]['collate'] : ''; } if (isset($fields_infos[$id]['comment'])) { $d_comment = (isset($_GET['editfield'])) ? $fields_infos[$id]['comment'] : ''; } } $d_privileges = (isset($_GET['editfield'])) ? $fields_infos[$id]['privileges'] : ''; if (isset($_GET['editfield'])) { $d_primary = (in_array($fields_infos[$id]['name'], $fields_infos['_primarykeys_'])) ? 1 : 0; $d_index = (in_array($fields_infos[$id]['name'], $fields_infos['_key_'])) ? 1 : 0; $d_fulltext = (in_array($fields_infos[$id]['name'], $fields_infos['_fulltextkey_'])) ? 1 : 0; $d_unique = (in_array($fields_infos[$id]['name'], $fields_infos['_uniquekey_'])) ? 1 : 0; } echo '
'; if (isset($_GET['editfield'])) { echo ''; } if (isset($_POST['newtablesubmit'])) { echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.((isset($_GET['editfield'])) ? $lang['L_SQL_EDITFIELD'].' `'.$d_name.'`' : $lang['L_SQL_NEWFIELD']).'
Name
Type
Size 
NULL
Default
Extra
'.$lang['L_SQL_INDEXES'].'
'; echo ''; echo '  '; echo ''; echo '  '; echo ''; echo '  '; echo ' '; echo '  '; echo ''; echo '  
'.$lang['L_COLLATION'].'
'.$lang['L_SQL_ATTRIBUTES'].'
'.$lang['L_SQL_ATPOSITION'].':

 

'; } else { echo ''.$lang['L_SQL_INSERTNEWFIELD'].'

'; } //Felder ausgeben echo ''; for ($i = 0; $i < $anz_fields; ++$i) { $cl = ($i % 2) ? 'dbrow' : 'dbrow1'; if (0 == $i) { echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''.$td.$fields_infos[$i]['extra'].''; echo ''; echo ''; echo ''; } echo '
 FieldTypeSizeNULLKeyAttributeDefaultExtra'. $lang['L_COLLATION'].''.$lang['L_COMMENT'].'
'; echo 'edit field  '; echo 'delete field  '; echo ''.($i + 1).'.'.$fields_infos[$i]['name'].''.$fields_infos[$i]['type'].''.$fields_infos[$i]['size'].''.get_output_attribut_null($fields_infos[$i]['null']).''; //key if (in_array($fields_infos[$i]['name'], $fields_infos['_primarykeys_'])) { echo $icon['key_primary']; } if (in_array($fields_infos[$i]['name'], $fields_infos['_fulltextkey_'])) { echo $icon['key_fulltext']; } if (in_array($fields_infos[$i]['name'], $fields_infos['_uniquekey_'])) { echo $icon['key_unique']; } if (in_array($fields_infos[$i]['name'], $fields_infos['_key_'])) { echo $icon['index']; } echo ''.$fields_infos[$i]['attributes'].''.$fields_infos[$i]['default'].''.((MOD_NEW_VERSION) ? $fields_infos[$i]['collate'] : ' ').''.((isset($fields_infos[$i]['comment'])) ? $fields_infos[$i]['comment'] : ' ').'

'; echo '
'.$lang['L_SQL_TABLEINDEXES'].' `'.$table_edit_name.'`
'; echo ' '.((MOD_NEW_VERSION) ? '' : '').' '; $sqlk = 'SHOW KEYS FROM `'.$databases['Name'][$dbid]."`.`$table_edit_name`;"; $res = mod_query($sqlk); $num = mysqli_num_rows($res); if (0 == $num) { echo ''; } else { for ($i = 0; $i < $num; ++$i) { $row = mysqli_fetch_array($res, MYSQLI_ASSOC); if (!isset($row['Comment'])) { $row['Comment'] = ''; } $cl = ($i % 2) ? 'dbrow' : 'dbrow1'; //Images echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if (MOD_NEW_VERSION) { echo ''; } echo ''; echo ''; echo ''; echo ''; } } echo '
  '.$lang['L_NAME'].' '.$lang['L_SQL_COLUMNS'].' '.$lang['L_INFO_SIZE'].''.$lang['L_TABLE_TYPE'].''.$lang['L_SQL_ALLOWDUPS'].' '.$lang['L_SQL_CARDINALITY'].' '.$lang['L_COMMENT'].'
'.$lang['L_SQL_TABLENOINDEXES'].'
'; if ('PRIMARY' == $row['Key_name']) { echo ''; echo ''; echo ''; } else { echo ''; echo ''; echo ''; } echo ''.($i + 1).'.'.$row['Key_name'].''.$row['Column_name'].''; if (isset($row['Sub_part']) && $row['Sub_part'] > 0) { echo $row['Sub_part']; } echo ''.$row['Index_type'].''.((1 == $row['Non_unique']) ? $lang['L_YES'] : $lang['L_NO']).''.(($row['Cardinality'] >= 0) ? $row['Cardinality'] : $lang['L_NO']).''.$row['Comment'].'

'; if ((isset($_GET['sql_createindex'])) && ('1' == $_GET['sql_createindex'])) { ?> '; echo '
'; echo '
'.$lang['L_SETKEYSFOR'].' `'.$table_edit_name.'`
'; //kopf echo ''; //body $sqlFelder = 'DESCRIBE `'.$databases['Name'][$dbid].'`.`'.$_GET['tablename'].'`;'; $res = mod_query($sqlFelder); $num = mysqli_num_rows($res); if (0 == $num) { echo ''; } else { echo ''; echo ''; echo ''; echo ''; echo '
'.$lang['L_SQL_TABLENOINDEXES'].'
'.$lang['L_NAME'].''.$lang['L_TABLE_TYPE'].'
'; echo '

'; //alle Felder holen $feldArray = []; echo ''; echo ''; while ($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) { $feldArray[$row['Field']] = $row['Type']; } //Primaerschluessel holen, um automatisch vorzuselektieren $primaryKeys = getPrimaryKeys($databases['Name'][$dbid], $_GET['tablename']); //eine Select-Box pro Feld anzeigen, Felder für Name und Typ nur in der ersten Zeile for ($i = 0; $i < $num; ++$i) { echo ''; echo ''; echo ''; } ++$i; } echo '
#'.$lang['L_PRIMARYKEY_FIELD'].''.$lang['L_INFO_SIZE'].'
'.($i + 1).'.'; $options = "\n\n".''; $selectedFeldTyp = false; foreach ($feldArray as $feldName => $feldTyp) { $options .= "\n".''; $type = explode('(', $selectedFeldTyp); echo '
'; //Speichern Knopf echo '
'; echo '
'; } }