[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_0BETA3-1574-g564d4d7

Marc Delisle lem9 at users.sourceforge.net
Mon Feb 28 18:54:36 CET 2011


The branch, master has been updated
       via  564d4d7d2daaef2ed3e669d0a7ee7cdd2907f2e8 (commit)
       via  8af00da90d7baf8a2c848b2e2ac850b4db031e1b (commit)
       via  efa8e3421bd786f0ba0a27b0f84280717c26a48a (commit)
       via  a994e13c3315f45d88782b51c0f71385074a8251 (commit)
      from  896d3bd54eb166f33521c6101272130513599904 (commit)


- Log -----------------------------------------------------------------
commit 564d4d7d2daaef2ed3e669d0a7ee7cdd2907f2e8
Author: Marc Delisle <marc at infomarc.info>
Date:   Mon Feb 28 12:54:04 2011 -0500

    Typos

commit 8af00da90d7baf8a2c848b2e2ac850b4db031e1b
Author: Marc Delisle <marc at infomarc.info>
Date:   Mon Feb 28 12:52:04 2011 -0500

    ChangeLog for Ajaxify browse and delete criteria

commit efa8e3421bd786f0ba0a27b0f84280717c26a48a
Author: Marc Delisle <marc at infomarc.info>
Date:   Mon Feb 28 12:50:02 2011 -0500

    Deactivate these messages as we are currently in message freeze for 3.4

commit a994e13c3315f45d88782b51c0f71385074a8251
Author: Thilanka <lgtkaushalya at gmail.com>
Date:   Mon Feb 28 12:44:44 2011 -0500

    Ajaxify browse and delete criteria in DB search

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

Summary of changes:
 ChangeLog                |    2 +
 db_search.php            |   32 +++++++++++----
 js/db_search.js          |   98 ++++++++++++++++++++++++++++++++++++++++++----
 js/messages.php          |    2 +
 libraries/common.lib.php |    2 +-
 5 files changed, 118 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6ed9d74..a73f0fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -138,6 +138,8 @@
 - rfe #3148361 [interface] Replace hard coded limit with $cfg['LimitChars'].
 - bug #3177136 [interface] Indicate that bookmark is being used on browse.
 - [interface] Indicate shared bookmarks in interface.
+- patch #3176420 [Search] Ajaxify browse and delete criteria in DB Search,
+  thanks to Thilanka Kaushalya
 
 3.3.10.0 (not yet released)
 - patch #3147400 [structure] Aria table size printed as unknown,
diff --git a/db_search.php b/db_search.php
index 4275399..8362fc7 100644
--- a/db_search.php
+++ b/db_search.php
@@ -249,16 +249,16 @@ if (isset($_REQUEST['submit_search'])) {
 
         if ($res_cnt > 0) {
             $this_url_params['sql_query'] = $newsearchsqls['select_fields'];
-            echo '<td>' . PMA_linkOrButton(
-                    'sql.php' . PMA_generate_common_url($this_url_params),
-                    __('Browse'), '') .  "</td>\n";
-
+             $browse_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
+             ?>
+            <td> <a name="browse_search" href="<?php echo $browse_result_path; ?>" onclick="loadResult('<?php echo $browse_result_path ?> ',' <?php echo  $each_table?> ' , '<?php echo PMA_generate_common_url($GLOBALS['db'], $each_table)?>','<?php echo ($GLOBALS['cfg']['AjaxEnable']); ?>');return false;" ><?php echo __('Browse') ?></a>   </td>
+            <?php
             $this_url_params['sql_query'] = $newsearchsqls['delete'];
-            echo '<td>' . PMA_linkOrButton(
-                    'sql.php' . PMA_generate_common_url($this_url_params),
-                    __('Delete'), sprintf(__('Delete the matches for the %s table?'), htmlspecialchars($each_table))) .  "</td>\n";
-
-        } else {
+            $delete_result_path = 'sql.php' . PMA_generate_common_url($this_url_params);
+            ?>
+            <td> <a name="delete_search" href="<?php echo $delete_result_path; ?>" onclick="deleteResult('<?php echo $delete_result_path ?>' , ' <?php echo __('Delete the matches for the '. $each_table . ' table?') ?>','<?php echo ($GLOBALS['cfg']['AjaxEnable']); ?>');return false;" ><?php echo __('Delete') ?></a>   </td>
+            <?php
+         } else {
             echo '<td> </td>' . "\n"
                 .'<td> </td>' . "\n";
         }// end if else
@@ -360,6 +360,20 @@ $alter_select =
 </fieldset>
 </form>
 
+<!-- These two table-image and table-link elements display the table name in browse search results  -->
+<div id='table-info'>
+<a class="item" id="table-link" ></a>
+</div>
+<div id="browse-results">
+<!-- this browse-results div is used to load the browse and delete results in the db search -->
+</div>
+<br class="clearfloat" />
+<div id="sqlqueryform">
+<!-- this sqlqueryform div is used to load the delete form in the db search -->
+</div>
+<!--  toggle query box link-->
+<a id="togglequerybox"></a>
+
 <?php
 /**
  * Displays the footer
diff --git a/js/db_search.js b/js/db_search.js
index 0a82a8f..84a3dd8 100644
--- a/js/db_search.js
+++ b/js/db_search.js
@@ -14,25 +14,107 @@
  * Retrieve result of SQL query
  */
 
+/** Loads the database search results */
+function loadResult(result_path , table_name , link , ajaxEnable){
+    $(document).ready(function() {
+        if(ajaxEnable)
+        {
+            /**   Hides the results shown by the delete criteria */
+            //PMA_ajaxShowMessage(PMA_messages['strBrowsing']);
+            $('#sqlqueryform').hide();
+            $('#togglequerybox').hide();
+            /**  Load the browse results to the page */
+            $("#table-info").show();
+            $('#table-link').attr({"href" : 'sql.php?'+link }).text(table_name);
+            $('#browse-results').load(result_path + " '"+'#sqlqueryresults' + "'").show();
+        }
+        else
+        {
+            event.preventDefault();
+        }
+    });
+}
+
+/**  Delete the selected search results */
+function deleteResult(result_path , msg , ajaxEnable){
+    $(document).ready(function() {
+        /**  Hides the results shown by the browse criteria */
+        $("#table-info").hide();
+        $('#browse-results').hide();
+        $('#sqlqueryform').hide();
+        $('#togglequerybox').hide();
+        /** Conformation message for deletion */
+        if(confirm(msg))
+        {
+            if(ajaxEnable)
+            {
+                /** Load the deleted option to the page*/
+                $('#browse-results').load(result_path + " '"+'#result_query' + "'");
+                $('#sqlqueryform').load(result_path + " '"+'#sqlqueryform' + "'");
+                $('#togglequerybox').html(PMA_messages['strHideQueryBox']);
+
+                /** Refresh the search results after the deletion */
+                document.getElementById('buttonGo'). click();
+                //PMA_ajaxShowMessage(PMA_messages['strDeleting']);
+                /** Show the results of the deletion option */
+                $('#browse-results').show();
+                $('#sqlqueryform').show();
+                $('#togglequerybox').show();
+            }
+            else
+            {
+                event.preventDefault();
+            }
+       }
+    });
+}
+
 $(document).ready(function() {
 
     /**
      * Set a parameter for all Ajax queries made on this page.  Don't let the
-     * web server serve cached pages
+     * web server serve cached pagesshow
      */
     $.ajaxSetup({
         cache: 'false'
     });
 
+    /** Hide the table link in the initial search result */
+    $("#table-info").prepend('<img id="table-image" src="./themes/original/img/s_tbl.png" />').hide();
+
+    /** Hide the browse and deleted results in the new search criteria */
+    $('#buttonGo').click(function(){
+        $("#table-info").hide();
+        $('#browse-results').hide();
+        $('#sqlqueryform').hide();
+        $('#togglequerybox').hide();
+    });
     /**
-     * Prepare a div containing a link, otherwise it's incorrectly displayed 
+     * Prepare a div containing a link for toggle the search form, otherwise it's incorrectly displayed
      * after a couple of clicks
      */
     $('<div id="togglesearchformdiv"><a id="togglesearchformlink"></a></div>')
     .insertAfter('#db_search_form')
-    // don't show it until we have results on-screen
+    /** don't show it until we have results on-screen */
     .hide();
 
+    /** Changing the displayed text according to the hide/show criteria in search form*/
+    $("#togglequerybox").hide();
+    $("#togglequerybox").bind('click', function() {
+        var $link = $(this)
+        $('#sqlqueryform').slideToggle("medium");
+        if ($link.text() == PMA_messages['strHideQueryBox']) {
+            $link.text(PMA_messages['strShowQueryBox']);
+        } else {
+            $link.text(PMA_messages['strHideQueryBox']);
+        }
+        /** avoid default click action */
+        return false;
+    })
+
+    /** don't show it until we have results on-screen */
+
+   /** Changing the displayed text according to the hide/show criteria in search criteria form*/
    $('#togglesearchformlink')
        .html(PMA_messages['strShowSearchCriteria'])
        .bind('click', function() {
@@ -43,7 +125,7 @@ $(document).ready(function() {
             } else {
                 $link.text(PMA_messages['strHideSearchCriteria']);
             }
-            // avoid default click action
+            /** avoid default click action */
             return false;
        });
     /**
@@ -59,8 +141,8 @@ $(document).ready(function() {
         PMA_ajaxShowMessage(PMA_messages['strSearching']);
         // jQuery object to reuse
         $form = $(this);
-        
-        // add this hidden field just once 
+
+        // add this hidden field just once
         if (! $form.find('input:hidden').is('#ajax_request_hidden')) {
             $form.append('<input type="hidden" id="ajax_request_hidden" name="ajax_request" value="true" />');
         }
@@ -78,12 +160,12 @@ $(document).ready(function() {
                     // always start with the Show message
                     .text(PMA_messages['strShowSearchCriteria'])
                 $('#togglesearchformdiv')
-                    // now it's time to show the div containing the link 
+                    // now it's time to show the div containing the link
                     .show();
             } else {
                 // error message (zero rows)
                 $("#sqlqueryresults").html(response['message']);
-            }            
+            }
         })
     })
 }, 'top.frame_content'); // end $(document).ready()
diff --git a/js/messages.php b/js/messages.php
index fa28771..fc28b2e 100644
--- a/js/messages.php
+++ b/js/messages.php
@@ -79,6 +79,8 @@ $js_messages['strNo'] = __('No');
 
 /* For db_search.js */
 $js_messages['strSearching'] = __('Searching');
+//$js_messages['strBrowsing'] = __('Browsing');
+//$js_messages['strDeleting'] = __('Deleting');
 
 /* For sql.js */
 $js_messages['strHideQueryBox'] = __('Hide query box');
diff --git a/libraries/common.lib.php b/libraries/common.lib.php
index c30d7d0..4f8427b 100644
--- a/libraries/common.lib.php
+++ b/libraries/common.lib.php
@@ -1009,7 +1009,7 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice', $is_view
 
     // In an Ajax request, $GLOBALS['cell_align_left'] may not be defined. Hence,
     // check for it's presence before using it
-    echo '<div align="' . ( isset($GLOBALS['cell_align_left']) ? $GLOBALS['cell_align_left'] : '' ) . '">' . "\n";
+    echo '<div id="result_query" align="' . ( isset($GLOBALS['cell_align_left']) ? $GLOBALS['cell_align_left'] : '' ) . '">' . "\n";
 
     if ($message instanceof PMA_Message) {
         if (isset($GLOBALS['special_message'])) {


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list