} // // restore database // if (have_panel_permissions($s_login['user'], 'adm_restore')) { if (isset($_POST['adm_restore_doit'])) { $s_restore = array('source' => get_request_data('adm_re_source'), 'target' => get_request_data('adm_re_target'), 'overwrite' => (bool) get_request_data('adm_re_overwrite'), 'inactive' => (bool) get_request_data('adm_re_inactive'), 'oneattime' => (bool) get_request_data('adm_re_oneattime'), 'useall' => (bool) get_request_data('adm_re_useall'), 'novalidity' => (bool) get_request_data('adm_re_novalidity'), 'kill' => (bool) get_request_data('adm_re_kill'), 'verbose' => (bool) get_request_data('adm_re_verbose'), 'connect' => (bool) get_request_data('adm_re_connect')); if ($s_restore['connect']) { $s_restore['verbose'] = TRUE; } } if (isset($_POST['adm_restore_doit']) && !empty($s_restore['source']) && !empty($s_restore['target'])) { $s_sysdba_pw = get_sysdba_pw(); if (!have_db_suffix($s_restore['target'])) { $error = sprintf($ERRORS['WRONG_DB_SUFFIX'], "'" . implode("', '", $DATABASE_SUFFIXES) . "'"); } elseif (!is_allowed_db($s_restore['target'])) { $error = sprintf($ERRORS['DB_NOT_ALLOWED'], $s_restore['target']); } $restore_options = array('inactive' => IBASE_RES_DEACTIVATE_IDX, 'oneattime' => IBASE_RES_ONE_AT_A_TIME, 'useall' => IBASE_RES_USE_ALL_SPACE, 'novalidity' => IBASE_RES_NO_VALIDATE, 'kill' => IBASE_RES_NO_SHADOW); $options = 0; foreach ($restore_options as $idx => $option) { if ($s_restore[$idx]) { $options |= $option; } } if ($s_restore['overwrite']) { $options |= IBASE_RES_REPLACE; } else { $options |= IBASE_RES_CREATE; } if (empty($error)) {
$pw = get_request_data('db_delete_password'); if (strspn($pw, '*') == strlen($pw)) { $pw = $s_delete_db['password']; } $s_delete_db = array('database' => get_request_data('db_delete_database'), 'user' => get_request_data('db_delete_user'), 'host' => get_request_data('db_delete_host'), 'password' => $pw); // cannot delete the current database if ($s_login['database'] == $s_delete_db) { $message = sprintf($MESSAGES['DELETE_CON_DB'], $s_delete_db); $s_login['database'] = ''; $s_connected = FALSE; remove_edit_panels(); cleanup_session(); } if (!have_db_suffix($s_delete_db['database'])) { $error = sprintf($ERRORS['WRONG_DB_SUFFIX'], implode("', '", "'" . $DATABASE_SUFFIXES) . "'"); } elseif (!is_allowed_db($s_delete_db['database'])) { $error = sprintf($ERRORS['DB_NOT_ALLOWED'], $s_delete_db['database']); } elseif ($s_cust['askdel'] == TRUE) { $s_confirmations['database'] = array('msg' => sprintf($MESSAGES['CONFIRM_DB_DELETE'], $s_delete_db['database'])); } } // deleting a database is confirmed if (isset($_POST['confirm_yes']) || isset($_POST['db_delete_doit']) && $s_cust['askdel'] == FALSE && empty($error)) { $ib_error = drop_database($s_delete_db, $s_login); unset($s_confirmations['database']); if (empty($ib_error)) { if ($s_login['database'] == $s_delete_db['database']) { $s_login['database'] = ''; $s_connected = FALSE; remove_edit_panels(); cleanup_session();