Merge remote-tracking branch 'upstream/develop' into network-thread-view
This commit is contained in:
commit
eea355ae3b
31 changed files with 886 additions and 870 deletions
|
|
@ -32,7 +32,7 @@ General
|
|||
* m - Status Messages and Posts
|
||||
* r - Profile Details
|
||||
* h - Photo Albums
|
||||
* v - Videos
|
||||
* d - Media
|
||||
* e - Events and Calendar
|
||||
* t - Personal Notes
|
||||
* o - Scheduled Posts
|
||||
|
|
@ -49,12 +49,13 @@ General
|
|||
* h - Only show hidden contacts
|
||||
* e - Edit contact groups
|
||||
|
||||
../contacts (single contact view)
|
||||
../contact (single contact view)
|
||||
-------------------------------
|
||||
* m - Status messages
|
||||
* p - Posts and Comments
|
||||
* d - Media
|
||||
* o - Profile
|
||||
* t - Contacts
|
||||
* d - Common friends
|
||||
* r - Advanced
|
||||
|
||||
../message
|
||||
|
|
|
|||
|
|
@ -479,6 +479,22 @@ Hook data:
|
|||
- **uid** (input): the user to return the contact data for (can be empty for public contacts).
|
||||
- **result** (output): Set by the hook function to indicate a successful detection.
|
||||
|
||||
### support_follow
|
||||
|
||||
Called to assert whether a connector addon provides follow capabilities.
|
||||
|
||||
Hook data:
|
||||
- **protocol** (input): shorthand for the protocol. List of values is available in `src/Core/Protocol.php`.
|
||||
- **result** (output): should be true if the connector provides follow capabilities, left alone otherwise.
|
||||
|
||||
### support_revoke_follow
|
||||
|
||||
Called to assert whether a connector addon provides follow revocation capabilities.
|
||||
|
||||
Hook data:
|
||||
- **protocol** (input): shorthand for the protocol. List of values is available in `src/Core/Protocol.php`.
|
||||
- **result** (output): should be true if the connector provides follow revocation capabilities, left alone otherwise.
|
||||
|
||||
### follow
|
||||
|
||||
Called before adding a new contact for a user to handle non-native network remote contact (like Twitter).
|
||||
|
|
@ -497,6 +513,14 @@ Hook data:
|
|||
- **two_way** (input): wether to stop sharing with the remote contact as well.
|
||||
- **result** (output): wether the unfollowing is successful or not.
|
||||
|
||||
### revoke_follow
|
||||
|
||||
Called when making a remote contact on a non-native network (like Twitter) unfollow you.
|
||||
|
||||
Hook data:
|
||||
- **contact** (input): the remote contact (uid = local revoking user id) array.
|
||||
- **result** (output): a boolean value indicating wether the operation was successful or not.
|
||||
|
||||
## Complete list of hook callbacks
|
||||
|
||||
Here is a complete list of all hook callbacks with file locations (as of 24-Sep-2018). Please see the source for details of any hooks not documented above.
|
||||
|
|
@ -666,7 +690,6 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
|
||||
Hook::callAll('contact_photo_menu', $args);
|
||||
Hook::callAll('follow', $arr);
|
||||
Hook::callAll('unfollow', $hook_data);
|
||||
|
||||
### src/Model/Profile.php
|
||||
|
||||
|
|
@ -750,6 +773,13 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
|
||||
Hook::callAll('logged_in', $a->user);
|
||||
|
||||
### src/Core/Protocol.php
|
||||
|
||||
Hook::callAll('support_follow', $hook_data);
|
||||
Hook::callAll('support_revoke_follow', $hook_data);
|
||||
Hook::callAll('unfollow', $hook_data);
|
||||
Kook::callAll('revoke_follow', $hook_data);
|
||||
|
||||
### src/Core/StorageManager
|
||||
|
||||
Hook::callAll('storage_instance', $data);
|
||||
|
|
|
|||
|
|
@ -356,7 +356,6 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
|
||||
Hook::callAll('contact_photo_menu', $args);
|
||||
Hook::callAll('follow', $arr);
|
||||
Hook::callAll('unfollow', $hook_data);
|
||||
|
||||
### src/Model/Profile.php
|
||||
|
||||
|
|
@ -413,7 +412,14 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
### src/Core/Authentication.php
|
||||
|
||||
Hook::callAll('logged_in', $a->user);
|
||||
|
||||
|
||||
### src/Core/Protocol.php
|
||||
|
||||
Hook::callAll('support_follow', $hook_data);
|
||||
Hook::callAll('support_revoke_follow', $hook_data);
|
||||
Hook::callAll('unfollow', $hook_data);
|
||||
Kook::callAll('revoke_follow', $hook_data);
|
||||
|
||||
### src/Core/StorageManager
|
||||
|
||||
Hook::callAll('storage_instance', $data);
|
||||
|
|
|
|||
|
|
@ -242,17 +242,11 @@ function events_content(App $a)
|
|||
}
|
||||
|
||||
if ((DI::args()->getArgc() > 2) && (DI::args()->getArgv()[1] === 'ignore') && intval(DI::args()->getArgv()[2])) {
|
||||
q("UPDATE `event` SET `ignore` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||
intval(DI::args()->getArgv()[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
DBA::update('event', ['ignore' => true], ['id' => DI::args()->getArgv()[2], 'uid' => local_user()]);
|
||||
}
|
||||
|
||||
if ((DI::args()->getArgc() > 2) && (DI::args()->getArgv()[1] === 'unignore') && intval(DI::args()->getArgv()[2])) {
|
||||
q("UPDATE `event` SET `ignore` = 0 WHERE `id` = %d AND `uid` = %d",
|
||||
intval(DI::args()->getArgv()[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
DBA::update('event', ['ignore' => false], ['id' => DI::args()->getArgv()[2], 'uid' => local_user()]);
|
||||
}
|
||||
|
||||
if ($a->getThemeInfoValue('events_in_profile')) {
|
||||
|
|
@ -444,13 +438,7 @@ function events_content(App $a)
|
|||
}
|
||||
|
||||
if (($mode === 'edit' || $mode === 'copy') && $event_id) {
|
||||
$r = q("SELECT * FROM `event` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($event_id),
|
||||
intval(local_user())
|
||||
);
|
||||
if (DBA::isResult($r)) {
|
||||
$orig_event = $r[0];
|
||||
}
|
||||
$orig_event = DBA::selectFirst('event', [], ['id' => $event_id, 'uid' => local_user()]);
|
||||
}
|
||||
|
||||
// Passed parameters overrides anything found in the DB
|
||||
|
|
|
|||
|
|
@ -158,12 +158,9 @@ function message_content(App $a)
|
|||
|
||||
DI::baseUrl()->redirect('message/' . $conversation['id'] );
|
||||
} else {
|
||||
$r = q("SELECT `parent-uri`,`convid` FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval(DI::args()->getArgv()[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
if (DBA::isResult($r)) {
|
||||
$parent = $r[0]['parent-uri'];
|
||||
$parentmail = DBA::selectFirst('mail', ['parent-uri'], ['id' => DI::args()->getArgv()[2], 'uid' => local_user()]);
|
||||
if (DBA::isResult($parentmail)) {
|
||||
$parent = $parentmail['parent-uri'];
|
||||
|
||||
if (!DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) {
|
||||
notice(DI::l10n()->t('Conversation was not removed.'));
|
||||
|
|
|
|||
|
|
@ -200,12 +200,7 @@ function photos_post(App $a)
|
|||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
$r = q("SELECT `album` FROM `photo` WHERE `album` = '%s' AND `uid` = %d",
|
||||
DBA::escape($album),
|
||||
intval($page_owner_uid)
|
||||
);
|
||||
|
||||
if (!DBA::isResult($r)) {
|
||||
if (!DBA::exists('photo', ['album' => $album, 'uid' => $page_owner_uid])) {
|
||||
notice(DI::l10n()->t('Album not found.'));
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
|
||||
return; // NOTREACHED
|
||||
|
|
@ -321,7 +316,7 @@ function photos_post(App $a)
|
|||
}
|
||||
|
||||
if (!empty($_POST['rotate']) && (intval($_POST['rotate']) == 1 || intval($_POST['rotate']) == 2)) {
|
||||
Logger::log('rotate');
|
||||
Logger::notice('rotate');
|
||||
|
||||
$photo = Photo::getPhotoForUser($page_owner_uid, $resource_id);
|
||||
|
||||
|
|
@ -681,7 +676,7 @@ function photos_post(App $a)
|
|||
|
||||
$type = Images::getMimeTypeBySource($src, $filename, $type);
|
||||
|
||||
Logger::log('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', Logger::DEBUG);
|
||||
Logger::info('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes');
|
||||
|
||||
$maximagesize = DI::config()->get('system', 'maximagesize');
|
||||
|
||||
|
|
@ -701,14 +696,14 @@ function photos_post(App $a)
|
|||
return;
|
||||
}
|
||||
|
||||
Logger::log('mod/photos.php: photos_post(): loading the contents of ' . $src , Logger::DEBUG);
|
||||
Logger::info('loading the contents of ' . $src);
|
||||
|
||||
$imagedata = @file_get_contents($src);
|
||||
|
||||
$image = new Image($imagedata, $type);
|
||||
|
||||
if (!$image->isValid()) {
|
||||
Logger::log('mod/photos.php: photos_post(): unable to process image' , Logger::DEBUG);
|
||||
Logger::info('unable to process image');
|
||||
notice(DI::l10n()->t('Unable to process image.'));
|
||||
@unlink($src);
|
||||
$foo = 0;
|
||||
|
|
@ -737,7 +732,7 @@ function photos_post(App $a)
|
|||
$r = Photo::store($image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
|
||||
|
||||
if (!$r) {
|
||||
Logger::log('mod/photos.php: photos_post(): image store failed', Logger::DEBUG);
|
||||
Logger::info('image store failed');
|
||||
notice(DI::l10n()->t('Image upload failed.'));
|
||||
return;
|
||||
}
|
||||
|
|
@ -1020,13 +1015,15 @@ function photos_content(App $a)
|
|||
$drop_url = DI::args()->getQueryString();
|
||||
|
||||
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
|
||||
'$method' => 'post',
|
||||
'$message' => DI::l10n()->t('Do you really want to delete this photo album and all its photos?'),
|
||||
'$confirm' => DI::l10n()->t('Delete Album'),
|
||||
'$confirm_url' => $drop_url,
|
||||
'$confirm_name' => 'dropalbum',
|
||||
'$l10n' => [
|
||||
'message' => DI::l10n()->t('Do you really want to delete this photo album and all its photos?'),
|
||||
'confirm' => DI::l10n()->t('Delete Album'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
],
|
||||
'$method' => 'post',
|
||||
'$confirm_url' => $drop_url,
|
||||
'$confirm_name' => 'dropalbum',
|
||||
'$confirm_value' => 'dropalbum',
|
||||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -1127,13 +1124,15 @@ function photos_content(App $a)
|
|||
$drop_url = DI::args()->getQueryString();
|
||||
|
||||
return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [
|
||||
'$method' => 'post',
|
||||
'$message' => DI::l10n()->t('Do you really want to delete this photo?'),
|
||||
'$confirm' => DI::l10n()->t('Delete Photo'),
|
||||
'$confirm_url' => $drop_url,
|
||||
'$confirm_name' => 'delete',
|
||||
'$l10n' => [
|
||||
'message' => DI::l10n()->t('Do you really want to delete this photo?'),
|
||||
'confirm' => DI::l10n()->t('Delete Photo'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
],
|
||||
'$method' => 'post',
|
||||
'$confirm_url' => $drop_url,
|
||||
'$confirm_name' => 'delete',
|
||||
'$confirm_value' => 'delete',
|
||||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
261
mod/videos.php
261
mod/videos.php
|
|
@ -1,261 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Content\Nav;
|
||||
use Friendica\Content\Pager;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Attach;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\BaseProfile;
|
||||
use Friendica\Security\Security;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
function videos_init(App $a)
|
||||
{
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Nav::setSelected('home');
|
||||
|
||||
if (DI::args()->getArgc() > 1) {
|
||||
$owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]);
|
||||
if (empty($owner)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
// If not there, create 'aside' empty
|
||||
if (!isset(DI::page()['aside'])) {
|
||||
DI::page()['aside'] = '';
|
||||
}
|
||||
|
||||
DI::page()['aside'] .= Widget\VCard::getHTML($owner);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate("videos_head.tpl");
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function videos_post(App $a)
|
||||
{
|
||||
$user = User::getByNickname(DI::args()->getArgv()[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (local_user() != $user['uid']) {
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
}
|
||||
|
||||
if ((DI::args()->getArgc() == 2) && !empty($_POST['delete']) && !empty($_POST['id'])) {
|
||||
$video_id = $_POST['id'];
|
||||
|
||||
if (Attach::exists(['id' => $video_id, 'uid' => local_user()])) {
|
||||
// delete the attachment
|
||||
Attach::delete(['id' => $video_id, 'uid' => local_user()]);
|
||||
|
||||
// delete items where the attach is used
|
||||
Item::deleteForUser(['`attach` LIKE ? AND `uid` = ?',
|
||||
'%attach/' . $video_id . '%',
|
||||
local_user()
|
||||
], local_user());
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
}
|
||||
|
||||
function videos_content(App $a)
|
||||
{
|
||||
// URLs (most aren't currently implemented):
|
||||
// videos/name
|
||||
// videos/name/upload
|
||||
// videos/name/upload/xxxxx (xxxxx is album name)
|
||||
// videos/name/album/xxxxx
|
||||
// videos/name/album/xxxxx/edit
|
||||
// videos/name/video/xxxxx
|
||||
// videos/name/video/xxxxx/edit
|
||||
|
||||
$user = User::getByNickname(DI::args()->getArgv()[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
notice(DI::l10n()->t('Public access denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (empty($user)) {
|
||||
notice(DI::l10n()->t('No videos selected') . EOL );
|
||||
return;
|
||||
}
|
||||
|
||||
$profile = Profile::getByUID($user['uid']);
|
||||
//$phototypes = Photo::supportedTypes();
|
||||
|
||||
$_SESSION['video_return'] = DI::args()->getCommand();
|
||||
|
||||
//
|
||||
// Parse arguments
|
||||
//
|
||||
if (DI::args()->getArgc() > 3) {
|
||||
$datatype = DI::args()->getArgv()[2];
|
||||
} elseif((DI::args()->getArgc() > 2) && (DI::args()->getArgv()[2] === 'upload')) {
|
||||
$datatype = 'upload';
|
||||
} else {
|
||||
$datatype = 'summary';
|
||||
}
|
||||
|
||||
//
|
||||
// Setup permissions structures
|
||||
//
|
||||
$can_post = false;
|
||||
$visitor = 0;
|
||||
$remote_contact = false;
|
||||
$contact_id = 0;
|
||||
|
||||
$community_page = (($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
|
||||
|
||||
if ((local_user()) && (local_user() == $user['uid'])) {
|
||||
$can_post = true;
|
||||
} elseif ($community_page && !empty(Session::getRemoteContactID($user['uid']))) {
|
||||
$contact_id = Session::getRemoteContactID($user['uid']);
|
||||
$can_post = true;
|
||||
$remote_contact = true;
|
||||
$visitor = $contact_id;
|
||||
}
|
||||
|
||||
// perhaps they're visiting - but not a community page, so they wouldn't have write access
|
||||
if (!empty(Session::getRemoteContactID($user['uid'])) && !$visitor) {
|
||||
$contact_id = Session::getRemoteContactID($user['uid']);
|
||||
$remote_contact = true;
|
||||
}
|
||||
|
||||
if ($user['hidewall'] && (local_user() != $user['uid']) && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this item is restricted.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$sql_extra = Security::getPermissionsSQLByUserId($user['uid']);
|
||||
|
||||
$o = "";
|
||||
|
||||
// tabs
|
||||
$_is_owner = (local_user() && (local_user() == $user['uid']));
|
||||
$o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $user['nickname'], $profile['hide-friends']);
|
||||
|
||||
//
|
||||
// dispatch request
|
||||
//
|
||||
if ($datatype === 'upload') {
|
||||
return; // no uploading for now
|
||||
|
||||
// DELETED -- look at mod/photos.php if you want to implement
|
||||
}
|
||||
|
||||
if ($datatype === 'album') {
|
||||
return; // no albums for now
|
||||
|
||||
// DELETED -- look at mod/photos.php if you want to implement
|
||||
}
|
||||
|
||||
|
||||
if ($datatype === 'video') {
|
||||
return; // no single video view for now
|
||||
|
||||
// DELETED -- look at mod/photos.php if you want to implement
|
||||
}
|
||||
|
||||
// Default - show recent videos (no upload link for now)
|
||||
//$o = '';
|
||||
|
||||
$total = 0;
|
||||
$r = q("SELECT hash FROM `attach` WHERE `uid` = %d AND filetype LIKE '%%video%%'
|
||||
$sql_extra GROUP BY hash",
|
||||
intval($user['uid'])
|
||||
);
|
||||
if (DBA::isResult($r)) {
|
||||
$total = count($r);
|
||||
}
|
||||
|
||||
$pager = new Pager(DI::l10n(), DI::args()->getQueryString(), 20);
|
||||
|
||||
$r = q("SELECT hash, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`created`) AS `created`,
|
||||
ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`filetype`) as `filetype`
|
||||
FROM `attach`
|
||||
WHERE `uid` = %d AND filetype LIKE '%%video%%'
|
||||
$sql_extra GROUP BY hash ORDER BY `created` DESC LIMIT %d , %d",
|
||||
intval($user['uid']),
|
||||
$pager->getStart(),
|
||||
$pager->getItemsPerPage()
|
||||
);
|
||||
|
||||
$videos = [];
|
||||
|
||||
if (DBA::isResult($r)) {
|
||||
foreach ($r as $rr) {
|
||||
$alt_e = $rr['filename'];
|
||||
/// @todo The album isn't part of the above query. This seems to be some unfinished code that needs to be reworked completely.
|
||||
$rr['album'] = '';
|
||||
$name_e = $rr['album'];
|
||||
|
||||
$videos[] = [
|
||||
'id' => $rr['id'],
|
||||
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/video/' . $rr['hash'],
|
||||
'title' => DI::l10n()->t('View Video'),
|
||||
'src' => DI::baseUrl() . '/attach/' . $rr['id'] . '?attachment=0',
|
||||
'alt' => $alt_e,
|
||||
'mime' => $rr['filetype'],
|
||||
'album' => [
|
||||
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/album/' . bin2hex($rr['album']),
|
||||
'name' => $name_e,
|
||||
'alt' => DI::l10n()->t('View Album'),
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('videos_recent.tpl');
|
||||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => DI::l10n()->t('Recent Videos'),
|
||||
'$can_post' => $can_post,
|
||||
'$upload' => [DI::l10n()->t('Upload New Videos'), DI::baseUrl() . '/videos/' . $user['nickname'] . '/upload'],
|
||||
'$videos' => $videos,
|
||||
'$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $user['nickname'] : false)
|
||||
]);
|
||||
|
||||
$o .= $pager->renderFull($total);
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
|
@ -71,6 +71,44 @@ class Protocol
|
|||
|
||||
const PHANTOM = 'unkn'; // Place holder
|
||||
|
||||
/**
|
||||
* Returns whether the provided protocol supports following
|
||||
*
|
||||
* @param $protocol
|
||||
* @return bool
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function supportsFollow($protocol): bool
|
||||
{
|
||||
if (in_array($protocol, self::NATIVE_SUPPORT)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$result = null;
|
||||
Hook::callAll('support_follow', $result);
|
||||
|
||||
return $result === true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the provided protocol supports revoking inbound follows
|
||||
*
|
||||
* @param $protocol
|
||||
* @return bool
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function supportsRevokeFollow($protocol): bool
|
||||
{
|
||||
if (in_array($protocol, self::NATIVE_SUPPORT)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$result = null;
|
||||
Hook::callAll('support_revoke_follow', $result);
|
||||
|
||||
return $result === true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the address string for the provided profile URL
|
||||
*
|
||||
|
|
@ -212,7 +250,7 @@ class Protocol
|
|||
return ActivityPub\Transmitter::sendContactUndo($contact['url'], $contact['id'], $user['uid']);
|
||||
}
|
||||
|
||||
// Catch-all addon hook
|
||||
// Catch-all hook for connector addons
|
||||
$hook_data = [
|
||||
'contact' => $contact,
|
||||
'two_way' => $two_way,
|
||||
|
|
@ -222,4 +260,36 @@ class Protocol
|
|||
|
||||
return $hook_data['result'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Revoke an incoming follow from the provided contact
|
||||
*
|
||||
* @param array $contact Private contact (uid != 0) array
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function revokeFollow(array $contact)
|
||||
{
|
||||
if (empty($contact['network'])) {
|
||||
throw new \InvalidArgumentException('Missing network key in contact array');
|
||||
}
|
||||
|
||||
$protocol = $contact['network'];
|
||||
if ($protocol == Protocol::DFRN && !empty($contact['protocol'])) {
|
||||
$protocol = $contact['protocol'];
|
||||
}
|
||||
|
||||
if ($protocol == Protocol::ACTIVITYPUB) {
|
||||
return ActivityPub\Transmitter::sendContactReject($contact['url'], $contact['hub-verify'], $contact['uid']);
|
||||
}
|
||||
|
||||
// Catch-all hook for connector addons
|
||||
$hook_data = [
|
||||
'contact' => $contact,
|
||||
'result' => null,
|
||||
];
|
||||
Hook::callAll('revoke_follow', $hook_data);
|
||||
|
||||
return $hook_data['result'];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -849,6 +849,36 @@ class Contact
|
|||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Revoke follow privileges of the remote user contact
|
||||
*
|
||||
* @param array $contact Contact unfriended
|
||||
* @return bool|null Whether the remote operation is successful or null if no remote operation was performed
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function revokeFollow(array $contact): bool
|
||||
{
|
||||
if (empty($contact['network'])) {
|
||||
throw new \InvalidArgumentException('Empty network in contact array');
|
||||
}
|
||||
|
||||
if (empty($contact['uid'])) {
|
||||
throw new \InvalidArgumentException('Unexpected public contact record');
|
||||
}
|
||||
|
||||
$result = Protocol::revokeFollow($contact);
|
||||
|
||||
// A null value here means the remote network doesn't support explicit follow revocation, we can still
|
||||
// break the locally recorded relationship
|
||||
if ($result !== false) {
|
||||
DBA::update('contact', ['rel' => $contact['rel'] == self::FRIEND ? self::SHARING : self::NOTHING], ['id' => $contact['id']]);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Marks a contact for archival after a communication issue delay
|
||||
*
|
||||
|
|
@ -964,7 +994,6 @@ class Contact
|
|||
$pm_url = '';
|
||||
$status_link = '';
|
||||
$photos_link = '';
|
||||
$contact_drop_link = '';
|
||||
$poke_link = '';
|
||||
|
||||
if ($uid == 0) {
|
||||
|
|
@ -1016,13 +1045,9 @@ class Contact
|
|||
|
||||
$posts_link = DI::baseUrl() . '/contact/' . $contact['id'] . '/conversations';
|
||||
|
||||
if (!$contact['self']) {
|
||||
$contact_drop_link = DI::baseUrl() . '/contact/' . $contact['id'] . '/drop?confirm=1';
|
||||
}
|
||||
|
||||
$follow_link = '';
|
||||
$unfollow_link = '';
|
||||
if (!$contact['self'] && in_array($contact['network'], Protocol::NATIVE_SUPPORT)) {
|
||||
if (!$contact['self'] && Protocol::supportsFollow($contact['network'])) {
|
||||
if ($contact['uid'] && in_array($contact['rel'], [self::SHARING, self::FRIEND])) {
|
||||
$unfollow_link = 'unfollow?url=' . urlencode($contact['url']) . '&auto=1';
|
||||
} elseif(!$contact['pending']) {
|
||||
|
|
@ -1030,10 +1055,6 @@ class Contact
|
|||
}
|
||||
}
|
||||
|
||||
if (!empty($follow_link) || !empty($unfollow_link)) {
|
||||
$contact_drop_link = '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Menu array:
|
||||
* "name" => [ "Label", "link", (bool)Should the link opened in a new tab? ]
|
||||
|
|
@ -1053,7 +1074,6 @@ class Contact
|
|||
'photos' => [DI::l10n()->t('View Photos') , $photos_link , true],
|
||||
'network' => [DI::l10n()->t('Network Posts') , $posts_link , false],
|
||||
'edit' => [DI::l10n()->t('View Contact') , $contact_url , false],
|
||||
'drop' => [DI::l10n()->t('Drop Contact') , $contact_drop_link, false],
|
||||
'pm' => [DI::l10n()->t('Send PM') , $pm_url , false],
|
||||
'poke' => [DI::l10n()->t('Poke') , $poke_link , false],
|
||||
'follow' => [DI::l10n()->t('Connect/Follow'), $follow_link , true],
|
||||
|
|
@ -1340,12 +1360,13 @@ class Contact
|
|||
* @param bool $thread_mode
|
||||
* @param int $update Update mode
|
||||
* @param int $parent Item parent ID for the update mode
|
||||
* @param bool $only_media Only display media content
|
||||
* @return string posts in HTML
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function getPostsFromUrl($contact_url, $thread_mode = false, $update = 0, $parent = 0)
|
||||
public static function getPostsFromUrl($contact_url, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
|
||||
{
|
||||
return self::getPostsFromId(self::getIdForURL($contact_url), $thread_mode, $update, $parent);
|
||||
return self::getPostsFromId(self::getIdForURL($contact_url), $thread_mode, $update, $parent, $only_media);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1354,14 +1375,13 @@ class Contact
|
|||
* @param int $cid Contact ID
|
||||
* @param bool $thread_mode
|
||||
* @param int $update Update mode
|
||||
* @param int $parent Item parent ID for the update mode
|
||||
* @param int $parent Item parent ID for the update mode
|
||||
* @param bool $only_media Only display media content
|
||||
* @return string posts in HTML
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function getPostsFromId($cid, $thread_mode = false, $update = 0, $parent = 0)
|
||||
public static function getPostsFromId($cid, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
|
||||
{
|
||||
$a = DI::app();
|
||||
|
||||
$contact = DBA::selectFirst('contact', ['contact-type', 'network'], ['id' => $cid]);
|
||||
if (!DBA::isResult($contact)) {
|
||||
return '';
|
||||
|
|
@ -1392,6 +1412,11 @@ class Contact
|
|||
}
|
||||
}
|
||||
|
||||
if ($only_media) {
|
||||
$condition = DBA::mergeConditions($condition, ["`uri-id` IN (SELECT `uri-id` FROM `post-media` WHERE `type` IN (?, ?, ?))",
|
||||
Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO]);
|
||||
}
|
||||
|
||||
if (DI::mode()->isMobile()) {
|
||||
$itemsPerPage = DI::pConfig()->get(local_user(), 'system', 'itemspage_mobile_network',
|
||||
DI::config()->get('system', 'itemspage_network_mobile'));
|
||||
|
|
|
|||
|
|
@ -68,15 +68,14 @@ class BaseProfile extends BaseModule
|
|||
'id' => 'photo-tab',
|
||||
'accesskey' => 'h',
|
||||
],
|
||||
// @todo Currently deactivated since it doesn't really work
|
||||
// [
|
||||
// 'label' => DI::l10n()->t('Videos'),
|
||||
// 'url' => DI::baseUrl() . '/videos/' . $nickname,
|
||||
// 'sel' => $current == 'videos' ? 'active' : '',
|
||||
// 'title' => DI::l10n()->t('Videos'),
|
||||
// 'id' => 'video-tab',
|
||||
// 'accesskey' => 'v',
|
||||
// ],
|
||||
[
|
||||
'label' => DI::l10n()->t('Media'),
|
||||
'url' => $baseProfileUrl . '/media',
|
||||
'sel' => $current == 'media' ? 'active' : '',
|
||||
'title' => DI::l10n()->t('Media'),
|
||||
'id' => 'media-tab',
|
||||
'accesskey' => 'd',
|
||||
],
|
||||
];
|
||||
|
||||
// the calendar link for the full featured events calendar
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ class Contact extends BaseModule
|
|||
const TAB_PROFILE = 3;
|
||||
const TAB_CONTACTS = 4;
|
||||
const TAB_ADVANCED = 5;
|
||||
const TAB_MEDIA = 6;
|
||||
|
||||
private static function batchActions()
|
||||
{
|
||||
|
|
@ -86,12 +87,6 @@ class Contact extends BaseModule
|
|||
self::toggleIgnoreContact($cdata['public']);
|
||||
$count_actions++;
|
||||
}
|
||||
|
||||
if (!empty($_POST['contacts_batch_drop']) && $cdata['user']
|
||||
&& self::dropContact($cdata['user'], local_user())
|
||||
) {
|
||||
$count_actions++;
|
||||
}
|
||||
}
|
||||
if ($count_actions > 0) {
|
||||
info(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions));
|
||||
|
|
@ -229,31 +224,6 @@ class Contact extends BaseModule
|
|||
Model\Contact\User::setIgnored($contact_id, local_user(), $ignored);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $contact_id Id for contact with uid != 0
|
||||
* @param int $uid Id for user we want to drop the contact for
|
||||
* @return bool
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
private static function dropContact(int $contact_id, int $uid): bool
|
||||
{
|
||||
$contact = Model\Contact::getContactForUser($contact_id, $uid);
|
||||
if (!DBA::isResult($contact)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$owner = Model\User::getOwnerDataById($uid);
|
||||
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)
|
||||
{
|
||||
if (!local_user()) {
|
||||
|
|
@ -372,7 +342,7 @@ class Contact extends BaseModule
|
|||
}
|
||||
|
||||
if ($cmd === 'posts') {
|
||||
return self::getPostsHTML($a, $contact_id);
|
||||
return self::getPostsHTML($contact_id);
|
||||
}
|
||||
|
||||
if ($cmd === 'conversations') {
|
||||
|
|
@ -425,36 +395,6 @@ class Contact extends BaseModule
|
|||
DI::baseUrl()->redirect('contact/' . $cdata['public']);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
if ($cmd === 'drop' && $cdata['user']) {
|
||||
// Check if we should do HTML-based delete confirmation
|
||||
if (!empty($_REQUEST['confirm'])) {
|
||||
DI::page()['aside'] = '';
|
||||
|
||||
return Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_drop_confirm.tpl'), [
|
||||
'$header' => DI::l10n()->t('Drop contact'),
|
||||
'$contact' => self::getContactTemplateVars($orig_record),
|
||||
'$method' => 'get',
|
||||
'$message' => DI::l10n()->t('Do you really want to delete this contact?'),
|
||||
'$confirm' => DI::l10n()->t('Yes'),
|
||||
'$confirm_url' => DI::args()->getCommand(),
|
||||
'$confirm_name' => 't',
|
||||
'$confirm_value' => BaseModule::getFormSecurityToken('contact_action'),
|
||||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
]);
|
||||
}
|
||||
// Now check how the user responded to the confirmation query
|
||||
if (!empty($_REQUEST['canceled'])) {
|
||||
DI::baseUrl()->redirect('contact');
|
||||
}
|
||||
|
||||
if (self::dropContact($cdata['user'], local_user())) {
|
||||
info(DI::l10n()->t('Contact has been removed.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('contact');
|
||||
// NOTREACHED
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION['return_path'] = DI::args()->getQueryString();
|
||||
|
|
@ -856,13 +796,11 @@ class Contact extends BaseModule
|
|||
'$cmd' => DI::args()->getCommand(),
|
||||
'$contacts' => $contacts,
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken('contact_batch_actions'),
|
||||
'$contact_drop_confirm' => DI::l10n()->t('Do you really want to delete this contact?'),
|
||||
'multiselect' => 1,
|
||||
'$batch_actions' => [
|
||||
'contacts_batch_update' => DI::l10n()->t('Update'),
|
||||
'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'),
|
||||
'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'),
|
||||
'contacts_batch_drop' => DI::l10n()->t('Delete'),
|
||||
],
|
||||
'$h_batch_actions' => DI::l10n()->t('Batch Actions'),
|
||||
'$paginate' => $pager->renderFull($total),
|
||||
|
|
@ -911,6 +849,14 @@ class Contact extends BaseModule
|
|||
'id' => 'posts-tab',
|
||||
'accesskey' => 'p',
|
||||
],
|
||||
[
|
||||
'label' => DI::l10n()->t('Media'),
|
||||
'url' => 'contact/' . $pcid . '/media',
|
||||
'sel' => (($active_tab == self::TAB_MEDIA) ? 'active' : ''),
|
||||
'title' => DI::l10n()->t('Posts containing media objects'),
|
||||
'id' => 'media-tab',
|
||||
'accesskey' => 'd',
|
||||
],
|
||||
[
|
||||
'label' => DI::l10n()->t('Profile'),
|
||||
'url' => 'contact/' . $cid,
|
||||
|
|
@ -979,7 +925,7 @@ class Contact extends BaseModule
|
|||
return $o;
|
||||
}
|
||||
|
||||
private static function getPostsHTML($a, $contact_id)
|
||||
private static function getPostsHTML(int $contact_id)
|
||||
{
|
||||
$contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id, 'deleted' => false]);
|
||||
|
||||
|
|
@ -1145,13 +1091,13 @@ class Contact extends BaseModule
|
|||
'id' => 'toggle-ignore',
|
||||
];
|
||||
|
||||
if ($contact['uid'] != 0) {
|
||||
$contact_actions['delete'] = [
|
||||
'label' => DI::l10n()->t('Delete'),
|
||||
'url' => 'contact/' . $contact['id'] . '/drop?t=' . $formSecurityToken,
|
||||
'title' => DI::l10n()->t('Delete contact'),
|
||||
if ($contact['uid'] != 0 && Protocol::supportsRevokeFollow($contact['network']) && in_array($contact['rel'], [Model\Contact::FOLLOWER, Model\Contact::FRIEND])) {
|
||||
$contact_actions['revoke_follow'] = [
|
||||
'label' => DI::l10n()->t('Revoke Follow'),
|
||||
'url' => 'contact/' . $contact['id'] . '/revoke',
|
||||
'title' => DI::l10n()->t('Revoke the follow from this contact'),
|
||||
'sel' => '',
|
||||
'id' => 'delete',
|
||||
'id' => 'revoke_follow',
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
54
src/Module/Contact/Media.php
Normal file
54
src/Module/Contact/Media.php
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Friendica\Module\Contact;
|
||||
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Model\Contact as ModelContact;
|
||||
use Friendica\Module\Contact;
|
||||
use Friendica\Network\HTTPException\BadRequestException;
|
||||
|
||||
/**
|
||||
* GUI for media posts of a contact
|
||||
*/
|
||||
class Media extends BaseModule
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
{
|
||||
$cid = $parameters['id'];
|
||||
|
||||
$contact = Model\Contact::selectFirst([], ['id' => $cid]);
|
||||
if (empty($contact)) {
|
||||
throw new BadRequestException(DI::l10n()->t('Contact not found.'));
|
||||
}
|
||||
|
||||
DI::page()['aside'] = Widget\VCard::getHTML($contact);
|
||||
|
||||
$o = Contact::getTabsHTML($contact, Contact::TAB_MEDIA);
|
||||
|
||||
$o .= ModelContact::getPostsFromUrl($contact['url'], false, 0, 0, true);
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
108
src/Module/Contact/Revoke.php
Normal file
108
src/Module/Contact/Revoke.php
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Friendica\Module\Contact;
|
||||
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\Nav;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Module\Contact;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
class Revoke extends BaseModule
|
||||
{
|
||||
/** @var array */
|
||||
private static $contact;
|
||||
|
||||
public static function init(array $parameters = [])
|
||||
{
|
||||
if (!local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$data = Model\Contact::getPublicAndUserContactID($parameters['id'], local_user());
|
||||
if (!DBA::isResult($data)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown contact.'));
|
||||
}
|
||||
|
||||
if (empty($data['user'])) {
|
||||
throw new HTTPException\ForbiddenException();
|
||||
}
|
||||
|
||||
self::$contact = Model\Contact::getById($data['user']);
|
||||
|
||||
if (self::$contact['deleted']) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Contact is deleted.'));
|
||||
}
|
||||
|
||||
if (!empty(self::$contact['network']) && self::$contact['network'] == Protocol::PHANTOM) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Contact is being deleted.'));
|
||||
}
|
||||
}
|
||||
|
||||
public static function post(array $parameters = [])
|
||||
{
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException();
|
||||
}
|
||||
|
||||
self::checkFormSecurityTokenRedirectOnError('contact/' . $parameters['id'], 'contact_revoke');
|
||||
|
||||
$result = Model\Contact::revokeFollow(self::$contact);
|
||||
if ($result === true) {
|
||||
notice(DI::l10n()->t('Follow was successfully revoked.'));
|
||||
} elseif ($result === null) {
|
||||
notice(DI::l10n()->t('Follow was successfully revoked, however the remote contact won\'t be aware of this revokation.'));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Unable to revoke follow, please try again later or contact the administrator.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('contact/' . $parameters['id']);
|
||||
}
|
||||
|
||||
public static function content(array $parameters = []): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
return Login::form($_SERVER['REQUEST_URI']);
|
||||
}
|
||||
|
||||
Nav::setSelected('contact');
|
||||
|
||||
return Renderer::replaceMacros(Renderer::getMarkupTemplate('contact_drop_confirm.tpl'), [
|
||||
'$l10n' => [
|
||||
'header' => DI::l10n()->t('Revoke Follow'),
|
||||
'message' => DI::l10n()->t('Do you really want to revoke this contact\'s follow? This cannot be undone and they will have to manually follow you back again.'),
|
||||
'confirm' => DI::l10n()->t('Yes'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
],
|
||||
'$contact' => Contact::getContactTemplateVars(self::$contact),
|
||||
'$method' => 'post',
|
||||
'$confirm_url' => DI::args()->getCommand(),
|
||||
'$confirm_name' => 'form_security_token',
|
||||
'$confirm_value' => BaseModule::getFormSecurityToken('contact_revoke'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
53
src/Module/Profile/Media.php
Normal file
53
src/Module/Profile/Media.php
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Friendica\Module\Profile;
|
||||
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Profile as ProfileModel;
|
||||
use Friendica\Module\BaseProfile;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
class Media extends BaseProfile
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
{
|
||||
$a = DI::app();
|
||||
|
||||
$profile = ProfileModel::load($a, $parameters['nickname']);
|
||||
if (empty($profile)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (!$profile['net-publish']) {
|
||||
DI::page()['htmlhead'] .= '<meta content="noindex, noarchive" name="robots" />' . "\n";
|
||||
}
|
||||
|
||||
$is_owner = local_user() == $profile['uid'];
|
||||
|
||||
$o = self::getTabsHTML($a, 'media', $is_owner, $profile['nickname'], $profile['hide-friends']);
|
||||
|
||||
$o .= Contact::getPostsFromUrl($profile['url'], false, 0, 0, true);
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
||||
|
|
@ -1037,9 +1037,12 @@ class Processor
|
|||
|
||||
self::switchContact($cid);
|
||||
|
||||
if (DBA::exists('contact', ['id' => $cid, 'rel' => Contact::SHARING])) {
|
||||
$contact = Contact::getById($cid, ['rel']);
|
||||
if ($contact['rel'] == Contact::SHARING) {
|
||||
Contact::remove($cid);
|
||||
Logger::info('Rejected contact request - contact removed', ['contact' => $cid, 'user' => $uid]);
|
||||
} elseif ($contact['rel'] == Contact::FRIEND) {
|
||||
Contact::update(['rel' => Contact::FOLLOWER], ['id' => $cid]);
|
||||
} else {
|
||||
Logger::info('Rejected contact request', ['contact' => $cid, 'user' => $uid]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2047,15 +2047,16 @@ class Transmitter
|
|||
* @param string $target Target profile
|
||||
* @param $id
|
||||
* @param integer $uid User ID
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @return bool Operation success
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public static function sendContactReject($target, $id, $uid)
|
||||
public static function sendContactReject($target, $id, $uid): bool
|
||||
{
|
||||
$profile = APContact::getByURL($target);
|
||||
if (empty($profile['inbox'])) {
|
||||
Logger::warning('No inbox found for target', ['target' => $target, 'profile' => $profile]);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
|
|
@ -2075,7 +2076,7 @@ class Transmitter
|
|||
Logger::debug('Sending reject to ' . $target . ' for user ' . $uid . ' with id ' . $id);
|
||||
|
||||
$signed = LDSignature::sign($data, $owner);
|
||||
HTTPSignature::transmit($signed, $profile['inbox'], $uid);
|
||||
return HTTPSignature::transmit($signed, $profile['inbox'], $uid);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ $profileRoutes = [
|
|||
'/contacts/common' => [Module\Profile\Common::class, [R::GET]],
|
||||
'/contacts[/{type}]' => [Module\Profile\Contacts::class, [R::GET]],
|
||||
'/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class, [R::GET]],
|
||||
'/media' => [Module\Profile\Media::class, [R::GET]],
|
||||
];
|
||||
|
||||
return [
|
||||
|
|
@ -235,10 +236,11 @@ return [
|
|||
'/{id:\d+}/block' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/conversations' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class, [R::GET]],
|
||||
'/{id:\d+}/drop' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/media' => [Module\Contact\Media::class, [R::GET]],
|
||||
'/{id:\d+}/poke' => [Module\Contact\Poke::class, [R::GET, R::POST]],
|
||||
'/{id:\d+}/posts' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/revoke' => [Module\Contact\Revoke::class, [R::GET, R::POST]],
|
||||
'/{id:\d+}/update' => [Module\Contact::class, [R::GET]],
|
||||
'/{id:\d+}/updateprofile' => [Module\Contact::class, [R::GET]],
|
||||
'/archived' => [Module\Contact::class, [R::GET]],
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 2021.12-dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-02 08:34-0400\n"
|
||||
"POT-Creation-Date: 2021-10-02 16:06-0400\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"
|
||||
|
|
@ -37,8 +37,8 @@ msgstr[1] ""
|
|||
msgid "Monthly posting limit of %d post reached. The post was rejected."
|
||||
msgstr ""
|
||||
|
||||
#: include/api.php:4430 mod/photos.php:89 mod/photos.php:198 mod/photos.php:626
|
||||
#: mod/photos.php:1035 mod/photos.php:1052 mod/photos.php:1599
|
||||
#: include/api.php:4430 mod/photos.php:89 mod/photos.php:198 mod/photos.php:621
|
||||
#: mod/photos.php:1032 mod/photos.php:1049 mod/photos.php:1598
|
||||
#: src/Model/User.php:1169 src/Model/User.php:1177 src/Model/User.php:1185
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:117
|
||||
|
|
@ -302,7 +302,7 @@ msgstr ""
|
|||
#: mod/api.php:30 mod/editpost.php:38 mod/events.php:236 mod/follow.php:56
|
||||
#: mod/follow.php:130 mod/item.php:185 mod/item.php:190 mod/item.php:936
|
||||
#: mod/message.php:69 mod/message.php:111 mod/notes.php:44
|
||||
#: mod/ostatus_subscribe.php:32 mod/photos.php:163 mod/photos.php:917
|
||||
#: mod/ostatus_subscribe.php:32 mod/photos.php:163 mod/photos.php:912
|
||||
#: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:57
|
||||
#: mod/settings.php:417 mod/suggest.php:34 mod/uimport.php:32
|
||||
#: mod/unfollow.php:35 mod/unfollow.php:50 mod/unfollow.php:82
|
||||
|
|
@ -311,7 +311,7 @@ msgstr ""
|
|||
#: 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:97 src/Module/BaseApi.php:106
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:356
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:326
|
||||
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118
|
||||
#: 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
|
||||
|
|
@ -343,12 +343,11 @@ msgid "Access denied."
|
|||
msgstr ""
|
||||
|
||||
#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:69 mod/photos.php:143
|
||||
#: mod/photos.php:824 mod/videos.php:49 mod/videos.php:70 mod/videos.php:111
|
||||
#: src/Model/Profile.php:228 src/Module/HCard.php:52
|
||||
#: mod/photos.php:819 src/Model/Profile.php:228 src/Module/HCard.php:52
|
||||
#: src/Module/Profile/Common.php:41 src/Module/Profile/Common.php:52
|
||||
#: src/Module/Profile/Contacts.php:40 src/Module/Profile/Contacts.php:50
|
||||
#: src/Module/Profile/Status.php:58 src/Module/Register.php:256
|
||||
#: src/Module/RemoteFollow.php:49
|
||||
#: src/Module/Profile/Media.php:38 src/Module/Profile/Status.php:58
|
||||
#: src/Module/Register.php:256 src/Module/RemoteFollow.php:49
|
||||
msgid "User not found."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -358,45 +357,45 @@ msgstr ""
|
|||
msgid "Access to this profile has been restricted."
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:251 mod/events.php:422 src/Content/Nav.php:194
|
||||
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:85
|
||||
#: src/Module/BaseProfile.php:96 view/theme/frio/theme.php:230
|
||||
#: mod/cal.php:251 mod/events.php:416 src/Content/Nav.php:194
|
||||
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:84
|
||||
#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:230
|
||||
#: view/theme/frio/theme.php:234
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:252 mod/events.php:423
|
||||
#: mod/cal.php:252 mod/events.php:417
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:253 mod/events.php:425
|
||||
#: mod/cal.php:253 mod/events.php:419
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:254 mod/events.php:426 src/Module/Install.php:207
|
||||
#: mod/cal.php:254 mod/events.php:420 src/Module/Install.php:207
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:257 mod/events.php:431 src/Model/Event.php:474
|
||||
#: mod/cal.php:257 mod/events.php:425 src/Model/Event.php:474
|
||||
msgid "today"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:258 mod/events.php:432 src/Model/Event.php:475
|
||||
#: mod/cal.php:258 mod/events.php:426 src/Model/Event.php:475
|
||||
#: src/Util/Temporal.php:330
|
||||
msgid "month"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:259 mod/events.php:433 src/Model/Event.php:476
|
||||
#: mod/cal.php:259 mod/events.php:427 src/Model/Event.php:476
|
||||
#: src/Util/Temporal.php:331
|
||||
msgid "week"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:260 mod/events.php:434 src/Model/Event.php:477
|
||||
#: mod/cal.php:260 mod/events.php:428 src/Model/Event.php:477
|
||||
#: src/Util/Temporal.php:332
|
||||
msgid "day"
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:261 mod/events.php:435
|
||||
#: mod/cal.php:261 mod/events.php:429
|
||||
msgid "list"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -419,7 +418,7 @@ msgstr ""
|
|||
msgid "calendar"
|
||||
msgstr ""
|
||||
|
||||
#: mod/display.php:165 mod/photos.php:828 mod/videos.php:115
|
||||
#: mod/display.php:165 mod/photos.php:823
|
||||
#: src/Module/Conversation/Community.php:176 src/Module/Debug/Probe.php:39
|
||||
#: src/Module/Debug/WebFinger.php:38 src/Module/Directory.php:49
|
||||
#: src/Module/Search/Index.php:50 src/Module/Search/Index.php:55
|
||||
|
|
@ -447,12 +446,12 @@ msgstr ""
|
|||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1375 src/Content/Conversation.php:326
|
||||
#: mod/editpost.php:92 mod/photos.php:1374 src/Content/Conversation.php:326
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:964
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:93 mod/message.php:201 mod/message.php:365
|
||||
#: mod/editpost.php:93 mod/message.php:198 mod/message.php:362
|
||||
#: mod/wallmessage.php:153 src/Content/Conversation.php:327
|
||||
msgid "Upload photo"
|
||||
msgstr ""
|
||||
|
|
@ -469,7 +468,7 @@ msgstr ""
|
|||
msgid "attach file"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:97 mod/message.php:202 mod/message.php:366
|
||||
#: mod/editpost.php:97 mod/message.php:199 mod/message.php:363
|
||||
#: mod/wallmessage.php:154
|
||||
msgid "Insert web link"
|
||||
msgstr ""
|
||||
|
|
@ -511,8 +510,8 @@ msgstr ""
|
|||
msgid "clear location"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1526 mod/wallmessage.php:155 src/Content/Conversation.php:355
|
||||
#: mod/editpost.php:107 mod/message.php:200 mod/message.php:365
|
||||
#: mod/photos.php:1525 mod/wallmessage.php:155 src/Content/Conversation.php:355
|
||||
#: src/Content/Conversation.php:689 src/Module/Item/Compose.php:165
|
||||
#: src/Object/Post.php:502
|
||||
msgid "Please wait"
|
||||
|
|
@ -544,16 +543,16 @@ msgstr ""
|
|||
msgid "Example: bob@example.com, mary@example.com"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:128 mod/events.php:578 mod/photos.php:1374
|
||||
#: mod/photos.php:1430 mod/photos.php:1504 src/Content/Conversation.php:370
|
||||
#: mod/editpost.php:128 mod/events.php:566 mod/photos.php:1373
|
||||
#: mod/photos.php:1429 mod/photos.php:1503 src/Content/Conversation.php:370
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134
|
||||
#: mod/follow.php:144 mod/photos.php:1029 mod/photos.php:1136 mod/tagrm.php:37
|
||||
#: mod/follow.php:144 mod/photos.php:1021 mod/photos.php:1130 mod/tagrm.php:37
|
||||
#: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373
|
||||
#: src/Module/Contact.php:443 src/Module/RemoteFollow.php:116
|
||||
#: src/Module/Contact/Revoke.php:99 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -568,8 +567,8 @@ msgstr ""
|
|||
msgid "Browser"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:136 mod/events.php:583 mod/photos.php:965
|
||||
#: mod/photos.php:1328 src/Content/Conversation.php:357
|
||||
#: mod/editpost.php:136 mod/events.php:571 mod/photos.php:960
|
||||
#: mod/photos.php:1327 src/Content/Conversation.php:357
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -585,23 +584,23 @@ msgstr ""
|
|||
msgid "Event title and start time are required."
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:424
|
||||
#: mod/events.php:418
|
||||
msgid "Create New Event"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:536 src/Module/Admin/Logs/View.php:96
|
||||
#: mod/events.php:524 src/Module/Admin/Logs/View.php:96
|
||||
msgid "Event details"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:537
|
||||
#: mod/events.php:525
|
||||
msgid "Starting date and Title are required."
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:538 mod/events.php:543
|
||||
#: mod/events.php:526 mod/events.php:531
|
||||
msgid "Event Starts:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:538 mod/events.php:570
|
||||
#: mod/events.php:526 mod/events.php:558
|
||||
#: src/Module/Admin/Blocklist/Server.php:79
|
||||
#: src/Module/Admin/Blocklist/Server.php:80
|
||||
#: src/Module/Admin/Blocklist/Server.php:99
|
||||
|
|
@ -619,43 +618,43 @@ msgstr ""
|
|||
msgid "Required"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:551 mod/events.php:576
|
||||
#: mod/events.php:539 mod/events.php:564
|
||||
msgid "Finish date/time is not known or not relevant"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:553 mod/events.php:558
|
||||
#: mod/events.php:541 mod/events.php:546
|
||||
msgid "Event Finishes:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:564 mod/events.php:577
|
||||
#: mod/events.php:552 mod/events.php:565
|
||||
msgid "Adjust for viewer timezone"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:566 src/Module/Profile/Profile.php:172
|
||||
#: mod/events.php:554 src/Module/Profile/Profile.php:172
|
||||
#: src/Module/Settings/Profile/Index.php:236
|
||||
msgid "Description:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
|
||||
#: mod/events.php:556 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/Profile.php:367 src/Module/Contact.php:623
|
||||
#: src/Model/Profile.php:367 src/Module/Contact.php:563
|
||||
#: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
|
||||
#: src/Module/Profile/Profile.php:194
|
||||
msgid "Location:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:570 mod/events.php:572
|
||||
#: mod/events.php:558 mod/events.php:560
|
||||
msgid "Title:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:573 mod/events.php:574
|
||||
#: mod/events.php:561 mod/events.php:562
|
||||
msgid "Share this event"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:580 mod/message.php:204 mod/message.php:367
|
||||
#: mod/photos.php:947 mod/photos.php:1046 mod/photos.php:1332
|
||||
#: mod/photos.php:1373 mod/photos.php:1429 mod/photos.php:1503
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:581
|
||||
#: mod/events.php:568 mod/message.php:201 mod/message.php:364
|
||||
#: mod/photos.php:942 mod/photos.php:1043 mod/photos.php:1331
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:521
|
||||
#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158
|
||||
#: src/Module/Debug/ActivityPubConversion.php:141
|
||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||
|
|
@ -670,16 +669,16 @@ msgstr ""
|
|||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:581 src/Module/Profile/Profile.php:248
|
||||
#: mod/events.php:569 src/Module/Profile/Profile.php:248
|
||||
msgid "Basic"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:932
|
||||
#: mod/events.php:570 src/Module/Admin/Site.php:505 src/Module/Contact.php:878
|
||||
#: src/Module/Profile/Profile.php:249
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:599
|
||||
#: mod/events.php:587
|
||||
msgid "Failed to remove event"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -718,7 +717,7 @@ msgid "OStatus support is disabled. Contact can't be added."
|
|||
msgstr ""
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:463 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1046 src/Model/Contact.php:1059
|
||||
#: src/Model/Contact.php:1067 src/Model/Contact.php:1079
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr ""
|
||||
|
|
@ -732,13 +731,13 @@ msgid "Your Identity Address:"
|
|||
msgstr ""
|
||||
|
||||
#: mod/follow.php:141 mod/unfollow.php:100
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:619
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:559
|
||||
#: src/Module/Notifications/Introductions.php:108
|
||||
#: src/Module/Notifications/Introductions.php:177
|
||||
msgid "Profile URL"
|
||||
msgstr ""
|
||||
|
||||
#: mod/follow.php:142 src/Module/Contact.php:631
|
||||
#: mod/follow.php:142 src/Module/Contact.php:571
|
||||
#: src/Module/Notifications/Introductions.php:170
|
||||
#: src/Module/Profile/Profile.php:207
|
||||
msgid "Tags:"
|
||||
|
|
@ -754,7 +753,7 @@ msgid "Add a personal note:"
|
|||
msgstr ""
|
||||
|
||||
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
|
||||
#: src/Module/Contact.php:910
|
||||
#: src/Module/Contact.php:848
|
||||
msgid "Status Messages and Posts"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -976,84 +975,84 @@ msgstr ""
|
|||
msgid "Message was not deleted."
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:169
|
||||
#: mod/message.php:166
|
||||
msgid "Conversation was not removed."
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:183 mod/message.php:296 mod/wallmessage.php:137
|
||||
#: mod/message.php:180 mod/message.php:293 mod/wallmessage.php:137
|
||||
msgid "Please enter a link URL:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:192 mod/wallmessage.php:142
|
||||
#: mod/message.php:189 mod/wallmessage.php:142
|
||||
msgid "Send Private Message"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:193 mod/message.php:357 mod/wallmessage.php:144
|
||||
#: mod/message.php:190 mod/message.php:354 mod/wallmessage.php:144
|
||||
msgid "To:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:194 mod/message.php:358 mod/wallmessage.php:145
|
||||
#: mod/message.php:191 mod/message.php:355 mod/wallmessage.php:145
|
||||
msgid "Subject:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:198 mod/message.php:361 mod/wallmessage.php:151
|
||||
#: mod/message.php:195 mod/message.php:358 mod/wallmessage.php:151
|
||||
#: src/Module/Invite.php:170
|
||||
msgid "Your message:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:232
|
||||
#: mod/message.php:229
|
||||
msgid "No messages."
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:288
|
||||
#: mod/message.php:285
|
||||
msgid "Message not available."
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:333
|
||||
#: mod/message.php:330
|
||||
msgid "Delete message"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:335 mod/message.php:467
|
||||
#: mod/message.php:332 mod/message.php:464
|
||||
msgid "D, d M Y - g:i A"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:350 mod/message.php:464
|
||||
#: mod/message.php:347 mod/message.php:461
|
||||
msgid "Delete conversation"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:352
|
||||
#: mod/message.php:349
|
||||
msgid ""
|
||||
"No secure communications available. You <strong>may</strong> be able to "
|
||||
"respond from the sender's profile page."
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:356
|
||||
#: mod/message.php:353
|
||||
msgid "Send Reply"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:438
|
||||
#: mod/message.php:435
|
||||
#, php-format
|
||||
msgid "Unknown sender - %s"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:440
|
||||
#: mod/message.php:437
|
||||
#, php-format
|
||||
msgid "You and %s"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:442
|
||||
#: mod/message.php:439
|
||||
#, php-format
|
||||
msgid "%s and You"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:470
|
||||
#: mod/message.php:467
|
||||
#, php-format
|
||||
msgid "%d message"
|
||||
msgid_plural "%d messages"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: mod/notes.php:51 src/Module/BaseProfile.php:107
|
||||
#: mod/notes.php:51 src/Module/BaseProfile.php:106
|
||||
msgid "Personal Notes"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1113,11 +1112,11 @@ msgstr ""
|
|||
msgid "Photo Albums"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:112 mod/photos.php:1628
|
||||
#: mod/photos.php:112 mod/photos.php:1627
|
||||
msgid "Recent Photos"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:114 mod/photos.php:1097 mod/photos.php:1630
|
||||
#: mod/photos.php:114 mod/photos.php:1094 mod/photos.php:1629
|
||||
msgid "Upload New Photos"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1129,236 +1128,235 @@ msgstr ""
|
|||
msgid "Contact information unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:209
|
||||
#: mod/photos.php:204
|
||||
msgid "Album not found."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:267
|
||||
#: mod/photos.php:262
|
||||
msgid "Album successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:269
|
||||
#: mod/photos.php:264
|
||||
msgid "Album was empty."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:301
|
||||
#: mod/photos.php:296
|
||||
msgid "Failed to delete the photo."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:576
|
||||
#: mod/photos.php:571
|
||||
msgid "a photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:576
|
||||
#: mod/photos.php:571
|
||||
#, php-format
|
||||
msgid "%1$s was tagged in %2$s by %3$s"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:659 mod/photos.php:662 mod/photos.php:689
|
||||
#: mod/photos.php:654 mod/photos.php:657 mod/photos.php:684
|
||||
#: mod/wall_upload.php:216 src/Module/Settings/Profile/Photo/Index.php:60
|
||||
#, php-format
|
||||
msgid "Image exceeds size limit of %s"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:665
|
||||
#: mod/photos.php:660
|
||||
msgid "Image upload didn't complete, please try again"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:668
|
||||
#: mod/photos.php:663
|
||||
msgid "Image file is missing"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:673
|
||||
#: mod/photos.php:668
|
||||
msgid ""
|
||||
"Server can't accept new file upload at this time, please contact your "
|
||||
"administrator"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:697
|
||||
#: mod/photos.php:692
|
||||
msgid "Image file is empty."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:712 mod/wall_upload.php:175
|
||||
#: mod/photos.php:707 mod/wall_upload.php:175
|
||||
#: src/Module/Settings/Profile/Photo/Index.php:69
|
||||
msgid "Unable to process image."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:741 mod/wall_upload.php:241
|
||||
#: mod/photos.php:736 mod/wall_upload.php:241
|
||||
#: src/Module/Settings/Profile/Photo/Index.php:96
|
||||
msgid "Image upload failed."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:833
|
||||
#: mod/photos.php:828
|
||||
msgid "No photos selected"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:902 mod/videos.php:166
|
||||
#: mod/photos.php:897
|
||||
msgid "Access to this item is restricted."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:957
|
||||
#: mod/photos.php:952
|
||||
msgid "Upload Photos"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:961 mod/photos.php:1042
|
||||
#: mod/photos.php:956 mod/photos.php:1039
|
||||
msgid "New album name: "
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:962
|
||||
#: mod/photos.php:957
|
||||
msgid "or select existing album:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:963
|
||||
#: mod/photos.php:958
|
||||
msgid "Do not show a status post for this upload"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1024
|
||||
#: mod/photos.php:1019
|
||||
msgid "Do you really want to delete this photo album and all its photos?"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1025 mod/photos.php:1047
|
||||
#: mod/photos.php:1020 mod/photos.php:1044
|
||||
msgid "Delete Album"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1053
|
||||
#: mod/photos.php:1050
|
||||
msgid "Edit Album"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1054
|
||||
#: mod/photos.php:1051
|
||||
msgid "Drop Album"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1059
|
||||
#: mod/photos.php:1056
|
||||
msgid "Show Newest First"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1061
|
||||
#: mod/photos.php:1058
|
||||
msgid "Show Oldest First"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1082 mod/photos.php:1613
|
||||
#: mod/photos.php:1079 mod/photos.php:1612
|
||||
msgid "View Photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1119
|
||||
#: mod/photos.php:1116
|
||||
msgid "Permission denied. Access to this item may be restricted."
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1121
|
||||
#: mod/photos.php:1118
|
||||
msgid "Photo not available"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1131
|
||||
#: mod/photos.php:1128
|
||||
msgid "Do you really want to delete this photo?"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1132 mod/photos.php:1333
|
||||
#: mod/photos.php:1129 mod/photos.php:1332
|
||||
msgid "Delete Photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1224
|
||||
#: mod/photos.php:1223
|
||||
msgid "View photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1226
|
||||
#: mod/photos.php:1225
|
||||
msgid "Edit photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1227
|
||||
#: mod/photos.php:1226
|
||||
msgid "Delete photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1228
|
||||
#: mod/photos.php:1227
|
||||
msgid "Use as profile photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1235
|
||||
#: mod/photos.php:1234
|
||||
msgid "Private Photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1241
|
||||
#: mod/photos.php:1240
|
||||
msgid "View Full Size"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1301
|
||||
#: mod/photos.php:1300
|
||||
msgid "Tags: "
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1304
|
||||
#: mod/photos.php:1303
|
||||
msgid "[Select tags to remove]"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1319
|
||||
#: mod/photos.php:1318
|
||||
msgid "New album name"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1320
|
||||
#: mod/photos.php:1319
|
||||
msgid "Caption"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1321
|
||||
#: mod/photos.php:1320
|
||||
msgid "Add a Tag"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1321
|
||||
#: mod/photos.php:1320
|
||||
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1322
|
||||
#: mod/photos.php:1321
|
||||
msgid "Do not rotate"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1323
|
||||
#: mod/photos.php:1322
|
||||
msgid "Rotate CW (right)"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1324
|
||||
#: mod/photos.php:1323
|
||||
msgid "Rotate CCW (left)"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500
|
||||
#: src/Module/Contact.php:1062 src/Module/Item/Compose.php:148
|
||||
#: mod/photos.php:1369 mod/photos.php:1425 mod/photos.php:1499
|
||||
#: src/Module/Contact.php:1008 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:960
|
||||
msgid "This is you"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501
|
||||
#: src/Object/Post.php:496 src/Object/Post.php:962
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1461 src/Content/Conversation.php:615 src/Object/Post.php:227
|
||||
#: mod/photos.php:1460 src/Content/Conversation.php:615 src/Object/Post.php:227
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1462 mod/settings.php:573 src/Content/Conversation.php:616
|
||||
#: mod/photos.php:1461 mod/settings.php:573 src/Content/Conversation.php:616
|
||||
#: 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:865
|
||||
#: src/Module/Contact.php:1150
|
||||
#: src/Module/Admin/Users/Index.php:153
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
#: mod/photos.php:1522 src/Object/Post.php:349
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1524 src/Object/Post.php:349
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
msgid "I like this (toggle)"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1525 src/Object/Post.php:350
|
||||
#: mod/photos.php:1524 src/Object/Post.php:350
|
||||
msgid "Dislike"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1527 src/Object/Post.php:350
|
||||
#: mod/photos.php:1526 src/Object/Post.php:350
|
||||
msgid "I don't like this (toggle)"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1549
|
||||
#: mod/photos.php:1548
|
||||
msgid "Map"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1619 mod/videos.php:243
|
||||
#: mod/photos.php:1618
|
||||
msgid "View Album"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1381,8 +1379,8 @@ msgstr ""
|
|||
|
||||
#: mod/redir.php:55 mod/redir.php:129 src/Module/Contact/Advanced.php:54
|
||||
#: src/Module/Contact/Advanced.php:105 src/Module/Contact/Contacts.php:36
|
||||
#: src/Module/FriendSuggest.php:54 src/Module/FriendSuggest.php:93
|
||||
#: src/Module/Group.php:105
|
||||
#: src/Module/Contact/Media.php:43 src/Module/FriendSuggest.php:54
|
||||
#: src/Module/FriendSuggest.php:93 src/Module/Group.php:105
|
||||
msgid "Contact not found."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2308,22 +2306,6 @@ msgstr ""
|
|||
msgid "Unable to unfollow this contact, please contact your administrator"
|
||||
msgstr ""
|
||||
|
||||
#: mod/videos.php:120
|
||||
msgid "No videos selected"
|
||||
msgstr ""
|
||||
|
||||
#: mod/videos.php:236
|
||||
msgid "View Video"
|
||||
msgstr ""
|
||||
|
||||
#: mod/videos.php:251
|
||||
msgid "Recent Videos"
|
||||
msgstr ""
|
||||
|
||||
#: mod/videos.php:253
|
||||
msgid "Upload New Videos"
|
||||
msgstr ""
|
||||
|
||||
#: mod/wall_attach.php:42 mod/wall_attach.php:49 mod/wall_attach.php:87
|
||||
#: mod/wall_upload.php:52 mod/wall_upload.php:63 mod/wall_upload.php:108
|
||||
#: mod/wall_upload.php:159 mod/wall_upload.php:162
|
||||
|
|
@ -2413,16 +2395,16 @@ msgid "All contacts"
|
|||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195
|
||||
#: src/Module/Contact.php:831 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/Contact.php:771 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/PermissionTooltip.php:99
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:832
|
||||
#: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:772
|
||||
msgid "Following"
|
||||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:833
|
||||
#: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:773
|
||||
msgid "Mutual friends"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3020,43 +3002,43 @@ msgstr ""
|
|||
msgid "Follow Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1051
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1072
|
||||
msgid "View Status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:977
|
||||
#: src/Model/Contact.php:1043 src/Model/Contact.php:1052
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:1006
|
||||
#: src/Model/Contact.php:1064 src/Model/Contact.php:1073
|
||||
#: src/Module/Directory.php:160 src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1053
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1074
|
||||
msgid "View Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1044
|
||||
#: src/Model/Contact.php:1054
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1065
|
||||
#: src/Model/Contact.php:1075
|
||||
msgid "Network Posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1045
|
||||
#: src/Model/Contact.php:1055
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1066
|
||||
#: src/Model/Contact.php:1076
|
||||
msgid "View Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1057
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1077
|
||||
msgid "Send PM"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
#: src/Module/Contact.php:542 src/Module/Contact.php:802
|
||||
#: src/Module/Contact.php:1079
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:450 src/Module/Contact.php:603
|
||||
#: src/Module/Contact.php:864 src/Module/Contact.php:1141
|
||||
#: src/Content/Item.php:450 src/Module/Contact.php:543
|
||||
#: src/Module/Contact.php:803 src/Module/Contact.php:1087
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
|
|
@ -3067,7 +3049,7 @@ msgstr ""
|
|||
msgid "Languages"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1058
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1078
|
||||
msgid "Poke"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3105,7 +3087,7 @@ msgid "Sign in"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:634 src/Module/Contact.php:899
|
||||
#: src/Module/Contact.php:574 src/Module/Contact.php:837
|
||||
#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
|
@ -3116,8 +3098,8 @@ msgid "Your posts and conversations"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:636
|
||||
#: src/Module/Contact.php:915 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:576
|
||||
#: src/Module/Contact.php:861 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
|
@ -3202,9 +3184,9 @@ msgid "Tags"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:235 src/Content/Nav.php:294
|
||||
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126
|
||||
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:834
|
||||
#: src/Module/Contact.php:922 view/theme/frio/theme.php:237
|
||||
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:125
|
||||
#: src/Module/BaseProfile.php:128 src/Module/Contact.php:774
|
||||
#: src/Module/Contact.php:868 view/theme/frio/theme.php:237
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3216,8 +3198,8 @@ msgstr ""
|
|||
msgid "Conversations on this and other servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:88
|
||||
#: src/Module/BaseProfile.php:99 view/theme/frio/theme.php:234
|
||||
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:87
|
||||
#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:234
|
||||
msgid "Events and Calendar"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3434,7 +3416,7 @@ msgstr ""
|
|||
msgid "Examples: Robert Morgenstein, Fishing"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:855
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:795
|
||||
#: src/Module/Directory.php:99 view/theme/vier/theme.php:174
|
||||
msgid "Find"
|
||||
msgstr ""
|
||||
|
|
@ -3461,7 +3443,7 @@ msgid "Local Directory"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:214 src/Model/Group.php:535
|
||||
#: src/Module/Contact.php:818 src/Module/Welcome.php:76
|
||||
#: src/Module/Contact.php:758 src/Module/Welcome.php:76
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3473,7 +3455,7 @@ msgstr ""
|
|||
msgid "Relationships"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:770
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:710
|
||||
#: src/Module/Group.php:292
|
||||
msgid "All Contacts"
|
||||
msgstr ""
|
||||
|
|
@ -3517,7 +3499,7 @@ msgstr ""
|
|||
msgid "Organisations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1474
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1499
|
||||
msgid "News"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3572,12 +3554,12 @@ msgid "More Trending Tags"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372
|
||||
#: src/Module/Contact.php:625 src/Module/Profile/Profile.php:176
|
||||
#: src/Module/Contact.php:565 src/Module/Profile/Profile.php:176
|
||||
msgid "XMPP:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373
|
||||
#: src/Module/Contact.php:627 src/Module/Profile/Profile.php:180
|
||||
#: src/Module/Contact.php:567 src/Module/Profile/Profile.php:180
|
||||
msgid "Matrix:"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4381,85 +4363,81 @@ msgstr ""
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1047 src/Model/Contact.php:1060
|
||||
#: src/Model/Contact.php:1068 src/Model/Contact.php:1080
|
||||
msgid "UnFollow"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1056
|
||||
msgid "Drop Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1066 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1086 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:111
|
||||
#: src/Module/Notifications/Introductions.php:183
|
||||
msgid "Approve"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1470
|
||||
#: src/Model/Contact.php:1495
|
||||
msgid "Organisation"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1478
|
||||
#: src/Model/Contact.php:1503
|
||||
msgid "Forum"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2334
|
||||
#: src/Model/Contact.php:2359
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2339 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2364 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2344
|
||||
#: src/Model/Contact.php:2369
|
||||
msgid "Connect URL missing."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2353
|
||||
#: src/Model/Contact.php:2378
|
||||
msgid ""
|
||||
"The contact could not be added. Please check the relevant network "
|
||||
"credentials in your Settings -> Social Networks page."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2390
|
||||
#: src/Model/Contact.php:2415
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2392
|
||||
#: src/Model/Contact.php:2417
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2395
|
||||
#: src/Model/Contact.php:2420
|
||||
msgid "An author or name was not found."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2398
|
||||
#: src/Model/Contact.php:2423
|
||||
msgid "No browser URL could be matched to this address."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2401
|
||||
#: src/Model/Contact.php:2426
|
||||
msgid ""
|
||||
"Unable to match @-style Identity Address with a known protocol or email "
|
||||
"contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2402
|
||||
#: src/Model/Contact.php:2427
|
||||
msgid "Use mailto: in front of address to force email check."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2408
|
||||
#: src/Model/Contact.php:2433
|
||||
msgid ""
|
||||
"The profile address specified belongs to a network which has been disabled "
|
||||
"on this site."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2413
|
||||
#: src/Model/Contact.php:2438
|
||||
msgid ""
|
||||
"Limited profile. This person will be unable to receive direct/personal "
|
||||
"notifications from you."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2472
|
||||
#: src/Model/Contact.php:2497
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4729,7 +4707,7 @@ msgstr ""
|
|||
msgid "Homepage:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:629
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:569
|
||||
#: src/Module/Notifications/Introductions.php:168
|
||||
msgid "About:"
|
||||
msgstr ""
|
||||
|
|
@ -5130,8 +5108,8 @@ msgstr ""
|
|||
msgid "List of active accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:778
|
||||
#: src/Module/Contact.php:838
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:718
|
||||
#: src/Module/Contact.php:778
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -5139,8 +5117,8 @@ msgstr ""
|
|||
msgid "List of pending registrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:786
|
||||
#: src/Module/Contact.php:839
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:726
|
||||
#: src/Module/Contact.php:779
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -5197,8 +5175,8 @@ msgstr ""
|
|||
|
||||
#: src/Module/Admin/Blocklist/Contact.php:85
|
||||
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
#: src/Module/Contact.php:542 src/Module/Contact.php:802
|
||||
#: src/Module/Contact.php:1079
|
||||
msgid "Unblock"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -6544,7 +6522,7 @@ msgid ""
|
|||
"received."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:531
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:471
|
||||
#: src/Module/Settings/TwoFactor/Index.php:118
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
|
@ -7115,8 +7093,8 @@ msgstr ""
|
|||
msgid "Posts from %s can't be unshared"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:371
|
||||
#: src/Module/Contact.php:386
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:341
|
||||
#: src/Module/Contact.php:356
|
||||
msgid "Contact not found"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -7237,23 +7215,28 @@ msgstr ""
|
|||
msgid "Too Many Requests"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:918
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:864
|
||||
msgid "Profile Details"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:110
|
||||
#: src/Module/BaseProfile.php:72 src/Module/BaseProfile.php:75
|
||||
#: src/Module/Contact.php:853
|
||||
msgid "Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:109
|
||||
msgid "Only You Can See This"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:115 src/Module/Profile/Schedule.php:82
|
||||
#: src/Module/BaseProfile.php:114 src/Module/Profile/Schedule.php:82
|
||||
msgid "Scheduled Posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:118
|
||||
#: src/Module/BaseProfile.php:117
|
||||
msgid "Posts that are scheduled for publishing"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:137 src/Module/BaseProfile.php:140
|
||||
#: src/Module/BaseProfile.php:136 src/Module/BaseProfile.php:139
|
||||
msgid "Tips for New Members"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -7304,366 +7287,357 @@ msgstr ""
|
|||
msgid "The post was created"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:97
|
||||
#: src/Module/Contact.php:92
|
||||
#, php-format
|
||||
msgid "%d contact edited."
|
||||
msgid_plural "%d contacts edited."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Contact.php:122
|
||||
#: src/Module/Contact.php:117
|
||||
msgid "Could not access contact record."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:158
|
||||
#: src/Module/Contact.php:153
|
||||
msgid "Failed to update contact record."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:403
|
||||
#: src/Module/Contact.php:373
|
||||
msgid "You can't block yourself"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:409
|
||||
#: src/Module/Contact.php:379
|
||||
msgid "Contact has been blocked"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:409
|
||||
#: src/Module/Contact.php:379
|
||||
msgid "Contact has been unblocked"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:417
|
||||
#: src/Module/Contact.php:387
|
||||
msgid "You can't ignore yourself"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:423
|
||||
#: src/Module/Contact.php:393
|
||||
msgid "Contact has been ignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:423
|
||||
#: src/Module/Contact.php:393
|
||||
msgid "Contact has been unignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:435
|
||||
msgid "Drop contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:438 src/Module/Contact.php:859
|
||||
msgid "Do you really want to delete this contact?"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:439 src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:452
|
||||
msgid "Contact has been removed."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:473
|
||||
#: src/Module/Contact.php:413
|
||||
#, php-format
|
||||
msgid "You are mutual friends with %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:477
|
||||
#: src/Module/Contact.php:417
|
||||
#, php-format
|
||||
msgid "You are sharing with %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:481
|
||||
#: src/Module/Contact.php:421
|
||||
#, php-format
|
||||
msgid "%s is sharing with you"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:505
|
||||
#: src/Module/Contact.php:445
|
||||
msgid "Private communications are not available for this contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:507
|
||||
#: src/Module/Contact.php:447
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:510
|
||||
#: src/Module/Contact.php:450
|
||||
msgid "(Update was not successful)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:510
|
||||
#: src/Module/Contact.php:450
|
||||
msgid "(Update was successful)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:512 src/Module/Contact.php:1104
|
||||
#: src/Module/Contact.php:452 src/Module/Contact.php:1050
|
||||
msgid "Suggest friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:516
|
||||
#: src/Module/Contact.php:456
|
||||
#, php-format
|
||||
msgid "Network type: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:521
|
||||
#: src/Module/Contact.php:461
|
||||
msgid "Communications lost with this contact!"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:527
|
||||
#: src/Module/Contact.php:467
|
||||
msgid "Fetch further information for feeds"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:529
|
||||
#: src/Module/Contact.php:469
|
||||
msgid ""
|
||||
"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 "
|
||||
"are taken from the meta header in the feed item and are posted as hash tags."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:532
|
||||
#: src/Module/Contact.php:472
|
||||
msgid "Fetch information"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:533
|
||||
#: src/Module/Contact.php:473
|
||||
msgid "Fetch keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:534
|
||||
#: src/Module/Contact.php:474
|
||||
msgid "Fetch information and keywords"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:546 src/Module/Contact.php:550
|
||||
#: src/Module/Contact.php:553 src/Module/Contact.php:557
|
||||
#: src/Module/Contact.php:486 src/Module/Contact.php:490
|
||||
#: src/Module/Contact.php:493 src/Module/Contact.php:497
|
||||
msgid "No mirroring"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:547
|
||||
#: src/Module/Contact.php:487
|
||||
msgid "Mirror as forwarded posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:548 src/Module/Contact.php:554
|
||||
#: src/Module/Contact.php:558
|
||||
#: src/Module/Contact.php:488 src/Module/Contact.php:494
|
||||
#: src/Module/Contact.php:498
|
||||
msgid "Mirror as my own posting"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:551 src/Module/Contact.php:555
|
||||
#: src/Module/Contact.php:491 src/Module/Contact.php:495
|
||||
msgid "Native reshare"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:570
|
||||
#: src/Module/Contact.php:510
|
||||
msgid "Contact Information / Notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:571
|
||||
#: src/Module/Contact.php:511
|
||||
msgid "Contact Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:579
|
||||
#: src/Module/Contact.php:519
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:583
|
||||
#: src/Module/Contact.php:523
|
||||
msgid "Their personal note"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:585
|
||||
#: src/Module/Contact.php:525
|
||||
msgid "Edit contact notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:588 src/Module/Contact.php:1070
|
||||
#: src/Module/Contact.php:528 src/Module/Contact.php:1016
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:589
|
||||
#: src/Module/Contact.php:529
|
||||
msgid "Block/Unblock contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:590
|
||||
#: src/Module/Contact.php:530
|
||||
msgid "Ignore contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:591
|
||||
#: src/Module/Contact.php:531
|
||||
msgid "View conversations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:596
|
||||
#: src/Module/Contact.php:536
|
||||
msgid "Last update:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:598
|
||||
#: src/Module/Contact.php:538
|
||||
msgid "Update public posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:600 src/Module/Contact.php:1114
|
||||
#: src/Module/Contact.php:540 src/Module/Contact.php:1060
|
||||
msgid "Update now"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:603 src/Module/Contact.php:864
|
||||
#: src/Module/Contact.php:1141
|
||||
#: src/Module/Contact.php:543 src/Module/Contact.php:803
|
||||
#: src/Module/Contact.php:1087
|
||||
msgid "Unignore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:607
|
||||
#: src/Module/Contact.php:547
|
||||
msgid "Currently blocked"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:608
|
||||
#: src/Module/Contact.php:548
|
||||
msgid "Currently ignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:609
|
||||
#: src/Module/Contact.php:549
|
||||
msgid "Currently archived"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:610
|
||||
#: src/Module/Contact.php:550
|
||||
msgid "Awaiting connection acknowledge"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:611 src/Module/Notifications/Introductions.php:171
|
||||
#: src/Module/Contact.php:551 src/Module/Notifications/Introductions.php:171
|
||||
msgid "Hide this contact from others"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:611
|
||||
#: src/Module/Contact.php:551
|
||||
msgid ""
|
||||
"Replies/likes to your public posts <strong>may</strong> still be visible"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:612
|
||||
#: src/Module/Contact.php:552
|
||||
msgid "Notification for new posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:612
|
||||
#: src/Module/Contact.php:552
|
||||
msgid "Send a notification of every new post of this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:614
|
||||
#: src/Module/Contact.php:554
|
||||
msgid "Keyword Deny List"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:614
|
||||
#: src/Module/Contact.php:554
|
||||
msgid ""
|
||||
"Comma separated list of keywords that should not be converted to hashtags, "
|
||||
"when \"Fetch information and keywords\" is selected"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:632 src/Module/Settings/TwoFactor/Index.php:132
|
||||
#: src/Module/Contact.php:572 src/Module/Settings/TwoFactor/Index.php:132
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:639
|
||||
#: src/Module/Contact.php:579
|
||||
msgid "Mirror postings from this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:641
|
||||
#: src/Module/Contact.php:581
|
||||
msgid ""
|
||||
"Mark this contact as remote_self, this will cause friendica to repost new "
|
||||
"entries from this contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:773
|
||||
#: src/Module/Contact.php:713
|
||||
msgid "Show all contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:781
|
||||
#: src/Module/Contact.php:721
|
||||
msgid "Only show pending contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:789
|
||||
#: src/Module/Contact.php:729
|
||||
msgid "Only show blocked contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:794 src/Module/Contact.php:841
|
||||
#: src/Module/Contact.php:734 src/Module/Contact.php:781
|
||||
#: src/Object/Post.php:309
|
||||
msgid "Ignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:797
|
||||
#: src/Module/Contact.php:737
|
||||
msgid "Only show ignored contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:802 src/Module/Contact.php:842
|
||||
#: src/Module/Contact.php:742 src/Module/Contact.php:782
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:805
|
||||
#: src/Module/Contact.php:745
|
||||
msgid "Only show archived contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:810 src/Module/Contact.php:840
|
||||
#: src/Module/Contact.php:750 src/Module/Contact.php:780
|
||||
msgid "Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:813
|
||||
#: src/Module/Contact.php:753
|
||||
msgid "Only show hidden contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:821
|
||||
#: src/Module/Contact.php:761
|
||||
msgid "Organize your contact groups"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:853
|
||||
#: src/Module/Contact.php:793
|
||||
msgid "Search your contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:854 src/Module/Search/Index.php:194
|
||||
#: src/Module/Contact.php:794 src/Module/Search/Index.php:194
|
||||
#, php-format
|
||||
msgid "Results for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:862
|
||||
#: src/Module/Contact.php:801
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:867
|
||||
#: src/Module/Contact.php:805
|
||||
msgid "Batch Actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:902
|
||||
#: src/Module/Contact.php:840
|
||||
msgid "Conversations started by this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:907
|
||||
#: src/Module/Contact.php:845
|
||||
msgid "Posts and Comments"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:925
|
||||
#: src/Module/Contact.php:856
|
||||
msgid "Posts containing media objects"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:871
|
||||
msgid "View all known contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:935
|
||||
#: src/Module/Contact.php:881
|
||||
msgid "Advanced Contact Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1029
|
||||
#: src/Module/Contact.php:975
|
||||
msgid "Mutual Friendship"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1033
|
||||
#: src/Module/Contact.php:979
|
||||
msgid "is a fan of yours"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1037
|
||||
#: src/Module/Contact.php:983
|
||||
msgid "you are a fan of"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1055
|
||||
#: src/Module/Contact.php:1001
|
||||
msgid "Pending outgoing contact request"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1057
|
||||
#: src/Module/Contact.php:1003
|
||||
msgid "Pending incoming contact request"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1124
|
||||
#: src/Module/Contact.php:1070
|
||||
msgid "Refetch contact data"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1135
|
||||
#: src/Module/Contact.php:1081
|
||||
msgid "Toggle Blocked status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1143
|
||||
#: src/Module/Contact.php:1089
|
||||
msgid "Toggle Ignored status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1152
|
||||
msgid "Delete contact"
|
||||
#: src/Module/Contact.php:1096 src/Module/Contact/Revoke.php:96
|
||||
msgid "Revoke Follow"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:1098
|
||||
msgid "Revoke the follow from this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Advanced.php:93
|
||||
|
|
@ -7805,6 +7779,45 @@ msgstr ""
|
|||
msgid "Make this post private"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:48
|
||||
msgid "Unknown contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:58 src/Module/Group.php:109
|
||||
msgid "Contact is deleted."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:62
|
||||
msgid "Contact is being deleted."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:76
|
||||
msgid "Follow was successfully revoked."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:78
|
||||
msgid ""
|
||||
"Follow was successfully revoked, however the remote contact won't be aware "
|
||||
"of this revokation."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:80
|
||||
msgid ""
|
||||
"Unable to revoke follow, please try again later or contact the administrator."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:97
|
||||
msgid ""
|
||||
"Do you really want to revoke this contact's follow? This cannot be undone "
|
||||
"and they will have to manually follow you back again."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact/Revoke.php:98
|
||||
#: src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:68
|
||||
msgid "Local Community"
|
||||
msgstr ""
|
||||
|
|
@ -8285,10 +8298,6 @@ msgstr ""
|
|||
msgid "Unknown group."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Group.php:109
|
||||
msgid "Contact is deleted."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Group.php:115
|
||||
msgid "Unable to add the contact to the group."
|
||||
msgstr ""
|
||||
|
|
@ -10446,7 +10455,7 @@ msgstr ""
|
|||
msgid "Show fewer"
|
||||
msgstr ""
|
||||
|
||||
#: src/Protocol/Diaspora.php:3448
|
||||
#: src/Protocol/Diaspora.php:3417
|
||||
msgid "Attachments:"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-01 16:40+0200\n"
|
||||
"PO-Revision-Date: 2021-10-01 15:32+0000\n"
|
||||
"POT-Creation-Date: 2021-10-02 08:34-0400\n"
|
||||
"PO-Revision-Date: 2021-10-02 19:18+0000\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
|
||||
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -79,7 +79,7 @@ msgstr[1] "Das wöchentliche Limit von %d Beiträgen wurde erreicht. Der Beitrag
|
|||
msgid "Monthly posting limit of %d post reached. The post was rejected."
|
||||
msgstr "Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen."
|
||||
|
||||
#: include/api.php:4437 mod/photos.php:89 mod/photos.php:198
|
||||
#: include/api.php:4430 mod/photos.php:89 mod/photos.php:198
|
||||
#: mod/photos.php:626 mod/photos.php:1035 mod/photos.php:1052
|
||||
#: mod/photos.php:1599 src/Model/User.php:1169 src/Model/User.php:1177
|
||||
#: src/Model/User.php:1185 src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
|
|
@ -602,7 +602,7 @@ msgstr "Abbrechen"
|
|||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:380
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
#: src/Module/Admin/Logs/View.php:93
|
||||
#: src/Module/Admin/Logs/View.php:92
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
|
|
@ -632,7 +632,7 @@ msgstr "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden."
|
|||
msgid "Create New Event"
|
||||
msgstr "Neue Veranstaltung erstellen"
|
||||
|
||||
#: mod/events.php:536 src/Module/Admin/Logs/View.php:97
|
||||
#: mod/events.php:536 src/Module/Admin/Logs/View.php:96
|
||||
msgid "Event details"
|
||||
msgstr "Veranstaltungsdetails"
|
||||
|
||||
|
|
@ -761,7 +761,7 @@ msgid "OStatus support is disabled. Contact can't be added."
|
|||
msgstr "OStatus-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden."
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:463 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1051 src/Model/Contact.php:1064
|
||||
#: src/Model/Contact.php:1046 src/Model/Contact.php:1059
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Verbinden/Folgen"
|
||||
|
|
@ -2321,11 +2321,11 @@ msgid ""
|
|||
"select \"Export account\""
|
||||
msgstr "Um Deinen Account zu exportieren, rufe \"Einstellungen -> Persönliche Daten exportieren\" auf und wähle \"Account exportieren\""
|
||||
|
||||
#: mod/unfollow.php:65 mod/unfollow.php:129
|
||||
#: mod/unfollow.php:65 mod/unfollow.php:135
|
||||
msgid "You aren't following this contact."
|
||||
msgstr "Du folgst diesem Kontakt."
|
||||
|
||||
#: mod/unfollow.php:71 mod/unfollow.php:135
|
||||
#: mod/unfollow.php:71
|
||||
msgid "Unfollowing is currently not supported by your network."
|
||||
msgstr "Bei diesem Netzwerk wird das Entfolgen derzeit nicht unterstützt."
|
||||
|
||||
|
|
@ -2333,6 +2333,24 @@ msgstr "Bei diesem Netzwerk wird das Entfolgen derzeit nicht unterstützt."
|
|||
msgid "Disconnect/Unfollow"
|
||||
msgstr "Verbindung lösen/Nicht mehr folgen"
|
||||
|
||||
#: mod/unfollow.php:149
|
||||
msgid "Unfollowing is currently not supported by this contact's network."
|
||||
msgstr "Bei dem Netzwerk dieses Kontakts wird das Entfolgen derzeit nicht unterstützt."
|
||||
|
||||
#: mod/unfollow.php:153
|
||||
msgid ""
|
||||
"Unable to unfollow this contact, please retry in a few minutes or contact "
|
||||
"your administrator."
|
||||
msgstr "Konnte dem Kontakt nicht entfolgen. Bitte warte ein paar Minuten und versuche es dann noch einmal, oder kontaktiere deinen Administrator."
|
||||
|
||||
#: mod/unfollow.php:157
|
||||
msgid "Contact was successfully unfollowed"
|
||||
msgstr "Kontakt wurde erfolgreich entfolgt."
|
||||
|
||||
#: mod/unfollow.php:161
|
||||
msgid "Unable to unfollow this contact, please contact your administrator"
|
||||
msgstr "Konnte dem Kontakt nicht entfolgen. Bitte kontaktiere deinen Administrator."
|
||||
|
||||
#: mod/videos.php:120
|
||||
msgid "No videos selected"
|
||||
msgstr "Keine Videos ausgewählt"
|
||||
|
|
@ -2469,12 +2487,12 @@ msgstr "Addon bereits aktiviert"
|
|||
msgid "Addon already disabled"
|
||||
msgstr "Addon bereits deaktiviert"
|
||||
|
||||
#: src/Console/ArchiveContact.php:105
|
||||
#: src/Console/ArchiveContact.php:106
|
||||
#, php-format
|
||||
msgid "Could not find any unarchived contact entry for this URL (%s)"
|
||||
msgstr "Für die URL (%s) konnte kein nicht-archivierter Kontakt gefunden werden"
|
||||
|
||||
#: src/Console/ArchiveContact.php:108
|
||||
#: src/Console/ArchiveContact.php:109
|
||||
msgid "The contact entries have been archived"
|
||||
msgstr "Die Kontakteinträge wurden archiviert."
|
||||
|
||||
|
|
@ -3047,31 +3065,31 @@ msgstr "Veranstaltung"
|
|||
msgid "Follow Thread"
|
||||
msgstr "Folge der Unterhaltung"
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1056
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1051
|
||||
msgid "View Status"
|
||||
msgstr "Status anschauen"
|
||||
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:982
|
||||
#: src/Model/Contact.php:1048 src/Model/Contact.php:1057
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:977
|
||||
#: src/Model/Contact.php:1043 src/Model/Contact.php:1052
|
||||
#: src/Module/Directory.php:160 src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr "Profil anschauen"
|
||||
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1058
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1053
|
||||
msgid "View Photos"
|
||||
msgstr "Bilder anschauen"
|
||||
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1049
|
||||
#: src/Model/Contact.php:1059
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1044
|
||||
#: src/Model/Contact.php:1054
|
||||
msgid "Network Posts"
|
||||
msgstr "Netzwerkbeiträge"
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1050
|
||||
#: src/Model/Contact.php:1060
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1045
|
||||
#: src/Model/Contact.php:1055
|
||||
msgid "View Contact"
|
||||
msgstr "Kontakt anzeigen"
|
||||
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1062
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1057
|
||||
msgid "Send PM"
|
||||
msgstr "Private Nachricht senden"
|
||||
|
||||
|
|
@ -3094,7 +3112,7 @@ msgstr "Ignorieren"
|
|||
msgid "Languages"
|
||||
msgstr "Sprachen"
|
||||
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1063
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1058
|
||||
msgid "Poke"
|
||||
msgstr "Anstupsen"
|
||||
|
||||
|
|
@ -3211,7 +3229,7 @@ msgid "Addon applications, utilities, games"
|
|||
msgstr "Zusätzliche Anwendungen, Dienstprogramme, Spiele"
|
||||
|
||||
#: src/Content/Nav.php:230 src/Content/Text/HTML.php:891
|
||||
#: src/Module/Admin/Logs/View.php:87 src/Module/Search/Index.php:99
|
||||
#: src/Module/Admin/Logs/View.php:86 src/Module/Search/Index.php:99
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
|
|
@ -3543,7 +3561,7 @@ msgstr "Personen"
|
|||
msgid "Organisations"
|
||||
msgstr "Organisationen"
|
||||
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1480
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1474
|
||||
msgid "News"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
|
|
@ -4407,85 +4425,85 @@ msgstr "%s ist jetzt mit %s befreundet"
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr "Legacy-Moduldatei nicht gefunden: %s"
|
||||
|
||||
#: src/Model/Contact.php:1052 src/Model/Contact.php:1065
|
||||
#: src/Model/Contact.php:1047 src/Model/Contact.php:1060
|
||||
msgid "UnFollow"
|
||||
msgstr "Entfolgen"
|
||||
|
||||
#: src/Model/Contact.php:1061
|
||||
#: src/Model/Contact.php:1056
|
||||
msgid "Drop Contact"
|
||||
msgstr "Kontakt löschen"
|
||||
|
||||
#: src/Model/Contact.php:1071 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1066 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:111
|
||||
#: src/Module/Notifications/Introductions.php:183
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
#: src/Model/Contact.php:1476
|
||||
#: src/Model/Contact.php:1470
|
||||
msgid "Organisation"
|
||||
msgstr "Organisation"
|
||||
|
||||
#: src/Model/Contact.php:1484
|
||||
#: src/Model/Contact.php:1478
|
||||
msgid "Forum"
|
||||
msgstr "Forum"
|
||||
|
||||
#: src/Model/Contact.php:2340
|
||||
#: src/Model/Contact.php:2334
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr "Nicht erlaubte Profil-URL."
|
||||
|
||||
#: src/Model/Contact.php:2345 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2339 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr "Blockierte Domain"
|
||||
|
||||
#: src/Model/Contact.php:2350
|
||||
#: src/Model/Contact.php:2344
|
||||
msgid "Connect URL missing."
|
||||
msgstr "Connect-URL fehlt"
|
||||
|
||||
#: src/Model/Contact.php:2359
|
||||
#: 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 "Der Kontakt konnte nicht hinzugefügt werden. Bitte überprüfe die Einstellungen unter Einstellungen -> Soziale Netzwerke"
|
||||
|
||||
#: src/Model/Contact.php:2396
|
||||
#: src/Model/Contact.php:2390
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr "Die angegebene Profiladresse liefert unzureichende Informationen."
|
||||
|
||||
#: src/Model/Contact.php:2398
|
||||
#: src/Model/Contact.php:2392
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2401
|
||||
#: src/Model/Contact.php:2395
|
||||
msgid "An author or name was not found."
|
||||
msgstr "Es wurde kein Autor oder Name gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2404
|
||||
#: src/Model/Contact.php:2398
|
||||
msgid "No browser URL could be matched to this address."
|
||||
msgstr "Zu dieser Adresse konnte keine passende Browser-URL gefunden werden."
|
||||
|
||||
#: src/Model/Contact.php:2407
|
||||
#: src/Model/Contact.php:2401
|
||||
msgid ""
|
||||
"Unable to match @-style Identity Address with a known protocol or email "
|
||||
"contact."
|
||||
msgstr "Konnte die @-Adresse mit keinem der bekannten Protokolle oder Email-Kontakte abgleichen."
|
||||
|
||||
#: src/Model/Contact.php:2408
|
||||
#: src/Model/Contact.php:2402
|
||||
msgid "Use mailto: in front of address to force email check."
|
||||
msgstr "Verwende mailto: vor der E-Mail-Adresse, um eine Überprüfung der E-Mail-Adresse zu erzwingen."
|
||||
|
||||
#: src/Model/Contact.php:2414
|
||||
#: src/Model/Contact.php:2408
|
||||
msgid ""
|
||||
"The profile address specified belongs to a network which has been disabled "
|
||||
"on this site."
|
||||
msgstr "Die Adresse dieses Profils gehört zu einem Netzwerk, mit dem die Kommunikation auf dieser Seite ausgeschaltet wurde."
|
||||
|
||||
#: src/Model/Contact.php:2419
|
||||
#: src/Model/Contact.php:2413
|
||||
msgid ""
|
||||
"Limited profile. This person will be unable to receive direct/personal "
|
||||
"notifications from you."
|
||||
msgstr "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können."
|
||||
|
||||
#: src/Model/Contact.php:2478
|
||||
#: src/Model/Contact.php:2472
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr "Konnte die Kontaktinformationen nicht empfangen."
|
||||
|
||||
|
|
@ -5081,7 +5099,7 @@ msgstr "Einschalten"
|
|||
#: src/Module/Admin/Blocklist/Contact.php:78
|
||||
#: 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/Logs/Settings.php:80 src/Module/Admin/Logs/View.php:83
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:497
|
||||
#: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:233
|
||||
#: src/Module/Admin/Themes/Details.php:90
|
||||
|
|
@ -5519,7 +5537,7 @@ msgstr "Mention"
|
|||
msgid "Implicit Mention"
|
||||
msgstr "Implicit Mention"
|
||||
|
||||
#: src/Module/Admin/Item/Source.php:73 src/Module/Admin/Logs/View.php:99
|
||||
#: src/Module/Admin/Item/Source.php:73 src/Module/Admin/Logs/View.php:98
|
||||
#: src/Module/Debug/ActivityPubConversion.php:62
|
||||
msgid "Source"
|
||||
msgstr "Quelle"
|
||||
|
|
@ -5577,82 +5595,82 @@ msgid ""
|
|||
"'display_errors' is to enable these options, set to '0' to disable them."
|
||||
msgstr "Um die Protokollierung von PHP-Fehlern und Warnungen vorübergehend zu aktivieren, kannst du der Datei index.php deiner Installation Folgendes voranstellen. Der in der Datei 'error_log' angegebene Dateiname ist relativ zum obersten Verzeichnis von Friendica und muss vom Webserver beschreibbar sein. Die Option '1' für 'log_errors' und 'display_errors' aktiviert diese Optionen, ersetze die '1' durch eine '0', um sie zu deaktivieren."
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:71
|
||||
#: src/Module/Admin/Logs/View.php:70
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Error trying to open <strong>%1$s</strong> log file.<br/>Check to see if "
|
||||
"file %1$s exist and is readable."
|
||||
msgstr "Fehler beim Öffnen der Logdatei <strong>%1$s</strong>.<br/>Bitte überprüfe ob die Datei %1$s existiert und gelesen werden kann."
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:80
|
||||
#: src/Module/Admin/Logs/View.php:79
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Couldn't open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s "
|
||||
"is readable."
|
||||
msgstr "Konnte die Logdatei <strong>%1$s</strong> nicht öffnen.<br/>Bitte stelle sicher, dass die Datei %1$s lesbar ist."
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:85 src/Module/BaseAdmin.php:110
|
||||
#: src/Module/Admin/Logs/View.php:84 src/Module/BaseAdmin.php:110
|
||||
msgid "View Logs"
|
||||
msgstr "Protokolle anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:88
|
||||
#: src/Module/Admin/Logs/View.php:87
|
||||
msgid "Search in logs"
|
||||
msgstr "Logs durchsuchen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:89
|
||||
#: src/Module/Admin/Logs/View.php:88
|
||||
#: src/Module/Notifications/Notifications.php:138
|
||||
msgid "Show all"
|
||||
msgstr "Alle anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:90
|
||||
#: src/Module/Admin/Logs/View.php:89
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:91
|
||||
#: src/Module/Admin/Logs/View.php:90
|
||||
msgid "Level"
|
||||
msgstr "Level"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:92
|
||||
#: src/Module/Admin/Logs/View.php:91
|
||||
msgid "Context"
|
||||
msgstr "Zusammenhang"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:94
|
||||
#: src/Module/Admin/Logs/View.php:93
|
||||
msgid "ALL"
|
||||
msgstr "ALLE"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:95
|
||||
#: src/Module/Admin/Logs/View.php:94
|
||||
msgid "View details"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:96
|
||||
#: src/Module/Admin/Logs/View.php:95
|
||||
msgid "Click to view details"
|
||||
msgstr "Anklicken zum Anzeigen der Details"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:98
|
||||
#: src/Module/Admin/Logs/View.php:97
|
||||
msgid "Data"
|
||||
msgstr "Daten"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:100
|
||||
#: src/Module/Admin/Logs/View.php:99
|
||||
msgid "File"
|
||||
msgstr "Datei"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:101
|
||||
#: src/Module/Admin/Logs/View.php:100
|
||||
msgid "Line"
|
||||
msgstr "Zeile"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:102
|
||||
#: src/Module/Admin/Logs/View.php:101
|
||||
msgid "Function"
|
||||
msgstr "Funktion"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:103
|
||||
#: src/Module/Admin/Logs/View.php:102
|
||||
msgid "UID"
|
||||
msgstr "UID"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:104
|
||||
#: src/Module/Admin/Logs/View.php:103
|
||||
msgid "Process ID"
|
||||
msgstr "Prozess ID"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:105
|
||||
#: src/Module/Admin/Logs/View.php:104
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
|
|
|
|||
|
|
@ -491,6 +491,10 @@ $a->strings["To export your account, go to \"Settings->Export your personal data
|
|||
$a->strings["You aren't following this contact."] = "Du folgst diesem Kontakt.";
|
||||
$a->strings["Unfollowing is currently not supported by your network."] = "Bei diesem Netzwerk wird das Entfolgen derzeit nicht unterstützt.";
|
||||
$a->strings["Disconnect/Unfollow"] = "Verbindung lösen/Nicht mehr folgen";
|
||||
$a->strings["Unfollowing is currently not supported by this contact's network."] = "Bei dem Netzwerk dieses Kontakts wird das Entfolgen derzeit nicht unterstützt.";
|
||||
$a->strings["Unable to unfollow this contact, please retry in a few minutes or contact your administrator."] = "Konnte dem Kontakt nicht entfolgen. Bitte warte ein paar Minuten und versuche es dann noch einmal, oder kontaktiere deinen Administrator.";
|
||||
$a->strings["Contact was successfully unfollowed"] = "Kontakt wurde erfolgreich entfolgt.";
|
||||
$a->strings["Unable to unfollow this contact, please contact your administrator"] = "Konnte dem Kontakt nicht entfolgen. Bitte kontaktiere deinen Administrator.";
|
||||
$a->strings["No videos selected"] = "Keine Videos ausgewählt";
|
||||
$a->strings["View Video"] = "Video ansehen";
|
||||
$a->strings["Recent Videos"] = "Neueste Videos";
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<center>
|
||||
<form action="{{$confirm_url}}" id="confirm-form" method="{{$method}}">
|
||||
|
||||
<h3 id="confirm-message">{{$message}}</h3>
|
||||
<h3 id="confirm-message">{{$l10n.message}}</h3>
|
||||
|
||||
<button class="confirm-button" id="confirm-submit-button" type="submit" name="{{$confirm_name}}" value="{{$confirm_value}}">{{$confirm}}</button>
|
||||
<button class="confirm-button" id="confirm-cancel-button" type="submit" name="canceled" value="{{$cancel}}">{{$cancel}}</button>
|
||||
<button class="confirm-button" id="confirm-submit-button" type="submit" name="{{$confirm_name}}" value="{{$confirm_value}}">{{$l10n.confirm}}</button>
|
||||
<button class="confirm-button" id="confirm-cancel-button" type="submit" name="canceled" value="{{$l10n.cancel}}">{{$l10n.cancel}}</button>
|
||||
|
||||
</form>
|
||||
</center>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<h1>{{$header}}</h1>
|
||||
|
||||
{{include file="contact_template.tpl" no_contacts_checkbox=True}}
|
||||
|
||||
{{include file="confirm.tpl"}}
|
||||
|
||||
|
||||
<h1>{{$l10n.header}}</h1>
|
||||
|
||||
{{include file="contact_template.tpl" no_contacts_checkbox=True}}
|
||||
|
||||
{{include file="confirm.tpl"}}
|
||||
|
||||
|
||||
<div class="clear"></div>
|
||||
|
|
@ -15,13 +15,13 @@
|
|||
<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup">
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
{{if $contact_actions.updateprofile}}<li role="menuitem"><a href="{{$contact_actions.updateprofile.url}}" title="{{$contact_actions.updateprofile.title}}">{{$contact_actions.updateprofile.label}}</a></li>{{/if}}
|
||||
<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.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
{{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}}
|
||||
<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>
|
||||
{{if $contact_actions.revoke_follow.url}}<li role="menuitem"><a href="{{$contact_actions.revoke_follow.url}}" title="{{$contact_actions.revoke_follow.title}}">{{$contact_actions.revoke_follow.label}}</a></li>{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -38,20 +38,6 @@
|
|||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
// add javascript confirm dialog to "drop" links. Plain html url have "?confirm=1" to show confirmation form, we need to remove it
|
||||
$(".drop").each(function() {
|
||||
$(this).attr('href', $(this).attr('href').replace("confirm=1","") );
|
||||
$(this).click(function(e){
|
||||
if (confirm("{{$contact_drop_confirm}}")) {
|
||||
return true;
|
||||
} else {
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -2504,14 +2504,6 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
#directory-search-wrapper {
|
||||
padding: 10px 0;
|
||||
}
|
||||
#contact-drop-confirm .contact-actions,
|
||||
#contact-drop-confirm .contact-photo-overlay,
|
||||
#contact-drop-confirm .contact-photo-menu {
|
||||
display: none;
|
||||
}
|
||||
#contact-drop-confirm #confirm-form {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* contact-edit */
|
||||
#contact-edit-actions {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
<form action="{{$confirm_url}}" id="confirm-form" method="{{$method}}" class="generic-page-wrapper">
|
||||
<div id="confirm-message">{{$message}}</div>
|
||||
<div id="confirm-message">{{$l10n.message}}</div>
|
||||
|
||||
<div class="form-group pull-right settings-submit-wrapper">
|
||||
<button type="submit" name="{{$confirm_name}}" id="confirm-submit-button" class="btn btn-primary confirm-button" value="{{$confirm_value}}">{{$confirm}}</button>
|
||||
<button type="submit" name="canceled" value="{{$cancel}} id="confirm-cancel-button" class="btn confirm-button" data-dismiss="modal">{{$cancel}}</button>
|
||||
<button type="submit" name="{{$confirm_name}}" id="confirm-submit-button" class="btn btn-primary confirm-button" value="{{$confirm_value}}">{{$l10n.confirm}}</button>
|
||||
<button type="submit" name="canceled" value="{{$l10n.cancel}}" id="confirm-cancel-button" class="btn confirm-button" data-dismiss="modal">{{$l10n.cancel}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<div id="contact-drop-confirm">
|
||||
<h2 class="heading">{{$header}}</h2>
|
||||
|
||||
{{include file="contact_template.tpl" no_contacts_checkbox=True}}
|
||||
|
||||
{{include file="confirm.tpl"}}
|
||||
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="contact-drop-confirm">
|
||||
<h2 class="heading">{{$l10n.header}}</h2>
|
||||
|
||||
{{include file="contact_template.tpl" no_contacts_checkbox=True}}
|
||||
|
||||
{{include file="confirm.tpl"}}
|
||||
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
{{/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.ignore.url}}" title="{{$contact_actions.ignore.title}}">{{$contact_actions.ignore.label}}</a></li>
|
||||
{{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.revoke_follow.url}}<li role="presentation"><button role="menuitem" type="button" class="btn-link" title="{{$contact_actions.revoke_follow.title}}" onclick="addToModal('{{$contact_actions.revoke_follow.url}}');">{{$contact_actions.revoke_follow.label}}</button></li>{{/if}}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -65,11 +65,6 @@
|
|||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{if $contact.photo_menu.drop}}
|
||||
<button type="button" class="contact-action-link btn-link" onclick="addToModal('{{$contact.photo_menu.drop.1}}'); return false;" data-toggle="tooltip" title="{{$contact.photo_menu.drop.0}}">
|
||||
<i class="fa fa-user-times" aria-hidden="true"></i>
|
||||
</button>
|
||||
{{/if}}
|
||||
{{if $contact.photo_menu.follow}}
|
||||
<a class="contact-action-link btn-link" href="{{$contact.photo_menu.follow.1}}" data-toggle="tooltip" title="{{$contact.photo_menu.follow.0}}">
|
||||
<i class="fa fa-user-plus" aria-hidden="true"></i>
|
||||
|
|
@ -198,11 +193,6 @@ We use this part to filter the contacts with jquery.textcomplete *}}
|
|||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
</a>
|
||||
{/if}
|
||||
{if $photo_menu.drop}
|
||||
<a class="contact-action-link btn-link" href="{$photo_menu.drop.1}" data-toggle="tooltip" title="{$photo_menu.drop.0}">
|
||||
<i class="fa fa-user-times" aria-hidden="true"></i>
|
||||
</a>
|
||||
{/if}
|
||||
{if $photo_menu.follow}
|
||||
<a class="contact-action-link btn-link" href="{$photo_menu.follow.1}" data-toggle="tooltip" title="{$photo_menu.follow.0}">
|
||||
<i class="fa fa-user-plus" aria-hidden="true"></i>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
|
||||
<script type="text/javascript">
|
||||
var dropContact = "{{$contact_drop_confirm}}";
|
||||
</script>
|
||||
|
||||
{{$tabs nofilter}}
|
||||
|
||||
<div id="contacts" class="generic-page-wrapper">
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@
|
|||
<a class="btn" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup">
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
{{if $contact_actions.updateprofile}}<li role="menuitem"><a href="{{$contact_actions.updateprofile.url}}" title="{{$contact_actions.updateprofile.title}}">{{$contact_actions.updateprofile.label}}</a></li>{{/if}}
|
||||
<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.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
{{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}}
|
||||
<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>
|
||||
{{if $contact_actions.revoke_follow.url}}<li role="menuitem"><a href="{{$contact_actions.revoke_follow.url}}" title="{{$contact_actions.revoke_follow.title}}">{{$contact_actions.revoke_follow.label}}</a></li>{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue