checkParameters(array('new_db')); /** * Defines the url to return to in case of error in a sql statement */ $err_url = 'main.php?' . PMA_generate_common_url(); /** * Builds and executes the db creation sql query */ $sql_query = 'CREATE DATABASE ' . PMA_CommonFunctions::getInstance()->backquote($new_db); if (! empty($db_collation)) { list($db_charset) = explode('_', $db_collation); if (in_array($db_charset, $mysql_charsets) && in_array($db_collation, $mysql_collations[$db_charset]) ) { $sql_query .= ' DEFAULT' . PMA_generateCharsetQueryPart($db_collation); } $db_collation_for_ajax = $db_collation; unset($db_charset, $db_collation); } $sql_query .= ';'; $result = PMA_DBI_try_query($sql_query); if (! $result) { $message = PMA_Message::rawError(PMA_DBI_getError()); // avoid displaying the not-created db name in header or navi panel $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; /** * If in an Ajax request, just display the message with {@link PMA_Response} */ if ($GLOBALS['is_ajax_request'] == true) { $response = PMA_Response::getInstance(); $response->isSuccess(false); $response->addJSON('message', $message); } else { include_once 'main.php'; } } else { $message = PMA_Message::success(__('Database %1$s has been created.')); $message->addParam($new_db); $GLOBALS['db'] = $new_db; /** * If in an Ajax request, build the output and send it */ if ($GLOBALS['is_ajax_request'] == true) { //Construct the html for the new database, so that it can be appended to // the list of databases on server_databases.php /** * Build the array to be passed to {@link PMA_generate_common_url} * to generate the links * * @global array $GLOBALS['db_url_params'] * @name $db_url_params */ $db_url_params['db'] = $new_db; $is_superuser = PMA_isSuperuser(); $column_order = PMA_getColumnOrder(); $url_query = PMA_generate_common_url($new_db); /** * String that will contain the output HTML * @name $new_db_string */ $new_db_string = '