'strOpenDocumentSpreadsheet', 'extension' => 'ods', 'mime_type' => 'application/vnd.oasis.opendocument.spreadsheet', 'force_file' => true, 'options' => array( array('type' => 'text', 'name' => 'null', 'text' => 'strReplaceNULLBy'), array('type' => 'bool', 'name' => 'columns', 'text' => 'strPutColNames'), array('type' => 'hidden', 'name' => 'data'), ), 'options_text' => 'strOptions', ); } else { $GLOBALS['ods_buffer'] = ''; require_once './libraries/opendocument.lib.php'; /** * 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() { $GLOBALS['ods_buffer'] .= '' . '' . ''; if (!PMA_exportOutputHandler(PMA_createOpenDocument('application/vnd.oasis.opendocument.spreadsheet', $GLOBALS['ods_buffer']))) { return FALSE; } return TRUE; } /** * Outputs export header * * @return bool Whether it suceeded * * @access public */ function PMA_exportHeader() { $GLOBALS['ods_buffer'] .= '' . '' . '' . ''; return TRUE; } /** * Outputs database header * * @param string Database name * * @return bool Whether it suceeded * * @access public */ function PMA_exportDBHeader($db) { return TRUE; } /** * 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; // Gets the data from the database $result = PMA_DBI_query($sql_query, null, PMA_DBI_QUERY_UNBUFFERED); $fields_cnt = PMA_DBI_num_fields($result); $fields_meta = PMA_DBI_get_fields_meta($result); $field_flags = array(); for ($j = 0; $j < $fields_cnt; $j++) { $field_flags[$j] = PMA_DBI_field_flags($result, $j); } $GLOBALS['ods_buffer'] .= ''; // If required, get fields name at the first line if (isset($GLOBALS[$what . '_columns'])) { $GLOBALS['ods_buffer'] .= ''; for ($i = 0; $i < $fields_cnt; $i++) { $GLOBALS['ods_buffer'] .= '' . '' . htmlspecialchars(stripslashes(PMA_DBI_field_name($result, $i))) . '' . ''; } // end for $GLOBALS['ods_buffer'] .= ''; } // end if // Format the data while ($row = PMA_DBI_fetch_row($result)) { $GLOBALS['ods_buffer'] .= ''; for ($j = 0; $j < $fields_cnt; $j++) { if (!isset($row[$j]) || is_null($row[$j])) { $GLOBALS['ods_buffer'] .= '' . '' . htmlspecialchars($GLOBALS[$what . '_null']) . '' . ''; // ignore BLOB } elseif (stristr($field_flags[$j], 'BINARY') && $fields_meta[$j]->blob) { $GLOBALS['ods_buffer'] .= '' . '' . ''; } elseif ($fields_meta[$j]->numeric && $fields_meta[$j]->type != 'timestamp' && ! $fields_meta[$j]->blob) { $GLOBALS['ods_buffer'] .= '' . '' . htmlspecialchars($row[$j]) . '' . ''; } else { $GLOBALS['ods_buffer'] .= '' . '' . htmlspecialchars($row[$j]) . '' . ''; } } // end for $GLOBALS['ods_buffer'] .= ''; } // end while PMA_DBI_free_result($result); $GLOBALS['ods_buffer'] .= ''; return TRUE; } } ?>