[Phpmyadmin-git] [SCM] phpMyAdmin branch, export_xml, updated. RELEASE_3_4_0BETA1-14-g2fc82af

Dieter Adriaenssens ruleant at users.sourceforge.net
Sat Apr 2 14:07:44 CEST 2011


The branch, export_xml has been updated
       via  2fc82afc979811a542cb749329cb48e639085fb5 (commit)
       via  bbdf4cf808e6f4cbca73081326b84510668c72f7 (commit)
      from  87575151eecfb372b82379e10f5d8776617993ee (commit)


- Log -----------------------------------------------------------------
commit 2fc82afc979811a542cb749329cb48e639085fb5
Author: Dieter Adriaenssens <ruleant at users.sourceforge.net>
Date:   Sat Apr 2 14:07:12 2011 +0200

    rename variables to represent better what they are for

commit bbdf4cf808e6f4cbca73081326b84510668c72f7
Author: Aamir Khan <systemw0rm at users.sourceforge.net>
Date:   Sat Apr 2 13:57:02 2011 +0200

    xml export : export views

-----------------------------------------------------------------------

Summary of changes:
 libraries/export/xml.php |   68 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/libraries/export/xml.php b/libraries/export/xml.php
index 58e3876..ff2fdf9 100644
--- a/libraries/export/xml.php
+++ b/libraries/export/xml.php
@@ -75,6 +75,55 @@ function PMA_exportFooter() {
 }
 
 /**
+ * Returns Query for CREATE TABLE Definitions
+ *
+ * @param   string   the SHOW CREATE TABLE query statement result
+ * @param   string   the table name
+ * @param   string   the end of line sequence
+ *
+ * @return  string   resulting definition
+ *
+ * @access  public
+ */
+function PMA_getTableDef($table_def, $table_name, $crlf) {
+    $create_query = '';
+    $create_query .= '            <pma:table name="' . $table_name . '">' . $crlf;
+
+    $table_def = "                " . $table_def;
+    $table_def = str_replace("\n", "\n                ", $table_def);
+
+    $create_query .= $table_def . ';' . $crlf;
+    $create_query .= '            </pma:table>' . $crlf;
+    return $create_query;
+}
+
+/**
+ * Returns a Actual View Definition
+ *
+ * @param   string   the Database name
+ * @param   string   the SHOW CREATE TABLE query statement result
+ * @param   string   the view name
+ * @param   string   the end of line sequence
+ *
+ * @return  string   resulting definition
+ *
+ * @access  public
+ */
+function PMA_getViewDef($db, $view_def, $view_name, $crlf) {
+    $create_query = '';
+    $create_query .= '            <pma:view name="' . $view_name . '">' . $crlf;
+    $view_def = "                " . $view_def;
+    $view_def = str_replace("\n", "\n                ", $view_def);
+
+    // drop database name from VIEW creation.
+    $create_query .= $view_def . ';' . $crlf;
+    $create_query = preg_replace('/' . PMA_backquote($db) . '\./', '', $create_query);
+
+    $create_query .= '            </pma:view>' . $crlf;
+    return $create_query;
+}
+
+/**
  * Outputs export header
  *
  * @return  bool        Whether it suceeded
@@ -186,7 +235,7 @@ function PMA_exportHeader() {
         foreach ($tables as $table) {
             // Export tables and views
             $result = PMA_DBI_fetch_result('SHOW CREATE TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table), 0);
-            $tbl =  $result[$table][1];
+            $table_def =  $result[$table][1];
             
             $is_view = PMA_isView($db, $table);
             
@@ -204,13 +253,12 @@ function PMA_exportHeader() {
                 continue;
             }
             
-            $head .= '            <pma:' . $type . ' name="' . $table . '">' . $crlf;
-            
-            $tbl = "                " . $tbl;
-            $tbl = str_replace("\n", "\n                ", $tbl);
-            
-            $head .= $tbl . ';' . $crlf;
-            $head .= '            </pma:' . $type . '>' . $crlf;
+            if ($is_view &&  isset($GLOBALS[$what . '_export_views'])) {
+                $view_create[$table] = PMA_getViewDef($db, $table_def, $table, $crlf);
+                continue;
+            }
+
+            $head .= PMA_getTableDef($table_def, $table, $crlf);
             
             if (isset($GLOBALS[$what . '_export_triggers']) && $GLOBALS[$what . '_export_triggers']) {
                 // Export triggers
@@ -235,6 +283,10 @@ function PMA_exportHeader() {
             }
         }
         
+        foreach ($view_create as $view => $definition) {
+            $head .= $definition;
+        }
+
         unset($result);
         
         $head .= '        </pma:database>' . $crlf;


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list