diff --git a/htdocs/sql/libraries/export/yaml.php b/htdocs/sql/libraries/export/yaml.php new file mode 100755 --- /dev/null +++ b/htdocs/sql/libraries/export/yaml.php @@ -0,0 +1,154 @@ + 'YAML', + 'extension' => 'yml', + 'mime_type' => 'text/yaml', + 'force_file' => true, + 'options' => array( + array('type' => 'hidden', 'name' => 'data'), + ), + 'options_text' => 'strOptions', + ); +} else { + +/** + * Set of functions used to build exports of tables + */ + +/** + * 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 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 YAML 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) +{ + $result = PMA_DBI_query($sql_query, null, PMA_DBI_QUERY_UNBUFFERED); + + $columns_cnt = PMA_DBI_num_fields($result); + for ($i = 0; $i < $columns_cnt; $i++) { + $columns[$i] = stripslashes(PMA_DBI_field_name($result, $i)); + } + unset($i); + + $cnt = 0; + $buffer = ''; + while ($record = PMA_DBI_fetch_row($result)) { + $cnt++; + $buffer = $cnt . ":$crlf"; + for ($i = 0; $i < $columns_cnt; $i++) { + if (isset($record[$i]) && !is_null($record[$i])) { + $buffer .= ' ' . $columns[$i] . ': ' . htmlspecialchars($record[$i]) . $crlf; + } + } + + if (!PMA_exportOutputHandler($buffer)) { + return FALSE; + } + } + PMA_DBI_free_result($result); + + return TRUE; +} + +} +?>