Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
return null;
}

Expand Down
18 changes: 16 additions & 2 deletions core/Sharing/Property/ExpirationDateSharePropertyType.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
if ($this->isRequired($share)) {
return $l10nFactory->get(Application::APP_ID)->t('Your administrator has enforced a %d days expiration policy.', [$this->getMaxExpirationDays($share)]);
}

return null;
}

Expand All @@ -62,6 +66,7 @@ public function isRequired(Share $share): bool {
if ($this->hasRemoteRecipient($share) && $this->legacyManager->shareApiRemoteDefaultExpireDateEnforced()) {
return true;
}

return $this->hasLocalNonTokenAndEmailRecipient($share) && $this->legacyManager->shareApiInternalDefaultExpireDateEnforced();
}

Expand All @@ -86,7 +91,7 @@ public function getMaxDate(Share $share): ?DateTimeImmutable {
return null;
}

private function getMaxExpirationDate(Share $share): ?DateTimeImmutable {
private function getMaxExpirationDays(Share $share): ?int {
$days = INF;

if ($this->hasTokenOrEmailRecipient($share) && $this->legacyManager->shareApiLinkDefaultExpireDate()) {
Expand All @@ -102,6 +107,15 @@ private function getMaxExpirationDate(Share $share): ?DateTimeImmutable {
}

if ($days !== INF) {
return $days;
}

return null;
}

private function getMaxExpirationDate(Share $share): ?DateTimeImmutable {
$days = $this->getMaxExpirationDays($share);
if ($days !== null) {
return $this->now->add(new DateInterval('P' . $days . 'D'));
}

Expand Down
2 changes: 1 addition & 1 deletion core/Sharing/Property/LabelSharePropertyType.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
return null;
}

Expand Down
2 changes: 1 addition & 1 deletion core/Sharing/Property/NoteSharePropertyType.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
return null;
}

Expand Down
6 changes: 5 additions & 1 deletion core/Sharing/Property/PasswordSharePropertyType.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
if ($this->isRequired($share)) {
return $l10nFactory->get(Application::APP_ID)->t('Your administrator has enforced a password protection.');
}

return null;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/public/Sharing/Property/ISharePropertyType.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function getDisplayName(IFactory $l10nFactory): string;
* @return ?non-empty-string
* @since 35.0.0
*/
public function getHint(IFactory $l10nFactory): ?string;
public function getHint(IFactory $l10nFactory, Share $share): ?string;

/**
* Returns a priority used for sorting the properties for the user interface.
Expand Down
2 changes: 1 addition & 1 deletion lib/public/Sharing/Property/ShareProperty.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public function format(ISharingRegistry $registry, IFactory $l10nFactory, Share
return $propertyType->format($share, [
'class' => $this->class,
'display_name' => $propertyType->getDisplayName($l10nFactory),
'hint' => $propertyType->getHint($l10nFactory),
'hint' => $propertyType->getHint($l10nFactory, $share),
'priority' => $propertyType->getPriority(),
'advanced' => $propertyType->isAdvanced(),
'required' => $propertyType->isRequired($share),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
throw new \RuntimeException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
throw new \RuntimeException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
throw new \RuntimeException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
throw new RuntimeException();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): ?string {
public function getHint(IFactory $l10nFactory, Share $share): ?string {
throw new \RuntimeException();
}

Expand Down
2 changes: 1 addition & 1 deletion tests/lib/Sharing/TestSharePropertyType1.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public function getDisplayName(IFactory $l10nFactory): string {
}

#[\Override]
public function getHint(IFactory $l10nFactory): string {
public function getHint(IFactory $l10nFactory, Share $share): string {
return 'hint ' . $this->getDisplayName($l10nFactory);
}

Expand Down
Loading