aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Listener/FeedBackHandler.php60
-rw-r--r--core/ajax/update.php41
2 files changed, 61 insertions, 40 deletions
diff --git a/core/Listener/FeedBackHandler.php b/core/Listener/FeedBackHandler.php
new file mode 100644
index 00000000000..d355b63f1bc
--- /dev/null
+++ b/core/Listener/FeedBackHandler.php
@@ -0,0 +1,60 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+namespace OC\Core\Listener;
+
+use OC\Repair\Events\RepairAdvanceEvent;
+use OC\Repair\Events\RepairErrorEvent;
+use OC\Repair\Events\RepairFinishEvent;
+use OC\Repair\Events\RepairInfoEvent;
+use OC\Repair\Events\RepairStartEvent;
+use OC\Repair\Events\RepairStepEvent;
+use OC\Repair\Events\RepairWarningEvent;
+use OCP\EventDispatcher\Event;
+use OCP\IEventSource;
+use OCP\IL10N;
+
+class FeedBackHandler {
+ private int $progressStateMax = 100;
+ private int $progressStateStep = 0;
+ private string $currentStep = '';
+
+ public function __construct(
+ private IEventSource $eventSource,
+ private IL10N $l10n,
+ ) {
+ }
+
+ public function handleRepairFeedback(Event $event): void {
+ if ($event instanceof RepairStartEvent) {
+ $this->progressStateMax = $event->getMaxStep();
+ $this->progressStateStep = 0;
+ $this->currentStep = $event->getCurrentStepName();
+ } elseif ($event instanceof RepairAdvanceEvent) {
+ $this->progressStateStep += $event->getIncrement();
+ $desc = $event->getDescription();
+ if (empty($desc)) {
+ $desc = $this->currentStep;
+ }
+ $this->eventSource->send('success', $this->l10n->t('[%d / %d]: %s', [$this->progressStateStep, $this->progressStateMax, $desc]));
+ } elseif ($event instanceof RepairFinishEvent) {
+ $this->progressStateMax = $this->progressStateStep;
+ $this->eventSource->send('success', $this->l10n->t('[%d / %d]: %s', [$this->progressStateStep, $this->progressStateMax, $this->currentStep]));
+ } elseif ($event instanceof RepairStepEvent) {
+ $this->eventSource->send('success', $this->l10n->t('Repair step:') . ' ' . $event->getStepName());
+ } elseif ($event instanceof RepairInfoEvent) {
+ $this->eventSource->send('success', $this->l10n->t('Repair info:') . ' ' . $event->getMessage());
+ } elseif ($event instanceof RepairWarningEvent) {
+ $this->eventSource->send('notice', $this->l10n->t('Repair warning:') . ' ' . $event->getMessage());
+ } elseif ($event instanceof RepairErrorEvent) {
+ $this->eventSource->send('error', $this->l10n->t('Repair error:') . ' ' . $event->getMessage());
+ }
+ }
+}
diff --git a/core/ajax/update.php b/core/ajax/update.php
index 798a81ff6ee..bd653d331ce 100644
--- a/core/ajax/update.php
+++ b/core/ajax/update.php
@@ -21,7 +21,6 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IAppConfig;
use OCP\IConfig;
-use OCP\IEventSource;
use OCP\IEventSourceFactory;
use OCP\IL10N;
use OCP\L10N\IFactory;
@@ -45,44 +44,6 @@ $eventSource = Server::get(IEventSourceFactory::class)->create();
// message
$eventSource->send('success', $l->t('Preparing update'));
-class FeedBackHandler {
- private int $progressStateMax = 100;
- private int $progressStateStep = 0;
- private string $currentStep = '';
-
- public function __construct(
- private IEventSource $eventSource,
- private IL10N $l10n,
- ) {
- }
-
- public function handleRepairFeedback(Event $event): void {
- if ($event instanceof RepairStartEvent) {
- $this->progressStateMax = $event->getMaxStep();
- $this->progressStateStep = 0;
- $this->currentStep = $event->getCurrentStepName();
- } elseif ($event instanceof RepairAdvanceEvent) {
- $this->progressStateStep += $event->getIncrement();
- $desc = $event->getDescription();
- if (empty($desc)) {
- $desc = $this->currentStep;
- }
- $this->eventSource->send('success', $this->l10n->t('[%d / %d]: %s', [$this->progressStateStep, $this->progressStateMax, $desc]));
- } elseif ($event instanceof RepairFinishEvent) {
- $this->progressStateMax = $this->progressStateStep;
- $this->eventSource->send('success', $this->l10n->t('[%d / %d]: %s', [$this->progressStateStep, $this->progressStateMax, $this->currentStep]));
- } elseif ($event instanceof RepairStepEvent) {
- $this->eventSource->send('success', $this->l10n->t('Repair step:') . ' ' . $event->getStepName());
- } elseif ($event instanceof RepairInfoEvent) {
- $this->eventSource->send('success', $this->l10n->t('Repair info:') . ' ' . $event->getMessage());
- } elseif ($event instanceof RepairWarningEvent) {
- $this->eventSource->send('notice', $this->l10n->t('Repair warning:') . ' ' . $event->getMessage());
- } elseif ($event instanceof RepairErrorEvent) {
- $this->eventSource->send('error', $this->l10n->t('Repair error:') . ' ' . $event->getMessage());
- }
- }
-}
-
if (Util::needUpgrade()) {
$config = Server::get(SystemConfig::class);
if ($config->getValue('upgrade.disable-web', false)) {
@@ -115,7 +76,7 @@ if (Util::needUpgrade()) {
$eventSource->send('success', $l->t('[%d / %d]: %s', [$event->getCurrentStep(), $event->getMaxStep(), $event->getSql()]));
}
);
- $feedBack = new FeedBackHandler($eventSource, $l);
+ $feedBack = new \OC\Core\Listener\FeedBackHandler($eventSource, $l);
$dispatcher->addListener(RepairStartEvent::class, [$feedBack, 'handleRepairFeedback']);
$dispatcher->addListener(RepairAdvanceEvent::class, [$feedBack, 'handleRepairFeedback']);
$dispatcher->addListener(RepairFinishEvent::class, [$feedBack, 'handleRepairFeedback']);