Extract ResponseRenderer dependency from ReplicationGui class
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
This commit is contained in:
parent
cc35debd01
commit
7b759b46a2
@ -7307,6 +7307,10 @@
|
||||
<PossiblyNullArgument>
|
||||
<code><![CDATA[$srReplicaAction]]></code>
|
||||
</PossiblyNullArgument>
|
||||
<PossiblyUnusedReturnValue>
|
||||
<code><![CDATA[bool]]></code>
|
||||
<code><![CDATA[bool]]></code>
|
||||
</PossiblyUnusedReturnValue>
|
||||
<UnusedFunctionCall>
|
||||
<code><![CDATA[strtok]]></code>
|
||||
<code><![CDATA[strtok]]></code>
|
||||
|
||||
@ -11,10 +11,12 @@ use PhpMyAdmin\Controllers\InvocableController;
|
||||
use PhpMyAdmin\Dbal\DatabaseInterface;
|
||||
use PhpMyAdmin\Http\Response;
|
||||
use PhpMyAdmin\Http\ServerRequest;
|
||||
use PhpMyAdmin\Message;
|
||||
use PhpMyAdmin\Replication\ReplicationGui;
|
||||
use PhpMyAdmin\Replication\ReplicationInfo;
|
||||
use PhpMyAdmin\ResponseRenderer;
|
||||
use PhpMyAdmin\Routing\Route;
|
||||
use PhpMyAdmin\Url;
|
||||
use PhpMyAdmin\UrlParams;
|
||||
|
||||
use function is_array;
|
||||
@ -61,7 +63,7 @@ final class ReplicationController implements InvocableController
|
||||
$srSkipErrorsCount = $request->getParsedBodyParamAsStringOrNull('sr_skip_errors_count', '1');
|
||||
$srReplicaControlParam = $request->getParsedBodyParamAsStringOrNull('sr_replica_control_param');
|
||||
|
||||
$this->replicationGui->handleControlRequest(
|
||||
$message = $this->replicationGui->handleControlRequest(
|
||||
$request->getParsedBodyParam('sr_take_action') !== null,
|
||||
$request->getParsedBodyParam('replica_changeprimary') !== null,
|
||||
$request->getParsedBodyParam('sr_replica_server_control') !== null,
|
||||
@ -74,6 +76,16 @@ final class ReplicationController implements InvocableController
|
||||
$request->getParsedBodyParamAsString('hostname', ''),
|
||||
(int) $request->getParsedBodyParamAsStringOrNull('text_port'),
|
||||
);
|
||||
if ($message instanceof Message) {
|
||||
if ($request->isAjax()) {
|
||||
$this->response->setRequestStatus($message->isSuccess());
|
||||
$this->response->addJSON('message', $message);
|
||||
} else {
|
||||
$this->response->redirect(
|
||||
'./index.php?route=/server/replication' . Url::getCommonRaw(UrlParams::$params, '&'),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$errorMessages = $this->replicationGui->getHtmlForErrorMessage();
|
||||
|
||||
@ -12,7 +12,6 @@ use PhpMyAdmin\Dbal\ConnectionType;
|
||||
use PhpMyAdmin\Dbal\DatabaseInterface;
|
||||
use PhpMyAdmin\Message;
|
||||
use PhpMyAdmin\Query\Utilities;
|
||||
use PhpMyAdmin\ResponseRenderer;
|
||||
use PhpMyAdmin\Template;
|
||||
use PhpMyAdmin\Url;
|
||||
use PhpMyAdmin\UrlParams;
|
||||
@ -425,16 +424,11 @@ class ReplicationGui
|
||||
string $pmaPassword,
|
||||
string $hostname,
|
||||
int $port,
|
||||
): void {
|
||||
): Message|null {
|
||||
if (! $srTakeAction) {
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
$refresh = false;
|
||||
$result = false;
|
||||
$messageSuccess = '';
|
||||
$messageError = '';
|
||||
|
||||
if ($replicaChangePrimary && ! Config::getInstance()->settings['AllowArbitraryServer']) {
|
||||
$_SESSION['replication']['sr_action_status'] = 'error';
|
||||
$_SESSION['replication']['sr_action_info'] = __(
|
||||
@ -442,10 +436,9 @@ class ReplicationGui
|
||||
. ' $cfg[\'AllowArbitraryServer\'] in phpMyAdmin configuration.',
|
||||
);
|
||||
} elseif ($replicaChangePrimary) {
|
||||
$result = $this->handleRequestForReplicaChangePrimary($username, $pmaPassword, $hostname, $port);
|
||||
$this->handleRequestForReplicaChangePrimary($username, $pmaPassword, $hostname, $port);
|
||||
} elseif ($srReplicaServerControl) {
|
||||
$result = $this->handleRequestForReplicaServerControl($srReplicaAction, $srReplicaControlParam);
|
||||
$refresh = true;
|
||||
|
||||
switch ($srReplicaAction) {
|
||||
case 'start':
|
||||
@ -465,28 +458,13 @@ class ReplicationGui
|
||||
$messageError = __('Error.');
|
||||
break;
|
||||
}
|
||||
|
||||
return $result ? Message::success($messageSuccess) : Message::error($messageError);
|
||||
} elseif ($srReplicaSkipError) {
|
||||
$result = $this->handleRequestForReplicaSkipError($srSkipErrorsCount);
|
||||
$this->handleRequestForReplicaSkipError($srSkipErrorsCount);
|
||||
}
|
||||
|
||||
if ($refresh) {
|
||||
$response = ResponseRenderer::getInstance();
|
||||
if ($response->isAjax()) {
|
||||
$response->setRequestStatus($result);
|
||||
$response->addJSON(
|
||||
'message',
|
||||
$result
|
||||
? Message::success($messageSuccess)
|
||||
: Message::error($messageError),
|
||||
);
|
||||
} else {
|
||||
$response->redirect(
|
||||
'./index.php?route=/server/replication' . Url::getCommonRaw(UrlParams::$params, '&'),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
unset($refresh);
|
||||
return null;
|
||||
}
|
||||
|
||||
public function handleRequestForReplicaChangePrimary(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user