Visitar URL original
Merge pull request #17810 from kamil-tekiela/triggers-and-routines · phpmyadmin/phpmyadmin@1bf0abd · GitHub
Skip to content

Commit 1bf0abd

Browse files
Merge pull request #17810 from kamil-tekiela/triggers-and-routines
Triggers and routines should be a dependency
2 parents b054d00 + 27fad88 commit 1bf0abd

6 files changed

Lines changed: 52 additions & 16 deletions

File tree

‎libraries/classes/Controllers/Database/RoutinesController.php‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,20 @@ class RoutinesController extends AbstractController
2929
/** @var DatabaseInterface */
3030
private $dbi;
3131

32+
/** @var Routines */
33+
private $routines;
34+
3235
public function __construct(
3336
ResponseRenderer $response,
3437
Template $template,
3538
CheckUserPrivileges $checkUserPrivileges,
36-
DatabaseInterface $dbi
39+
DatabaseInterface $dbi,
40+
Routines $routines
3741
) {
3842
parent::__construct($response, $template);
3943
$this->checkUserPrivileges = $checkUserPrivileges;
4044
$this->dbi = $dbi;
45+
$this->routines = $routines;
4146
}
4247

4348
public function __invoke(ServerRequest $request): void
@@ -103,11 +108,9 @@ public function __invoke(ServerRequest $request): void
103108
*/
104109
$GLOBALS['errors'] = [];
105110

106-
$routines = new Routines($this->dbi, $this->template, $this->response);
107-
108-
$routines->handleEditor();
109-
$routines->handleExecute();
110-
$routines->export();
111+
$this->routines->handleEditor();
112+
$this->routines->handleExecute();
113+
$this->routines->export();
111114

112115
if (! isset($type) || ! in_array($type, ['FUNCTION', 'PROCEDURE'])) {
113116
$type = null;
@@ -118,7 +121,7 @@ public function __invoke(ServerRequest $request): void
118121

119122
$rows = '';
120123
foreach ($items as $item) {
121-
$rows .= $routines->getRow($item, $isAjax ? 'ajaxInsert hide' : '');
124+
$rows .= $this->routines->getRow($item, $isAjax ? 'ajaxInsert hide' : '');
122125
}
123126

124127
$this->render('database/routines/index', [

‎libraries/classes/Controllers/Database/TriggersController.php‎

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,18 @@ class TriggersController extends AbstractController
2525
/** @var DatabaseInterface */
2626
private $dbi;
2727

28-
public function __construct(ResponseRenderer $response, Template $template, DatabaseInterface $dbi)
29-
{
28+
/** @var Triggers */
29+
private $triggers;
30+
31+
public function __construct(
32+
ResponseRenderer $response,
33+
Template $template,
34+
DatabaseInterface $dbi,
35+
Triggers $triggers
36+
) {
3037
parent::__construct($response, $template);
3138
$this->dbi = $dbi;
39+
$this->triggers = $triggers;
3240
}
3341

3442
public function __invoke(ServerRequest $request): void
@@ -90,7 +98,6 @@ public function __invoke(ServerRequest $request): void
9098
*/
9199
$GLOBALS['errors'] = [];
92100

93-
$triggers = new Triggers($this->dbi, $this->template, $this->response);
94-
$triggers->main();
101+
$this->triggers->main();
95102
}
96103
}

‎libraries/classes/Controllers/Table/TriggersController.php‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,18 @@ class TriggersController extends AbstractController
2525
/** @var DatabaseInterface */
2626
private $dbi;
2727

28+
/** @var Triggers */
29+
private $triggers;
30+
2831
public function __construct(
2932
ResponseRenderer $response,
3033
Template $template,
31-
DatabaseInterface $dbi
34+
DatabaseInterface $dbi,
35+
Triggers $triggers
3236
) {
3337
parent::__construct($response, $template);
3438
$this->dbi = $dbi;
39+
$this->triggers = $triggers;
3540
}
3641

3742
public function __invoke(ServerRequest $request): void
@@ -93,7 +98,6 @@ public function __invoke(ServerRequest $request): void
9398
*/
9499
$GLOBALS['errors'] = [];
95100

96-
$triggers = new Triggers($this->dbi, $this->template, $this->response);
97-
$triggers->main();
101+
$this->triggers->main();
98102
}
99103
}

‎libraries/services.php‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,14 @@
158158
'class' => PhpMyAdmin\ResponseRenderer::class,
159159
'factory' => [PhpMyAdmin\ResponseRenderer::class, 'getInstance'],
160160
],
161+
'routines' => [
162+
'class' => PhpMyAdmin\Database\Routines::class,
163+
'arguments' => [
164+
'@dbi',
165+
'@template',
166+
'@response',
167+
],
168+
],
161169
'server_plugins' => [
162170
'class' => PhpMyAdmin\Server\Plugins::class,
163171
'arguments' => ['@dbi'],
@@ -233,6 +241,14 @@
233241
'transformations' => [
234242
'class' => PhpMyAdmin\Transformations::class,
235243
],
244+
'triggers' => [
245+
'class' => PhpMyAdmin\Database\Triggers::class,
246+
'arguments' => [
247+
'@dbi',
248+
'@template',
249+
'@response',
250+
],
251+
],
236252
'user_password' => [
237253
'class' => PhpMyAdmin\UserPassword::class,
238254
'arguments' => ['@server_privileges'],

‎libraries/services_controllers.php‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@
234234
'$template' => '@template',
235235
'$checkUserPrivileges' => '@check_user_privileges',
236236
'$dbi' => '@dbi',
237+
'$routines' => '@routines',
237238
],
238239
],
239240
Database\SearchController::class => [
@@ -440,6 +441,7 @@
440441
'$response' => '@response',
441442
'$template' => '@template',
442443
'$dbi' => '@dbi',
444+
'$triggers' => '@triggers',
443445
],
444446
],
445447
DatabaseController::class => [
@@ -1626,6 +1628,7 @@
16261628
'$response' => '@response',
16271629
'$template' => '@template',
16281630
'$dbi' => '@dbi',
1631+
'$triggers' => '@triggers',
16291632
],
16301633
],
16311634
Table\ZoomSearchController::class => [

‎test/classes/Controllers/Table/TriggersControllerTest.php‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace PhpMyAdmin\Tests\Controllers\Table;
66

77
use PhpMyAdmin\Controllers\Table\TriggersController;
8+
use PhpMyAdmin\Database\Triggers;
89
use PhpMyAdmin\DatabaseInterface;
910
use PhpMyAdmin\Http\ServerRequest;
1011
use PhpMyAdmin\Template;
@@ -51,10 +52,12 @@ public function testTriggersController(): void
5152
);
5253

5354
$template = new Template();
55+
$response = new ResponseRenderer();
5456
(new TriggersController(
55-
new ResponseRenderer(),
57+
$response,
5658
$template,
57-
$this->dbi
59+
$this->dbi,
60+
new Triggers($this->dbi, $template, $response)
5861
))($this->createStub(ServerRequest::class));
5962

6063
$items = [

0 commit comments

Comments
 (0)