Merge pull request #10670 from MrPetovan/bug/10502-contact-block-unblock

Distinguish between public and private contact in contact actions
This commit is contained in:
Michael Vogel 2021-09-06 18:25:54 +02:00 committed by GitHub
commit 0c8c0f7374
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 205 additions and 234 deletions

View file

@ -421,7 +421,7 @@ class DBA
* @param string|array $table Table name or array [schema => table] * @param string|array $table Table name or array [schema => table]
* @param array $fields contains the fields that are updated * @param array $fields contains the fields that are updated
* @param array $condition condition array with the key values * @param array $condition condition array with the key values
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate) * @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
* *
* @return boolean was the update successfull? * @return boolean was the update successfull?
* @throws \Exception * @throws \Exception

View file

@ -1267,7 +1267,7 @@ class Database
* @param string|array $table Table name or array [schema => table] * @param string|array $table Table name or array [schema => table]
* @param array $fields contains the fields that are updated * @param array $fields contains the fields that are updated
* @param array $condition condition array with the key values * @param array $condition condition array with the key values
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate) * @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
* *
* @return boolean was the update successfull? * @return boolean was the update successfull?
* @throws \Exception * @throws \Exception

View file

@ -59,47 +59,45 @@ class Contact extends BaseModule
return; return;
} }
$contacts_id = $_POST['contact_batch']; $orig_records = Model\Contact::selectToArray(['id', 'uid'], ['id' => $_POST['contact_batch'], 'uid' => [0, local_user()], 'self' => false, 'deleted' => false]);
$stmt = DBA::select('contact', ['id', 'archive'], ['id' => $contacts_id, 'uid' => local_user(), 'self' => false, 'deleted' => false]);
$orig_records = DBA::toArray($stmt);
$count_actions = 0; $count_actions = 0;
foreach ($orig_records as $orig_record) { foreach ($orig_records as $orig_record) {
$contact_id = $orig_record['id']; $cdata = Model\Contact::getPublicAndUserContactID($orig_record['id'], local_user());
if (!empty($_POST['contacts_batch_update'])) { if (empty($cdata)) {
self::updateContactFromPoll($contact_id); continue;
}
if (!empty($_POST['contacts_batch_update']) && $cdata['user']) {
self::updateContactFromPoll($cdata['user']);
$count_actions++; $count_actions++;
} }
if (!empty($_POST['contacts_batch_block'])) { if (!empty($_POST['contacts_batch_block'])) {
self::blockContact($contact_id); self::toggleBlockContact($cdata['public']);
$count_actions++; $count_actions++;
} }
if (!empty($_POST['contacts_batch_ignore'])) { if (!empty($_POST['contacts_batch_ignore'])) {
self::ignoreContact($contact_id); self::toggleIgnoreContact($cdata['public']);
$count_actions++; $count_actions++;
} }
if (!empty($_POST['contacts_batch_archive'])
&& self::archiveContact($contact_id, $orig_record) if (!empty($_POST['contacts_batch_drop']) && $cdata['user']
&& self::dropContact($cdata['user'], local_user())
) { ) {
$count_actions++; $count_actions++;
} }
if (!empty($_POST['contacts_batch_drop'])) {
self::dropContact($orig_record);
$count_actions++;
}
} }
if ($count_actions > 0) { if ($count_actions > 0) {
info(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions)); info(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions));
} }
DI::baseUrl()->redirect('contact'); DI::baseUrl()->redirect($_POST['redirect_url'] ?? 'contact');
} }
public static function post(array $parameters = []) public static function post(array $parameters = [])
{ {
$a = DI::app();
if (!local_user()) { if (!local_user()) {
return; return;
} }
@ -160,7 +158,13 @@ class Contact extends BaseModule
/* contact actions */ /* contact actions */
private static function updateContactFromPoll($contact_id) /**
* @param int $contact_id Id of contact with uid != 0
* @throws NotFoundException
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
private static function updateContactFromPoll(int $contact_id)
{ {
$contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]); $contact = DBA::selectFirst('contact', ['uid', 'url', 'network'], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
@ -181,9 +185,14 @@ class Contact extends BaseModule
} }
} }
private static function updateContactFromProbe($contact_id) /**
* @param int $contact_id Id of the contact with uid != 0
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
private static function updateContactFromProbe(int $contact_id)
{ {
$contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]); $contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id, 'uid' => local_user(), 'deleted' => false]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
return; return;
} }
@ -195,10 +204,10 @@ class Contact extends BaseModule
/** /**
* Toggles the blocked status of a contact identified by id. * Toggles the blocked status of a contact identified by id.
* *
* @param $contact_id * @param int $contact_id Id of the contact with uid = 0
* @throws \Exception * @throws \Exception
*/ */
private static function blockContact($contact_id) private static function toggleBlockContact(int $contact_id)
{ {
$blocked = !Model\Contact\User::isBlocked($contact_id, local_user()); $blocked = !Model\Contact\User::isBlocked($contact_id, local_user());
Model\Contact\User::setBlocked($contact_id, local_user(), $blocked); Model\Contact\User::setBlocked($contact_id, local_user(), $blocked);
@ -207,41 +216,38 @@ class Contact extends BaseModule
/** /**
* Toggles the ignored status of a contact identified by id. * Toggles the ignored status of a contact identified by id.
* *
* @param $contact_id * @param int $contact_id Id of the contact with uid = 0
* @throws \Exception * @throws \Exception
*/ */
private static function ignoreContact($contact_id) private static function toggleIgnoreContact(int $contact_id)
{ {
$ignored = !Model\Contact\User::isIgnored($contact_id, local_user()); $ignored = !Model\Contact\User::isIgnored($contact_id, local_user());
Model\Contact\User::setIgnored($contact_id, local_user(), $ignored); Model\Contact\User::setIgnored($contact_id, local_user(), $ignored);
} }
/** /**
* Toggles the archived status of a contact identified by id. * @param int $contact_id Id for contact with uid != 0
* If the current status isn't provided, this will always archive the contact. * @param int $uid Id for user we want to drop the contact for
*
* @param $contact_id
* @param $orig_record
* @return bool * @return bool
* @throws \Exception * @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException
*/ */
private static function archiveContact($contact_id, $orig_record) private static function dropContact(int $contact_id, int $uid): bool
{ {
$archived = empty($orig_record['archive']); $contact = Model\Contact::getContactForUser($contact_id, $uid);
$r = DBA::update('contact', ['archive' => $archived], ['id' => $contact_id, 'uid' => local_user()]); if (!DBA::isResult($contact)) {
return false;
return DBA::isResult($r);
}
private static function dropContact($orig_record)
{
$owner = Model\User::getOwnerDataById(local_user());
if (!DBA::isResult($owner)) {
return;
} }
Model\Contact::terminateFriendship($owner, $orig_record, true); $owner = Model\User::getOwnerDataById($uid);
Model\Contact::remove($orig_record['id']); if (!DBA::isResult($owner)) {
return false;
}
Model\Contact::terminateFriendship($owner, $contact, true);
Model\Contact::remove($contact['id']);
return true;
} }
public static function content(array $parameters = [], $update = 0) public static function content(array $parameters = [], $update = 0)
@ -355,58 +361,52 @@ class Contact extends BaseModule
throw new NotFoundException(DI::l10n()->t('Contact not found')); throw new NotFoundException(DI::l10n()->t('Contact not found'));
} }
if ($cmd === 'update' && ($orig_record['uid'] != 0)) { $cdata = Model\Contact::getPublicAndUserContactID($orig_record['id'], local_user());
self::updateContactFromPoll($contact_id); if (empty($cdata)) {
DI::baseUrl()->redirect('contact/' . $contact_id); throw new NotFoundException(DI::l10n()->t('Contact not found'));
}
if ($cmd === 'update' && $cdata['user']) {
self::updateContactFromPoll($cdata['user']);
DI::baseUrl()->redirect('contact/' . $cdata['public']);
// NOTREACHED // NOTREACHED
} }
if ($cmd === 'updateprofile') { if ($cmd === 'updateprofile' && $cdata['user']) {
self::updateContactFromProbe($contact_id); self::updateContactFromProbe($cdata['user']);
DI::baseUrl()->redirect('contact/' . $contact_id); DI::baseUrl()->redirect('contact/' . $cdata['public']);
// NOTREACHED // NOTREACHED
} }
if ($cmd === 'block') { if ($cmd === 'block') {
if (public_contact() === $contact_id) { if (public_contact() === $cdata['public']) {
throw new BadRequestException(DI::l10n()->t('You can\'t block yourself')); throw new BadRequestException(DI::l10n()->t('You can\'t block yourself'));
} }
self::blockContact($contact_id); self::toggleBlockContact($cdata['public']);
$blocked = Model\Contact\User::isBlocked($contact_id, local_user()); $blocked = Model\Contact\User::isBlocked($contact_id, local_user());
info(($blocked ? DI::l10n()->t('Contact has been blocked') : DI::l10n()->t('Contact has been unblocked'))); info(($blocked ? DI::l10n()->t('Contact has been blocked') : DI::l10n()->t('Contact has been unblocked')));
DI::baseUrl()->redirect('contact/' . $contact_id); DI::baseUrl()->redirect('contact/' . $cdata['public']);
// NOTREACHED // NOTREACHED
} }
if ($cmd === 'ignore') { if ($cmd === 'ignore') {
if (public_contact() === $contact_id) { if (public_contact() === $cdata['public']) {
throw new BadRequestException(DI::l10n()->t('You can\'t ignore yourself')); throw new BadRequestException(DI::l10n()->t('You can\'t ignore yourself'));
} }
self::ignoreContact($contact_id); self::toggleIgnoreContact($cdata['public']);
$ignored = Model\Contact\User::isIgnored($contact_id, local_user()); $ignored = Model\Contact\User::isIgnored($cdata['public'], local_user());
info(($ignored ? DI::l10n()->t('Contact has been ignored') : DI::l10n()->t('Contact has been unignored'))); info(($ignored ? DI::l10n()->t('Contact has been ignored') : DI::l10n()->t('Contact has been unignored')));
DI::baseUrl()->redirect('contact/' . $contact_id); DI::baseUrl()->redirect('contact/' . $cdata['public']);
// NOTREACHED // NOTREACHED
} }
if ($cmd === 'archive' && ($orig_record['uid'] != 0)) { if ($cmd === 'drop' && $cdata['user']) {
$r = self::archiveContact($contact_id, $orig_record);
if ($r) {
$archived = (($orig_record['archive']) ? 0 : 1);
info((($archived) ? DI::l10n()->t('Contact has been archived') : DI::l10n()->t('Contact has been unarchived')));
}
DI::baseUrl()->redirect('contact/' . $contact_id);
// NOTREACHED
}
if ($cmd === 'drop' && ($orig_record['uid'] != 0)) {
// Check if we should do HTML-based delete confirmation // Check if we should do HTML-based delete confirmation
if (!empty($_REQUEST['confirm'])) { if (!empty($_REQUEST['confirm'])) {
DI::page()['aside'] = ''; DI::page()['aside'] = '';
@ -427,8 +427,9 @@ class Contact extends BaseModule
DI::baseUrl()->redirect('contact'); DI::baseUrl()->redirect('contact');
} }
self::dropContact($orig_record); if (self::dropContact($cdata['user'], local_user())) {
info(DI::l10n()->t('Contact has been removed.')); info(DI::l10n()->t('Contact has been removed.'));
}
DI::baseUrl()->redirect('contact'); DI::baseUrl()->redirect('contact');
// NOTREACHED // NOTREACHED
@ -543,7 +544,7 @@ class Contact extends BaseModule
} }
$poll_interval = null; $poll_interval = null;
if ((($contact['network'] == Protocol::FEED) && !DI::config()->get('system', 'adjust_poll_frequency')) || ($contact['network']== Protocol::MAIL)) { if ((($contact['network'] == Protocol::FEED) && !DI::config()->get('system', 'adjust_poll_frequency')) || ($contact['network'] == Protocol::MAIL)) {
$poll_interval = ContactSelector::pollInterval($contact['priority'], !$poll_enabled); $poll_interval = ContactSelector::pollInterval($contact['priority'], !$poll_enabled);
} }
@ -845,7 +846,6 @@ class Contact extends BaseModule
'contacts_batch_update' => DI::l10n()->t('Update'), 'contacts_batch_update' => DI::l10n()->t('Update'),
'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'), 'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'),
'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'), 'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'),
'contacts_batch_archive' => DI::l10n()->t('Archive') . '/' . DI::l10n()->t('Unarchive'),
'contacts_batch_drop' => DI::l10n()->t('Delete'), 'contacts_batch_drop' => DI::l10n()->t('Delete'),
], ],
'$h_batch_actions' => DI::l10n()->t('Batch Actions'), '$h_batch_actions' => DI::l10n()->t('Batch Actions'),
@ -1070,7 +1070,7 @@ class Contact extends BaseModule
/** /**
* Gives a array with actions which can performed to a given contact * Gives a array with actions which can performed to a given contact
* *
* This includes actions like e.g. 'block', 'hide', 'archive', 'delete' and others * This includes actions like e.g. 'block', 'hide', 'delete' and others
* *
* @param array $contact Data about the Contact * @param array $contact Data about the Contact
* @return array with contact related actions * @return array with contact related actions
@ -1128,14 +1128,6 @@ class Contact extends BaseModule
]; ];
if ($contact['uid'] != 0) { if ($contact['uid'] != 0) {
$contact_actions['archive'] = [
'label' => (intval($contact['archive']) ? DI::l10n()->t('Unarchive') : DI::l10n()->t('Archive')),
'url' => 'contact/' . $contact['id'] . '/archive',
'title' => DI::l10n()->t('Toggle Archive status'),
'sel' => (intval($contact['archive']) ? 'active' : ''),
'id' => 'toggle-archive',
];
$contact_actions['delete'] = [ $contact_actions['delete'] = [
'label' => DI::l10n()->t('Delete'), 'label' => DI::l10n()->t('Delete'),
'url' => 'contact/' . $contact['id'] . '/drop', 'url' => 'contact/' . $contact['id'] . '/drop',

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2021.09-rc\n" "Project-Id-Version: 2021.09-rc\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-05 18:33+0000\n" "POT-Creation-Date: 2021-09-05 14:58-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -77,8 +77,8 @@ msgstr ""
#: include/conversation.php:468 mod/photos.php:1460 mod/settings.php:573 #: include/conversation.php:468 mod/photos.php:1460 mod/settings.php:573
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140 #: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:849 #: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:842
#: src/Module/Contact.php:1140 #: src/Module/Contact.php:1125
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
@ -215,13 +215,13 @@ msgstr ""
#: include/conversation.php:851 src/Module/Admin/Blocklist/Contact.php:84 #: include/conversation.php:851 src/Module/Admin/Blocklist/Contact.php:84
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154 #: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
#: src/Module/Contact.php:586 src/Module/Contact.php:846 #: src/Module/Contact.php:580 src/Module/Contact.php:840
#: src/Module/Contact.php:1115 #: src/Module/Contact.php:1108
msgid "Block" msgid "Block"
msgstr "" msgstr ""
#: include/conversation.php:852 src/Module/Contact.php:587 #: include/conversation.php:852 src/Module/Contact.php:581
#: src/Module/Contact.php:847 src/Module/Contact.php:1123 #: src/Module/Contact.php:841 src/Module/Contact.php:1116
#: src/Module/Notifications/Introductions.php:113 #: src/Module/Notifications/Introductions.php:113
#: src/Module/Notifications/Introductions.php:185 #: src/Module/Notifications/Introductions.php:185
#: src/Module/Notifications/Notification.php:59 #: src/Module/Notifications/Notification.php:59
@ -483,7 +483,7 @@ msgstr ""
#: include/conversation.php:1164 mod/editpost.php:130 mod/fbrowser.php:105 #: include/conversation.php:1164 mod/editpost.php:130 mod/fbrowser.php:105
#: mod/fbrowser.php:134 mod/follow.php:144 mod/photos.php:1028 #: mod/fbrowser.php:134 mod/follow.php:144 mod/photos.php:1028
#: mod/photos.php:1134 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97 #: mod/photos.php:1134 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97
#: src/Module/Contact.php:422 src/Module/RemoteFollow.php:116 #: src/Module/Contact.php:416 src/Module/RemoteFollow.php:116
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
@ -763,7 +763,7 @@ msgstr ""
#: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55 #: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55
#: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88 #: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88
#: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106 #: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:340 #: src/Module/BaseNotifications.php:88 src/Module/Contact.php:343
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:119 #: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:119
#: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44 #: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44
#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41 #: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41
@ -993,7 +993,7 @@ msgstr ""
#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86 #: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
#: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969 #: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969
#: src/Model/Profile.php:367 src/Module/Contact.php:607 #: src/Model/Profile.php:367 src/Module/Contact.php:601
#: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166 #: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
#: src/Module/Profile/Profile.php:194 #: src/Module/Profile/Profile.php:194
msgid "Location:" msgid "Location:"
@ -1010,7 +1010,7 @@ msgstr ""
#: mod/events.php:580 mod/message.php:204 mod/message.php:367 #: mod/events.php:580 mod/message.php:204 mod/message.php:367
#: mod/photos.php:947 mod/photos.php:1045 mod/photos.php:1330 #: mod/photos.php:947 mod/photos.php:1045 mod/photos.php:1330
#: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501 #: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:565 #: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:559
#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158 #: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158
#: src/Module/Debug/ActivityPubConversion.php:141 #: src/Module/Debug/ActivityPubConversion.php:141
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64 #: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
@ -1029,7 +1029,7 @@ msgstr ""
msgid "Basic" msgid "Basic"
msgstr "" msgstr ""
#: mod/events.php:582 src/Module/Admin/Site.php:503 src/Module/Contact.php:916 #: mod/events.php:582 src/Module/Admin/Site.php:503 src/Module/Contact.php:909
#: src/Module/Profile/Profile.php:249 #: src/Module/Profile/Profile.php:249
msgid "Advanced" msgid "Advanced"
msgstr "" msgstr ""
@ -1081,13 +1081,13 @@ msgid "Your Identity Address:"
msgstr "" msgstr ""
#: mod/follow.php:141 mod/unfollow.php:100 #: mod/follow.php:141 mod/unfollow.php:100
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:603 #: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:597
#: src/Module/Notifications/Introductions.php:108 #: src/Module/Notifications/Introductions.php:108
#: src/Module/Notifications/Introductions.php:177 #: src/Module/Notifications/Introductions.php:177
msgid "Profile URL" msgid "Profile URL"
msgstr "" msgstr ""
#: mod/follow.php:142 src/Module/Contact.php:615 #: mod/follow.php:142 src/Module/Contact.php:609
#: src/Module/Notifications/Introductions.php:170 #: src/Module/Notifications/Introductions.php:170
#: src/Module/Profile/Profile.php:207 #: src/Module/Profile/Profile.php:207
msgid "Tags:" msgid "Tags:"
@ -1103,7 +1103,7 @@ msgid "Add a personal note:"
msgstr "" msgstr ""
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59 #: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
#: src/Module/Contact.php:894 #: src/Module/Contact.php:887
msgid "Status Messages and Posts" msgid "Status Messages and Posts"
msgstr "" msgstr ""
@ -1666,7 +1666,7 @@ msgid "Rotate CCW (left)"
msgstr "" msgstr ""
#: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498 #: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498
#: src/Module/Contact.php:1046 src/Module/Item/Compose.php:148 #: src/Module/Contact.php:1039 src/Module/Item/Compose.php:148
#: src/Object/Post.php:959 #: src/Object/Post.php:959
msgid "This is you" msgid "This is you"
msgstr "" msgstr ""
@ -2720,16 +2720,16 @@ msgid "All contacts"
msgstr "" msgstr ""
#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195 #: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195
#: src/Module/Contact.php:815 src/Module/PermissionTooltip.php:77 #: src/Module/Contact.php:809 src/Module/PermissionTooltip.php:77
#: src/Module/PermissionTooltip.php:99 #: src/Module/PermissionTooltip.php:99
msgid "Followers" msgid "Followers"
msgstr "" msgstr ""
#: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:816 #: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:810
msgid "Following" msgid "Following"
msgstr "" msgstr ""
#: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:817 #: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:811
msgid "Mutual friends" msgid "Mutual friends"
msgstr "" msgstr ""
@ -3086,7 +3086,7 @@ msgid "Sign in"
msgstr "" msgstr ""
#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56 #: src/Content/Nav.php:190 src/Module/BaseProfile.php:56
#: src/Module/Contact.php:618 src/Module/Contact.php:883 #: src/Module/Contact.php:612 src/Module/Contact.php:876
#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226 #: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
msgid "Status" msgid "Status"
msgstr "" msgstr ""
@ -3097,8 +3097,8 @@ msgid "Your posts and conversations"
msgstr "" msgstr ""
#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48 #: src/Content/Nav.php:191 src/Module/BaseProfile.php:48
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:620 #: src/Module/BaseSettings.php:57 src/Module/Contact.php:614
#: src/Module/Contact.php:899 src/Module/Profile/Profile.php:241 #: src/Module/Contact.php:892 src/Module/Profile/Profile.php:241
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227 #: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
msgid "Profile" msgid "Profile"
msgstr "" msgstr ""
@ -3184,8 +3184,8 @@ msgstr ""
#: src/Content/Nav.php:235 src/Content/Nav.php:294 #: src/Content/Nav.php:235 src/Content/Nav.php:294
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126 #: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:818 #: src/Module/BaseProfile.php:129 src/Module/Contact.php:812
#: src/Module/Contact.php:906 view/theme/frio/theme.php:237 #: src/Module/Contact.php:899 view/theme/frio/theme.php:237
msgid "Contacts" msgid "Contacts"
msgstr "" msgstr ""
@ -3415,7 +3415,7 @@ msgstr ""
msgid "Examples: Robert Morgenstein, Fishing" msgid "Examples: Robert Morgenstein, Fishing"
msgstr "" msgstr ""
#: src/Content/Widget.php:78 src/Module/Contact.php:839 #: src/Content/Widget.php:78 src/Module/Contact.php:833
#: src/Module/Directory.php:99 view/theme/vier/theme.php:174 #: src/Module/Directory.php:99 view/theme/vier/theme.php:174
msgid "Find" msgid "Find"
msgstr "" msgstr ""
@ -3442,7 +3442,7 @@ msgid "Local Directory"
msgstr "" msgstr ""
#: src/Content/Widget.php:214 src/Model/Group.php:535 #: src/Content/Widget.php:214 src/Model/Group.php:535
#: src/Module/Contact.php:802 src/Module/Welcome.php:76 #: src/Module/Contact.php:796 src/Module/Welcome.php:76
msgid "Groups" msgid "Groups"
msgstr "" msgstr ""
@ -3454,7 +3454,7 @@ msgstr ""
msgid "Relationships" msgid "Relationships"
msgstr "" msgstr ""
#: src/Content/Widget.php:247 src/Module/Contact.php:754 #: src/Content/Widget.php:247 src/Module/Contact.php:748
#: src/Module/Group.php:292 #: src/Module/Group.php:292
msgid "All Contacts" msgid "All Contacts"
msgstr "" msgstr ""
@ -3553,12 +3553,12 @@ msgid "More Trending Tags"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372 #: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372
#: src/Module/Contact.php:609 src/Module/Profile/Profile.php:176 #: src/Module/Contact.php:603 src/Module/Profile/Profile.php:176
msgid "XMPP:" msgid "XMPP:"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373 #: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373
#: src/Module/Contact.php:611 src/Module/Profile/Profile.php:180 #: src/Module/Contact.php:605 src/Module/Profile/Profile.php:180
msgid "Matrix:" msgid "Matrix:"
msgstr "" msgstr ""
@ -4710,7 +4710,7 @@ msgstr ""
msgid "Homepage:" msgid "Homepage:"
msgstr "" msgstr ""
#: src/Model/Profile.php:371 src/Module/Contact.php:613 #: src/Model/Profile.php:371 src/Module/Contact.php:607
#: src/Module/Notifications/Introductions.php:168 #: src/Module/Notifications/Introductions.php:168
msgid "About:" msgid "About:"
msgstr "" msgstr ""
@ -5111,8 +5111,8 @@ msgstr ""
msgid "List of active accounts" msgid "List of active accounts"
msgstr "" msgstr ""
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:762 #: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:756
#: src/Module/Contact.php:822 #: src/Module/Contact.php:816
msgid "Pending" msgid "Pending"
msgstr "" msgstr ""
@ -5120,8 +5120,8 @@ msgstr ""
msgid "List of pending registrations" msgid "List of pending registrations"
msgstr "" msgstr ""
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:770 #: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:764
#: src/Module/Contact.php:823 #: src/Module/Contact.php:817
msgid "Blocked" msgid "Blocked"
msgstr "" msgstr ""
@ -5178,8 +5178,8 @@ msgstr ""
#: src/Module/Admin/Blocklist/Contact.php:85 #: src/Module/Admin/Blocklist/Contact.php:85
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156 #: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
#: src/Module/Contact.php:586 src/Module/Contact.php:846 #: src/Module/Contact.php:580 src/Module/Contact.php:840
#: src/Module/Contact.php:1115 #: src/Module/Contact.php:1108
msgid "Unblock" msgid "Unblock"
msgstr "" msgstr ""
@ -6454,7 +6454,7 @@ msgid ""
"received." "received."
msgstr "" msgstr ""
#: src/Module/Admin/Site.php:606 src/Module/Contact.php:515 #: src/Module/Admin/Site.php:606 src/Module/Contact.php:509
#: src/Module/Settings/TwoFactor/Index.php:118 #: src/Module/Settings/TwoFactor/Index.php:118
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
@ -7025,7 +7025,7 @@ msgstr ""
msgid "Posts from %s can't be unshared" msgid "Posts from %s can't be unshared"
msgstr "" msgstr ""
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:355 #: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:358
msgid "Contact not found" msgid "Contact not found"
msgstr "" msgstr ""
@ -7146,7 +7146,7 @@ msgstr ""
msgid "Too Many Requests" msgid "Too Many Requests"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:902 #: src/Module/BaseProfile.php:51 src/Module/Contact.php:895
msgid "Profile Details" msgid "Profile Details"
msgstr "" msgstr ""
@ -7220,378 +7220,358 @@ msgid_plural "%d contacts edited."
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Module/Contact.php:120 #: src/Module/Contact.php:118
msgid "Could not access contact record." msgid "Could not access contact record."
msgstr "" msgstr ""
#: src/Module/Contact.php:156 #: src/Module/Contact.php:154
msgid "Failed to update contact record." msgid "Failed to update contact record."
msgstr "" msgstr ""
#: src/Module/Contact.php:372 #: src/Module/Contact.php:377
msgid "You can't block yourself" msgid "You can't block yourself"
msgstr "" msgstr ""
#: src/Module/Contact.php:378 #: src/Module/Contact.php:383
msgid "Contact has been blocked" msgid "Contact has been blocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:378 #: src/Module/Contact.php:383
msgid "Contact has been unblocked" msgid "Contact has been unblocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:386 #: src/Module/Contact.php:391
msgid "You can't ignore yourself" msgid "You can't ignore yourself"
msgstr "" msgstr ""
#: src/Module/Contact.php:392 #: src/Module/Contact.php:397
msgid "Contact has been ignored" msgid "Contact has been ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:392 #: src/Module/Contact.php:397
msgid "Contact has been unignored" msgid "Contact has been unignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:402 #: src/Module/Contact.php:409
msgid "Contact has been archived"
msgstr ""
#: src/Module/Contact.php:402
msgid "Contact has been unarchived"
msgstr ""
#: src/Module/Contact.php:415
msgid "Drop contact" msgid "Drop contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:418 src/Module/Contact.php:842 #: src/Module/Contact.php:412 src/Module/Contact.php:836
msgid "Do you really want to delete this contact?" msgid "Do you really want to delete this contact?"
msgstr "" msgstr ""
#: src/Module/Contact.php:419 src/Module/Notifications/Introductions.php:123 #: src/Module/Contact.php:413 src/Module/Notifications/Introductions.php:123
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:115 #: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:115
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: src/Module/Contact.php:431 #: src/Module/Contact.php:425
msgid "Contact has been removed." msgid "Contact has been removed."
msgstr "" msgstr ""
#: src/Module/Contact.php:457 #: src/Module/Contact.php:451
#, php-format #, php-format
msgid "You are mutual friends with %s" msgid "You are mutual friends with %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:461 #: src/Module/Contact.php:455
#, php-format #, php-format
msgid "You are sharing with %s" msgid "You are sharing with %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:465 #: src/Module/Contact.php:459
#, php-format #, php-format
msgid "%s is sharing with you" msgid "%s is sharing with you"
msgstr "" msgstr ""
#: src/Module/Contact.php:489 #: src/Module/Contact.php:483
msgid "Private communications are not available for this contact." msgid "Private communications are not available for this contact."
msgstr "" msgstr ""
#: src/Module/Contact.php:491 #: src/Module/Contact.php:485
msgid "Never" msgid "Never"
msgstr "" msgstr ""
#: src/Module/Contact.php:494 #: src/Module/Contact.php:488
msgid "(Update was not successful)" msgid "(Update was not successful)"
msgstr "" msgstr ""
#: src/Module/Contact.php:494 #: src/Module/Contact.php:488
msgid "(Update was successful)" msgid "(Update was successful)"
msgstr "" msgstr ""
#: src/Module/Contact.php:496 src/Module/Contact.php:1086 #: src/Module/Contact.php:490 src/Module/Contact.php:1079
msgid "Suggest friends" msgid "Suggest friends"
msgstr "" msgstr ""
#: src/Module/Contact.php:500 #: src/Module/Contact.php:494
#, php-format #, php-format
msgid "Network type: %s" msgid "Network type: %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:505 #: src/Module/Contact.php:499
msgid "Communications lost with this contact!" msgid "Communications lost with this contact!"
msgstr "" msgstr ""
#: src/Module/Contact.php:511 #: src/Module/Contact.php:505
msgid "Fetch further information for feeds" msgid "Fetch further information for feeds"
msgstr "" msgstr ""
#: src/Module/Contact.php:513 #: src/Module/Contact.php:507
msgid "" msgid ""
"Fetch information like preview pictures, title and teaser from the feed " "Fetch information like preview pictures, title and teaser from the feed "
"item. You can activate this if the feed doesn't contain much text. Keywords " "item. You can activate this if the feed doesn't contain much text. Keywords "
"are taken from the meta header in the feed item and are posted as hash tags." "are taken from the meta header in the feed item and are posted as hash tags."
msgstr "" msgstr ""
#: src/Module/Contact.php:516 #: src/Module/Contact.php:510
msgid "Fetch information" msgid "Fetch information"
msgstr "" msgstr ""
#: src/Module/Contact.php:517 #: src/Module/Contact.php:511
msgid "Fetch keywords" msgid "Fetch keywords"
msgstr "" msgstr ""
#: src/Module/Contact.php:518 #: src/Module/Contact.php:512
msgid "Fetch information and keywords" msgid "Fetch information and keywords"
msgstr "" msgstr ""
#: src/Module/Contact.php:530 src/Module/Contact.php:534 #: src/Module/Contact.php:524 src/Module/Contact.php:528
#: src/Module/Contact.php:537 src/Module/Contact.php:541 #: src/Module/Contact.php:531 src/Module/Contact.php:535
msgid "No mirroring" msgid "No mirroring"
msgstr "" msgstr ""
#: src/Module/Contact.php:531 #: src/Module/Contact.php:525
msgid "Mirror as forwarded posting" msgid "Mirror as forwarded posting"
msgstr "" msgstr ""
#: src/Module/Contact.php:532 src/Module/Contact.php:538 #: src/Module/Contact.php:526 src/Module/Contact.php:532
#: src/Module/Contact.php:542 #: src/Module/Contact.php:536
msgid "Mirror as my own posting" msgid "Mirror as my own posting"
msgstr "" msgstr ""
#: src/Module/Contact.php:535 src/Module/Contact.php:539 #: src/Module/Contact.php:529 src/Module/Contact.php:533
msgid "Native reshare" msgid "Native reshare"
msgstr "" msgstr ""
#: src/Module/Contact.php:554 #: src/Module/Contact.php:548
msgid "Contact Information / Notes" msgid "Contact Information / Notes"
msgstr "" msgstr ""
#: src/Module/Contact.php:555 #: src/Module/Contact.php:549
msgid "Contact Settings" msgid "Contact Settings"
msgstr "" msgstr ""
#: src/Module/Contact.php:563 #: src/Module/Contact.php:557
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:567 #: src/Module/Contact.php:561
msgid "Their personal note" msgid "Their personal note"
msgstr "" msgstr ""
#: src/Module/Contact.php:569 #: src/Module/Contact.php:563
msgid "Edit contact notes" msgid "Edit contact notes"
msgstr "" msgstr ""
#: src/Module/Contact.php:572 src/Module/Contact.php:1054 #: src/Module/Contact.php:566 src/Module/Contact.php:1047
#, php-format #, php-format
msgid "Visit %s's profile [%s]" msgid "Visit %s's profile [%s]"
msgstr "" msgstr ""
#: src/Module/Contact.php:573 #: src/Module/Contact.php:567
msgid "Block/Unblock contact" msgid "Block/Unblock contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:574 #: src/Module/Contact.php:568
msgid "Ignore contact" msgid "Ignore contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:575 #: src/Module/Contact.php:569
msgid "View conversations" msgid "View conversations"
msgstr "" msgstr ""
#: src/Module/Contact.php:580 #: src/Module/Contact.php:574
msgid "Last update:" msgid "Last update:"
msgstr "" msgstr ""
#: src/Module/Contact.php:582 #: src/Module/Contact.php:576
msgid "Update public posts" msgid "Update public posts"
msgstr "" msgstr ""
#: src/Module/Contact.php:584 src/Module/Contact.php:1096 #: src/Module/Contact.php:578 src/Module/Contact.php:1089
msgid "Update now" msgid "Update now"
msgstr "" msgstr ""
#: src/Module/Contact.php:587 src/Module/Contact.php:847 #: src/Module/Contact.php:581 src/Module/Contact.php:841
#: src/Module/Contact.php:1123 #: src/Module/Contact.php:1116
msgid "Unignore" msgid "Unignore"
msgstr "" msgstr ""
#: src/Module/Contact.php:591 #: src/Module/Contact.php:585
msgid "Currently blocked" msgid "Currently blocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:592 #: src/Module/Contact.php:586
msgid "Currently ignored" msgid "Currently ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:593 #: src/Module/Contact.php:587
msgid "Currently archived" msgid "Currently archived"
msgstr "" msgstr ""
#: src/Module/Contact.php:594 #: src/Module/Contact.php:588
msgid "Awaiting connection acknowledge" msgid "Awaiting connection acknowledge"
msgstr "" msgstr ""
#: src/Module/Contact.php:595 src/Module/Notifications/Introductions.php:171 #: src/Module/Contact.php:589 src/Module/Notifications/Introductions.php:171
msgid "Hide this contact from others" msgid "Hide this contact from others"
msgstr "" msgstr ""
#: src/Module/Contact.php:595 #: src/Module/Contact.php:589
msgid "" msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible" "Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "" msgstr ""
#: src/Module/Contact.php:596 #: src/Module/Contact.php:590
msgid "Notification for new posts" msgid "Notification for new posts"
msgstr "" msgstr ""
#: src/Module/Contact.php:596 #: src/Module/Contact.php:590
msgid "Send a notification of every new post of this contact" msgid "Send a notification of every new post of this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:598 #: src/Module/Contact.php:592
msgid "Keyword Deny List" msgid "Keyword Deny List"
msgstr "" msgstr ""
#: src/Module/Contact.php:598 #: src/Module/Contact.php:592
msgid "" msgid ""
"Comma separated list of keywords that should not be converted to hashtags, " "Comma separated list of keywords that should not be converted to hashtags, "
"when \"Fetch information and keywords\" is selected" "when \"Fetch information and keywords\" is selected"
msgstr "" msgstr ""
#: src/Module/Contact.php:616 src/Module/Settings/TwoFactor/Index.php:132 #: src/Module/Contact.php:610 src/Module/Settings/TwoFactor/Index.php:132
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: src/Module/Contact.php:623 #: src/Module/Contact.php:617
msgid "Mirror postings from this contact" msgid "Mirror postings from this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:625 #: src/Module/Contact.php:619
msgid "" msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new " "Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact." "entries from this contact."
msgstr "" msgstr ""
#: src/Module/Contact.php:757 #: src/Module/Contact.php:751
msgid "Show all contacts" msgid "Show all contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:765 #: src/Module/Contact.php:759
msgid "Only show pending contacts" msgid "Only show pending contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:773 #: src/Module/Contact.php:767
msgid "Only show blocked contacts" msgid "Only show blocked contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:778 src/Module/Contact.php:825 #: src/Module/Contact.php:772 src/Module/Contact.php:819
#: src/Object/Post.php:308 #: src/Object/Post.php:308
msgid "Ignored" msgid "Ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:781 #: src/Module/Contact.php:775
msgid "Only show ignored contacts" msgid "Only show ignored contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:786 src/Module/Contact.php:826 #: src/Module/Contact.php:780 src/Module/Contact.php:820
msgid "Archived" msgid "Archived"
msgstr "" msgstr ""
#: src/Module/Contact.php:789 #: src/Module/Contact.php:783
msgid "Only show archived contacts" msgid "Only show archived contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:794 src/Module/Contact.php:824 #: src/Module/Contact.php:788 src/Module/Contact.php:818
msgid "Hidden" msgid "Hidden"
msgstr "" msgstr ""
#: src/Module/Contact.php:797 #: src/Module/Contact.php:791
msgid "Only show hidden contacts" msgid "Only show hidden contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:805 #: src/Module/Contact.php:799
msgid "Organize your contact groups" msgid "Organize your contact groups"
msgstr "" msgstr ""
#: src/Module/Contact.php:837 #: src/Module/Contact.php:831
msgid "Search your contacts" msgid "Search your contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:838 src/Module/Search/Index.php:194 #: src/Module/Contact.php:832 src/Module/Search/Index.php:194
#, php-format #, php-format
msgid "Results for: %s" msgid "Results for: %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:845 #: src/Module/Contact.php:839
msgid "Update" msgid "Update"
msgstr "" msgstr ""
#: src/Module/Contact.php:848 src/Module/Contact.php:1132 #: src/Module/Contact.php:844
msgid "Archive"
msgstr ""
#: src/Module/Contact.php:848 src/Module/Contact.php:1132
msgid "Unarchive"
msgstr ""
#: src/Module/Contact.php:851
msgid "Batch Actions" msgid "Batch Actions"
msgstr "" msgstr ""
#: src/Module/Contact.php:886 #: src/Module/Contact.php:879
msgid "Conversations started by this contact" msgid "Conversations started by this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:891 #: src/Module/Contact.php:884
msgid "Posts and Comments" msgid "Posts and Comments"
msgstr "" msgstr ""
#: src/Module/Contact.php:909 #: src/Module/Contact.php:902
msgid "View all known contacts" msgid "View all known contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:919 #: src/Module/Contact.php:912
msgid "Advanced Contact Settings" msgid "Advanced Contact Settings"
msgstr "" msgstr ""
#: src/Module/Contact.php:1013 #: src/Module/Contact.php:1006
msgid "Mutual Friendship" msgid "Mutual Friendship"
msgstr "" msgstr ""
#: src/Module/Contact.php:1017 #: src/Module/Contact.php:1010
msgid "is a fan of yours" msgid "is a fan of yours"
msgstr "" msgstr ""
#: src/Module/Contact.php:1021 #: src/Module/Contact.php:1014
msgid "you are a fan of" msgid "you are a fan of"
msgstr "" msgstr ""
#: src/Module/Contact.php:1039 #: src/Module/Contact.php:1032
msgid "Pending outgoing contact request" msgid "Pending outgoing contact request"
msgstr "" msgstr ""
#: src/Module/Contact.php:1041 #: src/Module/Contact.php:1034
msgid "Pending incoming contact request" msgid "Pending incoming contact request"
msgstr "" msgstr ""
#: src/Module/Contact.php:1106 #: src/Module/Contact.php:1099
msgid "Refetch contact data" msgid "Refetch contact data"
msgstr "" msgstr ""
#: src/Module/Contact.php:1117 #: src/Module/Contact.php:1110
msgid "Toggle Blocked status" msgid "Toggle Blocked status"
msgstr "" msgstr ""
#: src/Module/Contact.php:1125 #: src/Module/Contact.php:1118
msgid "Toggle Ignored status" msgid "Toggle Ignored status"
msgstr "" msgstr ""
#: src/Module/Contact.php:1134 #: src/Module/Contact.php:1127
msgid "Toggle Archive status"
msgstr ""
#: src/Module/Contact.php:1142
msgid "Delete contact" msgid "Delete contact"
msgstr "" msgstr ""

View file

@ -21,7 +21,6 @@
<li class="divider"></li> <li class="divider"></li>
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li> <li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li> <li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
{{if $contact_actions.archive.url}}<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>{{/if}}
{{if $contact_actions.delete.url}}<li role="menuitem"><a href="{{$contact_actions.delete.url}}" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li> {{/if}} {{if $contact_actions.delete.url}}<li role="menuitem"><a href="{{$contact_actions.delete.url}}" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li> {{/if}}
</ul> </ul>
</div> </div>

View file

@ -15,6 +15,7 @@
{{$tabs nofilter}} {{$tabs nofilter}}
<form action="{{$baseurl}}/contact/batch/" method="POST"> <form action="{{$baseurl}}/contact/batch/" method="POST">
<input type="hidden" name="redirect_url" value="{{$cmd}}"/>
{{foreach $contacts as $contact}} {{foreach $contacts as $contact}}
{{include file="contact_template.tpl"}} {{include file="contact_template.tpl"}}
{{/foreach}} {{/foreach}}

View file

@ -27,7 +27,6 @@
{{/if}} {{/if}}
<li role="presentation"><a role="menuitem" href="{{$contact_actions.block.url}}" title="{{$contact_actions.block.title}}">{{$contact_actions.block.label}}</a></li> <li role="presentation"><a role="menuitem" href="{{$contact_actions.block.url}}" title="{{$contact_actions.block.title}}">{{$contact_actions.block.label}}</a></li>
<li role="presentation"><a role="menuitem" href="{{$contact_actions.ignore.url}}" title="{{$contact_actions.ignore.title}}">{{$contact_actions.ignore.label}}</a></li> <li role="presentation"><a role="menuitem" href="{{$contact_actions.ignore.url}}" title="{{$contact_actions.ignore.title}}">{{$contact_actions.ignore.label}}</a></li>
{{if $contact_actions.archive.url}}<li role="presentation"><a role="menuitem" href="{{$contact_actions.archive.url}}" title="{{$contact_actions.archive.title}}">{{$contact_actions.archive.label}}</a></li>{{/if}}
{{if $contact_actions.delete.url}}<li role="presentation"><button role="menuitem" type="button" class="btn-link" title="{{$contact_actions.delete.title}}" onclick="addToModal('{{$contact_actions.delete.url}}?confirm=1');">{{$contact_actions.delete.label}}</button></li>{{/if}} {{if $contact_actions.delete.url}}<li role="presentation"><button role="menuitem" type="button" class="btn-link" title="{{$contact_actions.delete.title}}" onclick="addToModal('{{$contact_actions.delete.url}}?confirm=1');">{{$contact_actions.delete.label}}</button></li>{{/if}}
</ul> </ul>
</li> </li>

View file

@ -29,6 +29,7 @@
{{* we need the form container to make batch actions work *}} {{* we need the form container to make batch actions work *}}
<form name="batch_actions_submit" action="{{$baseurl}}/contact/batch/" method="POST"> <form name="batch_actions_submit" action="{{$baseurl}}/contact/batch/" method="POST">
<input type="hidden" name="redirect_url" value="{{$cmd}}"/>
{{* we put here a hidden input element. This is needed to transmit the batch actions with javascript*}} {{* we put here a hidden input element. This is needed to transmit the batch actions with javascript*}}
<input type="hidden" class="batch-action no-input fakelist" name="batch_submit" value="{{$l}}"> <input type="hidden" class="batch-action no-input fakelist" name="batch_submit" value="{{$l}}">

View file

@ -22,7 +22,6 @@
<li class="divider"></li> <li class="divider"></li>
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li> <li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li> <li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
{{if $contact_actions.archive.url}}<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>{{/if}}
{{if $contact_actions.delete.url}}<li role="menuitem"><a href="{{$contact_actions.delete.url}}" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>{{/if}} {{if $contact_actions.delete.url}}<li role="menuitem"><a href="{{$contact_actions.delete.url}}" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>{{/if}}
</ul> </ul>
</div> </div>