[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_7-21392-gecb05de

Marc Delisle lem9 at users.sourceforge.net
Sun Oct 23 16:33:47 CEST 2011


The branch, master has been updated
       via  ecb05de4f6a4cb0011f24465fe1985f8e7573986 (commit)
       via  694c1cdf751e1fcbe2435087e3cea0dcd85ca458 (commit)
      from  c0674103719c6b50e9d5abebf03ab70d3cb562b3 (commit)


- Log -----------------------------------------------------------------
commit ecb05de4f6a4cb0011f24465fe1985f8e7573986
Merge: c067410 694c1cd
Author: Marc Delisle <marc at infomarc.info>
Date:   Sun Oct 23 10:33:01 2011 -0400

    Fix merge conflicts

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

Summary of changes:
 ChangeLog        |    1 +
 db_structure.php |   62 ++++++++++++++++++++++++++++++++++++++---------------
 2 files changed, 45 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8cbadcc..fbfe496 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -55,6 +55,7 @@ phpMyAdmin - ChangeLog
 3.4.8.0 (not yet released)
 - bug #3425230 [interface] enum data split at space char (more space to edit)
 - bug #3426840 [interface] ENUM/SET editor can't handle commas in values
+- bug #3427256 [interface] no links to browse/empty views and tables
 
 3.4.7.0 (2011-10-23)
 - bug #3418610 [interface] Links in navigation when $cfg['MainPageIconic'] = false
diff --git a/db_structure.php b/db_structure.php
index e486ce8..326680b 100644
--- a/db_structure.php
+++ b/db_structure.php
@@ -269,31 +269,57 @@ foreach ($tables as $keyname => $each_table) {
             .  htmlspecialchars($each_table['TABLE_NAME']) . '" />';
     }
 
+    /*
+     * Always activate links for Browse, Search and Empty, even if
+     * the icons are greyed, because
+     * 1. for views, we don't know the number of rows at this point
+     * 2. for tables, another source could have populated them since the
+     *    page was generated
+     *
+     * I could have used the PHP ternary conditional operator but I find
+     * the code easier to read without this operator.
+     */
     if ($each_table['TABLE_ROWS'] > 0 || $table_is_view) {
-        $browse_table = '<a href="sql.php?' . $tbl_url_query . '&pos=0">' . $titles['Browse'] . '</a>';
-        $search_table = '<a href="tbl_select.php?' . $tbl_url_query . '">' . $titles['Search'] . '</a>';
-        $browse_table_label = '<a href="sql.php?' . $tbl_url_query . '&pos=0">' . $truename . '</a>';
+        $may_have_rows = true;
+    } else {
+        $may_have_rows = false;
+    }
+    $browse_table = '<a href="sql.php?' . $tbl_url_query . '&pos=0">';
+    if ($may_have_rows) {
+        $browse_table .= $titles['Browse'];
+    } else {
+        $browse_table .= $titles['NoBrowse'];
+    }
+    $browse_table .= '</a>';
+
+    $search_table = '<a href="tbl_select.php?' . $tbl_url_query . '">';
+    if ($may_have_rows) {
+        $search_table .= $titles['Search'];
     } else {
-        $browse_table = $titles['NoBrowse'];
-        $search_table = $titles['NoSearch'];
-        $browse_table_label = '<a href="tbl_structure.php?' . $tbl_url_query . '">' . $truename . '</a>';
+        $search_table .= $titles['NoSearch'];
     }
+    $search_table .= '</a>';
+
+    $browse_table_label = '<a href="sql.php?' . $tbl_url_query . '&pos=0">' . $truename . '</a>';
 
     if (! $db_is_information_schema) {
-        if (! empty($each_table['TABLE_ROWS'])) {
-            $empty_table = '<a ';
-            if ($GLOBALS['cfg']['AjaxEnable']) {
-                $empty_table .= 'class="truncate_table_anchor"';
-            }
-            $empty_table .= ' href="sql.php?' . $tbl_url_query
-                 . '&sql_query=';
-            $empty_table .= urlencode('TRUNCATE ' . PMA_backquote($each_table['TABLE_NAME']))
-                 . '&message_to_show='
-                 . urlencode(sprintf(__('Table %s has been emptied'), htmlspecialchars($each_table['TABLE_NAME'])))
-                 .'">' . $titles['Empty'] . '</a>';
+        $empty_table = '<a ';
+        if ($GLOBALS['cfg']['AjaxEnable']) {
+            $empty_table .= 'class="truncate_table_anchor"';
+        }
+        $empty_table .= ' href="sql.php?' . $tbl_url_query
+             . '&sql_query=';
+        $empty_table .= urlencode('TRUNCATE ' . PMA_backquote($each_table['TABLE_NAME']))
+             . '&message_to_show='
+             . urlencode(sprintf(__('Table %s has been emptied'), htmlspecialchars($each_table['TABLE_NAME'])))
+             .'">';
+        if ($may_have_rows) {
+            $empty_table .= $titles['Empty'];
         } else {
-            $empty_table = $titles['NoEmpty'];
+            $empty_table .= $titles['NoEmpty'];
         }
+        $empty_table .= '</a>';
+
         $drop_query = 'DROP '
             . ($table_is_view ? 'VIEW' : 'TABLE')
             . ' ' . PMA_backquote($each_table['TABLE_NAME']);


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list