diff options
Diffstat (limited to 'www/wiki/extensions/Translate/insertables/CombinedInsertablesSuggester.php')
-rw-r--r-- | www/wiki/extensions/Translate/insertables/CombinedInsertablesSuggester.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/insertables/CombinedInsertablesSuggester.php b/www/wiki/extensions/Translate/insertables/CombinedInsertablesSuggester.php new file mode 100644 index 00000000..5f3c468a --- /dev/null +++ b/www/wiki/extensions/Translate/insertables/CombinedInsertablesSuggester.php @@ -0,0 +1,29 @@ +<?php + +/** + * A class to combine multiple insertables suggesters. + */ +class CombinedInsertablesSuggester implements InsertablesSuggester { + + /** + * @var InsertablesSuggester[] + */ + protected $suggesters = []; + + /** + * @param InsertablesSuggester[] $suggesters Array of InsertablesSuggester objects to combine. + */ + public function __construct( $suggesters = [] ) { + $this->suggesters = $suggesters; + } + + public function getInsertables( $text ) { + $insertables = []; + foreach ( $this->suggesters as $suggester ) { + $new = $suggester->getInsertables( $text ); + $insertables = array_merge( $insertables, $new ); + } + + return array_unique( $insertables, SORT_REGULAR ); + } +} |