mirror of
https://git.friendi.ca/friendica/friendica.git
synced 2025-06-09 15:44:32 +02:00
Allow to reject specific languages on receiving posts via the relay
This commit is contained in:
parent
636325efcc
commit
f08b08e0d8
5 changed files with 51 additions and 16 deletions
|
@ -1870,23 +1870,33 @@ class Item
|
|||
return '';
|
||||
}
|
||||
|
||||
// Convert attachments to links
|
||||
$naked_body = BBCode::removeAttachment($item['body']);
|
||||
if (empty($naked_body)) {
|
||||
$languages = self::getLanguageArray(trim($item['title'] . "\n" . $item['body']));
|
||||
if (empty($languages)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return json_encode($languages);
|
||||
}
|
||||
|
||||
public static function getLanguageArray(string $body): array
|
||||
{
|
||||
// Convert attachments to links
|
||||
$naked_body = BBCode::removeAttachment($body);
|
||||
if (empty($naked_body)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
// Remove links and pictures
|
||||
$naked_body = BBCode::removeLinks($naked_body);
|
||||
|
||||
// Convert the title and the body to plain text
|
||||
$naked_body = trim($item['title'] . "\n" . BBCode::toPlaintext($naked_body));
|
||||
$naked_body = BBCode::toPlaintext($naked_body);
|
||||
|
||||
// Remove possibly remaining links
|
||||
$naked_body = preg_replace(Strings::autoLinkRegEx(), '', $naked_body);
|
||||
|
||||
if (empty($naked_body)) {
|
||||
return '';
|
||||
return [];
|
||||
}
|
||||
|
||||
$naked_body = self::getDominantLanguage($naked_body);
|
||||
|
@ -1898,12 +1908,7 @@ class Item
|
|||
$availableLanguages['fa'] = 'fa';
|
||||
|
||||
$ld = new Language(array_keys($availableLanguages));
|
||||
$languages = $ld->detect($naked_body)->limit(0, 3)->close();
|
||||
if (is_array($languages)) {
|
||||
return json_encode($languages);
|
||||
}
|
||||
|
||||
return '';
|
||||
return $ld->detect($naked_body)->limit(0, 3)->close() ?: [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue