DEV: implements register_modifier(:custom_homepage_enabled) (#28657)

This commit will allow plugin developers to enable/disable the custom homepage.

Usage:

```ruby
register_modifier(:custom_homepage_enabled) do |enabled, args|
  true
end 
```

Args might contain request and/or current_user.
This commit is contained in:
Joffrey JAFFEUX
2024-08-30 11:06:07 +02:00
committed by GitHub
parent 361e954c55
commit d81fc1448b
2 changed files with 19 additions and 0 deletions

View File

@ -4,6 +4,16 @@ class HomepageHelper
def self.resolve(request = nil, current_user = nil)
return "custom" if ThemeModifierHelper.new(request: request).custom_homepage
enabled = false
enabled =
DiscoursePluginRegistry.apply_modifier(
:custom_homepage_enabled,
enabled,
request: request,
current_user: current_user,
)
return "custom" if enabled
current_user ? SiteSetting.homepage : SiteSetting.anonymous_homepage
end
end