Merge pull request #12243 from annando/remote-self
No more automated posts via mod/item.php
This commit is contained in:
commit
c356c962f1
7 changed files with 131 additions and 148 deletions
31
mod/item.php
31
mod/item.php
|
@ -77,8 +77,6 @@ function item_post(App $a) {
|
|||
|
||||
Logger::debug('postvars', ['_REQUEST' => $_REQUEST]);
|
||||
|
||||
$api_source = $_REQUEST['api_source'] ?? false;
|
||||
|
||||
$return_path = $_REQUEST['return'] ?? '';
|
||||
$preview = intval($_REQUEST['preview'] ?? 0);
|
||||
|
||||
|
@ -90,7 +88,7 @@ function item_post(App $a) {
|
|||
if (!$preview && !empty($_REQUEST['post_id_random'])) {
|
||||
if (!empty($_SESSION['post-random']) && $_SESSION['post-random'] == $_REQUEST['post_id_random']) {
|
||||
Logger::warning('duplicate post');
|
||||
item_post_return(DI::baseUrl(), $api_source, $return_path);
|
||||
item_post_return(DI::baseUrl(), $return_path);
|
||||
} else {
|
||||
$_SESSION['post-random'] = $_REQUEST['post_id_random'];
|
||||
}
|
||||
|
@ -106,7 +104,7 @@ function item_post(App $a) {
|
|||
$toplevel_user_id = null;
|
||||
|
||||
$objecttype = null;
|
||||
$profile_uid = ($_REQUEST['profile_uid'] ?? 0) ?: DI::userSession()->getLocalUserId();
|
||||
$profile_uid = DI::userSession()->getLocalUserId();
|
||||
$posttype = ($_REQUEST['post_type'] ?? '') ?: Item::PT_ARTICLE;
|
||||
|
||||
if ($parent_item_id || $thr_parent_uri) {
|
||||
|
@ -177,7 +175,7 @@ function item_post(App $a) {
|
|||
|
||||
// Now check that valid personal details have been provided
|
||||
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
|
||||
Logger::warning('Permission denied.', ['local' => DI::userSession()->getLocalUserId(), 'profile_uid' => $profile_uid, 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
|
||||
Logger::warning('Permission denied.', ['local' => DI::userSession()->getLocalUserId(), 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
|
@ -322,13 +320,6 @@ function item_post(App $a) {
|
|||
|
||||
$pubmail_enabled = ($_REQUEST['pubmail_enable'] ?? false) && !$private;
|
||||
|
||||
// if using the API, we won't see pubmail_enable - figure out if it should be set
|
||||
if ($api_source && $profile_uid && $profile_uid == DI::userSession()->getLocalUserId() && !$private) {
|
||||
if (function_exists('imap_open') && !DI::config()->get('system', 'imap_disabled')) {
|
||||
$pubmail_enabled = DBA::exists('mailacct', ["`uid` = ? AND `server` != ? AND `pubmail`", DI::userSession()->getLocalUserId(), '']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!strlen($body)) {
|
||||
if ($preview) {
|
||||
System::jsonExit(['preview' => '']);
|
||||
|
@ -579,7 +570,7 @@ function item_post(App $a) {
|
|||
'parent' => $toplevel_item_id,
|
||||
'self' => $self,
|
||||
// This triggers posts via API and the mirror functions
|
||||
'api_source' => $api_source,
|
||||
'api_source' => false,
|
||||
// This field is for storing the raw conversation data
|
||||
'protocol' => Conversation::PARCEL_DIRECT,
|
||||
'direction' => Conversation::PUSH,
|
||||
|
@ -634,7 +625,7 @@ function item_post(App $a) {
|
|||
unset($datarray['api_source']);
|
||||
|
||||
Post\Delayed::add($datarray['uri'], $datarray, Worker::PRIORITY_HIGH, Post\Delayed::PREPARED_NO_HOOK, $scheduled_at);
|
||||
item_post_return(DI::baseUrl(), $api_source, $return_path);
|
||||
item_post_return(DI::baseUrl(), $return_path);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -755,20 +746,12 @@ function item_post(App $a) {
|
|||
|
||||
Logger::debug('post_complete');
|
||||
|
||||
if ($api_source) {
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
item_post_return(DI::baseUrl(), $api_source, $return_path);
|
||||
item_post_return(DI::baseUrl(), $return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
function item_post_return($baseurl, $api_source, $return_path)
|
||||
function item_post_return($baseurl, $return_path)
|
||||
{
|
||||
if ($api_source) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
|
@ -119,7 +119,6 @@ function oexchange_content(App $a)
|
|||
|
||||
$post = [];
|
||||
|
||||
$post['profile_uid'] = DI::userSession()->getLocalUserId();
|
||||
$post['return'] = '/oexchange/done';
|
||||
$post['body'] = HTML::toBBCode($s);
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ class Contact
|
|||
*/
|
||||
|
||||
const MIRROR_DEACTIVATED = 0;
|
||||
const MIRROR_FORWARDED = 1;
|
||||
const MIRROR_FORWARDED = 1; // Deprecated, now does the same like MIRROR_OWN_POST
|
||||
const MIRROR_OWN_POST = 2;
|
||||
const MIRROR_NATIVE_RESHARE = 3;
|
||||
|
||||
|
|
|
@ -815,6 +815,49 @@ class Item
|
|||
return self::GRAVITY_UNKNOWN; // Should not happen
|
||||
}
|
||||
|
||||
private static function prepareOriginPost(array $item): array
|
||||
{
|
||||
$item['wall'] = 1;
|
||||
$item['origin'] = 1;
|
||||
$item['network'] = Protocol::DFRN;
|
||||
$item['protocol'] = Conversation::PARCEL_DIRECT;
|
||||
$item['direction'] = Conversation::PUSH;
|
||||
|
||||
$owner = User::getOwnerDataById($item['uid']);
|
||||
|
||||
if (empty($item['contact-id'])) {
|
||||
$item['contact-id'] = $owner['id'];
|
||||
}
|
||||
|
||||
if (empty($item['author-link']) && empty($item['author-id'])) {
|
||||
$item['author-link'] = $owner['url'];
|
||||
$item['author-name'] = $owner['name'];
|
||||
$item['author-avatar'] = $owner['thumb'];
|
||||
}
|
||||
|
||||
if (empty($item['owner-link']) && empty($item['owner-id'])) {
|
||||
$item['owner-link'] = $item['author-link'];
|
||||
$item['owner-name'] = $item['author-name'];
|
||||
$item['owner-avatar'] = $item['author-avatar'];
|
||||
}
|
||||
|
||||
// Setting the object type if not defined before
|
||||
if (empty($item['object-type'])) {
|
||||
$item['object-type'] = Activity\ObjectType::NOTE; // Default value
|
||||
$objectdata = BBCode::getAttachedData($item['body']);
|
||||
|
||||
if ($objectdata['type'] == 'link') {
|
||||
$item['object-type'] = Activity\ObjectType::BOOKMARK;
|
||||
} elseif ($objectdata['type'] == 'video') {
|
||||
$item['object-type'] = Activity\ObjectType::VIDEO;
|
||||
} elseif ($objectdata['type'] == 'photo') {
|
||||
$item['object-type'] = Activity\ObjectType::IMAGE;
|
||||
}
|
||||
}
|
||||
|
||||
return $item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts item record
|
||||
*
|
||||
|
@ -831,11 +874,7 @@ class Item
|
|||
|
||||
// If it is a posting where users should get notifications, then define it as wall posting
|
||||
if ($notify) {
|
||||
$item['wall'] = 1;
|
||||
$item['origin'] = 1;
|
||||
$item['network'] = Protocol::DFRN;
|
||||
$item['protocol'] = Conversation::PARCEL_DIRECT;
|
||||
$item['direction'] = Conversation::PUSH;
|
||||
$item = self::prepareOriginPost($item);
|
||||
|
||||
if (is_int($notify) && in_array($notify, Worker::PRIORITIES)) {
|
||||
$priority = $notify;
|
||||
|
@ -993,6 +1032,7 @@ class Item
|
|||
$item['parent-uri'] = $toplevel_parent['uri'];
|
||||
$item['parent-uri-id'] = $toplevel_parent['uri-id'];
|
||||
$item['deleted'] = $toplevel_parent['deleted'];
|
||||
$item['wall'] = $toplevel_parent['wall'];
|
||||
|
||||
// Reshares have to keep their permissions to allow forums to work
|
||||
if (!$item['origin'] || ($item['verb'] != Activity::ANNOUNCE)) {
|
||||
|
@ -2974,7 +3014,7 @@ class Item
|
|||
$quote_uri_id = $shared['post']['uri-id'];
|
||||
$shared_links[] = strtolower($shared['post']['uri']);
|
||||
$item['body'] = BBCode::removeSharedData($item['body']);
|
||||
} elseif (empty($shared_item['uri-id']) && empty($item['quote-uri-id'])) {
|
||||
} elseif (empty($shared_item['uri-id']) && empty($item['quote-uri-id']) && ($item['network'] != Protocol::DIASPORA)) {
|
||||
$media = Post\Media::getByURIId($item['uri-id'], [Post\Media::ACTIVITY]);
|
||||
if (!empty($media)) {
|
||||
$shared_item = Post::selectFirst($fields, ['plink' => $media[0]['url'], 'uid' => [$item['uid'], 0]]);
|
||||
|
|
|
@ -38,12 +38,6 @@ class Delayed
|
|||
* This is used for automated scheduled posts via feeds or from the API.
|
||||
*/
|
||||
const PREPARED = 0;
|
||||
/**
|
||||
* The content is posted like a manual post. Means some processing of body will be done.
|
||||
* Also it is posted with default permissions and default connector settings.
|
||||
* This is used for mirrored connector posts.
|
||||
*/
|
||||
const UNPREPARED = 1;
|
||||
/**
|
||||
* Like PREPARED, but additionally the connector settings can differ.
|
||||
* This is used when manually publishing scheduled posts.
|
||||
|
@ -199,34 +193,6 @@ class Delayed
|
|||
$item['attachments'] = $attachments;
|
||||
}
|
||||
|
||||
if ($preparation_mode == self::UNPREPARED) {
|
||||
$_SESSION['authenticated'] = true;
|
||||
$_SESSION['uid'] = $item['uid'];
|
||||
|
||||
$_REQUEST = $item;
|
||||
$_REQUEST['api_source'] = true;
|
||||
$_REQUEST['profile_uid'] = $item['uid'];
|
||||
$_REQUEST['title'] = $item['title'] ?? '';
|
||||
|
||||
if (!empty($item['app'])) {
|
||||
$_REQUEST['source'] = $item['app'];
|
||||
}
|
||||
|
||||
require_once 'mod/item.php';
|
||||
$id = item_post(DI::app());
|
||||
|
||||
if (empty($uri) && !empty($item['extid'])) {
|
||||
$uri = $item['extid'];
|
||||
}
|
||||
|
||||
Logger::notice('Unprepared post stored', ['id' => $id, 'uid' => $item['uid'], 'uri' => $uri]);
|
||||
if (self::exists($uri, $item['uid'])) {
|
||||
self::delete($uri, $item['uid']);
|
||||
}
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
$id = Item::insert($item, $notify, $preparation_mode == self::PREPARED);
|
||||
|
||||
Logger::notice('Post stored', ['id' => $id, 'uid' => $item['uid'], 'cid' => $item['contact-id']]);
|
||||
|
|
|
@ -285,7 +285,6 @@ class Profile extends BaseModule
|
|||
if ($contact['network'] == Protocol::FEED) {
|
||||
$remote_self_options = [
|
||||
Contact::MIRROR_DEACTIVATED => $this->t('No mirroring'),
|
||||
Contact::MIRROR_FORWARDED => $this->t('Mirror as forwarded posting'),
|
||||
Contact::MIRROR_OWN_POST => $this->t('Mirror as my own posting')
|
||||
];
|
||||
} elseif ($contact['network'] == Protocol::ACTIVITYPUB) {
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 2022.12-dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-11-20 17:22-0500\n"
|
||||
"POT-Creation-Date: 2022-11-23 14:15+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -41,11 +41,11 @@ msgstr ""
|
|||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:131 mod/item.php:135
|
||||
#: mod/item.php:129 mod/item.php:133
|
||||
msgid "Unable to locate original post."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:181 mod/item.php:186 mod/item.php:870 mod/message.php:69
|
||||
#: mod/item.php:179 mod/item.php:184 mod/item.php:853 mod/message.php:69
|
||||
#: mod/message.php:114 mod/notes.php:44 mod/photos.php:159 mod/photos.php:884
|
||||
#: src/Module/Attach.php:56 src/Module/BaseApi.php:94
|
||||
#: src/Module/BaseNotifications.php:98 src/Module/BaseSettings.php:52
|
||||
|
@ -84,23 +84,23 @@ msgstr ""
|
|||
msgid "Permission denied."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:337 mod/item.php:342
|
||||
#: mod/item.php:328 mod/item.php:333
|
||||
msgid "Empty post discarded."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:680
|
||||
#: mod/item.php:671
|
||||
msgid "Post updated."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:690 mod/item.php:695
|
||||
#: mod/item.php:681 mod/item.php:686
|
||||
msgid "Item wasn't stored."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:706
|
||||
#: mod/item.php:697
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:846 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:829 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:42
|
||||
#: src/Module/Debug/ItemBody.php:57 src/Module/Item/Feed.php:80
|
||||
msgid "Item not found."
|
||||
|
@ -327,7 +327,7 @@ msgstr ""
|
|||
#: mod/photos.php:1018 mod/photos.php:1290 mod/photos.php:1331
|
||||
#: mod/photos.php:1387 mod/photos.php:1461
|
||||
#: src/Module/Calendar/Event/Form.php:250 src/Module/Contact/Advanced.php:132
|
||||
#: src/Module/Contact/Profile.php:328
|
||||
#: src/Module/Contact/Profile.php:327
|
||||
#: src/Module/Debug/ActivityPubConversion.php:140
|
||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||
#: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51
|
||||
|
@ -1554,7 +1554,7 @@ msgstr ""
|
|||
msgid "show more"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:294 src/Model/Item.php:2871
|
||||
#: src/Content/Item.php:294 src/Model/Item.php:2911
|
||||
msgid "event"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1563,7 +1563,7 @@ msgstr ""
|
|||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:303 src/Model/Item.php:2873
|
||||
#: src/Content/Item.php:303 src/Model/Item.php:2913
|
||||
#: src/Module/Post/Tag/Add.php:123
|
||||
msgid "photo"
|
||||
msgstr ""
|
||||
|
@ -1606,7 +1606,7 @@ msgid "Send PM"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:393 src/Module/Contact.php:401
|
||||
#: src/Module/Contact/Profile.php:349 src/Module/Contact/Profile.php:468
|
||||
#: src/Module/Contact/Profile.php:348 src/Module/Contact/Profile.php:467
|
||||
#: src/Module/Moderation/Blocklist/Contact.php:116
|
||||
#: src/Module/Moderation/Users/Active.php:137
|
||||
#: src/Module/Moderation/Users/Index.php:152
|
||||
|
@ -1614,7 +1614,7 @@ msgid "Block"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:394 src/Module/Contact.php:402
|
||||
#: src/Module/Contact/Profile.php:350 src/Module/Contact/Profile.php:476
|
||||
#: src/Module/Contact/Profile.php:349 src/Module/Contact/Profile.php:475
|
||||
#: src/Module/Notifications/Introductions.php:134
|
||||
#: src/Module/Notifications/Introductions.php:206
|
||||
#: src/Module/Notifications/Notification.php:89
|
||||
|
@ -1665,7 +1665,7 @@ msgid "Sign in"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:193 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:436 src/Module/Contact/Profile.php:381
|
||||
#: src/Module/Contact.php:436 src/Module/Contact/Profile.php:380
|
||||
#: src/Module/Settings/TwoFactor/Index.php:119 view/theme/frio/theme.php:237
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
@ -1677,7 +1677,7 @@ msgstr ""
|
|||
|
||||
#: src/Content/Nav.php:194 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:100 src/Module/Contact.php:460
|
||||
#: src/Module/Contact/Profile.php:383 src/Module/Profile/Profile.php:240
|
||||
#: src/Module/Contact/Profile.php:382 src/Module/Profile/Profile.php:240
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:238
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
@ -1953,8 +1953,8 @@ msgid ""
|
|||
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1245 src/Model/Item.php:3493
|
||||
#: src/Model/Item.php:3499 src/Model/Item.php:3500
|
||||
#: src/Content/Text/BBCode.php:1245 src/Model/Item.php:3533
|
||||
#: src/Model/Item.php:3539 src/Model/Item.php:3540
|
||||
msgid "Link to source"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1987,7 +1987,7 @@ msgid "The end"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Text/HTML.php:882 src/Content/Widget/VCard.php:109
|
||||
#: src/Model/Profile.php:459 src/Module/Contact/Profile.php:428
|
||||
#: src/Model/Profile.php:459 src/Module/Contact/Profile.php:427
|
||||
msgid "Follow"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2173,19 +2173,19 @@ msgid "More Trending Tags"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Widget/VCard.php:102 src/Model/Profile.php:378
|
||||
#: src/Module/Contact/Profile.php:372 src/Module/Profile/Profile.php:175
|
||||
#: src/Module/Contact/Profile.php:371 src/Module/Profile/Profile.php:175
|
||||
msgid "XMPP:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget/VCard.php:103 src/Model/Profile.php:379
|
||||
#: src/Module/Contact/Profile.php:374 src/Module/Profile/Profile.php:179
|
||||
#: src/Module/Contact/Profile.php:373 src/Module/Profile/Profile.php:179
|
||||
msgid "Matrix:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget/VCard.php:104 src/Model/Event.php:82
|
||||
#: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:992
|
||||
#: src/Model/Profile.php:373 src/Module/Calendar/Event/Form.php:239
|
||||
#: src/Module/Contact/Profile.php:370 src/Module/Directory.php:147
|
||||
#: src/Module/Contact/Profile.php:369 src/Module/Directory.php:147
|
||||
#: src/Module/Notifications/Introductions.php:187
|
||||
#: src/Module/Profile/Profile.php:193
|
||||
msgid "Location:"
|
||||
|
@ -2198,7 +2198,7 @@ msgstr ""
|
|||
|
||||
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1193
|
||||
#: src/Model/Contact.php:1204 src/Model/Profile.php:461
|
||||
#: src/Module/Contact/Profile.php:420
|
||||
#: src/Module/Contact/Profile.php:419
|
||||
msgid "Unfollow"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3113,66 +3113,66 @@ msgstr ""
|
|||
msgid "Edit groups"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:1983
|
||||
#: src/Model/Item.php:2023
|
||||
#, php-format
|
||||
msgid "Detected languages in this post:\\n%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2875
|
||||
#: src/Model/Item.php:2915
|
||||
msgid "activity"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2877
|
||||
#: src/Model/Item.php:2917
|
||||
msgid "comment"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2880
|
||||
#: src/Model/Item.php:2920
|
||||
msgid "post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3021
|
||||
#: src/Model/Item.php:3061
|
||||
#, php-format
|
||||
msgid "Content warning: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3405
|
||||
#: src/Model/Item.php:3445
|
||||
msgid "bytes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3436
|
||||
#: src/Model/Item.php:3476
|
||||
#, php-format
|
||||
msgid "%2$s (%3$d%%, %1$d vote)"
|
||||
msgid_plural "%2$s (%3$d%%, %1$d votes)"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3438
|
||||
#: src/Model/Item.php:3478
|
||||
#, php-format
|
||||
msgid "%2$s (%1$d vote)"
|
||||
msgid_plural "%2$s (%1$d votes)"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3443
|
||||
#: src/Model/Item.php:3483
|
||||
#, php-format
|
||||
msgid "%d voter. Poll end: %s"
|
||||
msgid_plural "%d voters. Poll end: %s"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3445
|
||||
#: src/Model/Item.php:3485
|
||||
#, php-format
|
||||
msgid "%d voter."
|
||||
msgid_plural "%d voters."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3447
|
||||
#: src/Model/Item.php:3487
|
||||
#, php-format
|
||||
msgid "Poll end: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3481 src/Model/Item.php:3482
|
||||
#: src/Model/Item.php:3521 src/Model/Item.php:3522
|
||||
msgid "View on separate page"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3198,7 +3198,7 @@ msgstr ""
|
|||
msgid "Homepage:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Profile.php:377 src/Module/Contact/Profile.php:376
|
||||
#: src/Model/Profile.php:377 src/Module/Contact/Profile.php:375
|
||||
#: src/Module/Notifications/Introductions.php:189
|
||||
msgid "About:"
|
||||
msgstr ""
|
||||
|
@ -5656,16 +5656,16 @@ msgstr ""
|
|||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact/Profile.php:468
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:467
|
||||
#: src/Module/Moderation/Blocklist/Contact.php:117
|
||||
#: src/Module/Moderation/Users/Blocked.php:138
|
||||
#: src/Module/Moderation/Users/Index.php:154
|
||||
msgid "Unblock"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:402 src/Module/Contact/Profile.php:350
|
||||
#: src/Module/Contact/Profile.php:476
|
||||
#: src/Module/Contact.php:402 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact/Profile.php:475
|
||||
msgid "Unignore"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5713,7 +5713,7 @@ msgstr ""
|
|||
msgid "Pending incoming contact request"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:555 src/Module/Contact/Profile.php:335
|
||||
#: src/Module/Contact.php:555 src/Module/Contact/Profile.php:334
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr ""
|
||||
|
@ -5866,7 +5866,7 @@ msgstr ""
|
|||
msgid "Your Identity Address:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:366
|
||||
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:365
|
||||
#: src/Module/Contact/Unfollow.php:129
|
||||
#: src/Module/Moderation/Blocklist/Contact.php:133
|
||||
#: src/Module/Notifications/Introductions.php:129
|
||||
|
@ -5874,7 +5874,7 @@ msgstr ""
|
|||
msgid "Profile URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:378
|
||||
#: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:377
|
||||
#: src/Module/Notifications/Introductions.php:191
|
||||
#: src/Module/Profile/Profile.php:206
|
||||
msgid "Tags:"
|
||||
|
@ -5960,7 +5960,7 @@ msgstr ""
|
|||
msgid "(Update was successful)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:255 src/Module/Contact/Profile.php:439
|
||||
#: src/Module/Contact/Profile.php:255 src/Module/Contact/Profile.php:438
|
||||
msgid "Suggest friends"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5996,144 +5996,140 @@ msgstr ""
|
|||
msgid "Fetch information and keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:287 src/Module/Contact/Profile.php:293
|
||||
#: src/Module/Contact/Profile.php:298 src/Module/Contact/Profile.php:304
|
||||
#: src/Module/Contact/Profile.php:287 src/Module/Contact/Profile.php:292
|
||||
#: src/Module/Contact/Profile.php:297 src/Module/Contact/Profile.php:303
|
||||
msgid "No mirroring"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:288
|
||||
msgid "Mirror as forwarded posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:289 src/Module/Contact/Profile.php:299
|
||||
#: src/Module/Contact/Profile.php:305
|
||||
#: src/Module/Contact/Profile.php:288 src/Module/Contact/Profile.php:298
|
||||
#: src/Module/Contact/Profile.php:304
|
||||
msgid "Mirror as my own posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:294 src/Module/Contact/Profile.php:300
|
||||
#: src/Module/Contact/Profile.php:293 src/Module/Contact/Profile.php:299
|
||||
msgid "Native reshare"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:317
|
||||
#: src/Module/Contact/Profile.php:316
|
||||
msgid "Contact Information / Notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:318
|
||||
#: src/Module/Contact/Profile.php:317
|
||||
msgid "Contact Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:326
|
||||
#: src/Module/Contact/Profile.php:325
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:330
|
||||
#: src/Module/Contact/Profile.php:329
|
||||
msgid "Their personal note"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:332
|
||||
#: src/Module/Contact/Profile.php:331
|
||||
msgid "Edit contact notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:336
|
||||
#: src/Module/Contact/Profile.php:335
|
||||
msgid "Block/Unblock contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:337
|
||||
#: src/Module/Contact/Profile.php:336
|
||||
msgid "Ignore contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:338
|
||||
#: src/Module/Contact/Profile.php:337
|
||||
msgid "View conversations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:343
|
||||
#: src/Module/Contact/Profile.php:342
|
||||
msgid "Last update:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:345
|
||||
#: src/Module/Contact/Profile.php:344
|
||||
msgid "Update public posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:347 src/Module/Contact/Profile.php:449
|
||||
#: src/Module/Contact/Profile.php:346 src/Module/Contact/Profile.php:448
|
||||
msgid "Update now"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:354
|
||||
#: src/Module/Contact/Profile.php:353
|
||||
msgid "Currently blocked"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:355
|
||||
#: src/Module/Contact/Profile.php:354
|
||||
msgid "Currently ignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:356
|
||||
#: src/Module/Contact/Profile.php:355
|
||||
msgid "Currently archived"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:357
|
||||
#: src/Module/Contact/Profile.php:356
|
||||
msgid "Awaiting connection acknowledge"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:358
|
||||
#: src/Module/Contact/Profile.php:357
|
||||
#: src/Module/Notifications/Introductions.php:192
|
||||
msgid "Hide this contact from others"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:358
|
||||
#: src/Module/Contact/Profile.php:357
|
||||
msgid ""
|
||||
"Replies/likes to your public posts <strong>may</strong> still be visible"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:359
|
||||
#: src/Module/Contact/Profile.php:358
|
||||
msgid "Notification for new posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:359
|
||||
#: src/Module/Contact/Profile.php:358
|
||||
msgid "Send a notification of every new post of this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:361
|
||||
#: src/Module/Contact/Profile.php:360
|
||||
msgid "Keyword Deny List"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:361
|
||||
#: src/Module/Contact/Profile.php:360
|
||||
msgid ""
|
||||
"Comma separated list of keywords that should not be converted to hashtags, "
|
||||
"when \"Fetch information and keywords\" is selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:379
|
||||
#: src/Module/Contact/Profile.php:378
|
||||
#: src/Module/Settings/TwoFactor/Index.php:139
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:387
|
||||
#: src/Module/Contact/Profile.php:386
|
||||
msgid "Mirror postings from this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:389
|
||||
#: src/Module/Contact/Profile.php:388
|
||||
msgid ""
|
||||
"Mark this contact as remote_self, this will cause friendica to repost new "
|
||||
"entries from this contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:459
|
||||
#: src/Module/Contact/Profile.php:458
|
||||
msgid "Refetch contact data"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:470
|
||||
#: src/Module/Contact/Profile.php:469
|
||||
msgid "Toggle Blocked status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:478
|
||||
#: src/Module/Contact/Profile.php:477
|
||||
msgid "Toggle Ignored status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:485 src/Module/Contact/Revoke.php:106
|
||||
#: src/Module/Contact/Profile.php:484 src/Module/Contact/Revoke.php:106
|
||||
msgid "Revoke Follow"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Profile.php:487
|
||||
#: src/Module/Contact/Profile.php:486
|
||||
msgid "Revoke the follow from this contact"
|
||||
msgstr ""
|
||||
|
||||
|
|
Loading…
Reference in a new issue