]> git.mxchange.org Git - friendica.git/commitdiff
search term alternatives added
authorMichael <heluecht@pirati.ca>
Tue, 30 Jan 2024 11:14:41 +0000 (11:14 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 30 Jan 2024 11:14:41 +0000 (11:14 +0000)
src/Model/Post/Engagement.php

index e787aec408707a6f94ce169216ad7e1d1bf018cc..6727ce5051bd98e436b756ad3c7ed939ca9e78d3 100644 (file)
@@ -38,8 +38,12 @@ use Friendica\Util\DateTimeFormat;
 
 class Engagement
 {
-       const KEYWORDS  = ['source', 'server', 'from', 'to', 'group', 'application', 'tag', 'network', 'platform', 'visibility', 'language'];
-       const SHORTCUTS = ['lang' => 'language', 'net' => 'network', 'relay' => 'application'];
+       const KEYWORDS     = ['source', 'server', 'from', 'to', 'group', 'application', 'tag', 'network', 'platform', 'visibility', 'language'];
+       const SHORTCUTS    = ['lang' => 'language', 'net' => 'network', 'relay' => 'application'];
+       const ALTERNATIVES = ['source:news' => 'source:service', 'source:relay' => 'source:application',
+               'network:activitypub' => 'network:apub', 'network:friendica' => 'network:dfrn', 'network:diaspora' => 'network:dspr',
+               'network:ostatus' => 'network:stat', 'network:ostatus' => 'network:stat', 'network:pumpio' => 'network:pump',
+               'network:discourse' => 'network:dscs', 'network:tumblr' => 'network:tmbl', 'network:bluesky' => 'network:bsky'];
 
        /**
         * Store engagement data from an item array
@@ -365,6 +369,10 @@ class Engagement
                        $fullTextSearch = preg_replace('~' . $search . ':(.[\w\*@\.-]+)~', $replace . ':$1', $fullTextSearch);
                }
 
+               foreach (SELF::ALTERNATIVES as $search => $replace) {
+                       $fullTextSearch = str_replace($search, $replace, $fullTextSearch);
+               }
+
                foreach (self::KEYWORDS as $keyword) {
                        $fullTextSearch = preg_replace('~(' . $keyword . '):(.[\w\*@\.-]+)~', '"$1_$2"', $fullTextSearch);
                }