]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Item.php
Improved handling for undeterminded languages
[friendica.git] / src / Model / Item.php
index 33cf61d61f1f983fe8394e9dd0517d1afb3040ba..a672f5b174791aa7af0d61f6446bd45eb4188812 100644 (file)
@@ -1452,7 +1452,7 @@ class Item
 
        private static function reshareChannelPost(int $uri_id)
        {
-               $item = Post::selectFirst(['id', 'private', 'network', 'language', 'author-id'], ['uri-id' => $uri_id, 'uid' => 0]);
+               $item = Post::selectFirst(['id', 'private', 'network', 'language', 'owner-id'], ['uri-id' => $uri_id, 'uid' => 0]);
                if (empty($item['id'])) {
                        return;
                }
@@ -1469,7 +1469,7 @@ class Item
                $language = !empty($item['language']) ? array_key_first(json_decode($item['language'], true)) : '';
                $tags     = array_column(Tag::getByURIId($uri_id, [Tag::HASHTAG]), 'name');
 
-               foreach (DI::userDefinedChannel()->getMatchingChannelUsers($engagement['searchtext'], $language, $tags, $engagement['media-type'], $item['author-id']) as $uid) {
+               foreach (DI::userDefinedChannel()->getMatchingChannelUsers($engagement['searchtext'], $language, $tags, $engagement['media-type'], $item['owner-id']) as $uid) {
                        Logger::debug('Reshare post', ['uid' => $uid, 'uri-id' => $uri_id, 'language' => $language, 'tags' => $tags, 'searchtext' => $engagement['searchtext'], 'media_type' => $engagement['media-type']]);
                        self::performActivity($item['id'], 'announce', $uid);
                }
@@ -2107,7 +2107,7 @@ class Item
                }
 
                if (empty($searchtext)) {
-                       return [];
+                       return ['un' => 1];
                }
 
                $ld = new Language(DI::l10n()->getDetectableLanguages());
@@ -2130,6 +2130,10 @@ class Item
                        }
                }
 
+               if (empty($result)) {
+                       return ['un' => 1];
+               }
+
                $result = self::compactLanguages($result);
 
                arsort($result);
@@ -2240,8 +2244,13 @@ class Item
                foreach (json_decode($item['language'], true) as $language => $reliability) {
                        $code = DI::l10n()->toISO6391($language);
 
-                       $native   = $iso639->nativeByCode1($code);
-                       $language = $iso639->languageByCode1($code);
+                       if ($code == 'un') {
+                               $native = $language = DI::l10n()->t('Undetermined');
+                       } else {
+                               $native   = $iso639->nativeByCode1($code);
+                               $language = $iso639->languageByCode1($code);
+                       }
+
                        if ($native != $language) {
                                $used_languages .= DI::l10n()->t('%s (%s - %s): %s', $native, $language, $code, number_format($reliability, 5)) . '\n';
                        } else {