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>
83 lines
2.7 KiB
PHP
83 lines
2.7 KiB
PHP
<?php
|
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* Display table relations for viewing and editing
|
|
*
|
|
* includes phpMyAdmin relations and InnoDB relations
|
|
*
|
|
* @todo fix name handling: currently names with dots (.) are not properly handled
|
|
* for internal relations (but foreign keys relations are correct)
|
|
* @todo foreign key constraints require both fields being of equal type and size
|
|
* @todo check foreign fields to be from same type and size, all other makes no sense
|
|
* @todo if above todos are fullfilled we can add all fields meet requirements
|
|
* in the select dropdown
|
|
* @package PhpMyAdmin
|
|
*/
|
|
|
|
/**
|
|
* Get the TableRelationController
|
|
*/
|
|
namespace PMA;
|
|
|
|
use PMA\libraries\Response;
|
|
use PMA\libraries\PMA_Table;
|
|
use PMA\libraries\Util;
|
|
|
|
require_once 'libraries/common.inc.php';
|
|
require_once 'libraries/di/Container.class.php';
|
|
require_once 'libraries/controllers/TableRelationController.class.php';
|
|
require_once 'libraries/Response.class.php';
|
|
require_once 'libraries/Table.class.php';
|
|
require_once 'libraries/Util.php';
|
|
|
|
$container = DI\Container::getDefaultContainer();
|
|
$container->factory('PMA\Controllers\Table\TableRelationController');
|
|
$container->alias(
|
|
'TableRelationController', 'PMA\Controllers\Table\TableRelationController'
|
|
);
|
|
$container->set('PMA\libraries\Response', Response::getInstance());
|
|
$container->alias('response', 'PMA\libraries\Response');
|
|
|
|
/* Define dependencies for the concerned controller */
|
|
$db = $container->get('db');
|
|
$table = $container->get('table');
|
|
$dbi = $container->get('dbi');
|
|
$options_array = array(
|
|
'CASCADE' => 'CASCADE',
|
|
'SET_NULL' => 'SET NULL',
|
|
'NO_ACTION' => 'NO ACTION',
|
|
'RESTRICT' => 'RESTRICT',
|
|
);
|
|
$cfgRelation = PMA_getRelationsParam();
|
|
$tbl_storage_engine = /*overload*/
|
|
mb_strtoupper(
|
|
$GLOBALS['dbi']->getTable($db, $table)->getStatusInfo('Engine')
|
|
);
|
|
$upd_query = new PMA_Table($table, $db, $dbi);
|
|
|
|
$dependency_definitions = array(
|
|
"options_array" => $options_array,
|
|
"cfgRelation" => $cfgRelation,
|
|
"tbl_storage_engine" => $tbl_storage_engine,
|
|
"upd_query" => $upd_query
|
|
);
|
|
if ($cfgRelation['relwork']) {
|
|
$dependency_definitions['existrel'] = PMA_getForeigners(
|
|
$db, $table, '', 'internal'
|
|
);
|
|
}
|
|
if (Util::isForeignKeySupported($tbl_storage_engine)) {
|
|
$dependency_definitions['existrel_foreign'] = PMA_getForeigners(
|
|
$db, $table, '', 'foreign'
|
|
);
|
|
}
|
|
if ($cfgRelation['displaywork']) {
|
|
$dependency_definitions['disp'] = PMA_getDisplayField($db, $table);
|
|
} else {
|
|
$dependency_definitions['disp'] = 'asas';
|
|
}
|
|
|
|
/** @var Controllers\Table\TableRelationController $controller */
|
|
$controller = $container->get('TableRelationController', $dependency_definitions);
|
|
$controller->indexAction();
|