Add Texy! markup export.

This commit is contained in:
Michal Čihař
2008-01-16 02:07:26 +00:00
parent c6deb35515
commit 2ddcac3f82
56 changed files with 390 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
+ [export] new plugin "codegen" for NHibernate, thanks to caocao; I'm
looking for a name more descriptive than codegen, taking into account
that it might later support other formats like JSON in the same plugin
+ [export] new export to Texy! markup
+ [lang] Finnish update, thanks to Jouni Kahkonen
+ [config] new parameter $cfg['CheckConfigurationPermissions']
+ rfe #1775288 [transformation] proper display if IP-address stored as INT

View File

@@ -1063,4 +1063,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1062,4 +1062,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1064,4 +1064,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1059,4 +1059,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1056,4 +1056,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1039,4 +1039,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1062,4 +1062,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1036,4 +1036,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1059,4 +1059,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1032,4 +1032,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1064,4 +1064,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1043,4 +1043,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1037,4 +1037,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -499,8 +499,8 @@ $strNoDropDatabases = 'Příkaz „DROP DATABASE“ je vypnutý.';
$strNoExplain = 'Bez vysvětlení (EXPLAIN) SQL';
$strNoFilesFoundInZip = 'V ZIP archívu nebyly nalezeny žádné soubory!';
$strNoFrames = 'phpMyAdmin se lépe používá v prohlížeči podporujícím rámy („FRAME“).';
$strNoIndexPartsDefined = 'Nebyla zadána žádná část indexu!';
$strNoIndex = 'Není definován žádný index!';
$strNoIndexPartsDefined = 'Nebyla zadána žádná část indexu!';
$strNoModification = 'Žádná změna';
$strNo = 'Ne';
$strNone = 'Žádná';
@@ -700,6 +700,7 @@ $strSavePosition = 'Uložit rozmístění';
$strSave = 'Ulož';
$strScaleFactorSmall = 'Měřítko je příliš malé, aby se schéma vešlo na jednu stránku';
$strSearchFormTitle = 'Vyhledávání v databázi';
$strSearchInField = 'Uvnitř pole:';
$strSearchInTables = 'V tabulkách:';
$strSearchNeedle = 'Slova nebo hodnoty, které chcete vyhledat (zástupný znak: „%“):';
$strSearchOption1 = 'alespoň jedno ze slov';
@@ -928,6 +929,7 @@ $strTakeIt = 'zvolit';
$strTblPrivileges = 'Oprávnění pro jednotlivé tabulky';
$strTempData = 'Dočasná data';
$strTextAreaLength = 'Tento sloupec možná nepůjde <br />(kvůli délce) upravit ';
$strTexyText = 'Texy! text';
$strThai = 'Thajština';
$strThemeDefaultNotFound = 'Výchozí vzhled %s nebyl nalezen!';
$strThemeNoPreviewAvailable = 'Náhled není k dispozici.';
@@ -1037,5 +1039,4 @@ $strYes = 'Ano';
$strZeroRemovesTheLimit = 'Poznámka: Nastavení těchto parametrů na 0 (nulu) odstraní omezení.';
$strZip = '„zazipováno“';
$strSearchInField = 'Inside field:'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1060,4 +1060,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -929,6 +929,7 @@ $strTakeIt = 'take it';
$strTblPrivileges = 'Table-specific privileges';
$strTempData = 'Temporary data';
$strTextAreaLength = ' Because of its length,<br /> this field might not be editable ';
$strTexyText = 'Texy! text';
$strThai = 'Thai';
$strThemeDefaultNotFound = 'Default theme %s not found!';
$strThemeNoPreviewAvailable = 'No preview available.';

View File

@@ -1044,4 +1044,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strZeroRemovesTheLimit = 'Huom: Näiden valintojen asettaminen nollaksi (0) poi
$strZip = '"zip-pakattu"';
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1035,4 +1035,5 @@ $strRebuild = 'Reconstruire';
$strRepair = 'Réparer';
$strRemovePartitioning = 'Supprimer le partitionnement';
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1037,4 +1037,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1064,4 +1064,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1044,4 +1044,5 @@ $strZip = 'Zip-komprimiert';
$strExportImportToScale = 'Export/Import to scale'; // to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1061,4 +1061,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1056,4 +1056,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1064,4 +1064,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1055,4 +1055,5 @@ $strUploadLimit = 'You probably tried to upload too large file. Please refer to
$strUploadsNotAllowed = 'File uploads are not allowed on this server.';//to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1054,4 +1054,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1042,4 +1042,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1059,4 +1059,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1061,4 +1061,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1054,4 +1054,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1039,4 +1039,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1076,4 +1076,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1059,4 +1059,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1036,4 +1036,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1061,4 +1061,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1032,4 +1032,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1065,4 +1065,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1057,4 +1057,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1039,4 +1039,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1038,4 +1038,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1041,4 +1041,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1039,4 +1039,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1058,4 +1058,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1034,4 +1034,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1037,4 +1037,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1050,4 +1050,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1060,4 +1060,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1044,4 +1044,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -1058,4 +1058,5 @@ $strRebuild = 'Rebuild'; //to translate
$strRepair = 'Repair'; //to translate
$strRemovePartitioning = 'Remove partitioning'; //to translate
$strSearchInField = 'Inside field:'; //to translate
$strTexyText = 'Texy! text'; //to translate
?>

View File

@@ -0,0 +1,333 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Sample export to Texy! text.
*/
/**
*
*/
if (isset($plugin_list)) {
$plugin_list['texytext'] = array(
'text' => 'strTexyText',
'extension' => 'txt',
'mime_type' => 'text/plain',
'options' => array(
array('type' => 'bool',
'name' => 'structure',
'text' => 'strStructure',
'force' => 'data'),
array('type' => 'bgroup',
'name' => 'data',
'text' => 'strData',
'force' => 'structure'),
array('type' => 'text',
'name' => 'null',
'text' => 'strReplaceNULLBy'),
array('type' => 'bool',
'name' => 'columns',
'text' => 'strPutColNames'),
array('type' => 'egroup'),
),
'options_text' => 'strOptions',
);
} else {
/**
* Outputs comment
*
* @param string Text of comment
*
* @return bool Whether it suceeded
*/
function PMA_exportComment($text) {
return TRUE;
}
/**
* Outputs export footer
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportFooter() {
return true;
}
/**
* Outputs export header
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportHeader() {
return true;
}
/**
* Outputs database header
*
* @param string Database name
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportDBHeader($db) {
return PMA_exportOutputHandler('===' . $GLOBALS['strDatabase'] . ' ' . $db . "\n\n");
}
/**
* Outputs database footer
*
* @param string Database name
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportDBFooter($db) {
return TRUE;
}
/**
* Outputs create database database
*
* @param string Database name
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportDBCreate($db) {
return TRUE;
}
/**
* Outputs the content of a table in CSV format
*
* @param string the database name
* @param string the table name
* @param string the end of line sequence
* @param string the url to go back in case of error
* @param string SQL query for obtaining data
*
* @return bool Whether it suceeded
*
* @access public
*/
function PMA_exportData($db, $table, $crlf, $error_url, $sql_query)
{
global $what;
if (!PMA_exportOutputHandler('== ' . $GLOBALS['strDumpingData'] . ' ' . $table . "\n\n")) {
return FALSE;
}
// Gets the data from the database
$result = PMA_DBI_query($sql_query, null, PMA_DBI_QUERY_UNBUFFERED);
$fields_cnt = PMA_DBI_num_fields($result);
// If required, get fields name at the first line
if (isset($GLOBALS[$what . '_columns'])) {
$text_output = "|------\n";
for ($i = 0; $i < $fields_cnt; $i++) {
$text_output .= '|' . htmlspecialchars(stripslashes(PMA_DBI_field_name($result, $i)));
} // end for
$text_output .= "\n|------\n";
if (!PMA_exportOutputHandler($text_output)) {
return FALSE;
}
} // end if
// Format the data
while ($row = PMA_DBI_fetch_row($result)) {
$text_output = '';
for ($j = 0; $j < $fields_cnt; $j++) {
if (!isset($row[$j]) || is_null($row[$j])) {
$value = $GLOBALS[$what . '_null'];
} elseif ($row[$j] == '0' || $row[$j] != '') {
$value = $row[$j];
} else {
$value = ' ';
}
$text_output .= '|' . htmlspecialchars($value);
} // end for
$text_output .= "\n";
if (!PMA_exportOutputHandler($text_output)) {
return FALSE;
}
} // end while
PMA_DBI_free_result($result);
return TRUE;
}
function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = false, $do_comments = false, $do_mime = false, $dates = false, $dummy)
{
global $cfgRelation;
if (!PMA_exportOutputHandler('== ' . $GLOBALS['strTableStructure'] . ' ' .$table . "\n\n")) {
return FALSE;
}
/**
* Get the unique keys in the table
*/
$keys_query = 'SHOW KEYS FROM ' . PMA_backquote($table) . ' FROM '. PMA_backquote($db);
$keys_result = PMA_DBI_query($keys_query);
$unique_keys = array();
while ($key = PMA_DBI_fetch_assoc($keys_result)) {
if ($key['Non_unique'] == 0) {
$unique_keys[] = $key['Column_name'];
}
}
PMA_DBI_free_result($keys_result);
/**
* Gets fields properties
*/
PMA_DBI_select_db($db);
$local_query = 'SHOW FIELDS FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
$result = PMA_DBI_query($local_query);
$fields_cnt = PMA_DBI_num_rows($result);
// Check if we can use Relations (Mike Beck)
if ($do_relation && !empty($cfgRelation['relation'])) {
// Find which tables are related with the current one and write it in
// an array
$res_rel = PMA_getForeigners($db, $table);
if ($res_rel && count($res_rel) > 0) {
$have_rel = TRUE;
} else {
$have_rel = FALSE;
}
} else {
$have_rel = FALSE;
} // end if
/**
* Displays the table structure
*/
$columns_cnt = 4;
if ($do_relation && $have_rel) {
$columns_cnt++;
}
if ($do_comments && $cfgRelation['commwork']) {
$columns_cnt++;
}
if ($do_mime && $cfgRelation['mimework']) {
$columns_cnt++;
}
$text_output = "|------\n";
$text_output .= '|' . htmlspecialchars($GLOBALS['strField']);
$text_output .= '|' . htmlspecialchars($GLOBALS['strType']);
$text_output .= '|' . htmlspecialchars($GLOBALS['strNull']);
$text_output .= '|' . htmlspecialchars($GLOBALS['strDefault']);
if ($do_relation && $have_rel) {
$text_output .= '|' . htmlspecialchars($GLOBALS['strLinksTo']);
}
if ($do_comments) {
$text_output .= '|' . htmlspecialchars($GLOBALS['strComments']);
$comments = PMA_getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$text_output .= '|' . htmlspecialchars('MIME');
$mime_map = PMA_getMIME($db, $table, true);
}
$text_output .= "\n|------\n";
if (!PMA_exportOutputHandler($text_output)) {
return FALSE;
}
while ($row = PMA_DBI_fetch_assoc($result)) {
$text_output = '';
$type = $row['Type'];
// reformat mysql query output - staybyte - 9. June 2001
// loic1: set or enum types: slashes single quotes inside options
if (eregi('^(set|enum)\((.+)\)$', $type, $tmp)) {
$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
$type = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
$type_nowrap = '';
$binary = 0;
$unsigned = 0;
$zerofill = 0;
} else {
$type_nowrap = ' nowrap="nowrap"';
$type = eregi_replace('BINARY', '', $type);
$type = eregi_replace('ZEROFILL', '', $type);
$type = eregi_replace('UNSIGNED', '', $type);
if (empty($type)) {
$type = '&nbsp;';
}
$binary = eregi('BINARY', $row['Type']);
$unsigned = eregi('UNSIGNED', $row['Type']);
$zerofill = eregi('ZEROFILL', $row['Type']);
}
$strAttribute = '&nbsp;';
if ($binary) {
$strAttribute = 'BINARY';
}
if ($unsigned) {
$strAttribute = 'UNSIGNED';
}
if ($zerofill) {
$strAttribute = 'UNSIGNED ZEROFILL';
}
if (!isset($row['Default'])) {
if ($row['Null'] != '') {
$row['Default'] = 'NULL';
}
} else {
$row['Default'] = $row['Default'];
}
$fmt_pre = '';
$fmt_post = '';
if (in_array($row['Field'], $unique_keys)) {
$fmt_pre = '**' . $fmt_pre;
$fmt_post = $fmt_post . '**';
}
if ($row['Key']=='PRI') {
$fmt_pre = '//' . $fmt_pre;
$fmt_post = $fmt_post . '//';
}
$text_output .= '|' . $fmt_pre . htmlspecialchars($row['Field']) . $fmt_post;
$text_output .= '|' . htmlspecialchars($type);
$text_output .= '|' . htmlspecialchars($row['Null'] == '' ? $GLOBALS['strNo'] : $GLOBALS['strYes']);
$text_output .= '|' . htmlspecialchars(isset($row['Default']) ? $row['Default'] : '');
$field_name = $row['Field'];
if ($do_relation && $have_rel) {
$text_output .= '|' . (isset($res_rel[$field_name]) ? htmlspecialchars($res_rel[$field_name]['foreign_table'] . ' (' . $res_rel[$field_name]['foreign_field'] . ')') : '');
}
if ($do_comments && $cfgRelation['commwork']) {
$text_output .= '|' . (isset($comments[$field_name]) ? htmlspecialchars($comments[$field_name]) : '');
}
if ($do_mime && $cfgRelation['mimework']) {
$text_output .= '|' . (isset($mime_map[$field_name]) ? htmlspecialchars(str_replace('_', '/', $mime_map[$field_name]['mimetype'])) : '');
}
$text_output .= "\n";
if (!PMA_exportOutputHandler($text_output)) {
return FALSE;
}
} // end while
PMA_DBI_free_result($result);
return true;
}
}
?>