diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php index e401fdce09..53ee48ab55 100644 --- a/apps/files/lib/Activity/Provider.php +++ b/apps/files/lib/Activity/Provider.php @@ -230,10 +230,42 @@ class Provider implements IProvider { $subject = $this->l->t('{user} restored {file}'); $this->setIcon($event, 'actions/history', 'core'); } elseif ($event->getSubject() === 'renamed_self') { - $subject = $this->l->t('You renamed {oldfile} to {newfile}'); + $oldFileName = $parsedParameters['oldfile']['name']; + $newFileName = $parsedParameters['newfile']['name']; + + if ($this->isHiddenFile($oldFileName)) { + if ($this->isHiddenFile($newFileName)) { + $subject = $this->l->t('You renamed {oldfile} (hidden) to {newfile} (hidden)'); + } else { + $subject = $this->l->t('You renamed {oldfile} (hidden) to {newfile}'); + } + } else { + if ($this->isHiddenFile($newFileName)) { + $subject = $this->l->t('You renamed {oldfile} to {newfile} (hidden)'); + } else { + $subject = $this->l->t('You renamed {oldfile} to {newfile}'); + } + } + $this->setIcon($event, 'change'); } elseif ($event->getSubject() === 'renamed_by') { - $subject = $this->l->t('{user} renamed {oldfile} to {newfile}'); + $oldFileName = $parsedParameters['oldfile']['name']; + $newFileName = $parsedParameters['newfile']['name']; + + if ($this->isHiddenFile($oldFileName)) { + if ($this->isHiddenFile($newFileName)) { + $subject = $this->l->t('{user} renamed {oldfile} (hidden) to {newfile} (hidden)'); + } else { + $subject = $this->l->t('{user} renamed {oldfile} (hidden) to {newfile}'); + } + } else { + if ($this->isHiddenFile($newFileName)) { + $subject = $this->l->t('{user} renamed {oldfile} to {newfile} (hidden)'); + } else { + $subject = $this->l->t('{user} renamed {oldfile} to {newfile}'); + } + } + $this->setIcon($event, 'change'); } elseif ($event->getSubject() === 'moved_self') { $subject = $this->l->t('You moved {oldfile} to {newfile}'); @@ -270,6 +302,10 @@ class Provider implements IProvider { return $event; } + private function isHiddenFile(string $filename): bool { + return strlen($filename) > 0 && $filename[0] === '.'; + } + protected function setSubjects(IEvent $event, $subject, array $parameters) { $placeholders = $replacements = []; foreach ($parameters as $placeholder => $parameter) {