Documentation TYPO3 par Ameos

htmlword.php

00001 <?php
00002 /* $Id: htmlword.php,v 1.4 2005/08/14 21:34:01 lem9 Exp $ */
00003 // vim: expandtab sw=4 ts=4 sts=4:
00004 
00016 function PMA_exportComment($text) {
00017     return TRUE;
00018 }
00019 
00027 function PMA_exportFooter() {
00028     return PMA_exportOutputHandler('</body></html>');
00029 }
00030 
00038 function PMA_exportHeader() {
00039     global $charset, $charset_of_file;
00040     return PMA_exportOutputHandler('<html xmlns:o="urn:schemas-microsoft-com:office:office"
00041 xmlns:x="urn:schemas-microsoft-com:office:word"
00042 xmlns="http://www.w3.org/TR/REC-html40">
00043 
00044 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
00045 <html>
00046 <head>
00047         <meta http-equiv="Content-type" content="text/html;charset=' . ( isset($charset_of_file) ? $charset_of_file : $charset ) .'" />
00048 </head>
00049 <body>');
00050 }
00051 
00061 function PMA_exportDBHeader($db) {
00062     return PMA_exportOutputHandler('<h1>' . $GLOBALS['strDatabase'] . ' ' . $db . '</h1>');
00063 }
00064 
00074 function PMA_exportDBFooter($db) {
00075     return TRUE;
00076 }
00077 
00087 function PMA_exportDBCreate($db) {
00088     return TRUE;
00089 }
00090 
00104 function PMA_exportData($db, $table, $crlf, $error_url, $sql_query) {
00105     global $what;
00106 
00107     if (!PMA_exportOutputHandler('<h2>' . $GLOBALS['strDumpingData'] . ' ' .$table . '</h2>')) return FALSE;
00108     if (!PMA_exportOutputHandler('<table class="width100" cellspacing="1">')) return FALSE;
00109 
00110     // Gets the data from the database
00111     $result      = PMA_DBI_query($sql_query, NULL, PMA_DBI_QUERY_UNBUFFERED);
00112     $fields_cnt  = PMA_DBI_num_fields($result);
00113 
00114     // If required, get fields name at the first line
00115     if (isset($GLOBALS[$what . '_shownames']) && $GLOBALS[$what . '_shownames'] == 'yes') {
00116         $schema_insert = '<tr class="print-category">';
00117         for ($i = 0; $i < $fields_cnt; $i++) {
00118             $schema_insert .= '<td class="print"><b>' . htmlspecialchars(stripslashes(PMA_DBI_field_name($result, $i))) . '</b></td>';
00119         } // end for
00120         $schema_insert .= '</tr>';
00121         if (!PMA_exportOutputHandler($schema_insert)) return FALSE;
00122     } // end if
00123 
00124     // Format the data
00125     while ($row = PMA_DBI_fetch_row($result)) {
00126         $schema_insert = '<tr class="print-category">';
00127         for ($j = 0; $j < $fields_cnt; $j++) {
00128             if (!isset($row[$j]) || is_null($row[$j])) {
00129                 $value = $GLOBALS[$what . '_replace_null'];
00130             } else if ($row[$j] == '0' || $row[$j] != '') {
00131                 $value = $row[$j];
00132             } else {
00133                 $value = '';
00134             }
00135             $schema_insert .= '<td class="print">' . htmlspecialchars($value) . '</td>';
00136         } // end for
00137         $schema_insert .= '</tr>';
00138         if (!PMA_exportOutputHandler($schema_insert)) return FALSE;
00139     } // end while
00140     PMA_DBI_free_result($result);
00141     if (!PMA_exportOutputHandler('</table>')) return FALSE;
00142 
00143     return TRUE;
00144 }
00145 
00146 function PMA_exportStructure($db, $table, $crlf, $error_url, $do_relation = false, $do_comments = false, $do_mime = false, $dates = false)
00147 {
00148     global $cfgRelation;
00149 
00150     if (!PMA_exportOutputHandler('<h2>' . $GLOBALS['strTableStructure'] . ' ' .$table . '</h2>')) return FALSE;
00151 
00155     $keys_query     = 'SHOW KEYS FROM ' . PMA_backquote($table) . ' FROM '. PMA_backquote($db);
00156     $keys_result    = PMA_DBI_query($keys_query);
00157     $unique_keys    = array();
00158     while ($key = PMA_DBI_fetch_assoc($keys_result)) {
00159         if ($key['Non_unique'] == 0) $unique_keys[] = $key['Column_name'];
00160     }
00161     PMA_DBI_free_result($keys_result);
00162 
00166     PMA_DBI_select_db($db);
00167     $local_query = 'SHOW FIELDS FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
00168     $result      = PMA_DBI_query($local_query);
00169     $fields_cnt  = PMA_DBI_num_rows($result);
00170 
00171     // Check if we can use Relations (Mike Beck)
00172     if ($do_relation && !empty($cfgRelation['relation'])) {
00173         // Find which tables are related with the current one and write it in
00174         // an array
00175         $res_rel = PMA_getForeigners($db, $table);
00176 
00177         if ($res_rel && count($res_rel) > 0) {
00178             $have_rel = TRUE;
00179         } else {
00180             $have_rel = FALSE;
00181         }
00182     }
00183     else {
00184            $have_rel = FALSE;
00185     } // end if
00186 
00190     if (!PMA_exportOutputHandler('<table class="width100" cellspacing="1">')) return FALSE;
00191 
00192     $columns_cnt = 4;
00193     if ($do_relation && $have_rel) {
00194         $columns_cnt++;
00195     }
00196     if ($do_comments && $cfgRelation['commwork']) {
00197         $columns_cnt++;
00198     }
00199     if ($do_mime && $cfgRelation['mimework']) {
00200         $columns_cnt++;
00201     }
00202 
00203     $schema_insert = '<tr class="print-category">';
00204     $schema_insert .= '<th class="print">' . htmlspecialchars($GLOBALS['strField']) . '</th>';
00205     $schema_insert .= '<td class="print"><b>' . htmlspecialchars($GLOBALS['strType']) . '</b></td>';
00206     $schema_insert .= '<td class="print"><b>' . htmlspecialchars($GLOBALS['strNull']) . '</b></td>';
00207     $schema_insert .= '<td class="print"><b>' . htmlspecialchars($GLOBALS['strDefault']) . '</b></td>';
00208     if ($do_relation && $have_rel) {
00209         $schema_insert .= '<td class="print"><b>' . htmlspecialchars($GLOBALS['strLinksTo']) . '</b></td>';
00210     }
00211     if ($do_comments && $cfgRelation['commwork']) {
00212         $schema_insert .= '<td class="print"><b>' . htmlspecialchars($GLOBALS['strComments']) . '</b></td>';
00213         $comments = PMA_getComments($db, $table);
00214     }
00215     if ($do_mime && $cfgRelation['mimework']) {
00216         $schema_insert .= '<td class="print"><b>' . htmlspecialchars('MIME') . '</b></td>';
00217         $mime_map = PMA_getMIME($db, $table, true);
00218     }
00219     $schema_insert .= '</tr>';
00220 
00221     if (!PMA_exportOutputHandler($schema_insert)) return FALSE;
00222 
00223     while ($row = PMA_DBI_fetch_assoc($result)) {
00224 
00225         $schema_insert = '<tr class="print-category">';
00226         $type             = $row['Type'];
00227         // reformat mysql query output - staybyte - 9. June 2001
00228         // loic1: set or enum types: slashes single quotes inside options
00229         if (eregi('^(set|enum)\((.+)\)$', $type, $tmp = array())) {
00230             $tmp[2]       = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
00231             $type         = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
00232             $type_nowrap  = '';
00233 
00234             $binary       = 0;
00235             $unsigned     = 0;
00236             $zerofill     = 0;
00237         } else {
00238             $type_nowrap  = ' nowrap="nowrap"';
00239             $type         = eregi_replace('BINARY', '', $type);
00240             $type         = eregi_replace('ZEROFILL', '', $type);
00241             $type         = eregi_replace('UNSIGNED', '', $type);
00242             if (empty($type)) {
00243                 $type     = '&nbsp;';
00244             }
00245 
00246             $binary       = eregi('BINARY', $row['Type'], $test = array());
00247             $unsigned     = eregi('UNSIGNED', $row['Type'], $test = array());
00248             $zerofill     = eregi('ZEROFILL', $row['Type'], $test = array());
00249         }
00250         $strAttribute     = '&nbsp;';
00251         if ($binary) {
00252             $strAttribute = 'BINARY';
00253         }
00254         if ($unsigned) {
00255             $strAttribute = 'UNSIGNED';
00256         }
00257         if ($zerofill) {
00258             $strAttribute = 'UNSIGNED ZEROFILL';
00259         }
00260         if (!isset($row['Default'])) {
00261             if ($row['Null'] != '') {
00262                 $row['Default'] = 'NULL';
00263             }
00264         } else {
00265             $row['Default'] = $row['Default'];
00266         }
00267 
00268         $fmt_pre = '';
00269         $fmt_post = '';
00270         if (in_array($row['Field'], $unique_keys)) {
00271             $fmt_pre = '<b>' . $fmt_pre;
00272             $fmt_post = $fmt_post . '</b>';
00273         }
00274         if ($row['Key']=='PRI') {
00275             $fmt_pre = '<i>' . $fmt_pre;
00276             $fmt_post = $fmt_post . '</i>';
00277         }
00278         $schema_insert .= '<td class="print">' . $fmt_pre . htmlspecialchars($row['Field']) . $fmt_post . '</td>';
00279         $schema_insert .= '<td class="print">' . htmlspecialchars($type) . '</td>';
00280         $schema_insert .= '<td class="print">' . htmlspecialchars($row['Null'] == '' ? $GLOBALS['strNo'] : $GLOBALS['strYes']) . '</td>';
00281         $schema_insert .= '<td class="print">' . htmlspecialchars(isset($row['Default']) ? $row['Default'] : '') . '</td>';
00282 
00283         $field_name = $row['Field'];
00284 
00285         if ($do_relation && $have_rel) {
00286             $schema_insert .= '<td class="print">' . (isset($res_rel[$field_name]) ? htmlspecialchars($res_rel[$field_name]['foreign_table'] . ' (' . $res_rel[$field_name]['foreign_field'] . ')') : '') . '</td>';
00287         }
00288         if ($do_comments && $cfgRelation['commwork']) {
00289             $schema_insert .= '<td class="print">' . ( isset($comments[$field_name]) ? htmlspecialchars($comments[$field_name]) : '') . '</td>';
00290         }
00291         if ($do_mime && $cfgRelation['mimework']) {
00292             $schema_insert .= '<td class="print">' . ( isset($mime_map[$field_name]) ? htmlspecialchars(str_replace('_', '/', $mime_map[$field_name]['mimetype'])) : '') . '</td>';
00293         }
00294 
00295         $schema_insert .= '</tr>';
00296 
00297         if (!PMA_exportOutputHandler($schema_insert)) return FALSE;
00298     } // end while
00299     PMA_DBI_free_result($result);
00300 
00301     return PMA_exportOutputHandler('</table>');
00302 }
00303 ?>


Généré par Les experts TYPO3 avec  doxygen 1.4.6