From dcbae5727e44037c757cd25b161aad3b9a5ab78a Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 5 Sep 2021 14:42:45 +0200 Subject: [PATCH 01/25] regen CREDITS for the 2021.09 release:wq --- CREDITS.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CREDITS.txt b/CREDITS.txt index 13c138da25..49c9cc43e5 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -8,7 +8,6 @@ Adam Magness Aditoo AgnesElisa Albert -Alberto Díaz Tormo Aleksandr "M.O.Z.G" Dikov Alex Alexander An @@ -31,7 +30,6 @@ Anthronaut Antron Samurai Arian - Cazare Muncitori Asher Pen -Athalbert aweiher axelt balderino @@ -98,6 +96,7 @@ Fabio Comuni felixgilles Filip Bugaj Filip H.F. "FiXato" Slagter +Finn Dean FlxAlbroscheit foss Francesco Apruzzese @@ -217,6 +216,7 @@ Ralf Thees Ralph Ratten rcmaniac +RealKinetix rebeka-catalina René Wagner repat @@ -239,10 +239,12 @@ Senex Petrovic Seth Silke Meyer Simon L'nu +Simon Rupf Simó Albert i Beltran softmetz soko1 Spencer Dub +SpencerDub St John Karp Stanislav N. Steffen K9 @@ -256,6 +258,7 @@ szymon.filip Sérgio Lima Taekus Tazman DeVille +Tealk teho Thecross Thomas From e3413cf959de619979ccc61400657c6936318c7d Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 01:28:58 +0000 Subject: [PATCH 02/25] Issue 10706: Publish public custom fields in AP --- src/Protocol/ActivityPub.php | 6 +++++- src/Protocol/ActivityPub/Transmitter.php | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index 153ee54658..9a5f06004d 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -64,10 +64,14 @@ class ActivityPub 'diaspora' => 'https://diasporafoundation.org/ns/', 'litepub' => 'http://litepub.social/ns#', 'toot' => 'http://joinmastodon.org/ns#', + 'schema' => 'http://schema.org#', 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers', 'sensitive' => 'as:sensitive', 'Hashtag' => 'as:Hashtag', 'directMessage' => 'litepub:directMessage', - 'discoverable' => 'toot:discoverable']]; + 'discoverable' => 'toot:discoverable', + 'PropertyValue' => 'schema:PropertyValue', + 'value' => 'schema:value', +]]; const ACCOUNT_TYPES = ['Person', 'Organization', 'Service', 'Group', 'Application', 'Tombstone']; /** * Checks if the web request is done for the AP protocol diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index bd43eea048..4dbcda4e71 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -392,6 +392,20 @@ class Transmitter } } + $custom_fields = []; + + foreach (DI::profileField()->selectByContactId(0, 1) as $profile_field) { + $custom_fields[] = [ + 'type' => 'PropertyValue', + 'name' => $profile_field->label, + 'value' => BBCode::convertForUriId($owner['uri-id'], $profile_field->value) + ]; + }; + + if (!empty($custom_fields)) { + $data['attachment'] = $custom_fields; + } + $data['generator'] = self::getService(); // tags: https://kitty.town/@inmysocks/100656097926961126.json From d33fea199385799e792faaa3c130487623797435 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 02:00:40 +0000 Subject: [PATCH 03/25] Fix: Use the $uid --- src/Protocol/ActivityPub/Transmitter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 4dbcda4e71..14d4a8a5a1 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -394,7 +394,7 @@ class Transmitter $custom_fields = []; - foreach (DI::profileField()->selectByContactId(0, 1) as $profile_field) { + foreach (DI::profileField()->selectByContactId(0, $uid) as $profile_field) { $custom_fields[] = [ 'type' => 'PropertyValue', 'name' => $profile_field->label, From 72fa4e99702cf2a745b9f742e5fefe9527c44e7d Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 07:52:53 +0000 Subject: [PATCH 04/25] Better handling of displaying peertube videos --- src/Model/Post/Media.php | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/Model/Post/Media.php b/src/Model/Post/Media.php index ada1cc070a..087a36cb16 100644 --- a/src/Model/Post/Media.php +++ b/src/Model/Post/Media.php @@ -548,6 +548,7 @@ class Media } $height = 0; + $heights = []; $selected = ''; $previews = []; @@ -591,14 +592,11 @@ class Media in_array($filetype, ['audio', 'image'])) { $attachments['visual'][] = $medium; } elseif (($medium['type'] == self::VIDEO) || ($filetype == 'video')) { - if (strpos($medium['url'], $guid) !== false) { + if (!empty($medium['height'])) { // Peertube videos are delivered in many different resolutions. We pick a moderate one. - // By checking against the GUID we also ensure to only work this way on Peertube posts. - // This wouldn't be executed when someone for example on Mastodon was sharing multiple videos in a single post. - if (empty($height) || ($height > $medium['height']) && ($medium['height'] >= 480)) { - $height = $medium['height']; - $selected = $medium['url']; - } + // Since only Peertube provides a "height" parameter, this wouldn't be executed + // when someone for example on Mastodon was sharing multiple videos in a single post. + $heights[$medium['height']] = $medium['url']; $video[$medium['url']] = $medium; } else { $attachments['visual'][] = $medium; @@ -607,13 +605,24 @@ class Media $attachments['additional'][] = $medium; } } - if (!empty($selected)) { - $attachments['visual'][] = $video[$selected]; - unset($video[$selected]); - foreach ($video as $element) { - $attachments['additional'][] = $element; + + if (!empty($heights)) { + ksort($heights); + foreach ($heights as $height => $url) { + if (empty($selected) || $height <= 480) { + $selected = $url; + } + } + + if (!empty($selected)) { + $attachments['visual'][] = $video[$selected]; + unset($video[$selected]); + foreach ($video as $element) { + $attachments['additional'][] = $element; + } } } + return $attachments; } From f99c4ca704cdbab9ab5c2127f9bdde524ea92f21 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 08:08:50 +0000 Subject: [PATCH 05/25] Removing unused variable --- src/Model/Post/Media.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Model/Post/Media.php b/src/Model/Post/Media.php index 087a36cb16..a29b2dcc72 100644 --- a/src/Model/Post/Media.php +++ b/src/Model/Post/Media.php @@ -547,7 +547,6 @@ class Media return $attachments; } - $height = 0; $heights = []; $selected = ''; $previews = []; From f0b589f6d7370b190b7d34f7d0496b73cb7a5293 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Tue, 14 Sep 2021 18:09:09 +0200 Subject: [PATCH 06/25] =?UTF-8?q?HU=20translation=20updated=20THX=20Bal?= =?UTF-8?q?=C3=A1zs=20=C3=9Ar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view/lang/hu/messages.po | 460 ++++++++++++++++++++------------------- view/lang/hu/strings.php | 2 + 2 files changed, 237 insertions(+), 225 deletions(-) diff --git a/view/lang/hu/messages.po b/view/lang/hu/messages.po index d0d6c84b95..05d205e047 100644 --- a/view/lang/hu/messages.po +++ b/view/lang/hu/messages.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-06 12:45-0400\n" -"PO-Revision-Date: 2021-09-09 22:32+0000\n" +"POT-Creation-Date: 2021-09-10 00:27+0000\n" +"PO-Revision-Date: 2021-09-14 08:36+0000\n" "Last-Translator: Balázs Úr\n" "Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n" "MIME-Version: 1.0\n" @@ -190,32 +190,32 @@ msgstr "Lekérve %s <%s> miatt" msgid "Follow Thread" msgstr "Szál követése" -#: include/conversation.php:845 src/Model/Contact.php:1047 +#: include/conversation.php:845 src/Model/Contact.php:1050 msgid "View Status" msgstr "Állapot megtekintése" #: include/conversation.php:846 include/conversation.php:868 -#: src/Model/Contact.php:973 src/Model/Contact.php:1039 -#: src/Model/Contact.php:1048 src/Module/Directory.php:160 +#: src/Model/Contact.php:976 src/Model/Contact.php:1042 +#: src/Model/Contact.php:1051 src/Module/Directory.php:160 #: src/Module/Settings/Profile/Index.php:223 msgid "View Profile" msgstr "Profil megtekintése" -#: include/conversation.php:847 src/Model/Contact.php:1049 +#: include/conversation.php:847 src/Model/Contact.php:1052 msgid "View Photos" msgstr "Fényképek megtekintése" -#: include/conversation.php:848 src/Model/Contact.php:1040 -#: src/Model/Contact.php:1050 +#: include/conversation.php:848 src/Model/Contact.php:1043 +#: src/Model/Contact.php:1053 msgid "Network Posts" msgstr "Hálózati bejegyzések" -#: include/conversation.php:849 src/Model/Contact.php:1041 -#: src/Model/Contact.php:1051 +#: include/conversation.php:849 src/Model/Contact.php:1044 +#: src/Model/Contact.php:1054 msgid "View Contact" msgstr "Partner megtekintése" -#: include/conversation.php:850 src/Model/Contact.php:1053 +#: include/conversation.php:850 src/Model/Contact.php:1056 msgid "Send PM" msgstr "Személyes üzenet küldése" @@ -238,12 +238,12 @@ msgstr "Mellőzés" msgid "Languages" msgstr "Nyelvek" -#: include/conversation.php:860 src/Model/Contact.php:1054 +#: include/conversation.php:860 src/Model/Contact.php:1057 msgid "Poke" msgstr "Megbökés" #: include/conversation.php:865 mod/follow.php:138 src/Content/Widget.php:76 -#: src/Model/Contact.php:1042 src/Model/Contact.php:1055 +#: src/Model/Contact.php:1045 src/Model/Contact.php:1058 #: view/theme/vier/theme.php:172 msgid "Connect/Follow" msgstr "Kapcsolódás vagy követés" @@ -1036,7 +1036,7 @@ msgstr "Elküldés" msgid "Basic" msgstr "Alap" -#: mod/events.php:582 src/Module/Admin/Site.php:503 src/Module/Contact.php:916 +#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:916 #: src/Module/Profile/Profile.php:249 msgid "Advanced" msgstr "Speciális" @@ -1871,7 +1871,7 @@ msgstr "További funkciók" #: mod/settings.php:482 mod/settings.php:575 mod/settings.php:712 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:87 -#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:498 +#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:500 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:66 #: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:194 msgid "Save Settings" @@ -3505,7 +3505,7 @@ msgstr "Személyek" msgid "Organisations" msgstr "Szervezetek" -#: src/Content/Widget.php:529 src/Model/Contact.php:1471 +#: src/Content/Widget.php:529 src/Model/Contact.php:1474 msgid "News" msgstr "Hírek" @@ -4369,85 +4369,85 @@ msgstr "%s és %s mostantól ismerősök" msgid "Legacy module file not found: %s" msgstr "Az örökölt modulfájl nem található: %s" -#: src/Model/Contact.php:1043 src/Model/Contact.php:1056 +#: src/Model/Contact.php:1046 src/Model/Contact.php:1059 msgid "UnFollow" msgstr "Követés megszüntetése" -#: src/Model/Contact.php:1052 +#: src/Model/Contact.php:1055 msgid "Drop Contact" msgstr "Partner eldobása" -#: src/Model/Contact.php:1062 src/Module/Admin/Users/Pending.php:107 +#: src/Model/Contact.php:1065 src/Module/Admin/Users/Pending.php:107 #: src/Module/Notifications/Introductions.php:111 #: src/Module/Notifications/Introductions.php:183 msgid "Approve" msgstr "Jóváhagyás" -#: src/Model/Contact.php:1467 +#: src/Model/Contact.php:1470 msgid "Organisation" msgstr "Szervezet" -#: src/Model/Contact.php:1475 +#: src/Model/Contact.php:1478 msgid "Forum" msgstr "Fórum" -#: src/Model/Contact.php:2331 +#: src/Model/Contact.php:2334 msgid "Disallowed profile URL." msgstr "Nem engedélyezett profil URL." -#: src/Model/Contact.php:2336 src/Module/Friendica.php:81 +#: src/Model/Contact.php:2339 src/Module/Friendica.php:81 msgid "Blocked domain" msgstr "Tiltott tartomány" -#: src/Model/Contact.php:2341 +#: src/Model/Contact.php:2344 msgid "Connect URL missing." msgstr "A kapcsolódási URL hiányzik." -#: src/Model/Contact.php:2350 +#: src/Model/Contact.php:2353 msgid "" "The contact could not be added. Please check the relevant network " "credentials in your Settings -> Social Networks page." msgstr "A partnert nem sikerült hozzáadni. Ellenőrizze a hozzá tartozó hálózat hitelesítési adatait a Beállítások → Közösségi hálózatok oldalon." -#: src/Model/Contact.php:2387 +#: src/Model/Contact.php:2390 msgid "The profile address specified does not provide adequate information." msgstr "A megadott profilcím nem biztosít elegendő információt." -#: src/Model/Contact.php:2389 +#: src/Model/Contact.php:2392 msgid "No compatible communication protocols or feeds were discovered." msgstr "Nem lettek megfelelő kommunikációs protokollok vagy hírforrások felfedezve." -#: src/Model/Contact.php:2392 +#: src/Model/Contact.php:2395 msgid "An author or name was not found." msgstr "Egy szerző vagy név nem található." -#: src/Model/Contact.php:2395 +#: src/Model/Contact.php:2398 msgid "No browser URL could be matched to this address." msgstr "Egyetlen böngésző URL-t sem sikerült illeszteni ehhez a címhez." -#: src/Model/Contact.php:2398 +#: src/Model/Contact.php:2401 msgid "" "Unable to match @-style Identity Address with a known protocol or email " "contact." msgstr "Nem lehet illeszteni @-stílusú személyazonosság-címet egy ismert protokollal vagy e-mailes partnerrel." -#: src/Model/Contact.php:2399 +#: src/Model/Contact.php:2402 msgid "Use mailto: in front of address to force email check." msgstr "Használja a mailto: előtagot a cím előtt az e-mail-ellenőrzés kényszerítéséhez." -#: src/Model/Contact.php:2405 +#: src/Model/Contact.php:2408 msgid "" "The profile address specified belongs to a network which has been disabled " "on this site." msgstr "A megadott profilcím egy olyan hálózathoz tartozik, amely le lett tiltva ezen az oldalon." -#: src/Model/Contact.php:2410 +#: src/Model/Contact.php:2413 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." msgstr "Korlátozott profil. Ez a személy nem lesz képes közvetlen vagy személyes értesítéseket fogadni Öntől." -#: src/Model/Contact.php:2469 +#: src/Model/Contact.php:2472 msgid "Unable to retrieve contact information." msgstr "Nem lehet lekérni a partner információit." @@ -5044,7 +5044,7 @@ msgstr "Engedélyezés" #: src/Module/Admin/Blocklist/Server.php:88 #: src/Module/Admin/Federation.php:159 src/Module/Admin/Item/Delete.php:65 #: src/Module/Admin/Logs/Settings.php:80 src/Module/Admin/Logs/View.php:84 -#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:495 +#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:497 #: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:232 #: src/Module/Admin/Themes/Details.php:90 #: src/Module/Admin/Themes/Index.php:111 src/Module/Admin/Tos.php:58 @@ -5601,453 +5601,453 @@ msgstr "Nem lehet feldolgozni az alap URL-t. Legalább :// é msgid "Relocation started. Could take a while to complete." msgstr "Az áthelyezés elkezdődött. Eltarthat egy ideig, mire befejeződik." -#: src/Module/Admin/Site.php:400 src/Module/Settings/Display.php:139 +#: src/Module/Admin/Site.php:402 src/Module/Settings/Display.php:139 msgid "No special theme for mobile devices" msgstr "Nincs különleges téma a mobil eszközökhöz" -#: src/Module/Admin/Site.php:417 src/Module/Settings/Display.php:149 +#: src/Module/Admin/Site.php:419 src/Module/Settings/Display.php:149 #, php-format msgid "%s - (Experimental)" msgstr "%s – (kísérleti)" -#: src/Module/Admin/Site.php:429 +#: src/Module/Admin/Site.php:431 msgid "No community page for local users" msgstr "Nincs közösségi oldal a helyi felhasználókhoz" -#: src/Module/Admin/Site.php:430 +#: src/Module/Admin/Site.php:432 msgid "No community page" msgstr "Nincs közösségi oldal" -#: src/Module/Admin/Site.php:431 +#: src/Module/Admin/Site.php:433 msgid "Public postings from users of this site" msgstr "Nyilvános beküldések ezen oldal felhasználóitól" -#: src/Module/Admin/Site.php:432 +#: src/Module/Admin/Site.php:434 msgid "Public postings from the federated network" msgstr "Nyilvános beküldések a föderált hálózatból" -#: src/Module/Admin/Site.php:433 +#: src/Module/Admin/Site.php:435 msgid "Public postings from local users and the federated network" msgstr "Nyilvános beküldések a helyi felhasználóktól és a föderált hálózatból" -#: src/Module/Admin/Site.php:439 +#: src/Module/Admin/Site.php:441 msgid "Multi user instance" msgstr "Többfelhasználós példány" -#: src/Module/Admin/Site.php:466 +#: src/Module/Admin/Site.php:468 msgid "Closed" msgstr "Lezárva" -#: src/Module/Admin/Site.php:467 +#: src/Module/Admin/Site.php:469 msgid "Requires approval" msgstr "Jóváhagyást igényel" -#: src/Module/Admin/Site.php:468 +#: src/Module/Admin/Site.php:470 msgid "Open" msgstr "Nyitott" -#: src/Module/Admin/Site.php:472 src/Module/Install.php:215 +#: src/Module/Admin/Site.php:474 src/Module/Install.php:215 msgid "No SSL policy, links will track page SSL state" msgstr "Nincs SSL irányelv, a hivatkozások követik az oldal SSL állapotát" -#: src/Module/Admin/Site.php:473 src/Module/Install.php:216 +#: src/Module/Admin/Site.php:475 src/Module/Install.php:216 msgid "Force all links to use SSL" msgstr "Az összes hivatkozás kényszerítése SSL használatára" -#: src/Module/Admin/Site.php:474 src/Module/Install.php:217 +#: src/Module/Admin/Site.php:476 src/Module/Install.php:217 msgid "Self-signed certificate, use SSL for local links only (discouraged)" msgstr "Önaláírt tanúsítvány, SSL használata csak helyi hivatkozásoknál (nem ajánlott)" -#: src/Module/Admin/Site.php:478 +#: src/Module/Admin/Site.php:480 msgid "Don't check" msgstr "Ne ellenőrizze" -#: src/Module/Admin/Site.php:479 +#: src/Module/Admin/Site.php:481 msgid "check the stable version" msgstr "a stabil verzió ellenőrzése" -#: src/Module/Admin/Site.php:480 +#: src/Module/Admin/Site.php:482 msgid "check the development version" msgstr "a fejlesztői verzió ellenőrzése" -#: src/Module/Admin/Site.php:484 +#: src/Module/Admin/Site.php:486 msgid "none" msgstr "nincs" -#: src/Module/Admin/Site.php:485 +#: src/Module/Admin/Site.php:487 msgid "Local contacts" msgstr "Helyi partnerek" -#: src/Module/Admin/Site.php:486 +#: src/Module/Admin/Site.php:488 msgid "Interactors" msgstr "Interaktorok" -#: src/Module/Admin/Site.php:496 src/Module/BaseAdmin.php:90 +#: src/Module/Admin/Site.php:498 src/Module/BaseAdmin.php:90 msgid "Site" msgstr "Oldal" -#: src/Module/Admin/Site.php:497 +#: src/Module/Admin/Site.php:499 msgid "General Information" msgstr "Általános információk" -#: src/Module/Admin/Site.php:499 +#: src/Module/Admin/Site.php:501 msgid "Republish users to directory" msgstr "Felhasználók újra közzé tétele a könyvtárba" -#: src/Module/Admin/Site.php:500 src/Module/Register.php:139 +#: src/Module/Admin/Site.php:502 src/Module/Register.php:139 msgid "Registration" msgstr "Regisztráció" -#: src/Module/Admin/Site.php:501 +#: src/Module/Admin/Site.php:503 msgid "File upload" msgstr "Fájlfeltöltés" -#: src/Module/Admin/Site.php:502 +#: src/Module/Admin/Site.php:504 msgid "Policies" msgstr "Irányelvek" -#: src/Module/Admin/Site.php:504 +#: src/Module/Admin/Site.php:506 msgid "Auto Discovered Contact Directory" msgstr "Automatikusan felfedezett partnerkönyvtár" -#: src/Module/Admin/Site.php:505 +#: src/Module/Admin/Site.php:507 msgid "Performance" msgstr "Teljesítmény" -#: src/Module/Admin/Site.php:506 +#: src/Module/Admin/Site.php:508 msgid "Worker" msgstr "Feldolgozó" -#: src/Module/Admin/Site.php:507 +#: src/Module/Admin/Site.php:509 msgid "Message Relay" msgstr "Üzenettovábbítás" -#: src/Module/Admin/Site.php:508 +#: src/Module/Admin/Site.php:510 msgid "" "Use the command \"console relay\" in the command line to add or remove " "relays." msgstr "Használja a „console relay” parancsot a parancssorban a továbbítók hozzáadásához vagy eltávolításához." -#: src/Module/Admin/Site.php:509 +#: src/Module/Admin/Site.php:511 msgid "The system is not subscribed to any relays at the moment." msgstr "A rendszer jelenleg nincs feliratkozva semmilyen továbbítóra sem." -#: src/Module/Admin/Site.php:510 +#: src/Module/Admin/Site.php:512 msgid "The system is currently subscribed to the following relays:" msgstr "A rendszer jelenleg a következő továbbítókra van feliratkozva:" -#: src/Module/Admin/Site.php:512 +#: src/Module/Admin/Site.php:514 msgid "Relocate Instance" msgstr "Példány áthelyezése" -#: src/Module/Admin/Site.php:513 +#: src/Module/Admin/Site.php:515 msgid "" "Warning! Advanced function. Could make this server " "unreachable." msgstr "Figyelmeztetés! Speciális funkció. Elérhetetlenné teheti a kiszolgálót." -#: src/Module/Admin/Site.php:517 +#: src/Module/Admin/Site.php:519 msgid "Site name" msgstr "Oldal neve" -#: src/Module/Admin/Site.php:518 +#: src/Module/Admin/Site.php:520 msgid "Sender Email" msgstr "Küldő e-mail-címe" -#: src/Module/Admin/Site.php:518 +#: src/Module/Admin/Site.php:520 msgid "" "The email address your server shall use to send notification emails from." msgstr "Az az e-mail-cím, amelyet a kiszolgáló használhat az értesítési e-mailek kiküldéséhez." -#: src/Module/Admin/Site.php:519 +#: src/Module/Admin/Site.php:521 msgid "Name of the system actor" msgstr "A rendszer szereplőjének neve" -#: src/Module/Admin/Site.php:519 +#: src/Module/Admin/Site.php:521 msgid "" "Name of the internal system account that is used to perform ActivityPub " "requests. This must be an unused username. If set, this can't be changed " "again." msgstr "A belső rendszerfiók neve, amely az ActivityPub kérések végrehajtásához lesz használva. Ennek egy nem használt felhasználónévnek kell lennie. Ha be van állítva, akkor ez nem változtatható meg újra." -#: src/Module/Admin/Site.php:520 +#: src/Module/Admin/Site.php:522 msgid "Banner/Logo" msgstr "Reklámcsík vagy logó" -#: src/Module/Admin/Site.php:521 +#: src/Module/Admin/Site.php:523 msgid "Email Banner/Logo" msgstr "E-mail reklámcsík vagy logó" -#: src/Module/Admin/Site.php:522 +#: src/Module/Admin/Site.php:524 msgid "Shortcut icon" msgstr "Böngészőikon" -#: src/Module/Admin/Site.php:522 +#: src/Module/Admin/Site.php:524 msgid "Link to an icon that will be used for browsers." msgstr "Hivatkozás egy ikonra, amely a böngészőknél lesz használva." -#: src/Module/Admin/Site.php:523 +#: src/Module/Admin/Site.php:525 msgid "Touch icon" msgstr "Érintő ikon" -#: src/Module/Admin/Site.php:523 +#: src/Module/Admin/Site.php:525 msgid "Link to an icon that will be used for tablets and mobiles." msgstr "Hivatkozás egy ikonra, amely táblagépeknél és mobiltelefonoknál lesz használva." -#: src/Module/Admin/Site.php:524 +#: src/Module/Admin/Site.php:526 msgid "Additional Info" msgstr "További információk" -#: src/Module/Admin/Site.php:524 +#: src/Module/Admin/Site.php:526 #, php-format msgid "" "For public servers: you can add additional information here that will be " "listed at %s/servers." msgstr "Nyilvános kiszolgálóknál: itt adhat meg további információkat, amelyek a %s/servers oldalon lesznek felsorolva." -#: src/Module/Admin/Site.php:525 +#: src/Module/Admin/Site.php:527 msgid "System language" msgstr "Rendszer nyelve" -#: src/Module/Admin/Site.php:526 +#: src/Module/Admin/Site.php:528 msgid "System theme" msgstr "Rendszer témája" -#: src/Module/Admin/Site.php:526 +#: src/Module/Admin/Site.php:528 msgid "" "Default system theme - may be over-ridden by user profiles - Change default theme settings" msgstr "Alapértelmezett rendszertéma – a felhasználói profilok felülbírálhatják – alapértelmezett témabeállítások megváltoztatása." -#: src/Module/Admin/Site.php:527 +#: src/Module/Admin/Site.php:529 msgid "Mobile system theme" msgstr "Mobilrendszer témája" -#: src/Module/Admin/Site.php:527 +#: src/Module/Admin/Site.php:529 msgid "Theme for mobile devices" msgstr "Téma a mobil eszközökhöz." -#: src/Module/Admin/Site.php:528 src/Module/Install.php:225 +#: src/Module/Admin/Site.php:530 src/Module/Install.php:225 msgid "SSL link policy" msgstr "SSL-hivatkozás irányelve" -#: src/Module/Admin/Site.php:528 src/Module/Install.php:227 +#: src/Module/Admin/Site.php:530 src/Module/Install.php:227 msgid "Determines whether generated links should be forced to use SSL" msgstr "Meghatározza, hogy az előállított hivatkozásokat kényszeríteni kell-e SSL használatára." -#: src/Module/Admin/Site.php:529 +#: src/Module/Admin/Site.php:531 msgid "Force SSL" msgstr "SSL kényszerítése" -#: src/Module/Admin/Site.php:529 +#: src/Module/Admin/Site.php:531 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead" " to endless loops." msgstr "Az összes nem SSL kérés SSL-re kényszerítése – Figyelem: néhány rendszeren végtelen hurkokat eredményezhet." -#: src/Module/Admin/Site.php:530 +#: src/Module/Admin/Site.php:532 msgid "Show help entry from navigation menu" msgstr "Súgó bejegyzés megjelenítése a navigációs menüből" -#: src/Module/Admin/Site.php:530 +#: src/Module/Admin/Site.php:532 msgid "" "Displays the menu entry for the Help pages from the navigation menu. It is " "always accessible by calling /help directly." msgstr "Megjeleníti a súgóoldalak menübejegyzését a navigációs menüből. Ez mindig elérhető a „/help” közvetlen meghívásával." -#: src/Module/Admin/Site.php:531 +#: src/Module/Admin/Site.php:533 msgid "Single user instance" msgstr "Egyfelhasználós példány" -#: src/Module/Admin/Site.php:531 +#: src/Module/Admin/Site.php:533 msgid "Make this instance multi-user or single-user for the named user" msgstr "Többfelhasználóssá vagy a megnevezett felhasználó számára egyfelhasználóssá teszi ezt a rendszert." -#: src/Module/Admin/Site.php:533 +#: src/Module/Admin/Site.php:535 msgid "Maximum image size" msgstr "Legnagyobb képméret" -#: src/Module/Admin/Site.php:533 +#: src/Module/Admin/Site.php:535 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "A feltöltött képek legnagyobb mérete bájtban. Alapértelmezetten 0, ami azt jelenti, hogy nincs korlát." -#: src/Module/Admin/Site.php:534 +#: src/Module/Admin/Site.php:536 msgid "Maximum image length" msgstr "Legnagyobb képhossz" -#: src/Module/Admin/Site.php:534 +#: src/Module/Admin/Site.php:536 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "A feltöltött képek leghosszabb oldalának legnagyobb hossza képpontban. Alapértelmezetten -1, ami azt jelenti, hogy nincs korlát." -#: src/Module/Admin/Site.php:535 +#: src/Module/Admin/Site.php:537 msgid "JPEG image quality" msgstr "JPEG-képek minősége" -#: src/Module/Admin/Site.php:535 +#: src/Module/Admin/Site.php:537 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "A feltöltött JPEG-képek ezzel a minőségbeállítással lesznek elmentve [0-100]. Alapértelmezetten 100, ami teljes minőséget jelent." -#: src/Module/Admin/Site.php:537 +#: src/Module/Admin/Site.php:539 msgid "Register policy" msgstr "Regisztrációs irányelv" -#: src/Module/Admin/Site.php:538 +#: src/Module/Admin/Site.php:540 msgid "Maximum Daily Registrations" msgstr "Legtöbb napi regisztráció" -#: src/Module/Admin/Site.php:538 +#: src/Module/Admin/Site.php:540 msgid "" "If registration is permitted above, this sets the maximum number of new user" " registrations to accept per day. If register is set to closed, this " "setting has no effect." msgstr "Ha a regisztrációk megengedettek fent, akkor ez állítja be a naponta elfogadandó új felhasználói regisztrációk legnagyobb számát. Ha a regisztráció lezártra van állítva, akkor ennek a beállításnak nincs hatása." -#: src/Module/Admin/Site.php:539 +#: src/Module/Admin/Site.php:541 msgid "Register text" msgstr "Regisztrációs szöveg" -#: src/Module/Admin/Site.php:539 +#: src/Module/Admin/Site.php:541 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "Szembetűnően lesz megjelenítve a regisztrációs oldalon. BBCode formázást is használhat itt." -#: src/Module/Admin/Site.php:540 +#: src/Module/Admin/Site.php:542 msgid "Forbidden Nicknames" msgstr "Tiltott becenevek" -#: src/Module/Admin/Site.php:540 +#: src/Module/Admin/Site.php:542 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "A becenevek vesszővel elválasztott listája, amelyek tiltottak a regisztrációnál. Az előbeállítás az RFC 2142 szerinti szerepnevek listája." -#: src/Module/Admin/Site.php:541 +#: src/Module/Admin/Site.php:543 msgid "Accounts abandoned after x days" msgstr "Fiókok elhagyottak X nap után" -#: src/Module/Admin/Site.php:541 +#: src/Module/Admin/Site.php:543 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "Nem fogja pazarolni a rendszer erőforrásait a külső oldalak lekérdezésével az elhagyott fiókoknál. Adjon meg 0 értéket, hogy ne legyen időkorlát." -#: src/Module/Admin/Site.php:542 +#: src/Module/Admin/Site.php:544 msgid "Allowed friend domains" msgstr "Engedélyezett ismerőstartományok" -#: src/Module/Admin/Site.php:542 +#: src/Module/Admin/Site.php:544 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "Azon tartományok vesszővel elválasztott listája, amelyeknek engedélyezett ismeretséget létesíteni ezzel az oldallal. A helyettesítő karakterek is elfogadottak. Ha üresen marad, akkor bármely tartomány megengedett." -#: src/Module/Admin/Site.php:543 +#: src/Module/Admin/Site.php:545 msgid "Allowed email domains" msgstr "Engedélyezett e-mail-tartományok" -#: src/Module/Admin/Site.php:543 +#: src/Module/Admin/Site.php:545 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "Azon tartományok vesszővel elválasztott listája, amelyek engedélyezettek az e-mail-címekben az oldalra történő regisztrációkhoz. A helyettesítő karakterek is elfogadottak. Ha üresen marad, akkor bármely tartomány megengedett." -#: src/Module/Admin/Site.php:544 +#: src/Module/Admin/Site.php:546 msgid "No OEmbed rich content" msgstr "Nincs OEmbed gazdag tartalom" -#: src/Module/Admin/Site.php:544 +#: src/Module/Admin/Site.php:546 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "Ne jelenítse meg a gazdag tartalmat (például beágyazott PDF), kivéve az alább felsorolt tartományokról." -#: src/Module/Admin/Site.php:545 +#: src/Module/Admin/Site.php:547 msgid "Trusted third-party domains" msgstr "Megbízható harmadik fél tartományok" -#: src/Module/Admin/Site.php:545 +#: src/Module/Admin/Site.php:547 msgid "" "Comma separated list of domains from which content is allowed to be embedded" " in posts like with OEmbed. All sub-domains of the listed domains are " "allowed as well." msgstr "Tartományok vesszővel elválasztott listája, amelyekről engedélyezett a tartalom bejegyzésekben való beágyazása, mint például az OEmbed használatával. A felsorolt tartományok összes altartománya is engedélyezve van." -#: src/Module/Admin/Site.php:546 +#: src/Module/Admin/Site.php:548 msgid "Block public" msgstr "Nyilvános tiltása" -#: src/Module/Admin/Site.php:546 +#: src/Module/Admin/Site.php:548 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "Jelölje be az ezen az oldalon lévő összes, egyébként nyilvános személyes oldal nyilvános hozzáférésének tiltásához, hacsak jelenleg nincs bejelentkezve." -#: src/Module/Admin/Site.php:547 +#: src/Module/Admin/Site.php:549 msgid "Force publish" msgstr "Közzététel kényszerítése" -#: src/Module/Admin/Site.php:547 +#: src/Module/Admin/Site.php:549 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "Jelölje be, hogy ezen az oldalon az összes profil kényszerítetten fel legyen sorolva az oldal könyvtárában." -#: src/Module/Admin/Site.php:547 +#: src/Module/Admin/Site.php:549 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "Ennek engedélyezése megsértheti az adatvédelmi rendeleteket, mint például a GDPR-t." -#: src/Module/Admin/Site.php:548 +#: src/Module/Admin/Site.php:550 msgid "Global directory URL" msgstr "Globális könyvtár URL" -#: src/Module/Admin/Site.php:548 +#: src/Module/Admin/Site.php:550 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "Az URL a globális könyvtárhoz. Ha ez nincs beállítva, akkor a globális könyvtár teljesen elérhetetlen lesz az alkalmazásoknak." -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:551 msgid "Private posts by default for new users" msgstr "Alapértelmezetten személyes bejegyzések az új felhasználóknál" -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:551 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "Az összes új tag alapértelmezett bejegyzés-jogosultságainak beállítása az alapértelmezett adatvédelmi csoportra a nyilvános helyett." -#: src/Module/Admin/Site.php:550 +#: src/Module/Admin/Site.php:552 msgid "Don't include post content in email notifications" msgstr "Ne ágyazza be a bejegyzés tartalmát az e-mailes értesítésekbe" -#: src/Module/Admin/Site.php:550 +#: src/Module/Admin/Site.php:552 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "Adatvédelmi intézkedésként ne ágyazza be egy bejegyzés, hozzászólás, személyes üzenet stb. tartalmát azokba az e-mailes értesítésekbe, amelyek erről az oldalról kerülnek kiküldésre." -#: src/Module/Admin/Site.php:551 +#: src/Module/Admin/Site.php:553 msgid "Disallow public access to addons listed in the apps menu." msgstr "Nyilvános hozzáférés letiltása az alkalmazások menüben felsorolt bővítményekhez" -#: src/Module/Admin/Site.php:551 +#: src/Module/Admin/Site.php:553 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "A jelölőnégyzet bejelölésével csak a tagok számára fogja korlátozni az alkalmazások menüben felsorolt bővítményeket." -#: src/Module/Admin/Site.php:552 +#: src/Module/Admin/Site.php:554 msgid "Don't embed private images in posts" msgstr "Ne ágyazzon be személyes képeket a bejegyzésekbe" -#: src/Module/Admin/Site.php:552 +#: src/Module/Admin/Site.php:554 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " @@ -6055,11 +6055,11 @@ msgid "" "while." msgstr "Ne cserélje ki a bejegyzésekben lévő helyileg kiszolgált személyes fényképeket a kép beágyazott másolatával. Ez azt jelenti, hogy a személyes fényképeket tartalmazó bejegyzéseket fogadó partnereknek hitelesíteniük kell magukat és be kell tölteniük minden egyes képet, ami eltarthat egy ideig." -#: src/Module/Admin/Site.php:553 +#: src/Module/Admin/Site.php:555 msgid "Explicit Content" msgstr "Felnőtteknek szánt tartalom" -#: src/Module/Admin/Site.php:553 +#: src/Module/Admin/Site.php:555 msgid "" "Set this to announce that your node is used mostly for explicit content that" " might not be suited for minors. This information will be published in the " @@ -6068,235 +6068,245 @@ msgid "" "will be shown at the user registration page." msgstr "Állítsa be ezt annak közléséhez, hogy a csomópontját főként felnőtteknek szóló tartalomhoz használják, ami lehet, hogy nem alkalmas kiskorúak számára. Ez az információ közzé lesz téve a csomópont információiban, és használhatja például a globális könyvtár is, hogy kiszűrje a csomópontját a csatlakozáshoz felajánlott csomópontok listájából. Ezenkívül egy megjegyzés is meg lesz jelenítve ezzel kapcsolatban a felhasználó regisztrációs oldalán." -#: src/Module/Admin/Site.php:554 +#: src/Module/Admin/Site.php:556 +msgid "Proxify external content" +msgstr "Külső tartalom proxyzása" + +#: src/Module/Admin/Site.php:556 +msgid "" +"Route external content via the proxy functionality. This is used for example" +" for some OEmbed accesses and in some other rare cases." +msgstr "Külső tartalom átirányítása a proxy funkción keresztül. Ezt például néhány OEmbed-hozzáférésnél és egyéb ritka esetekben használják." + +#: src/Module/Admin/Site.php:557 msgid "Allow Users to set remote_self" msgstr "Távoli önmaguk beállításának engedélyezése a felhasználóknak" -#: src/Module/Admin/Site.php:554 +#: src/Module/Admin/Site.php:557 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "Ennek bejelölésével minden egyes felhasználó számára engedélyezett, hogy az egyes partnereket távoli önmagukként jelöljék meg a partner javítása párbeszédablakban. Ezen jelző beállítása egy partnernél a tartalom minden egyes beküldésének tükrözését okozza a felhasználók adatfolyamában." -#: src/Module/Admin/Site.php:555 +#: src/Module/Admin/Site.php:558 msgid "Enable multiple registrations" msgstr "Többszörös regisztrációk engedélyezése" -#: src/Module/Admin/Site.php:555 +#: src/Module/Admin/Site.php:558 msgid "Enable users to register additional accounts for use as pages." msgstr "Lehetővé teszi a felhasználóknak, hogy további fiókokat regisztráljanak oldalakként történő használathoz." -#: src/Module/Admin/Site.php:556 +#: src/Module/Admin/Site.php:559 msgid "Enable OpenID" msgstr "OpenID engedélyezése" -#: src/Module/Admin/Site.php:556 +#: src/Module/Admin/Site.php:559 msgid "Enable OpenID support for registration and logins." msgstr "Az OpenID támogatás engedélyezése a regisztrációnál és a bejelentkezéseknél." -#: src/Module/Admin/Site.php:557 +#: src/Module/Admin/Site.php:560 msgid "Enable Fullname check" msgstr "Teljes név ellenőrzésének engedélyezése" -#: src/Module/Admin/Site.php:557 +#: src/Module/Admin/Site.php:560 msgid "" "Enable check to only allow users to register with a space between the first " "name and the last name in their full name." msgstr "Lehetővé teszi annak ellenőrzését, hogy a felhasználóknak csak a teljes nevükben lévő vezetéknév és a keresztnév közti szóközzel legyen lehetőségük regisztrálniuk." -#: src/Module/Admin/Site.php:558 +#: src/Module/Admin/Site.php:561 msgid "Community pages for visitors" msgstr "Közösségi oldalak a látogatók számára" -#: src/Module/Admin/Site.php:558 +#: src/Module/Admin/Site.php:561 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "Mely közösségi oldalaknak kell elérhetőnek lenniük a látogatók számára. A helyi felhasználók mindig mindkét oldalt látják." -#: src/Module/Admin/Site.php:559 +#: src/Module/Admin/Site.php:562 msgid "Posts per user on community page" msgstr "Felhasználónkénti bejegyzések a közösségi oldalon" -#: src/Module/Admin/Site.php:559 +#: src/Module/Admin/Site.php:562 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "\"Global Community\")" msgstr "A felhasználónkénti bejegyzések legnagyobb száma a közösségi oldalon (nem érvényes a „globális közösségnél”)." -#: src/Module/Admin/Site.php:561 +#: src/Module/Admin/Site.php:564 msgid "Enable Mail support" msgstr "Levelezési támogatás engedélyezése" -#: src/Module/Admin/Site.php:561 +#: src/Module/Admin/Site.php:564 msgid "" "Enable built-in mail support to poll IMAP folders and to reply via mail." msgstr "A beépített levelezési támogatás engedélyezése az IMAP-mappák lekérdezéséhez és az e-mailben történő válaszhoz." -#: src/Module/Admin/Site.php:562 +#: src/Module/Admin/Site.php:565 msgid "" "Mail support can't be enabled because the PHP IMAP module is not installed." msgstr "A levelezési támogatást nem lehet engedélyezni, mert a PHP IMAP-modulja nincs telepítve." -#: src/Module/Admin/Site.php:563 +#: src/Module/Admin/Site.php:566 msgid "Enable OStatus support" msgstr "OStatus támogatás engedélyezése" -#: src/Module/Admin/Site.php:563 +#: src/Module/Admin/Site.php:566 msgid "" "Enable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public." msgstr "A beépített OStatus (StatusNet, GNU Social stb.) kompatibilitás engedélyezése. Az OStatus hálózaton lévő összes kommunikáció nyilvános." -#: src/Module/Admin/Site.php:565 +#: src/Module/Admin/Site.php:568 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub" " directory." msgstr "A Diaspora támogatást nem lehet engedélyezni, mert a Friendica egy alkönyvtárba lett telepítve." -#: src/Module/Admin/Site.php:566 +#: src/Module/Admin/Site.php:569 msgid "Enable Diaspora support" msgstr "Diaspora támogatás engedélyezése" -#: src/Module/Admin/Site.php:566 +#: src/Module/Admin/Site.php:569 msgid "" "Enable built-in Diaspora network compatibility for communicating with " "diaspora servers." msgstr "A beépített Diaspora hálózati kompatibilitás engedélyezése a Diaspora kiszolgálókkal való kommunikációhoz." -#: src/Module/Admin/Site.php:567 +#: src/Module/Admin/Site.php:570 msgid "Verify SSL" msgstr "SSL ellenőrzése" -#: src/Module/Admin/Site.php:567 +#: src/Module/Admin/Site.php:570 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you" " cannot connect (at all) to self-signed SSL sites." msgstr "Ha szeretné, bekapcsolhatja a szigorú tanúsítvány-ellenőrzést. Ezt azt jelenti, hogy nem tud kapcsolódni (egyáltalán) az önaláírt SSL-t használó oldalakhoz." -#: src/Module/Admin/Site.php:568 +#: src/Module/Admin/Site.php:571 msgid "Proxy user" msgstr "Proxy felhasználó" -#: src/Module/Admin/Site.php:569 +#: src/Module/Admin/Site.php:572 msgid "Proxy URL" msgstr "Proxy URL" -#: src/Module/Admin/Site.php:570 +#: src/Module/Admin/Site.php:573 msgid "Network timeout" msgstr "Hálózati időkorlát" -#: src/Module/Admin/Site.php:570 +#: src/Module/Admin/Site.php:573 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "Az érték másodpercben van. Állítsa 0-ra a korlátlan időhöz (nem ajánlott)." -#: src/Module/Admin/Site.php:571 +#: src/Module/Admin/Site.php:574 msgid "Maximum Load Average" msgstr "Legnagyobb terhelésátlag" -#: src/Module/Admin/Site.php:571 +#: src/Module/Admin/Site.php:574 #, php-format msgid "" "Maximum system load before delivery and poll processes are deferred - " "default %d." msgstr "A legnagyobb rendszerterhelés, mielőtt a kézbesítési és lekérdezési folyamatok elhalasztásra kerülnek. Alapértelmezetten %d." -#: src/Module/Admin/Site.php:572 +#: src/Module/Admin/Site.php:575 msgid "Maximum Load Average (Frontend)" msgstr "Legnagyobb terhelésátlag (előtétprogram)" -#: src/Module/Admin/Site.php:572 +#: src/Module/Admin/Site.php:575 msgid "Maximum system load before the frontend quits service - default 50." msgstr "A legnagyobb rendszerterhelés, mielőtt az előtétprogram kilép a szolgáltatásból. Alapértelmezetten 50." -#: src/Module/Admin/Site.php:573 +#: src/Module/Admin/Site.php:576 msgid "Minimal Memory" msgstr "Legkevesebb memória" -#: src/Module/Admin/Site.php:573 +#: src/Module/Admin/Site.php:576 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "A legkevesebb szabad memória MB-ban a feldolgozónál. Hozzáférést igényel a /proc/meminfo fájlhoz. Alapértelmezetten 0 (kikapcsolva)." -#: src/Module/Admin/Site.php:574 +#: src/Module/Admin/Site.php:577 msgid "Periodically optimize tables" msgstr "Táblák időszakos optimalizálása" -#: src/Module/Admin/Site.php:574 +#: src/Module/Admin/Site.php:577 msgid "Periodically optimize tables like the cache and the workerqueue" msgstr "A táblák időszakos optimalizálása, mint például a gyorsítótár és a feldolgozó várakozási sorának táblái." -#: src/Module/Admin/Site.php:576 +#: src/Module/Admin/Site.php:579 msgid "Discover followers/followings from contacts" msgstr "Követők vagy követések felfedezése a partnerekből" -#: src/Module/Admin/Site.php:576 +#: src/Module/Admin/Site.php:579 msgid "" "If enabled, contacts are checked for their followers and following contacts." msgstr "Ha engedélyezve van, akkor a partnerek ellenőrizve lesznek a követő és követett partnereik számára." -#: src/Module/Admin/Site.php:577 +#: src/Module/Admin/Site.php:580 msgid "None - deactivated" msgstr "Nincs: ki van kapcsolva." -#: src/Module/Admin/Site.php:578 +#: src/Module/Admin/Site.php:581 msgid "" "Local contacts - contacts of our local contacts are discovered for their " "followers/followings." msgstr "Helyi partnerek: a helyi partnereink partnerei lesznek felfedezve a követőik vagy követésiek számára." -#: src/Module/Admin/Site.php:579 +#: src/Module/Admin/Site.php:582 msgid "" "Interactors - contacts of our local contacts and contacts who interacted on " "locally visible postings are discovered for their followers/followings." msgstr "Interaktorok: a helyi partnereink partnerei és a helyileg látható beküldésekkel kapcsolatba került partnerek lesznek felfedezve a követőik vagy követésiek számára." -#: src/Module/Admin/Site.php:581 +#: src/Module/Admin/Site.php:584 msgid "Synchronize the contacts with the directory server" msgstr "A partnerek szinkronizálása a könyvtárkiszolgálóval" -#: src/Module/Admin/Site.php:581 +#: src/Module/Admin/Site.php:584 msgid "" "if enabled, the system will check periodically for new contacts on the " "defined directory server." msgstr "Ha engedélyezve van, akkor a rendszer időszakosan ellenőrizni fogja az új partnereket a meghatározott könyvtárkiszolgálón." -#: src/Module/Admin/Site.php:583 +#: src/Module/Admin/Site.php:586 msgid "Days between requery" msgstr "Ismételt lekérdezések közti napok" -#: src/Module/Admin/Site.php:583 +#: src/Module/Admin/Site.php:586 msgid "Number of days after which a server is requeried for his contacts." msgstr "A napok száma, amely után egy kiszolgáló ismét lekérdezésre kerül a partnereiért." -#: src/Module/Admin/Site.php:584 +#: src/Module/Admin/Site.php:587 msgid "Discover contacts from other servers" msgstr "Partnerek felfedezése más kiszolgálókról" -#: src/Module/Admin/Site.php:584 +#: src/Module/Admin/Site.php:587 msgid "" "Periodically query other servers for contacts. The system queries Friendica," " Mastodon and Hubzilla servers." msgstr "Más kiszolgálók időszakos lekérdezése partnerek után. A rendszer Friendica, Mastodon és Hubzilla kiszolgálókat kérdez le." -#: src/Module/Admin/Site.php:585 +#: src/Module/Admin/Site.php:588 msgid "Search the local directory" msgstr "A helyi könyvtár keresése" -#: src/Module/Admin/Site.php:585 +#: src/Module/Admin/Site.php:588 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "A helyi könyvtár keresése a globális könyvtár helyett. Helyi kereséskor minden egyes keresés a globális könyvtárban lesz végrehajtva a háttérben. Ez javítja a keresési eredményeket, ha a keresést megismétlik." -#: src/Module/Admin/Site.php:587 +#: src/Module/Admin/Site.php:590 msgid "Publish server information" msgstr "Kiszolgálóinformációk közzététele" -#: src/Module/Admin/Site.php:587 +#: src/Module/Admin/Site.php:590 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -6304,50 +6314,50 @@ msgid "" " href=\"http://the-federation.info/\">the-federation.info for details." msgstr "Ha engedélyezve van, akkor az általános kiszolgáló és használati adatok közzé lesznek téve. Az adatok tartalmazzák a kiszolgáló nevét és verzióját, a nyilvános profillal rendelkező felhasználók számát, a bejegyzések számát, valamint a engedélyezett protokollokat és összekötőket. A részletekért nézze meg a the-federation.info weboldalt." -#: src/Module/Admin/Site.php:589 +#: src/Module/Admin/Site.php:592 msgid "Check upstream version" msgstr "Távoli verzió ellenőrzése" -#: src/Module/Admin/Site.php:589 +#: src/Module/Admin/Site.php:592 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "Engedélyezi az új Friendica verziójának keresését a GitHubon. Ha új verzió érhető el, akkor tájékoztatva lesz az adminisztrátori panel áttekintőjében." -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:593 msgid "Suppress Tags" msgstr "Címkék letiltása" -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:593 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "A kettős keresztes címkék listája megjelenítésének letiltása a beküldések végénél." -#: src/Module/Admin/Site.php:591 +#: src/Module/Admin/Site.php:594 msgid "Clean database" msgstr "Adatbázis tisztítása" -#: src/Module/Admin/Site.php:591 +#: src/Module/Admin/Site.php:594 msgid "" "Remove old remote items, orphaned database records and old content from some" " other helper tables." msgstr "Régi távoli elemek, árva adatbázisrekordok és néhány egyéb segédtáblából származó régi tartalom eltávolítása." -#: src/Module/Admin/Site.php:592 +#: src/Module/Admin/Site.php:595 msgid "Lifespan of remote items" msgstr "Távoli elemek élettartama" -#: src/Module/Admin/Site.php:592 +#: src/Module/Admin/Site.php:595 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "Ha az adatbázis-tisztítás engedélyezve van, akkor ez határozza meg azon napok számát, amely után a távoli elemek törölve lesznek. A saját elemek, valamint a megjelölt és iktatott elemek mindig meg lesznek tartva. A 0 érték letiltja ezt a viselkedést." -#: src/Module/Admin/Site.php:593 +#: src/Module/Admin/Site.php:596 msgid "Lifespan of unclaimed items" msgstr "Nem igényelt elemek élettartama" -#: src/Module/Admin/Site.php:593 +#: src/Module/Admin/Site.php:596 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -6355,144 +6365,144 @@ msgid "" "items if set to 0." msgstr "Ha az adatbázis-tisztítás engedélyezve van, akkor ez határozza meg azon napok számát, amely után a nem igényelt távoli elemek (főleg a továbbításból származó tartalmak) törölve lesznek. Az alapértelmezett érték 90 nap. A távoli elemek általános élettartamértékének alapértelmezettje lesz, ha 0 értékre van állítva." -#: src/Module/Admin/Site.php:594 +#: src/Module/Admin/Site.php:597 msgid "Lifespan of raw conversation data" msgstr "Nyers beszélgetési adatok élettartama" -#: src/Module/Admin/Site.php:594 +#: src/Module/Admin/Site.php:597 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "A beszélgetési adatok az ActivityPub és az OStatus hálózatoknál, valamint hibakeresési célokhoz vannak használva. Biztonságosan el lehet távolítani azokat 14 nap után. Alapértelmezetten 90 nap." -#: src/Module/Admin/Site.php:595 +#: src/Module/Admin/Site.php:598 msgid "Maximum numbers of comments per post" msgstr "Bejegyzésenkénti hozzászólások legnagyobb száma" -#: src/Module/Admin/Site.php:595 +#: src/Module/Admin/Site.php:598 msgid "How much comments should be shown for each post? Default value is 100." msgstr "Mennyi hozzászólást kell megjeleníteni az egyes bejegyzéseknél? Az alapértelmezett érték 100." -#: src/Module/Admin/Site.php:596 +#: src/Module/Admin/Site.php:599 msgid "Maximum numbers of comments per post on the display page" msgstr "Bejegyzésenkénti hozzászólások legnagyobb száma a megjelenítési oldalon" -#: src/Module/Admin/Site.php:596 +#: src/Module/Admin/Site.php:599 msgid "" "How many comments should be shown on the single view for each post? Default " "value is 1000." msgstr "Mennyi hozzászólást kell megjeleníteni egy önálló nézeten az egyes bejegyzéseknél? Az alapértelmezett érték 1000." -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:600 msgid "Temp path" msgstr "Ideiglenes mappa útvonala" -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:600 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "Ha korlátozott rendszere van, ahol a webkiszolgáló nem tudja elérni a rendszer ideiglenes mappájának útvonalát, akkor adjon meg egy másik útvonalat itt." -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:601 msgid "Only search in tags" msgstr "Keresés csak címkékben" -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:601 msgid "On large systems the text search can slow down the system extremely." msgstr "Nagy rendszereknél a szöveges keresés rendkívüli módon lelassíthatja a rendszert." -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:603 msgid "New base url" msgstr "Új alap URL" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:603 msgid "" "Change base url for this server. Sends relocate message to all Friendica and" " Diaspora* contacts of all users." msgstr "A kiszolgáló alap URL-ének megváltoztatása. Áthelyezési üzenetet küld az összes felhasználó minden Friendica és Diaspora* partnerének." -#: src/Module/Admin/Site.php:602 +#: src/Module/Admin/Site.php:605 msgid "Maximum number of parallel workers" msgstr "Párhuzamos feldolgozók legnagyobb száma" -#: src/Module/Admin/Site.php:602 +#: src/Module/Admin/Site.php:605 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great." " Default value is %d." msgstr "Osztott tárhelyszolgáltatóknál állítsa ezt %d értékre. Nagyobb rendszereknél érdemes a számot %d értékre állítani. Az alapértelmezett érték %d." -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:606 msgid "Enable fastlane" msgstr "Prioritásos sor engedélyezése" -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:606 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes" " with higher priority are blocked by processes of lower priority." msgstr "Ha engedélyezve van, akkor a prioritásos sor mechanizmus további feldolgozót indít, ha a magasabb prioritással rendelkező folyamatokat blokkolják az alacsonyabb prioritású folyamatok." -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:608 msgid "Direct relay transfer" msgstr "Közvetlen továbbító-átvitel" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:608 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "Engedélyezi a más kiszolgálókra való közvetlen átvitelt a továbbító kiszolgálók használata nélkül." -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "Relay scope" msgstr "Továbbítás hatóköre" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "" "Can be \"all\" or \"tags\". \"all\" means that every public post should be " "received. \"tags\" means that only posts with selected tags should be " "received." msgstr "Lehet „összes” vagy „címkék”. Az „összes” azt jelenti, hogy minden nyilvános bejegyzést meg kell kapni. A „címkék” jelentése, hogy csak a kijelölt címkékkel rendelkező bejegyzéseket kell megkapni." -#: src/Module/Admin/Site.php:606 src/Module/Contact.php:516 +#: src/Module/Admin/Site.php:609 src/Module/Contact.php:516 #: src/Module/Settings/TwoFactor/Index.php:118 msgid "Disabled" msgstr "Letiltva" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "all" msgstr "összes" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "tags" msgstr "címkék" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:610 msgid "Server tags" msgstr "Kiszolgálócímkék" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:610 msgid "Comma separated list of tags for the \"tags\" subscription." msgstr "Címkék vesszővel elválasztott listája a „címkék” feliratkozáshoz." -#: src/Module/Admin/Site.php:608 +#: src/Module/Admin/Site.php:611 msgid "Deny Server tags" msgstr "Kiszolgálócímkék megtagadása" -#: src/Module/Admin/Site.php:608 +#: src/Module/Admin/Site.php:611 msgid "Comma separated list of tags that are rejected." msgstr "Címkék vesszővel elválasztott listája, amelyek vissza lesznek utasítva." -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "Allow user tags" msgstr "Felhasználói címkék engedélyezése" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "" "If enabled, the tags from the saved searches will used for the \"tags\" " "subscription in addition to the \"relay_server_tags\"." msgstr "Ha engedélyezve van, akkor a mentett keresésekből származó címkék lesznek használva a „címkék” feliratkozásnál a „relay_server_tags” címkéken kívül." -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:615 msgid "Start Relocation" msgstr "Áthelyezés indítása" diff --git a/view/lang/hu/strings.php b/view/lang/hu/strings.php index eb7adf1c8f..7c61aa1982 100644 --- a/view/lang/hu/strings.php +++ b/view/lang/hu/strings.php @@ -1326,6 +1326,8 @@ $a->strings["Don't embed private images in posts"] = "Ne ágyazzon be személyes $a->strings["Don't replace locally-hosted private photos in posts with an embedded copy of the image. This means that contacts who receive posts containing private photos will have to authenticate and load each image, which may take a while."] = "Ne cserélje ki a bejegyzésekben lévő helyileg kiszolgált személyes fényképeket a kép beágyazott másolatával. Ez azt jelenti, hogy a személyes fényképeket tartalmazó bejegyzéseket fogadó partnereknek hitelesíteniük kell magukat és be kell tölteniük minden egyes képet, ami eltarthat egy ideig."; $a->strings["Explicit Content"] = "Felnőtteknek szánt tartalom"; $a->strings["Set this to announce that your node is used mostly for explicit content that might not be suited for minors. This information will be published in the node information and might be used, e.g. by the global directory, to filter your node from listings of nodes to join. Additionally a note about this will be shown at the user registration page."] = "Állítsa be ezt annak közléséhez, hogy a csomópontját főként felnőtteknek szóló tartalomhoz használják, ami lehet, hogy nem alkalmas kiskorúak számára. Ez az információ közzé lesz téve a csomópont információiban, és használhatja például a globális könyvtár is, hogy kiszűrje a csomópontját a csatlakozáshoz felajánlott csomópontok listájából. Ezenkívül egy megjegyzés is meg lesz jelenítve ezzel kapcsolatban a felhasználó regisztrációs oldalán."; +$a->strings["Proxify external content"] = "Külső tartalom proxyzása"; +$a->strings["Route external content via the proxy functionality. This is used for example for some OEmbed accesses and in some other rare cases."] = "Külső tartalom átirányítása a proxy funkción keresztül. Ezt például néhány OEmbed-hozzáférésnél és egyéb ritka esetekben használják."; $a->strings["Allow Users to set remote_self"] = "Távoli önmaguk beállításának engedélyezése a felhasználóknak"; $a->strings["With checking this, every user is allowed to mark every contact as a remote_self in the repair contact dialog. Setting this flag on a contact causes mirroring every posting of that contact in the users stream."] = "Ennek bejelölésével minden egyes felhasználó számára engedélyezett, hogy az egyes partnereket távoli önmagukként jelöljék meg a partner javítása párbeszédablakban. Ezen jelző beállítása egy partnernél a tartalom minden egyes beküldésének tükrözését okozza a felhasználók adatfolyamában."; $a->strings["Enable multiple registrations"] = "Többszörös regisztrációk engedélyezése"; From b18f92ea72c2fe5c0e9b797a9bcfe63acd57b432 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 20:46:59 +0000 Subject: [PATCH 07/25] Fixed indendation --- src/Protocol/ActivityPub.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index 9a5f06004d..85a387229f 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -70,8 +70,7 @@ class ActivityPub 'directMessage' => 'litepub:directMessage', 'discoverable' => 'toot:discoverable', 'PropertyValue' => 'schema:PropertyValue', - 'value' => 'schema:value', -]]; + 'value' => 'schema:value']]; const ACCOUNT_TYPES = ['Person', 'Organization', 'Service', 'Group', 'Application', 'Tombstone']; /** * Checks if the web request is done for the AP protocol From a689db7b64cfdb182a7ddbe494e6f2daa88dab20 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 14 Sep 2021 23:22:57 +0200 Subject: [PATCH 08/25] Update src/Protocol/ActivityPub.php Co-authored-by: Hypolite Petovan --- src/Protocol/ActivityPub.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub.php b/src/Protocol/ActivityPub.php index 85a387229f..a348541522 100644 --- a/src/Protocol/ActivityPub.php +++ b/src/Protocol/ActivityPub.php @@ -70,7 +70,8 @@ class ActivityPub 'directMessage' => 'litepub:directMessage', 'discoverable' => 'toot:discoverable', 'PropertyValue' => 'schema:PropertyValue', - 'value' => 'schema:value']]; + 'value' => 'schema:value', + ]]; const ACCOUNT_TYPES = ['Person', 'Organization', 'Service', 'Group', 'Application', 'Tombstone']; /** * Checks if the web request is done for the AP protocol From 7a51a7f6c66424733cabb0505477bcd2eac9a2cc Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 14 Sep 2021 21:27:09 +0000 Subject: [PATCH 09/25] Avoid duplicated filed posts --- include/conversation.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/conversation.php b/include/conversation.php index 2db0c22b80..c49aacb177 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -419,7 +419,14 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o $tpl = 'search_item.tpl'; + $uriids = []; + foreach ($items as $item) { + if (in_array($item['uri-id'], $uriids)) { + continue; + } + + $uriids[] = $item['uri-id']; if (!visible_activity($item)) { continue; From 3068cb57885f868077bfbaad2c13ed0c4482aa11 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 14 Sep 2021 17:27:16 -0400 Subject: [PATCH 10/25] [frio] Fix contact deletion modal URL concatenation - The deletion URL now has an initial query string parameter in the form of a CSRF token --- view/theme/frio/templates/contact_edit.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/theme/frio/templates/contact_edit.tpl b/view/theme/frio/templates/contact_edit.tpl index 91c6d26f43..7806425947 100644 --- a/view/theme/frio/templates/contact_edit.tpl +++ b/view/theme/frio/templates/contact_edit.tpl @@ -27,7 +27,7 @@ {{/if}}
  • {{$contact_actions.block.label}}
  • {{$contact_actions.ignore.label}}
  • - {{if $contact_actions.delete.url}}
  • {{/if}} + {{if $contact_actions.delete.url}}
  • {{/if}} From 06b8f93eae470d51e655dcdbbe715ed0c07743f5 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 14 Sep 2021 17:28:07 -0400 Subject: [PATCH 11/25] Add support for specific confirm value in confirm.tpl - button tags allow for a different value from the label --- view/templates/confirm.tpl | 4 ++-- view/theme/frio/templates/confirm.tpl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/view/templates/confirm.tpl b/view/templates/confirm.tpl index ea50846990..47f231a5f9 100644 --- a/view/templates/confirm.tpl +++ b/view/templates/confirm.tpl @@ -4,8 +4,8 @@

    {{$message}}

    - - + + diff --git a/view/theme/frio/templates/confirm.tpl b/view/theme/frio/templates/confirm.tpl index 187078b68a..3f8c0c3268 100644 --- a/view/theme/frio/templates/confirm.tpl +++ b/view/theme/frio/templates/confirm.tpl @@ -3,7 +3,7 @@
    {{$message}}
    - +
    From 44ec4de14cc6dc3b27bd98ceec1c2705d45fc77a Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 14 Sep 2021 17:28:42 -0400 Subject: [PATCH 12/25] Use CSRF token as name and value for contact deletion confirm form --- src/Module/Contact.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 2b17deab40..ceb2b6757c 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -432,7 +432,8 @@ class Contact extends BaseModule '$message' => DI::l10n()->t('Do you really want to delete this contact?'), '$confirm' => DI::l10n()->t('Yes'), '$confirm_url' => DI::args()->getCommand(), - '$confirm_name' => 'confirmed', + '$confirm_name' => 't', + '$confirm_value' => BaseModule::getFormSecurityToken('contact_action'), '$cancel' => DI::l10n()->t('Cancel'), ]); } From 458e26b00a6f762e16772fa8abac711c19182508 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 14 Sep 2021 17:39:03 -0400 Subject: [PATCH 13/25] Link to displayed contact URL no matter the "Stay local" setting value --- view/theme/frio/templates/contact_edit.tpl | 2 +- view/theme/vier/templates/contact_edit.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/view/theme/frio/templates/contact_edit.tpl b/view/theme/frio/templates/contact_edit.tpl index 91c6d26f43..529192790d 100644 --- a/view/theme/frio/templates/contact_edit.tpl +++ b/view/theme/frio/templates/contact_edit.tpl @@ -76,7 +76,7 @@
    -
    {{$profileurllabel}}
    {{$profileurl}} +
    {{$profileurllabel}}
    {{$profileurl}}
    {{if $location}} diff --git a/view/theme/vier/templates/contact_edit.tpl b/view/theme/vier/templates/contact_edit.tpl index 2693012bff..7341d81d88 100644 --- a/view/theme/vier/templates/contact_edit.tpl +++ b/view/theme/vier/templates/contact_edit.tpl @@ -48,7 +48,7 @@
    {{* End of contact-edit-status-wrapper *}} {{* Some information about the contact from the profile *}} -
    {{$profileurllabel}}
    {{$profileurl}}
    +
    {{$profileurllabel}}
    {{$profileurl}}
    {{if $location}}
    {{$location_label}}
    {{$location nofilter}}
    {{/if}} {{if $xmpp}}
    {{$xmpp_label}}
    {{$xmpp}}
    {{/if}} {{if $matrix}}
    {{$matrix_label}}
    {{$matrix}}
    {{/if}} From c9f451eeba441ad0458d527c3b5e92d2d473f591 Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 15 Sep 2021 08:29:14 +0200 Subject: [PATCH 14/25] Bugfix Drone/Docker: forgot a file --- mods/release-list-include.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/release-list-include.txt b/mods/release-list-include.txt index 95faa36ed8..d3fd5b7f39 100644 --- a/mods/release-list-include.txt +++ b/mods/release-list-include.txt @@ -5,6 +5,7 @@ bin/console.bat bin/console.php bin/daemon.php bin/testargs.php +bin/wait-for-connection bin/worker.php config/ doc/ From 9a0c3cc834aa01cc76fdf60d30bf69824abe602c Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 14 Sep 2021 17:59:05 -0400 Subject: [PATCH 15/25] Simplify max_data parameter for Temporal::getDateTimeField --- include/conversation.php | 4 ++-- src/Module/Item/Compose.php | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index c49aacb177..1cb2c745cc 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1147,10 +1147,10 @@ function status_editor(App $a, array $x = [], $notes_cid = 0, $popup = false) '$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? DI::l10n()->t("Categories \x28comma-separated list\x29") : '', '$scheduled_at' => Temporal::getDateTimeField( new DateTime(), - DateTime::createFromFormat(DateTimeFormat::MYSQL, DateTimeFormat::local('now + 6 months')), + new DateTime('now + 6 months'), null, DI::l10n()->t('Scheduled at'), - 'scheduled_at', + 'scheduled_at' ), '$wait' => DI::l10n()->t('Please wait'), '$permset' => DI::l10n()->t('Permission settings'), diff --git a/src/Module/Item/Compose.php b/src/Module/Item/Compose.php index 29fdbea746..f81b0c8969 100644 --- a/src/Module/Item/Compose.php +++ b/src/Module/Item/Compose.php @@ -167,13 +167,12 @@ class Compose extends BaseModule '$placeholdercategory' => (Feature::isEnabled(local_user(),'categories') ? DI::l10n()->t('Categories (comma-separated list)') : ''), '$scheduled_at' => Temporal::getDateTimeField( new DateTime(), - DateTime::createFromFormat(DateTimeFormat::MYSQL, DateTimeFormat::local('now + 6 months')), + new DateTime('now + 6 months'), null, DI::l10n()->t('Scheduled at'), - 'scheduled_at', + 'scheduled_at' ), - '$title' => $title, '$category' => $category, '$body' => $body, From 49e1cb9dd1b942c6a150d4fdb5742ac9c425b6c0 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 16 Sep 2021 18:19:36 +0000 Subject: [PATCH 16/25] Fix fatal error when following mail accounts --- mod/follow.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod/follow.php b/mod/follow.php index 09201bed16..6227c0304c 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -156,8 +156,8 @@ function follow_content(App $a) DI::page()['aside'] = ''; - if ($protocol != Protocol::PHANTOM) { - DI::page()['aside'] = Widget\VCard::getHTML(Contact::getByURL($contact['url'], false)); + if (!in_array($protocol, [Protocol::PHANTOM, Protocol::MAIL])) { + DI::page()['aside'] = Widget\VCard::getHTML($contact); $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), ['$title' => DI::l10n()->t('Status Messages and Posts')] From a91e3f5dbce82471a04e9a3bf3a9957589f766be Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 17 Sep 2021 18:36:20 +0000 Subject: [PATCH 17/25] Issue 10720: Use different path scheme for user avatars --- mod/msearch.php | 4 +- src/Model/Contact.php | 17 ++++--- src/Model/User.php | 59 ++++++++++++++++++++++-- src/Module/Delegation.php | 8 +--- src/Module/NoScrape.php | 3 +- src/Module/Register.php | 4 +- src/Module/Xrd.php | 5 +- src/Network/Probe.php | 6 +-- src/Protocol/ActivityPub/Transmitter.php | 2 +- src/Protocol/DFRN.php | 2 +- src/Protocol/Feed.php | 2 +- src/Protocol/OStatus.php | 6 +-- 12 files changed, 84 insertions(+), 34 deletions(-) diff --git a/mod/msearch.php b/mod/msearch.php index b280db4f18..b51757cf7f 100644 --- a/mod/msearch.php +++ b/mod/msearch.php @@ -22,6 +22,8 @@ use Friendica\App; use Friendica\Database\DBA; use Friendica\DI; +use Friendica\Model\User; +use Friendica\Util\Proxy; function msearch_post(App $a) { @@ -72,7 +74,7 @@ function msearch_post(App $a) $results[] = [ 'name' => $search_result['name'], 'url' => DI::baseUrl() . '/profile/' . $search_result['nickname'], - 'photo' => DI::baseUrl() . '/photo/avatar/' . $search_result['uid'] . '.jpg', + 'photo' => User::getAvatarUrlForId($search_result['uid'], Proxy::SIZE_THUMB), 'tags' => str_replace([',', ' '], [' ', ' '], $search_result['pub_keywords']) ]; } diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 93e745456a..f4cd20a856 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -627,9 +627,9 @@ class Contact 'nick' => $user['nickname'], 'pubkey' => $user['pubkey'], 'prvkey' => $user['prvkey'], - 'photo' => DI::baseUrl() . '/photo/profile/' . $user['uid'] . '.jpg', - 'thumb' => DI::baseUrl() . '/photo/avatar/' . $user['uid'] . '.jpg', - 'micro' => DI::baseUrl() . '/photo/micro/' . $user['uid'] . '.jpg', + 'photo' => User::getAvatarUrlForId($user['uid']), + 'thumb' => User::getAvatarUrlForId($user['uid'], Proxy::SIZE_THUMB), + 'micro' => User::getAvatarUrlForId($user['uid'], Proxy::SIZE_MICRO), 'blocked' => 0, 'pending' => 0, 'url' => DI::baseUrl() . '/profile/' . $user['nickname'], @@ -742,7 +742,7 @@ class Contact $fields['micro'] = self::getDefaultAvatar($fields, Proxy::SIZE_MICRO); } - $fields['avatar'] = DI::baseUrl() . '/photo/profile/' .$uid . '.' . $file_suffix; + $fields['avatar'] = User::getAvatarUrlForId($uid); $fields['forum'] = $user['page-flags'] == User::PAGE_FLAGS_COMMUNITY; $fields['prv'] = $user['page-flags'] == User::PAGE_FLAGS_PRVGROUP; $fields['unsearchable'] = !$profile['net-publish']; @@ -768,8 +768,11 @@ class Contact DBA::update('contact', $fields, ['uid' => 0, 'nurl' => $self['nurl']]); // Update the profile - $fields = ['photo' => DI::baseUrl() . '/photo/profile/' .$uid . '.' . $file_suffix, - 'thumb' => DI::baseUrl() . '/photo/avatar/' . $uid .'.' . $file_suffix]; + $fields = [ + 'photo' => User::getAvatarUrlForId($uid), + 'thumb' => User::getAvatarUrlForId($uid, Proxy::SIZE_THUMB) + ]; + DBA::update('profile', $fields, ['uid' => $uid]); } @@ -2355,7 +2358,7 @@ class Contact $probed = false; $ret = $arr['contact']; } else { - $probed = true; + $probed = true; $ret = Probe::uri($url, $network, $uid); } diff --git a/src/Model/User.php b/src/Model/User.php index 4f63b38198..ccdca6288a 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -840,6 +840,57 @@ class User return false; } + /** + * Get avatar link for given user id + * + * @param integer $uid user id + * @param string $size One of the ProxyUtils::SIZE_* constants + * @return string avatar link + */ + public static function getAvatarUrlForId(int $uid, string $size = ''):string + { + $url = DI::baseUrl() . '/photo/'; + + switch ($size) { + case Proxy::SIZE_MICRO: + $url .= 'micro/'; + $scale = 6; + break; + case Proxy::SIZE_THUMB: + $url .= 'avatar/'; + $scale = 5; + break; + default: + $url .= 'profile/'; + $scale = 4; + break; + } + + $updated = ''; + $imagetype = IMAGETYPE_JPEG; + + $photo = Photo::selectFirst(['type', 'created', 'edited', 'updated'], ["scale" => $scale, 'uid' => $uid, 'profile' => true]); + if (!empty($photo)) { + $updated = max($photo['created'], $photo['edited'], $photo['updated']); + + switch ($photo['type']) { + case 'image/png': + $imagetype = IMAGETYPE_PNG; + break; + + case 'image/gif': + $imagetype = IMAGETYPE_PNG; + break; + + default: + $imagetype = IMAGETYPE_JPEG; + break; + } + } + + return $url . $uid . image_type_to_extension($imagetype) . ($updated ? '?ts=' . strtotime($updated) : ''); + } + /** * Catch-all user creation function * @@ -1054,8 +1105,8 @@ class User $insert_result = DBA::insert('profile', [ 'uid' => $uid, 'name' => $username, - 'photo' => DI::baseUrl() . "/photo/profile/{$uid}.jpg", - 'thumb' => DI::baseUrl() . "/photo/avatar/{$uid}.jpg", + 'photo' => self::getAvatarUrlForId($uid), + 'thumb' => self::getAvatarUrlForId($uid, Proxy::SIZE_THUMB), 'publish' => $publish, 'net-publish' => $netpublish, ]); @@ -1585,8 +1636,8 @@ class User /** * Check if the given user id has delegations or is delegated * - * @param int $uid - * @return bool + * @param int $uid + * @return bool */ public static function hasIdentities(int $uid):bool { diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index 45f7fc57d2..54f8688818 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -27,7 +27,6 @@ use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Model\Contact; use Friendica\Model\Notification; use Friendica\Model\User; use Friendica\Network\HTTPException\ForbiddenException; @@ -123,12 +122,7 @@ class Delegation extends BaseModule //getting additinal information for each identity foreach ($identities as $key => $identity) { - $self = Contact::selectFirst(['id', 'updated'], ['uid' => $identity['uid'], 'self' => true]); - if (!DBA::isResult($self)) { - continue; - } - - $identities[$key]['thumb'] = Contact::getAvatarUrlForId($self['id'], Proxy::SIZE_THUMB, $self['updated']); + $identities[$key]['thumb'] = User::getAvatarUrlForId($identity['uid'], Proxy::SIZE_THUMB); $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->getLoggedInUserNickname()); diff --git a/src/Module/NoScrape.php b/src/Module/NoScrape.php index f156efb44f..b791c5cd79 100644 --- a/src/Module/NoScrape.php +++ b/src/Module/NoScrape.php @@ -26,7 +26,6 @@ use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Model\Contact; use Friendica\Model\User; /** @@ -81,7 +80,7 @@ class NoScrape extends BaseModule $keywords = explode(',', $keywords); $json_info['fn'] = $profile['name']; - $json_info['photo'] = Contact::getAvatarUrlForUrl($profile['url'], $profile['uid']); + $json_info['photo'] = User::getAvatarUrlForId($profile['uid']); $json_info['tags'] = $keywords; $json_info['language'] = $profile['language']; diff --git a/src/Module/Register.php b/src/Module/Register.php index 6e36023f38..a589ebe0af 100644 --- a/src/Module/Register.php +++ b/src/Module/Register.php @@ -31,6 +31,8 @@ use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model; +use Friendica\Model\User; +use Friendica\Util\Proxy; use Friendica\Util\Strings; /** @@ -372,7 +374,7 @@ class Register extends BaseModule 'source_mail' => $user['email'], 'source_nick' => $user['nickname'], 'source_link' => $base_url . '/admin/users/', - 'source_photo' => $base_url . '/photo/avatar/' . $user['uid'] . '.jpg', + 'source_photo' => User::getAvatarUrlForId($user['uid'], Proxy::SIZE_THUMB), 'show_in_notification_page' => false ]); } diff --git a/src/Module/Xrd.php b/src/Module/Xrd.php index aa7e04ebcd..48623bf70d 100644 --- a/src/Module/Xrd.php +++ b/src/Module/Xrd.php @@ -26,7 +26,6 @@ use Friendica\Core\Hook; use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\DI; -use Friendica\Model\Contact; use Friendica\Model\Photo; use Friendica\Model\User; use Friendica\Protocol\ActivityNamespace; @@ -197,7 +196,7 @@ class Xrd extends BaseModule [ 'rel' => 'http://webfinger.net/rel/avatar', 'type' => $avatar['type'], - 'href' => Contact::getAvatarUrlForUrl($owner['url'], $owner['uid']), + 'href' => User::getAvatarUrlForId($owner['uid']), ], [ 'rel' => 'http://joindiaspora.com/seed_location', @@ -253,7 +252,7 @@ class Xrd extends BaseModule '$hcard_url' => $baseURL . '/hcard/' . $owner['nickname'], '$atom' => $owner['poll'], '$poco_url' => $owner['poco'], - '$photo' => Contact::getAvatarUrlForUrl($owner['url'], $owner['uid']), + '$photo' => User::getAvatarUrlForId($owner['uid']), '$type' => $avatar['type'], '$salmon' => $baseURL . '/salmon/' . $owner['nickname'], '$salmen' => $baseURL . '/salmon/' . $owner['nickname'] . '/mention', diff --git a/src/Network/Probe.php b/src/Network/Probe.php index 8aa15a13c3..bb805b2d05 100644 --- a/src/Network/Probe.php +++ b/src/Network/Probe.php @@ -101,7 +101,7 @@ class Probe if (isset($data[$field])) { if (in_array($field, $numeric_fields)) { $newdata[$field] = (int)$data[$field]; - } else { + } else { $newdata[$field] = $data[$field]; } } elseif (!in_array($field, $numeric_fields)) { @@ -2229,11 +2229,11 @@ class Probe $data = [ 'name' => $profile['name'], 'nick' => $profile['nick'], 'guid' => $approfile['diaspora:guid'] ?? '', 'url' => $profile['url'], 'addr' => $profile['addr'], 'alias' => $profile['alias'], - 'photo' => Contact::getAvatarUrlForId($profile['id'], '', $profile['updated']), + 'photo' => User::getAvatarUrlForId($uid), 'header' => $profile['header'] ? Contact::getHeaderUrlForId($profile['id'], $profile['updated']) : '', 'account-type' => $profile['contact-type'], 'community' => ($profile['contact-type'] == User::ACCOUNT_TYPE_COMMUNITY), 'keywords' => $profile['keywords'], 'location' => $profile['location'], 'about' => $profile['about'], - 'xmpp' => $profile['xmpp'], 'matrix' => $profile['matrix'], + 'xmpp' => $profile['xmpp'], 'matrix' => $profile['matrix'], 'hide' => !$profile['net-publish'], 'batch' => '', 'notify' => $profile['notify'], 'poll' => $profile['poll'], 'request' => $profile['request'], 'confirm' => $profile['confirm'], 'subscribe' => $approfile['generator']['url'] . '/follow?url={uri}', 'poco' => $profile['poco'], diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 14d4a8a5a1..e7bb20893b 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -370,7 +370,7 @@ class Transmitter 'owner' => $owner['url'], 'publicKeyPem' => $owner['pubkey']]; $data['endpoints'] = ['sharedInbox' => DI::baseUrl() . '/inbox']; - $data['icon'] = ['type' => 'Image', 'url' => Contact::getAvatarUrlForId($owner['id'], '', $owner['updated'])]; + $data['icon'] = ['type' => 'Image', 'url' => User::getAvatarUrlForId($uid)]; $resourceid = Photo::ridFromURI($owner['photo']); if (!empty($resourceid)) { diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 4ccd259f21..0d30614c71 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -449,7 +449,7 @@ class DFRN $attributes = ["rel" => "photo", "type" => "image/jpeg", "media:width" => Proxy::PIXEL_SMALL, "media:height" => Proxy::PIXEL_SMALL, - "href" => Contact::getAvatarUrlForId($owner['id'], Proxy::SIZE_SMALL, $owner['updated'])]; + "href" => User::getAvatarUrlForId($owner['uid'], Proxy::SIZE_SMALL)]; if (!$public || !$hide) { $attributes["dfrn:updated"] = $picdate; diff --git a/src/Protocol/Feed.php b/src/Protocol/Feed.php index 07fa04518a..06e70dba9b 100644 --- a/src/Protocol/Feed.php +++ b/src/Protocol/Feed.php @@ -965,7 +965,7 @@ class Feed XML::addElement($doc, $root, "id", DI::baseUrl() . "/profile/" . $owner["nick"]); XML::addElement($doc, $root, "title", $title); XML::addElement($doc, $root, "subtitle", sprintf("Updates from %s on %s", $owner["name"], DI::config()->get('config', 'sitename'))); - XML::addElement($doc, $root, "logo", Contact::getAvatarUrlForId($owner['id'], Proxy::SIZE_SMALL, $owner['updated'])); + XML::addElement($doc, $root, "logo", User::getAvatarUrlForId($owner['uid'], Proxy::SIZE_SMALL)); XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM)); $author = self::addAuthor($doc, $owner); diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index 2404db2df9..1c857091de 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -1275,7 +1275,7 @@ class OStatus XML::addElement($doc, $root, "id", DI::baseUrl() . "/profile/" . $owner["nick"]); XML::addElement($doc, $root, "title", $title); XML::addElement($doc, $root, "subtitle", sprintf("Updates from %s on %s", $owner["name"], DI::config()->get('config', 'sitename'))); - XML::addElement($doc, $root, "logo", Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_SMALL, $owner['updated'])); + XML::addElement($doc, $root, "logo", User::getAvatarUrlForId($owner['uid'], ProxyUtils::SIZE_SMALL)); XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM)); $author = self::addAuthor($doc, $owner, true); @@ -1432,7 +1432,7 @@ class OStatus "type" => "image/jpeg", // To-Do? "media:width" => ProxyUtils::PIXEL_SMALL, "media:height" => ProxyUtils::PIXEL_SMALL, - "href" => Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_SMALL, $owner['updated'])]; + "href" => User::getAvatarUrlForId($owner['uid'], ProxyUtils::SIZE_SMALL)]; XML::addElement($doc, $author, "link", "", $attributes); if (isset($owner["thumb"])) { @@ -1441,7 +1441,7 @@ class OStatus "type" => "image/jpeg", // To-Do? "media:width" => ProxyUtils::PIXEL_THUMB, "media:height" => ProxyUtils::PIXEL_THUMB, - "href" => Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_THUMB, $owner['updated'])]; + "href" => User::getAvatarUrlForId($owner['uid'], ProxyUtils::SIZE_THUMB)]; XML::addElement($doc, $author, "link", "", $attributes); } From 21a3388096cbffae6c2eeaa9b7c7840a05adc0a9 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 18 Sep 2021 07:28:29 +0000 Subject: [PATCH 18/25] Issue 9871: Deletion og photos is now possible again --- mod/photos.php | 2 ++ view/theme/frio/templates/confirm.tpl | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mod/photos.php b/mod/photos.php index bd56fbbc6a..1c9e85be8c 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1025,6 +1025,7 @@ function photos_content(App $a) '$confirm' => DI::l10n()->t('Delete Album'), '$confirm_url' => $drop_url, '$confirm_name' => 'dropalbum', + '$confirm_value' => 'dropalbum', '$cancel' => DI::l10n()->t('Cancel'), ]); } @@ -1131,6 +1132,7 @@ function photos_content(App $a) '$confirm' => DI::l10n()->t('Delete Photo'), '$confirm_url' => $drop_url, '$confirm_name' => 'delete', + '$confirm_value' => 'delete', '$cancel' => DI::l10n()->t('Cancel'), ]); } diff --git a/view/theme/frio/templates/confirm.tpl b/view/theme/frio/templates/confirm.tpl index 3f8c0c3268..4a527704f3 100644 --- a/view/theme/frio/templates/confirm.tpl +++ b/view/theme/frio/templates/confirm.tpl @@ -3,7 +3,7 @@
    {{$message}}
    - - + +
    From 56a143c5c6179d4728da1a16c21e4c9b50e8a5e2 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 18 Sep 2021 07:32:05 +0000 Subject: [PATCH 19/25] Duplicated "value" removed --- view/theme/frio/templates/confirm.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/theme/frio/templates/confirm.tpl b/view/theme/frio/templates/confirm.tpl index 4a527704f3..5e173d68cd 100644 --- a/view/theme/frio/templates/confirm.tpl +++ b/view/theme/frio/templates/confirm.tpl @@ -3,7 +3,7 @@
    {{$message}}
    - +
    From 644f31289625065d0a492b59fc3d0c5dce4ca478 Mon Sep 17 00:00:00 2001 From: Philipp Date: Mon, 13 Sep 2021 20:22:55 +0200 Subject: [PATCH 20/25] Fix various Notices --- src/Model/Contact.php | 8 +++++--- src/Model/Item.php | 4 ++-- src/Module/Contact.php | 2 +- src/Protocol/ActivityPub/Processor.php | 2 +- src/Protocol/DFRN.php | 2 +- src/Protocol/Diaspora.php | 2 +- src/Protocol/OStatus.php | 2 +- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 93e745456a..51d162ae22 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -2757,12 +2757,14 @@ class Contact return null; } - public static function removeFollower($importer, $contact) + public static function removeFollower(array $contact) { - if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING)) { + if (!empty($contact['rel']) && (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING))) { DBA::update('contact', ['rel' => self::SHARING], ['id' => $contact['id']]); - } else { + } elseif (!empty($contact['id'])) { self::remove($contact['id']); + } else { + DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact]); } } diff --git a/src/Model/Item.php b/src/Model/Item.php index 8327252abc..992c8d4710 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2292,9 +2292,9 @@ class Item continue; } elseif (!$expire_starred && intval($item['starred'])) { continue; - } elseif (!$expire_notes && ($item['post-type'] == self::PT_PERSONAL_NOTE)) { + } elseif (!$expire_notes && (($item['post-type'] ?? null) == self::PT_PERSONAL_NOTE)) { continue; - } elseif (!$expire_items && ($item['post-type'] != self::PT_PERSONAL_NOTE)) { + } elseif (!$expire_items && (($item['post-type'] ?? null) != self::PT_PERSONAL_NOTE)) { continue; } diff --git a/src/Module/Contact.php b/src/Module/Contact.php index ceb2b6757c..0260e90f1f 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -293,7 +293,7 @@ class Contact extends BaseModule $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]); // Don't display contacts that are about to be deleted - if ($contact['network'] == Protocol::PHANTOM) { + if (DBA::isResult($contact) && !empty($contact['network']) && $contact['network'] == Protocol::PHANTOM) { $contact = false; } } diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index 47a5300352..1fe527f407 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -1102,7 +1102,7 @@ class Processor return; } - Contact::removeFollower($owner, $contact); + Contact::removeFollower($contact); Logger::info('Undo following request', ['contact' => $cid, 'user' => $uid]); } diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 4ccd259f21..6797608e61 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -1584,7 +1584,7 @@ class DFRN } if ($activity->match($item["verb"], Activity::UNFOLLOW)) { Logger::log("Lost follower"); - Contact::removeFollower($importer, $contact, $item); + Contact::removeFollower($contact); return false; } if ($activity->match($item["verb"], Activity::REQ_FRIEND)) { diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 48d7a3371c..8ab89d950f 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -2211,7 +2211,7 @@ class Diaspora return true; } else { Logger::log("Author ".$author." doesn't want to follow us anymore.", Logger::DEBUG); - Contact::removeFollower($importer, $contact); + Contact::removeFollower($contact); return true; } } diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index 2404db2df9..4f16f40f11 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -471,7 +471,7 @@ class OStatus if ($item["verb"] == Activity::O_UNFOLLOW) { $dummy = null; - Contact::removeFollower($importer, $contact, $item, $dummy); + Contact::removeFollower($contact); continue; } From 89a085a12c031721de1a5ab4f757d94ada590f63 Mon Sep 17 00:00:00 2001 From: Philipp Date: Mon, 13 Sep 2021 20:31:14 +0200 Subject: [PATCH 21/25] Check DBA::count() result --- src/Database/Database.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index 361a3248d9..c11e04936b 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -1461,8 +1461,13 @@ class Database $row = $this->fetchFirst($sql, $condition); - // Ensure to always return either a "null" or a numeric value - return is_numeric($row['count']) ? (int)$row['count'] : $row['count']; + if (empty($row['count'])) { + $this->logger->notice('Invalid count.', ['table' => $table, 'expression' => $expression, 'condition' => $condition_string]); + return 0; + } else { + // Ensure to always return either a "null" or a numeric value + return is_numeric($row['count']) ? (int)$row['count'] : $row['count']; + } } /** From 462f76352ef017a30c76a397a7e15c621d1c2e3b Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 15 Sep 2021 00:31:33 +0200 Subject: [PATCH 22/25] Add feedback :-) --- src/Database/Database.php | 4 ++-- src/Model/Contact.php | 2 +- src/Model/Item.php | 6 +++--- src/Module/Contact.php | 14 ++++++++++---- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index c11e04936b..e4a4a0f571 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -1461,8 +1461,8 @@ class Database $row = $this->fetchFirst($sql, $condition); - if (empty($row['count'])) { - $this->logger->notice('Invalid count.', ['table' => $table, 'expression' => $expression, 'condition' => $condition_string]); + if (!isset($row['count'])) { + $this->logger->notice('Invalid count.', ['table' => $table, 'expression' => $expression, 'condition' => $condition_string, 'callstack' => System::callstack()]); return 0; } else { // Ensure to always return either a "null" or a numeric value diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 51d162ae22..7f72b38d61 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -2759,7 +2759,7 @@ class Contact public static function removeFollower(array $contact) { - if (!empty($contact['rel']) && (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING))) { + if (in_array($contact['rel'] ?? [], [self::FRIEND, self::SHARING])) { DBA::update('contact', ['rel' => self::SHARING], ['id' => $contact['id']]); } elseif (!empty($contact['id'])) { self::remove($contact['id']); diff --git a/src/Model/Item.php b/src/Model/Item.php index 992c8d4710..83cbcbb01a 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2259,7 +2259,7 @@ class Item $condition[0] .= " AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY"; $condition[] = $days; - $items = Post::select(['resource-id', 'starred', 'id', 'post-type', 'uid', 'uri-id'], $condition); + $items = Post::select(['resource-id', 'starred', 'id', 'post-type', 'uid', 'uri-id', 'post-type'], $condition); if (!DBA::isResult($items)) { return; @@ -2292,9 +2292,9 @@ class Item continue; } elseif (!$expire_starred && intval($item['starred'])) { continue; - } elseif (!$expire_notes && (($item['post-type'] ?? null) == self::PT_PERSONAL_NOTE)) { + } elseif (!$expire_notes && ($item['post-type'] == self::PT_PERSONAL_NOTE)) { continue; - } elseif (!$expire_items && (($item['post-type'] ?? null) != self::PT_PERSONAL_NOTE)) { + } elseif (!$expire_items && ($item['post-type'] != self::PT_PERSONAL_NOTE)) { continue; } diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 0260e90f1f..7d323c7a3e 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -290,11 +290,17 @@ class Contact extends BaseModule $contact_id = $data['user']; } - $contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]); + if (empty($data)) { + $contact = DBA::selectFirst('contact', [], [ + 'id' => $contact_id, + 'uid' => [0, local_user()], + 'deleted' => false + ]); - // Don't display contacts that are about to be deleted - if (DBA::isResult($contact) && !empty($contact['network']) && $contact['network'] == Protocol::PHANTOM) { - $contact = false; + // Don't display contacts that are about to be deleted + if (DBA::isResult($contact) && !empty($contact['network']) && $contact['network'] == Protocol::PHANTOM) { + $contact = false; + } } } From 6893e2c3f7f80e13b7f7126dc6e65d073b4652bb Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 15 Sep 2021 08:48:41 +0200 Subject: [PATCH 23/25] Add feedback / revert fix for $item['post-type'] --- src/Database/Database.php | 3 +-- src/Model/Item.php | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index e4a4a0f571..a93d4e610b 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -1465,8 +1465,7 @@ class Database $this->logger->notice('Invalid count.', ['table' => $table, 'expression' => $expression, 'condition' => $condition_string, 'callstack' => System::callstack()]); return 0; } else { - // Ensure to always return either a "null" or a numeric value - return is_numeric($row['count']) ? (int)$row['count'] : $row['count']; + return (int)$row['count']; } } diff --git a/src/Model/Item.php b/src/Model/Item.php index 83cbcbb01a..8327252abc 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2259,7 +2259,7 @@ class Item $condition[0] .= " AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY"; $condition[] = $days; - $items = Post::select(['resource-id', 'starred', 'id', 'post-type', 'uid', 'uri-id', 'post-type'], $condition); + $items = Post::select(['resource-id', 'starred', 'id', 'post-type', 'uid', 'uri-id'], $condition); if (!DBA::isResult($items)) { return; From fd22906d70e409f724eda03e6b44a92c492d3b5e Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 15 Sep 2021 08:51:26 +0200 Subject: [PATCH 24/25] Add feedback --- src/Model/Contact.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 7f72b38d61..3a214d00be 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -2764,7 +2764,7 @@ class Contact } elseif (!empty($contact['id'])) { self::remove($contact['id']); } else { - DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact]); + DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact, 'callstack' => System::callstack()]); } } From c00da77c677c0b5d3d9c3391365530e41a4dad7c Mon Sep 17 00:00:00 2001 From: Philipp Date: Sat, 18 Sep 2021 12:55:17 +0200 Subject: [PATCH 25/25] Add feedback --- src/Database/Database.php | 2 +- src/Module/Contact.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index a93d4e610b..28283b1c81 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -1462,7 +1462,7 @@ class Database $row = $this->fetchFirst($sql, $condition); if (!isset($row['count'])) { - $this->logger->notice('Invalid count.', ['table' => $table, 'expression' => $expression, 'condition' => $condition_string, 'callstack' => System::callstack()]); + $this->logger->notice('Invalid count.', ['table' => $table, 'row' => $row, 'expression' => $expression, 'condition' => $condition_string, 'callstack' => System::callstack()]); return 0; } else { return (int)$row['count']; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 7d323c7a3e..281e690086 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -290,7 +290,7 @@ class Contact extends BaseModule $contact_id = $data['user']; } - if (empty($data)) { + if (!empty($data)) { $contact = DBA::selectFirst('contact', [], [ 'id' => $contact_id, 'uid' => [0, local_user()],