Skip to content

Commit

Permalink
Merge pull request #16401 from mauriciofauth/dbi-controllers
Browse files Browse the repository at this point in the history
Remove dbi dependency from Controllers\AbstractController
  • Loading branch information
MauricioFauth committed Oct 12, 2020
2 parents d82b030 + 601ed46 commit bd99f52
Show file tree
Hide file tree
Showing 106 changed files with 854 additions and 800 deletions.
28 changes: 8 additions & 20 deletions libraries/classes/Controllers/AbstractController.php
Original file line number Diff line number Diff line change
@@ -1,52 +1,40 @@
<?php
/**
* Holds the PhpMyAdmin\Controllers\AbstractController
*/

declare(strict_types=1);

namespace PhpMyAdmin\Controllers;

use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;

/**
* Base class for all of controller
*/
abstract class AbstractController
{
/** @var Response */
protected $response;

/** @var DatabaseInterface */
protected $dbi;

/** @var Template */
protected $template;

/**
* @param Response $response Response object
* @param DatabaseInterface $dbi DatabaseInterface object
* @param Template $template Template that should be used
* @param Response $response
*/
public function __construct($response, $dbi, Template $template)
public function __construct($response, Template $template)
{
$this->response = $response;
$this->dbi = $dbi;
$this->template = $template;
}

/**
* @param string $template Template path name.
* @param array $data Associative array of template variables.
* @param array<string, mixed> $templateData
*/
protected function render(string $template, array $data = []): void
protected function render(string $templatePath, array $templateData = []): void
{
$this->response->addHTML($this->template->render($template, $data));
$this->response->addHTML($this->template->render($templatePath, $templateData));
}

/** @param string[] $files */
/**
* @param string[] $files
*/
protected function addScriptFiles(array $files): void
{
$header = $this->response->getHeader();
Expand Down
15 changes: 9 additions & 6 deletions libraries/classes/Controllers/AjaxController.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,19 @@ class AjaxController extends AbstractController
/** @var Config */
private $config;

/** @var DatabaseInterface */
private $dbi;

/**
* @param Response $response Response instance
* @param DatabaseInterface $dbi DatabaseInterface instance
* @param Template $template Template object
* @param Config $config Config instance
* @param Response $response
* @param Config $config
* @param DatabaseInterface $dbi
*/
public function __construct($response, $dbi, Template $template, $config)
public function __construct($response, Template $template, $config, $dbi)
{
parent::__construct($response, $dbi, $template);
parent::__construct($response, $template);
$this->config = $config;
$this->dbi = $dbi;
}

public function databases(): void
Expand Down
13 changes: 5 additions & 8 deletions libraries/classes/Controllers/BrowseForeignersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
namespace PhpMyAdmin\Controllers;

use PhpMyAdmin\BrowseForeigners;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Relation;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
Expand All @@ -25,15 +24,13 @@ class BrowseForeignersController extends AbstractController
private $relation;

/**
* @param Response $response Response instance
* @param DatabaseInterface $dbi DatabaseInterface instance
* @param Template $template Template object
* @param BrowseForeigners $browseForeigners BrowseForeigners instance
* @param Relation $relation Relation instance
* @param Response $response
* @param BrowseForeigners $browseForeigners
* @param Relation $relation
*/
public function __construct($response, $dbi, Template $template, $browseForeigners, $relation)
public function __construct($response, Template $template, $browseForeigners, $relation)
{
parent::__construct($response, $dbi, $template);
parent::__construct($response, $template);
$this->browseForeigners = $browseForeigners;
$this->relation = $relation;
}
Expand Down
10 changes: 3 additions & 7 deletions libraries/classes/Controllers/CheckRelationsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

namespace PhpMyAdmin\Controllers;

use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Relation;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
Expand All @@ -18,14 +17,11 @@ class CheckRelationsController extends AbstractController
private $relation;

/**
* @param Response $response Response object
* @param DatabaseInterface $dbi DatabaseInterface object
* @param Template $template Template that should be used
* @param Relation $relation Relation object
* @param Response $response
*/
public function __construct($response, $dbi, Template $template, Relation $relation)
public function __construct($response, Template $template, Relation $relation)
{
parent::__construct($response, $dbi, $template);
parent::__construct($response, $template);
$this->relation = $relation;
}

Expand Down
17 changes: 4 additions & 13 deletions libraries/classes/Controllers/Database/AbstractController.php
Original file line number Diff line number Diff line change
@@ -1,34 +1,25 @@
<?php
/**
* Holds the PhpMyAdmin\Controllers\Database\AbstractController
*/

declare(strict_types=1);

namespace PhpMyAdmin\Controllers\Database;

use PhpMyAdmin\Controllers\AbstractController as Controller;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;

/**
* Handles database related logic
*/
abstract class AbstractController extends Controller
{
/** @var string */
protected $db;

/**
* @param Response $response Response object
* @param DatabaseInterface $dbi DatabaseInterface object
* @param Template $template Template object
* @param string $db Database name
* @param Response $response
* @param string $db Database name
*/
public function __construct($response, $dbi, Template $template, $db)
public function __construct($response, Template $template, $db)
{
parent::__construct($response, $dbi, $template);
parent::__construct($response, $template);
$this->db = $db;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

use PhpMyAdmin\Core;
use PhpMyAdmin\Database\CentralColumns;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Message;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
Expand All @@ -23,15 +22,13 @@ class CentralColumnsController extends AbstractController
private $centralColumns;

/**
* @param Response $response Response instance
* @param DatabaseInterface $dbi DatabaseInterface instance
* @param Template $template Template object
* @param string $db Database name
* @param CentralColumns $centralColumns CentralColumns instance
* @param Response $response
* @param string $db Database name
* @param CentralColumns $centralColumns
*/
public function __construct($response, $dbi, Template $template, $db, $centralColumns)
public function __construct($response, Template $template, $db, $centralColumns)
{
parent::__construct($response, $dbi, $template, $db);
parent::__construct($response, $template, $db);
$this->centralColumns = $centralColumns;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,22 @@ class DataDictionaryController extends AbstractController
/** @var Transformations */
private $transformations;

/** @var DatabaseInterface */
private $dbi;

/**
* @param Response $response Response instance
* @param DatabaseInterface $dbi DatabaseInterface instance
* @param Template $template Template object
* @param Response $response
* @param string $db Database name
* @param Relation $relation Relation instance
* @param Transformations $transformations Transformations instance
* @param Relation $relation
* @param Transformations $transformations
* @param DatabaseInterface $dbi
*/
public function __construct($response, $dbi, Template $template, $db, $relation, $transformations)
public function __construct($response, Template $template, $db, $relation, $transformations, $dbi)
{
parent::__construct($response, $dbi, $template, $db);
parent::__construct($response, $template, $db);
$this->relation = $relation;
$this->transformations = $transformations;
$this->dbi = $dbi;
}

public function index(): void
Expand Down
12 changes: 3 additions & 9 deletions libraries/classes/Controllers/Database/DesignerController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
use PhpMyAdmin\Common;
use PhpMyAdmin\Database\Designer;
use PhpMyAdmin\Database\Designer\Common as DesignerCommon;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
use PhpMyAdmin\Util;
Expand All @@ -24,22 +23,17 @@ class DesignerController extends AbstractController
private $designerCommon;

/**
* @param Response $response Response object
* @param DatabaseInterface $dbi DatabaseInterface object
* @param Template $template Template object
* @param string $db Database name
* @param Designer $databaseDesigner Designer object
* @param DesignerCommon $designerCommon Designer\Common object
* @param Response $response
* @param string $db Database name
*/
public function __construct(
$response,
$dbi,
Template $template,
$db,
Designer $databaseDesigner,
DesignerCommon $designerCommon
) {
parent::__construct($response, $dbi, $template, $db);
parent::__construct($response, $template, $db);
$this->databaseDesigner = $databaseDesigner;
$this->designerCommon = $designerCommon;
}
Expand Down
14 changes: 8 additions & 6 deletions libraries/classes/Controllers/Database/EventsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,19 @@ final class EventsController extends AbstractController
/** @var Events */
private $events;

/** @var DatabaseInterface */
private $dbi;

/**
* @param Response $response Response instance.
* @param DatabaseInterface $dbi DatabaseInterface instance.
* @param Template $template Template instance.
* @param Response $response
* @param string $db Database name.
* @param Events $events Events instance.
* @param DatabaseInterface $dbi
*/
public function __construct($response, $dbi, Template $template, $db, Events $events)
public function __construct($response, Template $template, $db, Events $events, $dbi)
{
parent::__construct($response, $dbi, $template, $db);
parent::__construct($response, $template, $db);
$this->events = $events;
$this->dbi = $dbi;
}

public function index(): void
Expand Down
10 changes: 4 additions & 6 deletions libraries/classes/Controllers/Database/ExportController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

use PhpMyAdmin\Common;
use PhpMyAdmin\Config\PageSettings;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Export;
use PhpMyAdmin\Export\Options;
use PhpMyAdmin\Message;
Expand All @@ -27,13 +26,12 @@ final class ExportController extends AbstractController
private $exportOptions;

/**
* @param Response $response
* @param DatabaseInterface $dbi
* @param string $db Database name.
* @param Response $response
* @param string $db Database name.
*/
public function __construct($response, $dbi, Template $template, $db, Export $export, Options $exportOptions)
public function __construct($response, Template $template, $db, Export $export, Options $exportOptions)
{
parent::__construct($response, $dbi, $template, $db);
parent::__construct($response, $template, $db);
$this->export = $export;
$this->exportOptions = $exportOptions;
}
Expand Down
17 changes: 17 additions & 0 deletions libraries/classes/Controllers/Database/ImportController.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,33 @@
use PhpMyAdmin\Common;
use PhpMyAdmin\Config\PageSettings;
use PhpMyAdmin\Core;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Encoding;
use PhpMyAdmin\Import;
use PhpMyAdmin\Import\Ajax;
use PhpMyAdmin\Message;
use PhpMyAdmin\Plugins;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;
use PhpMyAdmin\Util;
use function intval;

final class ImportController extends AbstractController
{
/** @var DatabaseInterface */
private $dbi;

/**
* @param Response $response
* @param string $db Database name.
* @param DatabaseInterface $dbi
*/
public function __construct($response, Template $template, $db, $dbi)
{
parent::__construct($response, $template, $db);
$this->dbi = $dbi;
}

public function index(): void
{
global $db, $max_upload_size, $table, $tables, $num_tables, $total_num_tables, $is_show_stats, $cfg;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,29 @@
namespace PhpMyAdmin\Controllers\Database;

use PhpMyAdmin\Database\MultiTableQuery;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Response;
use PhpMyAdmin\Template;

/**
* Handles database multi-table querying
*/
class MultiTableQueryController extends AbstractController
{
/** @var DatabaseInterface */
private $dbi;

/**
* @param Response $response
* @param string $db Database name.
* @param DatabaseInterface $dbi
*/
public function __construct($response, Template $template, $db, $dbi)
{
parent::__construct($response, $template, $db);
$this->dbi = $dbi;
}

public function index(): void
{
$this->addScriptFiles([
Expand Down
Loading

0 comments on commit bd99f52

Please sign in to comment.