'strHTMLWord', 'extension' => 'doc', 'mime_type' => 'application/vnd.ms-word', 'force_file' => true, '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 PMA_exportOutputHandler(''); } /** * Outputs export header * * @return bool Whether it suceeded * * @access public */ function PMA_exportHeader() { global $charset, $charset_of_file; return PMA_exportOutputHandler(' '); } /** * Outputs database header * * @param string Database name * * @return bool Whether it suceeded * * @access public */ function PMA_exportDBHeader($db) { return PMA_exportOutputHandler('

' . $GLOBALS['strDatabase'] . ' ' . $db . '

'); } /** * 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 . '

')) { return FALSE; } if (!PMA_exportOutputHandler('')) { 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['htmlword_columns'])) { $schema_insert = ''; for ($i = 0; $i < $fields_cnt; $i++) { $schema_insert .= ''; } // end for $schema_insert .= ''; if (!PMA_exportOutputHandler($schema_insert)) { return FALSE; } } // end if // Format the data while ($row = PMA_DBI_fetch_row($result)) { $schema_insert = ''; 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 = ''; } $schema_insert .= ''; } // end for $schema_insert .= ''; if (!PMA_exportOutputHandler($schema_insert)) { return FALSE; } } // end while PMA_DBI_free_result($result); if (!PMA_exportOutputHandler('
')) { return FALSE; } 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 . '

')) { 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 */ if (!PMA_exportOutputHandler('')) { return FALSE; } $columns_cnt = 4; if ($do_relation && $have_rel) { $columns_cnt++; } if ($do_comments && $cfgRelation['commwork']) { $columns_cnt++; } if ($do_mime && $cfgRelation['mimework']) { $columns_cnt++; } $schema_insert = ''; $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; if ($do_relation && $have_rel) { $schema_insert .= ''; } if ($do_comments) { $schema_insert .= ''; $comments = PMA_getComments($db, $table); } if ($do_mime && $cfgRelation['mimework']) { $schema_insert .= ''; $mime_map = PMA_getMIME($db, $table, true); } $schema_insert .= ''; if (!PMA_exportOutputHandler($schema_insert)) { return FALSE; } while ($row = PMA_DBI_fetch_assoc($result)) { $schema_insert = ''; $type = $row['Type']; // reformat mysql query output - staybyte - 9. June 2001 // loic1: set or enum types: slashes single quotes inside options if (preg_match('/^(set|enum)\((.+)\)$/i', $type, $tmp)) { $tmp[2] = substr(preg_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 = preg_replace('/BINARY/i', '', $type); $type = preg_replace('/ZEROFILL/i', '', $type); $type = preg_replace('/UNSIGNED/i', '', $type); if (empty($type)) { $type = ' '; } $binary = preg_match('/BINARY/i', $row['Type']); $unsigned = preg_match('/UNSIGNED/i', $row['Type']); $zerofill = preg_match('/ZEROFILL/i', $row['Type']); } $strAttribute = ' '; if ($binary) { $strAttribute = 'BINARY'; } if ($unsigned) { $strAttribute = 'UNSIGNED'; } if ($zerofill) { $strAttribute = 'UNSIGNED ZEROFILL'; } if (!isset($row['Default'])) { if ($row['Null'] != 'NO') { $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 . ''; } $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; $schema_insert .= ''; $field_name = $row['Field']; if ($do_relation && $have_rel) { $schema_insert .= ''; } if ($do_comments && $cfgRelation['commwork']) { $schema_insert .= ''; } if ($do_mime && $cfgRelation['mimework']) { $schema_insert .= ''; } $schema_insert .= ''; if (!PMA_exportOutputHandler($schema_insert)) { return FALSE; } } // end while PMA_DBI_free_result($result); return PMA_exportOutputHandler('
'); } } ?>