Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauriciofauth@gmail.com>2018-03-26 01:32:13 +0300
committerMaurício Meneghini Fauth <mauriciofauth@gmail.com>2018-03-26 01:32:13 +0300
commitd98658187a5ee9be33bb5fa54e7fe0638ef9b70c (patch)
treeaf1d9221780ee28b04529c6eb813754a712bc889
parent46ceeea14f258f6bc5fbef9260e81a71ba3ba228 (diff)
Replace PhpMyAdmin\Relation static calls
Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
-rw-r--r--browse_foreigners.php6
-rw-r--r--chk_rel.php14
-rw-r--r--db_datadict.php12
-rw-r--r--db_operations.php5
-rw-r--r--db_qbe.php3
-rw-r--r--db_tracking.php5
-rw-r--r--export.php4
-rw-r--r--index.php4
-rw-r--r--libraries/classes/Bookmark.php3
-rw-r--r--libraries/classes/CentralColumns.php11
-rw-r--r--libraries/classes/Console.php46
-rw-r--r--libraries/classes/Controllers/Database/DatabaseStructureController.php16
-rw-r--r--libraries/classes/Controllers/Table/TableRelationController.php12
-rw-r--r--libraries/classes/Controllers/Table/TableSearchController.php12
-rw-r--r--libraries/classes/Controllers/Table/TableStructureController.php14
-rw-r--r--libraries/classes/Database/Designer.php25
-rw-r--r--libraries/classes/Database/Designer/Common.php63
-rw-r--r--libraries/classes/Database/Qbe.php52
-rw-r--r--libraries/classes/DatabaseInterface.php14
-rw-r--r--libraries/classes/Display/Export.php21
-rw-r--r--libraries/classes/Display/Results.php20
-rw-r--r--libraries/classes/ErrorReport.php8
-rw-r--r--libraries/classes/Footer.php8
-rw-r--r--libraries/classes/InsertEdit.php20
-rw-r--r--libraries/classes/Menu.php20
-rw-r--r--libraries/classes/Navigation/Navigation.php19
-rw-r--r--libraries/classes/Navigation/Nodes/Node.php8
-rw-r--r--libraries/classes/Navigation/Nodes/NodeDatabase.php8
-rw-r--r--libraries/classes/Navigation/Nodes/NodeDatabaseChild.php2
-rw-r--r--libraries/classes/Normalization.php10
-rw-r--r--libraries/classes/Operations.php17
-rw-r--r--libraries/classes/Plugins/Export/ExportHtmlword.php5
-rw-r--r--libraries/classes/Plugins/Export/ExportLatex.php6
-rw-r--r--libraries/classes/Plugins/Export/ExportOdt.php7
-rw-r--r--libraries/classes/Plugins/Export/ExportSql.php7
-rw-r--r--libraries/classes/Plugins/Export/ExportTexytext.php5
-rw-r--r--libraries/classes/Plugins/Export/Helpers/Pdf.php44
-rw-r--r--libraries/classes/Plugins/ExportPlugin.php14
-rw-r--r--libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php2
-rw-r--r--libraries/classes/Plugins/Schema/Eps/EpsRelationSchema.php2
-rw-r--r--libraries/classes/Plugins/Schema/ExportRelationSchema.php30
-rw-r--r--libraries/classes/Plugins/Schema/Pdf/Pdf.php8
-rw-r--r--libraries/classes/Plugins/Schema/Pdf/PdfRelationSchema.php10
-rw-r--r--libraries/classes/Plugins/Schema/Svg/SvgRelationSchema.php2
-rw-r--r--libraries/classes/Plugins/Schema/TableStats.php9
-rw-r--r--libraries/classes/RecentFavoriteTable.php12
-rw-r--r--libraries/classes/RelationCleanup.php76
-rw-r--r--libraries/classes/SavedSearches.php48
-rw-r--r--libraries/classes/Server/Privileges.php24
-rw-r--r--libraries/classes/Server/UserGroups.php29
-rw-r--r--libraries/classes/Sql.php19
-rw-r--r--libraries/classes/SystemDatabase.php10
-rw-r--r--libraries/classes/Table.php42
-rw-r--r--libraries/classes/Tracker.php68
-rw-r--r--libraries/classes/Tracking.php13
-rw-r--r--libraries/classes/Transformations.php13
-rw-r--r--libraries/classes/Twig/RelationExtension.php12
-rw-r--r--libraries/classes/UserPreferences.php17
-rw-r--r--libraries/tbl_columns_definition_form.inc.php12
-rw-r--r--libraries/user_preferences.inc.php3
-rw-r--r--navigation.php3
-rw-r--r--schema_export.php3
-rw-r--r--server_privileges.php3
-rw-r--r--server_user_groups.php3
-rw-r--r--tbl_change.php3
-rw-r--r--tbl_export.php3
-rw-r--r--tbl_operations.php5
-rw-r--r--tbl_relation.php7
-rw-r--r--tbl_replace.php4
-rw-r--r--test/classes/Controllers/Table/TableSearchControllerTest.php3
-rw-r--r--test/classes/Plugins/Schema/DiaRelationSchemaTest.php3
-rw-r--r--test/classes/Plugins/Schema/EpsRelationSchemaTest.php3
-rw-r--r--test/classes/Plugins/Schema/PdfRelationSchemaTest.php3
-rw-r--r--test/classes/Plugins/Schema/SvgRelationSchemaTest.php3
-rw-r--r--test/classes/RelationCleanupTest.php22
-rw-r--r--test/classes/TableTest.php3
-rw-r--r--transformation_wrapper.php3
77 files changed, 739 insertions, 369 deletions
diff --git a/browse_foreigners.php b/browse_foreigners.php
index 8412321cc9..0ae36334d1 100644
--- a/browse_foreigners.php
+++ b/browse_foreigners.php
@@ -35,10 +35,12 @@ $header = $response->getHeader();
$header->disableMenuAndConsole();
$header->setBodyId('body_browse_foreigners');
+$relation = new Relation();
+
/**
* Displays the frame
*/
-$foreigners = Relation::getForeigners($db, $table);
+$foreigners = $relation->getForeigners($db, $table);
$browseForeigners = new BrowseForeigners(
$GLOBALS['cfg']['LimitChars'],
$GLOBALS['cfg']['MaxRows'],
@@ -50,7 +52,7 @@ $foreign_limit = $browseForeigners->getForeignLimit(
isset($_REQUEST['foreign_showAll']) ? $_REQUEST['foreign_showAll'] : null
);
-$foreignData = Relation::getForeignData(
+$foreignData = $relation->getForeignData(
$foreigners, $_REQUEST['field'], true,
isset($_REQUEST['foreign_filter'])
? $_REQUEST['foreign_filter']
diff --git a/chk_rel.php b/chk_rel.php
index 183ee4f338..f34e8300d5 100644
--- a/chk_rel.php
+++ b/chk_rel.php
@@ -10,25 +10,27 @@ use PhpMyAdmin\Response;
require_once 'libraries/common.inc.php';
+$relation = new Relation();
+
// If request for creating the pmadb
if (isset($_REQUEST['create_pmadb'])) {
- if (Relation::createPmaDatabase()) {
- Relation::fixPmaTables('phpmyadmin');
+ if ($relation->createPmaDatabase()) {
+ $relation->fixPmaTables('phpmyadmin');
}
}
// If request for creating all PMA tables.
if (isset($_REQUEST['fixall_pmadb'])) {
- Relation::fixPmaTables($GLOBALS['db']);
+ $relation->fixPmaTables($GLOBALS['db']);
}
-$cfgRelation = Relation::getRelationsParam();
+$cfgRelation = $relation->getRelationsParam();
// If request for creating missing PMA tables.
if (isset($_REQUEST['fix_pmadb'])) {
- Relation::fixPmaTables($cfgRelation['db']);
+ $relation->fixPmaTables($cfgRelation['db']);
}
$response = Response::getInstance();
$response->addHTML(
- Relation::getRelationsParamDiagnostic($cfgRelation)
+ $relation->getRelationsParamDiagnostic($cfgRelation)
);
diff --git a/db_datadict.php b/db_datadict.php
index 94e8beb860..7a5d7f4fa3 100644
--- a/db_datadict.php
+++ b/db_datadict.php
@@ -34,10 +34,12 @@ $response = Response::getInstance();
$header = $response->getHeader();
$header->enablePrintView();
+$relation = new Relation();
+
/**
* Gets the relations settings
*/
-$cfgRelation = Relation::getRelationsParam();
+$cfgRelation = $relation->getRelationsParam();
/**
* Check parameters
@@ -50,7 +52,7 @@ PhpMyAdmin\Util::checkParameters(array('db'));
$err_url = 'db_sql.php' . Url::getCommon(array('db' => $db));
if ($cfgRelation['commwork']) {
- $comment = Relation::getDbComment($db);
+ $comment = $relation->getDbComment($db);
/**
* Displays DB comment
@@ -69,7 +71,7 @@ $tables = $GLOBALS['dbi']->getTables($db);
$count = 0;
foreach ($tables as $table) {
- $comments = Relation::getComments($db, $table);
+ $comments = $relation->getComments($db, $table);
echo '<div>' , "\n";
@@ -95,7 +97,7 @@ foreach ($tables as $table) {
$columns = $GLOBALS['dbi']->getColumns($db, $table);
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $relation->getRelationsAndStatus(
! empty($cfgRelation['relation']), $db, $table
);
@@ -171,7 +173,7 @@ foreach ($tables as $table) {
if ($have_rel) {
echo ' <td>';
- if ($foreigner = Relation::searchColumnInForeigners($res_rel, $column_name)) {
+ if ($foreigner = $relation->searchColumnInForeigners($res_rel, $column_name)) {
echo htmlspecialchars(
$foreigner['foreign_table']
. ' -> '
diff --git a/db_operations.php b/db_operations.php
index 02118e3f5d..70c0d53877 100644
--- a/db_operations.php
+++ b/db_operations.php
@@ -210,15 +210,16 @@ if (strlen($GLOBALS['db']) > 0
/**
* Settings for relations stuff
*/
+$relation = new Relation();
-$cfgRelation = Relation::getRelationsParam();
+$cfgRelation = $relation->getRelationsParam();
/**
* Check if comments were updated
* (must be done before displaying the menu tabs)
*/
if (isset($_REQUEST['comment'])) {
- Relation::setDbComment($GLOBALS['db'], $_REQUEST['comment']);
+ $relation->setDbComment($GLOBALS['db'], $_REQUEST['comment']);
}
require 'libraries/db_common.inc.php';
diff --git a/db_qbe.php b/db_qbe.php
index df143faaaf..3860d68b13 100644
--- a/db_qbe.php
+++ b/db_qbe.php
@@ -22,7 +22,8 @@ require_once 'libraries/common.inc.php';
$response = Response::getInstance();
// Gets the relation settings
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
$savedSearchList = array();
$savedSearch = null;
diff --git a/db_tracking.php b/db_tracking.php
index d5fa0c7086..0c8724d60a 100644
--- a/db_tracking.php
+++ b/db_tracking.php
@@ -111,7 +111,8 @@ if ($num_tables == 0 && count($data['ddlog']) == 0) {
}
// ---------------------------------------------------------------------------
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
// Prepare statement to get HEAD version
$all_tables_query = ' SELECT table_name, MAX(version) as version FROM ' .
@@ -122,7 +123,7 @@ $all_tables_query = ' SELECT table_name, MAX(version) as version FROM ' .
' GROUP BY table_name' .
' ORDER BY table_name ASC';
-$all_tables_result = Relation::queryAsControlUser($all_tables_query);
+$all_tables_result = $relation->queryAsControlUser($all_tables_query);
// If a HEAD version exists
if (is_object($all_tables_result)
diff --git a/export.php b/export.php
index f7e00868d0..376bd020c2 100644
--- a/export.php
+++ b/export.php
@@ -399,6 +399,8 @@ if ($save_on_server) {
} // end download
}
+$relation = new Relation();
+
// Fake loop just to allow skip of remain of this code by break, I'd really
// need exceptions here :-)
do {
@@ -417,7 +419,7 @@ do {
|| isset($GLOBALS[$what . '_comments']);
$do_mime = isset($GLOBALS[$what . '_mime']);
if ($do_relation || $do_comments || $do_mime) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
}
// Include dates in export?
diff --git a/index.php b/index.php
index 79b59ba508..cc492e77ee 100644
--- a/index.php
+++ b/index.php
@@ -594,8 +594,10 @@ if (@file_exists('config')) {
);
}
+$relation = new Relation();
+
if ($server > 0) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
if (! $cfgRelation['allworks']
&& $cfg['PmaNoRelation_DisableWarning'] == false
) {
diff --git a/libraries/classes/Bookmark.php b/libraries/classes/Bookmark.php
index e9298f2c5b..1fc833bae1 100644
--- a/libraries/classes/Bookmark.php
+++ b/libraries/classes/Bookmark.php
@@ -218,7 +218,8 @@ class Bookmark
return $cfgBookmark;
}
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['bookmarkwork']) {
$cfgBookmark = array(
'user' => $user,
diff --git a/libraries/classes/CentralColumns.php b/libraries/classes/CentralColumns.php
index 66b43ba741..88a5a832a2 100644
--- a/libraries/classes/CentralColumns.php
+++ b/libraries/classes/CentralColumns.php
@@ -58,6 +58,11 @@ class CentralColumns
private $disableIs;
/**
+ * @var Relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param DatabaseInterface $dbi DatabaseInterface instance
@@ -70,6 +75,8 @@ class CentralColumns
$this->maxRows = (int) $GLOBALS['cfg']['MaxRows'];
$this->charEditing = $GLOBALS['cfg']['CharEditing'];
$this->disableIs = (bool) $GLOBALS['cfg']['Server']['DisableIS'];
+
+ $this->relation = new Relation();
}
/**
@@ -86,7 +93,7 @@ class CentralColumns
return $cfgCentralColumns;
}
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['centralcolumnswork']) {
$cfgCentralColumns = array(
@@ -486,7 +493,7 @@ class CentralColumns
$has_list = $this->getFromTable($db, $table, true);
$this->dbi->selectDb($db);
foreach ($has_list as $column) {
- $column_status = Relation::checkChildForeignReferences(
+ $column_status = $this->relation->checkChildForeignReferences(
$db, $table, $column['col_name']
);
//column definition can only be changed if
diff --git a/libraries/classes/Console.php b/libraries/classes/Console.php
index d05649099a..565635b9f0 100644
--- a/libraries/classes/Console.php
+++ b/libraries/classes/Console.php
@@ -28,14 +28,6 @@ class Console
private $_isEnabled;
/**
- * Creates a new class instance
- */
- public function __construct()
- {
- $this->_isEnabled = true;
- }
-
- /**
* Whether we are servicing an ajax request.
*
* @access private
@@ -44,6 +36,20 @@ class Console
private $_isAjax;
/**
+ * @var Relation
+ */
+ private $relation;
+
+ /**
+ * Creates a new class instance
+ */
+ public function __construct()
+ {
+ $this->_isEnabled = true;
+ $this->relation = new Relation();
+ }
+
+ /**
* Set the ajax flag to indicate whether
* we are servicing an ajax request
*
@@ -124,23 +130,23 @@ class Console
public function getDisplay()
{
if ((! $this->_isAjax) && $this->_isEnabled) {
- $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']);
+ $cfgBookmark = Bookmark::getParams(
+ $GLOBALS['cfg']['Server']['user']
+ );
$image = Util::getImage('console', __('SQL Query Console'));
- $_sql_history = Relation::getHistory($GLOBALS['cfg']['Server']['user']);
+ $_sql_history = $this->relation->getHistory(
+ $GLOBALS['cfg']['Server']['user']
+ );
$bookmarkContent = static::getBookmarkContent();
- return Template::get('console/display')
- ->render(
- array(
- 'cfg_bookmark' => $cfgBookmark,
- 'image' => $image,
- 'sql_history' => $_sql_history,
- 'bookmark_content' => $bookmarkContent,
- )
- );
+ return Template::get('console/display')->render([
+ 'cfg_bookmark' => $cfgBookmark,
+ 'image' => $image,
+ 'sql_history' => $_sql_history,
+ 'bookmark_content' => $bookmarkContent,
+ ]);
}
return '';
}
-
}
diff --git a/libraries/classes/Controllers/Database/DatabaseStructureController.php b/libraries/classes/Controllers/Database/DatabaseStructureController.php
index d42b1e1e4b..ba3edd39e6 100644
--- a/libraries/classes/Controllers/Database/DatabaseStructureController.php
+++ b/libraries/classes/Controllers/Database/DatabaseStructureController.php
@@ -56,6 +56,20 @@ class DatabaseStructureController extends DatabaseController
protected $_is_show_stats;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct($response, $dbi, $db)
+ {
+ parent::__construct($response, $dbi, $db);
+ $this->relation = new Relation();
+ }
+
+ /**
* Retrieves databse information for further use
*
* @param string $sub_part Page part name
@@ -229,7 +243,7 @@ class DatabaseStructureController extends DatabaseController
// Request for Synchronization of favorite tables.
if (isset($_REQUEST['sync_favorite_tables'])) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['favoritework']) {
$this->synchronizeFavoriteTables($fav_instance, $user, $favorite_tables);
}
diff --git a/libraries/classes/Controllers/Table/TableRelationController.php b/libraries/classes/Controllers/Table/TableRelationController.php
index c794886d4b..9a5c6dc683 100644
--- a/libraries/classes/Controllers/Table/TableRelationController.php
+++ b/libraries/classes/Controllers/Table/TableRelationController.php
@@ -54,6 +54,11 @@ class TableRelationController extends TableController
protected $upd_query;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param array|null $options_array Options
@@ -83,6 +88,7 @@ class TableRelationController extends TableController
$this->existrel = $existrel;
$this->existrel_foreign = $existrel_foreign;
$this->upd_query = $upd_query;
+ $this->relation = new Relation();
}
/**
@@ -133,14 +139,14 @@ class TableRelationController extends TableController
// If we did an update, refresh our data
if (isset($_POST['destination_db']) && $this->cfgRelation['relwork']) {
- $this->existrel = Relation::getForeigners(
+ $this->existrel = $this->relation->getForeigners(
$this->db, $this->table, '', 'internal'
);
}
if (isset($_POST['destination_foreign_db'])
&& Util::isForeignKeySupported($this->tbl_storage_engine)
) {
- $this->existrel_foreign = Relation::getForeigners(
+ $this->existrel_foreign = $this->relation->getForeigners(
$this->db, $this->table, '', 'foreign'
);
}
@@ -156,7 +162,7 @@ class TableRelationController extends TableController
'table' => $GLOBALS['table']
),
'is_foreign_key_supported' => Util::isForeignKeySupported($engine),
- 'cfg_relation' => Relation::getRelationsParam(),
+ 'cfg_relation' => $this->relation->getRelationsParam(),
)
)
);
diff --git a/libraries/classes/Controllers/Table/TableSearchController.php b/libraries/classes/Controllers/Table/TableSearchController.php
index c1f8e3be72..9162fa4339 100644
--- a/libraries/classes/Controllers/Table/TableSearchController.php
+++ b/libraries/classes/Controllers/Table/TableSearchController.php
@@ -81,6 +81,11 @@ class TableSearchController extends TableController
protected $url_query;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param string $searchType Search type
@@ -104,6 +109,7 @@ class TableSearchController extends TableController
$this->_columnCollations = array();
$this->_geomColumnFlag = false;
$this->_foreigners = array();
+ $this->relation = new Relation();
// Loads table's information
$this->_loadTableInfo();
$this->_connectionCharSet = $this->dbi->fetchValue(
@@ -162,7 +168,7 @@ class TableSearchController extends TableController
} // end for
// Retrieve foreign keys
- $this->_foreigners = Relation::getForeigners($this->db, $this->table);
+ $this->_foreigners = $this->relation->getForeigners($this->db, $this->table);
}
/**
@@ -270,7 +276,7 @@ class TableSearchController extends TableController
//Set default datalabel if not selected
if (!isset($_POST['zoom_submit']) || $_POST['dataLabel'] == '') {
- $dataLabel = Relation::getDisplayField($this->db, $this->table);
+ $dataLabel = $this->relation->getDisplayField($this->db, $this->table);
} else {
$dataLabel = $_POST['dataLabel'];
}
@@ -870,7 +876,7 @@ class TableSearchController extends TableController
)
);
//Gets link to browse foreign data(if any) and criteria inputbox
- $foreignData = Relation::getForeignData(
+ $foreignData = $this->relation->getForeignData(
$this->_foreigners, $this->_columnNames[$column_index], false, '', ''
);
$value = Template::get('table/search/input_box')->render(
diff --git a/libraries/classes/Controllers/Table/TableStructureController.php b/libraries/classes/Controllers/Table/TableStructureController.php
index 51278280b3..f60fc3cbd9 100644
--- a/libraries/classes/Controllers/Table/TableStructureController.php
+++ b/libraries/classes/Controllers/Table/TableStructureController.php
@@ -74,6 +74,11 @@ class TableStructureController extends TableController
private $createAddField;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* TableStructureController constructor
*
* @param string $db DB name
@@ -121,6 +126,7 @@ class TableStructureController extends TableController
$this->table_obj = $this->dbi->getTable($this->db, $this->table);
$this->createAddField = new CreateAddField($dbi);
+ $this->relation = new Relation();
}
/**
@@ -278,7 +284,7 @@ class TableStructureController extends TableController
'table' => $this->table
),
'is_foreign_key_supported' => Util::isForeignKeySupported($engine),
- 'cfg_relation' => Relation::getRelationsParam(),
+ 'cfg_relation' => $this->relation->getRelationsParam(),
)
)
);
@@ -325,7 +331,7 @@ class TableStructureController extends TableController
/**
* Gets the relation settings
*/
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
/**
* Runs common work
@@ -1047,7 +1053,7 @@ class TableStructureController extends TableController
if (isset($_REQUEST['field_orig']) && is_array($_REQUEST['field_orig'])) {
foreach ($_REQUEST['field_orig'] as $fieldindex => $fieldcontent) {
if ($_REQUEST['field_name'][$fieldindex] != $fieldcontent) {
- Relation::renameField(
+ $this->relation->renameField(
$this->db, $this->table, $fieldcontent,
$_REQUEST['field_name'][$fieldindex]
);
@@ -1184,7 +1190,7 @@ class TableStructureController extends TableController
$mime_map = array();
if ($GLOBALS['cfg']['ShowPropertyComments']) {
- $comments_map = Relation::getComments($this->db, $this->table);
+ $comments_map = $this->relation->getComments($this->db, $this->table);
if ($cfgRelation['mimework'] && $GLOBALS['cfg']['BrowseMIME']) {
$mime_map = Transformations::getMIME($this->db, $this->table, true);
}
diff --git a/libraries/classes/Database/Designer.php b/libraries/classes/Database/Designer.php
index 881c46cc8c..a28a42ade9 100644
--- a/libraries/classes/Database/Designer.php
+++ b/libraries/classes/Database/Designer.php
@@ -23,6 +23,19 @@ use PhpMyAdmin\Util;
class Designer
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Function to get html for displaying the page edit/delete form
*
* @param string $db database name
@@ -32,7 +45,7 @@ class Designer
*/
public function getHtmlForEditOrDeletePages($db, $operation)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
return Template::get('database/designer/edit_delete_pages')->render([
'db' => $db,
'operation' => $operation,
@@ -50,7 +63,7 @@ class Designer
*/
public function getHtmlForPageSaveAs($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
return Template::get('database/designer/page_save_as')->render([
'db' => $db,
'pdfwork' => $cfgRelation['pdfwork'],
@@ -67,13 +80,13 @@ class Designer
*/
private function getPageIdsAndNames($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$page_query = "SELECT `page_nr`, `page_descr` FROM "
. Util::backquote($cfgRelation['db']) . "."
. Util::backquote($cfgRelation['pdf_pages'])
. " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($db) . "'"
. " ORDER BY `page_descr`";
- $page_rs = Relation::queryAsControlUser(
+ $page_rs = $this->relation->queryAsControlUser(
$page_query,
false,
DatabaseInterface::QUERY_STORE
@@ -137,7 +150,7 @@ class Designer
array $script_display_field,
$display_page
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
return Template::get('database/designer/js_fields')->render([
'server' => $GLOBALS['server'],
'db' => $_GET['db'],
@@ -178,7 +191,7 @@ class Designer
{
$params = [];
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($GLOBALS['cfgRelation']['designersettingswork']) {
$query = 'SELECT `settings_data` FROM '
diff --git a/libraries/classes/Database/Designer/Common.php b/libraries/classes/Database/Designer/Common.php
index 07f91e7842..45a9cf403a 100644
--- a/libraries/classes/Database/Designer/Common.php
+++ b/libraries/classes/Database/Designer/Common.php
@@ -21,6 +21,19 @@ use PhpMyAdmin\Util;
class Common
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Retrieves table info and stores it in $GLOBALS['designer']
*
* @return array with table info
@@ -65,7 +78,7 @@ class Common
$one_table['ENGINE']
);
- $DF = Relation::getDisplayField($GLOBALS['db'], $one_table['TABLE_NAME']);
+ $DF = $this->relation->getDisplayField($GLOBALS['db'], $one_table['TABLE_NAME']);
if ($DF != '') {
$retval[$GLOBALS['designer_url']["TABLE_NAME_SMALL"][$i]] = $DF;
}
@@ -126,7 +139,7 @@ class Common
DatabaseInterface::QUERY_STORE
);
while ($val = @$GLOBALS['dbi']->fetchRow($alltab_rs)) {
- $row = Relation::getForeigners($GLOBALS['db'], $val[0], '', 'internal');
+ $row = $this->relation->getForeigners($GLOBALS['db'], $val[0], '', 'internal');
if ($row !== false) {
foreach ($row as $field => $value) {
@@ -140,7 +153,7 @@ class Common
$i++;
}
}
- $row = Relation::getForeigners($GLOBALS['db'], $val[0], '', 'foreign');
+ $row = $this->relation->getForeigners($GLOBALS['db'], $val[0], '', 'foreign');
if ($row !== false) {
foreach ($row['foreign_keys_data'] as $one_key) {
@@ -250,7 +263,7 @@ class Common
*/
public function getTablePositions($pg)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return null;
}
@@ -284,7 +297,7 @@ class Common
*/
public function getPageName($pg)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return null;
}
@@ -312,7 +325,7 @@ class Common
*/
public function deletePage($pg)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return false;
}
@@ -320,7 +333,7 @@ class Common
$query = "DELETE FROM " . Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['table_coords'])
. " WHERE " . Util::backquote('pdf_page_number') . " = " . intval($pg);
- $success = Relation::queryAsControlUser(
+ $success = $this->relation->queryAsControlUser(
$query, true, DatabaseInterface::QUERY_STORE
);
@@ -328,7 +341,7 @@ class Common
$query = "DELETE FROM " . Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['pdf_pages'])
. " WHERE " . Util::backquote('page_nr') . " = " . intval($pg);
- $success = Relation::queryAsControlUser(
+ $success = $this->relation->queryAsControlUser(
$query, true, DatabaseInterface::QUERY_STORE
);
}
@@ -346,7 +359,7 @@ class Common
*/
public function getDefaultPage($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return null;
}
@@ -381,7 +394,7 @@ class Common
*/
public function getLoadingPage($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return null;
}
@@ -421,9 +434,9 @@ class Common
*/
public function createNewPage($pageName, $db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['pdfwork']) {
- $pageNumber = Relation::createPage(
+ $pageNumber = $this->relation->createPage(
$pageName,
$cfgRelation,
$db
@@ -442,7 +455,7 @@ class Common
*/
public function saveTablePositions($pg)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['pdfwork']) {
return false;
}
@@ -457,7 +470,7 @@ class Common
. " AND `pdf_page_number` = '" . $GLOBALS['dbi']->escapeString($pg)
. "'";
- $res = Relation::queryAsControlUser(
+ $res = $this->relation->queryAsControlUser(
$query,
true,
DatabaseInterface::QUERY_STORE
@@ -484,7 +497,7 @@ class Common
. "'" . $GLOBALS['dbi']->escapeString($_REQUEST['t_x'][$key]) . "', "
. "'" . $GLOBALS['dbi']->escapeString($_REQUEST['t_y'][$key]) . "')";
- $res = Relation::queryAsControlUser(
+ $res = $this->relation->queryAsControlUser(
$query, true, DatabaseInterface::QUERY_STORE
);
}
@@ -503,7 +516,7 @@ class Common
*/
public function saveDisplayField($db, $table, $field)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (!$cfgRelation['displaywork']) {
return false;
}
@@ -542,8 +555,8 @@ class Common
&& $type_T1 == $type_T2
) {
// relation exists?
- $existrel_foreign = Relation::getForeigners($DB2, $T2, '', 'foreign');
- $foreigner = Relation::searchColumnInForeigners($existrel_foreign, $F2);
+ $existrel_foreign = $this->relation->getForeigners($DB2, $T2, '', 'foreign');
+ $foreigner = $this->relation->searchColumnInForeigners($existrel_foreign, $F2);
if ($foreigner
&& isset($foreigner['constraint'])
) {
@@ -629,7 +642,7 @@ class Common
. "'" . $GLOBALS['dbi']->escapeString($T1) . "', "
. "'" . $GLOBALS['dbi']->escapeString($F1) . "')";
- if (Relation::queryAsControlUser($q, false, DatabaseInterface::QUERY_STORE)
+ if ($this->relation->queryAsControlUser($q, false, DatabaseInterface::QUERY_STORE)
) {
return array(true, __('Internal relationship has been added.'));
}
@@ -667,8 +680,8 @@ class Common
&& $type_T1 == $type_T2
) {
// InnoDB
- $existrel_foreign = Relation::getForeigners($DB2, $T2, '', 'foreign');
- $foreigner = Relation::searchColumnInForeigners($existrel_foreign, $F2);
+ $existrel_foreign = $this->relation->getForeigners($DB2, $T2, '', 'foreign');
+ $foreigner = $this->relation->searchColumnInForeigners($existrel_foreign, $F2);
if (isset($foreigner['constraint'])) {
$upd_query = 'ALTER TABLE ' . Util::backquote($DB2)
@@ -698,7 +711,7 @@ class Common
. " AND foreign_table = '" . $GLOBALS['dbi']->escapeString($T1) . "'"
. " AND foreign_field = '" . $GLOBALS['dbi']->escapeString($F1) . "'";
- $result = Relation::queryAsControlUser(
+ $result = $this->relation->queryAsControlUser(
$delete_query,
false,
DatabaseInterface::QUERY_STORE
@@ -725,7 +738,7 @@ class Common
*/
public function saveSetting($index, $value)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$cfgDesigner = array(
'user' => $GLOBALS['cfg']['Server']['user'],
'db' => $cfgRelation['db'],
@@ -757,7 +770,7 @@ class Common
. " WHERE username = '"
. $GLOBALS['dbi']->escapeString($cfgDesigner['user']) . "';";
- $success = Relation::queryAsControlUser($save_query);
+ $success = $this->relation->queryAsControlUser($save_query);
} else {
$save_data = array($index => $value);
@@ -768,7 +781,7 @@ class Common
. " VALUES('" . $cfgDesigner['user'] . "',"
. " '" . json_encode($save_data) . "');";
- $success = Relation::queryAsControlUser($query);
+ $success = $this->relation->queryAsControlUser($query);
}
}
diff --git a/libraries/classes/Database/Qbe.php b/libraries/classes/Database/Qbe.php
index f7110abe66..e2f326ce29 100644
--- a/libraries/classes/Database/Qbe.php
+++ b/libraries/classes/Database/Qbe.php
@@ -213,6 +213,33 @@ class Qbe
private $_currentSearch = null;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Public Constructor
+ *
+ * @param string $dbname Database name
+ * @param array $savedSearchList List of saved searches
+ * @param SavedSearches $currentSearch Current search id
+ */
+ public function __construct(
+ $dbname,
+ array $savedSearchList = array(),
+ $currentSearch = null
+ ) {
+ $this->_db = $dbname;
+ $this->_savedSearchList = $savedSearchList;
+ $this->_currentSearch = $currentSearch;
+ $this->_loadCriterias();
+ // Sets criteria parameters
+ $this->_setSearchParams();
+ $this->_setCriteriaTablesAndColumns();
+ $this->relation = new Relation();
+ }
+
+ /**
* Initialize criterias
*
* @return static
@@ -242,25 +269,6 @@ class Qbe
}
/**
- * Public Constructor
- *
- * @param string $dbname Database name
- * @param array $savedSearchList List of saved searches
- * @param SavedSearches $currentSearch Current search id
- */
- public function __construct(
- $dbname, array $savedSearchList = array(), $currentSearch = null
- ) {
- $this->_db = $dbname;
- $this->_savedSearchList = $savedSearchList;
- $this->_currentSearch = $currentSearch;
- $this->_loadCriterias();
- // Sets criteria parameters
- $this->_setSearchParams();
- $this->_setCriteriaTablesAndColumns();
- }
-
- /**
* Sets search parameters
*
* @return void
@@ -1395,7 +1403,7 @@ class Qbe
// So we select candidate tables which are foreign tables.
$foreign_tables = array();
foreach ($candidate_columns as $one_table) {
- $foreigners = Relation::getForeigners($this->_db, $one_table);
+ $foreigners = $this->relation->getForeigners($this->_db, $one_table);
foreach ($foreigners as $key => $foreigner) {
if ($key != 'foreign_keys_data') {
if (in_array($foreigner['foreign_table'], $candidate_columns)) {
@@ -1584,7 +1592,7 @@ class Qbe
// having relationships with unfinalized tables
foreach ($unfinalized as $oneTable) {
- $references = Relation::getChildReferences($this->_db, $oneTable);
+ $references = $this->relation->getChildReferences($this->_db, $oneTable);
foreach ($references as $column => $columnReferences) {
foreach ($columnReferences as $reference) {
@@ -1667,7 +1675,7 @@ class Qbe
{
$relations[$oneTable] = array();
- $foreigners = Relation::getForeigners($GLOBALS['db'], $oneTable);
+ $foreigners = $this->relation->getForeigners($GLOBALS['db'], $oneTable);
foreach ($foreigners as $field => $foreigner) {
// Foreign keys data
if ($field == 'foreign_keys_data') {
diff --git a/libraries/classes/DatabaseInterface.php b/libraries/classes/DatabaseInterface.php
index e2f76ed83f..577a98a618 100644
--- a/libraries/classes/DatabaseInterface.php
+++ b/libraries/classes/DatabaseInterface.php
@@ -118,6 +118,11 @@ class DatabaseInterface
public $types;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param DbiExtension $ext Object to be used for database queries
@@ -133,6 +138,7 @@ class DatabaseInterface
$this->_table_cache = array();
$this->_current_user = array();
$this->types = new Types($this);
+ $this->relation = new Relation();
}
/**
@@ -1528,15 +1534,15 @@ class DatabaseInterface
// If Zero configuration mode enabled, check PMA tables in current db.
if ($GLOBALS['cfg']['ZeroConf'] == true) {
if (strlen($GLOBALS['db'])) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (empty($cfgRelation['db'])) {
- Relation::fixPmaTables($GLOBALS['db'], false);
+ $this->relation->fixPmaTables($GLOBALS['db'], false);
}
}
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (empty($cfgRelation['db'])) {
if ($GLOBALS['dblist']->databases->exists('phpmyadmin')) {
- Relation::fixPmaTables('phpmyadmin', false);
+ $this->relation->fixPmaTables('phpmyadmin', false);
}
}
}
diff --git a/libraries/classes/Display/Export.php b/libraries/classes/Display/Export.php
index c404727eb8..c4b9479fb7 100644
--- a/libraries/classes/Display/Export.php
+++ b/libraries/classes/Display/Export.php
@@ -28,6 +28,19 @@ use PhpMyAdmin\Util;
class Export
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Outputs appropriate checked statement for checkbox.
*
* @param string $str option name
@@ -139,7 +152,7 @@ class Export
private function getOptionsForTemplates($exportType)
{
// Get the relation settings
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$query = "SELECT `id`, `template_name` FROM "
. Util::backquote($cfgRelation['db']) . '.'
@@ -149,7 +162,7 @@ class Export
. "' AND `export_type` = '" . $GLOBALS['dbi']->escapeString($exportType) . "'"
. " ORDER BY `template_name`;";
- $result = Relation::queryAsControlUser($query);
+ $result = $this->relation->queryAsControlUser($query);
$templates = [];
if ($result !== false) {
@@ -643,7 +656,7 @@ class Export
$unlimNumRows,
$multiValues
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (isset($_REQUEST['single_table'])) {
$GLOBALS['single_table'] = $_REQUEST['single_table'];
@@ -758,7 +771,7 @@ class Export
break;
}
- $result = Relation::queryAsControlUser($query, false);
+ $result = $this->relation->queryAsControlUser($query, false);
$response = Response::getInstance();
if (! $result) {
diff --git a/libraries/classes/Display/Results.php b/libraries/classes/Display/Results.php
index c386670403..7b772145bc 100644
--- a/libraries/classes/Display/Results.php
+++ b/libraries/classes/Display/Results.php
@@ -185,6 +185,10 @@ class Results
*/
public $transformation_info;
+ /**
+ * @var Relation $relation
+ */
+ private $relation;
/**
* Get any property of this class
@@ -200,7 +204,6 @@ class Results
}
}
-
/**
* Set values for any property of this class
*
@@ -216,7 +219,6 @@ class Results
}
}
-
/**
* Constructor for PhpMyAdmin\Display\Results class
*
@@ -229,6 +231,8 @@ class Results
*/
public function __construct($db, $table, $goto, $sql_query)
{
+ $this->relation = new Relation();
+
$this->_setDefaultTransformations();
$this->__set('db', $db);
@@ -243,7 +247,7 @@ class Results
*
* @return void
*/
- private function _setDefaultTransformations()
+ private function _setDefaultTransformations()
{
$json_highlighting_data = array(
'libraries/classes/Plugins/Transformations/Output/Text_Plain_Json.php',
@@ -310,7 +314,7 @@ class Results
)
);
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['db']) {
$this->transformation_info[$cfgRelation['db']] = array();
$relDb = &$this->transformation_info[$cfgRelation['db']];
@@ -1575,7 +1579,7 @@ class Results
if (empty($field->table)) {
continue;
}
- $ret[$field->table] = Relation::getComments(
+ $ret[$field->table] = $this->relation->getComments(
empty($field->database) ? $this->__get('db') : $field->database,
$field->table
);
@@ -4602,7 +4606,7 @@ class Results
// configuration storage. If no PMA storage, we won't be able
// to use the "column to display" notion (for example show
// the name related to a numeric id).
- $exist_rel = Relation::getForeigners(
+ $exist_rel = $this->relation->getForeigners(
$this->__get('db'), $this->__get('table'), '', self::POSITION_BOTH
);
@@ -4610,7 +4614,7 @@ class Results
foreach ($exist_rel as $master_field => $rel) {
if ($master_field != 'foreign_keys_data') {
- $display_field = Relation::getDisplayField(
+ $display_field = $this->relation->getDisplayField(
$rel['foreign_db'], $rel['foreign_table']
);
$map[$master_field] = array(
@@ -4622,7 +4626,7 @@ class Results
} else {
foreach ($rel as $key => $one_key) {
foreach ($one_key['index_list'] as $index => $one_field) {
- $display_field = Relation::getDisplayField(
+ $display_field = $this->relation->getDisplayField(
isset($one_key['ref_db_name'])
? $one_key['ref_db_name']
: $GLOBALS['db'],
diff --git a/libraries/classes/ErrorReport.php b/libraries/classes/ErrorReport.php
index d512123458..297bd22cb1 100644
--- a/libraries/classes/ErrorReport.php
+++ b/libraries/classes/ErrorReport.php
@@ -32,6 +32,11 @@ class ErrorReport
private $httpRequest;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param HttpRequest $httpRequest HttpRequest instance
@@ -40,6 +45,7 @@ class ErrorReport
{
$this->httpRequest = $httpRequest;
$this->submissionUrl = 'https://reports.phpmyadmin.net/incidents/create';
+ $this->relation = new Relation();
}
/**
@@ -66,7 +72,7 @@ class ErrorReport
*/
public function getData($exceptionType = 'js')
{
- $relParams = Relation::getRelationsParam();
+ $relParams = $this->relation->getRelationsParam();
// common params for both, php & js exceptions
$report = [
"pma_version" => PMA_VERSION,
diff --git a/libraries/classes/Footer.php b/libraries/classes/Footer.php
index 6fb79dc165..a664e3b49e 100644
--- a/libraries/classes/Footer.php
+++ b/libraries/classes/Footer.php
@@ -56,6 +56,11 @@ class Footer
private $_isEnabled;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Creates a new class instance
*/
public function __construct()
@@ -63,6 +68,7 @@ class Footer
$this->_isEnabled = true;
$this->_scripts = new Scripts();
$this->_isMinimal = false;
+ $this->relation = new Relation();
}
/**
@@ -245,7 +251,7 @@ class Footer
&& isset($GLOBALS['dbi'])
&& $GLOBALS['dbi']->isUserType('logged')
) {
- Relation::setHistory(
+ $this->relation->setHistory(
Core::ifSetOr($GLOBALS['db'], ''),
Core::ifSetOr($GLOBALS['table'], ''),
$GLOBALS['cfg']['Server']['user'],
diff --git a/libraries/classes/InsertEdit.php b/libraries/classes/InsertEdit.php
index 5aaaeb7488..362fe6c51c 100644
--- a/libraries/classes/InsertEdit.php
+++ b/libraries/classes/InsertEdit.php
@@ -34,6 +34,11 @@ class InsertEdit
private $dbi;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param DatabaseInterface $dbi DatabaseInterface instance
@@ -41,6 +46,7 @@ class InsertEdit
public function __construct(DatabaseInterface $dbi)
{
$this->dbi = $dbi;
+ $this->relation = new Relation();
}
/**
@@ -567,7 +573,7 @@ class InsertEdit
array $foreigners,
array $foreignData
) {
- $foreigner = Relation::searchColumnInForeigners($foreigners, $column['Field']);
+ $foreigner = $this->relation->searchColumnInForeigners($foreigners, $column['Field']);
if (mb_strstr($column['True_Type'], 'enum')) {
if (mb_strlen($column['Type']) > 20) {
$nullify_code = '1';
@@ -895,7 +901,7 @@ class InsertEdit
. ($readOnly ? ' disabled' : '')
. ' tabindex="' . ($tabindex + $tabindex_for_value) . '"'
. ' id="field_' . $idindex . '_3">';
- $html_output .= Relation::foreignDropdown(
+ $html_output .= $this->relation->foreignDropdown(
$foreignData['disp_row'],
$foreignData['foreign_field'],
$foreignData['foreign_display'],
@@ -2361,8 +2367,8 @@ class InsertEdit
array $map,
$relation_field
) {
- $foreigner = Relation::searchColumnInForeigners($map, $relation_field);
- $display_field = Relation::getDisplayField(
+ $foreigner = $this->relation->searchColumnInForeigners($map, $relation_field);
+ $display_field = $this->relation->getDisplayField(
$foreigner['foreign_db'],
$foreigner['foreign_table']
);
@@ -2410,7 +2416,7 @@ class InsertEdit
$dispval,
$relation_field_value
) {
- $foreigner = Relation::searchColumnInForeigners($map, $relation_field);
+ $foreigner = $this->relation->searchColumnInForeigners($map, $relation_field);
if ('K' == $_SESSION['tmpval']['relational_display']) {
// user chose "relational key" in the display options, so
// the title contains the display field
@@ -2909,7 +2915,7 @@ class InsertEdit
$comments_map = array();
if ($GLOBALS['cfg']['ShowPropertyComments']) {
- $comments_map = Relation::getComments($db, $table);
+ $comments_map = $this->relation->getComments($db, $table);
}
return $comments_map;
@@ -3198,7 +3204,7 @@ class InsertEdit
// The function column
// -------------------
- $foreignData = Relation::getForeignData(
+ $foreignData = $this->relation->getForeignData(
$foreigners,
$column['Field'],
false,
diff --git a/libraries/classes/Menu.php b/libraries/classes/Menu.php
index dea9f801ef..4e34ac8f01 100644
--- a/libraries/classes/Menu.php
+++ b/libraries/classes/Menu.php
@@ -43,6 +43,11 @@ class Menu
private $_table;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Creates a new instance of Menu
*
* @param int $server Server id
@@ -52,8 +57,9 @@ class Menu
public function __construct($server, $db, $table)
{
$this->_server = $server;
- $this->_db = $db;
- $this->_table = $table;
+ $this->_db = $db;
+ $this->_table = $table;
+ $this->relation = new Relation();
}
/**
@@ -138,7 +144,7 @@ class Menu
return Util::cacheGet($cache_key);
}
$allowedTabs = Util::getMenuTabList($level);
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['menuswork']) {
$groupTable = Util::backquote($cfgRelation['db'])
. "."
@@ -153,7 +159,7 @@ class Menu
. $userTable . " WHERE `username` = '"
. $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['user']) . "')";
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $this->relation->queryAsControlUser($sql_query, false);
if ($result) {
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
$tabName = mb_substr(
@@ -293,12 +299,12 @@ class Menu
} // end if
} else {
// no table selected, display database comment if present
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
// Get additional information about tables for tooltip is done
// in Util::getDbInfo() only once
if ($cfgRelation['commwork']) {
- $comment = Relation::getDbComment($this->_db);
+ $comment = $this->relation->getDbComment($this->_db);
/**
* Displays table comment
*/
@@ -449,7 +455,7 @@ class Menu
/**
* Gets the relation settings
*/
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$tabs = array();
diff --git a/libraries/classes/Navigation/Navigation.php b/libraries/classes/Navigation/Navigation.php
index f4e7fa2f3d..c4a297bee6 100644
--- a/libraries/classes/Navigation/Navigation.php
+++ b/libraries/classes/Navigation/Navigation.php
@@ -23,6 +23,19 @@ use PhpMyAdmin\Util;
class Navigation
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Renders the navigation tree, or part of it
*
* @return string The navigation tree
@@ -99,7 +112,7 @@ class Navigation
. "'" . $GLOBALS['dbi']->escapeString($dbName) . "',"
. "'" . (! empty($tableName)? $GLOBALS['dbi']->escapeString($tableName) : "" )
. "')";
- Relation::queryAsControlUser($sqlQuery, false);
+ $this->relation->queryAsControlUser($sqlQuery, false);
}
/**
@@ -150,7 +163,7 @@ class Navigation
? " AND `table_name`='" . $GLOBALS['dbi']->escapeString($tableName) . "'"
: ""
);
- Relation::queryAsControlUser($sqlQuery, false);
+ $this->relation->queryAsControlUser($sqlQuery, false);
}
/**
@@ -176,7 +189,7 @@ class Navigation
. " AND `db_name`='" . $GLOBALS['dbi']->escapeString($dbName) . "'"
. " AND `table_name`='"
. (! empty($tableName) ? $GLOBALS['dbi']->escapeString($tableName) : '') . "'";
- $result = Relation::queryAsControlUser($sqlQuery, false);
+ $result = $this->relation->queryAsControlUser($sqlQuery, false);
$hidden = array();
if ($result) {
diff --git a/libraries/classes/Navigation/Nodes/Node.php b/libraries/classes/Navigation/Nodes/Node.php
index 21fd384327..a299206317 100644
--- a/libraries/classes/Navigation/Nodes/Node.php
+++ b/libraries/classes/Navigation/Nodes/Node.php
@@ -103,6 +103,11 @@ class Node
public $pos3 = 0;
/**
+ * @var Relation $relation
+ */
+ protected $relation;
+
+ /**
* Initialises the class by setting the mandatory variables
*
* @param string $name An identifier for the new node
@@ -120,6 +125,7 @@ class Node
$this->type = Node::CONTAINER;
}
$this->is_group = (bool)$is_group;
+ $this->relation = new Relation();
}
/**
@@ -803,7 +809,7 @@ class Node
*/
public function getNavigationHidingData()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['navwork']) {
$navTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote(
diff --git a/libraries/classes/Navigation/Nodes/NodeDatabase.php b/libraries/classes/Navigation/Nodes/NodeDatabase.php
index 67d1f9ecee..e36ab0b6b9 100644
--- a/libraries/classes/Navigation/Nodes/NodeDatabase.php
+++ b/libraries/classes/Navigation/Nodes/NodeDatabase.php
@@ -387,7 +387,7 @@ class NodeDatabase extends Node
}
// Remove hidden items so that they are not displayed in navigation tree
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['navwork']) {
$hiddenItems = $this->getHiddenItems(substr($type, 0, -1));
foreach ($retval as $key => $item) {
@@ -411,7 +411,7 @@ class NodeDatabase extends Node
public function getHiddenItems($type)
{
$db = $this->real_name;
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (empty($cfgRelation['navigationhiding'])) {
return array();
}
@@ -422,7 +422,7 @@ class NodeDatabase extends Node
. " AND `item_type`='" . $type
. "'" . " AND `db_name`='" . $GLOBALS['dbi']->escapeString($db)
. "'";
- $result = Relation::queryAsControlUser($sqlQuery, false);
+ $result = $this->relation->queryAsControlUser($sqlQuery, false);
$hiddenItems = array();
if ($result) {
while ($row = $GLOBALS['dbi']->fetchArray($result)) {
@@ -669,7 +669,7 @@ class NodeDatabase extends Node
public function getHtmlForControlButtons()
{
$ret = '';
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['navwork']) {
if ($this->hiddenCount > 0) {
$params = array(
diff --git a/libraries/classes/Navigation/Nodes/NodeDatabaseChild.php b/libraries/classes/Navigation/Nodes/NodeDatabaseChild.php
index e08ae1d853..5fdbbef0ff 100644
--- a/libraries/classes/Navigation/Nodes/NodeDatabaseChild.php
+++ b/libraries/classes/Navigation/Nodes/NodeDatabaseChild.php
@@ -35,7 +35,7 @@ abstract class NodeDatabaseChild extends Node
public function getHtmlForControlButtons()
{
$ret = '';
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['navwork']) {
$db = $this->realParent()->real_name;
$item = $this->real_name;
diff --git a/libraries/classes/Normalization.php b/libraries/classes/Normalization.php
index 0fe950b739..d40282a12b 100644
--- a/libraries/classes/Normalization.php
+++ b/libraries/classes/Normalization.php
@@ -30,6 +30,11 @@ class Normalization
private $dbi;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param DatabaseInterface $dbi DatabaseInterface instance
@@ -37,6 +42,7 @@ class Normalization
public function __construct(DatabaseInterface $dbi)
{
$this->dbi = $dbi;
+ $this->relation = new Relation();
}
/**
@@ -111,7 +117,7 @@ class Normalization
$table,
array $columnMeta = []
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$contentCells = [];
$availableMime = [];
$mimeMap = [];
@@ -119,7 +125,7 @@ class Normalization
$mimeMap = Transformations::getMIME($db, $table);
$availableMime = Transformations::getAvailableMIMEtypes();
}
- $commentsMap = Relation::getComments($db, $table);
+ $commentsMap = $this->relation->getComments($db, $table);
for ($columnNumber = 0; $columnNumber < $numFields; $columnNumber++) {
$contentCells[$columnNumber] = [
'column_number' => $columnNumber,
diff --git a/libraries/classes/Operations.php b/libraries/classes/Operations.php
index f6f8462629..e62038a572 100644
--- a/libraries/classes/Operations.php
+++ b/libraries/classes/Operations.php
@@ -28,6 +28,19 @@ use PhpMyAdmin\Util;
class Operations
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Get HTML output for database comment
*
* @param string $db database name
@@ -48,7 +61,7 @@ class Operations
$html_output .= '</legend>';
$html_output .= '<input type="text" name="comment" '
. 'class="textfield"'
- . 'value="' . htmlspecialchars(Relation::getDbComment($db)) . '" />'
+ . 'value="' . htmlspecialchars($this->relation->getDbComment($db)) . '" />'
. '</fieldset>';
$html_output .= '<fieldset class="tblFooters">'
. '<input type="submit" value="' . __('Go') . '" />'
@@ -1284,7 +1297,7 @@ class Operations
// display "Add constraints" choice only if there are
// foreign keys
- if (Relation::getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'foreign')) {
+ if ($this->relation->getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'foreign')) {
$html_output .= '<input type="checkbox" name="add_constraints" '
. 'value="1" id="checkbox_constraints" checked="checked"/>';
$html_output .= '<label for="checkbox_constraints">'
diff --git a/libraries/classes/Plugins/Export/ExportHtmlword.php b/libraries/classes/Plugins/Export/ExportHtmlword.php
index 69fdf6ad6b..5aa72935c9 100644
--- a/libraries/classes/Plugins/Export/ExportHtmlword.php
+++ b/libraries/classes/Plugins/Export/ExportHtmlword.php
@@ -34,6 +34,7 @@ class ExportHtmlword extends ExportPlugin
*/
public function __construct()
{
+ parent::__construct();
$this->setProperties();
}
@@ -370,7 +371,7 @@ class ExportHtmlword extends ExportPlugin
$GLOBALS['dbi']->selectDb($db);
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $this->relation->getRelationsAndStatus(
$do_relation && !empty($cfgRelation['relation']),
$db,
$table
@@ -403,7 +404,7 @@ class ExportHtmlword extends ExportPlugin
$schema_insert .= '<td class="print"><strong>'
. __('Comments')
. '</strong></td>';
- $comments = Relation::getComments($db, $table);
+ $comments = $this->relation->getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$schema_insert .= '<td class="print"><strong>'
diff --git a/libraries/classes/Plugins/Export/ExportLatex.php b/libraries/classes/Plugins/Export/ExportLatex.php
index bcf1ad91a8..f9cebe18ab 100644
--- a/libraries/classes/Plugins/Export/ExportLatex.php
+++ b/libraries/classes/Plugins/Export/ExportLatex.php
@@ -34,9 +34,9 @@ class ExportLatex extends ExportPlugin
*/
public function __construct()
{
+ parent::__construct();
// initialize the specific export sql variables
$this->initSpecificVariables();
-
$this->setProperties();
}
@@ -496,7 +496,7 @@ class ExportLatex extends ExportPlugin
$GLOBALS['dbi']->selectDb($db);
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $this->relation->getRelationsAndStatus(
$do_relation && !empty($cfgRelation['relation']),
$db,
$table
@@ -532,7 +532,7 @@ class ExportLatex extends ExportPlugin
}
if ($do_comments) {
$header .= ' & \\multicolumn{1}{|c|}{\\textbf{' . __('Comments') . '}}';
- $comments = Relation::getComments($db, $table);
+ $comments = $this->relation->getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$header .= ' & \\multicolumn{1}{|c|}{\\textbf{MIME}}';
diff --git a/libraries/classes/Plugins/Export/ExportOdt.php b/libraries/classes/Plugins/Export/ExportOdt.php
index ec37a0c23a..9f840d4dd2 100644
--- a/libraries/classes/Plugins/Export/ExportOdt.php
+++ b/libraries/classes/Plugins/Export/ExportOdt.php
@@ -35,6 +35,7 @@ class ExportOdt extends ExportPlugin
*/
public function __construct()
{
+ parent::__construct();
$GLOBALS['odt_buffer'] = '';
$this->setProperties();
}
@@ -454,7 +455,7 @@ class ExportOdt extends ExportPlugin
$GLOBALS['dbi']->selectDb($db);
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $this->relation->getRelationsAndStatus(
$do_relation && !empty($cfgRelation['relation']),
$db,
$table
@@ -499,7 +500,7 @@ class ExportOdt extends ExportPlugin
$GLOBALS['odt_buffer'] .= '<table:table-cell office:value-type="string">'
. '<text:p>' . __('Comments') . '</text:p>'
. '</table:table-cell>';
- $comments = Relation::getComments($db, $table);
+ $comments = $this->relation->getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$GLOBALS['odt_buffer'] .= '<table:table-cell office:value-type="string">'
@@ -520,7 +521,7 @@ class ExportOdt extends ExportPlugin
$col_as
);
if ($do_relation && $have_rel) {
- $foreigner = Relation::searchColumnInForeigners($res_rel, $field_name);
+ $foreigner = $this->relation->searchColumnInForeigners($res_rel, $field_name);
if ($foreigner) {
$rtable = $foreigner['foreign_table'];
$rfield = $foreigner['foreign_field'];
diff --git a/libraries/classes/Plugins/Export/ExportSql.php b/libraries/classes/Plugins/Export/ExportSql.php
index cb993bd492..d9a9f6d82b 100644
--- a/libraries/classes/Plugins/Export/ExportSql.php
+++ b/libraries/classes/Plugins/Export/ExportSql.php
@@ -51,6 +51,7 @@ class ExportSql extends ExportPlugin
*/
public function __construct()
{
+ parent::__construct();
$this->setProperties();
// Avoids undefined variables, use NULL so isset() returns false
@@ -998,7 +999,7 @@ class ExportSql extends ExportPlugin
$tables,
array $metadataTypes
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (!isset($cfgRelation['db'])) {
return true;
}
@@ -1050,7 +1051,7 @@ class ExportSql extends ExportPlugin
$table,
array $metadataTypes
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (isset($table)) {
$types = array(
@@ -1839,7 +1840,7 @@ class ExportSql extends ExportPlugin
$schema_create = '';
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $this->relation->getRelationsAndStatus(
$do_relation && !empty($cfgRelation['relation']),
$db,
$table
diff --git a/libraries/classes/Plugins/Export/ExportTexytext.php b/libraries/classes/Plugins/Export/ExportTexytext.php
index 39f9b96c63..3100f3aa87 100644
--- a/libraries/classes/Plugins/Export/ExportTexytext.php
+++ b/libraries/classes/Plugins/Export/ExportTexytext.php
@@ -34,6 +34,7 @@ class ExportTexytext extends ExportPlugin
*/
public function __construct()
{
+ parent::__construct();
$this->setProperties();
}
@@ -364,7 +365,7 @@ class ExportTexytext extends ExportPlugin
$GLOBALS['dbi']->selectDb($db);
// Check if we can use Relations
- list($res_rel, $have_rel) = Relation::getRelationsAndStatus(
+ list($res_rel, $have_rel) = $this->relation->getRelationsAndStatus(
$do_relation && !empty($cfgRelation['relation']),
$db,
$table
@@ -384,7 +385,7 @@ class ExportTexytext extends ExportPlugin
}
if ($do_comments) {
$text_output .= '|' . __('Comments');
- $comments = Relation::getComments($db, $table);
+ $comments = $this->relation->getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$text_output .= '|' . htmlspecialchars('MIME');
diff --git a/libraries/classes/Plugins/Export/Helpers/Pdf.php b/libraries/classes/Plugins/Export/Helpers/Pdf.php
index f64a24bbe6..4677327d05 100644
--- a/libraries/classes/Plugins/Export/Helpers/Pdf.php
+++ b/libraries/classes/Plugins/Export/Helpers/Pdf.php
@@ -27,6 +27,46 @@ class Pdf extends PdfLib
var $headerset;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructs PDF and configures standard parameters.
+ *
+ * @param string $orientation page orientation
+ * @param string $unit unit
+ * @param string $format the format used for pages
+ * @param boolean $unicode true means that the input text is unicode
+ * @param string $encoding charset encoding; default is UTF-8.
+ * @param boolean $diskcache if true reduce the RAM memory usage by caching
+ * temporary data on filesystem (slower).
+ * @param boolean $pdfa If TRUE set the document to PDF/A mode.
+ *
+ * @access public
+ */
+ public function __construct(
+ $orientation = 'P',
+ $unit = 'mm',
+ $format = 'A4',
+ $unicode = true,
+ $encoding = 'UTF-8',
+ $diskcache = false,
+ $pdfa = false
+ ) {
+ parent::__construct(
+ $orientation,
+ $unit,
+ $format,
+ $unicode,
+ $encoding,
+ $diskcache,
+ $pdfa
+ );
+ $this->relation = new Relation();
+ }
+
+ /**
* Add page if needed.
*
* @param float|int $h cell height. Default value: 0
@@ -461,7 +501,7 @@ class Pdf extends PdfLib
if ($do_relation) {
// Find which tables are related with the current one and write it in
// an array
- $res_rel = Relation::getForeigners($db, $table);
+ $res_rel = $this->relation->getForeigners($db, $table);
$have_rel = !empty($res_rel);
} else {
$have_rel = false;
@@ -514,7 +554,7 @@ class Pdf extends PdfLib
// Now let's start to write the table structure
if ($do_comments) {
- $comments = Relation::getComments($db, $table);
+ $comments = $this->relation->getComments($db, $table);
}
if ($do_mime && $cfgRelation['mimework']) {
$mime_map = Transformations::getMIME($db, $table, true);
diff --git a/libraries/classes/Plugins/ExportPlugin.php b/libraries/classes/Plugins/ExportPlugin.php
index fcee065d87..56710ad733 100644
--- a/libraries/classes/Plugins/ExportPlugin.php
+++ b/libraries/classes/Plugins/ExportPlugin.php
@@ -28,9 +28,19 @@ abstract class ExportPlugin
* @var \PhpMyAdmin\Properties\Plugins\ExportPluginProperties
*/
protected $properties;
+
+ /**
+ * @var Relation $relation
+ */
+ protected $relation;
+
/**
- * Common methods, must be overwritten by all export plugins
+ * Constructor
*/
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
/**
* Outputs export header
@@ -350,7 +360,7 @@ abstract class ExportPlugin
array $aliases = array()
) {
$relation = '';
- $foreigner = Relation::searchColumnInForeigners($res_rel, $field_name);
+ $foreigner = $this->relation->searchColumnInForeigners($res_rel, $field_name);
if ($foreigner) {
$ftable = $foreigner['foreign_table'];
$ffield = $foreigner['foreign_field'];
diff --git a/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php b/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php
index d63304f0cf..8797961c7b 100644
--- a/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php
+++ b/libraries/classes/Plugins/Schema/Dia/DiaRelationSchema.php
@@ -84,7 +84,7 @@ class DiaRelationSchema extends ExportRelationSchema
$seen_a_relation = false;
foreach ($alltables as $one_table) {
- $exist_rel = Relation::getForeigners($this->db, $one_table, '', 'both');
+ $exist_rel = $this->relation->getForeigners($this->db, $one_table, '', 'both');
if (!$exist_rel) {
continue;
}
diff --git a/libraries/classes/Plugins/Schema/Eps/EpsRelationSchema.php b/libraries/classes/Plugins/Schema/Eps/EpsRelationSchema.php
index 0d812225c7..6056b1570a 100644
--- a/libraries/classes/Plugins/Schema/Eps/EpsRelationSchema.php
+++ b/libraries/classes/Plugins/Schema/Eps/EpsRelationSchema.php
@@ -92,7 +92,7 @@ class EpsRelationSchema extends ExportRelationSchema
$seen_a_relation = false;
foreach ($alltables as $one_table) {
- $exist_rel = Relation::getForeigners($this->db, $one_table, '', 'both');
+ $exist_rel = $this->relation->getForeigners($this->db, $one_table, '', 'both');
if (!$exist_rel) {
continue;
}
diff --git a/libraries/classes/Plugins/Schema/ExportRelationSchema.php b/libraries/classes/Plugins/Schema/ExportRelationSchema.php
index fa0bc51505..dc0b36d910 100644
--- a/libraries/classes/Plugins/Schema/ExportRelationSchema.php
+++ b/libraries/classes/Plugins/Schema/ExportRelationSchema.php
@@ -21,6 +21,22 @@ use PhpMyAdmin\Util;
*/
class ExportRelationSchema
{
+ protected $db;
+ protected $diagram;
+ protected $showColor;
+ protected $tableDimension;
+ protected $sameWide;
+ protected $showKeys;
+ protected $orientation;
+ protected $paper;
+ protected $pageNumber;
+ protected $offline;
+
+ /**
+ * @var Relation $relation
+ */
+ protected $relation;
+
/**
* Constructor.
*
@@ -33,19 +49,9 @@ class ExportRelationSchema
$this->diagram = $diagram;
$this->setPageNumber($_REQUEST['page_number']);
$this->setOffline(isset($_REQUEST['offline_export']));
+ $this->relation = new Relation();
}
- protected $db;
- protected $diagram;
- protected $showColor;
- protected $tableDimension;
- protected $sameWide;
- protected $showKeys;
- protected $orientation;
- protected $paper;
- protected $pageNumber;
- protected $offline;
-
/**
* Set Page Number
*
@@ -266,7 +272,7 @@ class ExportRelationSchema
. Util::backquote($GLOBALS['cfgRelation']['db']) . '.'
. Util::backquote($GLOBALS['cfgRelation']['pdf_pages'])
. ' WHERE page_nr = ' . $this->pageNumber;
- $_name_rs = Relation::queryAsControlUser($_name_sql);
+ $_name_rs = $this->relation->queryAsControlUser($_name_sql);
$_name_row = $GLOBALS['dbi']->fetchRow($_name_rs);
$filename = $_name_row[0] . $extension;
}
diff --git a/libraries/classes/Plugins/Schema/Pdf/Pdf.php b/libraries/classes/Plugins/Schema/Pdf/Pdf.php
index 1f70fc4b90..138c56c8ac 100644
--- a/libraries/classes/Plugins/Schema/Pdf/Pdf.php
+++ b/libraries/classes/Plugins/Schema/Pdf/Pdf.php
@@ -55,6 +55,11 @@ class Pdf extends PdfLib
private $_db;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructs PDF for schema export.
*
* @param string $orientation page orientation
@@ -73,6 +78,7 @@ class Pdf extends PdfLib
$this->_pageNumber = $pageNumber;
$this->_withDoc = $withDoc;
$this->_db = $db;
+ $this->relation = new Relation();
}
/**
@@ -242,7 +248,7 @@ class Pdf extends PdfLib
. Util::backquote($GLOBALS['cfgRelation']['pdf_pages'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($this->_db)
. '\' AND page_nr = \'' . $this->_pageNumber . '\'';
- $test_rs = Relation::queryAsControlUser($test_query);
+ $test_rs = $this->relation->queryAsControlUser($test_query);
$pages = @$GLOBALS['dbi']->fetchAssoc($test_rs);
$pg_name = ucfirst($pages['page_descr']);
}
diff --git a/libraries/classes/Plugins/Schema/Pdf/PdfRelationSchema.php b/libraries/classes/Plugins/Schema/Pdf/PdfRelationSchema.php
index 68e89570ed..aa4fc721d2 100644
--- a/libraries/classes/Plugins/Schema/Pdf/PdfRelationSchema.php
+++ b/libraries/classes/Plugins/Schema/Pdf/PdfRelationSchema.php
@@ -186,7 +186,7 @@ class PdfRelationSchema extends ExportRelationSchema
// and finding its foreigns is OK (then we can support innodb)
$seen_a_relation = false;
foreach ($alltables as $one_table) {
- $exist_rel = Relation::getForeigners($this->db, $one_table, '', 'both');
+ $exist_rel = $this->relation->getForeigners($this->db, $one_table, '', 'both');
if (!$exist_rel) {
continue;
}
@@ -547,8 +547,8 @@ class PdfRelationSchema extends ExportRelationSchema
$this->diagram->SetFont($this->_ff, '', 8);
$this->diagram->ln();
- $cfgRelation = Relation::getRelationsParam();
- $comments = Relation::getComments($this->db, $table);
+ $cfgRelation = $this->relation->getRelationsParam();
+ $comments = $this->relation->getComments($this->db, $table);
if ($cfgRelation['mimework']) {
$mime_map = Transformations::getMIME($this->db, $table, true);
}
@@ -584,7 +584,7 @@ class PdfRelationSchema extends ExportRelationSchema
// Find which tables are related with the current one and write it in
// an array
- $res_rel = Relation::getForeigners($this->db, $table);
+ $res_rel = $this->relation->getForeigners($this->db, $table);
/**
* Displays the comments of the table if MySQL >= 3.23
@@ -680,7 +680,7 @@ class PdfRelationSchema extends ExportRelationSchema
$this->diagram->SetLink(
$this->diagram->PMA_links['doc'][$table][$field_name], -1
);
- $foreigner = Relation::searchColumnInForeigners($res_rel, $field_name);
+ $foreigner = $this->relation->searchColumnInForeigners($res_rel, $field_name);
$linksTo = '';
if ($foreigner) {
diff --git a/libraries/classes/Plugins/Schema/Svg/SvgRelationSchema.php b/libraries/classes/Plugins/Schema/Svg/SvgRelationSchema.php
index c6918724c7..846b8fa153 100644
--- a/libraries/classes/Plugins/Schema/Svg/SvgRelationSchema.php
+++ b/libraries/classes/Plugins/Schema/Svg/SvgRelationSchema.php
@@ -104,7 +104,7 @@ class SvgRelationSchema extends ExportRelationSchema
$seen_a_relation = false;
foreach ($alltables as $one_table) {
- $exist_rel = Relation::getForeigners($this->db, $one_table, '', 'both');
+ $exist_rel = $this->relation->getForeigners($this->db, $one_table, '', 'both');
if (!$exist_rel) {
continue;
}
diff --git a/libraries/classes/Plugins/Schema/TableStats.php b/libraries/classes/Plugins/Schema/TableStats.php
index 5bc03d535b..0dc3db8663 100644
--- a/libraries/classes/Plugins/Schema/TableStats.php
+++ b/libraries/classes/Plugins/Schema/TableStats.php
@@ -38,6 +38,11 @@ abstract class TableStats
protected $offline;
/**
+ * @var Relation $relation
+ */
+ protected $relation;
+
+ /**
* Constructor
*
* @param object $diagram schema diagram
@@ -63,6 +68,8 @@ abstract class TableStats
$this->offline = $offline;
+ $this->relation = new Relation();
+
// checks whether the table exists
// and loads fields
$this->validateTableAndLoadFields();
@@ -139,7 +146,7 @@ abstract class TableStats
*/
protected function loadDisplayField()
{
- $this->displayfield = Relation::getDisplayField($this->db, $this->tableName);
+ $this->displayfield = $this->relation->getDisplayField($this->db, $this->tableName);
}
/**
diff --git a/libraries/classes/RecentFavoriteTable.php b/libraries/classes/RecentFavoriteTable.php
index 848d3d5c5a..8f65dbe4e4 100644
--- a/libraries/classes/RecentFavoriteTable.php
+++ b/libraries/classes/RecentFavoriteTable.php
@@ -48,6 +48,11 @@ class RecentFavoriteTable
private static $_instances = array();
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Creates a new instance of RecentFavoriteTable
*
* @param string $type the table type
@@ -56,6 +61,7 @@ class RecentFavoriteTable
*/
private function __construct($type)
{
+ $this->relation = new Relation();
$this->_tableType = $type;
$server_id = $GLOBALS['server'];
if (! isset($_SESSION['tmpval'][$this->_tableType . '_tables'][$server_id])
@@ -105,7 +111,7 @@ class RecentFavoriteTable
" WHERE `username` = '" . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['user']) . "'";
$return = array();
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $this->relation->queryAsControlUser($sql_query, false);
if ($result) {
$row = $GLOBALS['dbi']->fetchArray($result);
if (isset($row[0])) {
@@ -350,7 +356,7 @@ class RecentFavoriteTable
if ($server_id == 0) {
return '';
}
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
// Not to show this once list is synchronized.
if ($cfgRelation['favoritework'] && ! isset($_SESSION['tmpval']['favorites_synced'][$server_id])) {
$params = array('ajax_request' => true, 'favorite_table' => true,
@@ -383,7 +389,7 @@ class RecentFavoriteTable
*/
private function _getPmaTable()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! empty($cfgRelation['db'])
&& ! empty($cfgRelation[$this->_tableType])
) {
diff --git a/libraries/classes/RelationCleanup.php b/libraries/classes/RelationCleanup.php
index d84690fdc6..0f2d022525 100644
--- a/libraries/classes/RelationCleanup.php
+++ b/libraries/classes/RelationCleanup.php
@@ -28,7 +28,8 @@ class RelationCleanup
*/
public static function column($db, $table, $column)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['commwork']) {
$remove_query = 'DELETE FROM '
@@ -39,7 +40,7 @@ class RelationCleanup
. '\''
. ' AND column_name = \'' . $GLOBALS['dbi']->escapeString($column)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['displaywork']) {
@@ -51,7 +52,7 @@ class RelationCleanup
. '\''
. ' AND display_field = \'' . $GLOBALS['dbi']->escapeString($column)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['relwork']) {
@@ -64,7 +65,7 @@ class RelationCleanup
. '\''
. ' AND master_field = \'' . $GLOBALS['dbi']->escapeString($column)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
$remove_query = 'DELETE FROM '
. Util::backquote($cfgRelation['db'])
@@ -75,7 +76,7 @@ class RelationCleanup
. '\''
. ' AND foreign_field = \'' . $GLOBALS['dbi']->escapeString($column)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
}
@@ -89,7 +90,8 @@ class RelationCleanup
*/
public static function table($db, $table)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['commwork']) {
$remove_query = 'DELETE FROM '
@@ -98,7 +100,7 @@ class RelationCleanup
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
. ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['displaywork']) {
@@ -108,7 +110,7 @@ class RelationCleanup
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
. ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['pdfwork']) {
@@ -118,7 +120,7 @@ class RelationCleanup
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
. ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['relwork']) {
@@ -129,7 +131,7 @@ class RelationCleanup
. '\''
. ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
$remove_query = 'DELETE FROM '
. Util::backquote($cfgRelation['db'])
@@ -138,7 +140,7 @@ class RelationCleanup
. '\''
. ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['uiprefswork']) {
@@ -148,7 +150,7 @@ class RelationCleanup
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''
. ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['navwork']) {
@@ -161,7 +163,7 @@ class RelationCleanup
. ' OR (item_name = \'' . $GLOBALS['dbi']->escapeString($table)
. '\''
. ' AND item_type = \'table\'))';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
}
@@ -174,14 +176,15 @@ class RelationCleanup
*/
public static function database($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['commwork']) {
$remove_query = 'DELETE FROM '
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['column_info'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['bookmarkwork']) {
@@ -189,7 +192,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['bookmark'])
. ' WHERE dbase = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['displaywork']) {
@@ -197,7 +200,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['table_info'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['pdfwork']) {
@@ -205,13 +208,13 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['pdf_pages'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
$remove_query = 'DELETE FROM '
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['table_coords'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['relwork']) {
@@ -220,14 +223,14 @@ class RelationCleanup
. '.' . Util::backquote($cfgRelation['relation'])
. ' WHERE master_db = \''
. $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
$remove_query = 'DELETE FROM '
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['relation'])
. ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db)
. '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['uiprefswork']) {
@@ -235,7 +238,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['table_uiprefs'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['navwork']) {
@@ -243,7 +246,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['navigationhiding'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['savedsearcheswork']) {
@@ -251,7 +254,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['savedsearches'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['centralcolumnswork']) {
@@ -259,7 +262,7 @@ class RelationCleanup
. Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['central_columns'])
. ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'';
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
}
@@ -272,7 +275,8 @@ class RelationCleanup
*/
public static function user($username)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['bookmarkwork']) {
$remove_query = "DELETE FROM "
@@ -280,7 +284,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['bookmark'])
. " WHERE `user` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['historywork']) {
@@ -289,7 +293,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['history'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['recentwork']) {
@@ -298,7 +302,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['recent'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['favoritework']) {
@@ -307,7 +311,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['favorite'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['uiprefswork']) {
@@ -316,7 +320,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['table_uiprefs'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['userconfigwork']) {
@@ -325,7 +329,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['userconfig'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['menuswork']) {
@@ -334,7 +338,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['users'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['navwork']) {
@@ -343,7 +347,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['navigationhiding'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['savedsearcheswork']) {
@@ -352,7 +356,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['savedsearches'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
if ($cfgRelation['designersettingswork']) {
@@ -361,7 +365,7 @@ class RelationCleanup
. "." . Util::backquote($cfgRelation['designer_settings'])
. " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username)
. "'";
- Relation::queryAsControlUser($remove_query);
+ $relation->queryAsControlUser($remove_query);
}
}
}
diff --git a/libraries/classes/SavedSearches.php b/libraries/classes/SavedSearches.php
index db479368c6..968abf4a4c 100644
--- a/libraries/classes/SavedSearches.php
+++ b/libraries/classes/SavedSearches.php
@@ -50,6 +50,28 @@ class SavedSearches
private $_searchName = null;
/**
+ * Criterias
+ * @var array
+ */
+ private $_criterias = null;
+
+ /**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Public constructor
+ *
+ * @param array $config Global configuration
+ */
+ public function __construct(array $config)
+ {
+ $this->setConfig($config);
+ $this->relation = new Relation();
+ }
+
+ /**
* Setter of id
*
* @param int|null $searchId Id of search
@@ -101,12 +123,6 @@ class SavedSearches
}
/**
- * Criterias
- * @var array
- */
- private $_criterias = null;
-
- /**
* Setter of config
*
* @param array $config Global configuration
@@ -240,16 +256,6 @@ class SavedSearches
}
/**
- * Public constructor
- *
- * @param array $config Global configuration
- */
- public function __construct(array $config)
- {
- $this->setConfig($config);
- }
-
- /**
* Save the search
*
* @return boolean
@@ -313,7 +319,7 @@ class SavedSearches
. "'" . $GLOBALS['dbi']->escapeString(json_encode($this->getCriterias()))
. "')";
- $result = (bool)Relation::queryAsControlUser($sqlQuery);
+ $result = (bool) $this->relation->queryAsControlUser($sqlQuery);
if (!$result) {
return false;
}
@@ -347,7 +353,7 @@ class SavedSearches
. "`search_data` = '"
. $GLOBALS['dbi']->escapeString(json_encode($this->getCriterias())) . "' "
. "WHERE id = " . $this->getId();
- return (bool)Relation::queryAsControlUser($sqlQuery);
+ return (bool) $this->relation->queryAsControlUser($sqlQuery);
}
/**
@@ -375,7 +381,7 @@ class SavedSearches
$sqlQuery = "DELETE FROM " . $savedSearchesTbl
. "WHERE id = '" . $GLOBALS['dbi']->escapeString($this->getId()) . "'";
- return (bool)Relation::queryAsControlUser($sqlQuery);
+ return (bool) $this->relation->queryAsControlUser($sqlQuery);
}
/**
@@ -403,7 +409,7 @@ class SavedSearches
. "FROM " . $savedSearchesTbl . " "
. "WHERE id = '" . $GLOBALS['dbi']->escapeString($this->getId()) . "' ";
- $resList = Relation::queryAsControlUser($sqlQuery);
+ $resList = $this->relation->queryAsControlUser($sqlQuery);
if (false === ($oneResult = $GLOBALS['dbi']->fetchArray($resList))) {
$message = Message::error(__('Error while loading the search.'));
@@ -450,7 +456,7 @@ class SavedSearches
$sqlQuery .= "order by search_name ASC ";
- $resList = Relation::queryAsControlUser($sqlQuery);
+ $resList = $this->relation->queryAsControlUser($sqlQuery);
$list = array();
while ($oneResult = $GLOBALS['dbi']->fetchArray($resList)) {
diff --git a/libraries/classes/Server/Privileges.php b/libraries/classes/Server/Privileges.php
index d643aa719f..55f72f171a 100644
--- a/libraries/classes/Server/Privileges.php
+++ b/libraries/classes/Server/Privileges.php
@@ -526,7 +526,8 @@ class Privileges
*/
public static function getHtmlToChooseUserGroup($username)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
$groupTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['usergroups']);
$userTable = Util::backquote($cfgRelation['db'])
@@ -543,7 +544,7 @@ class Privileges
$allUserGroups = array('' => '');
$sql_query = "SELECT DISTINCT `usergroup` FROM " . $groupTable;
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $relation->queryAsControlUser($sql_query, false);
if ($result) {
while ($row = $GLOBALS['dbi']->fetchRow($result)) {
$allUserGroups[$row[0]] = $row[0];
@@ -573,7 +574,8 @@ class Privileges
*/
public static function setUserGroup($username, $userGroup)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if (empty($cfgRelation['db']) || empty($cfgRelation['users']) || empty($cfgRelation['usergroups'])) {
return;
}
@@ -602,7 +604,7 @@ class Privileges
}
}
if (isset($upd_query)) {
- Relation::queryAsControlUser($upd_query);
+ $relation->queryAsControlUser($upd_query);
}
}
@@ -2867,7 +2869,8 @@ class Privileges
*/
public static function getUserGroupCount()
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
$user_group_table = Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['usergroups']);
$sql_query = 'SELECT COUNT(*) FROM ' . $user_group_table;
@@ -2887,7 +2890,8 @@ class Privileges
*/
public static function getUserGroupForUser($username)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if (empty($cfgRelation['db'])
|| empty($cfgRelation['users'])
@@ -2925,6 +2929,7 @@ class Privileges
public static function getExtraDataForAjaxBehavior(
$password, $sql_query, $hostname, $username
) {
+ $relation = new Relation();
if (isset($GLOBALS['dbname'])) {
//if (preg_match('/\\\\(?:_|%)/i', $dbname)) {
if (preg_match('/(?<!\\\\)(?:_|%)/i', $GLOBALS['dbname'])) {
@@ -2978,7 +2983,7 @@ class Privileges
// if $cfg['Servers'][$i]['users'] and $cfg['Servers'][$i]['usergroups'] are
// enabled
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
if (!empty($cfgRelation['users']) && !empty($cfgRelation['usergroups'])) {
$new_user_string .= '<td class="usrGroup"></td>';
}
@@ -3586,12 +3591,13 @@ class Privileges
*/
public static function getHtmlTableBodyForUserRights(array $db_rights)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['menuswork']) {
$users_table = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['users']);
$sql_query = 'SELECT * FROM ' . $users_table;
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $relation->queryAsControlUser($sql_query, false);
$group_assignment = array();
if ($result) {
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
diff --git a/libraries/classes/Server/UserGroups.php b/libraries/classes/Server/UserGroups.php
index 0757e87b3a..b098b07329 100644
--- a/libraries/classes/Server/UserGroups.php
+++ b/libraries/classes/Server/UserGroups.php
@@ -27,17 +27,18 @@ class UserGroups
*/
public static function getHtmlForListingUsersofAGroup($userGroup)
{
+ $relation = new Relation();
$html_output = '<h2>'
. sprintf(__('Users of \'%s\' user group'), htmlspecialchars($userGroup))
. '</h2>';
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
$usersTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['users']);
$sql_query = "SELECT `username` FROM " . $usersTable
. " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup)
. "'";
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $relation->queryAsControlUser($sql_query, false);
if ($result) {
if ($GLOBALS['dbi']->numRows($result) == 0) {
$html_output .= '<p>'
@@ -70,12 +71,13 @@ class UserGroups
*/
public static function getHtmlForUserGroupsTable()
{
+ $relation = new Relation();
$html_output = '<h2>' . __('User groups') . '</h2>';
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
$groupTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['usergroups']);
$sql_query = "SELECT * FROM " . $groupTable . " ORDER BY `usergroup` ASC";
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $relation->queryAsControlUser($sql_query, false);
if ($result && $GLOBALS['dbi']->numRows($result)) {
$html_output .= '<form name="userGroupsForm" id="userGroupsForm"'
@@ -189,7 +191,8 @@ class UserGroups
*/
public static function delete($userGroup)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
$userTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['users']);
$groupTable = Util::backquote($cfgRelation['db'])
@@ -197,11 +200,11 @@ class UserGroups
$sql_query = "DELETE FROM " . $userTable
. " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup)
. "'";
- Relation::queryAsControlUser($sql_query, true);
+ $relation->queryAsControlUser($sql_query, true);
$sql_query = "DELETE FROM " . $groupTable
. " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup)
. "'";
- Relation::queryAsControlUser($sql_query, true);
+ $relation->queryAsControlUser($sql_query, true);
}
/**
@@ -213,6 +216,7 @@ class UserGroups
*/
public static function getHtmlToEditUserGroup($userGroup = null)
{
+ $relation = new Relation();
$html_output = '';
if ($userGroup == null) {
$html_output .= '<h2>' . __('Add user group') . '</h2>';
@@ -253,13 +257,13 @@ class UserGroups
'table' => array()
);
if ($userGroup != null) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
$groupTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['usergroups']);
$sql_query = "SELECT * FROM " . $groupTable
. " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup)
. "'";
- $result = Relation::queryAsControlUser($sql_query, false);
+ $result = $relation->queryAsControlUser($sql_query, false);
if ($result) {
while ($row = $GLOBALS['dbi']->fetchAssoc($result)) {
$key = $row['tab'];
@@ -337,8 +341,9 @@ class UserGroups
*/
public static function edit($userGroup, $new = false)
{
+ $relation = new Relation();
$tabs = Util::getMenuTabList();
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $relation->getRelationsParam();
$groupTable = Util::backquote($cfgRelation['db'])
. "." . Util::backquote($cfgRelation['usergroups']);
@@ -346,7 +351,7 @@ class UserGroups
$sql_query = "DELETE FROM " . $groupTable
. " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup)
. "';";
- Relation::queryAsControlUser($sql_query, true);
+ $relation->queryAsControlUser($sql_query, true);
}
$sql_query = "INSERT INTO " . $groupTable
@@ -366,6 +371,6 @@ class UserGroups
}
}
$sql_query .= ";";
- Relation::queryAsControlUser($sql_query, true);
+ $relation->queryAsControlUser($sql_query, true);
}
}
diff --git a/libraries/classes/Sql.php b/libraries/classes/Sql.php
index c7583a02af..f3c40b6001 100644
--- a/libraries/classes/Sql.php
+++ b/libraries/classes/Sql.php
@@ -35,6 +35,19 @@ use PhpMyAdmin\Util;
class Sql
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Parses and analyzes the given SQL query.
*
* @param string $sql_query SQL query
@@ -192,9 +205,9 @@ class Sql
*/
private function getHtmlForRelationalColumnDropdown($db, $table, $column, $curr_value)
{
- $foreigners = Relation::getForeigners($db, $table, $column);
+ $foreigners = $this->relation->getForeigners($db, $table, $column);
- $foreignData = Relation::getForeignData($foreigners, $column, false, '', '');
+ $foreignData = $this->relation->getForeignData($foreigners, $column, false, '', '');
if ($foreignData['disp_row'] == null) {
//Handle the case when number of values
@@ -214,7 +227,7 @@ class Sql
. __('Browse foreign values')
. '</a>';
} else {
- $dropdown = Relation::foreignDropdown(
+ $dropdown = $this->relation->foreignDropdown(
$foreignData['disp_row'],
$foreignData['foreign_field'],
$foreignData['foreign_display'],
diff --git a/libraries/classes/SystemDatabase.php b/libraries/classes/SystemDatabase.php
index 9f99dda5c6..2242beda45 100644
--- a/libraries/classes/SystemDatabase.php
+++ b/libraries/classes/SystemDatabase.php
@@ -24,6 +24,11 @@ class SystemDatabase
protected $dbi;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Get instance of SystemDatabase
*
* @param DatabaseInterface $dbi Database interface for the system database
@@ -32,6 +37,7 @@ class SystemDatabase
function __construct(DatabaseInterface $dbi)
{
$this->dbi = $dbi;
+ $this->relation = new Relation();
}
/**
@@ -44,7 +50,7 @@ class SystemDatabase
*/
public function getExistingTransformationData($db)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
// Get the existing transformation details of the same database
// from pma__column_info table
@@ -71,7 +77,7 @@ class SystemDatabase
function getNewTransformationDataSql(
$pma_transformation_data, array $column_map, $view_name, $db
) {
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
// Need to store new transformation details for VIEW
$new_transformations_sql = sprintf(
diff --git a/libraries/classes/Table.php b/libraries/classes/Table.php
index bb7004db83..7f3f7851e9 100644
--- a/libraries/classes/Table.php
+++ b/libraries/classes/Table.php
@@ -77,6 +77,11 @@ class Table
protected $_dbi;
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
* Constructor
*
* @param string $table_name table name
@@ -91,6 +96,7 @@ class Table
$this->_dbi = $dbi;
$this->_name = $table_name;
$this->_db_name = $db_name;
+ $this->relation = new Relation();
}
/**
@@ -746,7 +752,7 @@ class Table
*
* @return string field specification
*/
- static public function generateAlter($oldcol, $newcol, $type, $length,
+ public static function generateAlter($oldcol, $newcol, $type, $length,
$attribute, $collation, $null, $default_type, $default_value,
$extra, $comment, $virtuality, $expression, $move_to
) {
@@ -778,9 +784,10 @@ class Table
*
* @return int|boolean
*/
- static public function duplicateInfo($work, $pma_table, array $get_fields,
+ public static function duplicateInfo($work, $pma_table, array $get_fields,
array $where_fields, array $new_fields
) {
+ $relation = new Relation();
$last_id = -1;
if (!isset($GLOBALS['cfgRelation']) || !$GLOBALS['cfgRelation'][$work]) {
@@ -815,7 +822,7 @@ class Table
// must use DatabaseInterface::QUERY_STORE here, since we execute
// another query inside the loop
- $table_copy_rs = Relation::queryAsControlUser(
+ $table_copy_rs = $relation->queryAsControlUser(
$table_copy_query, true, DatabaseInterface::QUERY_STORE
);
@@ -835,7 +842,7 @@ class Table
. implode('\', \'', $value_parts) . '\', \''
. implode('\', \'', $new_value_parts) . '\')';
- Relation::queryAsControlUser($new_table_query);
+ $relation->queryAsControlUser($new_table_query);
$last_id = $GLOBALS['dbi']->insertId();
} // end while
@@ -857,12 +864,13 @@ class Table
*
* @return bool true if success, false otherwise
*/
- static public function moveCopy($source_db, $source_table, $target_db,
+ public static function moveCopy($source_db, $source_table, $target_db,
$target_table, $what, $move, $mode
) {
-
global $err_url;
+ $relation = new Relation();
+
// Try moving the tables directly, using native `RENAME` statement.
if ($move && $what == 'data') {
$tbl = new Table($source_table, $source_db);
@@ -1173,7 +1181,7 @@ class Table
}
}
- Relation::getRelationsParam();
+ $relation->getRelationsParam();
// Drops old table if the user has requested to move it
if ($move) {
@@ -1192,7 +1200,7 @@ class Table
$GLOBALS['dbi']->query($sql_drop_query);
// Renable table in configuration storage
- Relation::renameTable(
+ $relation->renameTable(
$source_db, $target_db,
$source_table, $target_table
);
@@ -1210,7 +1218,7 @@ class Table
if ($GLOBALS['cfgRelation']['commwork']) {
// Get all comments and MIME-Types for current table
- $comments_copy_rs = Relation::queryAsControlUser(
+ $comments_copy_rs = $relation->queryAsControlUser(
'SELECT column_name, comment'
. ($GLOBALS['cfgRelation']['mimework']
? ', mimetype, transformation, transformation_options'
@@ -1258,7 +1266,7 @@ class Table
. '\''
: '')
. ')';
- Relation::queryAsControlUser($new_comment_query);
+ $relation->queryAsControlUser($new_comment_query);
} // end while
$GLOBALS['dbi']->freeResult($comments_copy_rs);
unset($comments_copy_rs);
@@ -1497,7 +1505,7 @@ class Table
$this->_db_name = $new_db;
// Renable table in configuration storage
- Relation::renameTable(
+ $this->relation->renameTable(
$old_db, $new_db,
$old_name, $new_name
);
@@ -1692,7 +1700,7 @@ class Table
*/
protected function getUiPrefsFromDb()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$pma_table = Util::backquote($cfgRelation['db']) . "."
. Util::backquote($cfgRelation['table_uiprefs']);
@@ -1702,7 +1710,7 @@ class Table
. " AND `db_name` = '" . $GLOBALS['dbi']->escapeString($this->_db_name) . "'"
. " AND `table_name` = '" . $GLOBALS['dbi']->escapeString($this->_name) . "'";
- $row = $this->_dbi->fetchArray(Relation::queryAsControlUser($sql_query));
+ $row = $this->_dbi->fetchArray($this->relation->queryAsControlUser($sql_query));
if (isset($row[0])) {
return json_decode($row[0], true);
}
@@ -1717,7 +1725,7 @@ class Table
*/
protected function saveUiPrefsToDb()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$pma_table = Util::backquote($cfgRelation['db']) . "."
. Util::backquote($cfgRelation['table_uiprefs']);
@@ -1792,7 +1800,7 @@ class Table
*/
protected function loadUiPrefs()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$server_id = $GLOBALS['server'];
// set session variable if it's still undefined
@@ -1930,7 +1938,7 @@ class Table
$this->uiprefs[$property] = $value;
// check if pmadb is set
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['uiprefswork']) {
return $this->saveUiprefsToDb();
}
@@ -1953,7 +1961,7 @@ class Table
unset($this->uiprefs[$property]);
// check if pmadb is set
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if ($cfgRelation['uiprefswork']) {
return $this->saveUiprefsToDb();
}
diff --git a/libraries/classes/Tracker.php b/libraries/classes/Tracker.php
index f6ce6cda3e..321bebc953 100644
--- a/libraries/classes/Tracker.php
+++ b/libraries/classes/Tracker.php
@@ -49,7 +49,7 @@ class Tracker
*
* @return void
*/
- static public function enable()
+ public static function enable()
{
self::$enabled = true;
}
@@ -61,7 +61,7 @@ class Tracker
*
* @return boolean (true=on|false=off)
*/
- static public function isActive()
+ public static function isActive()
{
if (! self::$enabled) {
return false;
@@ -70,7 +70,8 @@ class Tracker
* from Relation::getRelationsParam
*/
self::$enabled = false;
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
/* Restore original state */
self::$enabled = true;
if (! $cfgRelation['trackingwork']) {
@@ -121,7 +122,7 @@ class Tracker
*
* @return boolean true or false
*/
- static public function isTracked($dbname, $tablename)
+ public static function isTracked($dbname, $tablename)
{
if (! self::$enabled) {
return false;
@@ -134,7 +135,8 @@ class Tracker
* from Relation::getRelationsParam
*/
self::$enabled = false;
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
/* Restore original state */
self::$enabled = true;
if (! $cfgRelation['trackingwork']) {
@@ -158,7 +160,7 @@ class Tracker
*
* @return string Comment, contains date and username
*/
- static public function getLogComment()
+ public static function getLogComment()
{
$date = Util::date('Y-m-d H:i:s');
$user = preg_replace('/\s+/', ' ', $GLOBALS['cfg']['Server']['user']);
@@ -180,11 +182,13 @@ class Tracker
*
* @return int result of version insertion
*/
- static public function createVersion($dbname, $tablename, $version,
+ public static function createVersion($dbname, $tablename, $version,
$tracking_set = '', $is_view = false
) {
global $sql_backquotes, $export_type;
+ $relation = new Relation();
+
if ($tracking_set == '') {
$tracking_set
= $GLOBALS['cfg']['Server']['tracking_default_statements'];
@@ -270,7 +274,7 @@ class Tracker
'" . $GLOBALS['dbi']->escapeString($tracking_set)
. "' )";
- $result = Relation::queryAsControlUser($sql_query);
+ $result = $relation->queryAsControlUser($sql_query);
if ($result) {
// Deactivate previous version
@@ -292,8 +296,10 @@ class Tracker
*
* @return int result of version insertion
*/
- static public function deleteTracking($dbname, $tablename, $version = '')
+ public static function deleteTracking($dbname, $tablename, $version = '')
{
+ $relation = new Relation();
+
$sql_query = "/*NOTRACK*/\n"
. "DELETE FROM " . self::_getTrackingTable()
. " WHERE `db_name` = '"
@@ -304,7 +310,7 @@ class Tracker
$sql_query .= " AND `version` = '"
. $GLOBALS['dbi']->escapeString($version) . "'";
}
- $result = Relation::queryAsControlUser($sql_query);
+ $result = $relation->queryAsControlUser($sql_query);
return $result;
}
@@ -322,9 +328,11 @@ class Tracker
*
* @return int result of version insertion
*/
- static public function createDatabaseVersion($dbname, $version, $query,
+ public static function createDatabaseVersion($dbname, $version, $query,
$tracking_set = 'CREATE DATABASE,ALTER DATABASE,DROP DATABASE'
) {
+ $relation = new Relation();
+
$date = Util::date('Y-m-d H:i:s');
if ($tracking_set == '') {
@@ -366,7 +374,7 @@ class Tracker
'" . $GLOBALS['dbi']->escapeString($tracking_set)
. "' )";
- $result = Relation::queryAsControlUser($sql_query);
+ $result = $relation->queryAsControlUser($sql_query);
return $result;
}
@@ -388,6 +396,7 @@ class Tracker
static private function _changeTracking($dbname, $tablename,
$version, $new_state
) {
+ $relation = new Relation();
$sql_query = " UPDATE " . self::_getTrackingTable() .
" SET `tracking_active` = '" . $new_state . "' " .
@@ -395,7 +404,7 @@ class Tracker
" AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' " .
" AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' ";
- $result = Relation::queryAsControlUser($sql_query);
+ $result = $relation->queryAsControlUser($sql_query);
return $result;
}
@@ -413,9 +422,11 @@ class Tracker
*
* @return bool result of change
*/
- static public function changeTrackingData($dbname, $tablename,
+ public static function changeTrackingData($dbname, $tablename,
$version, $type, $new_data
) {
+ $relation = new Relation();
+
if ($type == 'DDL') {
$save_to = 'schema_sql';
} elseif ($type == 'DML') {
@@ -441,7 +452,7 @@ class Tracker
" AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' " .
" AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' ";
- $result = Relation::queryAsControlUser($sql_query);
+ $result = $relation->queryAsControlUser($sql_query);
return (boolean) $result;
}
@@ -457,7 +468,7 @@ class Tracker
*
* @return int result of SQL query
*/
- static public function activateTracking($dbname, $tablename, $version)
+ public static function activateTracking($dbname, $tablename, $version)
{
return self::_changeTracking($dbname, $tablename, $version, 1);
}
@@ -474,7 +485,7 @@ class Tracker
*
* @return int result of SQL query
*/
- static public function deactivateTracking($dbname, $tablename, $version)
+ public static function deactivateTracking($dbname, $tablename, $version)
{
return self::_changeTracking($dbname, $tablename, $version, 0);
}
@@ -492,8 +503,10 @@ class Tracker
*
* @return int (-1 if no version exists | > 0 if a version exists)
*/
- static public function getVersion($dbname, $tablename, $statement = null)
+ public static function getVersion($dbname, $tablename, $statement = null)
{
+ $relation = new Relation();
+
$sql_query = " SELECT MAX(version) FROM " . self::_getTrackingTable() .
" WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($dbname) . "' " .
" AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' ";
@@ -502,7 +515,7 @@ class Tracker
$sql_query .= " AND FIND_IN_SET('"
. $statement . "',tracking) > 0" ;
}
- $row = $GLOBALS['dbi']->fetchArray(Relation::queryAsControlUser($sql_query));
+ $row = $GLOBALS['dbi']->fetchArray($relation->queryAsControlUser($sql_query));
return isset($row[0])
? $row[0]
: -1;
@@ -521,8 +534,10 @@ class Tracker
* @return mixed record DDM log, DDL log, structure snapshot, tracked
* statements.
*/
- static public function getTrackedData($dbname, $tablename, $version)
+ public static function getTrackedData($dbname, $tablename, $version)
{
+ $relation = new Relation();
+
$sql_query = " SELECT * FROM " . self::_getTrackingTable() .
" WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($dbname) . "' ";
if (! empty($tablename)) {
@@ -532,7 +547,7 @@ class Tracker
$sql_query .= " AND `version` = '" . $GLOBALS['dbi']->escapeString($version)
. "' " . " ORDER BY `version` DESC LIMIT 1";
- $mixed = $GLOBALS['dbi']->fetchAssoc(Relation::queryAsControlUser($sql_query));
+ $mixed = $GLOBALS['dbi']->fetchAssoc($relation->queryAsControlUser($sql_query));
// Parse log
$log_schema_entries = explode('# log ', $mixed['schema_sql']);
@@ -629,7 +644,7 @@ class Tracker
* @return mixed Array containing identifier, type and tablename.
*
*/
- static public function parseQuery($query)
+ public static function parseQuery($query)
{
// Usage of PMA_SQP does not work here
//
@@ -776,8 +791,10 @@ class Tracker
*
* @return void
*/
- static public function handleQuery($query)
+ public static function handleQuery($query)
{
+ $relation = new Relation();
+
// If query is marked as untouchable, leave
if (mb_strstr($query, "/*NOTRACK*/")) {
return;
@@ -877,7 +894,7 @@ class Tracker
. $GLOBALS['dbi']->escapeString($result['tablename']) . "' " .
" AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' ";
- Relation::queryAsControlUser($sql_query);
+ $relation->queryAsControlUser($sql_query);
}
}
}
@@ -889,7 +906,8 @@ class Tracker
*/
private static function _getTrackingTable()
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
return Util::backquote($cfgRelation['db'])
. '.' . Util::backquote($cfgRelation['tracking']);
}
diff --git a/libraries/classes/Tracking.php b/libraries/classes/Tracking.php
index cf4bf2cdce..f3cbced58b 100644
--- a/libraries/classes/Tracking.php
+++ b/libraries/classes/Tracking.php
@@ -117,7 +117,8 @@ class Tracking
*/
public static function getListOfVersionsOfTable()
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
$sql_query = " SELECT * FROM " .
Util::backquote($cfgRelation['db']) . "." .
Util::backquote($cfgRelation['tracking']) .
@@ -127,7 +128,7 @@ class Tracking
$GLOBALS['dbi']->escapeString($_REQUEST['table']) . "' " .
" ORDER BY version DESC ";
- return Relation::queryAsControlUser($sql_query);
+ return $relation->queryAsControlUser($sql_query);
}
/**
@@ -268,7 +269,8 @@ class Tracking
*/
public static function getSqlResultForSelectableTables()
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
$sql_query = " SELECT DISTINCT db_name, table_name FROM " .
Util::backquote($cfgRelation['db']) . "." .
@@ -277,7 +279,7 @@ class Tracking
"' " .
" ORDER BY db_name, table_name";
- return Relation::queryAsControlUser($sql_query);
+ return $relation->queryAsControlUser($sql_query);
}
/**
@@ -1217,6 +1219,7 @@ class Tracking
$textDir,
array $cfgRelation
) {
+ $relation = new Relation();
$versions = [];
while ($oneResult = $GLOBALS['dbi']->fetchArray($allTablesResult)) {
list($tableName, $versionNumber) = $oneResult;
@@ -1229,7 +1232,7 @@ class Tracking
. $GLOBALS['dbi']->escapeString($tableName)
. '\' AND `version` = \'' . $versionNumber . '\'';
- $tableResult = Relation::queryAsControlUser($tableQuery);
+ $tableResult = $relation->queryAsControlUser($tableQuery);
$versionData = $GLOBALS['dbi']->fetchArray($tableResult);
$versionData['status_button'] = self::getStatusButton(
$versionData,
diff --git a/libraries/classes/Transformations.php b/libraries/classes/Transformations.php
index 881b7b6ff2..b5e44204a0 100644
--- a/libraries/classes/Transformations.php
+++ b/libraries/classes/Transformations.php
@@ -250,7 +250,8 @@ class Transformations
*/
public static function getMIME($db, $table, $strict = false, $fullName = false)
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if (! $cfgRelation['mimework']) {
return false;
@@ -327,7 +328,8 @@ class Transformations
public static function setMIME($db, $table, $key, $mimetype, $transformation,
$transformationOpts, $inputTransform, $inputTransformOpts, $forcedelete = false
) {
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if (! $cfgRelation['mimework']) {
return false;
@@ -355,7 +357,7 @@ class Transformations
AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) . '\'
AND `column_name` = \'' . $GLOBALS['dbi']->escapeString($key) . '\'';
- $test_rs = Relation::queryAsControlUser(
+ $test_rs = $relation->queryAsControlUser(
$test_qry, true, DatabaseInterface::QUERY_STORE
);
@@ -409,7 +411,7 @@ class Transformations
}
if (isset($upd_query)) {
- return Relation::queryAsControlUser($upd_query);
+ return $relation->queryAsControlUser($upd_query);
}
return false;
@@ -432,7 +434,8 @@ class Transformations
*/
public static function clear($db, $table = '', $column = '')
{
- $cfgRelation = Relation::getRelationsParam();
+ $relation = new Relation();
+ $cfgRelation = $relation->getRelationsParam();
if (! isset($cfgRelation['column_info'])) {
return false;
diff --git a/libraries/classes/Twig/RelationExtension.php b/libraries/classes/Twig/RelationExtension.php
index b7298c024f..ce69ffd041 100644
--- a/libraries/classes/Twig/RelationExtension.php
+++ b/libraries/classes/Twig/RelationExtension.php
@@ -7,6 +7,7 @@
*/
namespace PhpMyAdmin\Twig;
+use PhpMyAdmin\Relation;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
@@ -24,28 +25,29 @@ class RelationExtension extends AbstractExtension
*/
public function getFunctions()
{
+ $relation = new Relation();
return array(
new TwigFunction(
'Relation_foreignDropdown',
- 'PhpMyAdmin\Relation::foreignDropdown',
+ [$relation, 'foreignDropdown'],
array('is_safe' => array('html'))
),
new TwigFunction(
'Relation_getDisplayField',
- 'PhpMyAdmin\Relation::getDisplayField',
+ [$relation, 'getDisplayField'],
array('is_safe' => array('html'))
),
new TwigFunction(
'Relation_getForeignData',
- 'PhpMyAdmin\Relation::getForeignData'
+ [$relation, 'getForeignData']
),
new TwigFunction(
'Relation_getTables',
- 'PhpMyAdmin\Relation::getTables'
+ [$relation, 'getTables']
),
new TwigFunction(
'Relation_searchColumnInForeigners',
- 'PhpMyAdmin\Relation::searchColumnInForeigners'
+ [$relation, 'searchColumnInForeigners']
),
);
}
diff --git a/libraries/classes/UserPreferences.php b/libraries/classes/UserPreferences.php
index 65fabe138d..76723fcd75 100644
--- a/libraries/classes/UserPreferences.php
+++ b/libraries/classes/UserPreferences.php
@@ -24,6 +24,19 @@ use PhpMyAdmin\Util;
class UserPreferences
{
/**
+ * @var Relation $relation
+ */
+ private $relation;
+
+ /**
+ * Constructor
+ */
+ public function __construct()
+ {
+ $this->relation = new Relation();
+ }
+
+ /**
* Common initialization for user preferences modification pages
*
* @param ConfigFile $cf Config file instance
@@ -56,7 +69,7 @@ class UserPreferences
*/
public function load()
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
if (! $cfgRelation['userconfigwork']) {
// no pmadb table, use session storage
if (! isset($_SESSION['userconfig'])) {
@@ -94,7 +107,7 @@ class UserPreferences
*/
public function save(array $config_array)
{
- $cfgRelation = Relation::getRelationsParam();
+ $cfgRelation = $this->relation->getRelationsParam();
$server = isset($GLOBALS['server'])
? $GLOBALS['server']
: $GLOBALS['cfg']['ServerDefault'];
diff --git a/libraries/tbl_columns_definition_form.inc.php b/libraries/tbl_columns_definition_form.inc.php
index 3fb1bc4d43..e067d3d1b3 100644
--- a/libraries/tbl_columns_definition_form.inc.php
+++ b/libraries/tbl_columns_definition_form.inc.php
@@ -29,6 +29,8 @@ Util::checkParameters(
global $db, $table;
+$relation = new Relation();
+
/**
* Initialize to avoid code execution path warnings
*/
@@ -87,9 +89,9 @@ if (isset($selected) && is_array($selected)) {
$is_backup = ($action != 'tbl_create.php' && $action != 'tbl_addfield.php');
-$cfgRelation = Relation::getRelationsParam();
+$cfgRelation = $relation->getRelationsParam();
-$comments_map = Relation::getComments($db, $table);
+$comments_map = $relation->getComments($db, $table);
$move_columns = array();
if (isset($fields_meta)) {
@@ -119,12 +121,12 @@ if (isset($_REQUEST['submit_num_fields'])
$regenerate = 1;
}
-$foreigners = Relation::getForeigners($db, $table, '', 'foreign');
+$foreigners = $relation->getForeigners($db, $table, '', 'foreign');
$child_references = null;
// From MySQL 5.6.6 onwards columns with foreign keys can be renamed.
// Hence, no need to get child references
if ($GLOBALS['dbi']->getVersion() < 50606) {
- $child_references = Relation::getChildReferences($db, $table);
+ $child_references = $relation->getChildReferences($db, $table);
}
for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) {
@@ -287,7 +289,7 @@ for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) {
&& isset($form_params['table'])
&& $GLOBALS['dbi']->getVersion() < 50606
) {
- $columnMeta['column_status'] = Relation::checkChildForeignReferences(
+ $columnMeta['column_status'] = $relation->checkChildForeignReferences(
$form_params['db'],
$form_params['table'],
$columnMeta['Field'],
diff --git a/libraries/user_preferences.inc.php b/libraries/user_preferences.inc.php
index 58816597ef..8b3bc32b63 100644
--- a/libraries/user_preferences.inc.php
+++ b/libraries/user_preferences.inc.php
@@ -64,7 +64,8 @@ if (!empty($_GET['saved'])) {
}
// warn about using session storage for settings
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
if (! $cfgRelation['userconfigwork']) {
$msg = __(
'Your preferences will be saved for current session only. Storing them '
diff --git a/navigation.php b/navigation.php
index e67c600927..69e4ee12d2 100644
--- a/navigation.php
+++ b/navigation.php
@@ -31,7 +31,8 @@ if (isset($_REQUEST['getNaviSettings']) && $_REQUEST['getNaviSettings']) {
exit();
}
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
if ($cfgRelation['navwork']) {
if (isset($_REQUEST['hideNavItem'])) {
if (! empty($_REQUEST['itemName'])
diff --git a/schema_export.php b/schema_export.php
index 6a007512e6..d25657e8c2 100644
--- a/schema_export.php
+++ b/schema_export.php
@@ -19,7 +19,8 @@ require_once 'libraries/common.inc.php';
* get all variables needed for exporting relational schema
* in $cfgRelation
*/
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
if (! isset($_REQUEST['export_type'])) {
Util::checkParameters(array('export_type'));
diff --git a/server_privileges.php b/server_privileges.php
index 52693c5bc4..025000877f 100644
--- a/server_privileges.php
+++ b/server_privileges.php
@@ -25,7 +25,8 @@ require_once 'libraries/common.inc.php';
*/
require_once 'libraries/check_user_privileges.inc.php';
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
/**
* Does the common work
diff --git a/server_user_groups.php b/server_user_groups.php
index 3f11f59fcb..609a18ed70 100644
--- a/server_user_groups.php
+++ b/server_user_groups.php
@@ -12,7 +12,8 @@ use PhpMyAdmin\Server\Users;
require_once 'libraries/common.inc.php';
-Relation::getRelationsParam();
+$relation = new Relation();
+$relation->getRelationsParam();
if (! $GLOBALS['cfgRelation']['menuswork']) {
exit;
}
diff --git a/tbl_change.php b/tbl_change.php
index 09fd548005..d284748cac 100644
--- a/tbl_change.php
+++ b/tbl_change.php
@@ -87,7 +87,8 @@ if (! empty($disp_message)) {
$table_columns = $insertEdit->getTableColumns($db, $table);
// retrieve keys into foreign fields, if any
-$foreigners = Relation::getForeigners($db, $table);
+$relation = new Relation();
+$foreigners = $relation->getForeigners($db, $table);
// Retrieve form parameters for insert/edit form
$_form_params = $insertEdit->getFormParametersForInsertForm(
diff --git a/tbl_export.php b/tbl_export.php
index a8b6c9e01a..cd76f97b75 100644
--- a/tbl_export.php
+++ b/tbl_export.php
@@ -23,7 +23,8 @@ $scripts = $header->getScripts();
$scripts->addFile('export.js');
// Get the relation settings
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
$displayExport = new Export();
diff --git a/tbl_operations.php b/tbl_operations.php
index 47e80cde98..95189677b8 100644
--- a/tbl_operations.php
+++ b/tbl_operations.php
@@ -44,7 +44,8 @@ $url_params['goto'] = $url_params['back'] = 'tbl_operations.php';
/**
* Gets relation settings
*/
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
// reselect current db (needed in some cases probably due to
// the calling of PhpMyAdmin\Relation)
@@ -460,7 +461,7 @@ unset($partition_names);
if ($cfgRelation['relwork'] && ! $pma_table->isEngine("INNODB")) {
$GLOBALS['dbi']->selectDb($GLOBALS['db']);
- $foreign = Relation::getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'internal');
+ $foreign = $relation->getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'internal');
if (! empty($foreign)) {
$response->addHTML(
diff --git a/tbl_relation.php b/tbl_relation.php
index 1074a3a724..986cb3c02d 100644
--- a/tbl_relation.php
+++ b/tbl_relation.php
@@ -42,7 +42,8 @@ $options_array = array(
'NO_ACTION' => 'NO ACTION',
'RESTRICT' => 'RESTRICT',
);
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
$tbl_storage_engine = mb_strtoupper(
$dbi->getTable($db, $table)->getStatusInfo('Engine')
);
@@ -55,12 +56,12 @@ $dependency_definitions = array(
"upd_query" => $upd_query
);
if ($cfgRelation['relwork']) {
- $dependency_definitions['existrel'] = Relation::getForeigners(
+ $dependency_definitions['existrel'] = $relation->getForeigners(
$db, $table, '', 'internal'
);
}
if (Util::isForeignKeySupported($tbl_storage_engine)) {
- $dependency_definitions['existrel_foreign'] = Relation::getForeigners(
+ $dependency_definitions['existrel_foreign'] = $relation->getForeigners(
$db, $table, '', 'foreign'
);
}
diff --git a/tbl_replace.php b/tbl_replace.php
index 6df978fac3..4c40369043 100644
--- a/tbl_replace.php
+++ b/tbl_replace.php
@@ -47,6 +47,8 @@ $scripts->addFile('sql.js');
$scripts->addFile('indexes.js');
$scripts->addFile('gis_data_editor.js');
+$relation = new Relation();
+
$insertEdit = new InsertEdit($GLOBALS['dbi']);
// check whether insert row mode, if so include tbl_change.php
@@ -384,7 +386,7 @@ if ($response->isAjax() && ! isset($_POST['ajax_page_request'])) {
*/
if (isset($_REQUEST['rel_fields_list']) && $_REQUEST['rel_fields_list'] != '') {
- $map = Relation::getForeigners($db, $table, '', 'both');
+ $map = $relation->getForeigners($db, $table, '', 'both');
$relation_fields = array();
parse_str($_REQUEST['rel_fields_list'], $relation_fields);
diff --git a/test/classes/Controllers/Table/TableSearchControllerTest.php b/test/classes/Controllers/Table/TableSearchControllerTest.php
index 4bb73f6efc..254ff2b8d9 100644
--- a/test/classes/Controllers/Table/TableSearchControllerTest.php
+++ b/test/classes/Controllers/Table/TableSearchControllerTest.php
@@ -45,7 +45,8 @@ class TableSearchControllerTest extends PmaTestCase
$GLOBALS['db'] = 'db';
$GLOBALS['table'] = 'table';
$GLOBALS['PMA_PHP_SELF'] = 'index.php';
- $GLOBALS['cfgRelation'] = Relation::getRelationsParam();
+ $relation = new Relation();
+ $GLOBALS['cfgRelation'] = $relation->getRelationsParam();
$GLOBALS['cfg']['Server']['DisableIS'] = false;
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
diff --git a/test/classes/Plugins/Schema/DiaRelationSchemaTest.php b/test/classes/Plugins/Schema/DiaRelationSchemaTest.php
index 753c1c92a7..5c08609280 100644
--- a/test/classes/Plugins/Schema/DiaRelationSchemaTest.php
+++ b/test/classes/Plugins/Schema/DiaRelationSchemaTest.php
@@ -54,7 +54,8 @@ class DiaRelationSchemaTest extends PmaTestCase
'relwork' => 'relwork',
'relation' => 'relation'
);
- Relation::getRelationsParam();
+ $relation = new Relation();
+ $relation->getRelationsParam();
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
->disableOriginalConstructor()
diff --git a/test/classes/Plugins/Schema/EpsRelationSchemaTest.php b/test/classes/Plugins/Schema/EpsRelationSchemaTest.php
index 10f8d52d91..b9aea56d85 100644
--- a/test/classes/Plugins/Schema/EpsRelationSchemaTest.php
+++ b/test/classes/Plugins/Schema/EpsRelationSchemaTest.php
@@ -55,7 +55,8 @@ class EpsRelationSchemaTest extends PmaTestCase
'relwork' => 'relwork',
'relation' => 'relation'
);
- Relation::getRelationsParam();
+ $relation = new Relation();
+ $relation->getRelationsParam();
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
->disableOriginalConstructor()
diff --git a/test/classes/Plugins/Schema/PdfRelationSchemaTest.php b/test/classes/Plugins/Schema/PdfRelationSchemaTest.php
index cd4b4a240f..65bcf901d2 100644
--- a/test/classes/Plugins/Schema/PdfRelationSchemaTest.php
+++ b/test/classes/Plugins/Schema/PdfRelationSchemaTest.php
@@ -67,7 +67,8 @@ class PdfRelationSchemaTest extends PmaTestCase
'column_info' => 'column_info',
'pdf_pages' => 'pdf_pages'
);
- Relation::getRelationsParam();
+ $relation = new Relation();
+ $relation->getRelationsParam();
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
->disableOriginalConstructor()
diff --git a/test/classes/Plugins/Schema/SvgRelationSchemaTest.php b/test/classes/Plugins/Schema/SvgRelationSchemaTest.php
index 34efc16cd5..11dc2256e9 100644
--- a/test/classes/Plugins/Schema/SvgRelationSchemaTest.php
+++ b/test/classes/Plugins/Schema/SvgRelationSchemaTest.php
@@ -54,7 +54,8 @@ class SvgRelationSchemaTest extends PmaTestCase
'relwork' => 'relwork',
'relation' => 'relation'
);
- Relation::getRelationsParam();
+ $relation = new Relation();
+ $relation->getRelationsParam();
$dbi = $this->getMockBuilder('PhpMyAdmin\DatabaseInterface')
->disableOriginalConstructor()
diff --git a/test/classes/RelationCleanupTest.php b/test/classes/RelationCleanupTest.php
index 6c9ab2ed55..1e2160a497 100644
--- a/test/classes/RelationCleanupTest.php
+++ b/test/classes/RelationCleanupTest.php
@@ -23,6 +23,11 @@ use PHPUnit\Framework\TestCase;
class RelationCleanupTest extends TestCase
{
/**
+ * @var Relation
+ */
+ private $relation;
+
+ /**
* Prepares environment for the test.
*
* @return void
@@ -54,6 +59,7 @@ class RelationCleanupTest extends TestCase
$GLOBALS['cfg']['Server']['export_templates'] = 'pma__export_templates';
$this->redefineRelation();
+ $this->relation = new Relation();
}
@@ -82,13 +88,13 @@ class RelationCleanupTest extends TestCase
$this->redefineRelation();
//the $cfgRelation value before cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$this->assertEquals(
true,
$cfgRelation['commwork']
);
//validate Relation::getDbComments when commwork = true
- $db_comments = Relation::getDbComments();
+ $db_comments = $this->relation->getDbComments();
$this->assertEquals(
array('db_name0' => 'comment0','db_name1' => 'comment1'),
$db_comments
@@ -99,7 +105,7 @@ class RelationCleanupTest extends TestCase
$cfgRelation['displaywork']
);
//validate Relation::getDisplayField when displaywork = true
- $display_field = Relation::getDisplayField($db, $table);
+ $display_field = $this->relation->getDisplayField($db, $table);
$this->assertEquals(
'PMA_display_field',
$display_field
@@ -125,7 +131,7 @@ class RelationCleanupTest extends TestCase
RelationCleanup::column($db, $table, $column);
//the $cfgRelation value after cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$is_defined_column_info
= isset($cfgRelation['column_info'])? $cfgRelation['column_info'] : null;
@@ -161,7 +167,7 @@ class RelationCleanupTest extends TestCase
$this->redefineRelation();
//the $cfgRelation value before cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$this->assertEquals(
'column_info',
$cfgRelation['column_info']
@@ -183,7 +189,7 @@ class RelationCleanupTest extends TestCase
RelationCleanup::table($db, $table);
//the $cfgRelation value after cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$is_defined_column_info
= isset($cfgRelation['column_info'])? $cfgRelation['column_info'] : null;
@@ -225,7 +231,7 @@ class RelationCleanupTest extends TestCase
$this->redefineRelation();
//the $cfgRelation value before cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$this->assertEquals(
'column_info',
$cfgRelation['column_info']
@@ -255,7 +261,7 @@ class RelationCleanupTest extends TestCase
RelationCleanup::database($db);
//the value after cleanup column
- $cfgRelation = Relation::checkRelationsParam();
+ $cfgRelation = $this->relation->checkRelationsParam();
$is_defined_column_info
= isset($cfgRelation['column_info'])? $cfgRelation['column_info'] : null;
diff --git a/test/classes/TableTest.php b/test/classes/TableTest.php
index 59e8d13429..3c42ad7058 100644
--- a/test/classes/TableTest.php
+++ b/test/classes/TableTest.php
@@ -42,7 +42,8 @@ class TableTest extends PmaTestCase
$GLOBALS['sql_drop_table'] = true;
$GLOBALS['cfg']['Server']['table_uiprefs'] = "pma__table_uiprefs";
- $GLOBALS['cfgRelation'] = Relation::getRelationsParam();
+ $relation = new Relation();
+ $GLOBALS['cfgRelation'] = $relation->getRelationsParam();
$GLOBALS['dblist'] = new DataBasePMAMock();
$GLOBALS['dblist']->databases = new DataBaseMock();
diff --git a/transformation_wrapper.php b/transformation_wrapper.php
index 41976519dc..a1d653b08f 100644
--- a/transformation_wrapper.php
+++ b/transformation_wrapper.php
@@ -21,7 +21,8 @@ define('IS_TRANSFORMATION_WRAPPER', true);
*/
require_once './libraries/common.inc.php';
-$cfgRelation = Relation::getRelationsParam();
+$relation = new Relation();
+$cfgRelation = $relation->getRelationsParam();
/**
* Ensures db and table are valid, else moves to the "parent" script