Skip to content

Commit

Permalink
add multi-database drop
Browse files Browse the repository at this point in the history
  • Loading branch information
xzilla committed Apr 21, 2007
1 parent 1c58410 commit f6cae2e
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 22 deletions.
89 changes: 69 additions & 20 deletions all_db.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -86,30 +86,66 @@ function doDrop($confirm) {
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
*/
Expand Down Expand Up @@ -269,8 +305,21 @@ function doDefault($msg = '') {
$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'],
Expand Down Expand Up @@ -331,7 +380,7 @@ function doDefault($msg = '') {
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";

Expand Down
3 changes: 2 additions & 1 deletion lang/english.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -346,6 +346,7 @@
$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';
Expand Down
3 changes: 2 additions & 1 deletion lang/recoded/english.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -346,6 +346,7 @@
$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';
Expand Down

0 comments on commit f6cae2e

Please sign in to comment.