Merge remote-tracking branch 'upstream/2022.12-rc' into diaspora-reshare

This commit is contained in:
Michael 2022-12-17 12:27:35 +00:00
commit 8397ccf37c
37 changed files with 9253 additions and 8578 deletions

View file

@ -191,7 +191,7 @@ code</code></td>
You should not read any further if you want to be surprised.<br>
<span id="spoiler-wrap-0716e642" class="spoiler-wrap fakelink" onclick="openClose('spoiler-0716e642');">Click to open/close</span>
<blockquote class="spoiler" id="spoiler-0716e642" style="display: none;">There is a happy end.</blockquote>
<div class="body-attach"><div class="clear"></div></div>
<div class="body-attach"></div>
</div>
</td>
</tr>
@ -202,7 +202,7 @@ code</code></td>
<strong class="spoiler">Author wrote:</strong><br>
<span id="spoiler-wrap-a893765a" class="spoiler-wrap fakelink" onclick="openClose('spoiler-a893765a');">Click to open/close</span>
<blockquote class="spoiler" id="spoiler-a893765a" style="display: none;">Spoiler quote</blockquote>
<div class="body-attach"><div class="clear"></div></div>
<div class="body-attach"></div>
</div>
</td>
</tr>

View file

@ -192,7 +192,7 @@ Zeilen</code></td>
Du solltest nicht weiter lesen, wenn du das Ende des Films nicht vorher erfahren willst. <br>
<span id="spoiler-wrap-0716e642" class="spoiler-wrap fakelink" onclick="openClose('spoiler-0716e642');">Zum &ouml;ffnen/schlie&szlig;en klicken</span>
<blockquote class="spoiler" id="spoiler-0716e642" style="display: none;">Es gibt ein Happy End.</blockquote>
<div class="body-attach"><div class="clear"></div></div>
<div class="body-attach"></div>
</div>
</td>
</tr>
@ -203,7 +203,7 @@ Zeilen</code></td>
<strong class="spoiler">Autor hat geschrieben</strong><br>
<span id="spoiler-wrap-a893765a" class="spoiler-wrap fakelink" onclick="openClose('spoiler-a893765a');">Zum &ouml;ffnen/schlie&szlig;en klicken</span>
<blockquote class="spoiler" id="spoiler-a893765a" style="display: none;">Spoiler Alarm</blockquote>
<div class="body-attach"><div class="clear"></div></div>
<div class="body-attach"></div>
</div>
</td>
</tr>

View file

@ -27,6 +27,8 @@ use Friendica\App\BaseURL;
use Friendica\Capabilities\ICanCreateResponses;
use Friendica\Core\Config\Factory\Config;
use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Database\Definition\DbaDefinition;
use Friendica\Database\Definition\ViewDefinition;
use Friendica\Model\User;
use Friendica\Module\Maintenance;
use Friendica\Security\Authentication;
@ -337,8 +339,10 @@ class App
* @param App\Arguments $args The Friendica Arguments of the call
* @param IManagePersonalConfigValues $pConfig Personal configuration
* @param IHandleUserSessions $session The (User)Session handler
* @param DbaDefinition $dbaDefinition
* @param ViewDefinition $viewDefinition
*/
public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $session)
public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $session, DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
{
$this->database = $database;
$this->config = $config;
@ -351,13 +355,13 @@ class App
$this->pConfig = $pConfig;
$this->session = $session;
$this->load();
$this->load($dbaDefinition, $viewDefinition);
}
/**
* Load the whole app instance
*/
public function load()
protected function load(DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
{
set_time_limit(0);
@ -386,6 +390,10 @@ class App
Core\Hook::loadHooks();
$loader = (new Config())->createConfigFileLoader($this->getBasePath(), $_SERVER);
Core\Hook::callAll('load_config', $loader);
// Hooks are now working, reload the whole definitions with hook enabled
$dbaDefinition->load(true);
$viewDefinition->load(true);
}
$this->loadDefaultTimezone();

View file

@ -2355,7 +2355,7 @@ class BBCode
DI::profiler()->startRecording('rendering');
$ret = [];
self::performWithEscapedTags($string, ['noparse', 'pre', 'code', 'img'], function ($string) use (&$ret) {
self::performWithEscapedTags($string, ['noparse', 'pre', 'code', 'img', 'attachment'], function ($string) use (&$ret) {
// Convert hashtag links to hashtags
$string = preg_replace('/#\[url\=([^\[\]]*)\](.*?)\[\/url\]/ism', '#$2 ', $string);
@ -2599,7 +2599,7 @@ class BBCode
// Bypass attachment if parse url for a comment
if (!$tryAttachment) {
DI::profiler()->stopRecording();
return "\n" . '[url=' . $url . ']' . $siteinfo['title'] . '[/url]';
return "\n" . '[url=' . $url . ']' . ($siteinfo['title'] ?? $url) . '[/url]';
}
// Format it as BBCode attachment

View file

@ -320,7 +320,7 @@ class ACL
'$public_title' => DI::l10n()->t('Public'),
'$public_desc' => DI::l10n()->t('This content will be shown to all your followers and can be seen in the community pages and by anyone with its link.'),
'$custom_title' => DI::l10n()->t('Limited/Private'),
'$custom_desc' => DI::l10n()->t('This content will be shown only to the people in the first box, to the exception of the people mentioned in the second box. It won\'t appear anywhere public.'),
'$custom_desc' => DI::l10n()->t('This content will be shown only to the people in the first box, to the exception of the people mentioned in the second box. It won\'t appear anywhere public.') . DI::l10n()->t('Start typing the name of a contact or a group to show a filtered list. You can also mention the special groups "Followers" and "Mutuals".'),
'$allow_label' => DI::l10n()->t('Show to:'),
'$deny_label' => DI::l10n()->t('Except to:'),
'$emailcc' => DI::l10n()->t('CC: email addresses'),

View file

@ -249,7 +249,8 @@ class DBStructure
// Get the definition
if (is_null($definition)) {
$definition = DI::dbaDefinition()->getAll();
// just for Update purpose, reload the DBA definition with addons to explicit get the whole definition
$definition = DI::dbaDefinition()->load(true)->getAll();
}
// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements

View file

@ -49,7 +49,8 @@ class View
}
}
$definition = DI::viewDefinition()->getAll();
// just for Create purpose, reload the view definition with addons to explicit get the whole definition
$definition = DI::viewDefinition()->load(true)->getAll();
foreach ($definition as $name => $structure) {
if (self::isView($name)) {

View file

@ -314,25 +314,20 @@ class GServer
/**
* Remove unwanted content from the given URL
*
* @param string $url
* @param string $dirtyUrl
*
* @return string cleaned URL
* @throws Exception
*/
public static function cleanURL(string $url): string
public static function cleanURL(string $dirtyUrl): string
{
$url = trim($url, '/');
$url = str_replace('/index.php', '', $url);
$urlparts = parse_url($url);
if (empty($urlparts)) {
try {
$url = str_replace('/index.php', '', trim($dirtyUrl, '/'));
return (string)(new Uri($url))->withUserInfo('')->withQuery('')->withFragment('');
} catch (\Throwable $e) {
Logger::warning('Invalid URL', ['dirtyUrl' => $dirtyUrl, 'url' => $url]);
return '';
}
unset($urlparts['user']);
unset($urlparts['pass']);
unset($urlparts['query']);
unset($urlparts['fragment']);
return (string)Uri::fromParts($urlparts);
}
/**

View file

@ -3016,7 +3016,11 @@ class Item
$item['hashtags'] = $tags['hashtags'];
$item['mentions'] = $tags['mentions'];
$body = $item['body'] = Post\Media::removeFromEndOfBody($item['body'] ?? '');
if (!$is_preview) {
$item['body'] = Post\Media::removeFromEndOfBody($item['body'] ?? '');
}
$body = $item['body'];
$fields = ['uri-id', 'uri', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink', 'network', 'has-media', 'quote-uri-id', 'post-type'];
@ -3144,122 +3148,14 @@ class Item
* @return string
* @throws \Friendica\Network\HTTPException\ServiceUnavailableException
*/
public static function makeImageGrid(array $images): string
private static function makeImageGrid(array $images): string
{
$landscapeimages = [];
$portraitimages = [];
foreach ($images as $image) {
($image['attachment']['width'] > $image['attachment']['height']) ? ($landscapeimages[] = $image) : ($portraitimages[] = $image);
}
// Image for first column (fc) and second column (sc)
$images_fc = [];
$images_sc = [];
$lcount = count($landscapeimages);
$pcount = count($portraitimages);
if ($lcount == 0 || $pcount == 0) {
if ($lcount == 0) {
// only portrait
for ($i = 0; $i < $pcount; $i++) {
($i % 2 == 0) ? ($images_fc[] = $portraitimages[$i]) : ($images_sc[] = $portraitimages[$i]);
}
}
if ($pcount == 0) {
// ony landscapes
for ($i = 0; $i < $lcount; $i++) {
($i % 2 == 0) ? ($images_fc[] = $landscapeimages[$i]) : ($images_sc[] = $landscapeimages[$i]);
}
}
} else {
// Mix of landscape and portrait images.
if ($lcount == $pcount) {
// equal amount of landscapes and portraits
if ($lcount == 1) {
// one left / one right
$images_fc[] = $landscapeimages[0];
$images_sc[] = $portraitimages[0];
} else {
// Distribute equal to both columns
for ($l = 0; $l < $lcount; $l++) {
if ($l % 2 == 0) {
// landscape left and portrait right for even numbers
$images_fc[] = $landscapeimages[$l];
$images_fc[] = $portraitimages[$l];
} else {
// portraits left and landscape right for odd numbers
$images_sc[] = $portraitimages[$l];
$images_sc[] = $landscapeimages[$l];
}
}
}
}
if ($lcount > $pcount) {
// More landscapes than portraits
$p = 0;
$l = 0;
while ($l < $lcount) {
if (($lcount > $l + 1) && ($pcount > $l)) {
// we have one more landscape that can be used for the l-th portrait
$images_fc[] = $landscapeimages[$l++];
}
$images_fc[] = $landscapeimages[$l++];
if ($pcount > $p) {
$images_sc[] = $portraitimages[$p++];
}
}
}
if ($lcount < $pcount) {
// More portraits than landscapes
if ($lcount % 2 == 0 && $pcount % 2 == 0) {
/*
* even number of landscapes and portraits, but fewer landscapes than portraits. Iterate to the end
* of landscapes array
*/
$i = 0;
while ($i < $lcount) {
if ($i % 2 == 0) {
$images_fc[] = $landscapeimages[$i];
$images_fc[] = $portraitimages[$i];
} else {
$images_sc[] = $portraitimages[$i];
$images_sc[] = $landscapeimages[$i];
}
$i++;
}
// Rest portraits
while ($i < $pcount) {
if ($i % 2 == 0) {
$images_fc[] = $portraitimages[$i];
} else {
$images_sc[] = $portraitimages[$i];
}
$i++;
}
}
if ($lcount % 2 != 0 && $pcount % 2 == 0) {
// uneven landscapes count even portraits count.
for ($p = 0; $p < $pcount; $p++) {
// --> First all portraits until
if ($p % 2 == 0) {
$images_fc[] = $portraitimages[$p];
} else {
$images_sc[] = $portraitimages[$p];
}
}
// and now the (uneven) landscapes
for ($l = 0; $l < $lcount; $l++) {
// --> First all portraits until
if ($l % 2 == 0) {
$images_fc[] = $landscapeimages[$l];
} else {
$images_sc[] = $landscapeimages[$l];
}
}
}
}
for ($i = 0; $i < count($images); $i++) {
($i % 2 == 0) ? ($images_fc[] = $images[$i]) : ($images_sc[] = $images[$i]);
}
return Renderer::replaceMacros(Renderer::getMarkupTemplate('content/image_grid.tpl'), [
@ -3270,6 +3166,7 @@ class Item
]);
}
/**
* Check if the body contains a link
*
@ -3438,15 +3335,15 @@ class Item
}
if ($shared) {
$content = str_replace(BBCode::TOP_ANCHOR, '<div class="body-attach">' . $leading . '<div class="clear"></div></div>' . BBCode::TOP_ANCHOR, $content);
$content = str_replace(BBCode::BOTTOM_ANCHOR, '<div class="body-attach">' . $trailing . '<div class="clear"></div></div>' . BBCode::BOTTOM_ANCHOR, $content);
$content = str_replace(BBCode::TOP_ANCHOR, '<div class="body-attach">' . $leading . '</div>' . BBCode::TOP_ANCHOR, $content);
$content = str_replace(BBCode::BOTTOM_ANCHOR, '<div class="body-attach">' . $trailing . '</div>' . BBCode::BOTTOM_ANCHOR, $content);
} else {
if ($leading != '') {
$content = '<div class="body-attach">' . $leading . '<div class="clear"></div></div>' . $content;
$content = '<div class="body-attach">' . $leading . '</div>' . $content;
}
if ($trailing != '') {
$content .= '<div class="body-attach">' . $trailing . '<div class="clear"></div></div>';
$content .= '<div class="body-attach">' . $trailing . '</div>';
}
}
@ -3606,7 +3503,7 @@ class Item
}
if ($trailing != '') {
$content .= '<div class="body-attach">' . $trailing . '<div class="clear"></div></div>';
$content .= '<div class="body-attach">' . $trailing . '</div>';
}
DI::profiler()->stopRecording();

View file

@ -50,7 +50,7 @@ class Features extends BaseAdmin
DI::config()->set('feature', $feature, $val);
if (!empty($_POST[$featurelock])) {
DI::config()->set('feature_lock', $feature, $val);
DI::config()->set('feature_lock', $feature, 1);
} else {
DI::config()->delete('feature_lock', $feature);
}

View file

@ -475,7 +475,7 @@ class Site extends BaseAdmin
'$maximagesize' => ['maximagesize', DI::l10n()->t('Maximum image size'), DI::config()->get('system', 'maximagesize'), DI::l10n()->t('Maximum size in bytes of uploaded images. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.
The value of <code>upload_max_filesize</code> in your <code>PHP.ini</code> needs be set to at least the desired limit.
Currently <code>upload_max_filesize</code> is set to %s (%sB)', Strings::getBytesFromShorthand(ini_get('upload_max_filesize')), ini_get('upload_max_filesize')),
Currently <code>upload_max_filesize</code> is set to %s (%s byte)', Strings::formatBytes(Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))), Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))),
'', 'pattern="\d+(?:\s*[kmg])?"'],
'$maximagelength' => ['maximagelength', DI::l10n()->t('Maximum image length'), DI::config()->get('system', 'max_image_length'), DI::l10n()->t('Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.')],
'$jpegimagequality' => ['jpegimagequality', DI::l10n()->t('JPEG image quality'), DI::config()->get('system', 'jpeg_quality'), DI::l10n()->t('Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality.')],

View file

@ -23,6 +23,7 @@ namespace Friendica\Module\Api\Twitter\Followers;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
use Friendica\Module\BaseApi;
@ -47,6 +48,34 @@ class Ids extends ContactEndpoint
$max_id = $this->getRequestValue($request, 'max_id', 0, 0);
$min_id = $this->getRequestValue($request, 'min_id', 0, 0);
if ($cid == Contact::getPublicIdByUserId($uid)) {
$params = ['order' => ['pid' => true], 'limit' => $count];
$condition = ['uid' => $uid, 'self' => false, 'pending' => false, 'rel' => [Contact::FOLLOWER, Contact::FRIEND]];
$total_count = (int)DBA::count('contact', $condition);
if (!empty($max_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` < ?", $max_id]);
}
if (!empty($since_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $since_id]);
}
if (!empty($min_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $min_id]);
$params['order'] = ['pid'];
}
$ids = [];
foreach (Contact::selectAccountToArray(['pid'], $condition, $params) as $follower) {
self::setBoundaries($follower['pid']);
$ids[] = $follower['pid'];
}
} else {
$params = ['order' => ['relation-cid' => true], 'limit' => $count];
$condition = ['cid' => $cid, 'follows' => true];
@ -75,6 +104,7 @@ class Ids extends ContactEndpoint
$ids[] = $follower['relation-cid'];
}
DBA::close($followers);
}
if (!empty($min_id)) {
$ids = array_reverse($ids);

View file

@ -21,8 +21,8 @@
namespace Friendica\Module\Api\Twitter\Followers;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
use Friendica\Module\BaseApi;
@ -48,6 +48,34 @@ class Lists extends ContactEndpoint
$max_id = $this->getRequestValue($request, 'max_id', 0, 0);
$min_id = $this->getRequestValue($request, 'min_id', 0, 0);
if ($cid == Contact::getPublicIdByUserId($uid)) {
$params = ['order' => ['pid' => true], 'limit' => $count];
$condition = ['uid' => $uid, 'self' => false, 'pending' => false, 'rel' => [Contact::FOLLOWER, Contact::FRIEND]];
$total_count = (int)DBA::count('contact', $condition);
if (!empty($max_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` < ?", $max_id]);
}
if (!empty($since_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $since_id]);
}
if (!empty($min_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $min_id]);
$params['order'] = ['pid'];
}
$ids = [];
foreach (Contact::selectAccountToArray(['pid'], $condition, $params) as $follower) {
self::setBoundaries($follower['pid']);
$ids[] = $follower['pid'];
}
} else {
$params = ['order' => ['relation-cid' => true], 'limit' => $count];
$condition = ['cid' => $cid, 'follows' => true];
@ -76,6 +104,7 @@ class Lists extends ContactEndpoint
$ids[] = $follower['relation-cid'];
}
DBA::close($followers);
}
if (!empty($min_id)) {
$ids = array_reverse($ids);
@ -83,7 +112,7 @@ class Lists extends ContactEndpoint
$return = self::list($ids, $total_count, $uid, $cursor, $count, $skip_status, $include_user_entities);
self::setLinkHeader();
$this->response->setHeader(self::getLinkHeader());
$this->response->exit('lists', ['lists' => $return]);
}

View file

@ -23,6 +23,7 @@ namespace Friendica\Module\Api\Twitter\Friends;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
use Friendica\Module\BaseApi;
@ -47,6 +48,34 @@ class Ids extends ContactEndpoint
$max_id = $this->getRequestValue($request, 'max_id', 0, 0);
$min_id = $this->getRequestValue($request, 'min_id', 0, 0);
if ($cid == Contact::getPublicIdByUserId($uid)) {
$params = ['order' => ['pid' => true], 'limit' => $count];
$condition = ['uid' => $uid, 'self' => false, 'pending' => false, 'rel' => [Contact::SHARING, Contact::FRIEND]];
$total_count = (int)DBA::count('contact', $condition);
if (!empty($max_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` < ?", $max_id]);
}
if (!empty($since_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $since_id]);
}
if (!empty($min_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $min_id]);
$params['order'] = ['pid'];
}
$ids = [];
foreach (Contact::selectAccountToArray(['pid'], $condition, $params) as $follower) {
self::setBoundaries($follower['pid']);
$ids[] = $follower['pid'];
}
} else {
$params = ['order' => ['cid' => true], 'limit' => $count];
$condition = ['relation-cid' => $cid, 'follows' => true];
@ -75,6 +104,7 @@ class Ids extends ContactEndpoint
$ids[] = $follower['cid'];
}
DBA::close($followers);
}
if (!empty($min_id)) {
$ids = array_reverse($ids);

View file

@ -21,8 +21,8 @@
namespace Friendica\Module\Api\Twitter\Friends;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Module\Api\Twitter\ContactEndpoint;
use Friendica\Module\BaseApi;
@ -48,6 +48,34 @@ class Lists extends ContactEndpoint
$max_id = $this->getRequestValue($request, 'max_id', 0, 0);
$min_id = $this->getRequestValue($request, 'min_id', 0, 0);
if ($cid == Contact::getPublicIdByUserId($uid)) {
$params = ['order' => ['pid' => true], 'limit' => $count];
$condition = ['uid' => $uid, 'self' => false, 'pending' => false, 'rel' => [Contact::SHARING, Contact::FRIEND]];
$total_count = (int)DBA::count('contact', $condition);
if (!empty($max_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` < ?", $max_id]);
}
if (!empty($since_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $since_id]);
}
if (!empty($min_id)) {
$condition = DBA::mergeConditions($condition, ["`pid` > ?", $min_id]);
$params['order'] = ['pid'];
}
$ids = [];
foreach (Contact::selectAccountToArray(['pid'], $condition, $params) as $follower) {
self::setBoundaries($follower['pid']);
$ids[] = $follower['pid'];
}
} else {
$params = ['order' => ['cid' => true], 'limit' => $count];
$condition = ['relation-cid' => $cid, 'follows' => true];
@ -76,6 +104,7 @@ class Lists extends ContactEndpoint
$ids[] = $follower['cid'];
}
DBA::close($followers);
}
if (!empty($min_id)) {
$ids = array_reverse($ids);
@ -83,7 +112,7 @@ class Lists extends ContactEndpoint
$return = self::list($ids, $total_count, $uid, $cursor, $count, $skip_status, $include_user_entities);
self::setLinkHeader();
$this->response->setHeader(self::getLinkHeader());
$this->response->exit('lists', ['lists' => $return]);
}

View file

@ -21,7 +21,6 @@
namespace Friendica\Module\Api\Twitter\Friendships;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\Module\Api\Twitter\ContactEndpoint;
use Friendica\Module\BaseApi;
@ -81,7 +80,7 @@ class Incoming extends ContactEndpoint
$return = self::ids($ids, $total_count, $cursor, $count, $stringify_ids);
self::setLinkHeader();
$this->response->setHeader(self::getLinkHeader());
$this->response->exit('incoming', ['incoming' => $return]);
}

View file

@ -139,13 +139,13 @@ class BaseApi extends BaseModule
}
/**
* Set the "link" header with "next" and "prev" links
* @return void
* Get the "link" header with "next" and "prev" links
* @return string
*/
protected static function setLinkHeader()
protected static function getLinkHeader(): string
{
if (empty(self::$boundaries)) {
return;
return '';
}
$request = self::$request;
@ -164,7 +164,19 @@ class BaseApi extends BaseModule
$prev = $command . '?' . http_build_query($prev_request);
$next = $command . '?' . http_build_query($next_request);
header('Link: <' . $next . '>; rel="next", <' . $prev . '>; rel="prev"');
return 'Link: <' . $next . '>; rel="next", <' . $prev . '>; rel="prev"';
}
/**
* Set the "link" header with "next" and "prev" links
* @return void
*/
protected static function setLinkHeader()
{
$header = self::getLinkHeader();
if (!empty($header)) {
header($header);
}
}
/**

View file

@ -31,6 +31,7 @@ use Friendica\Core\Renderer;
use Friendica\Core\Session\Capability\IHandleUserSessions;
use Friendica\Core\Theme;
use Friendica\Model\Event;
use Friendica\Model\Profile;
use Friendica\Model\User;
use Friendica\Module\BaseProfile;
use Friendica\Module\Response;
@ -68,7 +69,7 @@ class Show extends BaseModule
throw new HTTPException\UnauthorizedException();
}
$owner = User::getOwnerDataByNick($nickname);
$owner = Profile::load($this->app, $nickname, false);
if (!$owner || $owner['account_expired'] || $owner['account_removed']) {
throw new HTTPException\NotFoundException($this->t('User not found.'));
}
@ -102,8 +103,9 @@ class Show extends BaseModule
Nav::setSelected($is_owner ? 'home' : 'calendar');
if (!$is_owner) {
$this->page['aside'] .= Widget\VCard::getHTML($owner);
if ($is_owner) {
// Removing the vCard added by Profile::load for owners
$this->page['aside'] = '';
}
$this->page['aside'] .= Widget\CalendarExport::getHTML($owner['uid']);

View file

@ -191,7 +191,7 @@ class Contact extends BaseModule
$rel_widget = Widget::contactRels($_SERVER['REQUEST_URI'], $rel);
$groups_widget = Widget::groups($_SERVER['REQUEST_URI'], $group);
DI::page()['aside'] .= $vcard_widget . $findpeople_widget . $follow_widget . $account_widget . $groups_widget . $networks_widget . $rel_widget;
DI::page()['aside'] .= $vcard_widget . $findpeople_widget . $follow_widget . $rel_widget . $groups_widget . $networks_widget . $account_widget;
$tpl = Renderer::getMarkupTemplate('contacts-head.tpl');
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [

View file

@ -116,8 +116,8 @@ class Ping extends BaseModule
$birthday_count = 0;
$today_birthday_count = 0;
if ($this->session->getLocalUserId()) {
// Suppress notification display for forum accounts
if ($this->session->getLocalUserId() && $this->session->get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
if ($this->pconfig->get($this->session->getLocalUserId(), 'system', 'detailed_notif')) {
$notifications = $this->notificationRepo->selectDetailedForUser($this->session->getLocalUserId());
} else {

View file

@ -142,7 +142,7 @@ class Subscribe extends \Friendica\BaseModule
$o .= '<p>' . $counter . '/' . $total . ': ' . $url;
$probed = Contact::getByURL($url);
if (in_array($probed['network'], Protocol::FEDERATED)) {
if (!empty($probed['network']) && in_array($probed['network'], Protocol::FEDERATED)) {
$result = Contact::createFromProbeForUser($this->session->getLocalUserId(), $probed['url']);
if ($result['success']) {
$o .= ' - ' . $this->t('success');

View file

@ -377,7 +377,7 @@ class Photo extends BaseModule
$url = Contact::getDefaultAvatar($contact ?: [], Proxy::SIZE_SMALL);
}
}
return MPhoto::createPhotoForExternalResource($url, 0, $mimetext, $contact['blurhash'], $customsize, $customsize);
return MPhoto::createPhotoForExternalResource($url, 0, $mimetext, $contact['blurhash'] ?? null, $customsize, $customsize);
case 'header':
$fields = ['uid', 'url', 'header', 'network', 'gsid'];
$contact = Contact::getById($id, $fields);

View file

@ -35,11 +35,6 @@ a.btn, a.btn:hover {
text-decoration: overline;
}
.icon {
width: 48px;
height: 48px;
}
.template-icon {
width: 24px;
height: 24px;
@ -707,3 +702,8 @@ audio {
/**
* Image grid settings END
**/
#contactblock .icon {
width: 48px;
height: 48px;
}

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2022.12-rc\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-12-07 07:12+0000\n"
"POT-Creation-Date: 2022-12-14 21:56-0500\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"
@ -1516,7 +1516,7 @@ msgstr ""
msgid "show more"
msgstr ""
#: src/Content/Item.php:294 src/Model/Item.php:2914
#: src/Content/Item.php:294 src/Model/Item.php:2925
msgid "event"
msgstr ""
@ -1525,7 +1525,7 @@ msgstr ""
msgid "status"
msgstr ""
#: src/Content/Item.php:303 src/Model/Item.php:2916
#: src/Content/Item.php:303 src/Model/Item.php:2927
#: src/Module/Post/Tag/Add.php:123
msgid "photo"
msgstr ""
@ -1539,31 +1539,31 @@ msgstr ""
msgid "Follow Thread"
msgstr ""
#: src/Content/Item.php:387 src/Model/Contact.php:1209
#: src/Content/Item.php:387 src/Model/Contact.php:1213
msgid "View Status"
msgstr ""
#: src/Content/Item.php:388 src/Content/Item.php:406 src/Model/Contact.php:1147
#: src/Model/Contact.php:1201 src/Model/Contact.php:1210
#: src/Content/Item.php:388 src/Content/Item.php:406 src/Model/Contact.php:1151
#: src/Model/Contact.php:1205 src/Model/Contact.php:1214
#: src/Module/Directory.php:157 src/Module/Settings/Profile/Index.php:234
msgid "View Profile"
msgstr ""
#: src/Content/Item.php:389 src/Model/Contact.php:1211
#: src/Content/Item.php:389 src/Model/Contact.php:1215
msgid "View Photos"
msgstr ""
#: src/Content/Item.php:390 src/Model/Contact.php:1202
#: src/Model/Contact.php:1212
#: src/Content/Item.php:390 src/Model/Contact.php:1206
#: src/Model/Contact.php:1216
msgid "Network Posts"
msgstr ""
#: src/Content/Item.php:391 src/Model/Contact.php:1203
#: src/Model/Contact.php:1213
#: src/Content/Item.php:391 src/Model/Contact.php:1207
#: src/Model/Contact.php:1217
msgid "View Contact"
msgstr ""
#: src/Content/Item.php:392 src/Model/Contact.php:1214
#: src/Content/Item.php:392 src/Model/Contact.php:1218
msgid "Send PM"
msgstr ""
@ -1588,7 +1588,7 @@ msgid "Languages"
msgstr ""
#: src/Content/Item.php:403 src/Content/Widget.php:80
#: src/Model/Contact.php:1204 src/Model/Contact.php:1215
#: src/Model/Contact.php:1208 src/Model/Contact.php:1219
#: src/Module/Contact/Follow.php:167 view/theme/vier/theme.php:196
msgid "Connect/Follow"
msgstr ""
@ -1920,8 +1920,8 @@ msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr ""
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3539
#: src/Model/Item.php:3545 src/Model/Item.php:3546
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3688
#: src/Model/Item.php:3694 src/Model/Item.php:3695
msgid "Link to source"
msgstr ""
@ -2081,7 +2081,7 @@ msgstr ""
msgid "Organisations"
msgstr ""
#: src/Content/Widget.php:523 src/Model/Contact.php:1641
#: src/Content/Widget.php:523 src/Model/Contact.php:1655
msgid "News"
msgstr ""
@ -2162,8 +2162,8 @@ msgstr ""
msgid "Network:"
msgstr ""
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1205
#: src/Model/Contact.php:1216 src/Model/Profile.php:465
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1209
#: src/Model/Contact.php:1220 src/Model/Profile.php:465
#: src/Module/Contact/Profile.php:419
msgid "Unfollow"
msgstr ""
@ -2203,6 +2203,12 @@ msgid ""
"anywhere public."
msgstr ""
#: src/Core/ACL.php:323
msgid ""
"Start typing the name of a contact or a group to show a filtered list. You "
"can also mention the special groups \"Followers\" and \"Mutuals\"."
msgstr ""
#: src/Core/ACL.php:324
msgid "Show to:"
msgstr ""
@ -2860,77 +2866,77 @@ msgstr ""
msgid "Legacy module file not found: %s"
msgstr ""
#: src/Model/Contact.php:1222 src/Module/Moderation/Users/Pending.php:102
#: src/Model/Contact.php:1226 src/Module/Moderation/Users/Pending.php:102
#: src/Module/Notifications/Introductions.php:132
#: src/Module/Notifications/Introductions.php:204
msgid "Approve"
msgstr ""
#: src/Model/Contact.php:1637
#: src/Model/Contact.php:1651
msgid "Organisation"
msgstr ""
#: src/Model/Contact.php:1645
#: src/Model/Contact.php:1659
msgid "Forum"
msgstr ""
#: src/Model/Contact.php:2849
#: src/Model/Contact.php:2884
msgid "Disallowed profile URL."
msgstr ""
#: src/Model/Contact.php:2854 src/Module/Friendica.php:82
#: src/Model/Contact.php:2889 src/Module/Friendica.php:82
msgid "Blocked domain"
msgstr ""
#: src/Model/Contact.php:2859
#: src/Model/Contact.php:2894
msgid "Connect URL missing."
msgstr ""
#: src/Model/Contact.php:2868
#: src/Model/Contact.php:2903
msgid ""
"The contact could not be added. Please check the relevant network "
"credentials in your Settings -> Social Networks page."
msgstr ""
#: src/Model/Contact.php:2910
#: src/Model/Contact.php:2945
msgid "The profile address specified does not provide adequate information."
msgstr ""
#: src/Model/Contact.php:2912
#: src/Model/Contact.php:2947
msgid "No compatible communication protocols or feeds were discovered."
msgstr ""
#: src/Model/Contact.php:2915
#: src/Model/Contact.php:2950
msgid "An author or name was not found."
msgstr ""
#: src/Model/Contact.php:2918
#: src/Model/Contact.php:2953
msgid "No browser URL could be matched to this address."
msgstr ""
#: src/Model/Contact.php:2921
#: src/Model/Contact.php:2956
msgid ""
"Unable to match @-style Identity Address with a known protocol or email "
"contact."
msgstr ""
#: src/Model/Contact.php:2922
#: src/Model/Contact.php:2957
msgid "Use mailto: in front of address to force email check."
msgstr ""
#: src/Model/Contact.php:2928
#: src/Model/Contact.php:2963
msgid ""
"The profile address specified belongs to a network which has been disabled "
"on this site."
msgstr ""
#: src/Model/Contact.php:2933
#: src/Model/Contact.php:2968
msgid ""
"Limited profile. This person will be unable to receive direct/personal "
"notifications from you."
msgstr ""
#: src/Model/Contact.php:2992
#: src/Model/Contact.php:3027
msgid "Unable to retrieve contact information."
msgstr ""
@ -2957,21 +2963,22 @@ msgid "Sept"
msgstr ""
#: src/Model/Event.php:462 src/Module/Calendar/Show.php:126
#: src/Util/Temporal.php:339
msgid "today"
msgstr ""
#: src/Model/Event.php:463 src/Module/Calendar/Show.php:127
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "month"
msgstr ""
#: src/Model/Event.php:464 src/Module/Calendar/Show.php:128
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "week"
msgstr ""
#: src/Model/Event.php:465 src/Module/Calendar/Show.php:129
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "day"
msgstr ""
@ -3083,69 +3090,69 @@ msgstr ""
msgid "Detected languages in this post:\\n%s"
msgstr ""
#: src/Model/Item.php:2918
#: src/Model/Item.php:2929
msgid "activity"
msgstr ""
#: src/Model/Item.php:2920
#: src/Model/Item.php:2931
msgid "comment"
msgstr ""
#: src/Model/Item.php:2923
#: src/Model/Item.php:2934
msgid "post"
msgstr ""
#: src/Model/Item.php:3064
#: src/Model/Item.php:3077
#, php-format
msgid "Content warning: %s"
msgstr ""
#: src/Model/Item.php:3451
#: src/Model/Item.php:3600
msgid "bytes"
msgstr ""
#: src/Model/Item.php:3482
#: src/Model/Item.php:3631
#, php-format
msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3484
#: src/Model/Item.php:3633
#, php-format
msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3489
#: src/Model/Item.php:3638
#, php-format
msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3491
#: src/Model/Item.php:3640
#, php-format
msgid "%d voter."
msgid_plural "%d voters."
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3493
#: src/Model/Item.php:3642
#, php-format
msgid "Poll end: %s"
msgstr ""
#: src/Model/Item.php:3527 src/Model/Item.php:3528
#: src/Model/Item.php:3676 src/Model/Item.php:3677
msgid "View on separate page"
msgstr ""
#: src/Model/Mail.php:137 src/Model/Mail.php:265
#: src/Model/Mail.php:136 src/Model/Mail.php:264
msgid "[no subject]"
msgstr ""
#: src/Model/Photo.php:1152 src/Module/Media/Photo/Upload.php:198
#: src/Model/Photo.php:1178 src/Module/Media/Photo/Upload.php:198
msgid "Wall Photos"
msgstr ""
@ -4261,7 +4268,7 @@ msgid ""
"\t\t\t\t\t\t\t\t\t\t\t\t\tThe value of <code>upload_max_filesize</code> in "
"your <code>PHP.ini</code> needs be set to at least the desired limit.\n"
"\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently <code>upload_max_filesize</code> is set "
"to %s (%sB)"
"to %s (%s byte)"
msgstr ""
#: src/Module/Admin/Site.php:480
@ -5328,26 +5335,26 @@ msgstr ""
msgid "User registrations waiting for confirmation"
msgstr ""
#: src/Module/BaseApi.php:242 src/Module/BaseApi.php:258
#: src/Module/BaseApi.php:274
#: src/Module/BaseApi.php:254 src/Module/BaseApi.php:270
#: src/Module/BaseApi.php:286
msgid "Too Many Requests"
msgstr ""
#: src/Module/BaseApi.php:243
#: src/Module/BaseApi.php:255
#, php-format
msgid "Daily posting limit of %d post reached. The post was rejected."
msgid_plural "Daily posting limit of %d posts reached. The post was rejected."
msgstr[0] ""
msgstr[1] ""
#: src/Module/BaseApi.php:259
#: src/Module/BaseApi.php:271
#, php-format
msgid "Weekly posting limit of %d post reached. The post was rejected."
msgid_plural "Weekly posting limit of %d posts reached. The post was rejected."
msgstr[0] ""
msgstr[1] ""
#: src/Module/BaseApi.php:275
#: src/Module/BaseApi.php:287
#, php-format
msgid "Monthly posting limit of %d post reached. The post was rejected."
msgid_plural ""
@ -7962,11 +7969,11 @@ msgstr ""
msgid "Show unread"
msgstr ""
#: src/Module/Notifications/Ping.php:240
#: src/Module/Notifications/Ping.php:245
msgid "{0} requested registration"
msgstr ""
#: src/Module/Notifications/Ping.php:249
#: src/Module/Notifications/Ping.php:254
#, php-format
msgid "{0} and %d others requested registration"
msgstr ""
@ -10547,11 +10554,11 @@ msgid ""
"features and resources."
msgstr ""
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:151
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:161
msgid "{0} wants to follow you"
msgstr ""
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:153
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:163
msgid "{0} has started following you"
msgstr ""
@ -11288,64 +11295,64 @@ msgstr ""
msgid "Time zone: <strong>%s</strong> <a href=\"%s\">Change in Settings</a>"
msgstr ""
#: src/Util/Temporal.php:317 src/Util/Temporal.php:324
#: src/Util/Temporal.php:318 src/Util/Temporal.php:325
msgid "never"
msgstr ""
#: src/Util/Temporal.php:331
#: src/Util/Temporal.php:339
msgid "less than a second ago"
msgstr ""
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "year"
msgstr ""
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "years"
msgstr ""
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "months"
msgstr ""
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "weeks"
msgstr ""
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "days"
msgstr ""
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hour"
msgstr ""
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hours"
msgstr ""
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minute"
msgstr ""
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minutes"
msgstr ""
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "second"
msgstr ""
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "seconds"
msgstr ""
#: src/Util/Temporal.php:356
#: src/Util/Temporal.php:364
#, php-format
msgid "in %1$d %2$s"
msgstr ""
#: src/Util/Temporal.php:359
#: src/Util/Temporal.php:367
#, php-format
msgid "%1$d %2$s ago"
msgstr ""

View file

@ -50,7 +50,7 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-12-07 07:12+0000\n"
"POT-Creation-Date: 2022-12-14 21:56-0500\n"
"PO-Revision-Date: 2011-05-05 10:19+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016-2022\n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
@ -1558,7 +1558,7 @@ msgstr "weniger anzeigen"
msgid "show more"
msgstr "mehr anzeigen"
#: src/Content/Item.php:294 src/Model/Item.php:2914
#: src/Content/Item.php:294 src/Model/Item.php:2925
msgid "event"
msgstr "Veranstaltung"
@ -1567,7 +1567,7 @@ msgstr "Veranstaltung"
msgid "status"
msgstr "Status"
#: src/Content/Item.php:303 src/Model/Item.php:2916
#: src/Content/Item.php:303 src/Model/Item.php:2927
#: src/Module/Post/Tag/Add.php:123
msgid "photo"
msgstr "Foto"
@ -1581,32 +1581,32 @@ msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt"
msgid "Follow Thread"
msgstr "Folge der Unterhaltung"
#: src/Content/Item.php:387 src/Model/Contact.php:1209
#: src/Content/Item.php:387 src/Model/Contact.php:1213
msgid "View Status"
msgstr "Status anschauen"
#: src/Content/Item.php:388 src/Content/Item.php:406
#: src/Model/Contact.php:1147 src/Model/Contact.php:1201
#: src/Model/Contact.php:1210 src/Module/Directory.php:157
#: src/Model/Contact.php:1151 src/Model/Contact.php:1205
#: src/Model/Contact.php:1214 src/Module/Directory.php:157
#: src/Module/Settings/Profile/Index.php:234
msgid "View Profile"
msgstr "Profil anschauen"
#: src/Content/Item.php:389 src/Model/Contact.php:1211
#: src/Content/Item.php:389 src/Model/Contact.php:1215
msgid "View Photos"
msgstr "Bilder anschauen"
#: src/Content/Item.php:390 src/Model/Contact.php:1202
#: src/Model/Contact.php:1212
#: src/Content/Item.php:390 src/Model/Contact.php:1206
#: src/Model/Contact.php:1216
msgid "Network Posts"
msgstr "Netzwerkbeiträge"
#: src/Content/Item.php:391 src/Model/Contact.php:1203
#: src/Model/Contact.php:1213
#: src/Content/Item.php:391 src/Model/Contact.php:1207
#: src/Model/Contact.php:1217
msgid "View Contact"
msgstr "Kontakt anzeigen"
#: src/Content/Item.php:392 src/Model/Contact.php:1214
#: src/Content/Item.php:392 src/Model/Contact.php:1218
msgid "Send PM"
msgstr "Private Nachricht senden"
@ -1631,7 +1631,7 @@ msgid "Languages"
msgstr "Sprachen"
#: src/Content/Item.php:403 src/Content/Widget.php:80
#: src/Model/Contact.php:1204 src/Model/Contact.php:1215
#: src/Model/Contact.php:1208 src/Model/Contact.php:1219
#: src/Module/Contact/Follow.php:167 view/theme/vier/theme.php:196
msgid "Connect/Follow"
msgstr "Verbinden/Folgen"
@ -1962,8 +1962,8 @@ msgstr "Bild/Foto"
msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a>%3$s"
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3539
#: src/Model/Item.php:3545 src/Model/Item.php:3546
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3688
#: src/Model/Item.php:3694 src/Model/Item.php:3695
msgid "Link to source"
msgstr "Link zum Originalbeitrag"
@ -2123,7 +2123,7 @@ msgstr "Personen"
msgid "Organisations"
msgstr "Organisationen"
#: src/Content/Widget.php:523 src/Model/Contact.php:1641
#: src/Content/Widget.php:523 src/Model/Contact.php:1655
msgid "News"
msgstr "Nachrichten"
@ -2204,8 +2204,8 @@ msgstr "Ort:"
msgid "Network:"
msgstr "Netzwerk:"
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1205
#: src/Model/Contact.php:1216 src/Model/Profile.php:465
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1209
#: src/Model/Contact.php:1220 src/Model/Profile.php:465
#: src/Module/Contact/Profile.php:419
msgid "Unfollow"
msgstr "Entfolgen"
@ -2245,6 +2245,12 @@ msgid ""
"anywhere public."
msgstr "Dieser Inhalt wird außschließlich den Kontakten gezeigt, die du in der ersten Box ausgewählt hast, mit den Ausnahmen derer die du in der zweiten Box auflistest. Er wird nicht öffentlich zugänglich sein."
#: src/Core/ACL.php:323
msgid ""
"Start typing the name of a contact or a group to show a filtered list. You "
"can also mention the special groups \"Followers\" and \"Mutuals\"."
msgstr "Fange an den Namen eines Kontakts oder einer Gruppe zu schreiben, diese werden dir dann in einer Liste angezeigt. Außerdem kannst du spezielle Gruppen wie \"Folgende\" oder \"Beidseitige Freundschaft\" verwenden."
#: src/Core/ACL.php:324
msgid "Show to:"
msgstr "Sichtbar für:"
@ -2902,77 +2908,77 @@ msgstr "Interner Serverfehler"
msgid "Legacy module file not found: %s"
msgstr "Legacy-Moduldatei nicht gefunden: %s"
#: src/Model/Contact.php:1222 src/Module/Moderation/Users/Pending.php:102
#: src/Model/Contact.php:1226 src/Module/Moderation/Users/Pending.php:102
#: src/Module/Notifications/Introductions.php:132
#: src/Module/Notifications/Introductions.php:204
msgid "Approve"
msgstr "Genehmigen"
#: src/Model/Contact.php:1637
#: src/Model/Contact.php:1651
msgid "Organisation"
msgstr "Organisation"
#: src/Model/Contact.php:1645
#: src/Model/Contact.php:1659
msgid "Forum"
msgstr "Forum"
#: src/Model/Contact.php:2849
#: src/Model/Contact.php:2884
msgid "Disallowed profile URL."
msgstr "Nicht erlaubte Profil-URL."
#: src/Model/Contact.php:2854 src/Module/Friendica.php:82
#: src/Model/Contact.php:2889 src/Module/Friendica.php:82
msgid "Blocked domain"
msgstr "Blockierte Domain"
#: src/Model/Contact.php:2859
#: src/Model/Contact.php:2894
msgid "Connect URL missing."
msgstr "Connect-URL fehlt"
#: src/Model/Contact.php:2868
#: src/Model/Contact.php:2903
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:2910
#: src/Model/Contact.php:2945
msgid "The profile address specified does not provide adequate information."
msgstr "Die angegebene Profiladresse liefert unzureichende Informationen."
#: src/Model/Contact.php:2912
#: src/Model/Contact.php:2947
msgid "No compatible communication protocols or feeds were discovered."
msgstr "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden."
#: src/Model/Contact.php:2915
#: src/Model/Contact.php:2950
msgid "An author or name was not found."
msgstr "Es wurde kein Autor oder Name gefunden."
#: src/Model/Contact.php:2918
#: src/Model/Contact.php:2953
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:2921
#: src/Model/Contact.php:2956
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:2922
#: src/Model/Contact.php:2957
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:2928
#: src/Model/Contact.php:2963
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:2933
#: src/Model/Contact.php:2968
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:2992
#: src/Model/Contact.php:3027
msgid "Unable to retrieve contact information."
msgstr "Konnte die Kontaktinformationen nicht empfangen."
@ -2999,21 +3005,22 @@ msgid "Sept"
msgstr "Sep"
#: src/Model/Event.php:462 src/Module/Calendar/Show.php:126
#: src/Util/Temporal.php:339
msgid "today"
msgstr "Heute"
#: src/Model/Event.php:463 src/Module/Calendar/Show.php:127
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "month"
msgstr "Monat"
#: src/Model/Event.php:464 src/Module/Calendar/Show.php:128
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "week"
msgstr "Woche"
#: src/Model/Event.php:465 src/Module/Calendar/Show.php:129
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "day"
msgstr "Tag"
@ -3125,69 +3132,69 @@ msgstr "Gruppen bearbeiten"
msgid "Detected languages in this post:\\n%s"
msgstr "Erkannte Sprachen in diesem Beitrag:\\n%s"
#: src/Model/Item.php:2918
#: src/Model/Item.php:2929
msgid "activity"
msgstr "Aktivität"
#: src/Model/Item.php:2920
#: src/Model/Item.php:2931
msgid "comment"
msgstr "Kommentar"
#: src/Model/Item.php:2923
#: src/Model/Item.php:2934
msgid "post"
msgstr "Beitrag"
#: src/Model/Item.php:3064
#: src/Model/Item.php:3077
#, php-format
msgid "Content warning: %s"
msgstr "Inhaltswarnung: %s"
#: src/Model/Item.php:3451
#: src/Model/Item.php:3600
msgid "bytes"
msgstr "Byte"
#: src/Model/Item.php:3482
#: src/Model/Item.php:3631
#, php-format
msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)"
msgstr[0] "%2$s (%3$d%%, %1$d Stimme)"
msgstr[1] "%2$s (%3$d%%, %1$d Stimmen)"
#: src/Model/Item.php:3484
#: src/Model/Item.php:3633
#, php-format
msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)"
msgstr[0] "%2$s (%1$d Stimme)"
msgstr[1] "%2$s (%1$d Stimmen)"
#: src/Model/Item.php:3489
#: src/Model/Item.php:3638
#, php-format
msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s"
msgstr[0] "%d Stimme, Abstimmung endet: %s"
msgstr[1] "%d Stimmen, Abstimmung endet: %s"
#: src/Model/Item.php:3491
#: src/Model/Item.php:3640
#, php-format
msgid "%d voter."
msgid_plural "%d voters."
msgstr[0] "%d Stimme."
msgstr[1] "%d Stimmen."
#: src/Model/Item.php:3493
#: src/Model/Item.php:3642
#, php-format
msgid "Poll end: %s"
msgstr "Abstimmung endet: %s"
#: src/Model/Item.php:3527 src/Model/Item.php:3528
#: src/Model/Item.php:3676 src/Model/Item.php:3677
msgid "View on separate page"
msgstr "Auf separater Seite ansehen"
#: src/Model/Mail.php:137 src/Model/Mail.php:265
#: src/Model/Mail.php:136 src/Model/Mail.php:264
msgid "[no subject]"
msgstr "[kein Betreff]"
#: src/Model/Photo.php:1152 src/Module/Media/Photo/Upload.php:198
#: src/Model/Photo.php:1178 src/Module/Media/Photo/Upload.php:198
msgid "Wall Photos"
msgstr "Pinnwand-Bilder"
@ -4287,8 +4294,8 @@ msgstr "Maximale Bildgröße"
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.\n"
"\t\t\t\t\t\t\t\t\t\t\t\t\tThe value of <code>upload_max_filesize</code> in your <code>PHP.ini</code> needs be set to at least the desired limit.\n"
"\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently <code>upload_max_filesize</code> is set to %s (%sB)"
msgstr "Die maximale Größe von Bildern in Bytes. Grundeinstellung ist 0, welches keine Limitierung durch die Bildgröße bedeutet. Du kannst k, m oder g als Abkürzung hinter der Zahl angeben um KiB, MIB oder GiB zu definieren.\n\t\t\t\t\t\t\t\t\t\t\t\t\tDer Wert der <code>1upload_max_filesize1</code> Variable in der <code>php.ini</code> Datei muss diesem Limit mindestens entsprechen.\n\t\t\t\t\t\t\t\t\t\t\t\t\tDerzeit ist <code>3upload_max_filesize3</code> auf %s (%sB) gesetzt."
"\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently <code>upload_max_filesize</code> is set to %s (%s byte)"
msgstr "Die maximale Größe von Bildern in Bytes. Grundeinstellung ist 0, welches keine Limitierung durch die Bildgröße bedeutet. Du kannst k, m oder g als Abkürzung hinter der Zahl angeben um KiB, MIB oder GiB zu definieren.\n\t\t\t\t\t\t\t\t\t\t\t\t\tDer Wert der <code>1upload_max_filesize1</code> Variable in der <code>php.ini</code> Datei muss diesem Limit mindestens entsprechen.\n\t\t\t\t\t\t\t\t\t\t\t\t\tDerzeit ist <code>3upload_max_filesize3</code> auf %s (%sByte) gesetzt."
#: src/Module/Admin/Site.php:480
msgid "Maximum image length"
@ -5356,19 +5363,19 @@ msgstr "Addon Features"
msgid "User registrations waiting for confirmation"
msgstr "Nutzeranmeldungen, die auf Bestätigung warten"
#: src/Module/BaseApi.php:242 src/Module/BaseApi.php:258
#: src/Module/BaseApi.php:274
#: src/Module/BaseApi.php:254 src/Module/BaseApi.php:270
#: src/Module/BaseApi.php:286
msgid "Too Many Requests"
msgstr "Zu viele Abfragen"
#: src/Module/BaseApi.php:243
#: src/Module/BaseApi.php:255
#, php-format
msgid "Daily posting limit of %d post reached. The post was rejected."
msgid_plural "Daily posting limit of %d posts reached. The post was rejected."
msgstr[0] "Das tägliche Limit von %d Beitrag wurde erreicht. Die Nachricht wurde verworfen."
msgstr[1] "Das tägliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen."
#: src/Module/BaseApi.php:259
#: src/Module/BaseApi.php:271
#, php-format
msgid "Weekly posting limit of %d post reached. The post was rejected."
msgid_plural ""
@ -5376,7 +5383,7 @@ msgid_plural ""
msgstr[0] "Das wöchentliche Limit von %d Beitrag wurde erreicht. Die Nachricht wurde verworfen."
msgstr[1] "Das wöchentliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen."
#: src/Module/BaseApi.php:275
#: src/Module/BaseApi.php:287
#, php-format
msgid "Monthly posting limit of %d post reached. The post was rejected."
msgid_plural ""
@ -7988,11 +7995,11 @@ msgstr "Pinnwandbenachrichtigungen"
msgid "Show unread"
msgstr "Ungelesene anzeigen"
#: src/Module/Notifications/Ping.php:240
#: src/Module/Notifications/Ping.php:245
msgid "{0} requested registration"
msgstr "{0} möchte sich registrieren"
#: src/Module/Notifications/Ping.php:249
#: src/Module/Notifications/Ping.php:254
#, php-format
msgid "{0} and %d others requested registration"
msgstr "{0} und %d weitere möchten sich registrieren"
@ -10577,11 +10584,11 @@ msgid ""
" features and resources."
msgstr "Unsere <strong>Hilfe</strong>-Seiten können herangezogen werden, um weitere Einzelheiten zu anderen Programm-Features zu erhalten."
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:151
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:161
msgid "{0} wants to follow you"
msgstr "{0} möchte dir folgen"
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:153
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:163
msgid "{0} has started following you"
msgstr "{0} folgt dir jetzt"
@ -11320,64 +11327,64 @@ msgstr "YYYY-MM-DD oder MM-DD"
msgid "Time zone: <strong>%s</strong> <a href=\"%s\">Change in Settings</a>"
msgstr "Zeitzone: <strong>%s</strong> <a href=\"%s\">Änderbar in den Einstellungen</a>"
#: src/Util/Temporal.php:317 src/Util/Temporal.php:324
#: src/Util/Temporal.php:318 src/Util/Temporal.php:325
msgid "never"
msgstr "nie"
#: src/Util/Temporal.php:331
#: src/Util/Temporal.php:339
msgid "less than a second ago"
msgstr "vor weniger als einer Sekunde"
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "year"
msgstr "Jahr"
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "years"
msgstr "Jahre"
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "months"
msgstr "Monate"
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "weeks"
msgstr "Wochen"
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "days"
msgstr "Tage"
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hour"
msgstr "Stunde"
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hours"
msgstr "Stunden"
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minute"
msgstr "Minute"
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minutes"
msgstr "Minuten"
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "second"
msgstr "Sekunde"
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "seconds"
msgstr "Sekunden"
#: src/Util/Temporal.php:356
#: src/Util/Temporal.php:364
#, php-format
msgid "in %1$d %2$s"
msgstr "in %1$d %2$s"
#: src/Util/Temporal.php:359
#: src/Util/Temporal.php:367
#, php-format
msgid "%1$d %2$s ago"
msgstr "%1$d %2$s her"

View file

@ -545,6 +545,7 @@ $a->strings['Public'] = 'Öffentlich';
$a->strings['This content will be shown to all your followers and can be seen in the community pages and by anyone with its link.'] = 'Dieser Inhalt wird all deine Abonenten sowie auf der Gemeinschaftsseite angezeigt. Außerdem kann ihn jeder sehen, der den Link kennt.';
$a->strings['Limited/Private'] = 'Begrenzt/Privat';
$a->strings['This content will be shown only to the people in the first box, to the exception of the people mentioned in the second box. It won\'t appear anywhere public.'] = 'Dieser Inhalt wird außschließlich den Kontakten gezeigt, die du in der ersten Box ausgewählt hast, mit den Ausnahmen derer die du in der zweiten Box auflistest. Er wird nicht öffentlich zugänglich sein.';
$a->strings['Start typing the name of a contact or a group to show a filtered list. You can also mention the special groups "Followers" and "Mutuals".'] = 'Fange an den Namen eines Kontakts oder einer Gruppe zu schreiben, diese werden dir dann in einer Liste angezeigt. Außerdem kannst du spezielle Gruppen wie "Folgende" oder "Beidseitige Freundschaft" verwenden.';
$a->strings['Show to:'] = 'Sichtbar für:';
$a->strings['Except to:'] = 'Ausgenommen:';
$a->strings['CC: email addresses'] = 'Cc: E-Mail-Addressen';
@ -1146,9 +1147,9 @@ $a->strings['Make this instance multi-user or single-user for the named user'] =
$a->strings['Maximum image size'] = 'Maximale Bildgröße';
$a->strings['Maximum size in bytes of uploaded images. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.
The value of <code>upload_max_filesize</code> in your <code>PHP.ini</code> needs be set to at least the desired limit.
Currently <code>upload_max_filesize</code> is set to %s (%sB)'] = 'Die maximale Größe von Bildern in Bytes. Grundeinstellung ist 0, welches keine Limitierung durch die Bildgröße bedeutet. Du kannst k, m oder g als Abkürzung hinter der Zahl angeben um KiB, MIB oder GiB zu definieren.
Currently <code>upload_max_filesize</code> is set to %s (%s byte)'] = 'Die maximale Größe von Bildern in Bytes. Grundeinstellung ist 0, welches keine Limitierung durch die Bildgröße bedeutet. Du kannst k, m oder g als Abkürzung hinter der Zahl angeben um KiB, MIB oder GiB zu definieren.
Der Wert der <code>1upload_max_filesize1</code> Variable in der <code>php.ini</code> Datei muss diesem Limit mindestens entsprechen.
Derzeit ist <code>3upload_max_filesize3</code> auf %s (%sB) gesetzt.';
Derzeit ist <code>3upload_max_filesize3</code> auf %s (%sByte) gesetzt.';
$a->strings['Maximum image length'] = 'Maximale Bildlänge';
$a->strings['Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.'] = 'Maximale Länge in Pixeln der längsten Seite eines hochgeladenen Bildes. Grundeinstellung ist -1, was keine Einschränkung bedeutet.';
$a->strings['JPEG image quality'] = 'Qualität des JPEG Bildes';

View file

@ -34,7 +34,7 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-12-07 07:12+0000\n"
"POT-Creation-Date: 2022-12-14 21:56-0500\n"
"PO-Revision-Date: 2011-05-05 10:19+0000\n"
"Last-Translator: Nicolas Derive, 2022\n"
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
@ -1543,7 +1543,7 @@ msgstr "voir moins"
msgid "show more"
msgstr "montrer plus"
#: src/Content/Item.php:294 src/Model/Item.php:2914
#: src/Content/Item.php:294 src/Model/Item.php:2925
msgid "event"
msgstr "évènement"
@ -1552,7 +1552,7 @@ msgstr "évènement"
msgid "status"
msgstr "le statut"
#: src/Content/Item.php:303 src/Model/Item.php:2916
#: src/Content/Item.php:303 src/Model/Item.php:2927
#: src/Module/Post/Tag/Add.php:123
msgid "photo"
msgstr "photo"
@ -1566,32 +1566,32 @@ msgstr "%1$s a mentionné %3$s de %2$s avec %4$s"
msgid "Follow Thread"
msgstr "Suivre le fil"
#: src/Content/Item.php:387 src/Model/Contact.php:1209
#: src/Content/Item.php:387 src/Model/Contact.php:1213
msgid "View Status"
msgstr "Voir les statuts"
#: src/Content/Item.php:388 src/Content/Item.php:406
#: src/Model/Contact.php:1147 src/Model/Contact.php:1201
#: src/Model/Contact.php:1210 src/Module/Directory.php:157
#: src/Model/Contact.php:1151 src/Model/Contact.php:1205
#: src/Model/Contact.php:1214 src/Module/Directory.php:157
#: src/Module/Settings/Profile/Index.php:234
msgid "View Profile"
msgstr "Voir le profil"
#: src/Content/Item.php:389 src/Model/Contact.php:1211
#: src/Content/Item.php:389 src/Model/Contact.php:1215
msgid "View Photos"
msgstr "Voir les photos"
#: src/Content/Item.php:390 src/Model/Contact.php:1202
#: src/Model/Contact.php:1212
#: src/Content/Item.php:390 src/Model/Contact.php:1206
#: src/Model/Contact.php:1216
msgid "Network Posts"
msgstr "Publications du réseau"
#: src/Content/Item.php:391 src/Model/Contact.php:1203
#: src/Model/Contact.php:1213
#: src/Content/Item.php:391 src/Model/Contact.php:1207
#: src/Model/Contact.php:1217
msgid "View Contact"
msgstr "Voir Contact"
#: src/Content/Item.php:392 src/Model/Contact.php:1214
#: src/Content/Item.php:392 src/Model/Contact.php:1218
msgid "Send PM"
msgstr "Message privé"
@ -1616,7 +1616,7 @@ msgid "Languages"
msgstr "Langues"
#: src/Content/Item.php:403 src/Content/Widget.php:80
#: src/Model/Contact.php:1204 src/Model/Contact.php:1215
#: src/Model/Contact.php:1208 src/Model/Contact.php:1219
#: src/Module/Contact/Follow.php:167 view/theme/vier/theme.php:196
msgid "Connect/Follow"
msgstr "Se connecter/Suivre"
@ -1947,8 +1947,8 @@ msgstr "Image/photo"
msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3539
#: src/Model/Item.php:3545 src/Model/Item.php:3546
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3688
#: src/Model/Item.php:3694 src/Model/Item.php:3695
msgid "Link to source"
msgstr "Lien vers la source"
@ -2110,7 +2110,7 @@ msgstr "Personnes"
msgid "Organisations"
msgstr "Organisations"
#: src/Content/Widget.php:523 src/Model/Contact.php:1641
#: src/Content/Widget.php:523 src/Model/Contact.php:1655
msgid "News"
msgstr "Nouvelles"
@ -2193,8 +2193,8 @@ msgstr "Localisation :"
msgid "Network:"
msgstr "Réseau"
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1205
#: src/Model/Contact.php:1216 src/Model/Profile.php:465
#: src/Content/Widget/VCard.php:111 src/Model/Contact.php:1209
#: src/Model/Contact.php:1220 src/Model/Profile.php:465
#: src/Module/Contact/Profile.php:419
msgid "Unfollow"
msgstr "Se désabonner"
@ -2234,6 +2234,12 @@ msgid ""
"anywhere public."
msgstr "Ce contenu sera visible uniquement par les groupes et contacts listés dans le premier champ, sauf par les groupes et contacts listés dans le second champ. Il ne sera pas visible publiquement."
#: src/Core/ACL.php:323
msgid ""
"Start typing the name of a contact or a group to show a filtered list. You "
"can also mention the special groups \"Followers\" and \"Mutuals\"."
msgstr ""
#: src/Core/ACL.php:324
msgid "Show to:"
msgstr "Visible par :"
@ -2891,77 +2897,77 @@ msgstr "Erreur du site"
msgid "Legacy module file not found: %s"
msgstr "Module original non trouvé: %s"
#: src/Model/Contact.php:1222 src/Module/Moderation/Users/Pending.php:102
#: src/Model/Contact.php:1226 src/Module/Moderation/Users/Pending.php:102
#: src/Module/Notifications/Introductions.php:132
#: src/Module/Notifications/Introductions.php:204
msgid "Approve"
msgstr "Approuver"
#: src/Model/Contact.php:1637
#: src/Model/Contact.php:1651
msgid "Organisation"
msgstr "Organisation"
#: src/Model/Contact.php:1645
#: src/Model/Contact.php:1659
msgid "Forum"
msgstr "Forum"
#: src/Model/Contact.php:2849
#: src/Model/Contact.php:2884
msgid "Disallowed profile URL."
msgstr "URL de profil interdite."
#: src/Model/Contact.php:2854 src/Module/Friendica.php:82
#: src/Model/Contact.php:2889 src/Module/Friendica.php:82
msgid "Blocked domain"
msgstr "Domaine bloqué"
#: src/Model/Contact.php:2859
#: src/Model/Contact.php:2894
msgid "Connect URL missing."
msgstr "URL de connexion manquante."
#: src/Model/Contact.php:2868
#: src/Model/Contact.php:2903
msgid ""
"The contact could not be added. Please check the relevant network "
"credentials in your Settings -> Social Networks page."
msgstr "Le contact n'a pu être ajouté. Veuillez vérifier les identifiants du réseau concerné dans la page Réglages -> Réseaux Sociaux si pertinent."
#: src/Model/Contact.php:2910
#: src/Model/Contact.php:2945
msgid "The profile address specified does not provide adequate information."
msgstr "L'adresse de profil indiquée ne fournit par les informations adéquates."
#: src/Model/Contact.php:2912
#: src/Model/Contact.php:2947
msgid "No compatible communication protocols or feeds were discovered."
msgstr "Aucun protocole de communication ni aucun flux n'a pu être découvert."
#: src/Model/Contact.php:2915
#: src/Model/Contact.php:2950
msgid "An author or name was not found."
msgstr "Aucun auteur ou nom d'auteur n'a pu être trouvé."
#: src/Model/Contact.php:2918
#: src/Model/Contact.php:2953
msgid "No browser URL could be matched to this address."
msgstr "Aucune URL de navigation ne correspond à cette adresse."
#: src/Model/Contact.php:2921
#: src/Model/Contact.php:2956
msgid ""
"Unable to match @-style Identity Address with a known protocol or email "
"contact."
msgstr "Impossible de faire correspondre l'adresse d'identité en \"@\" avec un protocole connu ou un contact courriel."
#: src/Model/Contact.php:2922
#: src/Model/Contact.php:2957
msgid "Use mailto: in front of address to force email check."
msgstr "Utilisez mailto: en face d'une adresse pour l'obliger à être reconnue comme courriel."
#: src/Model/Contact.php:2928
#: src/Model/Contact.php:2963
msgid ""
"The profile address specified belongs to a network which has been disabled "
"on this site."
msgstr "L'adresse de profil spécifiée correspond à un réseau qui a été désactivé sur ce site."
#: src/Model/Contact.php:2933
#: src/Model/Contact.php:2968
msgid ""
"Limited profile. This person will be unable to receive direct/personal "
"notifications from you."
msgstr "Profil limité. Cette personne ne sera pas capable de recevoir des notifications directes/personnelles de votre part."
#: src/Model/Contact.php:2992
#: src/Model/Contact.php:3027
msgid "Unable to retrieve contact information."
msgstr "Impossible de récupérer les informations du contact."
@ -2988,21 +2994,22 @@ msgid "Sept"
msgstr "Sep"
#: src/Model/Event.php:462 src/Module/Calendar/Show.php:126
#: src/Util/Temporal.php:339
msgid "today"
msgstr "aujourd'hui"
#: src/Model/Event.php:463 src/Module/Calendar/Show.php:127
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "month"
msgstr "mois"
#: src/Model/Event.php:464 src/Module/Calendar/Show.php:128
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "week"
msgstr "semaine"
#: src/Model/Event.php:465 src/Module/Calendar/Show.php:129
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "day"
msgstr "jour"
@ -3114,28 +3121,28 @@ msgstr "Modifier les groupes"
msgid "Detected languages in this post:\\n%s"
msgstr "Langues détectées dans cette publication :\\n%s"
#: src/Model/Item.php:2918
#: src/Model/Item.php:2929
msgid "activity"
msgstr "activité"
#: src/Model/Item.php:2920
#: src/Model/Item.php:2931
msgid "comment"
msgstr "commentaire"
#: src/Model/Item.php:2923
#: src/Model/Item.php:2934
msgid "post"
msgstr "publication"
#: src/Model/Item.php:3064
#: src/Model/Item.php:3077
#, php-format
msgid "Content warning: %s"
msgstr "Avertissement de contenu: %s"
#: src/Model/Item.php:3451
#: src/Model/Item.php:3600
msgid "bytes"
msgstr "octets"
#: src/Model/Item.php:3482
#: src/Model/Item.php:3631
#, php-format
msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)"
@ -3143,7 +3150,7 @@ msgstr[0] "%2$s (%3$d%%, %1$d vote)"
msgstr[1] "%2$s (%3$d%%, %1$d votes)"
msgstr[2] "%2$s (%3$d%%, %1$d vote)"
#: src/Model/Item.php:3484
#: src/Model/Item.php:3633
#, php-format
msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)"
@ -3151,7 +3158,7 @@ msgstr[0] "%2$s (%1$d vote)"
msgstr[1] "%2$s (%1$d votes)"
msgstr[2] "%2$s (%1$d vote)"
#: src/Model/Item.php:3489
#: src/Model/Item.php:3638
#, php-format
msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s"
@ -3159,7 +3166,7 @@ msgstr[0] "%d votant. Fin du sondage : %s"
msgstr[1] "%d votants. Fin du sondage : %s"
msgstr[2] "%d votant. Fin du sondage : %s"
#: src/Model/Item.php:3491
#: src/Model/Item.php:3640
#, php-format
msgid "%d voter."
msgid_plural "%d voters."
@ -3167,20 +3174,20 @@ msgstr[0] "%d votant."
msgstr[1] "%d votants."
msgstr[2] "%d votant."
#: src/Model/Item.php:3493
#: src/Model/Item.php:3642
#, php-format
msgid "Poll end: %s"
msgstr "Fin du sondage : %s"
#: src/Model/Item.php:3527 src/Model/Item.php:3528
#: src/Model/Item.php:3676 src/Model/Item.php:3677
msgid "View on separate page"
msgstr "Voir dans une nouvelle page"
#: src/Model/Mail.php:137 src/Model/Mail.php:265
#: src/Model/Mail.php:136 src/Model/Mail.php:264
msgid "[no subject]"
msgstr "[pas de sujet]"
#: src/Model/Photo.php:1152 src/Module/Media/Photo/Upload.php:198
#: src/Model/Photo.php:1178 src/Module/Media/Photo/Upload.php:198
msgid "Wall Photos"
msgstr "Photos du mur"
@ -4290,8 +4297,8 @@ msgstr "Taille maximale des images"
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.\n"
"\t\t\t\t\t\t\t\t\t\t\t\t\tThe value of <code>upload_max_filesize</code> in your <code>PHP.ini</code> needs be set to at least the desired limit.\n"
"\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently <code>upload_max_filesize</code> is set to %s (%sB)"
msgstr "La taille maximum en octets des images téléversées. La valeur par défaut est 0, ce qui signifie aucune limite. Vous pouvez indiquer k, m ou g derrière la valeur désirée pour Kio, Mio et Gio respectivement.\n\t\t\t\t\t\t\t\t\t\t\t\t\tLa valeur de <code>upload_max_filesize</code> dans votre <code>PHP.ini</code> doit être définie a minima à la valeur désirée.\n\t\t\t\t\t\t\t\t\t\t\t\t\tActuellement, <code>upload_max_filesize</code> est défini à %s (%so) "
"\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently <code>upload_max_filesize</code> is set to %s (%s byte)"
msgstr ""
#: src/Module/Admin/Site.php:480
msgid "Maximum image length"
@ -5359,12 +5366,12 @@ msgstr "Fonctionnalités des addons"
msgid "User registrations waiting for confirmation"
msgstr "Inscriptions en attente de confirmation"
#: src/Module/BaseApi.php:242 src/Module/BaseApi.php:258
#: src/Module/BaseApi.php:274
#: src/Module/BaseApi.php:254 src/Module/BaseApi.php:270
#: src/Module/BaseApi.php:286
msgid "Too Many Requests"
msgstr "Trop de requêtes"
#: src/Module/BaseApi.php:243
#: src/Module/BaseApi.php:255
#, php-format
msgid "Daily posting limit of %d post reached. The post was rejected."
msgid_plural "Daily posting limit of %d posts reached. The post was rejected."
@ -5372,7 +5379,7 @@ msgstr[0] "Limite quotidienne d'%d publication atteinte. La publication a été
msgstr[1] "Limite quotidienne de %d publications atteinte. La publication a été rejetée."
msgstr[2] "Limite quotidienne de %d publications atteinte. La publication a été rejetée."
#: src/Module/BaseApi.php:259
#: src/Module/BaseApi.php:271
#, php-format
msgid "Weekly posting limit of %d post reached. The post was rejected."
msgid_plural ""
@ -5381,7 +5388,7 @@ msgstr[0] "Limite hebdomadaire d'%d unique publication atteinte, votre soumissio
msgstr[1] "Limite hebdomadaire de %d publications atteinte, votre soumission a été rejetée."
msgstr[2] "Limite hebdomadaire de %d publications atteinte, votre soumission a été rejetée."
#: src/Module/BaseApi.php:275
#: src/Module/BaseApi.php:287
#, php-format
msgid "Monthly posting limit of %d post reached. The post was rejected."
msgid_plural ""
@ -8014,11 +8021,11 @@ msgstr "Notifications de page d'accueil"
msgid "Show unread"
msgstr "Afficher non-lus"
#: src/Module/Notifications/Ping.php:240
#: src/Module/Notifications/Ping.php:245
msgid "{0} requested registration"
msgstr "{0} a demandé à s'inscrire"
#: src/Module/Notifications/Ping.php:249
#: src/Module/Notifications/Ping.php:254
#, php-format
msgid "{0} and %d others requested registration"
msgstr "{0} et %d autres attendent la confirmation de leur inscription."
@ -9595,19 +9602,19 @@ msgstr "%s- (non supporté)"
#: src/Module/Settings/Display.php:196
msgid "No preview"
msgstr ""
msgstr "Pas d'aperçu"
#: src/Module/Settings/Display.php:197
msgid "No image"
msgstr ""
msgstr "Pas d'image"
#: src/Module/Settings/Display.php:198
msgid "Small Image"
msgstr ""
msgstr "Petite image"
#: src/Module/Settings/Display.php:199
msgid "Large Image"
msgstr ""
msgstr "Grande image"
#: src/Module/Settings/Display.php:210
msgid "Display Settings"
@ -9721,7 +9728,7 @@ msgstr "Ne pas aller sur un système distant lors du suivi du lien d'un contact.
#: src/Module/Settings/Display.php:236
msgid "Link preview mode"
msgstr ""
msgstr "Mode de prévisualisation des liens"
#: src/Module/Settings/Display.php:238
msgid "Beginning of week:"
@ -10605,11 +10612,11 @@ msgid ""
" features and resources."
msgstr "Nos pages d'<strong>aide</strong> peuvent être consultées pour davantage de détails sur les fonctionnalités ou les ressources."
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:151
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:161
msgid "{0} wants to follow you"
msgstr "{0} souhaite vous suivre"
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:153
#: src/Navigation/Notifications/Factory/FormattedNavNotification.php:163
msgid "{0} has started following you"
msgstr "{0} a commencé à vous suivre"
@ -11349,64 +11356,64 @@ msgstr "AAAA-MM-JJ ou MM-JJ"
msgid "Time zone: <strong>%s</strong> <a href=\"%s\">Change in Settings</a>"
msgstr "Fuseau horaire : <strong>%s</strong> <a href=\"%s\">Le changer dans les paramètres</a>"
#: src/Util/Temporal.php:317 src/Util/Temporal.php:324
#: src/Util/Temporal.php:318 src/Util/Temporal.php:325
msgid "never"
msgstr "jamais"
#: src/Util/Temporal.php:331
#: src/Util/Temporal.php:339
msgid "less than a second ago"
msgstr "il y a moins d'une seconde"
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "year"
msgstr "année"
#: src/Util/Temporal.php:340
#: src/Util/Temporal.php:348
msgid "years"
msgstr "années"
#: src/Util/Temporal.php:341
#: src/Util/Temporal.php:349
msgid "months"
msgstr "mois"
#: src/Util/Temporal.php:342
#: src/Util/Temporal.php:350
msgid "weeks"
msgstr "semaines"
#: src/Util/Temporal.php:343
#: src/Util/Temporal.php:351
msgid "days"
msgstr "jours"
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hour"
msgstr "heure"
#: src/Util/Temporal.php:344
#: src/Util/Temporal.php:352
msgid "hours"
msgstr "heures"
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minute"
msgstr "minute"
#: src/Util/Temporal.php:345
#: src/Util/Temporal.php:353
msgid "minutes"
msgstr "minutes"
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "second"
msgstr "seconde"
#: src/Util/Temporal.php:346
#: src/Util/Temporal.php:354
msgid "seconds"
msgstr "secondes"
#: src/Util/Temporal.php:356
#: src/Util/Temporal.php:364
#, php-format
msgid "in %1$d %2$s"
msgstr "dans %1$d %2$s"
#: src/Util/Temporal.php:359
#: src/Util/Temporal.php:367
#, php-format
msgid "%1$d %2$s ago"
msgstr "Il y a %1$d %2$s"

View file

@ -1173,11 +1173,6 @@ $a->strings['Displays the menu entry for the Help pages from the navigation menu
$a->strings['Single user instance'] = 'Instance mono-utilisateur';
$a->strings['Make this instance multi-user or single-user for the named user'] = 'Transformer cette en instance en multi-utilisateur ou mono-utilisateur pour cet l\'utilisateur.';
$a->strings['Maximum image size'] = 'Taille maximale des images';
$a->strings['Maximum size in bytes of uploaded images. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.
The value of <code>upload_max_filesize</code> in your <code>PHP.ini</code> needs be set to at least the desired limit.
Currently <code>upload_max_filesize</code> is set to %s (%sB)'] = 'La taille maximum en octets des images téléversées. La valeur par défaut est 0, ce qui signifie aucune limite. Vous pouvez indiquer k, m ou g derrière la valeur désirée pour Kio, Mio et Gio respectivement.
La valeur de <code>upload_max_filesize</code> dans votre <code>PHP.ini</code> doit être définie a minima à la valeur désirée.
Actuellement, <code>upload_max_filesize</code> est défini à %s (%so) ';
$a->strings['Maximum image length'] = 'Longueur maximale des images';
$a->strings['Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.'] = 'Longueur maximale en pixels du plus long côté des images téléversées. La valeur par défaut est -1 : absence de limite.';
$a->strings['JPEG image quality'] = 'Qualité JPEG des images';
@ -2418,6 +2413,10 @@ $a->strings['Add'] = 'Ajouter';
$a->strings['No entries.'] = 'Aucune entrée.';
$a->strings['The theme you chose isn\'t available.'] = 'Le thème que vous avez choisi n\'est pas disponible.';
$a->strings['%s - (Unsupported)'] = '%s- (non supporté)';
$a->strings['No preview'] = 'Pas d\'aperçu';
$a->strings['No image'] = 'Pas d\'image';
$a->strings['Small Image'] = 'Petite image';
$a->strings['Large Image'] = 'Grande image';
$a->strings['Display Settings'] = 'Affichage';
$a->strings['General Theme Settings'] = 'Paramètres généraux de thème';
$a->strings['Custom Theme Settings'] = 'Paramètres personnalisés de thème';
@ -2444,6 +2443,7 @@ $a->strings['Display the resharer'] = 'Afficher le repartageur';
$a->strings['Display the first resharer as icon and text on a reshared item.'] = 'Afficher le premier repartageur en tant qu\'icône et texte sur un élément repartagé.';
$a->strings['Stay local'] = 'Rester local';
$a->strings['Don\'t go to a remote system when following a contact link.'] = 'Ne pas aller sur un système distant lors du suivi du lien d\'un contact.';
$a->strings['Link preview mode'] = 'Mode de prévisualisation des liens';
$a->strings['Beginning of week:'] = 'Début de la semaine :';
$a->strings['Additional Features'] = 'Fonctions supplémentaires';
$a->strings['Connected Apps'] = 'Applications connectées';

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1260,7 +1260,7 @@ aside .vcard #wallmessage-link {
color: $font_color;
font-size: 12px;
}
.network-content-wrapper > #viewcontact_wrapper-network,
.network-content-wrapper > .generic-page-wrapper,
#nav-short-info .contact-wrapper .contact-photo-overlay,
#nav-short-info .contact-wrapper .contact-actions {
display: none;
@ -1556,11 +1556,11 @@ textarea.comment-edit-text:focus + .comment-edit-form .preview {
}
.fbrowser .fbrowser-content-container {
overflow-y: auto;
max-height: calc(100vh - 175px);
max-height: calc(100vh - 233px);
}
@media (min-width: 768px) {
.fbrowser .fbrowser-content-container {
max-height: calc(100vh - 220px);
max-height: calc(100vh - 277px);
}
}
.fbrowser.photo .photo-album-image-wrapper {
@ -2554,13 +2554,13 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
}
#group-update-wrapper .viewcontact_wrapper .contact-group-actions {
height: 100%;
margin-top: -10px;
display: flex;
flex-direction: column;
justify-content: center;
}
#group-update-wrapper .viewcontact_wrapper .contact-group-link {
opacity: 0.8;
font-size: 20px;
line-height: 50px;
}
#group-update-wrapper .viewcontact_wrapper .contact-action-link:hover {
opacity: 1;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 809 KiB

View file

@ -39,7 +39,6 @@
{{include file="field_input.tpl" field=$sitename}}
{{include file="field_input.tpl" field=$sender_email}}
{{include file="field_input.tpl" field=$system_actor_name}}
{{include file="field_textarea.tpl" field=$banner}}
{{include file="field_input.tpl" field=$shortcut_icon}}
{{include file="field_input.tpl" field=$touch_icon}}
{{include file="field_textarea.tpl" field=$additional_info}}

View file

@ -1,7 +1,6 @@
{{* This is the standard template for showing contact lists. It is used e.g.
at the suggest page and also at many other places *}}
<div class="generic-page-wrapper">
{{include file="section_title.tpl"}}
{{$tab_str nofilter}}
@ -15,3 +14,4 @@ at the suggest page and also at many other places *}}
<div id="view-contact-end"></div>
{{$paginate nofilter}}
</div>

View file

@ -18,9 +18,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* Name: frio
* Description: Bootstrap V3 theme. The theme is currently under construction, so it is far from finished. For further information have a look at the <a href="https://github.com/friendica/friendica/tree/develop/view/theme/frio/README.md">ReadMe</a>.
* Version: V.0.8.5
* Description: Responsive theme based on a modern HTML/CSS/Javascript framework.
* Version: V.1.0
* Author: Rabuzarus <https://friendica.kommune4.de/profile/rabuzarus>
* Maintainer: Hypolite Petovan <https://friendica.mrpetovan.com/profile/hypolite>
*/
use Friendica\App;