aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Repair.php2
-rw-r--r--lib/private/Repair/NC11/MoveAvatars.php24
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/private/Repair.php b/lib/private/Repair.php
index 5efbb9f8e2e..c212ea90744 100644
--- a/lib/private/Repair.php
+++ b/lib/private/Repair.php
@@ -154,7 +154,7 @@ class Repair implements IOutput{
new MoveUpdaterStepFile(\OC::$server->getConfig()),
new MoveAvatars(
\OC::$server->getJobList(),
- \OC::$server->getSystemConfig()
+ \OC::$server->getConfig()
),
new CleanPreviews(
\OC::$server->getJobList(),
diff --git a/lib/private/Repair/NC11/MoveAvatars.php b/lib/private/Repair/NC11/MoveAvatars.php
index 44402b1be4f..f98068eaa45 100644
--- a/lib/private/Repair/NC11/MoveAvatars.php
+++ b/lib/private/Repair/NC11/MoveAvatars.php
@@ -22,8 +22,8 @@
*/
namespace OC\Repair\NC11;
-use OC\SystemConfig;
use OCP\BackgroundJob\IJobList;
+use OCP\IConfig;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
@@ -32,33 +32,41 @@ class MoveAvatars implements IRepairStep {
/** @var IJobList */
private $jobList;
- /** @var SystemConfig */
- private $systemConfig;
+ /** @var IConfig */
+ private $config;
/**
* MoveAvatars constructor.
*
* @param IJobList $jobList
- * @param SystemConfig $systemConfig
+ * @param IConfig $config
*/
public function __construct(IJobList $jobList,
- SystemConfig $systemConfig) {
+ IConfig $config) {
$this->jobList = $jobList;
- $this->systemConfig = $systemConfig;
+ $this->config = $config;
}
/**
* @return string
*/
public function getName() {
- return 'Add mover avatar background job';
+ return 'Add move avatar background job';
}
public function run(IOutput $output) {
- if ($this->systemConfig->getValue('enable_avatars', true) === false) {
+ // only run once
+ if ($this->config->getAppValue('core', 'moveavatarsdone') === 'yes') {
+ $output->info('Repair step already executed');
+ return;
+ }
+ if ($this->config->getSystemValue('enable_avatars', true) === false) {
$output->info('Avatars are disabled');
} else {
+ $output->info('Add background job');
$this->jobList->add(MoveAvatarsBackgroundJob::class);
+ // if all were done, no need to redo the repair during next upgrade
+ $this->config->setAppValue('core', 'moveavatarsdone', 'yes');
}
}
}