[Phpmyadmin-git] [SCM] phpMyAdmin branch, QA_3_3, updated. RELEASE_3_3_5-10-g7951b2b

Marc Delisle lem9 at users.sourceforge.net
Sat Jul 31 20:54:15 CEST 2010


The branch, QA_3_3 has been updated
       via  7951b2bacc63d7dc408ead0cf2fcb126c001d17e (commit)
      from  4317af25ef788f0aae1a498e1ce8b9d708f347ac (commit)


- Log -----------------------------------------------------------------
commit 7951b2bacc63d7dc408ead0cf2fcb126c001d17e
Author: Marc Delisle <marc at infomarc.info>
Date:   Sat Jul 31 14:54:05 2010 -0400

    bug #3034026 [confirmation] TRUNCATE queries get no confirmation request

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

Summary of changes:
 ChangeLog       |    1 +
 js/functions.js |   12 +++++++-----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 455c390..3482348 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
 - bug #3033063 [core] Navi gets wrong db name
 - bug #3031705 [core] Fix generating condition for real numbers by comparing
   them to string.
+- bug #3034026 [confirmation] TRUNCATE queries get no confirmation request
 
 3.3.5.0 (2010-07-26)
 - patch #2932113 [information_schema] Slow export when having lots of
diff --git a/js/functions.js b/js/functions.js
index 8c924e0..93cee60 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -152,7 +152,7 @@ function confirmQuery(theForm1, sqlQuery1)
             } // end if
         } // end if
 
-        // Confirms a "DROP/DELETE/ALTER" statement
+        // Confirms a "DROP/DELETE/ALTER/TRUNCATE" statement
         //
         // TODO: find a way (if possible) to use the parser-analyser
         // for this kind of verification
@@ -162,22 +162,24 @@ function confirmQuery(theForm1, sqlQuery1)
         var do_confirm_re_0 = new RegExp('^\\s*DROP\\s+(IF EXISTS\\s+)?(TABLE|DATABASE|PROCEDURE)\\s', 'i');
         var do_confirm_re_1 = new RegExp('^\\s*ALTER\\s+TABLE\\s+((`[^`]+`)|([A-Za-z0-9_$]+))\\s+DROP\\s', 'i');
         var do_confirm_re_2 = new RegExp('^\\s*DELETE\\s+FROM\\s', 'i');
+        var do_confirm_re_3 = new RegExp('^\\s*TRUNCATE\\s', 'i');
+
         if (do_confirm_re_0.test(sqlQuery1.value)
             || do_confirm_re_1.test(sqlQuery1.value)
-            || do_confirm_re_2.test(sqlQuery1.value)) {
+            || do_confirm_re_2.test(sqlQuery1.value)
+            || do_confirm_re_3.test(sqlQuery1.value)) {
             var message      = (sqlQuery1.value.length > 100)
                              ? sqlQuery1.value.substr(0, 100) + '\n    ...'
                              : sqlQuery1.value;
             var is_confirmed = confirm(PMA_messages['strDoYouReally'] + ' :\n' + message);
-            // drop/delete/alter statement is confirmed -> update the
+            // statement is confirmed -> update the
             // "is_js_confirmed" form field so the confirm test won't be
             // run on the server side and allows to submit the form
             if (is_confirmed) {
                 theForm1.elements['is_js_confirmed'].value = 1;
                 return true;
             }
-            // "DROP/DELETE/ALTER" statement is rejected -> do not submit
-            // the form
+            // statement is rejected -> do not submit the form
             else {
                 window.focus();
                 sqlQuery1.focus();


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list