From 5e2a9de3f07126e65a58bf7b285d5900acd99fec Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Thu, 4 Mar 2021 13:14:52 +0100 Subject: [PATCH] Activity: show if files are hidden or not Signed-off-by: Roeland Jago Douma --- apps/files/lib/Activity/Provider.php | 40 ++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php index 2f6e406978..f50d9d6a42 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) {