00001 <?php
00002
00003
00004
00016 function PMA_exportComment($text) {
00017 return TRUE;
00018 }
00019
00027 function PMA_exportFooter() {
00028 return TRUE;
00029 }
00030
00038 function PMA_exportHeader() {
00039 global $what;
00040 global $add_character;
00041 global $separator;
00042 global $enclosed;
00043 global $escaped;
00044
00045
00046 if ($what == 'excel') {
00047 $add_character = "\015\012";
00048 $separator = isset($GLOBALS['excel_edition']) && $GLOBALS['excel_edition'] == 'mac' ? ';' : ',';
00049 $enclosed = '"';
00050 $escaped = '"';
00051 if (isset($GLOBALS['showexcelnames']) && $GLOBALS['showexcelnames'] == 'yes') {
00052 $GLOBALS['showcsvnames'] = 'yes';
00053 }
00054 } else {
00055 if (empty($add_character)) {
00056 $add_character = $GLOBALS['crlf'];
00057 } else {
00058 $add_character = str_replace('\\r', "\015", $add_character);
00059 $add_character = str_replace('\\n', "\012", $add_character);
00060 $add_character = str_replace('\\t', "\011", $add_character);
00061 }
00062 $separator = str_replace('\\t', "\011", $separator);
00063 }
00064 return TRUE;
00065 }
00066
00076 function PMA_exportDBHeader($db) {
00077 return TRUE;
00078 }
00079
00089 function PMA_exportDBFooter($db) {
00090 return TRUE;
00091 }
00092
00102 function PMA_exportDBCreate($db) {
00103 return TRUE;
00104 }
00105
00119 function PMA_exportData($db, $table, $crlf, $error_url, $sql_query) {
00120 global $what;
00121 global $add_character;
00122 global $separator;
00123 global $enclosed;
00124 global $escaped;
00125
00126
00127 $result = PMA_DBI_query($sql_query, NULL, PMA_DBI_QUERY_UNBUFFERED);
00128 $fields_cnt = PMA_DBI_num_fields($result);
00129
00130
00131 if (isset($GLOBALS['showcsvnames']) && $GLOBALS['showcsvnames'] == 'yes') {
00132 $schema_insert = '';
00133 for ($i = 0; $i < $fields_cnt; $i++) {
00134 if ($enclosed == '') {
00135 $schema_insert .= stripslashes(PMA_DBI_field_name($result, $i));
00136 } else {
00137 $schema_insert .= $enclosed
00138 . str_replace($enclosed, $escaped . $enclosed, stripslashes(PMA_DBI_field_name($result, $i)))
00139 . $enclosed;
00140 }
00141 $schema_insert .= $separator;
00142 }
00143 $schema_insert =trim(substr($schema_insert, 0, -1));
00144 if (!PMA_exportOutputHandler($schema_insert . $add_character)) return FALSE;
00145 }
00146
00147
00148 while ($row = PMA_DBI_fetch_row($result)) {
00149 $schema_insert = '';
00150 for ($j = 0; $j < $fields_cnt; $j++) {
00151 if (!isset($row[$j]) || is_null($row[$j])) {
00152 $schema_insert .= $GLOBALS[$what . '_replace_null'];
00153 }
00154 else if ($row[$j] == '0' || $row[$j] != '') {
00155
00156 if ($what == 'excel') {
00157 $row[$j] = ereg_replace("\015(\012)?", "\012", $row[$j]);
00158 }
00159 if ($enclosed == '') {
00160 $schema_insert .= $row[$j];
00161 } else {
00162 $schema_insert .= $enclosed
00163 . str_replace($enclosed, $escaped . $enclosed, $row[$j])
00164 . $enclosed;
00165 }
00166 }
00167 else {
00168 $schema_insert .= '';
00169 }
00170 if ($j < $fields_cnt-1) {
00171 $schema_insert .= $separator;
00172 }
00173 }
00174 if (!PMA_exportOutputHandler($schema_insert . $add_character)) return FALSE;
00175 }
00176 PMA_DBI_free_result($result);
00177
00178 return TRUE;
00179 }
00180 ?>