mirror of
https://github.com/flarum/core.git
synced 2025-07-30 21:20:24 +02:00
feat(mentions,tags): tag mentions (#3769)
* feat: add tag search Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * feat(mentions): tag mentions backend Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * feat: tag mention design Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * refactor: revamp mentions autocomplete Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: unauthorized mention of hidden groups Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * feat(mentions,tags): use hash format for tag mentions Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * refactor: frontend mention format API with mentionable models Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * feat: implement tag search on the frontend Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: tag color contrast Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: tag suggestions styling Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * test: works with disabled tags extension Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * chore: move `MentionFormats` to `formats` Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: mentions preview bad styling Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * docs: further migration location clarification Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * fix: bad test namespace Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: phpstan Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * fix: conditionally add tag related extenders Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * Apply fixes from StyleCI * feat(phpstan): evaluate conditional extenders Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> * feat: use mithril routing for tag mentions Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> --------- Signed-off-by: Sami Mazouz <sychocouldy@gmail.com> Co-authored-by: StyleCI Bot <bot@styleci.io>
This commit is contained in:
@@ -68,6 +68,8 @@ class Resolver
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all extenders from a given `extend.php` file.
|
||||
*
|
||||
* @return Extender[]
|
||||
* @throws ParserErrorsException
|
||||
* @throws \Exception
|
||||
@@ -90,7 +92,22 @@ class Resolver
|
||||
if ($expression instanceof Array_) {
|
||||
foreach ($expression->items as $item) {
|
||||
if ($item->value instanceof MethodCall) {
|
||||
$extenders[] = $this->resolveExtender($item->value);
|
||||
// Conditional extenders
|
||||
if ($item->value->name->toString() === 'whenExtensionEnabled') {
|
||||
$conditionalExtenders = $item->value->args[1] ?? null;
|
||||
|
||||
if ($conditionalExtenders->value instanceof Array_) {
|
||||
foreach ($conditionalExtenders->value->items as $conditionalExtender) {
|
||||
if ($conditionalExtender->value instanceof MethodCall) {
|
||||
$extenders[] = $this->resolveExtender($conditionalExtender->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Normal extenders
|
||||
else {
|
||||
$extenders[] = $this->resolveExtender($item->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user