add multi-database drop
authorxzilla <xzilla>
Sat, 21 Apr 2007 04:13:26 +0000 (04:13 +0000)
committerxzilla <xzilla>
Sat, 21 Apr 2007 04:13:26 +0000 (04:13 +0000)
all_db.php
lang/english.php
lang/recoded/english.php

index 212876193a3eec1156073d4d5b7eff0e24b3d452..fe4cdfe263ca2a4ff9c6b0560bc060f99b207c47 100644 (file)
@@ -3,7 +3,7 @@
        /**
         * Manage databases within a server
         *
-        * $Id: all_db.php,v 1.48 2007/03/28 18:15:49 soranzo Exp $
+        * $Id: all_db.php,v 1.49 2007/04/21 04:13:26 xzilla Exp $
         */
 
        // Include application functions
                global $data, $misc;
                global $PHP_SELF, $lang, $_reload_drop_database;
 
+               if (empty($_REQUEST['dropdatabase']) && empty($_REQUEST['ma'])) {
+                       doDefault($lang['strspecifydatabasetodrop']); 
+                       exit();
+               }
+
                if ($confirm) {
-                       $misc->printTrail('database');
-                       $misc->printTitle($lang['strdrop'], 'pg.database.drop');
-                       
-                       echo "<p>", sprintf($lang['strconfdropdatabase'], $misc->printVal($_REQUEST['dropdatabase'])), "</p>\n";        
-                       echo "<form action=\"$PHP_SELF\" method=\"post\">\n";
+
+            $misc->printTrail('database');
+            $misc->printTitle($lang['strdrop'], 'pg.database.drop');
+
+               echo "<form action=\"$PHP_SELF\" method=\"post\">\n";
+            //If multi drop
+            if (isset($_REQUEST['ma'])) {
+
+                           foreach($_REQUEST['ma'] as $v) {
+                               $a = unserialize(html_entity_decode($v));
+                                   echo "<p>", sprintf($lang['strconfdropdatabase'], $misc->printVal($a['database'])), "</p>\n";
+                                   printf('<input type="hidden" name="dropdatabase[]" value="%s" />', htmlspecialchars($a['database']));
+                           }
+
+                       } else {
+
+                           echo "<p>", sprintf($lang['strconfdropdatabase'], $misc->printVal($_REQUEST['dropdatabase'])), "</p>\n";    
+                               echo "<input type=\"hidden\" name=\"dropdatabase\" value=\"", htmlspecialchars($_REQUEST['dropdatabase']), "\" />\n";
+                }// END if multi drop
+
                        echo "<input type=\"hidden\" name=\"action\" value=\"drop\" />\n";
-                       echo $misc->form;
-                       echo "<input type=\"hidden\" name=\"dropdatabase\" value=\"", htmlspecialchars($_REQUEST['dropdatabase']), "\" />\n";
+               echo $misc->form;
                        echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
                        echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
                        echo "</form>\n";
-               }
+               } // END confirm 
                else {
-                       $status = $data->dropDatabase($_POST['dropdatabase']);
-                       if ($status == 0) {
-                               $_reload_drop_database = true;
-                               doDefault($lang['strdatabasedropped']);
-                       }
-                       else
-                               doDefault($lang['strdatabasedroppedbad']);
-               }
-       }
-       
+            //If multi drop
+            if (is_array($_REQUEST['dropdatabase'])) {
+                $msg = '';
+                foreach($_REQUEST['dropdatabase'] as $d) {
+                                       $status = $data->dropDatabase($d);
+                                       if ($status == 0)
+                                               $msg.= sprintf('%s: %s<br />', $d, $lang['strdatabasedropped']);
+                                       else {
+                                               doDefault(sprintf('%s%s: %s<br />', $msg, $d, $lang['strdatabasedroppedbad']));
+                                               return;
+                                       }
+                               }// Everything went fine, back to Default page...
+                $_reload_drop_database = true;
+                doDefault($msg);
+            } else {
+                           $status = $data->dropDatabase($_POST['dropdatabase']);
+                           if ($status == 0) {
+                                   $_reload_drop_database = true;
+                                   doDefault($lang['strdatabasedropped']);
+                           }
+                           else
+                                   doDefault($lang['strdatabasedroppedbad']);
+            }
+               }//END DROP
+    }// END FUNCTION
+
+            
        /**
         * Displays a screen where they can enter a new database
         */
                $misc->printTabs('server','databases');
                $misc->printMsg($msg);
                
+               echo "<script src=\"multiactionform.js\" type=\"text/javascript\"></script>";
+
                $databases = $data->getDatabases();
 
+                $multiactions = array(
+                    'keycols' => array('database' => 'datname'),
+                    'url' => "{$PHP_SELF}",
+                    'actions' => array(
+                        'drop' => array(
+                            'action' => 'confirm_drop',
+                            'title' => $lang['strdrop'],
+                        )
+                    )
+                );
+
                $columns = array(
                        'database' => array(
                                'title' => $lang['strdatabase'],
                if (!$data->hasServerAdminFuncs()) unset($columns['dbsize']);
                if (!isset($data->privlist['database'])) unset($actions['privileges']);
                
-               $misc->printTable($databases, $columns, $actions, $lang['strnodatabases']);
+               $misc->printTable($databases, $columns, $actions, $lang['strnodatabases'], null, $multiactions);
 
                echo "<p><a class=\"navlink\" href=\"$PHP_SELF?action=create&amp;{$misc->href}\">{$lang['strcreatedatabase']}</a></p>\n";
 
index 536b30196e1e7a4731d1b94c2f0cf74ce79d7899..ce2647889b95399891a53559a7f6327c14798cb8 100755 (executable)
@@ -4,7 +4,7 @@
         * English language file for phpPgAdmin.  Use this as a basis
         * for new translations.
         *
-        * $Id: english.php,v 1.203 2007/04/16 21:41:14 ioguix Exp $
+        * $Id: english.php,v 1.204 2007/04/21 04:13:26 xzilla Exp $
         */
 
        // Language and character set
        $lang['strallobjects'] = 'All objects';
        $lang['strdatabasealtered'] = 'Database altered.';
        $lang['strdatabasealteredbad'] = 'Database alter failed.';
+        $lang['strspecifydatabasetodrop'] = 'You must specify at least one database to drop';
 
        // Views
        $lang['strview'] = 'View';
index a6f2ac5276d86a3e49ec86497a7eb75fe96f40b6..92262b9c9c5774117ea24009d25f2923c69b21be 100644 (file)
@@ -4,7 +4,7 @@
         * English language file for phpPgAdmin.  Use this as a basis
         * for new translations.
         *
-        * $Id: english.php,v 1.155 2007/04/16 21:41:14 ioguix Exp $
+        * $Id: english.php,v 1.156 2007/04/21 04:13:26 xzilla Exp $
         */
 
        // Language and character set
        $lang['strallobjects'] = 'All objects';
        $lang['strdatabasealtered'] = 'Database altered.';
        $lang['strdatabasealteredbad'] = 'Database alter failed.';
+        $lang['strspecifydatabasetodrop'] = 'You must specify at least one database to drop';
 
        // Views
        $lang['strview'] = 'View';