phpmyadmin/tbl_create.php
Hugues Peccatte 2fe6ff4655 Set namespace on Advisor, Config, Console and Util classes.
Set namespace on DbQbe.
Set namespace to 'DbSearch'.
Split Advisor.class.php file.
Change Advisor namespace.
Rename DbQbe class and file.
Set namespace on DisplayResults.
Set namespace on Error.
Use namespace for ErrorHandler.
Add class autoloader.
Change ErrorHandler filename.
Remove some require.
Update Config namespace path.
Update PMA_Util to PMA\libraries\Util.
Rename Font and File classes files.
Use namespace for Footer.
Set namespace in all libraries classes.
Namespace OutputBuffering.
Export SubPartition.
Rename Partition file.
Namespace PDF.
Namespace RecentFavoriteTable.
Replace PMA_Response by Response and PMA_Message by Message.
Update uses and calls.
Fix unit tests.
Fix SqlParser autoload.

Signed-off-by: Hugues Peccatte <hugues.peccatte@gmail.com>
2015-08-29 16:27:21 +02:00

108 lines
3.2 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Displays table create form and handles it
*
* @package PhpMyAdmin
*/
use PMA\libraries\PMA_String;
/**
* Get some core libraries
*/
require_once 'libraries/common.inc.php';
require_once 'libraries/create_addfield.lib.php';
// Check parameters
PMA\libraries\Util::checkParameters(array('db'));
/** @var PMA_String $pmaString */
$pmaString = $GLOBALS['PMA_String'];
/* Check if database name is empty */
if (/*overload*/mb_strlen($db) == 0) {
PMA\libraries\Util::mysqlDie(
__('The database name is empty!'), '', false, 'index.php'
);
}
/**
* Selects the database to work with
*/
if (!$GLOBALS['dbi']->selectDb($db)) {
PMA\libraries\Util::mysqlDie(
sprintf(__('\'%s\' database does not exist.'), htmlspecialchars($db)),
'',
false,
'index.php'
);
}
if ($GLOBALS['dbi']->getColumns($db, $table)) {
// table exists already
PMA\libraries\Util::mysqlDie(
sprintf(__('Table %s already exists!'), htmlspecialchars($table)),
'',
false,
'db_structure.php' . PMA_URL_getCommon(array('db' => $db))
);
}
// for libraries/tbl_columns_definition_form.inc.php
// check number of fields to be created
$num_fields = PMA_getNumberOfFieldsFromRequest();
$action = 'tbl_create.php';
/**
* The form used to define the structure of the table has been submitted
*/
if (isset($_REQUEST['do_save_data'])) {
$sql_query = PMA_getTableCreationQuery($db, $table);
// If there is a request for SQL previewing.
if (isset($_REQUEST['preview_sql'])) {
PMA_previewSQL($sql_query);
}
// Executes the query
$result = $GLOBALS['dbi']->tryQuery($sql_query);
if ($result) {
// If comments were sent, enable relation stuff
include_once 'libraries/transformations.lib.php';
// Update comment table for mime types [MIME]
if (isset($_REQUEST['field_mimetype'])
&& is_array($_REQUEST['field_mimetype'])
&& $cfg['BrowseMIME']
) {
foreach ($_REQUEST['field_mimetype'] as $fieldindex => $mimetype) {
if (isset($_REQUEST['field_name'][$fieldindex])
&& /*overload*/mb_strlen($_REQUEST['field_name'][$fieldindex])
) {
PMA_setMIME(
$db, $table,
$_REQUEST['field_name'][$fieldindex], $mimetype,
$_REQUEST['field_transformation'][$fieldindex],
$_REQUEST['field_transformation_options'][$fieldindex],
$_REQUEST['field_input_transformation'][$fieldindex],
$_REQUEST['field_input_transformation_options'][$fieldindex]
);
}
}
}
} else {
$response = PMA\libraries\Response::getInstance();
$response->isSuccess(false);
$response->addJSON('message', $GLOBALS['dbi']->getError());
}
exit;
} // end do create table
//This global variable needs to be reset for the headerclass to function properly
$GLOBAL['table'] = '';
/**
* Displays the form used to define the structure of the table
*/
require 'libraries/tbl_columns_definition_form.inc.php';