Merge branch 'develop' into rewrite/gravity-constants
This commit is contained in:
commit
26e0469de7
181 changed files with 2408 additions and 2405 deletions
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
server_ip = "192.168.22.10"
|
||||
server_ip = "192.168.56.10"
|
||||
server_memory = "2048" # MB
|
||||
server_timezone = "UTC"
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ if (php_sapi_name() !== 'cli') {
|
|||
}
|
||||
|
||||
use Dice\Dice;
|
||||
use Friendica\DI;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
require dirname(__DIR__) . '/vendor/autoload.php';
|
||||
|
|
@ -33,6 +34,8 @@ require dirname(__DIR__) . '/vendor/autoload.php';
|
|||
$dice = (new Dice())->addRules(include __DIR__ . '/../static/dependencies.config.php');
|
||||
$dice = $dice->addRule(LoggerInterface::class,['constructParams' => ['console']]);
|
||||
|
||||
/// @fixme Necessary until Hooks inside the Logger can get loaded without the DI-class
|
||||
DI::init($dice);
|
||||
\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class));
|
||||
|
||||
(new Friendica\Core\Console($dice, $argv))->execute();
|
||||
|
|
|
|||
|
|
@ -45,13 +45,13 @@ apt-get install -qq apache2
|
|||
a2enmod rewrite actions ssl
|
||||
cp /vagrant/bin/dev/vagrant_vhost.sh /usr/local/bin/vhost
|
||||
chmod guo+x /usr/local/bin/vhost
|
||||
vhost -s 192.168.22.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica.local
|
||||
vhost -s 192.168.56.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica.local
|
||||
a2dissite 000-default
|
||||
service apache2 restart
|
||||
|
||||
#Install php
|
||||
echo ">>> Installing PHP7"
|
||||
apt-get install -qq php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick php-zip
|
||||
apt-get install -qq php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick php-zip php-gmp
|
||||
systemctl restart apache2
|
||||
|
||||
echo ">>> Installing PHP8"
|
||||
|
|
@ -59,7 +59,7 @@ apt-get install -qq -y lsb-release ca-certificates apt-transport-https software-
|
|||
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
|
||||
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
|
||||
apt update
|
||||
apt-get install -qq php8.0 php8.0-cli php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-imagick php8.0-zip
|
||||
apt-get install -qq php8.0 php8.0-cli php8.0-mysql php8.0-curl php8.0-gd php8.0-mbstring php8.0-xml php8.0-imagick php8.0-zip php8.0-gmp
|
||||
systemctl restart apache2
|
||||
|
||||
#Install mysql
|
||||
|
|
|
|||
133
boot.php
133
boot.php
|
|
@ -27,156 +27,37 @@
|
|||
* easily as email does today.
|
||||
*/
|
||||
|
||||
use Friendica\Model\Contact;
|
||||
|
||||
define('FRIENDICA_PLATFORM', 'Friendica');
|
||||
define('FRIENDICA_CODENAME', 'Giant Rhubarb');
|
||||
define('FRIENDICA_VERSION', '2022.12-dev');
|
||||
define('DFRN_PROTOCOL_VERSION', '2.23');
|
||||
define('NEW_TABLE_STRUCTURE_VERSION', 1288);
|
||||
|
||||
/**
|
||||
* Constant with a HTML line break.
|
||||
*
|
||||
* Contains a HTML line break (br) element and a real carriage return with line
|
||||
* feed for the source.
|
||||
* This can be used in HTML and JavaScript where needed a line break.
|
||||
*/
|
||||
define('EOL', "<br />\r\n");
|
||||
|
||||
/**
|
||||
* @name CP
|
||||
*
|
||||
* Type of the community page
|
||||
* @{
|
||||
*/
|
||||
define('CP_NO_INTERNAL_COMMUNITY', -2);
|
||||
define('CP_NO_COMMUNITY_PAGE', -1);
|
||||
define('CP_USERS_ON_SERVER', 0);
|
||||
define('CP_GLOBAL_COMMUNITY', 1);
|
||||
define('CP_USERS_AND_GLOBAL', 2);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name Priority
|
||||
*
|
||||
* Process priority for the worker
|
||||
* @{
|
||||
*/
|
||||
define('PRIORITY_UNDEFINED', 0);
|
||||
define('PRIORITY_CRITICAL', 10);
|
||||
define('PRIORITY_HIGH', 20);
|
||||
define('PRIORITY_MEDIUM', 30);
|
||||
define('PRIORITY_LOW', 40);
|
||||
define('PRIORITY_NEGLIGIBLE', 50);
|
||||
define('PRIORITIES', [PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_MEDIUM, PRIORITY_LOW, PRIORITY_NEGLIGIBLE]);
|
||||
/* @}*/
|
||||
|
||||
// Normally this constant is defined - but not if "pcntl" isn't installed
|
||||
if (!defined('SIGTERM')) {
|
||||
define('SIGTERM', 15);
|
||||
}
|
||||
|
||||
/**
|
||||
* Depending on the PHP version this constant does exist - or not.
|
||||
* See here: http://php.net/manual/en/curl.constants.php#117928
|
||||
*/
|
||||
if (!defined('CURLE_OPERATION_TIMEDOUT')) {
|
||||
define('CURLE_OPERATION_TIMEDOUT', CURLE_OPERATION_TIMEOUTED);
|
||||
}
|
||||
|
||||
if (!function_exists('exif_imagetype')) {
|
||||
function exif_imagetype($file)
|
||||
{
|
||||
$size = getimagesize($file);
|
||||
return $size[2];
|
||||
}
|
||||
}
|
||||
use Friendica\Core\Session;
|
||||
|
||||
/**
|
||||
* Returns the user id of locally logged in user or false.
|
||||
*
|
||||
* @return int|bool user id or false
|
||||
* @deprecated since version 2022.12, use Core\Session::getLocalUser() instead
|
||||
*/
|
||||
function local_user()
|
||||
{
|
||||
if (!empty($_SESSION['authenticated']) && !empty($_SESSION['uid'])) {
|
||||
return intval($_SESSION['uid']);
|
||||
}
|
||||
|
||||
return false;
|
||||
return Session::getLocalUser();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the public contact id of logged in user or false.
|
||||
*
|
||||
* @return int|bool public contact id or false
|
||||
* @deprecated since version 2022.12, use Core\Session:: getPublicContact() instead
|
||||
*/
|
||||
function public_contact()
|
||||
{
|
||||
static $public_contact_id = false;
|
||||
|
||||
if (!$public_contact_id && !empty($_SESSION['authenticated'])) {
|
||||
if (!empty($_SESSION['my_address'])) {
|
||||
// Local user
|
||||
$public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0, false));
|
||||
} elseif (!empty($_SESSION['visitor_home'])) {
|
||||
// Remote user
|
||||
$public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0, false));
|
||||
}
|
||||
} elseif (empty($_SESSION['authenticated'])) {
|
||||
$public_contact_id = false;
|
||||
}
|
||||
|
||||
return $public_contact_id;
|
||||
return Session::getPublicContact();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns public contact id of authenticated site visitor or false
|
||||
*
|
||||
* @return int|bool visitor_id or false
|
||||
* @deprecated since version 2022.12, use Core\Session:: getRemoteUser() instead
|
||||
*/
|
||||
function remote_user()
|
||||
{
|
||||
if (empty($_SESSION['authenticated'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!empty($_SESSION['visitor_id'])) {
|
||||
return intval($_SESSION['visitor_id']);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show an error message to user.
|
||||
*
|
||||
* This function save text in session, to be shown to the user at next page load
|
||||
*
|
||||
* @param string $s - Text of notice
|
||||
*
|
||||
* @return void
|
||||
* @deprecated since version 2022.09, use \Friendica\Navigation\SystemMessages instead
|
||||
*/
|
||||
function notice(string $s)
|
||||
{
|
||||
\Friendica\DI::sysmsg()->addNotice($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show an info message to user.
|
||||
*
|
||||
* This function save text in session, to be shown to the user at next page load
|
||||
*
|
||||
* @param string $s - Text of notice
|
||||
*
|
||||
* @return void
|
||||
* @deprecated since version 2022.09, use \Friendica\Navigation\SystemMessages instead
|
||||
*/
|
||||
function info(string $s)
|
||||
{
|
||||
\Friendica\DI::sysmsg()->addInfo($s);
|
||||
return Session::getRemoteUser();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@
|
|||
"michelf/php-markdown": "^1.7",
|
||||
"minishlink/web-push": "^6.0",
|
||||
"mobiledetect/mobiledetectlib": "^2.8",
|
||||
"monolog/monolog": "^1.25",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"paragonie/hidden-string": "^1.0",
|
||||
"patrickschur/language-detection": "^5.0.0",
|
||||
|
|
@ -50,6 +49,7 @@
|
|||
"pragmarx/google2fa": "^5.0",
|
||||
"pragmarx/recovery": "^0.2",
|
||||
"psr/container": "^1.0",
|
||||
"psr/log": "^1.1",
|
||||
"seld/cli-prompt": "^1.0",
|
||||
"smarty/smarty": "^4",
|
||||
"ua-parser/uap-php": "^3.9",
|
||||
|
|
|
|||
84
composer.lock
generated
84
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f5922f03b367e68a5930df6ed80c5c2f",
|
||||
"content-hash": "c851fbba46ed090d0fbaf68e9b3b94df",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asika/simple-console",
|
||||
|
|
@ -1543,88 +1543,6 @@
|
|||
],
|
||||
"time": "2022-02-17T19:24:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
"version": "1.27.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/monolog.git",
|
||||
"reference": "904713c5929655dc9b97288b69cfeedad610c9a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1",
|
||||
"reference": "904713c5929655dc9b97288b69cfeedad610c9a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0",
|
||||
"psr/log": "~1.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/log-implementation": "1.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
||||
"doctrine/couchdb": "~1.0@dev",
|
||||
"graylog2/gelf-php": "~1.0",
|
||||
"php-amqplib/php-amqplib": "~2.4",
|
||||
"php-console/php-console": "^3.1.3",
|
||||
"phpstan/phpstan": "^0.12.59",
|
||||
"phpunit/phpunit": "~4.5",
|
||||
"ruflin/elastica": ">=0.90 <3.0",
|
||||
"sentry/sentry": "^0.13",
|
||||
"swiftmailer/swiftmailer": "^5.3|^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
||||
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
||||
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
||||
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
||||
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
||||
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
||||
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
||||
"php-console/php-console": "Allow sending log messages to Google Chrome",
|
||||
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
||||
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
||||
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Monolog\\": "src/Monolog"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jordi Boggiano",
|
||||
"email": "j.boggiano@seld.be",
|
||||
"homepage": "http://seld.be"
|
||||
}
|
||||
],
|
||||
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
||||
"homepage": "http://github.com/Seldaek/monolog",
|
||||
"keywords": [
|
||||
"log",
|
||||
"logging",
|
||||
"psr-3"
|
||||
],
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/Seldaek",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-09T08:53:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
"version": "v1.3.0",
|
||||
|
|
|
|||
26
database.sql
26
database.sql
|
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2022.09-rc (Giant Rhubarb)
|
||||
-- DB_UPDATE_VERSION 1484
|
||||
-- Friendica 2022.12-dev (Giant Rhubarb)
|
||||
-- DB_UPDATE_VERSION 1486
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
|
@ -1186,6 +1186,7 @@ CREATE TABLE IF NOT EXISTS `post-content` (
|
|||
`content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT 'item body content',
|
||||
`raw-body` mediumtext COMMENT 'Body without embedded media links',
|
||||
`quote-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the quoted uri',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT 'text location where this item originated',
|
||||
`coord` varchar(255) NOT NULL DEFAULT '' COMMENT 'longitude/latitude pair representing location where this item originated',
|
||||
`language` text COMMENT 'Language information about this post',
|
||||
|
|
@ -1202,7 +1203,9 @@ CREATE TABLE IF NOT EXISTS `post-content` (
|
|||
INDEX `plink` (`plink`(191)),
|
||||
INDEX `resource-id` (`resource-id`),
|
||||
FULLTEXT INDEX `title-content-warning-body` (`title`,`content-warning`,`body`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
INDEX `quote-uri-id` (`quote-uri-id`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`quote-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Content for all posts';
|
||||
|
||||
--
|
||||
|
|
@ -1289,6 +1292,7 @@ CREATE TABLE IF NOT EXISTS `post-media` (
|
|||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
|
||||
`url` varbinary(1024) NOT NULL COMMENT 'Media URL',
|
||||
`media-uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the activities uri-id',
|
||||
`type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'Media type',
|
||||
`mimetype` varchar(60) COMMENT '',
|
||||
`height` smallint unsigned COMMENT 'Height of the media',
|
||||
|
|
@ -1308,7 +1312,9 @@ CREATE TABLE IF NOT EXISTS `post-media` (
|
|||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uri-id-url` (`uri-id`,`url`(512)),
|
||||
INDEX `uri-id-id` (`uri-id`,`id`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
INDEX `media-uri-id` (`media-uri-id`),
|
||||
FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
|
||||
FOREIGN KEY (`media-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Attached media';
|
||||
|
||||
--
|
||||
|
|
@ -1807,6 +1813,8 @@ CREATE VIEW `post-user-view` AS SELECT
|
|||
`post-user`.`thr-parent-id` AS `thr-parent-id`,
|
||||
`conversation-item-uri`.`uri` AS `conversation`,
|
||||
`post-thread-user`.`conversation-id` AS `conversation-id`,
|
||||
`quote-item-uri`.`uri` AS `quote-uri`,
|
||||
`post-content`.`quote-uri-id` AS `quote-uri-id`,
|
||||
`item-uri`.`guid` AS `guid`,
|
||||
`post-user`.`wall` AS `wall`,
|
||||
`post-user`.`gravity` AS `gravity`,
|
||||
|
|
@ -1962,6 +1970,7 @@ CREATE VIEW `post-user-view` AS SELECT
|
|||
LEFT JOIN `event` ON `event`.`id` = `post-user`.`event-id`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-user`.`uri-id` AND `post-user`.`origin`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-user`.`psid`
|
||||
|
|
@ -1985,6 +1994,8 @@ CREATE VIEW `post-thread-user-view` AS SELECT
|
|||
`post-user`.`thr-parent-id` AS `thr-parent-id`,
|
||||
`conversation-item-uri`.`uri` AS `conversation`,
|
||||
`post-thread-user`.`conversation-id` AS `conversation-id`,
|
||||
`quote-item-uri`.`uri` AS `quote-uri`,
|
||||
`post-content`.`quote-uri-id` AS `quote-uri-id`,
|
||||
`item-uri`.`guid` AS `guid`,
|
||||
`post-thread-user`.`wall` AS `wall`,
|
||||
`post-user`.`gravity` AS `gravity`,
|
||||
|
|
@ -2138,6 +2149,7 @@ CREATE VIEW `post-thread-user-view` AS SELECT
|
|||
LEFT JOIN `event` ON `event`.`id` = `post-user`.`event-id`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-thread-user`.`uri-id` AND `post-thread-user`.`origin`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-thread-user`.`psid`
|
||||
|
|
@ -2157,6 +2169,8 @@ CREATE VIEW `post-view` AS SELECT
|
|||
`post`.`thr-parent-id` AS `thr-parent-id`,
|
||||
`conversation-item-uri`.`uri` AS `conversation`,
|
||||
`post-thread`.`conversation-id` AS `conversation-id`,
|
||||
`quote-item-uri`.`uri` AS `quote-uri`,
|
||||
`post-content`.`quote-uri-id` AS `quote-uri-id`,
|
||||
`item-uri`.`guid` AS `guid`,
|
||||
`post`.`gravity` AS `gravity`,
|
||||
`external-item-uri`.`uri` AS `extid`,
|
||||
|
|
@ -2279,6 +2293,7 @@ CREATE VIEW `post-view` AS SELECT
|
|||
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
|
||||
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
|
||||
|
|
@ -2296,6 +2311,8 @@ CREATE VIEW `post-thread-view` AS SELECT
|
|||
`post`.`thr-parent-id` AS `thr-parent-id`,
|
||||
`conversation-item-uri`.`uri` AS `conversation`,
|
||||
`post-thread`.`conversation-id` AS `conversation-id`,
|
||||
`quote-item-uri`.`uri` AS `quote-uri`,
|
||||
`post-content`.`quote-uri-id` AS `quote-uri-id`,
|
||||
`item-uri`.`guid` AS `guid`,
|
||||
`post`.`gravity` AS `gravity`,
|
||||
`external-item-uri`.`uri` AS `extid`,
|
||||
|
|
@ -2418,6 +2435,7 @@ CREATE VIEW `post-thread-view` AS SELECT
|
|||
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
|
||||
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`;
|
||||
|
|
|
|||
|
|
@ -919,6 +919,10 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
Hook::callAll('block', $hook_data);
|
||||
Hook::callAll('unblock', $hook_data);
|
||||
|
||||
### src/Core/Logger/Factory.php
|
||||
|
||||
Hook::callAll('logger_instance', $data);
|
||||
|
||||
### src/Core/StorageManager
|
||||
|
||||
Hook::callAll('storage_instance', $data);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Due to the large variety of operating systems and PHP platforms in existence we
|
|||
* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it)
|
||||
* Some form of email server or email gateway such that PHP mail() works.
|
||||
If you cannot set up your own email server, you can use the [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) addon and use a remote SMTP server.
|
||||
* MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
|
||||
* MySQL with support of InnoDB and Barracuda (we suggest a MariaDB server as all development is done using these, but alternatives like MySQL or Percona Server etc. might work as well)
|
||||
* ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows)
|
||||
* installation into a top-level domain or sub-domain (without a directory/path component in the URL) is RECOMMENDED. Directory paths will not be as convenient to use and have not been thoroughly tested. This is REQUIRED if you wish to communicate with the Diaspora network.
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Getting started
|
|||
No need to setup up a webserver, database etc. before actually starting.
|
||||
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
|
||||
|
||||
It brings an Debian Bullseye with PHP 7.4 and MariaDB 10.5.11.
|
||||
It brings an Debian Bullseye with PHP 8.0 and MariaDB 10.5.11.
|
||||
|
||||
What you need to do:
|
||||
|
||||
|
|
@ -24,7 +24,7 @@ This will start the virtual machine.
|
|||
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
|
||||
4. Run `vagrant ssh` to log into the virtual machine to log in to the VM in case you need to debug something on the server.
|
||||
5. Open you test installation in a browser.
|
||||
Go to friendica.local (or 192.168.22.10).
|
||||
Go to friendica.local (or 192.168.56.10).
|
||||
friendica.local is using a self-signed TLS certificate, so you will need to add an exception to trust the certificate the first time you are visiting the page.
|
||||
The mysql database is called "friendica", the mysql user and password both are "friendica".
|
||||
6. Work on Friendica's code in your git clone on your machine (not in the VM).
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ Fields
|
|||
| content-warning | | varchar(255) | NO | | | |
|
||||
| body | item body content | mediumtext | YES | | NULL | |
|
||||
| raw-body | Body without embedded media links | mediumtext | YES | | NULL | |
|
||||
| quote-uri-id | Id of the item-uri table that contains the quoted uri | int unsigned | YES | | NULL | |
|
||||
| location | text location where this item originated | varchar(255) | NO | | | |
|
||||
| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | |
|
||||
| language | Language information about this post | text | YES | | NULL | |
|
||||
|
|
@ -35,6 +36,7 @@ Indexes
|
|||
| plink | plink(191) |
|
||||
| resource-id | resource-id |
|
||||
| title-content-warning-body | FULLTEXT, title, content-warning, body |
|
||||
| quote-uri-id | quote-uri-id |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
|
@ -42,5 +44,6 @@ Foreign Keys
|
|||
| Field | Target Table | Target Field |
|
||||
|-------|--------------|--------------|
|
||||
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
| quote-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
|
||||
Return to [database documentation](help/database)
|
||||
|
|
|
|||
|
|
@ -6,36 +6,38 @@ Attached media
|
|||
Fields
|
||||
------
|
||||
|
||||
| Field | Description | Type | Null | Key | Default | Extra |
|
||||
| --------------- | --------------------------------------------------------- | ----------------- | ---- | --- | ------- | -------------- |
|
||||
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | |
|
||||
| url | Media URL | varbinary(1024) | NO | | NULL | |
|
||||
| type | Media type | tinyint unsigned | NO | | 0 | |
|
||||
| mimetype | | varchar(60) | YES | | NULL | |
|
||||
| height | Height of the media | smallint unsigned | YES | | NULL | |
|
||||
| width | Width of the media | smallint unsigned | YES | | NULL | |
|
||||
| size | Media size | bigint unsigned | YES | | NULL | |
|
||||
| preview | Preview URL | varbinary(512) | YES | | NULL | |
|
||||
| preview-height | Height of the preview picture | smallint unsigned | YES | | NULL | |
|
||||
| preview-width | Width of the preview picture | smallint unsigned | YES | | NULL | |
|
||||
| description | | text | YES | | NULL | |
|
||||
| name | Name of the media | varchar(255) | YES | | NULL | |
|
||||
| author-url | URL of the author of the media | varbinary(383) | YES | | NULL | |
|
||||
| author-name | Name of the author of the media | varchar(255) | YES | | NULL | |
|
||||
| author-image | Image of the author of the media | varbinary(383) | YES | | NULL | |
|
||||
| publisher-url | URL of the publisher of the media | varbinary(383) | YES | | NULL | |
|
||||
| publisher-name | Name of the publisher of the media | varchar(255) | YES | | NULL | |
|
||||
| publisher-image | Image of the publisher of the media | varbinary(383) | YES | | NULL | |
|
||||
| Field | Description | Type | Null | Key | Default | Extra |
|
||||
| --------------- | ------------------------------------------------------------------ | ----------------- | ---- | --- | ------- | -------------- |
|
||||
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | |
|
||||
| url | Media URL | varbinary(1024) | NO | | NULL | |
|
||||
| media-uri-id | Id of the item-uri table entry that contains the activities uri-id | int unsigned | YES | | NULL | |
|
||||
| type | Media type | tinyint unsigned | NO | | 0 | |
|
||||
| mimetype | | varchar(60) | YES | | NULL | |
|
||||
| height | Height of the media | smallint unsigned | YES | | NULL | |
|
||||
| width | Width of the media | smallint unsigned | YES | | NULL | |
|
||||
| size | Media size | bigint unsigned | YES | | NULL | |
|
||||
| preview | Preview URL | varbinary(512) | YES | | NULL | |
|
||||
| preview-height | Height of the preview picture | smallint unsigned | YES | | NULL | |
|
||||
| preview-width | Width of the preview picture | smallint unsigned | YES | | NULL | |
|
||||
| description | | text | YES | | NULL | |
|
||||
| name | Name of the media | varchar(255) | YES | | NULL | |
|
||||
| author-url | URL of the author of the media | varbinary(383) | YES | | NULL | |
|
||||
| author-name | Name of the author of the media | varchar(255) | YES | | NULL | |
|
||||
| author-image | Image of the author of the media | varbinary(383) | YES | | NULL | |
|
||||
| publisher-url | URL of the publisher of the media | varbinary(383) | YES | | NULL | |
|
||||
| publisher-name | Name of the publisher of the media | varchar(255) | YES | | NULL | |
|
||||
| publisher-image | Image of the publisher of the media | varbinary(383) | YES | | NULL | |
|
||||
|
||||
Indexes
|
||||
------------
|
||||
|
||||
| Name | Fields |
|
||||
| ---------- | ------------------------ |
|
||||
| PRIMARY | id |
|
||||
| uri-id-url | UNIQUE, uri-id, url(512) |
|
||||
| uri-id-id | uri-id, id |
|
||||
| Name | Fields |
|
||||
| ------------ | ------------------------ |
|
||||
| PRIMARY | id |
|
||||
| uri-id-url | UNIQUE, uri-id, url(512) |
|
||||
| uri-id-id | uri-id, id |
|
||||
| media-uri-id | media-uri-id |
|
||||
|
||||
Foreign Keys
|
||||
------------
|
||||
|
|
@ -43,5 +45,6 @@ Foreign Keys
|
|||
| Field | Target Table | Target Field |
|
||||
|-------|--------------|--------------|
|
||||
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
| media-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||
|
||||
Return to [database documentation](help/database)
|
||||
|
|
|
|||
|
|
@ -405,6 +405,10 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
Hook::callAll('block', $hook_data);
|
||||
Hook::callAll('unblock', $hook_data);
|
||||
|
||||
### src/Core/Logger/Factory.php
|
||||
|
||||
Hook::callAll('logger_instance', $data);
|
||||
|
||||
### src/Core/StorageManager
|
||||
|
||||
Hook::callAll('storage_instance', $data);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ Requirements
|
|||
* Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
|
||||
* Einen E-Mail Server, so dass PHP `mail()` funktioniert.
|
||||
Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
|
||||
* Mysql 5.6+ (oder eine äquivalente Alternative: MariaDB, Percona Server etc.)
|
||||
* Mysql Server mit Unterstützung vom InnoDB und Barracuda (wir empfehlen MariaDB da die Entwicklung mit solchen Server erfolgt, aber Alternativen wie MySQL, Percona Server etc. sollten auch funktionieren)
|
||||
* die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
|
||||
* Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.
|
||||
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ function cal_content(App $a)
|
|||
$is_owner = local_user() == $owner['uid'];
|
||||
|
||||
if ($owner['hidewall'] && !$is_owner && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -262,7 +262,7 @@ function cal_content(App $a)
|
|||
|
||||
if ($mode == 'export') {
|
||||
if (!$owner_uid) {
|
||||
notice(DI::l10n()->t('User not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -271,9 +271,9 @@ function cal_content(App $a)
|
|||
|
||||
if (!$evexport["success"]) {
|
||||
if ($evexport["content"]) {
|
||||
notice(DI::l10n()->t('This calendar format is not supported'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('This calendar format is not supported'));
|
||||
} else {
|
||||
notice(DI::l10n()->t('No exportable data found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No exportable data found'));
|
||||
}
|
||||
|
||||
// If it the own calendar return to the events page
|
||||
|
|
|
|||
|
|
@ -35,14 +35,14 @@ function editpost_content(App $a)
|
|||
$o = '';
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$post_id = ((DI::args()->getArgc() > 1) ? intval(DI::args()->getArgv()[1]) : 0);
|
||||
|
||||
if (!$post_id) {
|
||||
notice(DI::l10n()->t('Item not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Item not found'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ function editpost_content(App $a)
|
|||
$item = Post::selectFirstForUser(local_user(), $fields, ['id' => $post_id, 'uid' => local_user()]);
|
||||
|
||||
if (!DBA::isResult($item)) {
|
||||
notice(DI::l10n()->t('Item not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Item not found'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ function events_post(App $a)
|
|||
$onerror_path = 'events/' . $action . '?' . http_build_query($params, '', '&', PHP_QUERY_RFC3986);
|
||||
|
||||
if (strcmp($finish, $start) < 0 && !$nofinish) {
|
||||
notice(DI::l10n()->t('Event can not end before it has started.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Event can not end before it has started.'));
|
||||
if (intval($_REQUEST['preview'])) {
|
||||
System::httpExit(DI::l10n()->t('Event can not end before it has started.'));
|
||||
}
|
||||
|
|
@ -129,7 +129,7 @@ function events_post(App $a)
|
|||
}
|
||||
|
||||
if (!$summary || ($start === DBA::NULL_DATETIME)) {
|
||||
notice(DI::l10n()->t('Event title and start time are required.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Event title and start time are required.'));
|
||||
if (intval($_REQUEST['preview'])) {
|
||||
System::httpExit(DI::l10n()->t('Event title and start time are required.'));
|
||||
}
|
||||
|
|
@ -206,7 +206,7 @@ function events_post(App $a)
|
|||
}
|
||||
|
||||
if (!$cid && $uri_id) {
|
||||
Worker::add(PRIORITY_HIGH, "Notifier", Delivery::POST, (int)$uri_id, (int)$uid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, "Notifier", Delivery::POST, (int)$uri_id, (int)$uid);
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('events');
|
||||
|
|
@ -215,7 +215,7 @@ function events_post(App $a)
|
|||
function events_content(App $a)
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
|
|
@ -532,7 +532,7 @@ function events_content(App $a)
|
|||
}
|
||||
|
||||
if (Post::exists(['id' => $ev[0]['itemid']])) {
|
||||
notice(DI::l10n()->t('Failed to remove event'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Failed to remove event'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('events');
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ function follow_content(App $a)
|
|||
$return_path = 'contact';
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -81,7 +81,7 @@ function follow_content(App $a)
|
|||
|
||||
if (DBA::isResult($user_contact)) {
|
||||
if ($user_contact['pending']) {
|
||||
notice(DI::l10n()->t('You already added this contact.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You already added this contact.'));
|
||||
$submit = '';
|
||||
}
|
||||
}
|
||||
|
|
@ -97,7 +97,7 @@ function follow_content(App $a)
|
|||
// Possibly it is a remote item and not an account
|
||||
follow_remote_item($url);
|
||||
|
||||
notice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
|
||||
$submit = '';
|
||||
$contact = ['url' => $url, 'network' => Protocol::PHANTOM, 'name' => $url, 'keywords' => ''];
|
||||
}
|
||||
|
|
@ -105,12 +105,12 @@ function follow_content(App $a)
|
|||
$protocol = Contact::getProtocol($contact['url'], $contact['network']);
|
||||
|
||||
if (($protocol == Protocol::DIASPORA) && !DI::config()->get('system', 'diaspora_enabled')) {
|
||||
notice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
|
||||
$submit = '';
|
||||
}
|
||||
|
||||
if (($protocol == Protocol::OSTATUS) && DI::config()->get('system', 'ostatus_disabled')) {
|
||||
notice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
|
||||
$submit = '';
|
||||
}
|
||||
|
||||
|
|
@ -127,7 +127,7 @@ function follow_content(App $a)
|
|||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
if (empty($owner)) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -181,14 +181,14 @@ function follow_process(App $a, string $url)
|
|||
follow_remote_item($url);
|
||||
|
||||
if ($result['message']) {
|
||||
notice($result['message']);
|
||||
DI::sysmsg()->addNotice($result['message']);
|
||||
}
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
} elseif ($result['cid']) {
|
||||
DI::baseUrl()->redirect('contact/' . $result['cid']);
|
||||
}
|
||||
|
||||
notice(DI::l10n()->t('The contact could not be added.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('The contact could not be added.'));
|
||||
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
|
|||
15
mod/item.php
15
mod/item.php
|
|
@ -36,6 +36,7 @@ use Friendica\Core\Logger;
|
|||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Attach;
|
||||
|
|
@ -128,7 +129,7 @@ function item_post(App $a) {
|
|||
}
|
||||
|
||||
if (!DBA::isResult($toplevel_item)) {
|
||||
notice(DI::l10n()->t('Unable to locate original post.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to locate original post.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
@ -178,7 +179,7 @@ function item_post(App $a) {
|
|||
// Now check that valid personal details have been provided
|
||||
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
|
||||
Logger::warning('Permission denied.', ['local' => local_user(), 'profile_uid' => $profile_uid, 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
@ -334,7 +335,7 @@ function item_post(App $a) {
|
|||
System::jsonExit(['preview' => '']);
|
||||
}
|
||||
|
||||
notice(DI::l10n()->t('Empty post discarded.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Empty post discarded.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
@ -632,7 +633,7 @@ function item_post(App $a) {
|
|||
unset($datarray['self']);
|
||||
unset($datarray['api_source']);
|
||||
|
||||
Post\Delayed::add($datarray['uri'], $datarray, PRIORITY_HIGH, Post\Delayed::PREPARED_NO_HOOK, $scheduled_at);
|
||||
Post\Delayed::add($datarray['uri'], $datarray, Worker::PRIORITY_HIGH, Post\Delayed::PREPARED_NO_HOOK, $scheduled_at);
|
||||
item_post_return(DI::baseUrl(), $api_source, $return_path);
|
||||
}
|
||||
}
|
||||
|
|
@ -681,7 +682,7 @@ function item_post(App $a) {
|
|||
$post_id = Item::insert($datarray);
|
||||
|
||||
if (!$post_id) {
|
||||
notice(DI::l10n()->t('Item wasn\'t stored.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Item wasn\'t stored.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
@ -837,7 +838,7 @@ function drop_item(int $id, string $return = ''): string
|
|||
$item = Post::selectFirstForUser(local_user(), ['id', 'uid', 'guid', 'contact-id', 'deleted', 'gravity', 'parent'], ['id' => $id]);
|
||||
|
||||
if (!DBA::isResult($item)) {
|
||||
notice(DI::l10n()->t('Item not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Item not found.'));
|
||||
DI::baseUrl()->redirect('network');
|
||||
//NOTREACHED
|
||||
}
|
||||
|
|
@ -861,7 +862,7 @@ function drop_item(int $id, string $return = ''): string
|
|||
//NOTREACHED
|
||||
} else {
|
||||
Logger::warning('Permission denied.', ['local' => local_user(), 'uid' => $item['uid'], 'cid' => $contact_id]);
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('display/' . $item['guid']);
|
||||
//NOTREACHED
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ function lostpass_post(App $a)
|
|||
$condition = ['(`email` = ? OR `nickname` = ?) AND `verified` = 1 AND `blocked` = 0', $loginame, $loginame];
|
||||
$user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'language'], $condition);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('No valid account found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No valid account found.'));
|
||||
DI::baseUrl()->redirect();
|
||||
}
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ function lostpass_post(App $a)
|
|||
];
|
||||
$result = DBA::update('user', $fields, ['uid' => $user['uid']]);
|
||||
if ($result) {
|
||||
info(DI::l10n()->t('Password reset request issued. Check your email.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Password reset request issued. Check your email.'));
|
||||
}
|
||||
|
||||
$sitename = DI::config()->get('config', 'sitename');
|
||||
|
|
@ -97,7 +97,7 @@ function lostpass_content(App $a)
|
|||
|
||||
$user = DBA::selectFirst('user', ['uid', 'username', 'nickname', 'email', 'pwdreset_time', 'language'], ['pwdreset' => hash('sha256', $pwdreset_token)]);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed."));
|
||||
|
||||
return lostpass_form();
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ function lostpass_content(App $a)
|
|||
];
|
||||
DBA::update('user', $fields, ['uid' => $user['uid']]);
|
||||
|
||||
notice(DI::l10n()->t('Request has expired, please make a new one.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Request has expired, please make a new one.'));
|
||||
|
||||
return lostpass_form();
|
||||
}
|
||||
|
|
@ -152,7 +152,7 @@ function lostpass_generate_password($user)
|
|||
'$newpass' => $new_password,
|
||||
]);
|
||||
|
||||
info(DI::l10n()->t("Your password has been reset."));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t("Your password has been reset."));
|
||||
|
||||
$sitename = DI::config()->get('config', 'sitename');
|
||||
$preamble = Strings::deindent(DI::l10n()->t('
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ function match_content(App $a)
|
|||
return '';
|
||||
}
|
||||
if (!$profile['pub_keywords'] && (!$profile['prv_keywords'])) {
|
||||
notice(DI::l10n()->t('No keywords to match. Please add keywords to your profile.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No keywords to match. Please add keywords to your profile.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ function match_content(App $a)
|
|||
}
|
||||
|
||||
if (empty($entries)) {
|
||||
info(DI::l10n()->t('No matches'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('No matches'));
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('viewcontact_template.tpl');
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ function message_init(App $a)
|
|||
function message_post(App $a)
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -80,20 +80,20 @@ function message_post(App $a)
|
|||
|
||||
switch ($ret) {
|
||||
case -1:
|
||||
notice(DI::l10n()->t('No recipient selected.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No recipient selected.'));
|
||||
$norecip = true;
|
||||
break;
|
||||
|
||||
case -2:
|
||||
notice(DI::l10n()->t('Unable to locate contact information.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to locate contact information.'));
|
||||
break;
|
||||
|
||||
case -3:
|
||||
notice(DI::l10n()->t('Message could not be sent.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message could not be sent.'));
|
||||
break;
|
||||
|
||||
case -4:
|
||||
notice(DI::l10n()->t('Message collection failure.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message collection failure.'));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ function message_content(App $a)
|
|||
Nav::setSelected('messages');
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
|
|
@ -146,12 +146,12 @@ function message_content(App $a)
|
|||
if ($cmd === 'drop') {
|
||||
$message = DBA::selectFirst('mail', ['convid'], ['id' => DI::args()->getArgv()[2], 'uid' => local_user()]);
|
||||
if(!DBA::isResult($message)){
|
||||
notice(DI::l10n()->t('Conversation not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Conversation not found.'));
|
||||
DI::baseUrl()->redirect('message');
|
||||
}
|
||||
|
||||
if (!DBA::delete('mail', ['id' => DI::args()->getArgv()[2], 'uid' => local_user()])) {
|
||||
notice(DI::l10n()->t('Message was not deleted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message was not deleted.'));
|
||||
}
|
||||
|
||||
$conversation = DBA::selectFirst('mail', ['id'], ['convid' => $message['convid'], 'uid' => local_user()]);
|
||||
|
|
@ -166,7 +166,7 @@ function message_content(App $a)
|
|||
$parent = $parentmail['parent-uri'];
|
||||
|
||||
if (!DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) {
|
||||
notice(DI::l10n()->t('Conversation was not removed.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Conversation was not removed.'));
|
||||
}
|
||||
}
|
||||
DI::baseUrl()->redirect('message');
|
||||
|
|
@ -222,7 +222,7 @@ function message_content(App $a)
|
|||
$r = get_messages(local_user(), $pager->getStart(), $pager->getItemsPerPage());
|
||||
|
||||
if (!DBA::isResult($r)) {
|
||||
notice(DI::l10n()->t('No messages.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No messages.'));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
|
@ -278,7 +278,7 @@ function message_content(App $a)
|
|||
}
|
||||
|
||||
if (!DBA::isResult($messages)) {
|
||||
notice(DI::l10n()->t('Message not available.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message not available.'));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ function notes_init(App $a)
|
|||
function notes_content(App $a, bool $update = false)
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ use Friendica\Protocol\ActivityPub;
|
|||
function ostatus_subscribe_content(App $a): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('ostatus_subscribe');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,14 +157,14 @@ function photos_post(App $a)
|
|||
}
|
||||
|
||||
if (!$can_post) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
System::exit();
|
||||
}
|
||||
|
||||
$owner_record = User::getOwnerDataById($page_owner_uid);
|
||||
|
||||
if (!$owner_record) {
|
||||
notice(DI::l10n()->t('Contact information unavailable'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Contact information unavailable'));
|
||||
DI::logger()->info('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
|
||||
System::exit();
|
||||
}
|
||||
|
|
@ -193,7 +193,7 @@ function photos_post(App $a)
|
|||
$album = hex2bin(DI::args()->getArgv()[3]);
|
||||
|
||||
if (!DBA::exists('photo', ['album' => $album, 'uid' => $page_owner_uid, 'photo-type' => Photo::DEFAULT])) {
|
||||
notice(DI::l10n()->t('Album not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Album not found.'));
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
|
@ -247,9 +247,9 @@ function photos_post(App $a)
|
|||
|
||||
// Update the photo albums cache
|
||||
Photo::clearAlbumCache($page_owner_uid);
|
||||
notice(DI::l10n()->t('Album successfully deleted'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Album successfully deleted'));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Album was empty.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Album was empty.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -281,7 +281,7 @@ function photos_post(App $a)
|
|||
// Update the photo albums cache
|
||||
Photo::clearAlbumCache($page_owner_uid);
|
||||
} else {
|
||||
notice(DI::l10n()->t('Failed to delete the photo.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Failed to delete the photo.'));
|
||||
DI::baseUrl()->redirect('photos/' . DI::args()->getArgv()[1] . '/image/' . DI::args()->getArgv()[3]);
|
||||
}
|
||||
|
||||
|
|
@ -629,21 +629,21 @@ function photos_post(App $a)
|
|||
if ($error !== UPLOAD_ERR_OK) {
|
||||
switch ($error) {
|
||||
case UPLOAD_ERR_INI_SIZE:
|
||||
notice(DI::l10n()->t('Image exceeds size limit of %s', ini_get('upload_max_filesize')));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image exceeds size limit of %s', ini_get('upload_max_filesize')));
|
||||
break;
|
||||
case UPLOAD_ERR_FORM_SIZE:
|
||||
notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($_REQUEST['MAX_FILE_SIZE'] ?? 0)));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($_REQUEST['MAX_FILE_SIZE'] ?? 0)));
|
||||
break;
|
||||
case UPLOAD_ERR_PARTIAL:
|
||||
notice(DI::l10n()->t('Image upload didn\'t complete, please try again'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image upload didn\'t complete, please try again'));
|
||||
break;
|
||||
case UPLOAD_ERR_NO_FILE:
|
||||
notice(DI::l10n()->t('Image file is missing'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image file is missing'));
|
||||
break;
|
||||
case UPLOAD_ERR_NO_TMP_DIR:
|
||||
case UPLOAD_ERR_CANT_WRITE:
|
||||
case UPLOAD_ERR_EXTENSION:
|
||||
notice(DI::l10n()->t('Server can\'t accept new file upload at this time, please contact your administrator'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Server can\'t accept new file upload at this time, please contact your administrator'));
|
||||
break;
|
||||
}
|
||||
@unlink($src);
|
||||
|
|
@ -659,7 +659,7 @@ function photos_post(App $a)
|
|||
$maximagesize = DI::config()->get('system', 'maximagesize');
|
||||
|
||||
if ($maximagesize && ($filesize > $maximagesize)) {
|
||||
notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)));
|
||||
@unlink($src);
|
||||
$foo = 0;
|
||||
Hook::callAll('photo_post_end', $foo);
|
||||
|
|
@ -667,7 +667,7 @@ function photos_post(App $a)
|
|||
}
|
||||
|
||||
if (!$filesize) {
|
||||
notice(DI::l10n()->t('Image file is empty.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image file is empty.'));
|
||||
@unlink($src);
|
||||
$foo = 0;
|
||||
Hook::callAll('photo_post_end', $foo);
|
||||
|
|
@ -682,7 +682,7 @@ function photos_post(App $a)
|
|||
|
||||
if (!$image->isValid()) {
|
||||
Logger::notice('unable to process image');
|
||||
notice(DI::l10n()->t('Unable to process image.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to process image.'));
|
||||
@unlink($src);
|
||||
$foo = 0;
|
||||
Hook::callAll('photo_post_end',$foo);
|
||||
|
|
@ -708,7 +708,7 @@ function photos_post(App $a)
|
|||
|
||||
if (!$r) {
|
||||
Logger::warning('image store failed');
|
||||
notice(DI::l10n()->t('Image upload failed.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image upload failed.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -795,12 +795,12 @@ function photos_content(App $a)
|
|||
}
|
||||
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
notice(DI::l10n()->t('Public access denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Public access denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (empty($user)) {
|
||||
notice(DI::l10n()->t('No photos selected'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No photos selected'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -869,7 +869,7 @@ function photos_content(App $a)
|
|||
}
|
||||
|
||||
if ($user['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this item is restricted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Access to this item is restricted.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -884,7 +884,7 @@ function photos_content(App $a)
|
|||
// Display upload form
|
||||
if ($datatype === 'upload') {
|
||||
if (!$can_post) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1084,9 +1084,9 @@ function photos_content(App $a)
|
|||
|
||||
if (!DBA::isResult($ph)) {
|
||||
if (DBA::exists('photo', ['resource-id' => $datum, 'uid' => $owner_uid])) {
|
||||
notice(DI::l10n()->t('Permission denied. Access to this item may be restricted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied. Access to this item may be restricted.'));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Photo not available'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Photo not available'));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ use Friendica\Model\Contact;
|
|||
function repair_ostatus_content(App $a) {
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('ostatus_repair');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ use Friendica\Protocol\Email;
|
|||
function settings_init(App $a)
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ function settings_init(App $a)
|
|||
function settings_post(App $a)
|
||||
{
|
||||
if (!$a->isLoggedIn()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ function settings_post(App $a)
|
|||
$mbox = Email::connect($mb, $mail_user, $dcrpass);
|
||||
unset($dcrpass);
|
||||
if (!$mbox) {
|
||||
notice(DI::l10n()->t('Failed to connect with email account using the settings provided.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Failed to connect with email account using the settings provided.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -148,12 +148,12 @@ function settings_content(App $a)
|
|||
Nav::setSelected('settings');
|
||||
|
||||
if (!local_user()) {
|
||||
//notice(DI::l10n()->t('Permission denied.'));
|
||||
//DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
if (!empty($_SESSION['submanage'])) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -166,6 +166,6 @@ EOT;
|
|||
|
||||
$post = Post::selectFirst(['uri-id', 'uid'], ['id' => $post_id]);
|
||||
|
||||
Worker::add(PRIORITY_HIGH, "Notifier", Delivery::POST, $post['uri-id'], $post['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, "Notifier", Delivery::POST, $post['uri-id'], $post['uid']);
|
||||
System::exit();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ use Friendica\DI;
|
|||
function uimport_post(App $a)
|
||||
{
|
||||
if ((DI::config()->get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !$a->isSiteAdmin()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ function uimport_post(App $a)
|
|||
function uimport_content(App $a)
|
||||
{
|
||||
if ((DI::config()->get('config', 'register_policy') != \Friendica\Module\Register::OPEN) && !$a->isSiteAdmin()) {
|
||||
notice(DI::l10n()->t('User imports on closed servers can only be done by an administrator.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User imports on closed servers can only be done by an administrator.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ function uimport_content(App $a)
|
|||
$total = DBA::count('user', ["`register_date` > UTC_TIMESTAMP - INTERVAL 1 DAY"]);
|
||||
if ($total >= $max_dailies) {
|
||||
Logger::notice('max daily registrations exceeded.');
|
||||
notice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ use Friendica\Util\Strings;
|
|||
function unfollow_post(App $a)
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('login');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -47,7 +47,7 @@ function unfollow_content(App $a)
|
|||
$base_return_path = 'contact';
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('login');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -62,13 +62,13 @@ function unfollow_content(App $a)
|
|||
$contact = DBA::selectFirst('contact', ['url', 'id', 'uid', 'network', 'addr', 'name'], $condition);
|
||||
|
||||
if (!DBA::isResult($contact)) {
|
||||
notice(DI::l10n()->t("You aren't following this contact."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("You aren't following this contact."));
|
||||
DI::baseUrl()->redirect($base_return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
if (!Protocol::supportsFollow($contact['network'])) {
|
||||
notice(DI::l10n()->t('Unfollowing is currently not supported by your network.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unfollowing is currently not supported by your network.'));
|
||||
DI::baseUrl()->redirect($base_return_path . '/' . $contact['id']);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -79,7 +79,7 @@ function unfollow_content(App $a)
|
|||
$self = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]);
|
||||
|
||||
if (!DBA::isResult($self)) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect($base_return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -131,7 +131,7 @@ function unfollow_process(string $url)
|
|||
$contact = DBA::selectFirst('contact', [], $condition);
|
||||
|
||||
if (!DBA::isResult($contact)) {
|
||||
notice(DI::l10n()->t("You aren't following this contact."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("You aren't following this contact."));
|
||||
DI::baseUrl()->redirect($base_return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
|
@ -146,6 +146,6 @@ function unfollow_process(string $url)
|
|||
$notice_message = DI::l10n()->t('Unable to unfollow this contact, please contact your administrator');
|
||||
}
|
||||
|
||||
notice($notice_message);
|
||||
DI::sysmsg()->addNotice($notice_message);
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ function wall_attach_post(App $a) {
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => DI::l10n()->t('Permission denied.')]);
|
||||
}
|
||||
notice(DI::l10n()->t('Permission denied.') . EOL );
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
System::exit();
|
||||
}
|
||||
|
||||
|
|
@ -90,12 +90,12 @@ function wall_attach_post(App $a) {
|
|||
*/
|
||||
|
||||
if ($filesize <= 0) {
|
||||
$msg = DI::l10n()->t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(DI::l10n()->t('Or - did you try to upload an empty file?'));
|
||||
$msg = DI::l10n()->t('Sorry, maybe your upload is bigger than the PHP configuration allows') . '<br />' . (DI::l10n()->t('Or - did you try to upload an empty file?'));
|
||||
@unlink($src);
|
||||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
notice($msg);
|
||||
DI::sysmsg()->addNotice($msg);
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
@ -106,7 +106,7 @@ function wall_attach_post(App $a) {
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
echo $msg . EOL;
|
||||
echo $msg . '<br />';
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
@ -120,7 +120,7 @@ function wall_attach_post(App $a) {
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
echo $msg . EOL;
|
||||
echo $msg . '<br />';
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => DI::l10n()->t('Permission denied.')]);
|
||||
}
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
System::exit();
|
||||
}
|
||||
|
||||
|
|
@ -147,7 +147,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => DI::l10n()->t('Invalid request.')]);
|
||||
}
|
||||
notice(DI::l10n()->t('Invalid request.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Invalid request.'));
|
||||
System::exit();
|
||||
}
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
echo $msg. EOL;
|
||||
echo $msg . '<br />';
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
@ -203,7 +203,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
echo $msg. EOL;
|
||||
echo $msg . '<br />';
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
@ -227,7 +227,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
if ($r_json) {
|
||||
System::jsonExit(['error' => $msg]);
|
||||
} else {
|
||||
echo $msg. EOL;
|
||||
echo $msg . '<br />';
|
||||
}
|
||||
System::exit();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ function wallmessage_post(App $a) {
|
|||
|
||||
$replyto = Profile::getMyURL();
|
||||
if (!$replyto) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ function wallmessage_post(App $a) {
|
|||
}
|
||||
|
||||
if (!$user['unkmail']) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$total = DBA::count('mail', ["`uid` = ? AND `created` > ? AND `unknown`", $user['uid'], DateTimeFormat::utc('now - 1 day')]);
|
||||
if ($total > $user['cntunkmail']) {
|
||||
notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -67,16 +67,16 @@ function wallmessage_post(App $a) {
|
|||
|
||||
switch ($ret) {
|
||||
case -1:
|
||||
notice(DI::l10n()->t('No recipient selected.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No recipient selected.'));
|
||||
break;
|
||||
case -2:
|
||||
notice(DI::l10n()->t('Unable to check your home location.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to check your home location.'));
|
||||
break;
|
||||
case -3:
|
||||
notice(DI::l10n()->t('Message could not be sent.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message could not be sent.'));
|
||||
break;
|
||||
case -4:
|
||||
notice(DI::l10n()->t('Message collection failure.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Message collection failure.'));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -87,33 +87,33 @@ function wallmessage_post(App $a) {
|
|||
function wallmessage_content(App $a) {
|
||||
|
||||
if (!Profile::getMyURL()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$recipient = ((DI::args()->getArgc() > 1) ? DI::args()->getArgv()[1] : '');
|
||||
|
||||
if (!$recipient) {
|
||||
notice(DI::l10n()->t('No recipient.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No recipient.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$user = User::getByNickname($recipient);
|
||||
|
||||
if (empty($user)) {
|
||||
notice(DI::l10n()->t('No recipient.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No recipient.'));
|
||||
Logger::notice('wallmessage: no recipient');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$user['unkmail']) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$total = DBA::count('mail', ["`uid` = ? AND `created` > ? AND `unknown`", $user['uid'], DateTimeFormat::utc('now - 1 day')]);
|
||||
if ($total > $user['cntunkmail']) {
|
||||
notice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Number of daily wall messages for %s exceeded. Message failed.', $user['username']));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ return [
|
|||
// ****************************************************************
|
||||
|
||||
'config' => [
|
||||
'hostname' => 'friendica.local',
|
||||
'hostname' => '192.168.56.10',
|
||||
'admin_email' => 'admin@friendica.local',
|
||||
'sitename' => 'Friendica Social Network',
|
||||
'register_policy' => \Friendica\Module\Register::OPEN,
|
||||
|
|
|
|||
|
|
@ -58,6 +58,10 @@ use Psr\Log\LoggerInterface;
|
|||
*/
|
||||
class App
|
||||
{
|
||||
const PLATFORM = 'Friendica';
|
||||
const CODENAME = 'Giant Rhubarb';
|
||||
const VERSION = '2022.12-dev';
|
||||
|
||||
// Allow themes to control internal parameters
|
||||
// by changing App values in theme.php
|
||||
private $theme_info = [
|
||||
|
|
@ -347,6 +351,11 @@ class App
|
|||
{
|
||||
set_time_limit(0);
|
||||
|
||||
// Normally this constant is defined - but not if "pcntl" isn't installed
|
||||
if (!defined('SIGTERM')) {
|
||||
define('SIGTERM', 15);
|
||||
}
|
||||
|
||||
// Ensure that all "strtotime" operations do run timezone independent
|
||||
date_default_timezone_set('UTC');
|
||||
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ class Page implements ArrayAccess
|
|||
*/
|
||||
public function registerStylesheet(string $path, string $media = 'screen')
|
||||
{
|
||||
$path = Network::appendQueryParam($path, ['v' => FRIENDICA_VERSION]);
|
||||
$path = Network::appendQueryParam($path, ['v' => App::VERSION]);
|
||||
|
||||
if (mb_strpos($path, $this->basePath . DIRECTORY_SEPARATOR) === 0) {
|
||||
$path = mb_substr($path, mb_strlen($this->basePath . DIRECTORY_SEPARATOR));
|
||||
|
|
@ -277,7 +277,7 @@ class Page implements ArrayAccess
|
|||
*/
|
||||
$this->page['htmlhead'] = Renderer::replaceMacros($tpl, [
|
||||
'$local_user' => local_user(),
|
||||
'$generator' => 'Friendica' . ' ' . FRIENDICA_VERSION,
|
||||
'$generator' => 'Friendica' . ' ' . App::VERSION,
|
||||
'$delitem' => $l10n->t('Delete this item?'),
|
||||
'$blockAuthor' => $l10n->t('Block this author? They won\'t be able to follow you nor see your public posts, and you won\'t be able to see their posts and their notifications.'),
|
||||
'$update_interval' => $interval,
|
||||
|
|
@ -395,7 +395,7 @@ class Page implements ArrayAccess
|
|||
*/
|
||||
public function registerFooterScript($path)
|
||||
{
|
||||
$path = Network::appendQueryParam($path, ['v' => FRIENDICA_VERSION]);
|
||||
$path = Network::appendQueryParam($path, ['v' => App::VERSION]);
|
||||
|
||||
$url = str_replace($this->basePath . DIRECTORY_SEPARATOR, '', $path);
|
||||
|
||||
|
|
@ -543,7 +543,7 @@ class Page implements ArrayAccess
|
|||
|
||||
$page = $this->page;
|
||||
|
||||
header("X-Friendica-Version: " . FRIENDICA_VERSION);
|
||||
header("X-Friendica-Version: " . App::VERSION);
|
||||
header("Content-type: text/html; charset=utf-8");
|
||||
|
||||
if ($config->get('system', 'hsts') && ($baseURL->getSSLPolicy() == BaseURL::SSL_POLICY_FULL)) {
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
|
||||
public static function getFormSecurityStandardErrorMessage(): string
|
||||
{
|
||||
return DI::l10n()->t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.") . EOL;
|
||||
return DI::l10n()->t("The form security token was not correct. This probably happened because the form has been opened for too long \x28>3 hours\x29 before submitting it.");
|
||||
}
|
||||
|
||||
public static function checkFormSecurityTokenRedirectOnError(string $err_redirect, string $typename = '', string $formname = 'form_security_token')
|
||||
|
|
@ -397,7 +397,7 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
if (!self::checkFormSecurityToken($typename, $formname)) {
|
||||
Logger::notice('checkFormSecurityToken failed: user ' . DI::app()->getLoggedInUserNickname() . ' - form element ' . $typename);
|
||||
Logger::debug('checkFormSecurityToken failed', ['request' => $_REQUEST]);
|
||||
notice(self::getFormSecurityStandardErrorMessage());
|
||||
DI::sysmsg()->addNotice(self::getFormSecurityStandardErrorMessage());
|
||||
DI::baseUrl()->redirect($err_redirect);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ HELP;
|
|||
$this->out('Schedule relocation messages to remote Friendica and Diaspora hosts');
|
||||
$users = $this->database->selectToArray('user', ['uid'], ['account_removed' => false, 'account_expired' => false]);
|
||||
foreach ($users as $user) {
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $user['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $user['uid']);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ class Conversation
|
|||
break;
|
||||
}
|
||||
|
||||
$expanded .= "\t" . '<p class="wall-item-' . $verb . '-expanded" id="' . $verb . 'list-' . $id . '" style="display: none;" >' . $explikers . EOL . '</p>';
|
||||
$expanded .= "\t" . '<p class="wall-item-' . $verb . '-expanded" id="' . $verb . 'list-' . $id . '" style="display: none;" >' . $explikers . '</p>';
|
||||
}
|
||||
|
||||
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('voting_fakelink.tpl'), [
|
||||
|
|
@ -328,7 +328,7 @@ class Conversation
|
|||
$created_at = '';
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate("jot.tpl");
|
||||
$tpl = Renderer::getMarkupTemplate('jot.tpl');
|
||||
|
||||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$new_post' => $this->l10n->t('New Post'),
|
||||
|
|
@ -393,7 +393,8 @@ class Conversation
|
|||
'$message' => $this->l10n->t('Message'),
|
||||
'$browser' => $this->l10n->t('Browser'),
|
||||
|
||||
'$compose_link_title' => $this->l10n->t('Open Compose page'),
|
||||
'$compose_link_title' => $this->l10n->t('Open Compose page'),
|
||||
'$always_open_compose' => $this->pConfig->get(local_user(), 'frio', 'always_open_compose', false),
|
||||
]);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -574,9 +574,10 @@ class Item
|
|||
*
|
||||
* @param string $url
|
||||
* @param integer $uid
|
||||
* @param bool $add_media
|
||||
* @return string
|
||||
*/
|
||||
public function createSharedPostByUrl(string $url, int $uid = 0): string
|
||||
public function createSharedPostByUrl(string $url, int $uid = 0, bool $add_media = false): string
|
||||
{
|
||||
if (!empty($uid)) {
|
||||
$id = ModelItem::searchByLink($url, $uid);
|
||||
|
|
@ -599,7 +600,7 @@ class Item
|
|||
return '';
|
||||
}
|
||||
|
||||
return $this->createSharedBlockByArray($shared_item);
|
||||
return $this->createSharedBlockByArray($shared_item, $add_media);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -607,9 +608,10 @@ class Item
|
|||
*
|
||||
* @param integer $UriId
|
||||
* @param integer $uid
|
||||
* @param bool $add_media
|
||||
* @return string
|
||||
*/
|
||||
public function createSharedPostByUriId(int $UriId, int $uid = 0): string
|
||||
public function createSharedPostByUriId(int $UriId, int $uid = 0, bool $add_media = false): string
|
||||
{
|
||||
$fields = ['uri-id', 'uri', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink', 'network'];
|
||||
$shared_item = Post::selectFirst($fields, ['uri-id' => $UriId, 'uid' => [$uid, 0], 'private' => [ModelItem::PUBLIC, ModelItem::UNLISTED]]);
|
||||
|
|
@ -618,7 +620,7 @@ class Item
|
|||
return '';
|
||||
}
|
||||
|
||||
return $this->createSharedBlockByArray($shared_item);
|
||||
return $this->createSharedBlockByArray($shared_item, $add_media);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -626,9 +628,10 @@ class Item
|
|||
*
|
||||
* @param string $guid
|
||||
* @param integer $uid
|
||||
* @param bool $add_media
|
||||
* @return string
|
||||
*/
|
||||
public function createSharedPostByGuid(string $guid, int $uid = 0, string $host = ''): string
|
||||
public function createSharedPostByGuid(string $guid, int $uid = 0, string $host = '', bool $add_media = false): string
|
||||
{
|
||||
$fields = ['uri-id', 'uri', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink', 'network'];
|
||||
$shared_item = Post::selectFirst($fields, ['guid' => $guid, 'uid' => [$uid, 0], 'private' => [ModelItem::PUBLIC, ModelItem::UNLISTED]]);
|
||||
|
|
@ -645,16 +648,17 @@ class Item
|
|||
return '';
|
||||
}
|
||||
|
||||
return $this->createSharedBlockByArray($shared_item);
|
||||
return $this->createSharedBlockByArray($shared_item, $add_media);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a share block for the given item array
|
||||
*
|
||||
* @param array $item
|
||||
* @param bool $add_media
|
||||
* @return string
|
||||
*/
|
||||
public function createSharedBlockByArray(array $item): string
|
||||
public function createSharedBlockByArray(array $item, bool $add_media = false): string
|
||||
{
|
||||
if ($item['network'] == Protocol::FEED) {
|
||||
return PageInfo::getFooterFromUrl($item['plink']);
|
||||
|
|
@ -662,6 +666,8 @@ class Item
|
|||
$item['guid'] = '';
|
||||
$item['uri'] = '';
|
||||
$item['body'] = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
|
||||
} elseif ($add_media) {
|
||||
$item['body'] = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
|
||||
}
|
||||
|
||||
$shared_content = BBCode::getShareOpeningTag($item['author-name'], $item['author-link'], $item['author-avatar'], $item['plink'], $item['created'], $item['guid'], $item['uri']);
|
||||
|
|
@ -674,7 +680,7 @@ class Item
|
|||
|
||||
// If it is a reshared post then reformat it to avoid display problems with two share elements
|
||||
if (Diaspora::isReshare($item['body'], false)) {
|
||||
if (!empty($shared['guid']) && ($encaspulated_share = self::createSharedPostByGuid($shared['guid']))) {
|
||||
if (!empty($shared['guid']) && ($encaspulated_share = self::createSharedPostByGuid($shared['guid'], 0, '', $add_media))) {
|
||||
$item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encaspulated_share, $item['body']);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Conversation\Community;
|
||||
|
||||
class Nav
|
||||
{
|
||||
|
|
@ -251,8 +252,8 @@ class Nav
|
|||
}
|
||||
}
|
||||
|
||||
if ((local_user() || DI::config()->get('system', 'community_page_style') != CP_NO_COMMUNITY_PAGE) &&
|
||||
!(DI::config()->get('system', 'community_page_style') == CP_NO_INTERNAL_COMMUNITY)) {
|
||||
if ((local_user() || DI::config()->get('system', 'community_page_style') != Community::DISABLED_VISITOR) &&
|
||||
!(DI::config()->get('system', 'community_page_style') == Community::DISABLED)) {
|
||||
$nav['community'] = ['community', DI::l10n()->t('Community'), '', DI::l10n()->t('Conversations on this and other servers')];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1069,6 +1069,38 @@ class BBCode
|
|||
return $attributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the share block with a link
|
||||
*
|
||||
* @param string $body
|
||||
* @return string
|
||||
*/
|
||||
public static function replaceSharedData(string $body): string
|
||||
{
|
||||
return BBCode::convertShare(
|
||||
$body,
|
||||
function (array $attributes) {
|
||||
return '♲ ' . $attributes['link'];
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the share block
|
||||
*
|
||||
* @param string $body
|
||||
* @return string
|
||||
*/
|
||||
public static function removeSharedData(string $body): string
|
||||
{
|
||||
return BBCode::convertShare(
|
||||
$body,
|
||||
function (array $attributes) {
|
||||
return '';
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function converts a [share] block to text according to a provided callback function whose signature is:
|
||||
*
|
||||
|
|
@ -1118,7 +1150,7 @@ class BBCode
|
|||
);
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $return;
|
||||
return trim($return);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ namespace Friendica\Core;
|
|||
|
||||
use Dice\Dice;
|
||||
use Friendica;
|
||||
use Friendica\App;
|
||||
|
||||
/**
|
||||
* Description of Console
|
||||
|
|
@ -133,7 +134,7 @@ HELP;
|
|||
$command = null;
|
||||
|
||||
if ($this->getOption('version')) {
|
||||
$this->out('Friendica Console version ' . FRIENDICA_VERSION);
|
||||
$this->out('Friendica Console version ' . App::VERSION);
|
||||
|
||||
return 0;
|
||||
} elseif ((count($this->options) === 0 || $this->getOption($this->customHelpOptions) === true || $this->getOption($this->customHelpOptions) === 1) && count($this->args) === 0
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ class Installer
|
|||
$result = DBStructure::install();
|
||||
|
||||
if ($result) {
|
||||
$txt = DI::l10n()->t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL;
|
||||
$txt = DI::l10n()->t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . '<br />';
|
||||
$txt .= DI::l10n()->t('Please see the file "doc/INSTALL.md".');
|
||||
|
||||
$this->addCheck($txt, false, true, htmlentities($result, ENT_COMPAT, 'UTF-8'));
|
||||
|
|
@ -259,9 +259,9 @@ class Installer
|
|||
|
||||
$help = "";
|
||||
if (!$passed) {
|
||||
$help .= DI::l10n()->t('Could not find a command line version of PHP in the web server PATH.') . EOL;
|
||||
$help .= DI::l10n()->t("If you don't have a command line version of PHP installed on your server, you will not be able to run the background processing. See <a href='https://github.com/friendica/friendica/blob/stable/doc/Install.md#set-up-the-worker'>'Setup the worker'</a>") . EOL;
|
||||
$help .= EOL . EOL;
|
||||
$help .= DI::l10n()->t('Could not find a command line version of PHP in the web server PATH.') . '<br />';
|
||||
$help .= DI::l10n()->t("If you don't have a command line version of PHP installed on your server, you will not be able to run the background processing. See <a href='https://github.com/friendica/friendica/blob/stable/doc/Install.md#set-up-the-worker'>'Setup the worker'</a>") . '<br />';
|
||||
$help .= '<br /><br />';
|
||||
$tpl = Renderer::getMarkupTemplate('field_input.tpl');
|
||||
/// @todo Separate backend Installer class and presentation layer/view
|
||||
$help .= Renderer::replaceMacros($tpl, [
|
||||
|
|
@ -279,7 +279,7 @@ class Installer
|
|||
[$result] = explode("\n", $result);
|
||||
$help = "";
|
||||
if (!$passed2) {
|
||||
$help .= DI::l10n()->t("PHP executable is not the php cli binary \x28could be cgi-fgci version\x29") . EOL;
|
||||
$help .= DI::l10n()->t("PHP executable is not the php cli binary \x28could be cgi-fgci version\x29") . '<br />';
|
||||
$help .= DI::l10n()->t('Found PHP version: ') . "<tt>$result</tt>";
|
||||
}
|
||||
$this->addCheck(DI::l10n()->t('PHP cli binary'), $passed2, true, $help);
|
||||
|
|
@ -295,7 +295,7 @@ class Installer
|
|||
$passed3 = $result == $str;
|
||||
$help = "";
|
||||
if (!$passed3) {
|
||||
$help .= DI::l10n()->t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
|
||||
$help .= DI::l10n()->t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . '<br />';
|
||||
$help .= DI::l10n()->t('This is required for message delivery to work.');
|
||||
} else {
|
||||
$this->phppath = $phppath;
|
||||
|
|
@ -333,7 +333,7 @@ class Installer
|
|||
|
||||
// Get private key
|
||||
if (!$res) {
|
||||
$help .= DI::l10n()->t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys') . EOL;
|
||||
$help .= DI::l10n()->t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys') . '<br />';
|
||||
$help .= DI::l10n()->t('If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".');
|
||||
$status = false;
|
||||
}
|
||||
|
|
@ -511,10 +511,10 @@ class Installer
|
|||
(!file_exists('config/local.config.php') && !is_writable('.'))) {
|
||||
|
||||
$status = false;
|
||||
$help = DI::l10n()->t('The web installer needs to be able to create a file called "local.config.php" in the "config" folder of your web server and it is unable to do so.') . EOL;
|
||||
$help .= DI::l10n()->t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.') . EOL;
|
||||
$help .= DI::l10n()->t('At the end of this procedure, we will give you a text to save in a file named local.config.php in your Friendica "config" folder.') . EOL;
|
||||
$help .= DI::l10n()->t('You can alternatively skip this procedure and perform a manual installation. Please see the file "doc/INSTALL.md" for instructions.') . EOL;
|
||||
$help = DI::l10n()->t('The web installer needs to be able to create a file called "local.config.php" in the "config" folder of your web server and it is unable to do so.') . '<br />';
|
||||
$help .= DI::l10n()->t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.') . '<br />';
|
||||
$help .= DI::l10n()->t('At the end of this procedure, we will give you a text to save in a file named local.config.php in your Friendica "config" folder.') . '<br />';
|
||||
$help .= DI::l10n()->t('You can alternatively skip this procedure and perform a manual installation. Please see the file "doc/INSTALL.md" for instructions.') . '<br />';
|
||||
}
|
||||
|
||||
$this->addCheck(DI::l10n()->t('config/local.config.php is writable'), $status, false, $help);
|
||||
|
|
@ -537,10 +537,10 @@ class Installer
|
|||
if (!is_writable('view/smarty3')) {
|
||||
|
||||
$status = false;
|
||||
$help = DI::l10n()->t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') . EOL;
|
||||
$help .= DI::l10n()->t('In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder.') . EOL;
|
||||
$help .= DI::l10n()->t("Please ensure that the user that your web server runs as \x28e.g. www-data\x29 has write access to this folder.") . EOL;
|
||||
$help .= DI::l10n()->t("Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files \x28.tpl\x29 that it contains.") . EOL;
|
||||
$help = DI::l10n()->t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') . '<br />';
|
||||
$help .= DI::l10n()->t('In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder.') . '<br />';
|
||||
$help .= DI::l10n()->t("Please ensure that the user that your web server runs as \x28e.g. www-data\x29 has write access to this folder.") . '<br />';
|
||||
$help .= DI::l10n()->t("Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files \x28.tpl\x29 that it contains.") . '<br />';
|
||||
}
|
||||
|
||||
$this->addCheck(DI::l10n()->t('view/smarty3 is writable'), $status, true, $help);
|
||||
|
|
@ -571,7 +571,7 @@ class Installer
|
|||
|
||||
if ($fetchResult->getReturnCode() != 204) {
|
||||
$status = false;
|
||||
$help = DI::l10n()->t('Url rewrite in .htaccess seems not working. Make sure you copied .htaccess-dist to .htaccess.') . EOL;
|
||||
$help = DI::l10n()->t('Url rewrite in .htaccess seems not working. Make sure you copied .htaccess-dist to .htaccess.') . '<br />';
|
||||
$help .= DI::l10n()->t('In some circumstances (like running inside containers), you can skip this error.');
|
||||
$error_msg = [];
|
||||
$error_msg['head'] = DI::l10n()->t('Error message from Curl when fetching');
|
||||
|
|
|
|||
|
|
@ -22,19 +22,16 @@
|
|||
namespace Friendica\Core\Logger\Factory;
|
||||
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Core\Logger\Exception\LoggerException;
|
||||
use Friendica\Core;
|
||||
use Friendica\Core\Logger\Exception\LogLevelException;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||
use Friendica\Util\FileSystem;
|
||||
use Friendica\Core\Logger\Util\Introspection;
|
||||
use Friendica\Core\Logger\Type\Monolog\DevelopHandler;
|
||||
use Friendica\Core\Logger\Type\Monolog\IntrospectionProcessor;
|
||||
use Friendica\Core\Logger\Type\ProfilerLogger;
|
||||
use Friendica\Core\Logger\Type\StreamLogger;
|
||||
use Friendica\Core\Logger\Type\SyslogLogger;
|
||||
use Friendica\Util\Profiler;
|
||||
use Monolog;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\LogLevel;
|
||||
use Psr\Log\NullLogger;
|
||||
|
|
@ -60,9 +57,15 @@ class Logger
|
|||
/** @var string The log-channel (app, worker, ...) */
|
||||
private $channel;
|
||||
|
||||
public function __construct(string $channel)
|
||||
public function __construct(string $channel, bool $includeAddon = true)
|
||||
{
|
||||
$this->channel = $channel;
|
||||
|
||||
/// @fixme clean solution = Making Addon & Hook dynamic and load them inside the constructor, so there's no custom load logic necessary anymore
|
||||
if ($includeAddon) {
|
||||
Core\Addon::loadAddons();
|
||||
Core\Hook::loadHooks();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -88,35 +91,9 @@ class Logger
|
|||
$minLevel = $minLevel ?? $config->get('system', 'loglevel');
|
||||
$loglevel = self::mapLegacyConfigDebugLevel((string)$minLevel);
|
||||
|
||||
switch ($config->get('system', 'logger_config', 'stream')) {
|
||||
case 'monolog':
|
||||
$loggerTimeZone = new \DateTimeZone('UTC');
|
||||
Monolog\Logger::setTimezone($loggerTimeZone);
|
||||
|
||||
$logger = new Monolog\Logger($this->channel);
|
||||
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
||||
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
||||
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
||||
$logger->pushProcessor(new IntrospectionProcessor($introspection, LogLevel::DEBUG));
|
||||
|
||||
$stream = $config->get('system', 'logfile');
|
||||
|
||||
// just add a stream in case it's either writable or not file
|
||||
if (!is_file($stream) || is_writable($stream)) {
|
||||
try {
|
||||
static::addStreamHandler($logger, $stream, $loglevel);
|
||||
} catch (\Throwable $e) {
|
||||
// No Logger ..
|
||||
try {
|
||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||
} catch (\Throwable $e) {
|
||||
// No logger ...
|
||||
$logger = new NullLogger();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
$name = $config->get('system', 'logger_config', 'stream');
|
||||
|
||||
switch ($name) {
|
||||
case 'syslog':
|
||||
try {
|
||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel, $config->get('system', 'syslog_flags', SyslogLogger::DEFAULT_FLAGS), $config->get('system', 'syslog_facility', SyslogLogger::DEFAULT_FACILITY));
|
||||
|
|
@ -132,29 +109,48 @@ class Logger
|
|||
|
||||
case 'stream':
|
||||
default:
|
||||
$stream = $config->get('system', 'logfile');
|
||||
// just add a stream in case it's either writable or not file
|
||||
if (!is_file($stream) || is_writable($stream)) {
|
||||
try {
|
||||
$logger = new StreamLogger($this->channel, $stream, $introspection, $fileSystem, $loglevel);
|
||||
} catch (LogLevelException $exception) {
|
||||
// If there's a wrong config value for loglevel, try again with standard
|
||||
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||
} catch (\Throwable $t) {
|
||||
// No logger ...
|
||||
$logger = new NullLogger();
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||
} catch (LogLevelException $exception) {
|
||||
// If there's a wrong config value for loglevel, try again with standard
|
||||
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||
} catch (\Throwable $e) {
|
||||
// No logger ...
|
||||
$logger = new NullLogger();
|
||||
$data = [
|
||||
'name' => $name,
|
||||
'channel' => $this->channel,
|
||||
'introspection' => $introspection,
|
||||
'loglevel' => $loglevel,
|
||||
'logger' => null,
|
||||
];
|
||||
try {
|
||||
Core\Hook::callAll('logger_instance', $data);
|
||||
} catch (InternalServerErrorException $exception) {
|
||||
$data['logger'] = null;
|
||||
}
|
||||
|
||||
if (($data['logger'] ?? null) instanceof LoggerInterface) {
|
||||
$logger = $data['logger'];
|
||||
}
|
||||
|
||||
if (empty($logger)) {
|
||||
$stream = $config->get('system', 'logfile');
|
||||
// just add a stream in case it's either writable or not file
|
||||
if (!is_file($stream) || is_writable($stream)) {
|
||||
try {
|
||||
$logger = new StreamLogger($this->channel, $stream, $introspection, $fileSystem, $loglevel);
|
||||
} catch (LogLevelException $exception) {
|
||||
// If there's a wrong config value for loglevel, try again with standard
|
||||
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||
} catch (\Throwable $t) {
|
||||
// No logger ...
|
||||
$logger = new NullLogger();
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
$logger = new SyslogLogger($this->channel, $introspection, $loglevel);
|
||||
} catch (LogLevelException $exception) {
|
||||
// If there's a wrong config value for loglevel, try again with standard
|
||||
$logger = $this->create($database, $config, $profiler, $fileSystem, LogLevel::NOTICE);
|
||||
$logger->warning('Invalid loglevel set in config.', ['loglevel' => $loglevel]);
|
||||
} catch (\Throwable $e) {
|
||||
// No logger ...
|
||||
$logger = new NullLogger();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -197,27 +193,11 @@ class Logger
|
|||
return new NullLogger();
|
||||
}
|
||||
|
||||
$loggerTimeZone = new \DateTimeZone('UTC');
|
||||
Monolog\Logger::setTimezone($loggerTimeZone);
|
||||
|
||||
$introspection = new Introspection(self::$ignoreClassList);
|
||||
|
||||
switch ($config->get('system', 'logger_config', 'stream')) {
|
||||
$name = $config->get('system', 'logger_config', 'stream');
|
||||
|
||||
case 'monolog':
|
||||
$loggerTimeZone = new \DateTimeZone('UTC');
|
||||
Monolog\Logger::setTimezone($loggerTimeZone);
|
||||
|
||||
$logger = new Monolog\Logger(self::DEV_CHANNEL);
|
||||
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
||||
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
||||
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
||||
$logger->pushProcessor(new IntrospectionProcessor($introspection, LogLevel::DEBUG));
|
||||
|
||||
$logger->pushHandler(new DevelopHandler($developerIp));
|
||||
|
||||
static::addStreamHandler($logger, $stream, LogLevel::DEBUG);
|
||||
break;
|
||||
switch ($name) {
|
||||
|
||||
case 'syslog':
|
||||
$logger = new SyslogLogger(self::DEV_CHANNEL, $introspection, LogLevel::DEBUG);
|
||||
|
|
@ -225,6 +205,23 @@ class Logger
|
|||
|
||||
case 'stream':
|
||||
default:
|
||||
$data = [
|
||||
'name' => $name,
|
||||
'channel' => self::DEV_CHANNEL,
|
||||
'introspection' => $introspection,
|
||||
'loglevel' => LogLevel::DEBUG,
|
||||
'logger' => null,
|
||||
];
|
||||
try {
|
||||
Core\Hook::callAll('logger_instance', $data);
|
||||
} catch (InternalServerErrorException $exception) {
|
||||
$data['logger'] = null;
|
||||
}
|
||||
|
||||
if (($data['logger'] ?? null) instanceof LoggerInterface) {
|
||||
return $data['logger'];
|
||||
}
|
||||
|
||||
$logger = new StreamLogger(self::DEV_CHANNEL, $stream, $introspection, $fileSystem, LogLevel::DEBUG);
|
||||
break;
|
||||
}
|
||||
|
|
@ -273,38 +270,4 @@ class Logger
|
|||
return $level;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adding a handler to a given logger instance
|
||||
*
|
||||
* @param LoggerInterface $logger The logger instance
|
||||
* @param mixed $stream The stream which handles the logger output
|
||||
* @param string $level The level, for which this handler at least should handle logging
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws LoggerException
|
||||
*/
|
||||
public static function addStreamHandler(LoggerInterface $logger, $stream, string $level = LogLevel::NOTICE)
|
||||
{
|
||||
if ($logger instanceof Monolog\Logger) {
|
||||
$loglevel = Monolog\Logger::toMonologLevel($level);
|
||||
|
||||
// fallback to notice if an invalid loglevel is set
|
||||
if (!is_int($loglevel)) {
|
||||
$loglevel = LogLevel::NOTICE;
|
||||
}
|
||||
|
||||
try {
|
||||
$fileHandler = new Monolog\Handler\StreamHandler($stream, $loglevel);
|
||||
|
||||
$formatter = new Monolog\Formatter\LineFormatter("%datetime% %channel% [%level_name%]: %message% %context% %extra%\n");
|
||||
$fileHandler->setFormatter($formatter);
|
||||
|
||||
$logger->pushHandler($fileHandler);
|
||||
} catch (\Exception $exception) {
|
||||
throw new LoggerException('Cannot create Monolog Logger.', $exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,76 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2022, 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\Core\Logger\Type\Monolog;
|
||||
|
||||
use Friendica\App\Request;
|
||||
use Monolog\Handler;
|
||||
use Monolog\Logger;
|
||||
|
||||
/**
|
||||
* Simple handler for Friendica developers to use for deeper logging
|
||||
*
|
||||
* If you want to debug only interactions from your IP or the IP of a remote server for federation debug,
|
||||
* you'll use Logger::develop() for the duration of your work, and you clean it up when you're done before submitting your PR.
|
||||
*/
|
||||
class DevelopHandler extends Handler\AbstractHandler
|
||||
{
|
||||
/**
|
||||
* @var string The IP of the developer who wants to debug
|
||||
*/
|
||||
private $developerIp;
|
||||
|
||||
/**
|
||||
* @var string The IP of the current request
|
||||
*/
|
||||
private $remoteAddress;
|
||||
|
||||
/**
|
||||
* @param Request $request The current http request
|
||||
* @param string $developerIp The IP of the developer who wants to debug
|
||||
* @param int $level The minimum logging level at which this handler will be triggered
|
||||
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
||||
*/
|
||||
public function __construct(Request $request, $developerIp, int $level = Logger::DEBUG, bool $bubble = true)
|
||||
{
|
||||
parent::__construct($level, $bubble);
|
||||
|
||||
$this->developerIp = $developerIp;
|
||||
$this->remoteAddress = $request->getRemoteAddress();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function handle(array $record): bool
|
||||
{
|
||||
if (!$this->isHandling($record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Just in case the remote IP is the same as the developer IP log the output
|
||||
if (!is_null($this->developerIp) && $this->remoteAddress != $this->developerIp) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false === $this->bubble;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2022, 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\Core\Logger\Type\Monolog;
|
||||
|
||||
use Friendica\Core\Logger\Util\Introspection;
|
||||
use Monolog\Logger;
|
||||
use Monolog\Processor\ProcessorInterface;
|
||||
|
||||
/**
|
||||
* Injects line/file//function where the log message came from
|
||||
*/
|
||||
class IntrospectionProcessor implements ProcessorInterface
|
||||
{
|
||||
private $level;
|
||||
|
||||
private $introspection;
|
||||
|
||||
/**
|
||||
* @param Introspection $introspection Holds the Introspection of the current call
|
||||
* @param string|int $level The minimum logging level at which this Processor will be triggered
|
||||
*/
|
||||
public function __construct(Introspection $introspection, $level = Logger::DEBUG)
|
||||
{
|
||||
$this->level = Logger::toMonologLevel($level);
|
||||
$introspection->addClasses(['Monolog\\']);
|
||||
$this->introspection = $introspection;
|
||||
}
|
||||
|
||||
public function __invoke(array $record): array
|
||||
{
|
||||
// return if the level is not high enough
|
||||
if ($record['level'] < $this->level) {
|
||||
return $record;
|
||||
}
|
||||
// we should have the call source now
|
||||
$record['extra'] = array_merge(
|
||||
$record['extra'],
|
||||
$this->introspection->getRecord()
|
||||
);
|
||||
|
||||
return $record;
|
||||
}
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ This namespace contains the different implementations of a Logger.
|
|||
### Configuration guideline
|
||||
|
||||
The following settings are possible for `logger_config`:
|
||||
- `monolog`: A Logging framework with lots of additions (see [Monolog](https://github.com/Seldaek/monolog/)). There are just Friendica additions inside the Monolog directory
|
||||
- [`stream`](StreamLogger.php): A small logger for files or streams
|
||||
- [`syslog`](SyslogLogger.php): Prints the logging output into the syslog
|
||||
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ class Search
|
|||
}
|
||||
|
||||
// Add found profiles from the global directory to the local directory
|
||||
Worker::add(PRIORITY_LOW, 'SearchDirectory', $search);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'SearchDirectory', $search);
|
||||
|
||||
return $resultList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,6 +69,68 @@ class Session
|
|||
DI::session()->clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the user id of locally logged in user or false.
|
||||
*
|
||||
* @return int|bool user id or false
|
||||
*/
|
||||
public static function getLocalUser()
|
||||
{
|
||||
$session = DI::session();
|
||||
|
||||
if (!empty($session->get('authenticated')) && !empty($session->get('uid'))) {
|
||||
return intval($session->get('uid'));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the public contact id of logged in user or false.
|
||||
*
|
||||
* @return int|bool public contact id or false
|
||||
*/
|
||||
public static function getPublicContact()
|
||||
{
|
||||
static $public_contact_id = false;
|
||||
|
||||
$session = DI::session();
|
||||
|
||||
if (!$public_contact_id && !empty($session->get('authenticated'))) {
|
||||
if (!empty($session->get('my_address'))) {
|
||||
// Local user
|
||||
$public_contact_id = intval(Contact::getIdForURL($session->get('my_address'), 0, false));
|
||||
} elseif (!empty($session->get('visitor_home'))) {
|
||||
// Remote user
|
||||
$public_contact_id = intval(Contact::getIdForURL($session->get('visitor_home'), 0, false));
|
||||
}
|
||||
} elseif (empty($session->get('authenticated'))) {
|
||||
$public_contact_id = false;
|
||||
}
|
||||
|
||||
return $public_contact_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns public contact id of authenticated site visitor or false
|
||||
*
|
||||
* @return int|bool visitor_id or false
|
||||
*/
|
||||
public static function getRemoteUser()
|
||||
{
|
||||
$session = DI::session();
|
||||
|
||||
if (empty($session->get('authenticated'))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!empty($session->get('visitor_id'))) {
|
||||
return intval($session->get('visitor_id'));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the user contact ID of a visitor for the given user ID they are visiting
|
||||
*
|
||||
|
|
|
|||
|
|
@ -442,10 +442,13 @@ class System
|
|||
*/
|
||||
public static function getLoadAvg(): array
|
||||
{
|
||||
$content = @file_get_contents('/proc/loadavg');
|
||||
if (empty($content)) {
|
||||
$content = shell_exec('cat /proc/loadavg');
|
||||
if (is_readable('/proc/loadavg')) {
|
||||
$content = @file_get_contents('/proc/loadavg');
|
||||
if (empty($content)) {
|
||||
$content = shell_exec('cat /proc/loadavg');
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($content) || !preg_match("#([.\d]+)\s([.\d]+)\s([.\d]+)\s(\d+)/(\d+)#", $content, $matches)) {
|
||||
$load_arr = sys_getloadavg();
|
||||
if (empty($load_arr)) {
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ class Update
|
|||
const SUCCESS = 0;
|
||||
const FAILED = 1;
|
||||
|
||||
const NEW_TABLE_STRUCTURE_VERSION = 1288;
|
||||
|
||||
/**
|
||||
* Function to check if the Database structure needs an update.
|
||||
*
|
||||
|
|
@ -63,7 +65,7 @@ class Update
|
|||
}
|
||||
|
||||
// We don't support upgrading from very old versions anymore
|
||||
if ($build < NEW_TABLE_STRUCTURE_VERSION) {
|
||||
if ($build < self::NEW_TABLE_STRUCTURE_VERSION) {
|
||||
$error = DI::l10n()->t('Updates from version %s are not supported. Please update at least to version 2021.01 and wait until the postupdate finished version 1383.', $build);
|
||||
if (DI::mode()->getExecutor() == Mode::INDEX) {
|
||||
die($error);
|
||||
|
|
@ -73,8 +75,8 @@ class Update
|
|||
}
|
||||
|
||||
// The postupdate has to completed version 1288 for the new post views to take over
|
||||
$postupdate = DI::config()->get('system', 'post_update_version', NEW_TABLE_STRUCTURE_VERSION);
|
||||
if ($postupdate < NEW_TABLE_STRUCTURE_VERSION) {
|
||||
$postupdate = DI::config()->get('system', 'post_update_version', self::NEW_TABLE_STRUCTURE_VERSION);
|
||||
if ($postupdate < self::NEW_TABLE_STRUCTURE_VERSION) {
|
||||
$error = DI::l10n()->t('Updates from postupdate version %s are not supported. Please update at least to version 2021.01 and wait until the postupdate finished version 1383.', $postupdate);
|
||||
if (DI::mode()->getExecutor() == Mode::INDEX) {
|
||||
die($error);
|
||||
|
|
@ -92,7 +94,7 @@ class Update
|
|||
*/
|
||||
self::run($basePath);
|
||||
} else {
|
||||
Worker::add(PRIORITY_CRITICAL, 'DBUpdate');
|
||||
Worker::add(Worker::PRIORITY_CRITICAL, 'DBUpdate');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,13 +123,13 @@ class UserImport
|
|||
|
||||
$account = json_decode(file_get_contents($file['tmp_name']), true);
|
||||
if ($account === null) {
|
||||
notice(DI::l10n()->t("Error decoding account file"));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Error decoding account file"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (empty($account['version'])) {
|
||||
notice(DI::l10n()->t("Error! No version data in file! This is not a Friendica account file?"));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Error! No version data in file! This is not a Friendica account file?"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ class UserImport
|
|||
// check if username matches deleted account
|
||||
if (DBA::exists('user', ['nickname' => $account['user']['nickname']])
|
||||
|| DBA::exists('userd', ['username' => $account['user']['nickname']])) {
|
||||
notice(DI::l10n()->t("User '%s' already exists on this server!", $account['user']['nickname']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("User '%s' already exists on this server!", $account['user']['nickname']));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ class UserImport
|
|||
$r = self::dbImportAssoc('user', $account['user']);
|
||||
if ($r === false) {
|
||||
Logger::warning("uimport:insert user : ERROR : " . DBA::errorMessage());
|
||||
notice(DI::l10n()->t("User creation error"));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("User creation error"));
|
||||
return;
|
||||
}
|
||||
$newuid = self::lastInsertId();
|
||||
|
|
@ -218,7 +218,7 @@ class UserImport
|
|||
}
|
||||
}
|
||||
if ($errorcount > 0) {
|
||||
notice(DI::l10n()->tt("%d contact not imported", "%d contacts not imported", $errorcount));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->tt("%d contact not imported", "%d contacts not imported", $errorcount));
|
||||
}
|
||||
|
||||
foreach ($account['group'] as &$group) {
|
||||
|
|
@ -271,7 +271,7 @@ class UserImport
|
|||
|
||||
if ($r === false) {
|
||||
Logger::warning("uimport:insert profile: ERROR : " . DBA::errorMessage());
|
||||
notice(DI::l10n()->t("User profile creation error"));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("User profile creation error"));
|
||||
DBA::delete('user', ['uid' => $newuid]);
|
||||
DBA::delete('profile_field', ['uid' => $newuid]);
|
||||
return;
|
||||
|
|
@ -322,9 +322,9 @@ class UserImport
|
|||
}
|
||||
|
||||
// send relocate messages
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $newuid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, $newuid);
|
||||
|
||||
info(DI::l10n()->t("Done. You can now login with your username and password"));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t("Done. You can now login with your username and password"));
|
||||
DI::baseUrl()->redirect('login');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,12 +31,20 @@ use Friendica\Util\DateTimeFormat;
|
|||
*/
|
||||
class Worker
|
||||
{
|
||||
const PRIORITY_UNDEFINED = PRIORITY_UNDEFINED;
|
||||
const PRIORITY_CRITICAL = PRIORITY_CRITICAL;
|
||||
const PRIORITY_HIGH = PRIORITY_HIGH;
|
||||
const PRIORITY_MEDIUM = PRIORITY_MEDIUM;
|
||||
const PRIORITY_LOW = PRIORITY_LOW;
|
||||
const PRIORITY_NEGLIGIBLE = PRIORITY_NEGLIGIBLE;
|
||||
/**
|
||||
* @name Priority
|
||||
*
|
||||
* Process priority for the worker
|
||||
* @{
|
||||
*/
|
||||
const PRIORITY_UNDEFINED = 0;
|
||||
const PRIORITY_CRITICAL = 10;
|
||||
const PRIORITY_HIGH = 20;
|
||||
const PRIORITY_MEDIUM = 30;
|
||||
const PRIORITY_LOW = 40;
|
||||
const PRIORITY_NEGLIGIBLE = 50;
|
||||
const PRIORITIES = [self::PRIORITY_CRITICAL, self::PRIORITY_HIGH, self::PRIORITY_MEDIUM, self::PRIORITY_LOW, self::PRIORITY_NEGLIGIBLE];
|
||||
/* @}*/
|
||||
|
||||
const STATE_STARTUP = 1; // Worker is in startup. This takes most time.
|
||||
const STATE_LONG_LOOP = 2; // Worker is processing the whole - long - loop.
|
||||
|
|
@ -807,7 +815,7 @@ class Worker
|
|||
$top_priority = self::highestPriority();
|
||||
$high_running = self::processWithPriorityActive($top_priority);
|
||||
|
||||
if (!$high_running && ($top_priority > PRIORITY_UNDEFINED) && ($top_priority < PRIORITY_NEGLIGIBLE)) {
|
||||
if (!$high_running && ($top_priority > self::PRIORITY_UNDEFINED) && ($top_priority < self::PRIORITY_NEGLIGIBLE)) {
|
||||
Logger::info('Jobs with a higher priority are waiting but none is executed. Open a fastlane.', ['priority' => $top_priority]);
|
||||
$queues = $active + 1;
|
||||
}
|
||||
|
|
@ -939,7 +947,7 @@ class Worker
|
|||
private static function nextPriority()
|
||||
{
|
||||
$waiting = [];
|
||||
$priorities = [PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_MEDIUM, PRIORITY_LOW, PRIORITY_NEGLIGIBLE];
|
||||
$priorities = [self::PRIORITY_CRITICAL, self::PRIORITY_HIGH, self::PRIORITY_MEDIUM, self::PRIORITY_LOW, self::PRIORITY_NEGLIGIBLE];
|
||||
foreach ($priorities as $priority) {
|
||||
$stamp = (float)microtime(true);
|
||||
if (DBA::exists('workerqueue', ["`priority` = ? AND `pid` = 0 AND NOT `done` AND `next_try` < ?", $priority, DateTimeFormat::utcNow()])) {
|
||||
|
|
@ -948,8 +956,8 @@ class Worker
|
|||
self::$db_duration += (microtime(true) - $stamp);
|
||||
}
|
||||
|
||||
if (!empty($waiting[PRIORITY_CRITICAL])) {
|
||||
return PRIORITY_CRITICAL;
|
||||
if (!empty($waiting[self::PRIORITY_CRITICAL])) {
|
||||
return self::PRIORITY_CRITICAL;
|
||||
}
|
||||
|
||||
$running = [];
|
||||
|
|
@ -1206,8 +1214,8 @@ class Worker
|
|||
* @param (integer|array) priority or parameter array, strings are deprecated and are ignored
|
||||
*
|
||||
* next args are passed as $cmd command line
|
||||
* or: Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::DELETION, $drop_id);
|
||||
* or: Worker::add(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), 'Delivery', $post_id);
|
||||
* or: Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::DELETION, $drop_id);
|
||||
* or: Worker::add(array('priority' => Worker::PRIORITY_HIGH, 'dont_fork' => true), 'Delivery', $post_id);
|
||||
*
|
||||
* @return int '0' if worker queue entry already existed or there had been an error, otherwise the ID of the worker task
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
|
|
@ -1230,7 +1238,7 @@ class Worker
|
|||
return 1;
|
||||
}
|
||||
|
||||
$priority = PRIORITY_MEDIUM;
|
||||
$priority = self::PRIORITY_MEDIUM;
|
||||
// Don't fork from frontend tasks by default
|
||||
$dont_fork = DI::config()->get('system', 'worker_dont_fork', false) || !DI::mode()->isBackend();
|
||||
$created = DateTimeFormat::utcNow();
|
||||
|
|
@ -1266,9 +1274,9 @@ class Worker
|
|||
$found = DBA::exists('workerqueue', ['command' => $command, 'parameter' => $parameters, 'done' => false]);
|
||||
$added = 0;
|
||||
|
||||
if (!is_int($priority) || !in_array($priority, PRIORITIES)) {
|
||||
if (!is_int($priority) || !in_array($priority, self::PRIORITIES)) {
|
||||
Logger::warning('Invalid priority', ['priority' => $priority, 'command' => $command, 'callstack' => System::callstack(20)]);
|
||||
$priority = PRIORITY_MEDIUM;
|
||||
$priority = self::PRIORITY_MEDIUM;
|
||||
}
|
||||
|
||||
// Quit if there was a database error - a precaution for the update process to 3.5.3
|
||||
|
|
@ -1383,12 +1391,12 @@ class Worker
|
|||
$delay = (($new_retrial + 2) ** 4) + (rand(1, 30) * ($new_retrial));
|
||||
$next = DateTimeFormat::utc('now + ' . $delay . ' seconds');
|
||||
|
||||
if (($priority < PRIORITY_MEDIUM) && ($new_retrial > 3)) {
|
||||
$priority = PRIORITY_MEDIUM;
|
||||
} elseif (($priority < PRIORITY_LOW) && ($new_retrial > 6)) {
|
||||
$priority = PRIORITY_LOW;
|
||||
} elseif (($priority < PRIORITY_NEGLIGIBLE) && ($new_retrial > 8)) {
|
||||
$priority = PRIORITY_NEGLIGIBLE;
|
||||
if (($priority < self::PRIORITY_MEDIUM) && ($new_retrial > 3)) {
|
||||
$priority = self::PRIORITY_MEDIUM;
|
||||
} elseif (($priority < self::PRIORITY_LOW) && ($new_retrial > 6)) {
|
||||
$priority = self::PRIORITY_LOW;
|
||||
} elseif (($priority < self::PRIORITY_NEGLIGIBLE) && ($new_retrial > 8)) {
|
||||
$priority = self::PRIORITY_NEGLIGIBLE;
|
||||
}
|
||||
|
||||
Logger::info('Deferred task', ['id' => $id, 'retrial' => $new_retrial, 'created' => $queue['created'], 'next_execution' => $next, 'old_prio' => $queue['priority'], 'new_prio' => $priority]);
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ class Cron
|
|||
Logger::info('Add cron entries');
|
||||
|
||||
// Check for spooled items
|
||||
Worker::add(['priority' => PRIORITY_HIGH, 'force_priority' => true], 'SpoolPost');
|
||||
Worker::add(['priority' => Worker::PRIORITY_HIGH, 'force_priority' => true], 'SpoolPost');
|
||||
|
||||
// Run the cron job that calls all other jobs
|
||||
Worker::add(['priority' => PRIORITY_MEDIUM, 'force_priority' => true], 'Cron');
|
||||
Worker::add(['priority' => Worker::PRIORITY_MEDIUM, 'force_priority' => true], 'Cron');
|
||||
|
||||
// Cleaning dead processes
|
||||
self::killStaleWorkers();
|
||||
|
|
@ -112,12 +112,12 @@ class Cron
|
|||
// To avoid a blocking situation we reschedule the process at the beginning of the queue.
|
||||
// Additionally we are lowering the priority. (But not PRIORITY_CRITICAL)
|
||||
$new_priority = $entry['priority'];
|
||||
if ($entry['priority'] == PRIORITY_HIGH) {
|
||||
$new_priority = PRIORITY_MEDIUM;
|
||||
} elseif ($entry['priority'] == PRIORITY_MEDIUM) {
|
||||
$new_priority = PRIORITY_LOW;
|
||||
} elseif ($entry['priority'] != PRIORITY_CRITICAL) {
|
||||
$new_priority = PRIORITY_NEGLIGIBLE;
|
||||
if ($entry['priority'] == Worker::PRIORITY_HIGH) {
|
||||
$new_priority = Worker::PRIORITY_MEDIUM;
|
||||
} elseif ($entry['priority'] == Worker::PRIORITY_MEDIUM) {
|
||||
$new_priority = Worker::PRIORITY_LOW;
|
||||
} elseif ($entry['priority'] != Worker::PRIORITY_CRITICAL) {
|
||||
$new_priority = Worker::PRIORITY_NEGLIGIBLE;
|
||||
}
|
||||
DBA::update('workerqueue', ['executed' => DBA::NULL_DATETIME, 'created' => DateTimeFormat::utcNow(), 'priority' => $new_priority, 'pid' => 0], ['id' => $entry["id"]]
|
||||
);
|
||||
|
|
@ -166,13 +166,13 @@ class Cron
|
|||
Logger::info('Directly deliver inbox', ['inbox' => $delivery['inbox'], 'result' => $result['success']]);
|
||||
continue;
|
||||
} elseif ($delivery['failed'] < 3) {
|
||||
$priority = PRIORITY_HIGH;
|
||||
$priority = Worker::PRIORITY_HIGH;
|
||||
} elseif ($delivery['failed'] < 6) {
|
||||
$priority = PRIORITY_MEDIUM;
|
||||
$priority = Worker::PRIORITY_MEDIUM;
|
||||
} elseif ($delivery['failed'] < 8) {
|
||||
$priority = PRIORITY_LOW;
|
||||
$priority = Worker::PRIORITY_LOW;
|
||||
} else {
|
||||
$priority = PRIORITY_NEGLIGIBLE;
|
||||
$priority = Worker::PRIORITY_NEGLIGIBLE;
|
||||
}
|
||||
|
||||
if ($delivery['failed'] >= DI::config()->get('system', 'worker_defer_limit')) {
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ class DBStructure
|
|||
echo DI::l10n()->t("\nError %d occurred during database update:\n%s\n",
|
||||
DBA::errorNo(), DBA::errorMessage());
|
||||
|
||||
return DI::l10n()->t('Errors encountered performing database changes: ') . $message . EOL;
|
||||
return DI::l10n()->t('Errors encountered performing database changes: ') . $message . '<br />';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ use PDO;
|
|||
use PDOException;
|
||||
use PDOStatement;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
|
||||
/**
|
||||
* This class is for the low level database stuff that does driver specific things.
|
||||
|
|
@ -80,15 +81,17 @@ class Database
|
|||
/** @var ViewDefinition */
|
||||
protected $viewDefinition;
|
||||
|
||||
public function __construct(Cache $configCache, Profiler $profiler, DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition, LoggerInterface $logger)
|
||||
public function __construct(Cache $configCache, Profiler $profiler, DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
|
||||
{
|
||||
// We are storing these values for being able to perform a reconnect
|
||||
$this->configCache = $configCache;
|
||||
$this->profiler = $profiler;
|
||||
$this->logger = $logger;
|
||||
$this->dbaDefinition = $dbaDefinition;
|
||||
$this->viewDefinition = $viewDefinition;
|
||||
|
||||
// Temporary NullLogger until we can fetch the logger class from the config
|
||||
$this->logger = new NullLogger();
|
||||
|
||||
$this->connect();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ class Contact
|
|||
|
||||
// Update the contact in the background if needed
|
||||
if (Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
|
||||
Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
Worker::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
}
|
||||
|
||||
// Remove the internal fields
|
||||
|
|
@ -884,7 +884,7 @@ class Contact
|
|||
}
|
||||
|
||||
// Delete it in the background
|
||||
Worker::add(PRIORITY_MEDIUM, 'Contact\Remove', $id);
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'Contact\Remove', $id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -908,7 +908,7 @@ class Contact
|
|||
if (in_array($contact['rel'], [self::SHARING, self::FRIEND])) {
|
||||
$cdata = self::getPublicAndUserContactID($contact['id'], $contact['uid']);
|
||||
if (!empty($cdata['public'])) {
|
||||
Worker::add(PRIORITY_HIGH, 'Contact\Unfollow', $cdata['public'], $contact['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Contact\Unfollow', $cdata['public'], $contact['uid']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -938,7 +938,7 @@ class Contact
|
|||
if (in_array($contact['rel'], [self::FOLLOWER, self::FRIEND])) {
|
||||
$cdata = self::getPublicAndUserContactID($contact['id'], $contact['uid']);
|
||||
if (!empty($cdata['public'])) {
|
||||
Worker::add(PRIORITY_HIGH, 'Contact\RevokeFollow', $cdata['public'], $contact['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Contact\RevokeFollow', $cdata['public'], $contact['uid']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -966,11 +966,11 @@ class Contact
|
|||
$cdata = self::getPublicAndUserContactID($contact['id'], $contact['uid']);
|
||||
|
||||
if (in_array($contact['rel'], [self::SHARING, self::FRIEND]) && !empty($cdata['public'])) {
|
||||
Worker::add(PRIORITY_HIGH, 'Contact\Unfollow', $cdata['public'], $contact['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Contact\Unfollow', $cdata['public'], $contact['uid']);
|
||||
}
|
||||
|
||||
if (in_array($contact['rel'], [self::FOLLOWER, self::FRIEND]) && !empty($cdata['public'])) {
|
||||
Worker::add(PRIORITY_HIGH, 'Contact\RevokeFollow', $cdata['public'], $contact['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Contact\RevokeFollow', $cdata['public'], $contact['uid']);
|
||||
}
|
||||
|
||||
self::remove($contact['id']);
|
||||
|
|
@ -1248,7 +1248,7 @@ class Contact
|
|||
$contact_id = $contact['id'];
|
||||
|
||||
if (Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
|
||||
Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
Worker::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
}
|
||||
|
||||
if (empty($update) && (!empty($contact['uri-id']) || is_bool($update))) {
|
||||
|
|
@ -2365,7 +2365,7 @@ class Contact
|
|||
return;
|
||||
}
|
||||
Logger::warning('account-user exists for a different contact id', ['account_user' => $account_user, 'id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]);
|
||||
Worker::add(PRIORITY_HIGH, 'MergeContact', $account_user['id'], $id, $uid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'MergeContact', $account_user['id'], $id, $uid);
|
||||
} elseif (DBA::insert('account-user', ['id' => $id, 'uri-id' => $uri_id, 'uid' => $uid], Database::INSERT_IGNORE)) {
|
||||
Logger::notice('account-user was added', ['id' => $id, 'uid' => $uid, 'uri-id' => $uri_id, 'url' => $url]);
|
||||
} else {
|
||||
|
|
@ -2406,7 +2406,7 @@ class Contact
|
|||
continue;
|
||||
}
|
||||
|
||||
Worker::add(PRIORITY_HIGH, 'MergeContact', $first, $duplicate['id'], $uid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'MergeContact', $first, $duplicate['id'], $uid);
|
||||
}
|
||||
DBA::close($duplicates);
|
||||
Logger::info('Duplicates handled', ['uid' => $uid, 'nurl' => $nurl, 'callstack' => System::callstack(20)]);
|
||||
|
|
@ -2608,7 +2608,7 @@ class Contact
|
|||
if ($ret['network'] == Protocol::ACTIVITYPUB) {
|
||||
$apcontact = APContact::getByURL($ret['url'], false);
|
||||
if (!empty($apcontact['featured'])) {
|
||||
Worker::add(PRIORITY_LOW, 'FetchFeaturedPosts', $ret['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'FetchFeaturedPosts', $ret['url']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2649,7 +2649,7 @@ class Contact
|
|||
self::updateContact($id, $uid, $uriid, $contact['url'], ['failed' => false, 'local-data' => $has_local_data, 'last-update' => $updated, 'next-update' => $success_next_update, 'success_update' => $updated]);
|
||||
|
||||
if (Contact\Relation::isDiscoverable($ret['url'])) {
|
||||
Worker::add(PRIORITY_LOW, 'ContactDiscovery', $ret['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ContactDiscovery', $ret['url']);
|
||||
}
|
||||
|
||||
// Update the public contact
|
||||
|
|
@ -2693,7 +2693,7 @@ class Contact
|
|||
self::updateContact($id, $uid, $ret['uri-id'], $ret['url'], $ret);
|
||||
|
||||
if (Contact\Relation::isDiscoverable($ret['url'])) {
|
||||
Worker::add(PRIORITY_LOW, 'ContactDiscovery', $ret['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ContactDiscovery', $ret['url']);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -2853,30 +2853,30 @@ class Contact
|
|||
|
||||
// do we have enough information?
|
||||
if (empty($protocol) || ($protocol == Protocol::PHANTOM) || (empty($ret['url']) && empty($ret['addr']))) {
|
||||
$result['message'] .= DI::l10n()->t('The profile address specified does not provide adequate information.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('The profile address specified does not provide adequate information.') . '<br />';
|
||||
if (empty($ret['poll'])) {
|
||||
$result['message'] .= DI::l10n()->t('No compatible communication protocols or feeds were discovered.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('No compatible communication protocols or feeds were discovered.') . '<br />';
|
||||
}
|
||||
if (empty($ret['name'])) {
|
||||
$result['message'] .= DI::l10n()->t('An author or name was not found.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('An author or name was not found.') . '<br />';
|
||||
}
|
||||
if (empty($ret['url'])) {
|
||||
$result['message'] .= DI::l10n()->t('No browser URL could be matched to this address.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('No browser URL could be matched to this address.') . '<br />';
|
||||
}
|
||||
if (strpos($ret['url'], '@') !== false) {
|
||||
$result['message'] .= DI::l10n()->t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('Use mailto: in front of address to force email check.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('Unable to match @-style Identity Address with a known protocol or email contact.') . '<br />';
|
||||
$result['message'] .= DI::l10n()->t('Use mailto: in front of address to force email check.') . '<br />';
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
if ($protocol === Protocol::OSTATUS && DI::config()->get('system', 'ostatus_disabled')) {
|
||||
$result['message'] .= DI::l10n()->t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('The profile address specified belongs to a network which has been disabled on this site.') . '<br />';
|
||||
$ret['notify'] = '';
|
||||
}
|
||||
|
||||
if (!$ret['notify']) {
|
||||
$result['message'] .= DI::l10n()->t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . '<br />';
|
||||
}
|
||||
|
||||
$writeable = ((($protocol === Protocol::OSTATUS) && ($ret['notify'])) ? 1 : 0);
|
||||
|
|
@ -2935,7 +2935,7 @@ class Contact
|
|||
|
||||
$contact = DBA::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $uid]);
|
||||
if (!DBA::isResult($contact)) {
|
||||
$result['message'] .= DI::l10n()->t('Unable to retrieve contact information.') . EOL;
|
||||
$result['message'] .= DI::l10n()->t('Unable to retrieve contact information.') . '<br />';
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
|
@ -2949,13 +2949,13 @@ class Contact
|
|||
|
||||
// pull feed and consume it, which should subscribe to the hub.
|
||||
if ($contact['network'] == Protocol::OSTATUS) {
|
||||
Worker::add(PRIORITY_HIGH, 'OnePoll', $contact_id, 'force');
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'OnePoll', $contact_id, 'force');
|
||||
}
|
||||
|
||||
if ($probed) {
|
||||
self::updateFromProbeArray($contact_id, $ret);
|
||||
} else {
|
||||
Worker::add(PRIORITY_HIGH, 'UpdateContact', $contact_id);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'UpdateContact', $contact_id);
|
||||
}
|
||||
|
||||
$result['success'] = Protocol::follow($uid, $contact, $protocol);
|
||||
|
|
@ -3407,10 +3407,10 @@ class Contact
|
|||
}
|
||||
$contact = self::getByURL($url, false, ['id', 'network', 'next-update']);
|
||||
if (empty($contact['id']) && Network::isValidHttpUrl($url)) {
|
||||
Worker::add(PRIORITY_LOW, 'AddContact', 0, $url);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'AddContact', 0, $url);
|
||||
++$added;
|
||||
} elseif (!empty($contact['network']) && Probe::isProbable($contact['network']) && ($contact['next-update'] < DateTimeFormat::utcNow())) {
|
||||
Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
Worker::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], 'UpdateContact', $contact['id']);
|
||||
++$updated;
|
||||
} else {
|
||||
++$unchanged;
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class FContact
|
|||
$update = empty($person['guid']) || empty($person['uri-id']) || ($person['created'] <= DBA::NULL_DATETIME);
|
||||
if (GServer::getNextUpdateDate(true, $person['created'], $person['updated'], false) < DateTimeFormat::utcNow()) {
|
||||
Logger::debug('Start background update', ['handle' => $handle]);
|
||||
Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], 'UpdateFContact', $handle);
|
||||
Worker::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], 'UpdateFContact', $handle);
|
||||
}
|
||||
}
|
||||
} elseif (is_null($update)) {
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ class GServer
|
|||
return;
|
||||
}
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'UpdateGServer', $url, $only_nodeinfo);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateGServer', $url, $only_nodeinfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -2108,10 +2108,10 @@ class GServer
|
|||
|
||||
while ($gserver = DBA::fetch($gservers)) {
|
||||
Logger::info('Update peer list', ['server' => $gserver['url'], 'id' => $gserver['id']]);
|
||||
Worker::add(PRIORITY_LOW, 'UpdateServerPeers', $gserver['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateServerPeers', $gserver['url']);
|
||||
|
||||
Logger::info('Update directory', ['server' => $gserver['url'], 'id' => $gserver['id']]);
|
||||
Worker::add(PRIORITY_LOW, 'UpdateServerDirectory', $gserver);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateServerDirectory', $gserver);
|
||||
|
||||
$fields = ['last_poco_query' => DateTimeFormat::utcNow()];
|
||||
self::update($fields, ['nurl' => $gserver['nurl']]);
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ class Group
|
|||
$group = DBA::selectFirst('group', ['deleted'], ['id' => $gid]);
|
||||
if (DBA::isResult($group) && $group['deleted']) {
|
||||
DBA::update('group', ['deleted' => 0], ['id' => $gid]);
|
||||
notice(DI::l10n()->t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.'));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ class Item
|
|||
'commented', 'created', 'edited', 'received', 'verb', 'object-type', 'postopts', 'plink',
|
||||
'wall', 'private', 'starred', 'origin', 'parent-origin', 'title', 'body', 'language',
|
||||
'content-warning', 'location', 'coord', 'app', 'rendered-hash', 'rendered-html', 'object',
|
||||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'mention', 'global',
|
||||
'quote-uri', 'quote-uri-id', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'mention', 'global',
|
||||
'author-id', 'author-link', 'author-name', 'author-avatar', 'author-network', 'author-updated', 'author-gsid', 'author-addr', 'author-uri-id',
|
||||
'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'owner-network', 'owner-contact-type', 'owner-updated',
|
||||
'causer-id', 'causer-link', 'causer-name', 'causer-avatar', 'causer-contact-type', 'causer-network',
|
||||
|
|
@ -115,7 +115,7 @@ class Item
|
|||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
|
||||
'author-id', 'author-link', 'author-name', 'author-avatar', 'owner-id', 'owner-link', 'contact-uid',
|
||||
'signed_text', 'network', 'wall', 'contact-id', 'plink', 'origin',
|
||||
'thr-parent-id', 'parent-uri-id', 'postopts', 'pubmail',
|
||||
'thr-parent-id', 'parent-uri-id', 'quote-uri', 'quote-uri-id', 'postopts', 'pubmail',
|
||||
'event-created', 'event-edited', 'event-start', 'event-finish',
|
||||
'event-summary', 'event-desc', 'event-location', 'event-type',
|
||||
'event-nofinish', 'event-ignore', 'event-id'];
|
||||
|
|
@ -123,7 +123,7 @@ class Item
|
|||
// All fields in the item table
|
||||
const ITEM_FIELDLIST = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent',
|
||||
'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id', 'conversation', 'vid',
|
||||
'contact-id', 'wall', 'gravity', 'extid', 'psid',
|
||||
'quote-uri', 'quote-uri-id', 'contact-id', 'wall', 'gravity', 'extid', 'psid',
|
||||
'created', 'edited', 'commented', 'received', 'changed', 'verb',
|
||||
'postopts', 'plink', 'resource-id', 'event-id', 'inform',
|
||||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'post-type', 'post-reason',
|
||||
|
|
@ -238,7 +238,7 @@ class Item
|
|||
|
||||
foreach ($notify_items as $notify_item) {
|
||||
$post = Post::selectFirst(['uri-id', 'uid'], ['id' => $notify_item]);
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::POST, (int)$post['uri-id'], (int)$post['uid']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::POST, (int)$post['uri-id'], (int)$post['uid']);
|
||||
}
|
||||
|
||||
return $rows;
|
||||
|
|
@ -252,7 +252,7 @@ class Item
|
|||
* @return void
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function markForDeletion(array $condition, int $priority = PRIORITY_HIGH)
|
||||
public static function markForDeletion(array $condition, int $priority = Worker::PRIORITY_HIGH)
|
||||
{
|
||||
$items = Post::select(['id'], $condition);
|
||||
while ($item = Post::fetch($items)) {
|
||||
|
|
@ -283,7 +283,7 @@ class Item
|
|||
}
|
||||
|
||||
if ($item['uid'] == $uid) {
|
||||
self::markForDeletionById($item['id'], PRIORITY_HIGH);
|
||||
self::markForDeletionById($item['id'], Worker::PRIORITY_HIGH);
|
||||
} elseif ($item['uid'] != 0) {
|
||||
Logger::warning('Wrong ownership. Not deleting item', ['id' => $item['id']]);
|
||||
}
|
||||
|
|
@ -299,7 +299,7 @@ class Item
|
|||
* @return boolean success
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function markForDeletionById(int $item_id, int $priority = PRIORITY_HIGH): bool
|
||||
public static function markForDeletionById(int $item_id, int $priority = Worker::PRIORITY_HIGH): bool
|
||||
{
|
||||
Logger::info('Mark item for deletion by id', ['id' => $item_id, 'callstack' => System::callstack()]);
|
||||
// locate item to be deleted
|
||||
|
|
@ -822,7 +822,7 @@ class Item
|
|||
{
|
||||
$orig_item = $item;
|
||||
|
||||
$priority = PRIORITY_HIGH;
|
||||
$priority = Worker::PRIORITY_HIGH;
|
||||
|
||||
// If it is a posting where users should get notifications, then define it as wall posting
|
||||
if ($notify) {
|
||||
|
|
@ -832,7 +832,7 @@ class Item
|
|||
$item['protocol'] = Conversation::PARCEL_DIRECT;
|
||||
$item['direction'] = Conversation::PUSH;
|
||||
|
||||
if (is_int($notify) && in_array($notify, PRIORITIES)) {
|
||||
if (is_int($notify) && in_array($notify, Worker::PRIORITIES)) {
|
||||
$priority = $notify;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1125,6 +1125,13 @@ class Item
|
|||
$item['raw-body'] = Post\Media::insertFromBody($item['uri-id'], $item['raw-body']);
|
||||
$item['raw-body'] = self::setHashtags($item['raw-body']);
|
||||
|
||||
$quote_id = self::getQuoteUriId($item['body']);
|
||||
|
||||
if (!empty($quote_id) && Post::exists(['uri-id' => $quote_id, 'network' => Protocol::FEDERATED])) {
|
||||
$item['quote-uri-id'] = $quote_id;
|
||||
$item['raw-body'] = BBCode::removeSharedData($item['raw-body']);
|
||||
}
|
||||
|
||||
if (!DBA::exists('contact', ['id' => $item['author-id'], 'network' => Protocol::DFRN])) {
|
||||
Post\Media::insertFromRelevantUrl($item['uri-id'], $item['raw-body']);
|
||||
}
|
||||
|
|
@ -2945,17 +2952,44 @@ class Item
|
|||
$body = $item['body'] ?? '';
|
||||
$shared = BBCode::fetchShareAttributes($body);
|
||||
if (!empty($shared['guid'])) {
|
||||
$shared_item = Post::selectFirst(['uri-id', 'plink', 'has-media'], ['guid' => $shared['guid']]);
|
||||
$shared_uri_id = $shared_item['uri-id'] ?? 0;
|
||||
$shared_links = [strtolower($shared_item['plink'] ?? '')];
|
||||
$shared_attachments = Post\Media::splitAttachments($shared_uri_id, $shared['guid'], [], $shared_item['has-media'] ?? false);
|
||||
$shared_item = Post::selectFirst(['uri-id', 'guid', 'plink', 'has-media'], ['guid' => $shared['guid'], 'uid' => [$item['uid'], 0]]);
|
||||
}
|
||||
|
||||
$fields = ['uri-id', 'uri', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink', 'network', 'has-media'];
|
||||
|
||||
$shared_uri_id = 0;
|
||||
$shared_links = [];
|
||||
|
||||
if (empty($shared_item['uri-id']) && !empty($item['quote-uri-id'])) {
|
||||
$shared_item = Post::selectFirst($fields, ['uri-id' => $item['quote-uri-id']]);
|
||||
$quote_uri_id = $item['quote-uri-id'] ?? 0;
|
||||
$shared_links[] = strtolower($item['quote-uri']);
|
||||
} elseif (empty($shared_item['uri-id']) && empty($item['quote-uri-id'])) {
|
||||
$media = Post\Media::getByURIId($item['uri-id'], [Post\Media::ACTIVITY]);
|
||||
if (!empty($media)) {
|
||||
$shared_item = Post::selectFirst($fields, ['plink' => $media[0]['url'], 'uid' => [$item['uid'], 0]]);
|
||||
|
||||
if (empty($shared_item['uri-id'])) {
|
||||
$shared_item = Post::selectFirst($fields, ['uri' => $media[0]['url'], 'uid' => [$item['uid'], 0]]);
|
||||
$shared_links[] = strtolower($media[0]['url']);
|
||||
}
|
||||
|
||||
$quote_uri_id = $shared_item['uri-id'] ?? 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($quote_uri_id)) {
|
||||
$item['body'] .= "\n" . DI::contentItem()->createSharedBlockByArray($shared_item);
|
||||
}
|
||||
|
||||
if (!empty($shared_item['uri-id'])) {
|
||||
$shared_uri_id = $shared_item['uri-id'];
|
||||
$shared_links[] = strtolower($shared_item['plink']);
|
||||
$shared_attachments = Post\Media::splitAttachments($shared_uri_id, $shared_item['guid'], [], $shared_item['has-media']);
|
||||
$shared_links = array_merge($shared_links, array_column($shared_attachments['visual'], 'url'));
|
||||
$shared_links = array_merge($shared_links, array_column($shared_attachments['link'], 'url'));
|
||||
$shared_links = array_merge($shared_links, array_column($shared_attachments['additional'], 'url'));
|
||||
$item['body'] = self::replaceVisualAttachments($shared_attachments, $item['body']);
|
||||
} else {
|
||||
$shared_uri_id = 0;
|
||||
$shared_links = [];
|
||||
}
|
||||
|
||||
$attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'] ?? '', $shared_links, $item['has-media'] ?? false);
|
||||
|
|
@ -3277,7 +3311,7 @@ class Item
|
|||
}
|
||||
DI::profiler()->stopRecording();
|
||||
|
||||
if (isset($data['url']) && !in_array($data['url'], $ignore_links)) {
|
||||
if (isset($data['url']) && !in_array(strtolower($data['url']), $ignore_links)) {
|
||||
if (!empty($data['description']) || !empty($data['image']) || !empty($data['preview'])) {
|
||||
$parts = parse_url($data['url']);
|
||||
if (!empty($parts['scheme']) && !empty($parts['host'])) {
|
||||
|
|
@ -3611,9 +3645,10 @@ class Item
|
|||
* Improve the data in shared posts
|
||||
*
|
||||
* @param array $item
|
||||
* @param bool $add_media
|
||||
* @return string body
|
||||
*/
|
||||
public static function improveSharedDataInBody(array $item): string
|
||||
public static function improveSharedDataInBody(array $item, bool $add_media = false): string
|
||||
{
|
||||
$shared = BBCode::fetchShareAttributes($item['body']);
|
||||
if (empty($shared['guid']) && empty($shared['message_id'])) {
|
||||
|
|
@ -3623,7 +3658,7 @@ class Item
|
|||
$link = $shared['link'] ?: $shared['message_id'];
|
||||
|
||||
if (empty($shared_content)) {
|
||||
$shared_content = DI::contentItem()->createSharedPostByUrl($link, $item['uid'] ?? 0);
|
||||
$shared_content = DI::contentItem()->createSharedPostByUrl($link, $item['uid'] ?? 0, $add_media);
|
||||
}
|
||||
|
||||
if (empty($shared_content)) {
|
||||
|
|
@ -3635,4 +3670,19 @@ class Item
|
|||
Logger::debug('New shared data', ['uri-id' => $item['uri-id'], 'link' => $link, 'guid' => $item['guid']]);
|
||||
return $item['body'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the uri-id of a quote
|
||||
*
|
||||
* @param string $body
|
||||
* @return integer
|
||||
*/
|
||||
private static function getQuoteUriId(string $body): int
|
||||
{
|
||||
$shared = BBCode::fetchShareAttributes($body);
|
||||
if (empty($shared['message_id'])) {
|
||||
return 0;
|
||||
}
|
||||
return ItemURI::getIdByURI($shared['message_id']);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ class Mail
|
|||
}
|
||||
|
||||
if ($post_id) {
|
||||
Worker::add(PRIORITY_HIGH, "Notifier", Delivery::MAIL, $post_id);
|
||||
Worker::add(Worker::PRIORITY_HIGH, "Notifier", Delivery::MAIL, $post_id);
|
||||
return intval($post_id);
|
||||
} else {
|
||||
return -3;
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ class Delayed
|
|||
|
||||
Logger::notice('Adding post for delayed publishing', ['uid' => $item['uid'], 'delayed' => $delayed, 'uri' => $uri]);
|
||||
|
||||
$wid = Worker::add(['priority' => PRIORITY_HIGH, 'delayed' => $delayed], 'DelayedPublish', $item, $notify, $taglist, $attachments, $preparation_mode, $uri);
|
||||
$wid = Worker::add(['priority' => Worker::PRIORITY_HIGH, 'delayed' => $delayed], 'DelayedPublish', $item, $notify, $taglist, $attachments, $preparation_mode, $uri);
|
||||
if (!$wid) {
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,10 +23,12 @@ namespace Friendica\Model\Post;
|
|||
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Photo;
|
||||
use Friendica\Model\Post;
|
||||
|
|
@ -56,6 +58,7 @@ class Media
|
|||
const HTML = 17;
|
||||
const XML = 18;
|
||||
const PLAIN = 19;
|
||||
const ACTIVITY = 20;
|
||||
const DOCUMENT = 128;
|
||||
|
||||
/**
|
||||
|
|
@ -215,6 +218,10 @@ class Media
|
|||
$media = self::addType($media);
|
||||
}
|
||||
|
||||
if (in_array($media['type'], [self::TEXT, self::APPLICATION, self::HTML, self::XML, self::PLAIN])) {
|
||||
$media = self::addActivity($media);
|
||||
}
|
||||
|
||||
if ($media['type'] == self::HTML) {
|
||||
$data = ParseUrl::getSiteinfoCached($media['url'], false);
|
||||
$media['preview'] = $data['images'][0]['src'] ?? null;
|
||||
|
|
@ -232,6 +239,65 @@ class Media
|
|||
return $media;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the activity type if the media entry is linked to an activity
|
||||
*
|
||||
* @param array $media
|
||||
* @return array
|
||||
*/
|
||||
private static function addActivity(array $media): array
|
||||
{
|
||||
$id = Item::fetchByLink($media['url']);
|
||||
if (empty($id)) {
|
||||
return $media;
|
||||
}
|
||||
|
||||
$item = Post::selectFirst([], ['id' => $id, 'network' => Protocol::FEDERATED]);
|
||||
if (empty($item['id'])) {
|
||||
Logger::debug('Not a federated activity', ['id' => $id, 'uri-id' => $media['uri-id'], 'url' => $media['url']]);
|
||||
return $media;
|
||||
}
|
||||
|
||||
if (!empty($item['plink']) && Strings::compareLink($item['plink'], $media['url']) &&
|
||||
parse_url($item['plink'], PHP_URL_HOST) != parse_url($item['uri'], PHP_URL_HOST)) {
|
||||
Logger::debug('Not a link to an activity', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]);
|
||||
return $media;
|
||||
}
|
||||
|
||||
if (in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN])) {
|
||||
$media['mimetype'] = 'application/activity+json';
|
||||
} elseif ($item['network'] == Protocol::DIASPORA) {
|
||||
$media['mimetype'] = 'application/xml';
|
||||
} else {
|
||||
$media['mimetype'] = '';
|
||||
}
|
||||
|
||||
$contact = Contact::getById($item['author-id'], ['avatar', 'gsid']);
|
||||
if (!empty($contact['gsid'])) {
|
||||
$gserver = DBA::selectFirst('gserver', ['url', 'site_name'], ['id' => $contact['gsid']]);
|
||||
}
|
||||
|
||||
$media['type'] = self::ACTIVITY;
|
||||
$media['media-uri-id'] = $item['uri-id'];
|
||||
$media['height'] = null;
|
||||
$media['width'] = null;
|
||||
$media['size'] = null;
|
||||
$media['preview'] = null;
|
||||
$media['preview-height'] = null;
|
||||
$media['preview-width'] = null;
|
||||
$media['description'] = $item['body'];
|
||||
$media['name'] = $item['title'];
|
||||
$media['author-url'] = $item['author-link'];
|
||||
$media['author-name'] = $item['author-name'];
|
||||
$media['author-image'] = $contact['avatar'] ?? $item['author-avatar'];
|
||||
$media['publisher-url'] = $gserver['url'] ?? null;
|
||||
$media['publisher-name'] = $gserver['site_name'] ?? null;
|
||||
$media['publisher-image'] = null;
|
||||
|
||||
Logger::debug('Activity detected', ['uri-id' => $media['uri-id'], 'url' => $media['url'], 'plink' => $item['plink'], 'uri' => $item['uri']]);
|
||||
return $media;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch media data from local resources
|
||||
* @param array $media
|
||||
|
|
|
|||
|
|
@ -153,11 +153,11 @@ class Profile
|
|||
if ($owner['net-publish'] || $force) {
|
||||
// Update global directory in background
|
||||
if (Search::getGlobalDirectory()) {
|
||||
Worker::add(PRIORITY_LOW, 'Directory', $owner['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory', $owner['url']);
|
||||
}
|
||||
}
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'ProfileUpdate', $uid);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ProfileUpdate', $uid);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -865,7 +865,7 @@ class Profile
|
|||
|
||||
$a->setContactId($arr['visitor']['id']);
|
||||
|
||||
info(DI::l10n()->t('OpenWebAuth: %1$s welcomes %2$s', DI::baseUrl()->getHostname(), $visitor['name']));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('OpenWebAuth: %1$s welcomes %2$s', DI::baseUrl()->getHostname(), $visitor['name']));
|
||||
|
||||
Logger::info('OpenWebAuth: auth success from ' . $visitor['addr']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class PushSubscriber
|
|||
* @return void
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function publishFeed(int $uid, int $default_priority = PRIORITY_HIGH)
|
||||
public static function publishFeed(int $uid, int $default_priority = Worker::PRIORITY_HIGH)
|
||||
{
|
||||
$condition = ['push' => 0, 'uid' => $uid];
|
||||
DBA::update('push_subscriber', ['push' => 1, 'next_try' => DBA::NULL_DATETIME], $condition);
|
||||
|
|
@ -52,7 +52,7 @@ class PushSubscriber
|
|||
* @return void
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function requeue(int $default_priority = PRIORITY_HIGH)
|
||||
public static function requeue(int $default_priority = Worker::PRIORITY_HIGH)
|
||||
{
|
||||
// We'll push to each subscriber that has push > 0,
|
||||
// i.e. there has been an update (set in notifier.php).
|
||||
|
|
@ -61,7 +61,7 @@ class PushSubscriber
|
|||
while ($subscriber = DBA::fetch($subscribers)) {
|
||||
// We always handle retries with low priority
|
||||
if ($subscriber['push'] > 1) {
|
||||
$priority = PRIORITY_LOW;
|
||||
$priority = Worker::PRIORITY_LOW;
|
||||
} else {
|
||||
$priority = $default_priority;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ class Subscription
|
|||
$subscriptions = DBA::select('subscription', [], ['uid' => $notification->uid, $type => true]);
|
||||
while ($subscription = DBA::fetch($subscriptions)) {
|
||||
Logger::info('Push notification', ['id' => $subscription['id'], 'uid' => $subscription['uid'], 'type' => $type]);
|
||||
Worker::add(PRIORITY_HIGH, 'PushSubscription', $subscription['id'], $notification->id);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'PushSubscription', $subscription['id'], $notification->id);
|
||||
}
|
||||
DBA::close($subscriptions);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -994,7 +994,7 @@ class User
|
|||
try {
|
||||
$authurl = $openid->authUrl();
|
||||
} catch (Exception $e) {
|
||||
throw new Exception(DI::l10n()->t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . EOL . EOL . DI::l10n()->t('The error message was:') . $e->getMessage(), 0, $e);
|
||||
throw new Exception(DI::l10n()->t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br />' . DI::l10n()->t('The error message was:') . $e->getMessage(), 0, $e);
|
||||
}
|
||||
System::externalRedirect($authurl);
|
||||
// NOTREACHED
|
||||
|
|
@ -1317,7 +1317,7 @@ class User
|
|||
|
||||
if (DBA::isResult($profile) && $profile['net-publish'] && Search::getGlobalDirectory()) {
|
||||
$url = DI::baseUrl() . '/profile/' . $user['nickname'];
|
||||
Worker::add(PRIORITY_LOW, "Directory", $url);
|
||||
Worker::add(Worker::PRIORITY_LOW, "Directory", $url);
|
||||
}
|
||||
|
||||
$l10n = DI::l10n()->withLang($register['language']);
|
||||
|
|
@ -1567,14 +1567,14 @@ class User
|
|||
|
||||
// The user and related data will be deleted in Friendica\Worker\ExpireAndRemoveUsers
|
||||
DBA::update('user', ['account_removed' => true, 'account_expires_on' => DateTimeFormat::utc('now + 7 day')], ['uid' => $uid]);
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::REMOVAL, $uid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::REMOVAL, $uid);
|
||||
|
||||
// Send an update to the directory
|
||||
$self = DBA::selectFirst('contact', ['url'], ['uid' => $uid, 'self' => true]);
|
||||
Worker::add(PRIORITY_LOW, 'Directory', $self['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory', $self['url']);
|
||||
|
||||
// Remove the user relevant data
|
||||
Worker::add(PRIORITY_NEGLIGIBLE, 'RemoveUser', $uid);
|
||||
Worker::add(Worker::PRIORITY_NEGLIGIBLE, 'RemoveUser', $uid);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ class Details extends BaseAdmin
|
|||
|
||||
$addon = Strings::sanitizeFilePathItem($this->parameters['addon']);
|
||||
if (!is_file("addon/$addon/$addon.php")) {
|
||||
notice(DI::l10n()->t('Addon not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Addon not found.'));
|
||||
Addon::uninstall($addon);
|
||||
DI::baseUrl()->redirect('admin/addons');
|
||||
}
|
||||
|
|
@ -73,10 +73,10 @@ class Details extends BaseAdmin
|
|||
// Toggle addon status
|
||||
if (Addon::isEnabled($addon)) {
|
||||
Addon::uninstall($addon);
|
||||
info(DI::l10n()->t('Addon %s disabled.', $addon));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Addon %s disabled.', $addon));
|
||||
} else {
|
||||
Addon::install($addon);
|
||||
info(DI::l10n()->t('Addon %s enabled.', $addon));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Addon %s enabled.', $addon));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/addons/' . $addon);
|
||||
|
|
|
|||
|
|
@ -39,18 +39,18 @@ class Index extends BaseAdmin
|
|||
switch ($_GET['action']) {
|
||||
case 'reload':
|
||||
Addon::reload();
|
||||
info(DI::l10n()->t('Addons reloaded'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Addons reloaded'));
|
||||
break;
|
||||
|
||||
case 'toggle' :
|
||||
$addon = $_GET['addon'] ?? '';
|
||||
if (Addon::isEnabled($addon)) {
|
||||
Addon::uninstall($addon);
|
||||
info(DI::l10n()->t('Addon %s disabled.', $addon));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Addon %s disabled.', $addon));
|
||||
} elseif (Addon::install($addon)) {
|
||||
info(DI::l10n()->t('Addon %s enabled.', $addon));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Addon %s enabled.', $addon));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Addon %s failed to install.', $addon));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Addon %s failed to install.', $addon));
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -46,12 +46,12 @@ class Contact extends BaseAdmin
|
|||
if (!empty($_POST['page_contactblock_block'])) {
|
||||
$contact = Model\Contact::getByURL($contact_url, null, ['id', 'nurl']);
|
||||
if (empty($contact)) {
|
||||
notice(DI::l10n()->t('Could not find any contact entry for this URL (%s)', $contact_url));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Could not find any contact entry for this URL (%s)', $contact_url));
|
||||
DI::baseUrl()->redirect('admin/blocklist/contact');
|
||||
}
|
||||
|
||||
if (Network::isLocalLink($contact['nurl'])) {
|
||||
notice(DI::l10n()->t('You can\'t block a local contact, please block the user instead'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t block a local contact, please block the user instead'));
|
||||
DI::baseUrl()->redirect('admin/blocklist/contact');
|
||||
}
|
||||
|
||||
|
|
@ -59,18 +59,18 @@ class Contact extends BaseAdmin
|
|||
|
||||
if ($block_purge) {
|
||||
foreach (Model\Contact::selectToArray(['id'], ['nurl' => $contact['nurl']]) as $contact) {
|
||||
Worker::add(PRIORITY_LOW, 'Contact\RemoveContent', $contact['id']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Contact\RemoveContent', $contact['id']);
|
||||
}
|
||||
}
|
||||
|
||||
info(DI::l10n()->t('The contact has been blocked from the node'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('The contact has been blocked from the node'));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_contactblock_unblock'])) {
|
||||
foreach ($contacts as $uid) {
|
||||
Model\Contact::unblock($uid);
|
||||
}
|
||||
info(DI::l10n()->tt('%s contact unblocked', '%s contacts unblocked', count($contacts)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s contact unblocked', '%s contacts unblocked', count($contacts)));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/blocklist/contact');
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class Add extends BaseAdmin
|
|||
if (!empty($request['purge'])) {
|
||||
$gservers = GServer::listByDomainPattern($pattern);
|
||||
foreach (Contact::selectToArray(['id'], ['gsid' => array_column($gservers, 'id')]) as $contact) {
|
||||
Worker::add(PRIORITY_LOW, 'Contact\RemoveContent', $contact['id']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Contact\RemoveContent', $contact['id']);
|
||||
}
|
||||
|
||||
$this->sysmsg->addInfo($this->l10n->tt('%s server scheduled to be purged.', '%s servers scheduled to be purged.', count($gservers)));
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class DBSync extends BaseAdmin
|
|||
DI::config()->set('system', 'build', intval($curr) + 1);
|
||||
}
|
||||
|
||||
info(DI::l10n()->t('Update has been marked successful'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Update has been marked successful'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace Friendica\Module\Admin;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
|
|
@ -202,7 +203,7 @@ class Federation extends BaseAdmin
|
|||
'$page' => DI::l10n()->t('Federation Statistics'),
|
||||
'$intro' => $intro,
|
||||
'$counts' => $counts,
|
||||
'$version' => FRIENDICA_VERSION,
|
||||
'$version' => App::VERSION,
|
||||
'$legendtext' => DI::l10n()->tt('Currently this node is aware of %2$s node (%3$s active users last month, %4$s active users last six months, %5$s registered users in total) from the following platforms:', 'Currently this node is aware of %2$s nodes (%3$s active users last month, %4$s active users last six months, %5$s registered users in total) from the following platforms:', $total, number_format($total), number_format($month), number_format($halfyear), number_format($users)),
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ class Delete extends BaseAdmin
|
|||
Item::markForDeletion(['guid' => $guid]);
|
||||
}
|
||||
|
||||
info(DI::l10n()->t('Item marked for deletion.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Item marked for deletion.'));
|
||||
DI::baseUrl()->redirect('admin/item/delete');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class Settings extends BaseAdmin
|
|||
|
||||
if (is_file($logfile) &&
|
||||
!is_writeable($logfile)) {
|
||||
notice(DI::l10n()->t('The logfile \'%s\' is not writable. No logging possible', $logfile));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('The logfile \'%s\' is not writable. No logging possible', $logfile));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
namespace Friendica\Module\Admin;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Relocate;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Search;
|
||||
use Friendica\Core\System;
|
||||
|
|
@ -33,12 +32,11 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\BaseAdmin;
|
||||
use Friendica\Module\Conversation\Community;
|
||||
use Friendica\Module\Register;
|
||||
use Friendica\Protocol\Relay;
|
||||
use Friendica\Util\BasePath;
|
||||
use Friendica\Util\EMailer\MailBuilder;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Worker\Delivery;
|
||||
|
||||
require_once __DIR__ . '/../../../boot.php';
|
||||
|
||||
|
|
@ -53,7 +51,7 @@ class Site extends BaseAdmin
|
|||
$a = DI::app();
|
||||
|
||||
if (!empty($_POST['republish_directory'])) {
|
||||
Worker::add(PRIORITY_LOW, 'Directory');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory');
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -150,7 +148,7 @@ class Site extends BaseAdmin
|
|||
// Has the directory url changed? If yes, then resubmit the existing profiles there
|
||||
if ($global_directory != DI::config()->get('system', 'directory') && ($global_directory != '')) {
|
||||
DI::config()->set('system', 'directory', $global_directory);
|
||||
Worker::add(PRIORITY_LOW, 'Directory');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory');
|
||||
}
|
||||
|
||||
if (DI::baseUrl()->getUrlPath() != "") {
|
||||
|
|
@ -364,11 +362,11 @@ class Site extends BaseAdmin
|
|||
|
||||
/* Community page style */
|
||||
$community_page_style_choices = [
|
||||
CP_NO_INTERNAL_COMMUNITY => DI::l10n()->t('No community page for local users'),
|
||||
CP_NO_COMMUNITY_PAGE => DI::l10n()->t('No community page'),
|
||||
CP_USERS_ON_SERVER => DI::l10n()->t('Public postings from users of this site'),
|
||||
CP_GLOBAL_COMMUNITY => DI::l10n()->t('Public postings from the federated network'),
|
||||
CP_USERS_AND_GLOBAL => DI::l10n()->t('Public postings from local users and the federated network')
|
||||
Community::DISABLED => DI::l10n()->t('No community page'),
|
||||
Community::DISABLED_VISITOR => DI::l10n()->t('No community page for visitors'),
|
||||
Community::LOCAL => DI::l10n()->t('Public postings from users of this site'),
|
||||
Community::GLOBAL => DI::l10n()->t('Public postings from the federated network'),
|
||||
Community::LOCAL_AND_GLOBAL => DI::l10n()->t('Public postings from local users and the federated network')
|
||||
];
|
||||
|
||||
/* get user names to make the install a personal install of X */
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class Storage extends BaseAdmin
|
|||
/** @var ICanConfigureStorage|false $newStorageConfig */
|
||||
$newStorageConfig = DI::storageManager()->getConfigurationByName($storagebackend);
|
||||
} catch (InvalidClassStorageException $storageException) {
|
||||
notice(DI::l10n()->t('Storage backend, %s is invalid.', $storagebackend));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Storage backend, %s is invalid.', $storagebackend));
|
||||
DI::baseUrl()->redirect('admin/storage');
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ class Storage extends BaseAdmin
|
|||
$storage_form_errors = $newStorageConfig->saveOptions($storage_opts_data);
|
||||
if (count($storage_form_errors)) {
|
||||
foreach ($storage_form_errors as $name => $err) {
|
||||
notice(DI::l10n()->t('Storage backend %s error: %s', $storage_opts[$name][1], $err));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Storage backend %s error: %s', $storage_opts[$name][1], $err));
|
||||
}
|
||||
DI::baseUrl()->redirect('admin/storage');
|
||||
}
|
||||
|
|
@ -81,10 +81,10 @@ class Storage extends BaseAdmin
|
|||
$newstorage = DI::storageManager()->getWritableStorageByName($storagebackend);
|
||||
|
||||
if (!DI::storageManager()->setBackend($newstorage)) {
|
||||
notice(DI::l10n()->t('Invalid storage backend setting value.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Invalid storage backend setting value.'));
|
||||
}
|
||||
} catch (InvalidClassStorageException $storageException) {
|
||||
notice(DI::l10n()->t('Invalid storage backend setting value.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Invalid storage backend setting value.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace Friendica\Module\Admin;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\Config\ValueObject\Cache;
|
||||
use Friendica\Core\Logger;
|
||||
|
|
@ -79,8 +80,8 @@ class Summary extends BaseAdmin
|
|||
// the local version of Friendica. Check is opt-in, source may be stable or develop branch
|
||||
if (DI::config()->get('system', 'check_new_version_url', 'none') != 'none') {
|
||||
$gitversion = DI::config()->get('system', 'git_friendica_version');
|
||||
if (version_compare(FRIENDICA_VERSION, $gitversion) < 0) {
|
||||
$warningtext[] = DI::l10n()->t('There is a new version of Friendica available for download. Your current version is %1$s, upstream version is %2$s', FRIENDICA_VERSION, $gitversion);
|
||||
if (version_compare(App::VERSION, $gitversion) < 0) {
|
||||
$warningtext[] = DI::l10n()->t('There is a new version of Friendica available for download. Your current version is %1$s, upstream version is %2$s', App::VERSION, $gitversion);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -236,9 +237,9 @@ class Summary extends BaseAdmin
|
|||
'$users' => [DI::l10n()->t('Registered users'), $users],
|
||||
'$accounts' => $accounts,
|
||||
'$pending' => [DI::l10n()->t('Pending registrations'), $pending],
|
||||
'$version' => [DI::l10n()->t('Version'), FRIENDICA_VERSION],
|
||||
'$platform' => FRIENDICA_PLATFORM,
|
||||
'$codename' => FRIENDICA_CODENAME,
|
||||
'$version' => [DI::l10n()->t('Version'), App::VERSION],
|
||||
'$platform' => App::PLATFORM,
|
||||
'$codename' => App::CODENAME,
|
||||
'$build' => DI::config()->get('system', 'build'),
|
||||
'$addons' => [DI::l10n()->t('Active addons'), Addon::getEnabledList()],
|
||||
'$serversettings' => $server_settings,
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class Details extends BaseAdmin
|
|||
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
notice(DI::l10n()->t("Item not found."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Item not found."));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
@ -54,11 +54,11 @@ class Details extends BaseAdmin
|
|||
|
||||
if ($isEnabled) {
|
||||
Theme::uninstall($theme);
|
||||
info(DI::l10n()->t('Theme %s disabled.', $theme));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Theme %s disabled.', $theme));
|
||||
} elseif (Theme::install($theme)) {
|
||||
info(DI::l10n()->t('Theme %s successfully enabled.', $theme));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Theme %s successfully enabled.', $theme));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Theme %s failed to install.', $theme));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Theme %s failed to install.', $theme));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/themes/' . $theme);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ class Embed extends BaseAdmin
|
|||
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
notice($this->t('Unknown theme.'));
|
||||
DI::sysmsg()->addNotice($this->t('Unknown theme.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class Index extends BaseAdmin
|
|||
}
|
||||
Theme::setAllowedList($allowed_themes);
|
||||
|
||||
info(DI::l10n()->t('Themes reloaded'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Themes reloaded'));
|
||||
break;
|
||||
|
||||
case 'toggle' :
|
||||
|
|
@ -56,17 +56,17 @@ class Index extends BaseAdmin
|
|||
if ($theme) {
|
||||
$theme = Strings::sanitizeFilePathItem($theme);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
notice(DI::l10n()->t('Item not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Item not found.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
if (in_array($theme, Theme::getAllowedList())) {
|
||||
Theme::uninstall($theme);
|
||||
info(DI::l10n()->t('Theme %s disabled.', $theme));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Theme %s disabled.', $theme));
|
||||
} elseif (Theme::install($theme)) {
|
||||
info(DI::l10n()->t('Theme %s successfully enabled.', $theme));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Theme %s successfully enabled.', $theme));
|
||||
} else {
|
||||
notice(DI::l10n()->t('Theme %s failed to install.', $theme));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Theme %s failed to install.', $theme));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class Active extends BaseUsers
|
|||
foreach ($users as $uid) {
|
||||
User::block($uid);
|
||||
}
|
||||
info(DI::l10n()->tt('%s user blocked', '%s users blocked', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user blocked', '%s users blocked', count($users)));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_users_delete'])) {
|
||||
|
|
@ -50,11 +50,11 @@ class Active extends BaseUsers
|
|||
if (local_user() != $uid) {
|
||||
User::remove($uid);
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
}
|
||||
|
||||
info(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect(DI::args()->getQueryString());
|
||||
|
|
@ -70,7 +70,7 @@ class Active extends BaseUsers
|
|||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('User not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
return ''; // NOTREACHED
|
||||
}
|
||||
|
|
@ -83,9 +83,9 @@ class Active extends BaseUsers
|
|||
// delete user
|
||||
User::remove($uid);
|
||||
|
||||
notice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/users/active');
|
||||
|
|
@ -93,7 +93,7 @@ class Active extends BaseUsers
|
|||
case 'block':
|
||||
self::checkFormSecurityTokenRedirectOnError('admin/users/active', 'admin_users_active', 't');
|
||||
User::block($uid);
|
||||
notice(DI::l10n()->t('User "%s" blocked', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" blocked', $user['username']));
|
||||
DI::baseUrl()->redirect('admin/users/active');
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class Blocked extends BaseUsers
|
|||
foreach ($users as $uid) {
|
||||
User::block($uid, false);
|
||||
}
|
||||
info(DI::l10n()->tt('%s user unblocked', '%s users unblocked', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user unblocked', '%s users unblocked', count($users)));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_users_delete'])) {
|
||||
|
|
@ -51,11 +51,11 @@ class Blocked extends BaseUsers
|
|||
if (local_user() != $uid) {
|
||||
User::remove($uid);
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
}
|
||||
|
||||
info(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/users/blocked');
|
||||
|
|
@ -71,7 +71,7 @@ class Blocked extends BaseUsers
|
|||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('User not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
return ''; // NOTREACHED
|
||||
}
|
||||
|
|
@ -84,16 +84,16 @@ class Blocked extends BaseUsers
|
|||
// delete user
|
||||
User::remove($uid);
|
||||
|
||||
notice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
DI::baseUrl()->redirect('admin/users/blocked');
|
||||
break;
|
||||
case 'unblock':
|
||||
self::checkFormSecurityTokenRedirectOnError('/admin/users/blocked', 'admin_users_blocked', 't');
|
||||
User::block($uid, false);
|
||||
notice(DI::l10n()->t('User "%s" unblocked', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" unblocked', $user['username']));
|
||||
DI::baseUrl()->redirect('admin/users/blocked');
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class Create extends BaseUsers
|
|||
User::createMinimal($nu_name, $nu_email, $nu_nickname, $nu_language);
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
} catch (\Exception $ex) {
|
||||
notice($ex->getMessage());
|
||||
DI::sysmsg()->addNotice($ex->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,14 +42,14 @@ class Index extends BaseUsers
|
|||
foreach ($users as $uid) {
|
||||
User::block($uid);
|
||||
}
|
||||
info(DI::l10n()->tt('%s user blocked', '%s users blocked', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user blocked', '%s users blocked', count($users)));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_users_unblock'])) {
|
||||
foreach ($users as $uid) {
|
||||
User::block($uid, false);
|
||||
}
|
||||
info(DI::l10n()->tt('%s user unblocked', '%s users unblocked', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user unblocked', '%s users unblocked', count($users)));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_users_delete'])) {
|
||||
|
|
@ -57,11 +57,11 @@ class Index extends BaseUsers
|
|||
if (local_user() != $uid) {
|
||||
User::remove($uid);
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
}
|
||||
|
||||
info(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user deleted', '%s users deleted', count($users)));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect(DI::args()->getQueryString());
|
||||
|
|
@ -77,7 +77,7 @@ class Index extends BaseUsers
|
|||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('User not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
return ''; // NOTREACHED
|
||||
}
|
||||
|
|
@ -90,9 +90,9 @@ class Index extends BaseUsers
|
|||
// delete user
|
||||
User::remove($uid);
|
||||
|
||||
notice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" deleted', $user['username']));
|
||||
} else {
|
||||
notice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You can\'t remove yourself'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
|
|
@ -100,13 +100,13 @@ class Index extends BaseUsers
|
|||
case 'block':
|
||||
self::checkFormSecurityTokenRedirectOnError('admin/users', 'admin_users', 't');
|
||||
User::block($uid);
|
||||
notice(DI::l10n()->t('User "%s" blocked', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" blocked', $user['username']));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
break;
|
||||
case 'unblock':
|
||||
self::checkFormSecurityTokenRedirectOnError('admin/users', 'admin_users', 't');
|
||||
User::block($uid, false);
|
||||
notice(DI::l10n()->t('User "%s" unblocked', $user['username']));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User "%s" unblocked', $user['username']));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,14 +45,14 @@ class Pending extends BaseUsers
|
|||
foreach ($pending as $hash) {
|
||||
User::allow($hash);
|
||||
}
|
||||
info(DI::l10n()->tt('%s user approved', '%s users approved', count($pending)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s user approved', '%s users approved', count($pending)));
|
||||
}
|
||||
|
||||
if (!empty($_POST['page_users_deny'])) {
|
||||
foreach ($pending as $hash) {
|
||||
User::deny($hash);
|
||||
}
|
||||
info(DI::l10n()->tt('%s registration revoked', '%s registrations revoked', count($pending)));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%s registration revoked', '%s registrations revoked', count($pending)));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/users/pending');
|
||||
|
|
@ -68,7 +68,7 @@ class Pending extends BaseUsers
|
|||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('User not found'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
|
||||
DI::baseUrl()->redirect('admin/users');
|
||||
return ''; // NOTREACHED
|
||||
}
|
||||
|
|
@ -78,13 +78,13 @@ class Pending extends BaseUsers
|
|||
case 'allow':
|
||||
self::checkFormSecurityTokenRedirectOnError('/admin/users/pending', 'admin_users_pending', 't');
|
||||
User::allow(Register::getPendingForUser($uid)['hash'] ?? '');
|
||||
notice(DI::l10n()->t('Account approved.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Account approved.'));
|
||||
DI::baseUrl()->redirect('admin/users/pending');
|
||||
break;
|
||||
case 'deny':
|
||||
self::checkFormSecurityTokenRedirectOnError('/admin/users/pending', 'admin_users_pending', 't');
|
||||
User::deny(Register::getPendingForUser($uid)['hash'] ?? '');
|
||||
notice(DI::l10n()->t('Registration revoked'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Registration revoked'));
|
||||
DI::baseUrl()->redirect('admin/users/pending');
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class Create extends BaseApi
|
|||
$item = ['network' => Protocol::DFRN, 'protocol' => Conversation::PARCEL_DIRECT, 'direction' => Conversation::PUSH];
|
||||
$item = Event::getItemArrayForId($event_id, $item);
|
||||
if (Item::insert($item)) {
|
||||
Worker::add(PRIORITY_HIGH, "Notifier", Delivery::POST, (int)$item['uri-id'], $uid);
|
||||
Worker::add(Worker::PRIORITY_HIGH, "Notifier", Delivery::POST, (int)$item['uri-id'], $uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,9 +53,8 @@ class Config extends BaseApi
|
|||
'sslserver' => null,
|
||||
'ssl' => DI::config()->get('system', 'ssl_policy') == App\BaseURL::SSL_POLICY_FULL ? 'always' : '0',
|
||||
'friendica' => [
|
||||
'FRIENDICA_PLATFORM' => FRIENDICA_PLATFORM,
|
||||
'FRIENDICA_VERSION' => FRIENDICA_VERSION,
|
||||
'DFRN_PROTOCOL_VERSION' => DFRN_PROTOCOL_VERSION,
|
||||
'FRIENDICA_PLATFORM' => App::PLATFORM,
|
||||
'FRIENDICA_VERSION' => App::VERSION,
|
||||
'DB_UPDATE_VERSION' => DB_UPDATE_VERSION,
|
||||
]
|
||||
],
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Friendica\App\Router;
|
|||
use Friendica\Content\Text\Markdown;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
|
|
@ -204,7 +205,7 @@ class Statuses extends BaseApi
|
|||
if (!empty($request['scheduled_at'])) {
|
||||
$item['guid'] = Item::guid($item, true);
|
||||
$item['uri'] = Item::newURI($item['guid']);
|
||||
$id = Post\Delayed::add($item['uri'], $item, PRIORITY_HIGH, Post\Delayed::PREPARED, $request['scheduled_at']);
|
||||
$id = Post\Delayed::add($item['uri'], $item, Worker::PRIORITY_HIGH, Post\Delayed::PREPARED, $request['scheduled_at']);
|
||||
if (empty($id)) {
|
||||
DI::mstdnError()->InternalError();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ use Friendica\Content\Nav;
|
|||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Util\Profiler;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
|
|
@ -51,7 +52,7 @@ class Apps extends BaseModule
|
|||
$apps = Nav::getAppMenu();
|
||||
|
||||
if (count($apps) == 0) {
|
||||
notice($this->t('No installed applications.'));
|
||||
DI::sysmsg()->addNotice($this->t('No installed applications.'));
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('apps.tpl');
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ abstract class BaseAdmin extends BaseModule
|
|||
{
|
||||
if (!local_user()) {
|
||||
if ($interactive) {
|
||||
notice(DI::l10n()->t('Please login to continue.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Please login to continue.'));
|
||||
Session::set('return_path', DI::args()->getQueryString());
|
||||
DI::baseUrl()->redirect('login');
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ class BaseSearch extends BaseModule
|
|||
protected static function printResult(ResultList $results, Pager $pager, string $header = ''): string
|
||||
{
|
||||
if ($results->getTotal() == 0) {
|
||||
notice(DI::l10n()->t('No matches'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No matches'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ class Contact extends BaseModule
|
|||
}
|
||||
}
|
||||
if ($count_actions > 0) {
|
||||
info(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%d contact edited.', '%d contacts edited.', $count_actions));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -126,9 +126,9 @@ class Contact extends BaseModule
|
|||
}
|
||||
|
||||
// pull feed and consume it, which should subscribe to the hub.
|
||||
Worker::add(PRIORITY_HIGH, 'OnePoll', $contact_id, 'force');
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'OnePoll', $contact_id, 'force');
|
||||
} else {
|
||||
Worker::add(PRIORITY_HIGH, 'UpdateContact', $contact_id);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'UpdateContact', $contact_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ use Friendica\Core\Protocol;
|
|||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Module\Contact;
|
||||
use Friendica\Module\Response;
|
||||
|
|
@ -96,7 +97,7 @@ class Advanced extends BaseModule
|
|||
}
|
||||
|
||||
if (!$r) {
|
||||
notice($this->t('Contact update failed.'));
|
||||
DI::sysmsg()->addNotice($this->t('Contact update failed.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ use Friendica\Core\L10n;
|
|||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Module;
|
||||
|
|
@ -124,7 +125,7 @@ class Profile extends BaseModule
|
|||
}
|
||||
|
||||
if (!Contact::update($fields, ['id' => $cdata['user'], 'uid' => local_user()])) {
|
||||
notice($this->t('Failed to update contact record.'));
|
||||
DI::sysmsg()->addNotice($this->t('Failed to update contact record.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -182,7 +183,7 @@ class Profile extends BaseModule
|
|||
}
|
||||
|
||||
// @TODO: add $this->localRelationship->save($localRelationship);
|
||||
info($message);
|
||||
DI::sysmsg()->addInfo($message);
|
||||
}
|
||||
|
||||
if ($cmd === 'ignore') {
|
||||
|
|
@ -198,7 +199,7 @@ class Profile extends BaseModule
|
|||
}
|
||||
|
||||
// @TODO: add $this->localRelationship->save($localRelationship);
|
||||
info($message);
|
||||
DI::sysmsg()->addInfo($message);
|
||||
}
|
||||
|
||||
$this->baseUrl->redirect('contact/' . $contact['id']);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ use Friendica\Core\L10n;
|
|||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Module\Contact;
|
||||
use Friendica\Module\Response;
|
||||
|
|
@ -87,7 +88,7 @@ class Revoke extends BaseModule
|
|||
|
||||
Model\Contact::revokeFollow($this->contact);
|
||||
|
||||
notice($this->t('Follow was successfully revoked.'));
|
||||
DI::sysmsg()->addNotice($this->t('Follow was successfully revoked.'));
|
||||
|
||||
$this->baseUrl->redirect('contact/' . $this->parameters['id']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,21 @@ use Friendica\Network\HTTPException;
|
|||
|
||||
class Community extends BaseModule
|
||||
{
|
||||
/**
|
||||
* @name CP
|
||||
*
|
||||
* Type of the community page
|
||||
* @{
|
||||
*/
|
||||
const DISABLED = -2;
|
||||
const DISABLED_VISITOR = -1;
|
||||
const LOCAL = 0;
|
||||
const GLOBAL = 1;
|
||||
const LOCAL_AND_GLOBAL = 2;
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
protected static $page_style;
|
||||
protected static $content;
|
||||
protected static $accountTypeString;
|
||||
|
|
@ -69,7 +84,7 @@ class Community extends BaseModule
|
|||
if (empty($_GET['mode']) || ($_GET['mode'] != 'raw')) {
|
||||
$tabs = [];
|
||||
|
||||
if ((Session::isAuthenticated() || in_array(self::$page_style, [CP_USERS_AND_GLOBAL, CP_USERS_ON_SERVER])) && empty(DI::config()->get('system', 'singleuser'))) {
|
||||
if ((Session::isAuthenticated() || in_array(self::$page_style, [self::LOCAL_AND_GLOBAL, self::LOCAL])) && empty(DI::config()->get('system', 'singleuser'))) {
|
||||
$tabs[] = [
|
||||
'label' => DI::l10n()->t('Local Community'),
|
||||
'url' => 'community/local',
|
||||
|
|
@ -80,7 +95,7 @@ class Community extends BaseModule
|
|||
];
|
||||
}
|
||||
|
||||
if (Session::isAuthenticated() || in_array(self::$page_style, [CP_USERS_AND_GLOBAL, CP_GLOBAL_COMMUNITY])) {
|
||||
if (Session::isAuthenticated() || in_array(self::$page_style, [self::LOCAL_AND_GLOBAL, self::GLOBAL])) {
|
||||
$tabs[] = [
|
||||
'label' => DI::l10n()->t('Global Community'),
|
||||
'url' => 'community/global',
|
||||
|
|
@ -140,7 +155,7 @@ class Community extends BaseModule
|
|||
$items = self::getItems();
|
||||
|
||||
if (!DBA::isResult($items)) {
|
||||
notice(DI::l10n()->t('No results.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No results.'));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
|
@ -177,7 +192,7 @@ class Community extends BaseModule
|
|||
|
||||
self::$page_style = DI::config()->get('system', 'community_page_style');
|
||||
|
||||
if (self::$page_style == CP_NO_INTERNAL_COMMUNITY) {
|
||||
if (self::$page_style == self::DISABLED) {
|
||||
throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
|
||||
}
|
||||
|
||||
|
|
@ -191,7 +206,7 @@ class Community extends BaseModule
|
|||
self::$content = 'global';
|
||||
} else {
|
||||
// When only the global community is allowed, we use this as default
|
||||
self::$content = self::$page_style == CP_GLOBAL_COMMUNITY ? 'global' : 'local';
|
||||
self::$content = self::$page_style == self::GLOBAL ? 'global' : 'local';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -201,14 +216,14 @@ class Community extends BaseModule
|
|||
|
||||
// Check if we are allowed to display the content to visitors
|
||||
if (!Session::isAuthenticated()) {
|
||||
$available = self::$page_style == CP_USERS_AND_GLOBAL;
|
||||
$available = self::$page_style == self::LOCAL_AND_GLOBAL;
|
||||
|
||||
if (!$available) {
|
||||
$available = (self::$page_style == CP_USERS_ON_SERVER) && (self::$content == 'local');
|
||||
$available = (self::$page_style == self::LOCAL) && (self::$content == 'local');
|
||||
}
|
||||
|
||||
if (!$available) {
|
||||
$available = (self::$page_style == CP_GLOBAL_COMMUNITY) && (self::$content == 'global');
|
||||
$available = (self::$page_style == self::GLOBAL) && (self::$content == 'global');
|
||||
}
|
||||
|
||||
if (!$available) {
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ class Network extends BaseModule
|
|||
if (self::$groupId) {
|
||||
$group = DBA::selectFirst('group', ['name'], ['id' => self::$groupId, 'uid' => local_user()]);
|
||||
if (!DBA::isResult($group)) {
|
||||
notice(DI::l10n()->t('No such group'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No such group'));
|
||||
}
|
||||
|
||||
$o = Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'), [
|
||||
|
|
@ -184,7 +184,7 @@ class Network extends BaseModule
|
|||
'id' => DI::args()->get(0),
|
||||
]) . $o;
|
||||
} else {
|
||||
notice(DI::l10n()->t('Invalid contact.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Invalid contact.'));
|
||||
}
|
||||
} elseif (!DI::config()->get('theme', 'hide_eventlist')) {
|
||||
$o .= Profile::getBirthdays();
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Friendica\App;
|
|||
use Friendica\BaseModule;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
|
||||
|
|
@ -48,7 +49,7 @@ class Feed extends BaseModule
|
|||
$this->httpClient = $httpClient;
|
||||
|
||||
if (!local_user()) {
|
||||
notice($this->t('You must be logged in to use this module'));
|
||||
DI::sysmsg()->addNotice($this->t('You must be logged in to use this module'));
|
||||
$baseUrl->redirect();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ class Delegation extends BaseModule
|
|||
$ret = [];
|
||||
Hook::callAll('home_init', $ret);
|
||||
|
||||
notice($this->t('You are now logged in as %s', $user['username']));
|
||||
DI::sysmsg()->addNotice($this->t('You are now logged in as %s', $user['username']));
|
||||
|
||||
DI::baseUrl()->redirect('network');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ class Directory extends BaseModule
|
|||
$profiles = Profile::searchProfiles($pager->getStart(), $pager->getItemsPerPage(), $search);
|
||||
|
||||
if ($profiles['total'] === 0) {
|
||||
notice(DI::l10n()->t('No entries (some entries may be hidden).'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No entries (some entries may be hidden).'));
|
||||
} else {
|
||||
foreach ($profiles['entries'] as $entry) {
|
||||
$contact = Model\Contact::getByURLForUser($entry['url'], local_user());
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
|
@ -43,7 +44,7 @@ class SaveTag extends BaseModule
|
|||
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||
|
||||
if (!local_user()) {
|
||||
notice($this->t('You must be logged in to use this module'));
|
||||
DI::sysmsg()->addNotice($this->t('You must be logged in to use this module'));
|
||||
$baseUrl->redirect();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class FollowConfirm extends BaseModule
|
|||
parent::post($request);
|
||||
$uid = local_user();
|
||||
if (!$uid) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ use Friendica\Core\Protocol;
|
|||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact as ContactModel;
|
||||
use Friendica\Network\HTTPException\ForbiddenException;
|
||||
use Friendica\Network\HTTPException\NotFoundException;
|
||||
|
|
@ -78,7 +79,7 @@ class FriendSuggest extends BaseModule
|
|||
// We do query the "uid" as well to ensure that it is our contact
|
||||
$contact = $this->dba->selectFirst('contact', ['name', 'url', 'request', 'avatar'], ['id' => $suggest_contact_id, 'uid' => local_user()]);
|
||||
if (empty($contact)) {
|
||||
notice($this->t('Suggested contact not found.'));
|
||||
DI::sysmsg()->addNotice($this->t('Suggested contact not found.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -94,9 +95,9 @@ class FriendSuggest extends BaseModule
|
|||
$note
|
||||
));
|
||||
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::SUGGESTION, $suggest->id);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::SUGGESTION, $suggest->id);
|
||||
|
||||
info($this->t('Friend suggestion sent.'));
|
||||
DI::sysmsg()->addInfo($this->t('Friend suggestion sent.'));
|
||||
}
|
||||
|
||||
protected function content(array $request = []): string
|
||||
|
|
@ -105,7 +106,7 @@ class FriendSuggest extends BaseModule
|
|||
|
||||
$contact = $this->dba->selectFirst('contact', [], ['id' => $cid, 'uid' => local_user()]);
|
||||
if (empty($contact)) {
|
||||
notice($this->t('Contact not found.'));
|
||||
DI::sysmsg()->addNotice($this->t('Contact not found.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace Friendica\Module;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\Hook;
|
||||
|
|
@ -96,7 +97,7 @@ class Friendica extends BaseModule
|
|||
|
||||
return Renderer::replaceMacros($tpl, [
|
||||
'about' => DI::l10n()->t('This is Friendica, version %s that is running at the web location %s. The database version is %s, the post update version is %s.',
|
||||
'<strong>' . FRIENDICA_VERSION . '</strong>',
|
||||
'<strong>' . App::VERSION . '</strong>',
|
||||
DI::baseUrl()->get(),
|
||||
'<strong>' . $config->get('system', 'build') . '/' . DB_UPDATE_VERSION . '</strong>',
|
||||
'<strong>' . $config->get('system', 'post_update_version') . '/' . PostUpdate::VERSION . '</strong>'),
|
||||
|
|
@ -169,7 +170,7 @@ class Friendica extends BaseModule
|
|||
}
|
||||
|
||||
$data = [
|
||||
'version' => FRIENDICA_VERSION,
|
||||
'version' => App::VERSION,
|
||||
'url' => DI::baseUrl()->get(),
|
||||
'addons' => $visible_addons,
|
||||
'locked_features' => $locked_features,
|
||||
|
|
@ -178,7 +179,7 @@ class Friendica extends BaseModule
|
|||
'register_policy' => $register_policy,
|
||||
'admin' => $admin,
|
||||
'site_name' => $config->get('config', 'sitename'),
|
||||
'platform' => strtolower(FRIENDICA_PLATFORM),
|
||||
'platform' => strtolower(App::PLATFORM),
|
||||
'info' => $config->get('config', 'info'),
|
||||
'no_scrape_url' => DI::baseUrl()->get() . '/noscrape',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class Group extends BaseModule
|
|||
}
|
||||
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect();
|
||||
}
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ class Group extends BaseModule
|
|||
DI::baseUrl()->redirect('group/' . $r);
|
||||
}
|
||||
} else {
|
||||
notice(DI::l10n()->t('Could not create group.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Could not create group.'));
|
||||
}
|
||||
DI::baseUrl()->redirect('group');
|
||||
}
|
||||
|
|
@ -66,13 +66,13 @@ class Group extends BaseModule
|
|||
|
||||
$group = DBA::selectFirst('group', ['id', 'name'], ['id' => DI::args()->getArgv()[1], 'uid' => local_user()]);
|
||||
if (!DBA::isResult($group)) {
|
||||
notice(DI::l10n()->t('Group not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Group not found.'));
|
||||
DI::baseUrl()->redirect('contact');
|
||||
}
|
||||
$groupname = trim($_POST['groupname']);
|
||||
if (strlen($groupname) && ($groupname != $group['name'])) {
|
||||
if (!Model\Group::update($group['id'], $groupname)) {
|
||||
notice(DI::l10n()->t('Group name was not changed.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Group name was not changed.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -132,10 +132,10 @@ class Group extends BaseModule
|
|||
throw new \Exception(DI::l10n()->t('Bad request.'), 400);
|
||||
}
|
||||
|
||||
info($message);
|
||||
DI::sysmsg()->addInfo($message);
|
||||
System::jsonExit(['status' => 'OK', 'message' => $message]);
|
||||
} catch (\Exception $e) {
|
||||
notice($e->getMessage());
|
||||
DI::sysmsg()->addNotice($e->getMessage());
|
||||
System::jsonError($e->getCode(), ['status' => 'error', 'message' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
|
@ -212,12 +212,12 @@ class Group extends BaseModule
|
|||
// @TODO: Replace with parameter from router
|
||||
if (intval(DI::args()->getArgv()[2])) {
|
||||
if (!Model\Group::exists(DI::args()->getArgv()[2], local_user())) {
|
||||
notice(DI::l10n()->t('Group not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Group not found.'));
|
||||
DI::baseUrl()->redirect('contact');
|
||||
}
|
||||
|
||||
if (!Model\Group::remove(DI::args()->getArgv()[2])) {
|
||||
notice(DI::l10n()->t('Unable to remove group.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to remove group.'));
|
||||
}
|
||||
}
|
||||
DI::baseUrl()->redirect('group');
|
||||
|
|
@ -236,7 +236,7 @@ class Group extends BaseModule
|
|||
if ((DI::args()->getArgc() > 1) && intval(DI::args()->getArgv()[1])) {
|
||||
$group = DBA::selectFirst('group', ['id', 'name'], ['id' => DI::args()->getArgv()[1], 'uid' => local_user(), 'deleted' => false]);
|
||||
if (!DBA::isResult($group)) {
|
||||
notice(DI::l10n()->t('Group not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Group not found.'));
|
||||
DI::baseUrl()->redirect('contact');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ class Install extends BaseModule
|
|||
|
||||
if (count($this->installer->getChecks()) == 0) {
|
||||
$txt = '<p style="font-size: 130%;">';
|
||||
$txt .= $this->t('Your Friendica site database has been installed.') . EOL;
|
||||
$txt .= $this->t('Your Friendica site database has been installed.') . '<br />';
|
||||
$db_return_text .= $txt;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ class Invite extends BaseModule
|
|||
$recipient = trim($recipient);
|
||||
|
||||
if (!filter_var($recipient, FILTER_VALIDATE_EMAIL)) {
|
||||
notice(DI::l10n()->t('%s : Not a valid email address.', $recipient));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('%s : Not a valid email address.', $recipient));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -114,15 +114,15 @@ class Invite extends BaseModule
|
|||
$current_invites++;
|
||||
DI::pConfig()->set(local_user(), 'system', 'sent_invites', $current_invites);
|
||||
if ($current_invites > $max_invites) {
|
||||
notice(DI::l10n()->t('Invitation limit exceeded. Please contact your site administrator.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Invitation limit exceeded. Please contact your site administrator.'));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
notice(DI::l10n()->t('%s : Message delivery failed.', $recipient));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('%s : Message delivery failed.', $recipient));
|
||||
}
|
||||
|
||||
}
|
||||
info(DI::l10n()->tt('%d message sent.', '%d messages sent.', $total));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->tt('%d message sent.', '%d messages sent.', $total));
|
||||
}
|
||||
|
||||
protected function content(array $request = []): string
|
||||
|
|
|
|||
|
|
@ -22,10 +22,14 @@
|
|||
namespace Friendica\Module\Item;
|
||||
|
||||
use DateTime;
|
||||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\Feature;
|
||||
use Friendica\Core\ACL;
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Theme;
|
||||
use Friendica\Database\DBA;
|
||||
|
|
@ -33,13 +37,44 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Navigation\SystemMessages;
|
||||
use Friendica\Network\HTTPException\NotImplementedException;
|
||||
use Friendica\Util\ACLFormatter;
|
||||
use Friendica\Util\Crypto;
|
||||
use Friendica\Util\Profiler;
|
||||
use Friendica\Util\Temporal;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Compose extends BaseModule
|
||||
{
|
||||
/** @var SystemMessages */
|
||||
private $systemMessages;
|
||||
|
||||
/** @var ACLFormatter */
|
||||
private $ACLFormatter;
|
||||
|
||||
/** @var App\Page */
|
||||
private $page;
|
||||
|
||||
/** @var IManagePersonalConfigValues */
|
||||
private $pConfig;
|
||||
|
||||
/** @var IManageConfigValues */
|
||||
private $config;
|
||||
|
||||
public function __construct(IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
|
||||
{
|
||||
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||
|
||||
$this->systemMessages = $systemMessages;
|
||||
$this->ACLFormatter = $ACLFormatter;
|
||||
$this->page = $page;
|
||||
$this->pConfig = $pConfig;
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
protected function post(array $request = [])
|
||||
{
|
||||
if (!empty($_REQUEST['body'])) {
|
||||
|
|
@ -47,23 +82,22 @@ class Compose extends BaseModule
|
|||
require_once 'mod/item.php';
|
||||
item_post(DI::app());
|
||||
} else {
|
||||
notice(DI::l10n()->t('Please enter a post body.'));
|
||||
$this->systemMessages->addNotice($this->l10n->t('Please enter a post body.'));
|
||||
}
|
||||
}
|
||||
|
||||
protected function content(array $request = []): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
return Login::form('compose', false);
|
||||
return Login::form('compose');
|
||||
}
|
||||
|
||||
$a = DI::app();
|
||||
|
||||
if ($a->getCurrentTheme() !== 'frio') {
|
||||
throw new NotImplementedException(DI::l10n()->t('This feature is only available with the frio theme.'));
|
||||
throw new NotImplementedException($this->l10n->t('This feature is only available with the frio theme.'));
|
||||
}
|
||||
|
||||
/// @TODO Retrieve parameter from router
|
||||
$posttype = $this->parameters['type'] ?? Item::PT_ARTICLE;
|
||||
if (!in_array($posttype, [Item::PT_ARTICLE, Item::PT_PERSONAL_NOTE])) {
|
||||
switch ($posttype) {
|
||||
|
|
@ -78,16 +112,14 @@ class Compose extends BaseModule
|
|||
|
||||
$user = User::getById(local_user(), ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'default-location']);
|
||||
|
||||
$aclFormatter = DI::aclFormatter();
|
||||
|
||||
$contact_allow_list = $aclFormatter->expand($user['allow_cid']);
|
||||
$group_allow_list = $aclFormatter->expand($user['allow_gid']);
|
||||
$contact_deny_list = $aclFormatter->expand($user['deny_cid']);
|
||||
$group_deny_list = $aclFormatter->expand($user['deny_gid']);
|
||||
$contact_allow_list = $this->ACLFormatter->expand($user['allow_cid']);
|
||||
$group_allow_list = $this->ACLFormatter->expand($user['allow_gid']);
|
||||
$contact_deny_list = $this->ACLFormatter->expand($user['deny_cid']);
|
||||
$group_deny_list = $this->ACLFormatter->expand($user['deny_gid']);
|
||||
|
||||
switch ($posttype) {
|
||||
case Item::PT_PERSONAL_NOTE:
|
||||
$compose_title = DI::l10n()->t('Compose new personal note');
|
||||
$compose_title = $this->l10n->t('Compose new personal note');
|
||||
$type = 'note';
|
||||
$doesFederate = false;
|
||||
$contact_allow_list = [$a->getContactId()];
|
||||
|
|
@ -96,7 +128,7 @@ class Compose extends BaseModule
|
|||
$group_deny_list = [];
|
||||
break;
|
||||
default:
|
||||
$compose_title = DI::l10n()->t('Compose new post');
|
||||
$compose_title = $this->l10n->t('Compose new post');
|
||||
$type = 'post';
|
||||
$doesFederate = true;
|
||||
|
||||
|
|
@ -129,13 +161,13 @@ class Compose extends BaseModule
|
|||
Hook::callAll('jot_tool', $jotplugins);
|
||||
|
||||
// Output
|
||||
DI::page()->registerFooterScript(Theme::getPathForFile('js/ajaxupload.js'));
|
||||
DI::page()->registerFooterScript(Theme::getPathForFile('js/linkPreview.js'));
|
||||
DI::page()->registerFooterScript(Theme::getPathForFile('js/compose.js'));
|
||||
$this->page->registerFooterScript(Theme::getPathForFile('js/ajaxupload.js'));
|
||||
$this->page->registerFooterScript(Theme::getPathForFile('js/linkPreview.js'));
|
||||
$this->page->registerFooterScript(Theme::getPathForFile('js/compose.js'));
|
||||
|
||||
$contact = Contact::getById($a->getContactId());
|
||||
|
||||
if (DI::config()->get(local_user(), 'system', 'set_creation_date')) {
|
||||
if ($this->pConfig->get(local_user(), 'system', 'set_creation_date')) {
|
||||
$created_at = Temporal::getDateTimeField(
|
||||
new \DateTime(DBA::NULL_DATETIME),
|
||||
new \DateTime('now'),
|
||||
|
|
@ -149,39 +181,45 @@ class Compose extends BaseModule
|
|||
|
||||
$tpl = Renderer::getMarkupTemplate('item/compose.tpl');
|
||||
return Renderer::replaceMacros($tpl, [
|
||||
'$compose_title'=> $compose_title,
|
||||
'$visibility_title'=> DI::l10n()->t('Visibility'),
|
||||
'$l10n' => [
|
||||
'compose_title' => $compose_title,
|
||||
'default' => '',
|
||||
'visibility_title' => $this->l10n->t('Visibility'),
|
||||
'mytitle' => $this->l10n->t('This is you'),
|
||||
'submit' => $this->l10n->t('Submit'),
|
||||
'edbold' => $this->l10n->t('Bold'),
|
||||
'editalic' => $this->l10n->t('Italic'),
|
||||
'eduline' => $this->l10n->t('Underline'),
|
||||
'edquote' => $this->l10n->t('Quote'),
|
||||
'edcode' => $this->l10n->t('Code'),
|
||||
'edimg' => $this->l10n->t('Image'),
|
||||
'edurl' => $this->l10n->t('Link'),
|
||||
'edattach' => $this->l10n->t('Link or Media'),
|
||||
'prompttext' => $this->l10n->t('Please enter a image/video/audio/webpage URL:'),
|
||||
'preview' => $this->l10n->t('Preview'),
|
||||
'location_set' => $this->l10n->t('Set your location'),
|
||||
'location_clear' => $this->l10n->t('Clear the location'),
|
||||
'location_unavailable' => $this->l10n->t('Location services are unavailable on your device'),
|
||||
'location_disabled' => $this->l10n->t('Location services are disabled. Please check the website\'s permissions on your device'),
|
||||
'wait' => $this->l10n->t('Please wait'),
|
||||
'placeholdertitle' => $this->l10n->t('Set title'),
|
||||
'placeholdercategory' => Feature::isEnabled(local_user(),'categories') ? $this->l10n->t('Categories (comma-separated list)') : '',
|
||||
'always_open_compose' => $this->pConfig->get(local_user(), 'frio', 'always_open_compose',
|
||||
$this->config->get('frio', 'always_open_compose', false)) ? '' :
|
||||
$this->l10n->t('You can make this page always open when you use the New Post button in the <a href="/settings/display">Theme Customization settings</a>.'),
|
||||
],
|
||||
|
||||
'$id' => 0,
|
||||
'$posttype' => $posttype,
|
||||
'$type' => $type,
|
||||
'$wall' => $wall,
|
||||
'$default' => '',
|
||||
'$mylink' => DI::baseUrl()->remove($contact['url']),
|
||||
'$mytitle' => DI::l10n()->t('This is you'),
|
||||
'$myphoto' => DI::baseUrl()->remove($contact['thumb']),
|
||||
'$submit' => DI::l10n()->t('Submit'),
|
||||
'$edbold' => DI::l10n()->t('Bold'),
|
||||
'$editalic' => DI::l10n()->t('Italic'),
|
||||
'$eduline' => DI::l10n()->t('Underline'),
|
||||
'$edquote' => DI::l10n()->t('Quote'),
|
||||
'$edcode' => DI::l10n()->t('Code'),
|
||||
'$edimg' => DI::l10n()->t('Image'),
|
||||
'$edurl' => DI::l10n()->t('Link'),
|
||||
'$edattach' => DI::l10n()->t('Link or Media'),
|
||||
'$prompttext' => DI::l10n()->t('Please enter a image/video/audio/webpage URL:'),
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$location_set' => DI::l10n()->t('Set your location'),
|
||||
'$location_clear' => DI::l10n()->t('Clear the location'),
|
||||
'$location_unavailable' => DI::l10n()->t('Location services are unavailable on your device'),
|
||||
'$location_disabled' => DI::l10n()->t('Location services are disabled. Please check the website\'s permissions on your device'),
|
||||
'$wait' => DI::l10n()->t('Please wait'),
|
||||
'$placeholdertitle' => DI::l10n()->t('Set title'),
|
||||
'$placeholdercategory' => (Feature::isEnabled(local_user(),'categories') ? DI::l10n()->t('Categories (comma-separated list)') : ''),
|
||||
'$mylink' => $this->baseUrl->remove($contact['url']),
|
||||
'$myphoto' => $this->baseUrl->remove($contact['thumb']),
|
||||
'$scheduled_at' => Temporal::getDateTimeField(
|
||||
new DateTime(),
|
||||
new DateTime('now + 6 months'),
|
||||
null,
|
||||
DI::l10n()->t('Scheduled at'),
|
||||
$this->l10n->t('Scheduled at'),
|
||||
'scheduled_at'
|
||||
),
|
||||
'$created_at' => $created_at,
|
||||
|
|
@ -197,7 +235,7 @@ class Compose extends BaseModule
|
|||
|
||||
'$jotplugins' => $jotplugins,
|
||||
'$rand_num' => Crypto::randomDigits(12),
|
||||
'$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), $doesFederate, [
|
||||
'$acl_selector' => ACL::getFullSelectorHTML($this->page, $a->getLoggedInUserId(), $doesFederate, [
|
||||
'allow_cid' => $contact_allow_list,
|
||||
'allow_gid' => $group_allow_list,
|
||||
'deny_cid' => $contact_deny_list,
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class NodeInfo110 extends BaseModule
|
|||
'version' => '1.0',
|
||||
'software' => [
|
||||
'name' => 'friendica',
|
||||
'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
],
|
||||
'protocols' => [
|
||||
'inbound' => [
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class NodeInfo120 extends BaseModule
|
|||
'version' => '2.0',
|
||||
'software' => [
|
||||
'name' => 'friendica',
|
||||
'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
],
|
||||
'protocols' => ['dfrn', 'activitypub'],
|
||||
'services' => Nodeinfo::getServices(),
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class NodeInfo210 extends BaseModule
|
|||
'baseUrl' => $this->baseUrl->get(),
|
||||
'name' => $this->config->get('config', 'sitename'),
|
||||
'software' => 'friendica',
|
||||
'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
],
|
||||
'organization' => Nodeinfo::getOrganization($this->config),
|
||||
'protocols' => ['dfrn', 'activitypub'],
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ use Friendica\Content\Text\BBCode;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\BaseNotifications;
|
||||
use Friendica\Module\Response;
|
||||
|
|
@ -211,7 +212,7 @@ class Introductions extends BaseNotifications
|
|||
}
|
||||
|
||||
if (count($notifications['notifications']) == 0) {
|
||||
notice($this->t('No introductions.'));
|
||||
DI::sysmsg()->addNotice($this->t('No introductions.'));
|
||||
$notificationNoContent = $this->t('No more %s notifications.', $notifications['ident']);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ use Friendica\Contact\Introduction\Repository\Introduction;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Module\Security\Login;
|
||||
|
|
@ -131,7 +132,7 @@ class Notification extends BaseModule
|
|||
protected function content(array $request = []): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice($this->l10n->t('You must be logged in to show this page.'));
|
||||
DI::sysmsg()->addNotice($this->l10n->t('You must be logged in to show this page.'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -338,7 +338,7 @@ class Photo extends BaseModule
|
|||
}
|
||||
if ($update) {
|
||||
Logger::info('Invalid file, contact update initiated', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]);
|
||||
Worker::add(PRIORITY_LOW, 'UpdateContact', $id);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateContact', $id);
|
||||
} else {
|
||||
Logger::info('Invalid file', ['cid' => $id, 'url' => $contact['url'], 'avatar' => $url]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ class Profile extends BaseProfile
|
|||
$o = self::getTabsHTML($a, 'profile', $is_owner, $profile['nickname'], $profile['hide-friends']);
|
||||
|
||||
if (!empty($profile['hidewall']) && !$is_owner && !$remote_contact_id) {
|
||||
notice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ class Status extends BaseProfile
|
|||
$last_updated_key = "profile:" . $profile['uid'] . ":" . local_user() . ":" . $remote_contact;
|
||||
|
||||
if (!empty($profile['hidewall']) && !$is_owner && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,20 +74,20 @@ class Register extends BaseModule
|
|||
$block = DI::config()->get('system', 'block_extended_register');
|
||||
|
||||
if (local_user() && $block) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
if (local_user()) {
|
||||
$user = DBA::selectFirst('user', ['parent-uid'], ['uid' => local_user()]);
|
||||
if (!empty($user['parent-uid'])) {
|
||||
notice(DI::l10n()->t('Only parent users can create additional accounts.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Only parent users can create additional accounts.'));
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
if (!local_user() && (intval(DI::config()->get('config', 'register_policy')) === self::CLOSED)) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ class Register extends BaseModule
|
|||
$count = DBA::count('user', ['`register_date` > UTC_TIMESTAMP - INTERVAL 1 day']);
|
||||
if ($count >= $max_dailies) {
|
||||
Logger::notice('max daily registrations exceeded.');
|
||||
notice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.'));
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
@ -203,19 +203,19 @@ class Register extends BaseModule
|
|||
$additional_account = false;
|
||||
|
||||
if (!local_user() && !empty($arr['post']['parent_password'])) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
} elseif (local_user() && !empty($arr['post']['parent_password'])) {
|
||||
try {
|
||||
Model\User::getIdFromPasswordAuthentication(local_user(), $arr['post']['parent_password']);
|
||||
} catch (\Exception $ex) {
|
||||
notice(DI::l10n()->t("Password doesn't match."));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t("Password doesn't match."));
|
||||
$regdata = ['nickname' => $arr['post']['nickname'], 'username' => $arr['post']['username']];
|
||||
DI::baseUrl()->redirect('register?' . http_build_query($regdata));
|
||||
}
|
||||
$additional_account = true;
|
||||
} elseif (local_user()) {
|
||||
notice(DI::l10n()->t('Please enter your password.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Please enter your password.'));
|
||||
$regdata = ['nickname' => $arr['post']['nickname'], 'username' => $arr['post']['username']];
|
||||
DI::baseUrl()->redirect('register?' . http_build_query($regdata));
|
||||
}
|
||||
|
|
@ -242,7 +242,7 @@ class Register extends BaseModule
|
|||
case self::CLOSED:
|
||||
default:
|
||||
if (empty($_SESSION['authenticated']) && empty($_SESSION['administrator'])) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return;
|
||||
}
|
||||
$blocked = 1;
|
||||
|
|
@ -257,14 +257,14 @@ class Register extends BaseModule
|
|||
// Is there text in the tar pit?
|
||||
if (!empty($arr['email'])) {
|
||||
Logger::info('Tar pit', $arr);
|
||||
notice(DI::l10n()->t('You have entered too much information.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You have entered too much information.'));
|
||||
DI::baseUrl()->redirect('register/');
|
||||
}
|
||||
|
||||
if ($additional_account) {
|
||||
$user = DBA::selectFirst('user', ['email'], ['uid' => local_user()]);
|
||||
if (!DBA::isResult($user)) {
|
||||
notice(DI::l10n()->t('User not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('User not found.'));
|
||||
DI::baseUrl()->redirect('register');
|
||||
}
|
||||
|
||||
|
|
@ -280,7 +280,7 @@ class Register extends BaseModule
|
|||
|
||||
if ($arr['email'] != $arr['repeat']) {
|
||||
Logger::info('Mail mismatch', $arr);
|
||||
notice(DI::l10n()->t('Please enter the identical mail address in the second field.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Please enter the identical mail address in the second field.'));
|
||||
$regdata = ['email' => $arr['email'], 'nickname' => $arr['nickname'], 'username' => $arr['username']];
|
||||
DI::baseUrl()->redirect('register?' . http_build_query($regdata));
|
||||
}
|
||||
|
|
@ -292,7 +292,7 @@ class Register extends BaseModule
|
|||
try {
|
||||
$result = Model\User::create($arr);
|
||||
} catch (\Exception $e) {
|
||||
notice($e->getMessage());
|
||||
DI::sysmsg()->addNotice($e->getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -302,12 +302,12 @@ class Register extends BaseModule
|
|||
|
||||
if ($netpublish && intval(DI::config()->get('config', 'register_policy')) !== self::APPROVE) {
|
||||
$url = $base_url . '/profile/' . $user['nickname'];
|
||||
Worker::add(PRIORITY_LOW, 'Directory', $url);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory', $url);
|
||||
}
|
||||
|
||||
if ($additional_account) {
|
||||
DBA::update('user', ['parent-uid' => local_user()], ['uid' => $user['uid']]);
|
||||
info(DI::l10n()->t('The additional account was created.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('The additional account was created.'));
|
||||
DI::baseUrl()->redirect('delegation');
|
||||
}
|
||||
|
||||
|
|
@ -332,28 +332,28 @@ class Register extends BaseModule
|
|||
);
|
||||
|
||||
if ($res) {
|
||||
info(DI::l10n()->t('Registration successful. Please check your email for further instructions.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Registration successful. Please check your email for further instructions.'));
|
||||
DI::baseUrl()->redirect();
|
||||
} else {
|
||||
notice(
|
||||
DI::sysmsg()->addNotice(
|
||||
DI::l10n()->t('Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login.',
|
||||
$user['email'],
|
||||
$result['password'])
|
||||
);
|
||||
}
|
||||
} else {
|
||||
info(DI::l10n()->t('Registration successful.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Registration successful.'));
|
||||
DI::baseUrl()->redirect();
|
||||
}
|
||||
} elseif (intval(DI::config()->get('config', 'register_policy')) === self::APPROVE) {
|
||||
if (!strlen(DI::config()->get('config', 'admin_email'))) {
|
||||
notice(DI::l10n()->t('Your registration can not be processed.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Your registration can not be processed.'));
|
||||
DI::baseUrl()->redirect();
|
||||
}
|
||||
|
||||
// Check if the note to the admin is actually filled out
|
||||
if (empty($_POST['permonlybox'])) {
|
||||
notice(DI::l10n()->t('You have to leave a request note for the admin.')
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You have to leave a request note for the admin.')
|
||||
. DI::l10n()->t('Your registration can not be processed.'));
|
||||
|
||||
DI::baseUrl()->redirect('register/');
|
||||
|
|
@ -399,7 +399,7 @@ class Register extends BaseModule
|
|||
$result['password']
|
||||
);
|
||||
|
||||
info(DI::l10n()->t('Your registration is pending approval by the site owner.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Your registration is pending approval by the site owner.'));
|
||||
DI::baseUrl()->redirect();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ use Friendica\Core\Protocol;
|
|||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Search;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User;
|
||||
|
|
@ -68,25 +69,25 @@ class RemoteFollow extends BaseModule
|
|||
}
|
||||
|
||||
if (empty($this->owner)) {
|
||||
notice($this->t('Profile unavailable.'));
|
||||
DI::sysmsg()->addNotice($this->t('Profile unavailable.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$url = Probe::cleanURI($_POST['dfrn_url']);
|
||||
if (!strlen($url)) {
|
||||
notice($this->t("Invalid locator"));
|
||||
DI::sysmsg()->addNotice($this->t("Invalid locator"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Detect the network, make sure the provided URL is valid
|
||||
$data = Contact::getByURL($url);
|
||||
if (!$data) {
|
||||
notice($this->t("The provided profile link doesn't seem to be valid"));
|
||||
DI::sysmsg()->addNotice($this->t("The provided profile link doesn't seem to be valid"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (empty($data['subscribe'])) {
|
||||
notice($this->t("Remote subscription can't be done for your network. Please subscribe directly on your system."));
|
||||
DI::sysmsg()->addNotice($this->t("Remote subscription can't be done for your network. Please subscribe directly on your system."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class Directory extends BaseSearch
|
|||
protected function content(array $request = []): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class Index extends BaseSearch
|
|||
// Tags don't look like an URL and the fulltext search does only work with natural words
|
||||
if (parse_url($search, PHP_URL_SCHEME) && parse_url($search, PHP_URL_HOST)) {
|
||||
Logger::info('Skipping tag and fulltext search since the search looks like a URL.', ['q' => $search]);
|
||||
notice(DI::l10n()->t('No results.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No results.'));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ class Index extends BaseSearch
|
|||
|
||||
if (empty($items)) {
|
||||
if (empty($last_uriid)) {
|
||||
notice(DI::l10n()->t('No results.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('No results.'));
|
||||
}
|
||||
return $o;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Search;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Util\Profiler;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
|
@ -55,16 +56,16 @@ class Saved extends BaseModule
|
|||
$fields = ['uid' => local_user(), 'term' => $search];
|
||||
if (!$this->dba->exists('search', $fields)) {
|
||||
if (!$this->dba->insert('search', $fields)) {
|
||||
notice($this->t('Search term was not saved.'));
|
||||
DI::sysmsg()->addNotice($this->t('Search term was not saved.'));
|
||||
}
|
||||
} else {
|
||||
notice($this->t('Search term already saved.'));
|
||||
DI::sysmsg()->addNotice($this->t('Search term already saved.'));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
if (!$this->dba->delete('search', ['uid' => local_user(), 'term' => $search])) {
|
||||
notice($this->t('Search term was not removed.'));
|
||||
DI::sysmsg()->addNotice($this->t('Search term was not removed.'));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ use Friendica\Core\Hook;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Session\Capability\IHandleSessions;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Model\User\Cookie;
|
||||
use Friendica\Module\Response;
|
||||
|
|
@ -80,7 +81,7 @@ class Logout extends BaseModule
|
|||
if ($visitor_home) {
|
||||
System::externalRedirect($visitor_home);
|
||||
} else {
|
||||
info($this->t('Logged out.'));
|
||||
DI::sysmsg()->addInfo($this->t('Logged out.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,9 +87,9 @@ class OpenID extends BaseModule
|
|||
$session->set('openid_server', $open_id_obj->discover($open_id_obj->identity));
|
||||
|
||||
if (intval(DI::config()->get('config', 'register_policy')) === \Friendica\Module\Register::CLOSED) {
|
||||
notice($l10n->t('Account not found. Please login to your existing account to add the OpenID to it.'));
|
||||
DI::sysmsg()->addNotice($l10n->t('Account not found. Please login to your existing account to add the OpenID to it.'));
|
||||
} else {
|
||||
notice($l10n->t('Account not found. Please register a new account or login to your existing account to add the OpenID to it.'));
|
||||
DI::sysmsg()->addNotice($l10n->t('Account not found. Please register a new account or login to your existing account to add the OpenID to it.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('login');
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session\Capability\IHandleSessions;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Security\Authentication;
|
||||
|
|
@ -70,13 +71,13 @@ class Recovery extends BaseModule
|
|||
if (RecoveryCode::existsForUser(local_user(), $recovery_code)) {
|
||||
RecoveryCode::markUsedForUser(local_user(), $recovery_code);
|
||||
$this->session->set('2fa', true);
|
||||
info($this->t('Remaining recovery codes: %d', RecoveryCode::countValidForUser(local_user())));
|
||||
DI::sysmsg()->addInfo($this->t('Remaining recovery codes: %d', RecoveryCode::countValidForUser(local_user())));
|
||||
|
||||
$this->auth->setForUser($this->app, User::getById($this->app->getLoggedInUserId()), true, true);
|
||||
|
||||
$this->baseUrl->redirect($this->session->pop('return_path', ''));
|
||||
} else {
|
||||
notice($this->t('Invalid code, please retry.'));
|
||||
DI::sysmsg()->addNotice($this->t('Invalid code, please retry.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session\Capability\IHandleSessions;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\User\Cookie;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Network\HTTPException\NotFoundException;
|
||||
|
|
@ -75,7 +76,7 @@ class SignOut extends BaseModule
|
|||
$this->cookie->reset(['2fa_cookie_hash' => $trusted]);
|
||||
$this->session->clear();
|
||||
|
||||
info($this->t('Logged out.'));
|
||||
DI::sysmsg()->addInfo($this->t('Logged out.'));
|
||||
$this->baseUrl->redirect();
|
||||
break;
|
||||
case 'sign_out':
|
||||
|
|
@ -83,7 +84,7 @@ class SignOut extends BaseModule
|
|||
$this->cookie->clear();
|
||||
$this->session->clear();
|
||||
|
||||
info($this->t('Logged out.'));
|
||||
DI::sysmsg()->addInfo($this->t('Logged out.'));
|
||||
$this->baseUrl->redirect();
|
||||
break;
|
||||
default:
|
||||
|
|
@ -105,14 +106,14 @@ class SignOut extends BaseModule
|
|||
$this->cookie->reset(['2fa_cookie_hash' => $trusted]);
|
||||
$this->session->clear();
|
||||
|
||||
info($this->t('Logged out.'));
|
||||
DI::sysmsg()->addInfo($this->t('Logged out.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
} catch (TwoFactor\Exception\TrustedBrowserNotFoundException $exception) {
|
||||
$this->cookie->clear();
|
||||
$this->session->clear();
|
||||
|
||||
info($this->t('Logged out.'));
|
||||
DI::sysmsg()->addInfo($this->t('Logged out.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session\Capability\IHandleSessions;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Model\User\Cookie;
|
||||
use Friendica\Module\Response;
|
||||
|
|
@ -92,7 +93,7 @@ class Trust extends BaseModule
|
|||
|
||||
// The string is sent to the browser to be sent back with each request
|
||||
if (!$this->cookie->set('2fa_cookie_hash', $trustedBrowser->cookie_hash)) {
|
||||
notice($this->t('Couldn\'t save browser to Cookie.'));
|
||||
DI::sysmsg()->addNotice($this->t('Couldn\'t save browser to Cookie.'));
|
||||
};
|
||||
} catch (TrustedBrowserPersistenceException $exception) {
|
||||
$this->logger->warning('Unexpected error when saving the trusted browser.', ['trustedBrowser' => $trustedBrowser, 'exception' => $exception]);
|
||||
|
|
|
|||
|
|
@ -75,10 +75,10 @@ class Account extends BaseSettings
|
|||
throw new Exception(DI::l10n()->t('Password update failed. Please try again.'));
|
||||
}
|
||||
|
||||
info(DI::l10n()->t('Password changed.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Password changed.'));
|
||||
} catch (Exception $e) {
|
||||
notice($e->getMessage());
|
||||
notice(DI::l10n()->t('Password unchanged.'));
|
||||
DI::sysmsg()->addNotice($e->getMessage());
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Password unchanged.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -123,7 +123,7 @@ class Account extends BaseSettings
|
|||
}
|
||||
|
||||
if (strlen($err)) {
|
||||
notice($err);
|
||||
DI::sysmsg()->addNotice($err);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +146,7 @@ class Account extends BaseSettings
|
|||
}
|
||||
|
||||
if (!User::update($fields, local_user())) {
|
||||
notice(DI::l10n()->t('Settings were not updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
// clear session language
|
||||
|
|
@ -198,7 +198,7 @@ class Account extends BaseSettings
|
|||
];
|
||||
|
||||
if (!User::update($fields, local_user()) || !Profile::update($profile_fields, local_user())) {
|
||||
notice(DI::l10n()->t('Settings were not updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -218,7 +218,7 @@ class Account extends BaseSettings
|
|||
DI::pConfig()->set(local_user(), 'expire', 'network_only', $expire_network_only);
|
||||
|
||||
if (!User::update(['expire' => $expire], local_user())) {
|
||||
notice(DI::l10n()->t('Settings were not updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -302,7 +302,7 @@ class Account extends BaseSettings
|
|||
];
|
||||
|
||||
if (!User::update($fields, local_user())) {
|
||||
notice(DI::l10n()->t('Settings were not updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -351,7 +351,7 @@ class Account extends BaseSettings
|
|||
]);
|
||||
|
||||
if (!User::update($fields, local_user()) || !empty($profile_fields) && !Profile::update($profile_fields, local_user())) {
|
||||
notice(DI::l10n()->t('Settings were not updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
|
|
@ -363,7 +363,7 @@ class Account extends BaseSettings
|
|||
// was there an error
|
||||
if ($_FILES['importcontact-filename']['error'] > 0) {
|
||||
Logger::notice('Contact CSV file upload error', ['error' => $_FILES['importcontact-filename']['error']]);
|
||||
notice(DI::l10n()->t('Contact CSV file upload error'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Contact CSV file upload error'));
|
||||
} else {
|
||||
$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name']));
|
||||
Logger::notice('Import started', ['lines' => count($csvArray)]);
|
||||
|
|
@ -375,14 +375,14 @@ class Account extends BaseSettings
|
|||
// "http" or "@" to be present in the string.
|
||||
// All other fields from the row will be ignored
|
||||
if ((strpos($csvRow[0], '@') !== false) || Network::isValidHttpUrl($csvRow[0])) {
|
||||
Worker::add(PRIORITY_MEDIUM, 'AddContact', local_user(), $csvRow[0]);
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'AddContact', local_user(), $csvRow[0]);
|
||||
} else {
|
||||
Logger::notice('Invalid account', ['url' => $csvRow[0]]);
|
||||
}
|
||||
}
|
||||
Logger::notice('Import done');
|
||||
|
||||
info(DI::l10n()->t('Importing Contacts done'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Importing Contacts done'));
|
||||
// delete temp file
|
||||
unlink($_FILES['importcontact-filename']['tmp_name']);
|
||||
}
|
||||
|
|
@ -394,8 +394,8 @@ class Account extends BaseSettings
|
|||
}
|
||||
|
||||
if (!empty($request['relocate-submit'])) {
|
||||
Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, local_user());
|
||||
info(DI::l10n()->t("Relocate message has been send to your contacts"));
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, local_user());
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t("Relocate message has been send to your contacts"));
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
}
|
||||
|
||||
|
|
@ -412,7 +412,7 @@ class Account extends BaseSettings
|
|||
|
||||
$profile = DBA::selectFirst('profile', [], ['uid' => local_user()]);
|
||||
if (!DBA::isResult($profile)) {
|
||||
notice(DI::l10n()->t('Unable to find your profile. Please contact your admin.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to find your profile. Please contact your admin.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,13 +50,13 @@ class Delegation extends BaseSettings
|
|||
if ($parent_uid != 0) {
|
||||
try {
|
||||
User::getIdFromPasswordAuthentication($parent_uid, $parent_password);
|
||||
info(DI::l10n()->t('Delegation successfully granted.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Delegation successfully granted.'));
|
||||
} catch (\Exception $ex) {
|
||||
notice(DI::l10n()->t('Parent user not found, unavailable or password doesn\'t match.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Parent user not found, unavailable or password doesn\'t match.'));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
info(DI::l10n()->t('Delegation successfully revoked.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Delegation successfully revoked.'));
|
||||
}
|
||||
|
||||
DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]);
|
||||
|
|
@ -78,7 +78,7 @@ class Delegation extends BaseSettings
|
|||
|
||||
if ($action === 'add' && $user_id) {
|
||||
if (Session::get('submanage')) {
|
||||
notice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
|
||||
DI::baseUrl()->redirect('settings/delegation');
|
||||
}
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ class Delegation extends BaseSettings
|
|||
DBA::insert('manage', ['uid' => $user_id, 'mid' => local_user()]);
|
||||
}
|
||||
} else {
|
||||
notice(DI::l10n()->t('Delegate user not found.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Delegate user not found.'));
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('settings/delegation');
|
||||
|
|
@ -100,7 +100,7 @@ class Delegation extends BaseSettings
|
|||
|
||||
if ($action === 'remove' && $user_id) {
|
||||
if (Session::get('submanage')) {
|
||||
notice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.'));
|
||||
DI::baseUrl()->redirect('settings/delegation');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class Display extends BaseSettings
|
|||
DBA::update('user', ['theme' => $theme], ['uid' => local_user()]);
|
||||
}
|
||||
} else {
|
||||
notice(DI::l10n()->t('The theme you chose isn\'t available.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('The theme you chose isn\'t available.'));
|
||||
}
|
||||
|
||||
Hook::callAll('display_settings_post', $_POST);
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ class Index extends BaseSettings
|
|||
|
||||
$name = trim($_POST['name'] ?? '');
|
||||
if (!strlen($name)) {
|
||||
notice(DI::l10n()->t('Profile Name is required.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Profile Name is required.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ class Index extends BaseSettings
|
|||
);
|
||||
|
||||
if (!$result) {
|
||||
notice(DI::l10n()->t('Profile couldn\'t be updated.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Profile couldn\'t be updated.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ class Index extends BaseSettings
|
|||
protected function content(array $request = []): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
notice(DI::l10n()->t('You must be logged in to use this module'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('You must be logged in to use this module'));
|
||||
return Login::form();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class Crop extends BaseSettings
|
|||
Photo::USER_AVATAR
|
||||
);
|
||||
if ($r === false) {
|
||||
notice(DI::l10n()->t('Image size reduction [%s] failed.', '300'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image size reduction [%s] failed.', '300'));
|
||||
} else {
|
||||
Photo::update(['profile' => true], array_merge($condition, ['scale' => 4]));
|
||||
}
|
||||
|
|
@ -123,7 +123,7 @@ class Crop extends BaseSettings
|
|||
Photo::USER_AVATAR
|
||||
);
|
||||
if ($r === false) {
|
||||
notice(DI::l10n()->t('Image size reduction [%s] failed.', '80'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image size reduction [%s] failed.', '80'));
|
||||
} else {
|
||||
Photo::update(['profile' => true], array_merge($condition, ['scale' => 5]));
|
||||
}
|
||||
|
|
@ -141,19 +141,19 @@ class Crop extends BaseSettings
|
|||
Photo::USER_AVATAR
|
||||
);
|
||||
if ($r === false) {
|
||||
notice(DI::l10n()->t('Image size reduction [%s] failed.', '48'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image size reduction [%s] failed.', '48'));
|
||||
} else {
|
||||
Photo::update(['profile' => true], array_merge($condition, ['scale' => 6]));
|
||||
}
|
||||
|
||||
Contact::updateSelfFromUserID(local_user(), true);
|
||||
|
||||
info(DI::l10n()->t('Shift-reload the page or clear browser cache if the new photo does not display immediately.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Shift-reload the page or clear browser cache if the new photo does not display immediately.'));
|
||||
|
||||
// Update global directory in background
|
||||
Profile::publishUpdate(local_user());
|
||||
} else {
|
||||
notice(DI::l10n()->t('Unable to process image'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to process image'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ class Crop extends BaseSettings
|
|||
// Update global directory in background
|
||||
Profile::publishUpdate(local_user());
|
||||
|
||||
info(DI::l10n()->t('Profile picture successfully updated.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Profile picture successfully updated.'));
|
||||
|
||||
DI::baseUrl()->redirect('profile/' . DI::app()->getLoggedInUserNickname());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class Index extends BaseSettings
|
|||
self::checkFormSecurityTokenRedirectOnError('/settings/profile/photo', 'settings_profile_photo');
|
||||
|
||||
if (empty($_FILES['userfile'])) {
|
||||
notice(DI::l10n()->t('Missing uploaded image.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Missing uploaded image.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ class Index extends BaseSettings
|
|||
$maximagesize = DI::config()->get('system', 'maximagesize', 0);
|
||||
|
||||
if ($maximagesize && $filesize > $maximagesize) {
|
||||
notice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image exceeds size limit of %s', Strings::formatBytes($maximagesize)));
|
||||
@unlink($src);
|
||||
return;
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@ class Index extends BaseSettings
|
|||
$Image = new Image($imagedata, $filetype);
|
||||
|
||||
if (!$Image->isValid()) {
|
||||
notice(DI::l10n()->t('Unable to process image.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Unable to process image.'));
|
||||
@unlink($src);
|
||||
return;
|
||||
}
|
||||
|
|
@ -93,13 +93,13 @@ class Index extends BaseSettings
|
|||
$filename = '';
|
||||
|
||||
if (!Photo::store($Image, local_user(), 0, $resource_id, $filename, DI::l10n()->t(Photo::PROFILE_PHOTOS), 0, Photo::USER_AVATAR)) {
|
||||
notice(DI::l10n()->t('Image upload failed.'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image upload failed.'));
|
||||
}
|
||||
|
||||
if ($width > 640 || $height > 640) {
|
||||
$Image->scaleDown(640);
|
||||
if (!Photo::store($Image, local_user(), 0, $resource_id, $filename, DI::l10n()->t(Photo::PROFILE_PHOTOS), 1, Photo::USER_AVATAR)) {
|
||||
notice(DI::l10n()->t('Image size reduction [%s] failed.', '640'));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Image size reduction [%s] failed.', '640'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Friendica\App;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Security\TwoFactor\Model\AppSpecificPassword;
|
||||
use Friendica\Module\BaseSettings;
|
||||
|
|
@ -61,7 +62,7 @@ class AppSpecific extends BaseSettings
|
|||
}
|
||||
|
||||
if (!self::checkFormSecurityToken('settings_2fa_password', 't')) {
|
||||
notice($this->t('Please enter your password to access this page.'));
|
||||
DI::sysmsg()->addNotice($this->t('Please enter your password to access this page.'));
|
||||
$this->baseUrl->redirect('settings/2fa');
|
||||
}
|
||||
}
|
||||
|
|
@ -79,20 +80,20 @@ class AppSpecific extends BaseSettings
|
|||
case 'generate':
|
||||
$description = $_POST['description'] ?? '';
|
||||
if (empty($description)) {
|
||||
notice($this->t('App-specific password generation failed: The description is empty.'));
|
||||
DI::sysmsg()->addNotice($this->t('App-specific password generation failed: The description is empty.'));
|
||||
$this->baseUrl->redirect('settings/2fa/app_specific?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
} elseif (AppSpecificPassword::checkDuplicateForUser(local_user(), $description)) {
|
||||
notice($this->t('App-specific password generation failed: This description already exists.'));
|
||||
DI::sysmsg()->addNotice($this->t('App-specific password generation failed: This description already exists.'));
|
||||
$this->baseUrl->redirect('settings/2fa/app_specific?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
} else {
|
||||
$this->appSpecificPassword = AppSpecificPassword::generateForUser(local_user(), $_POST['description'] ?? '');
|
||||
info($this->t('New app-specific password generated.'));
|
||||
DI::sysmsg()->addInfo($this->t('New app-specific password generated.'));
|
||||
}
|
||||
|
||||
break;
|
||||
case 'revoke_all' :
|
||||
AppSpecificPassword::deleteAllForUser(local_user());
|
||||
info($this->t('App-specific passwords successfully revoked.'));
|
||||
DI::sysmsg()->addInfo($this->t('App-specific passwords successfully revoked.'));
|
||||
$this->baseUrl->redirect('settings/2fa/app_specific?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
break;
|
||||
}
|
||||
|
|
@ -102,7 +103,7 @@ class AppSpecific extends BaseSettings
|
|||
self::checkFormSecurityTokenRedirectOnError('settings/2fa/app_specific', 'settings_2fa_app_specific');
|
||||
|
||||
if (AppSpecificPassword::deleteForUser(local_user(), $_POST['revoke_id'])) {
|
||||
info($this->t('App-specific password successfully revoked.'));
|
||||
DI::sysmsg()->addInfo($this->t('App-specific password successfully revoked.'));
|
||||
}
|
||||
|
||||
$this->baseUrl->redirect('settings/2fa/app_specific?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class Index extends BaseSettings
|
|||
DI::pConfig()->delete(local_user(), '2fa', 'verified');
|
||||
Session::remove('2fa');
|
||||
|
||||
info(DI::l10n()->t('Two-factor authentication successfully disabled.'));
|
||||
DI::sysmsg()->addInfo(DI::l10n()->t('Two-factor authentication successfully disabled.'));
|
||||
DI::baseUrl()->redirect('settings/2fa');
|
||||
}
|
||||
break;
|
||||
|
|
@ -98,7 +98,7 @@ class Index extends BaseSettings
|
|||
} catch (FoundException $exception) {
|
||||
// Nothing to do here
|
||||
} catch (\Exception $e) {
|
||||
notice(DI::l10n()->t($e->getMessage()));
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t($e->getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Friendica\App;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Security\TwoFactor\Model\RecoveryCode;
|
||||
use Friendica\Module\BaseSettings;
|
||||
|
|
@ -59,7 +60,7 @@ class Recovery extends BaseSettings
|
|||
}
|
||||
|
||||
if (!self::checkFormSecurityToken('settings_2fa_password', 't')) {
|
||||
notice($this->t('Please enter your password to access this page.'));
|
||||
DI::sysmsg()->addNotice($this->t('Please enter your password to access this page.'));
|
||||
$this->baseUrl->redirect('settings/2fa');
|
||||
}
|
||||
}
|
||||
|
|
@ -75,7 +76,7 @@ class Recovery extends BaseSettings
|
|||
|
||||
if ($_POST['action'] == 'regenerate') {
|
||||
RecoveryCode::regenerateForUser(local_user());
|
||||
info($this->t('New recovery codes successfully generated.'));
|
||||
DI::sysmsg()->addInfo($this->t('New recovery codes successfully generated.'));
|
||||
$this->baseUrl->redirect('settings/2fa/recovery?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use Friendica\App;
|
|||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\BaseSettings;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Security\TwoFactor;
|
||||
|
|
@ -62,7 +63,7 @@ class Trusted extends BaseSettings
|
|||
}
|
||||
|
||||
if (!self::checkFormSecurityToken('settings_2fa_password', 't')) {
|
||||
notice($this->t('Please enter your password to access this page.'));
|
||||
DI::sysmsg()->addNotice($this->t('Please enter your password to access this page.'));
|
||||
$this->baseUrl->redirect('settings/2fa');
|
||||
}
|
||||
}
|
||||
|
|
@ -79,7 +80,7 @@ class Trusted extends BaseSettings
|
|||
switch ($_POST['action']) {
|
||||
case 'remove_all':
|
||||
$this->trustedBrowserRepo->removeAllForUser(local_user());
|
||||
info($this->t('Trusted browsers successfully removed.'));
|
||||
DI::sysmsg()->addInfo($this->t('Trusted browsers successfully removed.'));
|
||||
$this->baseUrl->redirect('settings/2fa/trusted?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
break;
|
||||
}
|
||||
|
|
@ -89,7 +90,7 @@ class Trusted extends BaseSettings
|
|||
self::checkFormSecurityTokenRedirectOnError('settings/2fa/trusted', 'settings_2fa_trusted');
|
||||
|
||||
if ($this->trustedBrowserRepo->removeForUser(local_user(), $_POST['remove_id'])) {
|
||||
info($this->t('Trusted browser successfully removed.'));
|
||||
DI::sysmsg()->addInfo($this->t('Trusted browser successfully removed.'));
|
||||
}
|
||||
|
||||
$this->baseUrl->redirect('settings/2fa/trusted?t=' . self::getFormSecurityToken('settings_2fa_password'));
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ use Friendica\Core\L10n;
|
|||
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\BaseSettings;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Module\Security\Login;
|
||||
|
|
@ -65,7 +66,7 @@ class Verify extends BaseSettings
|
|||
}
|
||||
|
||||
if (!self::checkFormSecurityToken('settings_2fa_password', 't')) {
|
||||
notice($this->t('Please enter your password to access this page.'));
|
||||
DI::sysmsg()->addNotice($this->t('Please enter your password to access this page.'));
|
||||
$this->baseUrl->redirect('settings/2fa');
|
||||
}
|
||||
}
|
||||
|
|
@ -87,11 +88,11 @@ class Verify extends BaseSettings
|
|||
$this->pConfig->set(local_user(), '2fa', 'verified', true);
|
||||
Session::set('2fa', true);
|
||||
|
||||
info($this->t('Two-factor authentication successfully activated.'));
|
||||
DI::sysmsg()->addInfo($this->t('Two-factor authentication successfully activated.'));
|
||||
|
||||
$this->baseUrl->redirect('settings/2fa');
|
||||
} else {
|
||||
notice($this->t('Invalid code, please retry.'));
|
||||
DI::sysmsg()->addNotice($this->t('Invalid code, please retry.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@
|
|||
|
||||
namespace Friendica\Module\Settings;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
|
|
@ -253,7 +253,7 @@ class UserExport extends BaseSettings
|
|||
);
|
||||
|
||||
$output = [
|
||||
'version' => FRIENDICA_VERSION,
|
||||
'version' => App::VERSION,
|
||||
'schema' => DB_UPDATE_VERSION,
|
||||
'baseurl' => DI::baseUrl(),
|
||||
'user' => $user,
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ class Statistics extends BaseModule
|
|||
|
||||
$statistics = array_merge([
|
||||
'name' => $this->config->get('config', 'sitename'),
|
||||
'network' => FRIENDICA_PLATFORM,
|
||||
'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'network' => App::PLATFORM,
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'registrations_open' => $registration_open,
|
||||
'total_users' => $this->config->get('nodeinfo', 'total_users'),
|
||||
'active_users_halfyear' => $this->config->get('nodeinfo', 'active_users_halfyear'),
|
||||
|
|
|
|||
|
|
@ -86,9 +86,9 @@ class HttpClient extends BaseFactory
|
|||
$logger->notice('Curl redirect.', ['url' => $request->getUri(), 'to' => $uri, 'method' => $request->getMethod()]);
|
||||
};
|
||||
|
||||
$userAgent = FRIENDICA_PLATFORM . " '" .
|
||||
FRIENDICA_CODENAME . "' " .
|
||||
FRIENDICA_VERSION . '-' .
|
||||
$userAgent = App::PLATFORM . " '" .
|
||||
App::CODENAME . "' " .
|
||||
App::VERSION . '-' .
|
||||
DB_UPDATE_VERSION . '; ' .
|
||||
$this->baseUrl->get();
|
||||
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@
|
|||
|
||||
namespace Friendica\Object\Api\Mastodon;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\App\BaseURL;
|
||||
use Friendica\BaseDataTransferObject;
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Register;
|
||||
|
|
@ -87,7 +87,7 @@ class Instance extends BaseDataTransferObject
|
|||
$this->title = $config->get('config', 'sitename');
|
||||
$this->short_description = $this->description = $config->get('config', 'info');
|
||||
$this->email = $config->get('config', 'admin_email');
|
||||
$this->version = '2.8.0 (compatible; Friendica ' . FRIENDICA_VERSION . ')';
|
||||
$this->version = '2.8.0 (compatible; Friendica ' . App::VERSION . ')';
|
||||
$this->urls = null; // Not supported
|
||||
$this->stats = new Stats($config, $database);
|
||||
$this->thumbnail = $baseUrl->get() . ($config->get('system', 'shortcut_icon') ?? 'images/friendica-32.png');
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ class ItemCCEMail extends Email
|
|||
|
||||
$disclaimer = '<hr />' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $user['username'])
|
||||
. '<br />';
|
||||
$disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getLoggedInUserNickname()) . EOL;
|
||||
$disclaimer .= $l10n->t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL;
|
||||
$disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getLoggedInUserNickname()) . '<br />';
|
||||
$disclaimer .= $l10n->t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . '<br />';
|
||||
if (!$item['title'] == '') {
|
||||
$subject = $item['title'];
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ class Processor
|
|||
}
|
||||
|
||||
/**
|
||||
* Stire attachment data
|
||||
* Store attachment data
|
||||
*
|
||||
* @param array $activity
|
||||
* @param array $item
|
||||
|
|
@ -187,7 +187,7 @@ class Processor
|
|||
}
|
||||
|
||||
/**
|
||||
* Store attachment data
|
||||
* Store question data
|
||||
*
|
||||
* @param array $activity
|
||||
* @param array $item
|
||||
|
|
@ -552,7 +552,7 @@ class Processor
|
|||
Logger::notice('Fetching is done by worker.', ['parent' => $activity['reply-to-id'], 'recursion-depth' => $recursion_depth]);
|
||||
Fetch::add($activity['reply-to-id']);
|
||||
$activity['recursion-depth'] = 0;
|
||||
$wid = Worker::add(PRIORITY_HIGH, 'FetchMissingActivity', $activity['reply-to-id'], $activity, '', Receiver::COMPLETION_AUTO);
|
||||
$wid = Worker::add(Worker::PRIORITY_HIGH, 'FetchMissingActivity', $activity['reply-to-id'], $activity, '', Receiver::COMPLETION_AUTO);
|
||||
Fetch::setWorkerId($activity['reply-to-id'], $wid);
|
||||
} else {
|
||||
Logger::debug('Activity will already be fetched via a worker.', ['url' => $activity['reply-to-id']]);
|
||||
|
|
@ -1665,9 +1665,9 @@ class Processor
|
|||
}
|
||||
if (DI::config()->get('system', 'bulk_delivery')) {
|
||||
Post\Delivery::add($post['uri-id'], $uid, $inbox, $post['created'], Delivery::POST, [$cid]);
|
||||
Worker::add(PRIORITY_HIGH, 'APDelivery', '', 0, $inbox, 0);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'APDelivery', '', 0, $inbox, 0);
|
||||
} else {
|
||||
Worker::add(PRIORITY_HIGH, 'APDelivery', Delivery::POST, $post['id'], $inbox, $uid, [$cid], $post['uri-id']);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'APDelivery', Delivery::POST, $post['id'], $inbox, $uid, [$cid], $post['uri-id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ class Receiver
|
|||
// We delay by 5 seconds to allow to accumulate all receivers
|
||||
$delayed = date(DateTimeFormat::MYSQL, time() + 5);
|
||||
Logger::debug('Initiate processing', ['id' => $object_data['entry-id'], 'uri' => $object_data['object_id']]);
|
||||
$wid = Worker::add(['priority' => PRIORITY_HIGH, 'delayed' => $delayed], 'ProcessQueue', $object_data['entry-id']);
|
||||
$wid = Worker::add(['priority' => Worker::PRIORITY_HIGH, 'delayed' => $delayed], 'ProcessQueue', $object_data['entry-id']);
|
||||
Queue::setWorkerId($object_data['entry-id'], $wid);
|
||||
} else {
|
||||
Logger::debug('Other queue entries need to be processed first.', ['id' => $object_data['entry-id']]);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace Friendica\Protocol\ActivityPub;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Content\Feature;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Core\Cache\Enum\Duration;
|
||||
|
|
@ -40,6 +41,7 @@ use Friendica\Model\User;
|
|||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Protocol\ActivityPub;
|
||||
use Friendica\Protocol\Diaspora;
|
||||
use Friendica\Protocol\Relay;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\HTTPSignature;
|
||||
|
|
@ -415,7 +417,7 @@ class Transmitter
|
|||
{
|
||||
return [
|
||||
'type' => 'Service',
|
||||
'name' => FRIENDICA_PLATFORM . " '" . FRIENDICA_CODENAME . "' " . FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'name' => App::PLATFORM . " '" . App::CODENAME . "' " . App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'url' => DI::baseUrl()->get()
|
||||
];
|
||||
}
|
||||
|
|
@ -1621,6 +1623,8 @@ class Transmitter
|
|||
|
||||
$permission_block = self::createPermissionBlockForItem($item, false);
|
||||
|
||||
$real_quote = false;
|
||||
|
||||
$body = $item['body'];
|
||||
|
||||
if ($type == 'Note') {
|
||||
|
|
@ -1662,10 +1666,17 @@ class Transmitter
|
|||
|
||||
$body = BBCode::setMentionsToNicknames($body);
|
||||
|
||||
$shared = BBCode::fetchShareAttributes($body);
|
||||
if (!empty($shared['link']) && !empty($shared['guid']) && !empty($shared['comment'])) {
|
||||
$body = self::replaceSharedData($body);
|
||||
$data['quoteUrl'] = $shared['link'];
|
||||
if (!empty($item['quote-uri']) && Post::exists(['uri-id' => $item['quote-uri-id'], 'network' => [Protocol::ACTIVITYPUB, Protocol::DFRN]])) {
|
||||
$real_quote = true;
|
||||
if (Diaspora::isReshare($body, false)) {
|
||||
$body = BBCode::replaceSharedData($body);
|
||||
} elseif (strpos($body, $item['quote-uri']) === false) {
|
||||
$body .= "\n♲ " . $item['quote-uri'];
|
||||
}
|
||||
$data['quoteUrl'] = $item['quote-uri'];
|
||||
} elseif (!empty($item['quote-uri']) && !Diaspora::isReshare($body, false)) {
|
||||
$body .= "\n" . DI::contentItem()->createSharedPostByUriId($item['quote-uri-id'], $item['uid'], true);
|
||||
$item['body'] = Item::improveSharedDataInBody($item, true);
|
||||
}
|
||||
|
||||
$data['content'] = BBCode::convertForUriId($item['uri-id'], $body, BBCode::ACTIVITYPUB);
|
||||
|
|
@ -1678,9 +1689,11 @@ class Transmitter
|
|||
if (!empty($language)) {
|
||||
$richbody = BBCode::setMentionsToNicknames($item['body'] ?? '');
|
||||
|
||||
$shared = BBCode::fetchShareAttributes($richbody);
|
||||
if (!empty($shared['link']) && !empty($shared['guid']) && !empty($shared['comment'])) {
|
||||
$richbody = self::replaceSharedData($richbody);
|
||||
if ($real_quote) {
|
||||
$shared = BBCode::fetchShareAttributes($richbody);
|
||||
if (!empty($shared['link']) && !empty($shared['guid']) && !empty($shared['comment'])) {
|
||||
$richbody = BBCode::replaceSharedData($richbody);
|
||||
}
|
||||
}
|
||||
|
||||
$richbody = BBCode::removeAttachment($richbody);
|
||||
|
|
@ -1710,22 +1723,6 @@ class Transmitter
|
|||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the share block with a link
|
||||
*
|
||||
* @param string $body
|
||||
* @return string
|
||||
*/
|
||||
private static function replaceSharedData(string $body): string
|
||||
{
|
||||
return BBCode::convertShare(
|
||||
$body,
|
||||
function (array $attributes) {
|
||||
return '♲ ' . $attributes['link'];
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches the language from the post, the user or the system.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ use DOMDocument;
|
|||
use DOMElement;
|
||||
use DOMNode;
|
||||
use DOMXPath;
|
||||
use Friendica\App;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
|
|
@ -369,8 +370,8 @@ class DFRN
|
|||
XML::addElement($doc, $root, 'id', DI::baseUrl() . '/profile/' . $owner['nick']);
|
||||
XML::addElement($doc, $root, 'title', $owner['name']);
|
||||
|
||||
$attributes = ['uri' => 'https://friendi.ca', 'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION];
|
||||
XML::addElement($doc, $root, 'generator', FRIENDICA_PLATFORM, $attributes);
|
||||
$attributes = ['uri' => 'https://friendi.ca', 'version' => App::VERSION . '-' . DB_UPDATE_VERSION];
|
||||
XML::addElement($doc, $root, 'generator', App::PLATFORM, $attributes);
|
||||
|
||||
$attributes = ['rel' => 'license', 'href' => 'http://creativecommons.org/licenses/by/3.0/'];
|
||||
XML::addElement($doc, $root, 'link', '', $attributes);
|
||||
|
|
|
|||
|
|
@ -2020,7 +2020,7 @@ class Diaspora
|
|||
}
|
||||
|
||||
Logger::info('Deliver participation', ['item' => $comment['id'], 'contact' => $author_contact['cid']]);
|
||||
if (Worker::add(PRIORITY_HIGH, 'Delivery', Delivery::POST, $comment['uri-id'], $author_contact['cid'], $datarray['uid'])) {
|
||||
if (Worker::add(Worker::PRIORITY_HIGH, 'Delivery', Delivery::POST, $comment['uri-id'], $author_contact['cid'], $datarray['uid'])) {
|
||||
Post\DeliveryData::incrementQueueCount($comment['uri-id'], 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,14 @@ namespace Friendica\Protocol;
|
|||
use DOMDocument;
|
||||
use DOMElement;
|
||||
use DOMXPath;
|
||||
use Friendica\App;
|
||||
use Friendica\Content\PageInfo;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Text\HTML;
|
||||
use Friendica\Core\Cache\Enum\Duration;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
|
|
@ -631,7 +633,7 @@ class Feed
|
|||
unset($item['parent-uri']);
|
||||
|
||||
// Set the delivery priority for "remote self" to "medium"
|
||||
$notify = PRIORITY_MEDIUM;
|
||||
$notify = Worker::PRIORITY_MEDIUM;
|
||||
}
|
||||
|
||||
$condition = ['uid' => $item['uid'], 'uri' => $item['uri']];
|
||||
|
|
@ -1035,8 +1037,8 @@ class Feed
|
|||
break;
|
||||
}
|
||||
|
||||
$attributes = ['uri' => 'https://friendi.ca', 'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION];
|
||||
XML::addElement($doc, $root, 'generator', FRIENDICA_PLATFORM, $attributes);
|
||||
$attributes = ['uri' => 'https://friendi.ca', 'version' => App::VERSION . '-' . DB_UPDATE_VERSION];
|
||||
XML::addElement($doc, $root, 'generator', App::PLATFORM, $attributes);
|
||||
XML::addElement($doc, $root, 'id', DI::baseUrl() . '/profile/' . $owner['nick']);
|
||||
XML::addElement($doc, $root, 'title', $title);
|
||||
XML::addElement($doc, $root, 'subtitle', sprintf("Updates from %s on %s", $owner['name'], DI::config()->get('config', 'sitename')));
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ namespace Friendica\Protocol;
|
|||
use DOMDocument;
|
||||
use DOMElement;
|
||||
use DOMXPath;
|
||||
use Friendica\App;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Text\HTML;
|
||||
use Friendica\Core\Cache\Enum\Duration;
|
||||
|
|
@ -1061,9 +1062,9 @@ class OStatus
|
|||
|
||||
$attributes = [
|
||||
'uri' => 'https://friendi.ca',
|
||||
'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION,
|
||||
'version' => App::VERSION . '-' . DB_UPDATE_VERSION,
|
||||
];
|
||||
XML::addElement($doc, $root, 'generator', FRIENDICA_PLATFORM, $attributes);
|
||||
XML::addElement($doc, $root, 'generator', App::PLATFORM, $attributes);
|
||||
XML::addElement($doc, $root, 'id', DI::baseUrl() . '/profile/' . $owner['nick']);
|
||||
XML::addElement($doc, $root, 'title', $title);
|
||||
XML::addElement($doc, $root, 'subtitle', sprintf("Updates from %s on %s", $owner['name'], DI::config()->get('config', 'sitename')));
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ class Authentication
|
|||
|
||||
// if it's an email address or doesn't resolve to a URL, fail.
|
||||
if ($noid || strpos($openid_url, '@') || !Network::isUrlValid($openid_url)) {
|
||||
notice($this->l10n->t('Login failed.'));
|
||||
DI::sysmsg()->addNotice($this->l10n->t('Login failed.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
|
||||
|
|
@ -237,7 +237,7 @@ class Authentication
|
|||
$openid->optional = ['namePerson/friendly', 'contact/email', 'namePerson', 'namePerson/first', 'media/image/aspect11', 'media/image/default'];
|
||||
System::externalRedirect($openid->authUrl());
|
||||
} catch (Exception $e) {
|
||||
notice($this->l10n->t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . $this->l10n->t('The error message was:') . ' ' . $e->getMessage());
|
||||
DI::sysmsg()->addNotice($this->l10n->t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.') . '<br /><br >' . $this->l10n->t('The error message was:') . ' ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -268,7 +268,7 @@ class Authentication
|
|||
);
|
||||
} catch (Exception $e) {
|
||||
$this->logger->warning('authenticate: failed login attempt', ['action' => 'login', 'username' => $username, 'ip' => $this->remoteAddress]);
|
||||
notice($this->l10n->t('Login failed. Please check your credentials.'));
|
||||
DI::sysmsg()->addNotice($this->l10n->t('Login failed. Please check your credentials.'));
|
||||
$this->baseUrl->redirect();
|
||||
}
|
||||
|
||||
|
|
@ -379,8 +379,8 @@ class Authentication
|
|||
|
||||
if ($interactive) {
|
||||
if ($user_record['login_date'] <= DBA::NULL_DATETIME) {
|
||||
info($this->l10n->t('Welcome %s', $user_record['username']));
|
||||
info($this->l10n->t('Please upload a profile photo.'));
|
||||
DI::sysmsg()->addInfo($this->l10n->t('Welcome %s', $user_record['username']));
|
||||
DI::sysmsg()->addInfo($this->l10n->t('Please upload a profile photo.'));
|
||||
$this->baseUrl->redirect('settings/profile/photo/new');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
namespace Friendica\Util\EMailer;
|
||||
|
||||
use Exception;
|
||||
use Friendica\App;
|
||||
use Friendica\App\BaseURL;
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Core\L10n;
|
||||
|
|
@ -79,8 +80,8 @@ abstract class MailBuilder
|
|||
$this->headers = [
|
||||
'Precedence' => ['list'],
|
||||
'X-Friendica-Host' => [$hostname],
|
||||
'X-Friendica-Platform' => [FRIENDICA_PLATFORM],
|
||||
'X-Friendica-Version' => [FRIENDICA_VERSION],
|
||||
'X-Friendica-Platform' => [App::PLATFORM],
|
||||
'X-Friendica-Version' => [App::VERSION],
|
||||
'List-ID' => ['<notification.' . $hostname . '>'],
|
||||
'List-Archive' => ['<' . $baseUrl->get() . '/notifications/system>'],
|
||||
];
|
||||
|
|
@ -257,7 +258,7 @@ abstract class MailBuilder
|
|||
$tpl = Renderer::getMarkupTemplate('email/html.tpl');
|
||||
$msgHtml = Renderer::replaceMacros($tpl, [
|
||||
'$title' => $this->l10n->t('Friendica Notification'),
|
||||
'$product' => FRIENDICA_PLATFORM,
|
||||
'$product' => App::PLATFORM,
|
||||
'$htmlversion' => $msgHtml,
|
||||
'$sitename' => $this->config->get('config', 'sitename'),
|
||||
'$banner' => $this->config->get('system', 'email_banner',
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
namespace Friendica\Util\Writer;
|
||||
|
||||
use Exception;
|
||||
use Friendica\App;
|
||||
use Friendica\Database\Definition\DbaDefinition;
|
||||
|
||||
/**
|
||||
|
|
@ -41,7 +42,7 @@ class DbaDefinitionSqlWriter
|
|||
public static function create(DbaDefinition $definition): string
|
||||
{
|
||||
$sqlString = "-- ------------------------------------------\n";
|
||||
$sqlString .= "-- " . FRIENDICA_PLATFORM . " " . FRIENDICA_VERSION . " (" . FRIENDICA_CODENAME . ")\n";
|
||||
$sqlString .= "-- " . App::PLATFORM . " " . App::VERSION . " (" . App::CODENAME . ")\n";
|
||||
$sqlString .= "-- DB_UPDATE_VERSION " . DB_UPDATE_VERSION . "\n";
|
||||
$sqlString .= "-- ------------------------------------------\n\n\n";
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class CheckDeletedContacts
|
|||
{
|
||||
$contacts = DBA::select('contact', ['id'], ['deleted' => true]);
|
||||
while ($contact = DBA::fetch($contacts)) {
|
||||
Worker::add(PRIORITY_MEDIUM, 'Contact\Remove', $contact['id']);
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'Contact\Remove', $contact['id']);
|
||||
}
|
||||
DBA::close($contacts);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,25 +62,25 @@ class Cron
|
|||
}
|
||||
|
||||
// Fork the cron jobs in separate parts to avoid problems when one of them is crashing
|
||||
Hook::fork(PRIORITY_MEDIUM, 'cron');
|
||||
Hook::fork(Worker::PRIORITY_MEDIUM, 'cron');
|
||||
|
||||
// Poll contacts
|
||||
Worker::add(PRIORITY_MEDIUM, 'PollContacts');
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'PollContacts');
|
||||
|
||||
// Update contact information
|
||||
Worker::add(PRIORITY_LOW, 'UpdateContacts');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateContacts');
|
||||
|
||||
// Update server information
|
||||
Worker::add(PRIORITY_LOW, 'UpdateGServers');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateGServers');
|
||||
|
||||
// run the process to update server directories in the background
|
||||
Worker::add(PRIORITY_LOW, 'UpdateServerDirectories');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateServerDirectories');
|
||||
|
||||
// Expire and remove user entries
|
||||
Worker::add(PRIORITY_MEDIUM, 'ExpireAndRemoveUsers');
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'ExpireAndRemoveUsers');
|
||||
|
||||
// Call possible post update functions
|
||||
Worker::add(PRIORITY_LOW, 'PostUpdate');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'PostUpdate');
|
||||
|
||||
// Hourly cron calls
|
||||
if (DI::config()->get('system', 'last_cron_hourly', 0) + 3600 < time()) {
|
||||
|
|
@ -97,11 +97,11 @@ class Cron
|
|||
|
||||
// Search for new contacts in the directory
|
||||
if (DI::config()->get('system', 'synchronize_directory')) {
|
||||
Worker::add(PRIORITY_LOW, 'PullDirectory');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'PullDirectory');
|
||||
}
|
||||
|
||||
// Clear cache entries
|
||||
Worker::add(PRIORITY_LOW, 'ClearCache');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ClearCache');
|
||||
|
||||
DI::config()->set('system', 'last_cron_hourly', time());
|
||||
}
|
||||
|
|
@ -109,27 +109,27 @@ class Cron
|
|||
// Daily maintenance cron calls
|
||||
if (Worker::isInMaintenanceWindow(true)) {
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'UpdateContactBirthdays');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdateContactBirthdays');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'UpdatePhotoAlbums');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'UpdatePhotoAlbums');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'ExpirePosts');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ExpirePosts');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'ExpireActivities');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ExpireActivities');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'RemoveUnusedTags');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'RemoveUnusedTags');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'RemoveUnusedContacts');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'RemoveUnusedContacts');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'RemoveUnusedAvatars');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'RemoveUnusedAvatars');
|
||||
|
||||
// check upstream version?
|
||||
Worker::add(PRIORITY_LOW, 'CheckVersion');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'CheckVersion');
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'CheckDeletedContacts');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'CheckDeletedContacts');
|
||||
|
||||
if (DI::config()->get('system', 'optimize_tables')) {
|
||||
Worker::add(PRIORITY_LOW, 'OptimizeTables');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'OptimizeTables');
|
||||
}
|
||||
|
||||
// Resubscribe to relay servers
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class Directory
|
|||
private static function updateAll() {
|
||||
$users = DBA::select('owner-view', ['url'], ['net-publish' => true, 'account_expired' => false, 'verified' => true]);
|
||||
while ($user = DBA::fetch($users)) {
|
||||
Worker::add(PRIORITY_LOW, 'Directory', $user['url']);
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Directory', $user['url']);
|
||||
}
|
||||
DBA::close($users);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ class ExpirePosts
|
|||
}
|
||||
|
||||
// Set the expiry for origin posta
|
||||
Worker::add(PRIORITY_LOW, 'Expire');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'Expire');
|
||||
|
||||
// update nodeinfo data after everything is cleaned up
|
||||
Worker::add(PRIORITY_LOW, 'NodeInfo');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'NodeInfo');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class MoveStorage
|
|||
$moved = DI::storageManager()->move($current);
|
||||
|
||||
if ($moved) {
|
||||
Worker::add(PRIORITY_LOW, 'MoveStorage');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'MoveStorage');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class Notifier
|
|||
foreach ($inboxes as $inbox => $receivers) {
|
||||
$ap_contacts = array_merge($ap_contacts, $receivers);
|
||||
Logger::info('Delivery via ActivityPub', ['cmd' => $cmd, 'target' => $target_id, 'inbox' => $inbox]);
|
||||
Worker::add(['priority' => PRIORITY_HIGH, 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||
Worker::add(['priority' => Worker::PRIORITY_HIGH, 'created' => $a->getQueueValue('created'), 'dont_fork' => true],
|
||||
'APDelivery', $cmd, $target_id, $inbox, $uid, $receivers, $post_uriid);
|
||||
}
|
||||
} elseif ($cmd == Delivery::SUGGESTION) {
|
||||
|
|
@ -568,7 +568,7 @@ class Notifier
|
|||
// Situation is that sometimes Friendica servers receive Friendica posts over the Diaspora protocol first.
|
||||
// The conversion in Markdown reduces the formatting, so these posts should arrive after the Friendica posts.
|
||||
// This is only important for high and medium priority tasks and not for Low priority jobs like deletions.
|
||||
if (($contact['network'] == Protocol::DIASPORA) && in_array($a->getQueueValue('priority'), [PRIORITY_HIGH, PRIORITY_MEDIUM])) {
|
||||
if (($contact['network'] == Protocol::DIASPORA) && in_array($a->getQueueValue('priority'), [Worker::PRIORITY_HIGH, Worker::PRIORITY_MEDIUM])) {
|
||||
$deliver_options = ['priority' => $a->getQueueValue('priority'), 'dont_fork' => true];
|
||||
} else {
|
||||
$deliver_options = ['priority' => $a->getQueueValue('priority'), 'created' => $a->getQueueValue('created'), 'dont_fork' => true];
|
||||
|
|
@ -698,7 +698,7 @@ class Notifier
|
|||
$inboxes = ActivityPub\Transmitter::fetchTargetInboxesforUser($self_user_id);
|
||||
foreach ($inboxes as $inbox => $receivers) {
|
||||
Logger::info('Account removal via ActivityPub', ['uid' => $self_user_id, 'inbox' => $inbox]);
|
||||
Worker::add(['priority' => PRIORITY_NEGLIGIBLE, 'created' => $created, 'dont_fork' => true],
|
||||
Worker::add(['priority' => Worker::PRIORITY_NEGLIGIBLE, 'created' => $created, 'dont_fork' => true],
|
||||
'APDelivery', Delivery::REMOVAL, 0, $inbox, $self_user_id, $receivers);
|
||||
Worker::coolDown();
|
||||
}
|
||||
|
|
@ -817,7 +817,7 @@ class Notifier
|
|||
if (DI::config()->get('system', 'bulk_delivery')) {
|
||||
$delivery_queue_count++;
|
||||
Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd, $receivers);
|
||||
Worker::add(PRIORITY_HIGH, 'APDelivery', '', 0, $inbox, 0);
|
||||
Worker::add(Worker::PRIORITY_HIGH, 'APDelivery', '', 0, $inbox, 0);
|
||||
} else {
|
||||
if (Worker::add(['priority' => $priority, 'created' => $created, 'dont_fork' => true],
|
||||
'APDelivery', $cmd, $target_item['id'], $inbox, $uid, $receivers, $target_item['uri-id'])) {
|
||||
|
|
@ -834,7 +834,7 @@ class Notifier
|
|||
if (DI::config()->get('system', 'bulk_delivery')) {
|
||||
$delivery_queue_count++;
|
||||
Post\Delivery::add($target_item['uri-id'], $uid, $inbox, $target_item['created'], $cmd, []);
|
||||
Worker::add(PRIORITY_MEDIUM, 'APDelivery', '', 0, $inbox, 0);
|
||||
Worker::add(Worker::PRIORITY_MEDIUM, 'APDelivery', '', 0, $inbox, 0);
|
||||
} else {
|
||||
if (Worker::add(['priority' => $priority, 'dont_fork' => true], 'APDelivery', $cmd, $target_item['id'], $inbox, $uid, [], $target_item['uri-id'])) {
|
||||
$delivery_queue_count++;
|
||||
|
|
|
|||
|
|
@ -71,11 +71,11 @@ class PollContacts
|
|||
}
|
||||
|
||||
if ((($contact['network'] == Protocol::FEED) && ($contact['priority'] <= 3)) || ($contact['network'] == Protocol::MAIL)) {
|
||||
$priority = PRIORITY_MEDIUM;
|
||||
$priority = Worker::PRIORITY_MEDIUM;
|
||||
} elseif ($contact['archive']) {
|
||||
$priority = PRIORITY_NEGLIGIBLE;
|
||||
$priority = Worker::PRIORITY_NEGLIGIBLE;
|
||||
} else {
|
||||
$priority = PRIORITY_LOW;
|
||||
$priority = Worker::PRIORITY_LOW;
|
||||
}
|
||||
|
||||
Logger::notice("Polling " . $contact["network"] . " " . $contact["id"] . " " . $contact['priority'] . " " . $contact["nick"] . " " . $contact["name"]);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
namespace Friendica\Worker;
|
||||
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
|
|
@ -48,7 +49,7 @@ class RemoveUser {
|
|||
do {
|
||||
$items = Post::select(['id'], $condition, ['limit' => 100]);
|
||||
while ($item = Post::fetch($items)) {
|
||||
Item::markForDeletionById($item['id'], PRIORITY_NEGLIGIBLE);
|
||||
Item::markForDeletionById($item['id'], Worker::PRIORITY_NEGLIGIBLE);
|
||||
}
|
||||
DBA::close($items);
|
||||
} while (Post::exists($condition));
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class UpdateContacts
|
|||
$contacts = DBA::select('contact', ['id'], $condition, ['order' => ['next-update'], 'limit' => $limit]);
|
||||
$count = 0;
|
||||
while ($contact = DBA::fetch($contacts)) {
|
||||
if (Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], "UpdateContact", $contact['id'])) {
|
||||
if (Worker::add(['priority' => Worker::PRIORITY_LOW, 'dont_fork' => true], "UpdateContact", $contact['id'])) {
|
||||
++$count;
|
||||
}
|
||||
Worker::coolDown();
|
||||
|
|
|
|||
|
|
@ -63,12 +63,12 @@ class UpdateGServers
|
|||
// There are duplicated "url" but not "nurl". So we check both addresses instead of just overwriting them,
|
||||
// since that would mean loosing data.
|
||||
if (!empty($gserver['url'])) {
|
||||
if (Worker::add(PRIORITY_LOW, 'UpdateGServer', $gserver['url'])) {
|
||||
if (Worker::add(Worker::PRIORITY_LOW, 'UpdateGServer', $gserver['url'])) {
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
if (!empty($gserver['nurl']) && ($gserver['nurl'] != Strings::normaliseLink($gserver['url']))) {
|
||||
if (Worker::add(PRIORITY_LOW, 'UpdateGServer', $gserver['nurl'])) {
|
||||
if (Worker::add(Worker::PRIORITY_LOW, 'UpdateGServer', $gserver['nurl'])) {
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
use Friendica\Database\DBA;
|
||||
|
||||
if (!defined('DB_UPDATE_VERSION')) {
|
||||
define('DB_UPDATE_VERSION', 1484);
|
||||
define('DB_UPDATE_VERSION', 1486);
|
||||
}
|
||||
|
||||
return [
|
||||
|
|
@ -1218,6 +1218,7 @@ return [
|
|||
"content-warning" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
|
||||
"body" => ["type" => "mediumtext", "comment" => "item body content"],
|
||||
"raw-body" => ["type" => "mediumtext", "comment" => "Body without embedded media links"],
|
||||
"quote-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table that contains the quoted uri"],
|
||||
"location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "text location where this item originated"],
|
||||
"coord" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "longitude/latitude pair representing location where this item originated"],
|
||||
"language" => ["type" => "text", "comment" => "Language information about this post"],
|
||||
|
|
@ -1236,6 +1237,7 @@ return [
|
|||
"plink" => ["plink(191)"],
|
||||
"resource-id" => ["resource-id"],
|
||||
"title-content-warning-body" => ["FULLTEXT", "title", "content-warning", "body"],
|
||||
"quote-uri-id" => ["quote-uri-id"],
|
||||
]
|
||||
],
|
||||
"post-delivery" => [
|
||||
|
|
@ -1319,6 +1321,7 @@ return [
|
|||
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
|
||||
"uri-id" => ["type" => "int unsigned", "not null" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"],
|
||||
"url" => ["type" => "varbinary(1024)", "not null" => "1", "comment" => "Media URL"],
|
||||
"media-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the activities uri-id"],
|
||||
"type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Media type"],
|
||||
"mimetype" => ["type" => "varchar(60)", "comment" => ""],
|
||||
"height" => ["type" => "smallint unsigned", "comment" => "Height of the media"],
|
||||
|
|
@ -1340,6 +1343,7 @@ return [
|
|||
"PRIMARY" => ["id"],
|
||||
"uri-id-url" => ["UNIQUE", "uri-id", "url(512)"],
|
||||
"uri-id-id" => ["uri-id", "id"],
|
||||
"media-uri-id" => ["media-uri-id"],
|
||||
]
|
||||
],
|
||||
"post-question" => [
|
||||
|
|
|
|||
|
|
@ -72,6 +72,8 @@
|
|||
"thr-parent-id" => ["post-user", "thr-parent-id"],
|
||||
"conversation" => ["conversation-item-uri", "uri"],
|
||||
"conversation-id" => ["post-thread-user", "conversation-id"],
|
||||
"quote-uri" => ["quote-item-uri", "uri"],
|
||||
"quote-uri-id" => ["post-content", "quote-uri-id"],
|
||||
"guid" => ["item-uri", "guid"],
|
||||
"wall" => ["post-user", "wall"],
|
||||
"gravity" => ["post-user", "gravity"],
|
||||
|
|
@ -229,6 +231,7 @@
|
|||
LEFT JOIN `event` ON `event`.`id` = `post-user`.`event-id`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-user`.`uri-id` AND `post-user`.`origin`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-user`.`uri-id`
|
||||
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-user`.`psid`
|
||||
|
|
@ -249,6 +252,8 @@
|
|||
"thr-parent-id" => ["post-user", "thr-parent-id"],
|
||||
"conversation" => ["conversation-item-uri", "uri"],
|
||||
"conversation-id" => ["post-thread-user", "conversation-id"],
|
||||
"quote-uri" => ["quote-item-uri", "uri"],
|
||||
"quote-uri-id" => ["post-content", "quote-uri-id"],
|
||||
"guid" => ["item-uri", "guid"],
|
||||
"wall" => ["post-thread-user", "wall"],
|
||||
"gravity" => ["post-user", "gravity"],
|
||||
|
|
@ -404,6 +409,7 @@
|
|||
LEFT JOIN `event` ON `event`.`id` = `post-user`.`event-id`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-thread-user`.`uri-id` AND `post-thread-user`.`origin`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread-user`.`uri-id`
|
||||
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-thread-user`.`psid`
|
||||
|
|
@ -420,6 +426,8 @@
|
|||
"thr-parent-id" => ["post", "thr-parent-id"],
|
||||
"conversation" => ["conversation-item-uri", "uri"],
|
||||
"conversation-id" => ["post-thread", "conversation-id"],
|
||||
"quote-uri" => ["quote-item-uri", "uri"],
|
||||
"quote-uri-id" => ["post-content", "quote-uri-id"],
|
||||
"guid" => ["item-uri", "guid"],
|
||||
"gravity" => ["post", "gravity"],
|
||||
"extid" => ["external-item-uri", "uri"],
|
||||
|
|
@ -544,6 +552,7 @@
|
|||
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post`.`uri-id`
|
||||
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
|
||||
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
|
||||
|
|
@ -558,6 +567,8 @@
|
|||
"thr-parent-id" => ["post", "thr-parent-id"],
|
||||
"conversation" => ["conversation-item-uri", "uri"],
|
||||
"conversation-id" => ["post-thread", "conversation-id"],
|
||||
"quote-uri" => ["quote-item-uri", "uri"],
|
||||
"quote-uri-id" => ["post-content", "quote-uri-id"],
|
||||
"guid" => ["item-uri", "guid"],
|
||||
"gravity" => ["post", "gravity"],
|
||||
"extid" => ["external-item-uri", "uri"],
|
||||
|
|
@ -682,6 +693,7 @@
|
|||
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
|
||||
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `item-uri` AS `quote-item-uri` ON `quote-item-uri`.`id` = `post-content`.`quote-uri-id`
|
||||
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread`.`uri-id`
|
||||
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
|
||||
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ return [
|
|||
|
||||
// expire-notify-priority (integer)
|
||||
// Priority for the expirary notification
|
||||
'expire-notify-priority' => PRIORITY_LOW,
|
||||
'expire-notify-priority' => Friendica\Core\Worker::PRIORITY_LOW,
|
||||
|
||||
// fetch_by_worker (Boolean)
|
||||
// Fetch missing posts via a background process
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ class DatabaseCacheTest extends CacheTest
|
|||
|
||||
protected function getInstance()
|
||||
{
|
||||
$logger = new NullLogger();
|
||||
$profiler = Mockery::mock(Profiler::class);
|
||||
$profiler->shouldReceive('startRecording');
|
||||
$profiler->shouldReceive('stopRecording');
|
||||
|
|
@ -62,7 +61,7 @@ class DatabaseCacheTest extends CacheTest
|
|||
$dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load();
|
||||
$viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load();
|
||||
|
||||
$dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition, $logger);
|
||||
$dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition);
|
||||
|
||||
$this->cache = new Cache\Type\DatabaseCache('database', $dba);
|
||||
return $this->cache;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ class DatabaseStorageTest extends StorageTest
|
|||
|
||||
protected function getInstance()
|
||||
{
|
||||
$logger = new NullLogger();
|
||||
$profiler = \Mockery::mock(Profiler::class);
|
||||
$profiler->shouldReceive('startRecording');
|
||||
$profiler->shouldReceive('stopRecording');
|
||||
|
|
@ -61,7 +60,7 @@ class DatabaseStorageTest extends StorageTest
|
|||
$dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load();
|
||||
$viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load();
|
||||
|
||||
$dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition, $logger);
|
||||
$dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition);
|
||||
|
||||
return new Database($dba);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class StorageManagerTest extends DatabaseTest
|
|||
$dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load();
|
||||
$viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load();
|
||||
|
||||
$this->dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition, $this->logger);
|
||||
$this->dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition);
|
||||
|
||||
$configModel = new Repository\Config($this->dba, new Mode(Mode::DBCONFIGAVAILABLE));
|
||||
$this->config = new PreloadConfig($configCache, $configModel);
|
||||
|
|
|
|||
|
|
@ -21,12 +21,12 @@
|
|||
|
||||
namespace Friendica\Test\src\Module;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Capabilities\ICanCreateResponses;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\NodeInfo110;
|
||||
use Friendica\Module\NodeInfo120;
|
||||
use Friendica\Module\NodeInfo210;
|
||||
use Friendica\Module\Response;
|
||||
use Friendica\Test\FixtureTest;
|
||||
|
||||
class NodeInfoTest extends FixtureTest
|
||||
|
|
@ -44,7 +44,7 @@ class NodeInfoTest extends FixtureTest
|
|||
self::assertEquals('1.0', $json->version);
|
||||
|
||||
self::assertEquals('friendica', $json->software->name);
|
||||
self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
|
||||
self::assertEquals(App::VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
|
||||
|
||||
self::assertIsArray($json->protocols->inbound);
|
||||
self::assertIsArray($json->protocols->outbound);
|
||||
|
|
@ -65,7 +65,7 @@ class NodeInfoTest extends FixtureTest
|
|||
self::assertEquals('2.0', $json->version);
|
||||
|
||||
self::assertEquals('friendica', $json->software->name);
|
||||
self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
|
||||
self::assertEquals(App::VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
|
||||
|
||||
self::assertIsArray($json->protocols);
|
||||
self::assertIsArray($json->services->inbound);
|
||||
|
|
@ -85,7 +85,7 @@ class NodeInfoTest extends FixtureTest
|
|||
self::assertEquals('1.0', $json->version);
|
||||
|
||||
self::assertEquals('friendica', $json->server->software);
|
||||
self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->server->version);
|
||||
self::assertEquals(App::VERSION . '-' . DB_UPDATE_VERSION, $json->server->version);
|
||||
|
||||
self::assertIsArray($json->protocols);
|
||||
self::assertIsArray($json->services->inbound);
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ function update_1309()
|
|||
continue;
|
||||
}
|
||||
|
||||
$deliver_options = ['priority' => PRIORITY_MEDIUM, 'dont_fork' => true];
|
||||
$deliver_options = ['priority' => Worker::PRIORITY_MEDIUM, 'dont_fork' => true];
|
||||
Worker::add($deliver_options, 'Delivery', Delivery::POST, $item['id'], $entry['cid']);
|
||||
Logger::info('Added delivery worker', ['item' => $item['id'], 'contact' => $entry['cid']]);
|
||||
DBA::delete('queue', ['id' => $entry['id']]);
|
||||
|
|
@ -152,7 +152,7 @@ function update_1318()
|
|||
DBA::update('profile', ['marital' => 'In a relation'], ['marital' => 'Unavailable']);
|
||||
DBA::update('profile', ['marital' => 'Single'], ['marital' => 'Available']);
|
||||
|
||||
Worker::add(PRIORITY_LOW, 'ProfileUpdate');
|
||||
Worker::add(Worker::PRIORITY_LOW, 'ProfileUpdate');
|
||||
return Update::SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 2022.09-rc\n"
|
||||
"Project-Id-Version: 2022.12-dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-25 07:08+0000\n"
|
||||
"POT-Creation-Date: 2022-10-17 09:33+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -19,7 +19,7 @@ msgstr ""
|
|||
|
||||
|
||||
#: mod/cal.php:46 mod/cal.php:50 mod/follow.php:39 mod/redir.php:36
|
||||
#: mod/redir.php:177 src/Module/Conversation/Community.php:183
|
||||
#: mod/redir.php:177 src/Module/Conversation/Community.php:196
|
||||
#: src/Module/Debug/ItemBody.php:38 src/Module/Diaspora/Receive.php:57
|
||||
#: src/Module/Item/Follow.php:42 src/Module/Item/Ignore.php:41
|
||||
#: src/Module/Item/Pin.php:42 src/Module/Item/Pin.php:57
|
||||
|
|
@ -43,8 +43,8 @@ msgstr ""
|
|||
msgid "Access to this profile has been restricted."
|
||||
msgstr ""
|
||||
|
||||
#: mod/cal.php:243 mod/events.php:374 src/Content/Nav.php:196
|
||||
#: src/Content/Nav.php:260 src/Module/BaseProfile.php:84
|
||||
#: mod/cal.php:243 mod/events.php:374 src/Content/Nav.php:197
|
||||
#: src/Content/Nav.php:261 src/Module/BaseProfile.php:84
|
||||
#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:240
|
||||
#: view/theme/frio/theme.php:244
|
||||
msgid "Events"
|
||||
|
|
@ -105,7 +105,7 @@ msgid "calendar"
|
|||
msgstr ""
|
||||
|
||||
#: mod/display.php:143 mod/photos.php:802
|
||||
#: src/Module/Conversation/Community.php:177 src/Module/Directory.php:49
|
||||
#: src/Module/Conversation/Community.php:190 src/Module/Directory.php:49
|
||||
#: src/Module/Search/Index.php:65
|
||||
msgid "Public access denied."
|
||||
msgstr ""
|
||||
|
|
@ -119,7 +119,7 @@ msgid "The feed for this item is unavailable."
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:38 mod/events.php:217 mod/follow.php:56 mod/follow.php:130
|
||||
#: mod/item.php:181 mod/item.php:186 mod/item.php:870 mod/message.php:69
|
||||
#: mod/item.php:182 mod/item.php:187 mod/item.php:866 mod/message.php:69
|
||||
#: mod/message.php:111 mod/notes.php:44 mod/ostatus_subscribe.php:33
|
||||
#: mod/photos.php:160 mod/photos.php:891 mod/repair_ostatus.php:31
|
||||
#: mod/settings.php:40 mod/settings.php:50 mod/settings.php:156
|
||||
|
|
@ -212,7 +212,7 @@ msgid "audio link"
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:103 src/Content/Conversation.php:352
|
||||
#: src/Module/Item/Compose.php:173
|
||||
#: src/Module/Item/Compose.php:200
|
||||
msgid "Set your location"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -230,7 +230,7 @@ msgstr ""
|
|||
|
||||
#: mod/editpost.php:107 mod/message.php:200 mod/message.php:358
|
||||
#: mod/photos.php:1489 mod/wallmessage.php:142 src/Content/Conversation.php:368
|
||||
#: src/Content/Conversation.php:713 src/Module/Item/Compose.php:177
|
||||
#: src/Content/Conversation.php:714 src/Module/Item/Compose.php:204
|
||||
#: src/Object/Post.php:538
|
||||
msgid "Please wait"
|
||||
msgstr ""
|
||||
|
|
@ -248,12 +248,12 @@ msgid "Public post"
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:120 src/Content/Conversation.php:357
|
||||
#: src/Module/Item/Compose.php:178
|
||||
#: src/Module/Item/Compose.php:205
|
||||
msgid "Set title"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:122 src/Content/Conversation.php:359
|
||||
#: src/Module/Item/Compose.php:179
|
||||
#: src/Module/Item/Compose.php:206
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -263,11 +263,11 @@ msgstr ""
|
|||
|
||||
#: mod/editpost.php:128 mod/events.php:513 mod/photos.php:1337
|
||||
#: mod/photos.php:1393 mod/photos.php:1467 src/Content/Conversation.php:383
|
||||
#: src/Module/Item/Compose.php:172 src/Object/Post.php:1003
|
||||
#: src/Module/Item/Compose.php:199 src/Object/Post.php:1003
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:118 mod/fbrowser.php:145
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:119 mod/fbrowser.php:146
|
||||
#: mod/follow.php:144 mod/photos.php:1004 mod/photos.php:1105 mod/tagrm.php:35
|
||||
#: mod/tagrm.php:127 mod/unfollow.php:97 src/Content/Conversation.php:386
|
||||
#: src/Module/Contact/Revoke.php:108 src/Module/RemoteFollow.php:127
|
||||
|
|
@ -276,37 +276,37 @@ msgid "Cancel"
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:343
|
||||
#: src/Module/Item/Compose.php:163 src/Object/Post.php:994
|
||||
#: src/Module/Item/Compose.php:190 src/Object/Post.php:994
|
||||
msgid "Bold"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:344
|
||||
#: src/Module/Item/Compose.php:164 src/Object/Post.php:995
|
||||
#: src/Module/Item/Compose.php:191 src/Object/Post.php:995
|
||||
msgid "Italic"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:136 src/Content/Conversation.php:345
|
||||
#: src/Module/Item/Compose.php:165 src/Object/Post.php:996
|
||||
#: src/Module/Item/Compose.php:192 src/Object/Post.php:996
|
||||
msgid "Underline"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:137 src/Content/Conversation.php:346
|
||||
#: src/Module/Item/Compose.php:166 src/Object/Post.php:997
|
||||
#: src/Module/Item/Compose.php:193 src/Object/Post.php:997
|
||||
msgid "Quote"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:347
|
||||
#: src/Module/Item/Compose.php:167 src/Object/Post.php:998
|
||||
#: src/Module/Item/Compose.php:194 src/Object/Post.php:998
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:139 src/Content/Conversation.php:349
|
||||
#: src/Module/Item/Compose.php:169 src/Object/Post.php:1000
|
||||
#: src/Module/Item/Compose.php:196 src/Object/Post.php:1000
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:140 src/Content/Conversation.php:350
|
||||
#: src/Module/Item/Compose.php:170 src/Object/Post.php:1001
|
||||
#: src/Module/Item/Compose.php:197 src/Object/Post.php:1001
|
||||
msgid "Link or Media"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -415,9 +415,9 @@ msgstr ""
|
|||
#: src/Module/Delegation.php:148 src/Module/FriendSuggest.php:144
|
||||
#: src/Module/Install.php:252 src/Module/Install.php:294
|
||||
#: src/Module/Install.php:331 src/Module/Invite.php:178
|
||||
#: src/Module/Item/Compose.php:162 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Item/Compose.php:189 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:992
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:171
|
||||
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
|
@ -426,7 +426,7 @@ msgstr ""
|
|||
msgid "Basic"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:517 src/Module/Admin/Site.php:441 src/Module/Contact.php:475
|
||||
#: mod/events.php:517 src/Module/Admin/Site.php:439 src/Module/Contact.php:477
|
||||
#: src/Module/Profile/Profile.php:249
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
|
@ -435,17 +435,17 @@ msgstr ""
|
|||
msgid "Failed to remove event"
|
||||
msgstr ""
|
||||
|
||||
#: mod/fbrowser.php:61 src/Content/Nav.php:194 src/Module/BaseProfile.php:64
|
||||
#: mod/fbrowser.php:61 src/Content/Nav.php:195 src/Module/BaseProfile.php:64
|
||||
#: view/theme/frio/theme.php:238
|
||||
msgid "Photos"
|
||||
msgstr ""
|
||||
|
||||
#: mod/fbrowser.php:120 mod/fbrowser.php:147
|
||||
#: mod/fbrowser.php:121 mod/fbrowser.php:148
|
||||
#: src/Module/Settings/Profile/Photo/Index.php:129
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: mod/fbrowser.php:142
|
||||
#: mod/fbrowser.php:143
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -469,8 +469,8 @@ msgstr ""
|
|||
msgid "OStatus support is disabled. Contact can't be added."
|
||||
msgstr ""
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:397 src/Content/Widget.php:80
|
||||
#: src/Model/Contact.php:1146 src/Model/Contact.php:1157
|
||||
#: mod/follow.php:138 src/Content/Item.php:400 src/Content/Widget.php:80
|
||||
#: src/Model/Contact.php:1169 src/Model/Contact.php:1180
|
||||
#: view/theme/vier/theme.php:181
|
||||
msgid "Connect/Follow"
|
||||
msgstr ""
|
||||
|
|
@ -507,7 +507,7 @@ msgid "Add a personal note:"
|
|||
msgstr ""
|
||||
|
||||
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
|
||||
#: src/Module/Contact.php:445
|
||||
#: src/Module/Contact.php:447
|
||||
msgid "Status Messages and Posts"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -515,27 +515,27 @@ msgstr ""
|
|||
msgid "The contact could not be added."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:131 mod/item.php:135
|
||||
#: mod/item.php:132 mod/item.php:136
|
||||
msgid "Unable to locate original post."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:337 mod/item.php:342
|
||||
#: mod/item.php:338 mod/item.php:343
|
||||
msgid "Empty post discarded."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:682
|
||||
#: mod/item.php:678
|
||||
msgid "Post updated."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:692 mod/item.php:697
|
||||
#: mod/item.php:688 mod/item.php:693
|
||||
msgid "Item wasn't stored."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:708
|
||||
#: mod/item.php:704
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:848 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:844 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:42
|
||||
#: src/Module/Debug/ItemBody.php:57
|
||||
msgid "Item not found."
|
||||
|
|
@ -691,7 +691,7 @@ msgstr ""
|
|||
msgid "Profile Match"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:46 mod/message.php:126 src/Content/Nav.php:288
|
||||
#: mod/message.php:46 mod/message.php:126 src/Content/Nav.php:289
|
||||
msgid "New Message"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -717,7 +717,7 @@ msgstr ""
|
|||
msgid "Discard"
|
||||
msgstr ""
|
||||
|
||||
#: mod/message.php:133 src/Content/Nav.php:285 view/theme/frio/theme.php:245
|
||||
#: mod/message.php:133 src/Content/Nav.php:286 view/theme/frio/theme.php:245
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1070,7 +1070,7 @@ msgid "Rotate CCW (left)"
|
|||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1333 mod/photos.php:1389 mod/photos.php:1463
|
||||
#: src/Module/Contact.php:545 src/Module/Item/Compose.php:160
|
||||
#: src/Module/Contact.php:547 src/Module/Item/Compose.php:188
|
||||
#: src/Object/Post.php:989
|
||||
msgid "This is you"
|
||||
msgstr ""
|
||||
|
|
@ -1080,11 +1080,11 @@ msgstr ""
|
|||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1424 src/Content/Conversation.php:629 src/Object/Post.php:256
|
||||
#: mod/photos.php:1424 src/Content/Conversation.php:630 src/Object/Post.php:256
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:630
|
||||
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:631
|
||||
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
|
||||
#: src/Module/Admin/Users/Index.php:153
|
||||
msgid "Delete"
|
||||
|
|
@ -1191,7 +1191,7 @@ msgstr ""
|
|||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: mod/settings.php:177 src/Content/Nav.php:214
|
||||
#: mod/settings.php:177 src/Content/Nav.php:215
|
||||
msgid "Home Page"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1206,7 +1206,7 @@ msgstr ""
|
|||
#: mod/settings.php:205 mod/settings.php:237 mod/settings.php:268
|
||||
#: mod/settings.php:352 src/Module/Admin/Addons/Index.php:69
|
||||
#: src/Module/Admin/Features.php:87 src/Module/Admin/Logs/Settings.php:81
|
||||
#: src/Module/Admin/Site.php:436 src/Module/Admin/Themes/Index.php:113
|
||||
#: src/Module/Admin/Site.php:434 src/Module/Admin/Themes/Index.php:113
|
||||
#: src/Module/Admin/Tos.php:83 src/Module/Settings/Account.php:563
|
||||
#: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:201
|
||||
msgid "Save Settings"
|
||||
|
|
@ -1389,7 +1389,7 @@ msgstr ""
|
|||
msgid "Action after import:"
|
||||
msgstr ""
|
||||
|
||||
#: mod/settings.php:350 src/Content/Nav.php:282
|
||||
#: mod/settings.php:350 src/Content/Nav.php:283
|
||||
msgid "Mark as seen"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1411,15 +1411,15 @@ msgstr ""
|
|||
msgid "Friend Suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:297 src/Model/Item.php:2846
|
||||
#: mod/tagger.php:78 src/Content/Item.php:300 src/Model/Item.php:2855
|
||||
msgid "photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:291 src/Content/Item.php:301
|
||||
#: mod/tagger.php:78 src/Content/Item.php:294 src/Content/Item.php:304
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:111 src/Content/Item.php:311
|
||||
#: mod/tagger.php:111 src/Content/Item.php:314
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr ""
|
||||
|
|
@ -1595,16 +1595,16 @@ msgid "All contacts"
|
|||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:424 src/Content/Widget.php:235 src/Core/ACL.php:194
|
||||
#: src/Module/Contact.php:368 src/Module/PermissionTooltip.php:122
|
||||
#: src/Module/Contact.php:370 src/Module/PermissionTooltip.php:122
|
||||
#: src/Module/PermissionTooltip.php:144
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:429 src/Content/Widget.php:236 src/Module/Contact.php:369
|
||||
#: src/BaseModule.php:429 src/Content/Widget.php:236 src/Module/Contact.php:371
|
||||
msgid "Following"
|
||||
msgstr ""
|
||||
|
||||
#: src/BaseModule.php:434 src/Content/Widget.php:237 src/Module/Contact.php:370
|
||||
#: src/BaseModule.php:434 src/Content/Widget.php:237 src/Module/Contact.php:372
|
||||
msgid "Mutual friends"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1947,7 +1947,7 @@ msgid "%s attends maybe."
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
|
||||
#: src/Content/Conversation.php:873
|
||||
#: src/Content/Conversation.php:874
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr ""
|
||||
|
|
@ -2020,7 +2020,7 @@ msgstr ""
|
|||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:171
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:198
|
||||
#: src/Object/Post.php:1002
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr ""
|
||||
|
|
@ -2041,7 +2041,7 @@ msgstr ""
|
|||
msgid "Delete item(s)?"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:143
|
||||
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:175
|
||||
msgid "Created at"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2053,7 +2053,7 @@ msgstr ""
|
|||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:168
|
||||
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:195
|
||||
#: src/Object/Post.php:999
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
|
@ -2062,117 +2062,117 @@ msgstr ""
|
|||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:184
|
||||
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:222
|
||||
msgid "Scheduled at"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:657 src/Object/Post.php:244
|
||||
#: src/Content/Conversation.php:658 src/Object/Post.php:244
|
||||
msgid "Pinned item"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:673 src/Object/Post.php:486
|
||||
#: src/Content/Conversation.php:674 src/Object/Post.php:486
|
||||
#: src/Object/Post.php:487
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:686 src/Object/Post.php:474
|
||||
#: src/Content/Conversation.php:687 src/Object/Post.php:474
|
||||
msgid "Categories:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:687 src/Object/Post.php:475
|
||||
#: src/Content/Conversation.php:688 src/Object/Post.php:475
|
||||
msgid "Filed under:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:695 src/Object/Post.php:500
|
||||
#: src/Content/Conversation.php:696 src/Object/Post.php:500
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:711
|
||||
#: src/Content/Conversation.php:712
|
||||
msgid "View in context"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:776
|
||||
#: src/Content/Conversation.php:777
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:780
|
||||
#: src/Content/Conversation.php:781
|
||||
msgid "Delete Selected Items"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:845 src/Content/Conversation.php:848
|
||||
#: src/Content/Conversation.php:851 src/Content/Conversation.php:854
|
||||
#: src/Content/Conversation.php:846 src/Content/Conversation.php:849
|
||||
#: src/Content/Conversation.php:852 src/Content/Conversation.php:855
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:857
|
||||
#: src/Content/Conversation.php:858
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:860
|
||||
#: src/Content/Conversation.php:861
|
||||
msgid "You subscribed to one or more tags in this post."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:875
|
||||
#: src/Content/Conversation.php:876
|
||||
msgid "Reshared"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:875
|
||||
#: src/Content/Conversation.php:876
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:878
|
||||
#: src/Content/Conversation.php:879
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:881
|
||||
#: src/Content/Conversation.php:882
|
||||
msgid "Stored for general reasons"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:884
|
||||
#: src/Content/Conversation.php:885
|
||||
msgid "Global post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:887
|
||||
#: src/Content/Conversation.php:888
|
||||
msgid "Sent via an relay server"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:887
|
||||
#: src/Content/Conversation.php:888
|
||||
#, php-format
|
||||
msgid "Sent via the relay server %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:890
|
||||
#: src/Content/Conversation.php:891
|
||||
msgid "Fetched"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:890
|
||||
#: src/Content/Conversation.php:891
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:893
|
||||
#: src/Content/Conversation.php:894
|
||||
msgid "Stored because of a child post to complete this thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:896
|
||||
#: src/Content/Conversation.php:897
|
||||
msgid "Local delivery"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:899
|
||||
#: src/Content/Conversation.php:900
|
||||
msgid "Stored because of your activity (like, comment, star, ...)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:902
|
||||
#: src/Content/Conversation.php:903
|
||||
msgid "Distributed"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:905
|
||||
#: src/Content/Conversation.php:906
|
||||
msgid "Pushed to us"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2274,7 +2274,7 @@ msgstr ""
|
|||
msgid "Display membership date in profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/ForumManager.php:151 src/Content/Nav.php:241
|
||||
#: src/Content/ForumManager.php:151 src/Content/Nav.php:242
|
||||
#: src/Content/Text/HTML.php:903 src/Content/Widget.php:524
|
||||
msgid "Forums"
|
||||
msgstr ""
|
||||
|
|
@ -2292,50 +2292,50 @@ msgstr ""
|
|||
msgid "show more"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:288 src/Model/Item.php:2844
|
||||
#: src/Content/Item.php:291 src/Model/Item.php:2853
|
||||
msgid "event"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:380 view/theme/frio/theme.php:266
|
||||
#: src/Content/Item.php:383 view/theme/frio/theme.php:266
|
||||
msgid "Follow Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:381 src/Model/Contact.php:1151
|
||||
#: src/Content/Item.php:384 src/Model/Contact.php:1174
|
||||
msgid "View Status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:382 src/Content/Item.php:400 src/Model/Contact.php:1089
|
||||
#: src/Model/Contact.php:1143 src/Model/Contact.php:1152
|
||||
#: src/Content/Item.php:385 src/Content/Item.php:403 src/Model/Contact.php:1112
|
||||
#: src/Model/Contact.php:1166 src/Model/Contact.php:1175
|
||||
#: src/Module/Directory.php:158 src/Module/Settings/Profile/Index.php:225
|
||||
msgid "View Profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:383 src/Model/Contact.php:1153
|
||||
#: src/Content/Item.php:386 src/Model/Contact.php:1176
|
||||
msgid "View Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:384 src/Model/Contact.php:1144
|
||||
#: src/Model/Contact.php:1154
|
||||
#: src/Content/Item.php:387 src/Model/Contact.php:1167
|
||||
#: src/Model/Contact.php:1177
|
||||
msgid "Network Posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:385 src/Model/Contact.php:1145
|
||||
#: src/Model/Contact.php:1155
|
||||
#: src/Content/Item.php:388 src/Model/Contact.php:1168
|
||||
#: src/Model/Contact.php:1178
|
||||
msgid "View Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:386 src/Model/Contact.php:1156
|
||||
#: src/Content/Item.php:389 src/Model/Contact.php:1179
|
||||
msgid "Send PM"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:387 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Content/Item.php:390 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:399 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:449
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:388 src/Module/Contact.php:400
|
||||
#: src/Content/Item.php:391 src/Module/Contact.php:402
|
||||
#: src/Module/Contact/Profile.php:349 src/Module/Contact/Profile.php:457
|
||||
#: src/Module/Notifications/Introductions.php:132
|
||||
#: src/Module/Notifications/Introductions.php:204
|
||||
|
|
@ -2343,105 +2343,105 @@ msgstr ""
|
|||
msgid "Ignore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:392 src/Object/Post.php:455
|
||||
#: src/Content/Item.php:395 src/Object/Post.php:455
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:90
|
||||
#: src/Content/Nav.php:91
|
||||
msgid "Nothing new here"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:94 src/Module/Special/HTTPException.php:50
|
||||
#: src/Content/Nav.php:95 src/Module/Special/HTTPException.php:50
|
||||
msgid "Go back"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:95
|
||||
#: src/Content/Nav.php:96
|
||||
msgid "Clear notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:96 src/Content/Text/HTML.php:890
|
||||
#: src/Content/Nav.php:97 src/Content/Text/HTML.php:890
|
||||
msgid "@name, !forum, #tags, content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:185 src/Module/Security/Login.php:158
|
||||
#: src/Content/Nav.php:186 src/Module/Security/Login.php:158
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:185
|
||||
#: src/Content/Nav.php:186
|
||||
msgid "End this session"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:187 src/Module/Bookmarklet.php:44
|
||||
#: src/Content/Nav.php:188 src/Module/Bookmarklet.php:44
|
||||
#: src/Module/Security/Login.php:159
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:187
|
||||
#: src/Content/Nav.php:188
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:192 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:434 src/Module/Contact/Profile.php:380
|
||||
#: src/Content/Nav.php:193 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:436 src/Module/Contact/Profile.php:380
|
||||
#: src/Module/Settings/TwoFactor/Index.php:120 view/theme/frio/theme.php:236
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:192 src/Content/Nav.php:275
|
||||
#: src/Content/Nav.php:193 src/Content/Nav.php:276
|
||||
#: view/theme/frio/theme.php:236
|
||||
msgid "Your posts and conversations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:193 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:55 src/Module/Contact.php:458
|
||||
#: src/Content/Nav.php:194 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:55 src/Module/Contact.php:460
|
||||
#: src/Module/Contact/Profile.php:382 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:237
|
||||
msgid "Profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:193 view/theme/frio/theme.php:237
|
||||
#: src/Content/Nav.php:194 view/theme/frio/theme.php:237
|
||||
msgid "Your profile page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:194 view/theme/frio/theme.php:238
|
||||
#: src/Content/Nav.php:195 view/theme/frio/theme.php:238
|
||||
msgid "Your photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:195 src/Module/BaseProfile.php:72
|
||||
#: src/Module/BaseProfile.php:75 src/Module/Contact.php:450
|
||||
#: src/Content/Nav.php:196 src/Module/BaseProfile.php:72
|
||||
#: src/Module/BaseProfile.php:75 src/Module/Contact.php:452
|
||||
#: view/theme/frio/theme.php:239
|
||||
msgid "Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:195 view/theme/frio/theme.php:239
|
||||
#: src/Content/Nav.php:196 view/theme/frio/theme.php:239
|
||||
msgid "Your postings with media"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:196 view/theme/frio/theme.php:240
|
||||
#: src/Content/Nav.php:197 view/theme/frio/theme.php:240
|
||||
msgid "Your events"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:197
|
||||
#: src/Content/Nav.php:198
|
||||
msgid "Personal notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:197
|
||||
#: src/Content/Nav.php:198
|
||||
msgid "Your personal notes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:214 src/Content/Nav.php:275
|
||||
#: src/Content/Nav.php:215 src/Content/Nav.php:276
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:218 src/Module/Register.php:168
|
||||
#: src/Content/Nav.php:219 src/Module/Register.php:168
|
||||
#: src/Module/Security/Login.php:124
|
||||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:218
|
||||
#: src/Content/Nav.php:219
|
||||
msgid "Create an account"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:224 src/Module/Help.php:67
|
||||
#: src/Content/Nav.php:225 src/Module/Help.php:67
|
||||
#: src/Module/Settings/TwoFactor/AppSpecific.php:127
|
||||
#: src/Module/Settings/TwoFactor/Index.php:119
|
||||
#: src/Module/Settings/TwoFactor/Recovery.php:105
|
||||
|
|
@ -2449,158 +2449,158 @@ msgstr ""
|
|||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:224
|
||||
#: src/Content/Nav.php:225
|
||||
msgid "Help and documentation"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:228
|
||||
#: src/Content/Nav.php:229
|
||||
msgid "Apps"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:228
|
||||
#: src/Content/Nav.php:229
|
||||
msgid "Addon applications, utilities, games"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:232 src/Content/Text/HTML.php:888
|
||||
#: src/Content/Nav.php:233 src/Content/Text/HTML.php:888
|
||||
#: src/Module/Admin/Logs/View.php:87 src/Module/Search/Index.php:112
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:232
|
||||
#: src/Content/Nav.php:233
|
||||
msgid "Search site content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:235 src/Content/Text/HTML.php:897
|
||||
#: src/Content/Nav.php:236 src/Content/Text/HTML.php:897
|
||||
msgid "Full Text"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:236 src/Content/Text/HTML.php:898
|
||||
#: src/Content/Nav.php:237 src/Content/Text/HTML.php:898
|
||||
#: src/Content/Widget/TagCloud.php:68
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:237 src/Content/Nav.php:296
|
||||
#: src/Content/Nav.php:238 src/Content/Nav.php:297
|
||||
#: src/Content/Text/HTML.php:899 src/Module/BaseProfile.php:125
|
||||
#: src/Module/BaseProfile.php:128 src/Module/Contact.php:371
|
||||
#: src/Module/Contact.php:465 view/theme/frio/theme.php:247
|
||||
#: src/Module/BaseProfile.php:128 src/Module/Contact.php:373
|
||||
#: src/Module/Contact.php:467 view/theme/frio/theme.php:247
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:256
|
||||
#: src/Content/Nav.php:257
|
||||
msgid "Community"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:256
|
||||
#: src/Content/Nav.php:257
|
||||
msgid "Conversations on this and other servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:260 src/Module/BaseProfile.php:87
|
||||
#: src/Content/Nav.php:261 src/Module/BaseProfile.php:87
|
||||
#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:244
|
||||
msgid "Events and Calendar"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:263
|
||||
#: src/Content/Nav.php:264
|
||||
msgid "Directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:263
|
||||
#: src/Content/Nav.php:264
|
||||
msgid "People directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:265 src/Module/BaseAdmin.php:88
|
||||
#: src/Content/Nav.php:266 src/Module/BaseAdmin.php:88
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:265
|
||||
#: src/Content/Nav.php:266
|
||||
msgid "Information about this friendica instance"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:268 src/Module/Admin/Tos.php:76
|
||||
#: src/Content/Nav.php:269 src/Module/Admin/Tos.php:76
|
||||
#: src/Module/BaseAdmin.php:99 src/Module/Register.php:176
|
||||
#: src/Module/Tos.php:87
|
||||
msgid "Terms of Service"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:268
|
||||
#: src/Content/Nav.php:269
|
||||
msgid "Terms of Service of this Friendica instance"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:243
|
||||
#: src/Content/Nav.php:274 view/theme/frio/theme.php:243
|
||||
msgid "Network"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:243
|
||||
#: src/Content/Nav.php:274 view/theme/frio/theme.php:243
|
||||
msgid "Conversations from your friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:279
|
||||
#: src/Content/Nav.php:280
|
||||
msgid "Introductions"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:279
|
||||
#: src/Content/Nav.php:280
|
||||
msgid "Friend Requests"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:280 src/Module/BaseNotifications.php:148
|
||||
#: src/Content/Nav.php:281 src/Module/BaseNotifications.php:148
|
||||
#: src/Module/Notifications/Introductions.php:73
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:281
|
||||
#: src/Content/Nav.php:282
|
||||
msgid "See all notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:282
|
||||
#: src/Content/Nav.php:283
|
||||
msgid "Mark all system notifications as seen"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:285 view/theme/frio/theme.php:245
|
||||
#: src/Content/Nav.php:286 view/theme/frio/theme.php:245
|
||||
msgid "Private mail"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:286
|
||||
#: src/Content/Nav.php:287
|
||||
msgid "Inbox"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:287
|
||||
#: src/Content/Nav.php:288
|
||||
msgid "Outbox"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:291
|
||||
#: src/Content/Nav.php:292
|
||||
msgid "Accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:291
|
||||
#: src/Content/Nav.php:292
|
||||
msgid "Manage other pages"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:294 src/Module/Admin/Addons/Details.php:114
|
||||
#: src/Content/Nav.php:295 src/Module/Admin/Addons/Details.php:114
|
||||
#: src/Module/Admin/Themes/Details.php:93 src/Module/BaseSettings.php:122
|
||||
#: src/Module/Welcome.php:52 view/theme/frio/theme.php:246
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:294 view/theme/frio/theme.php:246
|
||||
#: src/Content/Nav.php:295 view/theme/frio/theme.php:246
|
||||
msgid "Account settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:296 view/theme/frio/theme.php:247
|
||||
#: src/Content/Nav.php:297 view/theme/frio/theme.php:247
|
||||
msgid "Manage/edit friends and contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:301 src/Module/BaseAdmin.php:129
|
||||
#: src/Content/Nav.php:302 src/Module/BaseAdmin.php:129
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:301
|
||||
#: src/Content/Nav.php:302
|
||||
msgid "Site setup and configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:304
|
||||
#: src/Content/Nav.php:305
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:304
|
||||
#: src/Content/Nav.php:305
|
||||
msgid "Site map"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2628,39 +2628,39 @@ msgstr ""
|
|||
msgid "last"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:998 src/Content/Text/BBCode.php:1833
|
||||
#: src/Content/Text/BBCode.php:1834
|
||||
#: src/Content/Text/BBCode.php:1002 src/Content/Text/BBCode.php:1883
|
||||
#: src/Content/Text/BBCode.php:1884
|
||||
msgid "Image/photo"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1188
|
||||
#: src/Content/Text/BBCode.php:1238
|
||||
#, php-format
|
||||
msgid ""
|
||||
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1213 src/Model/Item.php:3420
|
||||
#: src/Model/Item.php:3426 src/Model/Item.php:3427
|
||||
#: src/Content/Text/BBCode.php:1263 src/Model/Item.php:3456
|
||||
#: src/Model/Item.php:3462 src/Model/Item.php:3463
|
||||
msgid "Link to source"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1751 src/Content/Text/HTML.php:940
|
||||
#: src/Content/Text/BBCode.php:1801 src/Content/Text/HTML.php:940
|
||||
msgid "Click to open/close"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1782
|
||||
#: src/Content/Text/BBCode.php:1832
|
||||
msgid "$1 wrote:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1838 src/Content/Text/BBCode.php:1839
|
||||
#: src/Content/Text/BBCode.php:1888 src/Content/Text/BBCode.php:1889
|
||||
msgid "Encrypted content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:2057
|
||||
#: src/Content/Text/BBCode.php:2109
|
||||
msgid "Invalid source protocol"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:2072
|
||||
#: src/Content/Text/BBCode.php:2124
|
||||
msgid "Invalid link protocol"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2712,7 +2712,7 @@ msgstr ""
|
|||
msgid "Examples: Robert Morgenstein, Fishing"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:82 src/Module/Contact.php:392
|
||||
#: src/Content/Widget.php:82 src/Module/Contact.php:394
|
||||
#: src/Module/Directory.php:97 view/theme/vier/theme.php:183
|
||||
msgid "Find"
|
||||
msgstr ""
|
||||
|
|
@ -2739,7 +2739,7 @@ msgid "Local Directory"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:211 src/Model/Group.php:587
|
||||
#: src/Module/Contact.php:355 src/Module/Welcome.php:76
|
||||
#: src/Module/Contact.php:357 src/Module/Welcome.php:76
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -2751,7 +2751,7 @@ msgstr ""
|
|||
msgid "Relationships"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:244 src/Module/Contact.php:307
|
||||
#: src/Content/Widget.php:244 src/Module/Contact.php:309
|
||||
#: src/Module/Group.php:293
|
||||
msgid "All Contacts"
|
||||
msgstr ""
|
||||
|
|
@ -2795,7 +2795,7 @@ msgstr ""
|
|||
msgid "Organisations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Widget.php:523 src/Model/Contact.php:1582
|
||||
#: src/Content/Widget.php:523 src/Model/Contact.php:1605
|
||||
msgid "News"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3421,36 +3421,36 @@ msgstr ""
|
|||
msgid "Enter a valid existing folder"
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:67
|
||||
#: src/Core/Update.php:69
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Updates from version %s are not supported. Please update at least to version "
|
||||
"2021.01 and wait until the postupdate finished version 1383."
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:78
|
||||
#: src/Core/Update.php:80
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Updates from postupdate version %s are not supported. Please update at least "
|
||||
"to version 2021.01 and wait until the postupdate finished version 1383."
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:153
|
||||
#: src/Core/Update.php:155
|
||||
#, php-format
|
||||
msgid "%s: executing pre update %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:191
|
||||
#: src/Core/Update.php:193
|
||||
#, php-format
|
||||
msgid "%s: executing post update %d"
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:261
|
||||
#: src/Core/Update.php:263
|
||||
#, php-format
|
||||
msgid "Update %s failed. See error logs."
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:315
|
||||
#: src/Core/Update.php:317
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -3462,16 +3462,16 @@ msgid ""
|
|||
"might be invalid."
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:321
|
||||
#: src/Core/Update.php:323
|
||||
#, php-format
|
||||
msgid "The error message is\\n[pre]%s[/pre]"
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:325 src/Core/Update.php:367
|
||||
#: src/Core/Update.php:327 src/Core/Update.php:369
|
||||
msgid "[Friendica Notify] Database update"
|
||||
msgstr ""
|
||||
|
||||
#: src/Core/Update.php:361
|
||||
#: src/Core/Update.php:363
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -3588,81 +3588,81 @@ msgstr ""
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1147 src/Model/Contact.php:1158
|
||||
#: src/Model/Contact.php:1170 src/Model/Contact.php:1181
|
||||
msgid "UnFollow"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1164 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1187 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:130
|
||||
#: src/Module/Notifications/Introductions.php:202
|
||||
msgid "Approve"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1578
|
||||
#: src/Model/Contact.php:1601
|
||||
msgid "Organisation"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:1586
|
||||
#: src/Model/Contact.php:1609
|
||||
msgid "Forum"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2774
|
||||
#: src/Model/Contact.php:2795
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2779 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2800 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2784
|
||||
#: src/Model/Contact.php:2805
|
||||
msgid "Connect URL missing."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2793
|
||||
#: src/Model/Contact.php:2814
|
||||
msgid ""
|
||||
"The contact could not be added. Please check the relevant network "
|
||||
"credentials in your Settings -> Social Networks page."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2835
|
||||
#: src/Model/Contact.php:2856
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2837
|
||||
#: src/Model/Contact.php:2858
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2840
|
||||
#: src/Model/Contact.php:2861
|
||||
msgid "An author or name was not found."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2843
|
||||
#: src/Model/Contact.php:2864
|
||||
msgid "No browser URL could be matched to this address."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2846
|
||||
#: src/Model/Contact.php:2867
|
||||
msgid ""
|
||||
"Unable to match @-style Identity Address with a known protocol or email "
|
||||
"contact."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2847
|
||||
#: src/Model/Contact.php:2868
|
||||
msgid "Use mailto: in front of address to force email check."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2853
|
||||
#: src/Model/Contact.php:2874
|
||||
msgid ""
|
||||
"The profile address specified belongs to a network which has been disabled "
|
||||
"on this site."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2858
|
||||
#: src/Model/Contact.php:2879
|
||||
msgid ""
|
||||
"Limited profile. This person will be unable to receive direct/personal "
|
||||
"notifications from you."
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Contact.php:2917
|
||||
#: src/Model/Contact.php:2938
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3782,66 +3782,66 @@ msgstr ""
|
|||
msgid "Edit groups"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:1956
|
||||
#: src/Model/Item.php:1965
|
||||
#, php-format
|
||||
msgid "Detected languages in this post:\\n%s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2848
|
||||
#: src/Model/Item.php:2857
|
||||
msgid "activity"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2850
|
||||
#: src/Model/Item.php:2859
|
||||
msgid "comment"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2853
|
||||
#: src/Model/Item.php:2862
|
||||
msgid "post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2969
|
||||
#: src/Model/Item.php:3005
|
||||
#, php-format
|
||||
msgid "Content warning: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3332
|
||||
#: src/Model/Item.php:3368
|
||||
msgid "bytes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3363
|
||||
#: src/Model/Item.php:3399
|
||||
#, 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:3365
|
||||
#: src/Model/Item.php:3401
|
||||
#, php-format
|
||||
msgid "%2$s (%1$d vote)"
|
||||
msgid_plural "%2$s (%1$d votes)"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3370
|
||||
#: src/Model/Item.php:3406
|
||||
#, php-format
|
||||
msgid "%d voter. Poll end: %s"
|
||||
msgid_plural "%d voters. Poll end: %s"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3372
|
||||
#: src/Model/Item.php:3408
|
||||
#, php-format
|
||||
msgid "%d voter."
|
||||
msgid_plural "%d voters."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Model/Item.php:3374
|
||||
#: src/Model/Item.php:3410
|
||||
#, php-format
|
||||
msgid "Poll end: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:3408 src/Model/Item.php:3409
|
||||
#: src/Model/Item.php:3444 src/Model/Item.php:3445
|
||||
msgid "View on separate page"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4292,9 +4292,9 @@ msgstr ""
|
|||
#: src/Module/Admin/Blocklist/Server/Add.php:121
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:117
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:93
|
||||
#: src/Module/Admin/Federation.php:200 src/Module/Admin/Item/Delete.php:64
|
||||
#: src/Module/Admin/Federation.php:201 src/Module/Admin/Item/Delete.php:64
|
||||
#: src/Module/Admin/Logs/Settings.php:79 src/Module/Admin/Logs/View.php:84
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:433
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:431
|
||||
#: src/Module/Admin/Storage.php:138 src/Module/Admin/Summary.php:233
|
||||
#: src/Module/Admin/Themes/Details.php:90 src/Module/Admin/Themes/Index.php:111
|
||||
#: src/Module/Admin/Tos.php:75 src/Module/Admin/Users/Active.php:136
|
||||
|
|
@ -4357,8 +4357,8 @@ msgstr ""
|
|||
msgid "List of active accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:67 src/Module/Contact.php:315
|
||||
#: src/Module/Contact.php:375
|
||||
#: src/Module/Admin/BaseUsers.php:67 src/Module/Contact.php:317
|
||||
#: src/Module/Contact.php:377
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4366,8 +4366,8 @@ msgstr ""
|
|||
msgid "List of pending registrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:75 src/Module/Contact.php:323
|
||||
#: src/Module/Contact.php:376
|
||||
#: src/Module/Admin/BaseUsers.php:75 src/Module/Contact.php:325
|
||||
#: src/Module/Contact.php:378
|
||||
msgid "Blocked"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4460,7 +4460,7 @@ msgstr ""
|
|||
|
||||
#: src/Module/Admin/Blocklist/Contact.php:101
|
||||
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
|
||||
#: src/Module/Contact.php:399 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:449
|
||||
msgid "Unblock"
|
||||
msgstr ""
|
||||
|
|
@ -4821,75 +4821,75 @@ msgstr ""
|
|||
msgid "Manage Additional Features"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:68
|
||||
#: src/Module/Admin/Federation.php:69
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:140 src/Module/Admin/Federation.php:389
|
||||
#: src/Module/Admin/Federation.php:141 src/Module/Admin/Federation.php:390
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:173
|
||||
#: src/Module/Admin/Federation.php:174
|
||||
#, php-format
|
||||
msgid "%2$s total system"
|
||||
msgid_plural "%2$s total systems"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:174
|
||||
#: src/Module/Admin/Federation.php:175
|
||||
#, php-format
|
||||
msgid "%2$s active user last month"
|
||||
msgid_plural "%2$s active users last month"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:175
|
||||
#: src/Module/Admin/Federation.php:176
|
||||
#, php-format
|
||||
msgid "%2$s active user last six months"
|
||||
msgid_plural "%2$s active users last six months"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:176
|
||||
#: src/Module/Admin/Federation.php:177
|
||||
#, php-format
|
||||
msgid "%2$s registered user"
|
||||
msgid_plural "%2$s registered users"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:177
|
||||
#: src/Module/Admin/Federation.php:178
|
||||
#, php-format
|
||||
msgid "%2$s locally created post or comment"
|
||||
msgid_plural "%2$s locally created posts and comments"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:180
|
||||
#: src/Module/Admin/Federation.php:181
|
||||
#, php-format
|
||||
msgid "%2$s post per user"
|
||||
msgid_plural "%2$s posts per user"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:185
|
||||
#: src/Module/Admin/Federation.php:186
|
||||
#, php-format
|
||||
msgid "%2$s user per system"
|
||||
msgid_plural "%2$s users per system"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:195
|
||||
#: src/Module/Admin/Federation.php:196
|
||||
msgid ""
|
||||
"This page offers you some numbers to the known part of the federated social "
|
||||
"network your Friendica node is part of. These numbers are not complete but "
|
||||
"only reflect the part of the network your node is aware of."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:201 src/Module/BaseAdmin.php:90
|
||||
#: src/Module/Admin/Federation.php:202 src/Module/BaseAdmin.php:90
|
||||
msgid "Federation Statistics"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:205
|
||||
#: src/Module/Admin/Federation.php:206
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Currently this node is aware of %2$s node (%3$s active users last month, "
|
||||
|
|
@ -5153,470 +5153,470 @@ msgstr ""
|
|||
msgid "Priority"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:338 src/Module/Settings/Display.php:138
|
||||
#: src/Module/Admin/Site.php:336 src/Module/Settings/Display.php:138
|
||||
msgid "No special theme for mobile devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:355 src/Module/Settings/Display.php:148
|
||||
#: src/Module/Admin/Site.php:353 src/Module/Settings/Display.php:148
|
||||
#, php-format
|
||||
msgid "%s - (Experimental)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:367
|
||||
msgid "No community page for local users"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:368
|
||||
#: src/Module/Admin/Site.php:365
|
||||
msgid "No community page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:369
|
||||
#: src/Module/Admin/Site.php:366
|
||||
msgid "No community page for visitors"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:367
|
||||
msgid "Public postings from users of this site"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:370
|
||||
#: src/Module/Admin/Site.php:368
|
||||
msgid "Public postings from the federated network"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:371
|
||||
#: src/Module/Admin/Site.php:369
|
||||
msgid "Public postings from local users and the federated network"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:377
|
||||
#: src/Module/Admin/Site.php:375
|
||||
msgid "Multi user instance"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:404
|
||||
#: src/Module/Admin/Site.php:402
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:405
|
||||
#: src/Module/Admin/Site.php:403
|
||||
msgid "Requires approval"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:406
|
||||
#: src/Module/Admin/Site.php:404
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:410 src/Module/Install.php:222
|
||||
#: src/Module/Admin/Site.php:408 src/Module/Install.php:222
|
||||
msgid "No SSL policy, links will track page SSL state"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:411 src/Module/Install.php:223
|
||||
#: src/Module/Admin/Site.php:409 src/Module/Install.php:223
|
||||
msgid "Force all links to use SSL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:412 src/Module/Install.php:224
|
||||
#: src/Module/Admin/Site.php:410 src/Module/Install.php:224
|
||||
msgid "Self-signed certificate, use SSL for local links only (discouraged)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:416
|
||||
#: src/Module/Admin/Site.php:414
|
||||
msgid "Don't check"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:417
|
||||
#: src/Module/Admin/Site.php:415
|
||||
msgid "check the stable version"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:418
|
||||
#: src/Module/Admin/Site.php:416
|
||||
msgid "check the development version"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:422
|
||||
#: src/Module/Admin/Site.php:420
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:423
|
||||
#: src/Module/Admin/Site.php:421
|
||||
msgid "Local contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:424
|
||||
#: src/Module/Admin/Site.php:422
|
||||
msgid "Interactors"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:434 src/Module/BaseAdmin.php:93
|
||||
#: src/Module/Admin/Site.php:432 src/Module/BaseAdmin.php:93
|
||||
msgid "Site"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:435
|
||||
#: src/Module/Admin/Site.php:433
|
||||
msgid "General Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:437
|
||||
#: src/Module/Admin/Site.php:435
|
||||
msgid "Republish users to directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:438 src/Module/Register.php:152
|
||||
#: src/Module/Admin/Site.php:436 src/Module/Register.php:152
|
||||
msgid "Registration"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:439
|
||||
#: src/Module/Admin/Site.php:437
|
||||
msgid "File upload"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:440
|
||||
#: src/Module/Admin/Site.php:438
|
||||
msgid "Policies"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:442
|
||||
#: src/Module/Admin/Site.php:440
|
||||
msgid "Auto Discovered Contact Directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:443
|
||||
#: src/Module/Admin/Site.php:441
|
||||
msgid "Performance"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:444
|
||||
#: src/Module/Admin/Site.php:442
|
||||
msgid "Worker"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:445
|
||||
#: src/Module/Admin/Site.php:443
|
||||
msgid "Message Relay"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:446
|
||||
#: src/Module/Admin/Site.php:444
|
||||
msgid ""
|
||||
"Use the command \"console relay\" in the command line to add or remove "
|
||||
"relays."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:447
|
||||
#: src/Module/Admin/Site.php:445
|
||||
msgid "The system is not subscribed to any relays at the moment."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:448
|
||||
#: src/Module/Admin/Site.php:446
|
||||
msgid "The system is currently subscribed to the following relays:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:450
|
||||
#: src/Module/Admin/Site.php:448
|
||||
msgid "Relocate Node"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:451
|
||||
#: src/Module/Admin/Site.php:449
|
||||
msgid ""
|
||||
"Relocating your node enables you to change the DNS domain of this node and "
|
||||
"keep all the existing users and posts. This process takes a while and can "
|
||||
"only be started from the relocate console command like this:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:452
|
||||
#: src/Module/Admin/Site.php:450
|
||||
msgid "(Friendica directory)# bin/console relocate https://newdomain.com"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:456
|
||||
#: src/Module/Admin/Site.php:454
|
||||
msgid "Site name"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:457
|
||||
#: src/Module/Admin/Site.php:455
|
||||
msgid "Sender Email"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:457
|
||||
#: src/Module/Admin/Site.php:455
|
||||
msgid ""
|
||||
"The email address your server shall use to send notification emails from."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:458
|
||||
#: src/Module/Admin/Site.php:456
|
||||
msgid "Name of the system actor"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:458
|
||||
#: src/Module/Admin/Site.php:456
|
||||
msgid ""
|
||||
"Name of the internal system account that is used to perform ActivityPub "
|
||||
"requests. This must be an unused username. If set, this can't be changed "
|
||||
"again."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:459
|
||||
#: src/Module/Admin/Site.php:457
|
||||
msgid "Banner/Logo"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:460
|
||||
#: src/Module/Admin/Site.php:458
|
||||
msgid "Email Banner/Logo"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:461
|
||||
#: src/Module/Admin/Site.php:459
|
||||
msgid "Shortcut icon"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:461
|
||||
#: src/Module/Admin/Site.php:459
|
||||
msgid "Link to an icon that will be used for browsers."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:462
|
||||
#: src/Module/Admin/Site.php:460
|
||||
msgid "Touch icon"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:462
|
||||
#: src/Module/Admin/Site.php:460
|
||||
msgid "Link to an icon that will be used for tablets and mobiles."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:463
|
||||
#: src/Module/Admin/Site.php:461
|
||||
msgid "Additional Info"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:463
|
||||
#: src/Module/Admin/Site.php:461
|
||||
#, php-format
|
||||
msgid ""
|
||||
"For public servers: you can add additional information here that will be "
|
||||
"listed at %s/servers."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:464
|
||||
#: src/Module/Admin/Site.php:462
|
||||
msgid "System language"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:465
|
||||
#: src/Module/Admin/Site.php:463
|
||||
msgid "System theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:465
|
||||
#: src/Module/Admin/Site.php:463
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Default system theme - may be over-ridden by user profiles - <a href=\"%s\" "
|
||||
"id=\"cnftheme\">Change default theme settings</a>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:466
|
||||
#: src/Module/Admin/Site.php:464
|
||||
msgid "Mobile system theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:466
|
||||
#: src/Module/Admin/Site.php:464
|
||||
msgid "Theme for mobile devices"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:467 src/Module/Install.php:232
|
||||
#: src/Module/Admin/Site.php:465 src/Module/Install.php:232
|
||||
msgid "SSL link policy"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:467 src/Module/Install.php:234
|
||||
#: src/Module/Admin/Site.php:465 src/Module/Install.php:234
|
||||
msgid "Determines whether generated links should be forced to use SSL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:468
|
||||
#: src/Module/Admin/Site.php:466
|
||||
msgid "Force SSL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:468
|
||||
#: src/Module/Admin/Site.php:466
|
||||
msgid ""
|
||||
"Force all Non-SSL requests to SSL - Attention: on some systems it could lead "
|
||||
"to endless loops."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:469
|
||||
#: src/Module/Admin/Site.php:467
|
||||
msgid "Show help entry from navigation menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:469
|
||||
#: src/Module/Admin/Site.php:467
|
||||
msgid ""
|
||||
"Displays the menu entry for the Help pages from the navigation menu. It is "
|
||||
"always accessible by calling /help directly."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:470
|
||||
#: src/Module/Admin/Site.php:468
|
||||
msgid "Single user instance"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:470
|
||||
#: src/Module/Admin/Site.php:468
|
||||
msgid "Make this instance multi-user or single-user for the named user"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:472
|
||||
#: src/Module/Admin/Site.php:470
|
||||
msgid "Maximum image size"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:472
|
||||
#: src/Module/Admin/Site.php:470
|
||||
msgid ""
|
||||
"Maximum size in bytes of uploaded images. Default is 0, which means no "
|
||||
"limits."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:473
|
||||
#: src/Module/Admin/Site.php:471
|
||||
msgid "Maximum image length"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:473
|
||||
#: src/Module/Admin/Site.php:471
|
||||
msgid ""
|
||||
"Maximum length in pixels of the longest side of uploaded images. Default is "
|
||||
"-1, which means no limits."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:474
|
||||
#: src/Module/Admin/Site.php:472
|
||||
msgid "JPEG image quality"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:474
|
||||
#: src/Module/Admin/Site.php:472
|
||||
msgid ""
|
||||
"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
|
||||
"100, which is full quality."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:476
|
||||
#: src/Module/Admin/Site.php:474
|
||||
msgid "Register policy"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:477
|
||||
#: src/Module/Admin/Site.php:475
|
||||
msgid "Maximum Daily Registrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:477
|
||||
#: src/Module/Admin/Site.php:475
|
||||
msgid ""
|
||||
"If registration is permitted above, this sets the maximum number of new user "
|
||||
"registrations to accept per day. If register is set to closed, this setting "
|
||||
"has no effect."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:478
|
||||
#: src/Module/Admin/Site.php:476
|
||||
msgid "Register text"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:478
|
||||
#: src/Module/Admin/Site.php:476
|
||||
msgid ""
|
||||
"Will be displayed prominently on the registration page. You can use BBCode "
|
||||
"here."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:479
|
||||
#: src/Module/Admin/Site.php:477
|
||||
msgid "Forbidden Nicknames"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:479
|
||||
#: src/Module/Admin/Site.php:477
|
||||
msgid ""
|
||||
"Comma separated list of nicknames that are forbidden from registration. "
|
||||
"Preset is a list of role names according RFC 2142."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:480
|
||||
#: src/Module/Admin/Site.php:478
|
||||
msgid "Accounts abandoned after x days"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:480
|
||||
#: src/Module/Admin/Site.php:478
|
||||
msgid ""
|
||||
"Will not waste system resources polling external sites for abandonded "
|
||||
"accounts. Enter 0 for no time limit."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:481
|
||||
#: src/Module/Admin/Site.php:479
|
||||
msgid "Allowed friend domains"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:481
|
||||
#: src/Module/Admin/Site.php:479
|
||||
msgid ""
|
||||
"Comma separated list of domains which are allowed to establish friendships "
|
||||
"with this site. Wildcards are accepted. Empty to allow any domains"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:482
|
||||
#: src/Module/Admin/Site.php:480
|
||||
msgid "Allowed email domains"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:482
|
||||
#: src/Module/Admin/Site.php:480
|
||||
msgid ""
|
||||
"Comma separated list of domains which are allowed in email addresses for "
|
||||
"registrations to this site. Wildcards are accepted. Empty to allow any "
|
||||
"domains"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:483
|
||||
#: src/Module/Admin/Site.php:481
|
||||
msgid "No OEmbed rich content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:483
|
||||
#: src/Module/Admin/Site.php:481
|
||||
msgid ""
|
||||
"Don't show the rich content (e.g. embedded PDF), except from the domains "
|
||||
"listed below."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:484
|
||||
#: src/Module/Admin/Site.php:482
|
||||
msgid "Trusted third-party domains"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:484
|
||||
#: src/Module/Admin/Site.php:482
|
||||
msgid ""
|
||||
"Comma separated list of domains from which content is allowed to be embedded "
|
||||
"in posts like with OEmbed. All sub-domains of the listed domains are allowed "
|
||||
"as well."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:485
|
||||
#: src/Module/Admin/Site.php:483
|
||||
msgid "Block public"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:485
|
||||
#: src/Module/Admin/Site.php:483
|
||||
msgid ""
|
||||
"Check to block public access to all otherwise public personal pages on this "
|
||||
"site unless you are currently logged in."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:486
|
||||
#: src/Module/Admin/Site.php:484
|
||||
msgid "Force publish"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:486
|
||||
#: src/Module/Admin/Site.php:484
|
||||
msgid ""
|
||||
"Check to force all profiles on this site to be listed in the site directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:486
|
||||
#: src/Module/Admin/Site.php:484
|
||||
msgid "Enabling this may violate privacy laws like the GDPR"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:487
|
||||
#: src/Module/Admin/Site.php:485
|
||||
msgid "Global directory URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:487
|
||||
#: src/Module/Admin/Site.php:485
|
||||
msgid ""
|
||||
"URL to the global directory. If this is not set, the global directory is "
|
||||
"completely unavailable to the application."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:488
|
||||
#: src/Module/Admin/Site.php:486
|
||||
msgid "Private posts by default for new users"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:488
|
||||
#: src/Module/Admin/Site.php:486
|
||||
msgid ""
|
||||
"Set default post permissions for all new members to the default privacy "
|
||||
"group rather than public."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:489
|
||||
#: src/Module/Admin/Site.php:487
|
||||
msgid "Don't include post content in email notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:489
|
||||
#: src/Module/Admin/Site.php:487
|
||||
msgid ""
|
||||
"Don't include the content of a post/comment/private message/etc. in the "
|
||||
"email notifications that are sent out from this site, as a privacy measure."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:490
|
||||
#: src/Module/Admin/Site.php:488
|
||||
msgid "Disallow public access to addons listed in the apps menu."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:490
|
||||
#: src/Module/Admin/Site.php:488
|
||||
msgid ""
|
||||
"Checking this box will restrict addons listed in the apps menu to members "
|
||||
"only."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:491
|
||||
#: src/Module/Admin/Site.php:489
|
||||
msgid "Don't embed private images in posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:491
|
||||
#: src/Module/Admin/Site.php:489
|
||||
msgid ""
|
||||
"Don't replace locally-hosted private photos in posts with an embedded copy "
|
||||
"of the image. This means that contacts who receive posts containing private "
|
||||
"photos will have to authenticate and load each image, which may take a while."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:492
|
||||
#: src/Module/Admin/Site.php:490
|
||||
msgid "Explicit Content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:492
|
||||
#: src/Module/Admin/Site.php:490
|
||||
msgid ""
|
||||
"Set this to announce that your node is used mostly for explicit content that "
|
||||
"might not be suited for minors. This information will be published in the "
|
||||
|
|
@ -5625,257 +5625,257 @@ msgid ""
|
|||
"will be shown at the user registration page."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:493
|
||||
#: src/Module/Admin/Site.php:491
|
||||
msgid "Proxify external content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:493
|
||||
#: src/Module/Admin/Site.php:491
|
||||
msgid ""
|
||||
"Route external content via the proxy functionality. This is used for example "
|
||||
"for some OEmbed accesses and in some other rare cases."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:494
|
||||
#: src/Module/Admin/Site.php:492
|
||||
msgid "Cache contact avatars"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:494
|
||||
#: src/Module/Admin/Site.php:492
|
||||
msgid ""
|
||||
"Locally store the avatar pictures of the contacts. This uses a lot of "
|
||||
"storage space but it increases the performance."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:495
|
||||
#: src/Module/Admin/Site.php:493
|
||||
msgid "Allow Users to set remote_self"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:495
|
||||
#: src/Module/Admin/Site.php:493
|
||||
msgid ""
|
||||
"With checking this, every user is allowed to mark every contact as a "
|
||||
"remote_self in the repair contact dialog. Setting this flag on a contact "
|
||||
"causes mirroring every posting of that contact in the users stream."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:496
|
||||
#: src/Module/Admin/Site.php:494
|
||||
msgid "Enable multiple registrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:496
|
||||
#: src/Module/Admin/Site.php:494
|
||||
msgid "Enable users to register additional accounts for use as pages."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:497
|
||||
#: src/Module/Admin/Site.php:495
|
||||
msgid "Enable OpenID"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:497
|
||||
#: src/Module/Admin/Site.php:495
|
||||
msgid "Enable OpenID support for registration and logins."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:498
|
||||
#: src/Module/Admin/Site.php:496
|
||||
msgid "Enable Fullname check"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:498
|
||||
#: src/Module/Admin/Site.php:496
|
||||
msgid ""
|
||||
"Enable check to only allow users to register with a space between the first "
|
||||
"name and the last name in their full name."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:499
|
||||
#: src/Module/Admin/Site.php:497
|
||||
msgid "Community pages for visitors"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:499
|
||||
#: src/Module/Admin/Site.php:497
|
||||
msgid ""
|
||||
"Which community pages should be available for visitors. Local users always "
|
||||
"see both pages."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:500
|
||||
#: src/Module/Admin/Site.php:498
|
||||
msgid "Posts per user on community page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:500
|
||||
#: src/Module/Admin/Site.php:498
|
||||
msgid ""
|
||||
"The maximum number of posts per user on the community page. (Not valid for "
|
||||
"\"Global Community\")"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:502
|
||||
#: src/Module/Admin/Site.php:500
|
||||
msgid "Enable Mail support"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:502
|
||||
#: src/Module/Admin/Site.php:500
|
||||
msgid ""
|
||||
"Enable built-in mail support to poll IMAP folders and to reply via mail."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:503
|
||||
#: src/Module/Admin/Site.php:501
|
||||
msgid ""
|
||||
"Mail support can't be enabled because the PHP IMAP module is not installed."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:504
|
||||
#: src/Module/Admin/Site.php:502
|
||||
msgid "Enable OStatus support"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:504
|
||||
#: src/Module/Admin/Site.php:502
|
||||
msgid ""
|
||||
"Enable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
|
||||
"communications in OStatus are public."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:506
|
||||
#: src/Module/Admin/Site.php:504
|
||||
msgid ""
|
||||
"Diaspora support can't be enabled because Friendica was installed into a sub "
|
||||
"directory."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:507
|
||||
#: src/Module/Admin/Site.php:505
|
||||
msgid "Enable Diaspora support"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:507
|
||||
#: src/Module/Admin/Site.php:505
|
||||
msgid ""
|
||||
"Enable built-in Diaspora network compatibility for communicating with "
|
||||
"diaspora servers."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:508
|
||||
#: src/Module/Admin/Site.php:506
|
||||
msgid "Verify SSL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:508
|
||||
#: src/Module/Admin/Site.php:506
|
||||
msgid ""
|
||||
"If you wish, you can turn on strict certificate checking. This will mean you "
|
||||
"cannot connect (at all) to self-signed SSL sites."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:509
|
||||
#: src/Module/Admin/Site.php:507
|
||||
msgid "Proxy user"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:509
|
||||
#: src/Module/Admin/Site.php:507
|
||||
msgid "User name for the proxy server."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:510
|
||||
#: src/Module/Admin/Site.php:508
|
||||
msgid "Proxy URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:510
|
||||
#: src/Module/Admin/Site.php:508
|
||||
msgid ""
|
||||
"If you want to use a proxy server that Friendica should use to connect to "
|
||||
"the network, put the URL of the proxy here."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:511
|
||||
#: src/Module/Admin/Site.php:509
|
||||
msgid "Network timeout"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:511
|
||||
#: src/Module/Admin/Site.php:509
|
||||
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:512
|
||||
#: src/Module/Admin/Site.php:510
|
||||
msgid "Maximum Load Average"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:512
|
||||
#: src/Module/Admin/Site.php:510
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Maximum system load before delivery and poll processes are deferred - "
|
||||
"default %d."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:513
|
||||
#: src/Module/Admin/Site.php:511
|
||||
msgid "Minimal Memory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:513
|
||||
#: src/Module/Admin/Site.php:511
|
||||
msgid ""
|
||||
"Minimal free memory in MB for the worker. Needs access to /proc/meminfo - "
|
||||
"default 0 (deactivated)."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:514
|
||||
#: src/Module/Admin/Site.php:512
|
||||
msgid "Periodically optimize tables"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:514
|
||||
#: src/Module/Admin/Site.php:512
|
||||
msgid "Periodically optimize tables like the cache and the workerqueue"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:516
|
||||
#: src/Module/Admin/Site.php:514
|
||||
msgid "Discover followers/followings from contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:516
|
||||
#: src/Module/Admin/Site.php:514
|
||||
msgid ""
|
||||
"If enabled, contacts are checked for their followers and following contacts."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:517
|
||||
#: src/Module/Admin/Site.php:515
|
||||
msgid "None - deactivated"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:518
|
||||
#: src/Module/Admin/Site.php:516
|
||||
msgid ""
|
||||
"Local contacts - contacts of our local contacts are discovered for their "
|
||||
"followers/followings."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:519
|
||||
#: src/Module/Admin/Site.php:517
|
||||
msgid ""
|
||||
"Interactors - contacts of our local contacts and contacts who interacted on "
|
||||
"locally visible postings are discovered for their followers/followings."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:521
|
||||
#: src/Module/Admin/Site.php:519
|
||||
msgid "Synchronize the contacts with the directory server"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:521
|
||||
#: src/Module/Admin/Site.php:519
|
||||
msgid ""
|
||||
"if enabled, the system will check periodically for new contacts on the "
|
||||
"defined directory server."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:523
|
||||
#: src/Module/Admin/Site.php:521
|
||||
msgid "Days between requery"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:523
|
||||
#: src/Module/Admin/Site.php:521
|
||||
msgid "Number of days after which a server is requeried for his contacts."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:524
|
||||
#: src/Module/Admin/Site.php:522
|
||||
msgid "Discover contacts from other servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:524
|
||||
#: src/Module/Admin/Site.php:522
|
||||
msgid ""
|
||||
"Periodically query other servers for contacts. The system queries Friendica, "
|
||||
"Mastodon and Hubzilla servers."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:525
|
||||
#: src/Module/Admin/Site.php:523
|
||||
msgid "Search the local directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:525
|
||||
#: src/Module/Admin/Site.php:523
|
||||
msgid ""
|
||||
"Search the local directory instead of the global directory. When searching "
|
||||
"locally, every search will be executed on the global directory in the "
|
||||
"background. This improves the search results when the search is repeated."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:527
|
||||
#: src/Module/Admin/Site.php:525
|
||||
msgid "Publish server information"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:527
|
||||
#: src/Module/Admin/Site.php:525
|
||||
msgid ""
|
||||
"If enabled, general server and usage data will be published. The data "
|
||||
"contains the name and version of the server, number of users with public "
|
||||
|
|
@ -5883,50 +5883,50 @@ msgid ""
|
|||
"href=\"http://the-federation.info/\">the-federation.info</a> for details."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:529
|
||||
#: src/Module/Admin/Site.php:527
|
||||
msgid "Check upstream version"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:529
|
||||
#: src/Module/Admin/Site.php:527
|
||||
msgid ""
|
||||
"Enables checking for new Friendica versions at github. If there is a new "
|
||||
"version, you will be informed in the admin panel overview."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:530
|
||||
#: src/Module/Admin/Site.php:528
|
||||
msgid "Suppress Tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:530
|
||||
#: src/Module/Admin/Site.php:528
|
||||
msgid "Suppress showing a list of hashtags at the end of the posting."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:531
|
||||
#: src/Module/Admin/Site.php:529
|
||||
msgid "Clean database"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:531
|
||||
#: src/Module/Admin/Site.php:529
|
||||
msgid ""
|
||||
"Remove old remote items, orphaned database records and old content from some "
|
||||
"other helper tables."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:532
|
||||
#: src/Module/Admin/Site.php:530
|
||||
msgid "Lifespan of remote items"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:532
|
||||
#: src/Module/Admin/Site.php:530
|
||||
msgid ""
|
||||
"When the database cleanup is enabled, this defines the days after which "
|
||||
"remote items will be deleted. Own items, and marked or filed items are "
|
||||
"always kept. 0 disables this behaviour."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:533
|
||||
#: src/Module/Admin/Site.php:531
|
||||
msgid "Lifespan of unclaimed items"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:533
|
||||
#: src/Module/Admin/Site.php:531
|
||||
msgid ""
|
||||
"When the database cleanup is enabled, this defines the days after which "
|
||||
"unclaimed remote items (mostly content from the relay) will be deleted. "
|
||||
|
|
@ -5934,144 +5934,144 @@ msgid ""
|
|||
"items if set to 0."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:534
|
||||
#: src/Module/Admin/Site.php:532
|
||||
msgid "Lifespan of raw conversation data"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:534
|
||||
#: src/Module/Admin/Site.php:532
|
||||
msgid ""
|
||||
"The conversation data is used for ActivityPub and OStatus, as well as for "
|
||||
"debug purposes. It should be safe to remove it after 14 days, default is 90 "
|
||||
"days."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:535
|
||||
#: src/Module/Admin/Site.php:533
|
||||
msgid "Maximum numbers of comments per post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:535
|
||||
#: src/Module/Admin/Site.php:533
|
||||
msgid "How much comments should be shown for each post? Default value is 100."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:536
|
||||
#: src/Module/Admin/Site.php:534
|
||||
msgid "Maximum numbers of comments per post on the display page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:536
|
||||
#: src/Module/Admin/Site.php:534
|
||||
msgid ""
|
||||
"How many comments should be shown on the single view for each post? Default "
|
||||
"value is 1000."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:537
|
||||
#: src/Module/Admin/Site.php:535
|
||||
msgid "Temp path"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:537
|
||||
#: src/Module/Admin/Site.php:535
|
||||
msgid ""
|
||||
"If you have a restricted system where the webserver can't access the system "
|
||||
"temp path, enter another path here."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:538
|
||||
#: src/Module/Admin/Site.php:536
|
||||
msgid "Only search in tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:538
|
||||
#: src/Module/Admin/Site.php:536
|
||||
msgid "On large systems the text search can slow down the system extremely."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:539
|
||||
#: src/Module/Admin/Site.php:537
|
||||
msgid "Generate counts per contact group when calculating network count"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:539
|
||||
#: src/Module/Admin/Site.php:537
|
||||
msgid ""
|
||||
"On systems with users that heavily use contact groups the query can be very "
|
||||
"expensive."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:541
|
||||
#: src/Module/Admin/Site.php:539
|
||||
msgid "Maximum number of parallel workers"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:541
|
||||
#: src/Module/Admin/Site.php:539
|
||||
#, php-format
|
||||
msgid ""
|
||||
"On shared hosters set this to %d. On larger systems, values of %d are great. "
|
||||
"Default value is %d."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:542
|
||||
#: src/Module/Admin/Site.php:540
|
||||
msgid "Enable fastlane"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:542
|
||||
#: src/Module/Admin/Site.php:540
|
||||
msgid ""
|
||||
"When enabed, the fastlane mechanism starts an additional worker if processes "
|
||||
"with higher priority are blocked by processes of lower priority."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:544
|
||||
#: src/Module/Admin/Site.php:542
|
||||
msgid "Direct relay transfer"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:544
|
||||
#: src/Module/Admin/Site.php:542
|
||||
msgid ""
|
||||
"Enables the direct transfer to other servers without using the relay servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:545
|
||||
#: src/Module/Admin/Site.php:543
|
||||
msgid "Relay scope"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:545
|
||||
#: src/Module/Admin/Site.php:543
|
||||
msgid ""
|
||||
"Can be \"all\" or \"tags\". \"all\" means that every public post should be "
|
||||
"received. \"tags\" means that only posts with selected tags should be "
|
||||
"received."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:545 src/Module/Contact/Profile.php:273
|
||||
#: src/Module/Admin/Site.php:543 src/Module/Contact/Profile.php:273
|
||||
#: src/Module/Settings/TwoFactor/Index.php:126
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:545
|
||||
#: src/Module/Admin/Site.php:543
|
||||
msgid "all"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:545
|
||||
#: src/Module/Admin/Site.php:543
|
||||
msgid "tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:546
|
||||
#: src/Module/Admin/Site.php:544
|
||||
msgid "Server tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:546
|
||||
#: src/Module/Admin/Site.php:544
|
||||
msgid "Comma separated list of tags for the \"tags\" subscription."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:547
|
||||
#: src/Module/Admin/Site.php:545
|
||||
msgid "Deny Server tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:547
|
||||
#: src/Module/Admin/Site.php:545
|
||||
msgid "Comma separated list of tags that are rejected."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:548
|
||||
#: src/Module/Admin/Site.php:546
|
||||
msgid "Allow user tags"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:548
|
||||
#: src/Module/Admin/Site.php:546
|
||||
msgid ""
|
||||
"If enabled, the tags from the saved searches will used for the \"tags\" "
|
||||
"subscription in addition to the \"relay_server_tags\"."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Site.php:551
|
||||
#: src/Module/Admin/Site.php:549
|
||||
msgid "Start Relocation"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -6733,7 +6733,7 @@ msgid_plural ""
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:461
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:463
|
||||
msgid "Profile Details"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -6807,110 +6807,110 @@ msgid_plural "%d contacts edited."
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Contact.php:310
|
||||
#: src/Module/Contact.php:312
|
||||
msgid "Show all contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:318
|
||||
#: src/Module/Contact.php:320
|
||||
msgid "Only show pending contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:326
|
||||
#: src/Module/Contact.php:328
|
||||
msgid "Only show blocked contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:331 src/Module/Contact.php:378
|
||||
#: src/Module/Contact.php:333 src/Module/Contact.php:380
|
||||
#: src/Object/Post.php:339
|
||||
msgid "Ignored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:334
|
||||
#: src/Module/Contact.php:336
|
||||
msgid "Only show ignored contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:339 src/Module/Contact.php:379
|
||||
#: src/Module/Contact.php:341 src/Module/Contact.php:381
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:342
|
||||
#: src/Module/Contact.php:344
|
||||
msgid "Only show archived contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:347 src/Module/Contact.php:377
|
||||
#: src/Module/Contact.php:349 src/Module/Contact.php:379
|
||||
msgid "Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:350
|
||||
#: src/Module/Contact.php:352
|
||||
msgid "Only show hidden contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:358
|
||||
#: src/Module/Contact.php:360
|
||||
msgid "Organize your contact groups"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:390
|
||||
#: src/Module/Contact.php:392
|
||||
msgid "Search your contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:391 src/Module/Search/Index.php:207
|
||||
#: src/Module/Contact.php:393 src/Module/Search/Index.php:207
|
||||
#, php-format
|
||||
msgid "Results for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:398
|
||||
#: src/Module/Contact.php:400
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:400 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact.php:402 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact/Profile.php:457
|
||||
msgid "Unignore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:402
|
||||
#: src/Module/Contact.php:404
|
||||
msgid "Batch Actions"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:437
|
||||
#: src/Module/Contact.php:439
|
||||
msgid "Conversations started by this contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:442
|
||||
#: src/Module/Contact.php:444
|
||||
msgid "Posts and Comments"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:453
|
||||
#: src/Module/Contact.php:455
|
||||
msgid "Posts containing media objects"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:468
|
||||
#: src/Module/Contact.php:470
|
||||
msgid "View all known contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:478
|
||||
#: src/Module/Contact.php:480
|
||||
msgid "Advanced Contact Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:512
|
||||
#: src/Module/Contact.php:514
|
||||
msgid "Mutual Friendship"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:516
|
||||
#: src/Module/Contact.php:518
|
||||
msgid "is a fan of yours"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:520
|
||||
#: src/Module/Contact.php:522
|
||||
msgid "you are a fan of"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:538
|
||||
#: src/Module/Contact.php:540
|
||||
msgid "Pending outgoing contact request"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:540
|
||||
#: src/Module/Contact.php:542
|
||||
msgid "Pending incoming contact request"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:553 src/Module/Contact/Profile.php:334
|
||||
#: src/Module/Contact.php:555 src/Module/Contact/Profile.php:334
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr ""
|
||||
|
|
@ -7256,50 +7256,50 @@ msgstr ""
|
|||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:61
|
||||
#: src/Module/Conversation/Community.php:76
|
||||
msgid ""
|
||||
"This community stream shows all public posts received by this node. They may "
|
||||
"not reflect the opinions of this node’s users."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:76
|
||||
#: src/Module/Conversation/Community.php:89
|
||||
msgid "Local Community"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:79
|
||||
#: src/Module/Conversation/Community.php:92
|
||||
msgid "Posts from local users on this server"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:87
|
||||
#: src/Module/Conversation/Community.php:100
|
||||
msgid "Global Community"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:90
|
||||
#: src/Module/Conversation/Community.php:103
|
||||
msgid "Posts from users of the whole federated network"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:123
|
||||
#: src/Module/Conversation/Community.php:136
|
||||
msgid "Own Contacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:127
|
||||
#: src/Module/Conversation/Community.php:140
|
||||
msgid "Include"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:128
|
||||
#: src/Module/Conversation/Community.php:141
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:145 src/Module/Search/Index.php:152
|
||||
#: src/Module/Conversation/Community.php:158 src/Module/Search/Index.php:152
|
||||
#: src/Module/Search/Index.php:194
|
||||
msgid "No results."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:201
|
||||
#: src/Module/Conversation/Community.php:214
|
||||
msgid "Community option not available."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Conversation/Community.php:217
|
||||
#: src/Module/Conversation/Community.php:230
|
||||
msgid "Not available."
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -8094,40 +8094,46 @@ msgid ""
|
|||
"important, please visit http://friendi.ca"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:50
|
||||
#: src/Module/Item/Compose.php:85
|
||||
msgid "Please enter a post body."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:63
|
||||
#: src/Module/Item/Compose.php:98
|
||||
msgid "This feature is only available with the frio theme."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:90
|
||||
#: src/Module/Item/Compose.php:122
|
||||
msgid "Compose new personal note"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:99
|
||||
#: src/Module/Item/Compose.php:131
|
||||
msgid "Compose new post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:153
|
||||
#: src/Module/Item/Compose.php:187
|
||||
msgid "Visibility"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:174
|
||||
#: src/Module/Item/Compose.php:201
|
||||
msgid "Clear the location"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:175
|
||||
#: src/Module/Item/Compose.php:202
|
||||
msgid "Location services are unavailable on your device"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:176
|
||||
#: src/Module/Item/Compose.php:203
|
||||
msgid ""
|
||||
"Location services are disabled. Please check the website's permissions on "
|
||||
"your device"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Compose.php:209
|
||||
msgid ""
|
||||
"You can make this page always open when you use the New Post button in the "
|
||||
"<a href=\"/settings/display\">Theme Customization settings</a>."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Item/Follow.php:52
|
||||
msgid "Unable to follow this item."
|
||||
msgstr ""
|
||||
|
|
@ -8404,19 +8410,19 @@ msgstr ""
|
|||
|
||||
#: src/Module/Profile/Profile.php:326 src/Module/Profile/Profile.php:329
|
||||
#: src/Module/Profile/Status.php:66 src/Module/Profile/Status.php:69
|
||||
#: src/Protocol/Feed.php:1025 src/Protocol/OStatus.php:1046
|
||||
#: src/Protocol/Feed.php:1026 src/Protocol/OStatus.php:1046
|
||||
#, php-format
|
||||
msgid "%s's timeline"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Profile/Profile.php:327 src/Module/Profile/Status.php:67
|
||||
#: src/Protocol/Feed.php:1029 src/Protocol/OStatus.php:1051
|
||||
#: src/Protocol/Feed.php:1030 src/Protocol/OStatus.php:1051
|
||||
#, php-format
|
||||
msgid "%s's posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Profile/Profile.php:328 src/Module/Profile/Status.php:68
|
||||
#: src/Protocol/Feed.php:1032 src/Protocol/OStatus.php:1055
|
||||
#: src/Protocol/Feed.php:1033 src/Protocol/OStatus.php:1055
|
||||
#, php-format
|
||||
msgid "%s's comments"
|
||||
msgstr ""
|
||||
|
|
@ -9456,7 +9462,7 @@ msgid "Content Settings"
|
|||
msgstr ""
|
||||
|
||||
#: src/Module/Settings/Display.php:205 view/theme/duepuntozero/config.php:70
|
||||
#: view/theme/frio/config.php:161 view/theme/quattro/config.php:72
|
||||
#: view/theme/frio/config.php:172 view/theme/quattro/config.php:72
|
||||
#: view/theme/vier/config.php:120
|
||||
msgid "Theme settings"
|
||||
msgstr ""
|
||||
|
|
@ -11119,113 +11125,124 @@ msgstr ""
|
|||
msgid "Variations"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:142
|
||||
#: view/theme/frio/config.php:153
|
||||
msgid "Light (Accented)"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:143
|
||||
#: view/theme/frio/config.php:154
|
||||
msgid "Dark (Accented)"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:144
|
||||
#: view/theme/frio/config.php:155
|
||||
msgid "Black (Accented)"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:156
|
||||
#: view/theme/frio/config.php:167
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:156
|
||||
#: view/theme/frio/config.php:167
|
||||
msgid "Check image permissions if all users are allowed to see the image"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:162
|
||||
#: view/theme/frio/config.php:173
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:163
|
||||
#: view/theme/frio/config.php:174
|
||||
msgid "Legacy"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:164
|
||||
#: view/theme/frio/config.php:175
|
||||
msgid "Accented"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:165
|
||||
#: view/theme/frio/config.php:176
|
||||
msgid "Select color scheme"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Select scheme accent"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Blue"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Red"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Purple"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Green"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Pink"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:167
|
||||
#: view/theme/frio/config.php:178
|
||||
msgid "Copy or paste schemestring"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:167
|
||||
#: view/theme/frio/config.php:178
|
||||
msgid ""
|
||||
"You can copy this string to share your theme with others. Pasting here "
|
||||
"applies the schemestring"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:168
|
||||
#: view/theme/frio/config.php:179
|
||||
msgid "Navigation bar background color"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:169
|
||||
#: view/theme/frio/config.php:180
|
||||
msgid "Navigation bar icon color "
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:170
|
||||
#: view/theme/frio/config.php:181
|
||||
msgid "Link color"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:171
|
||||
#: view/theme/frio/config.php:182
|
||||
msgid "Set the background color"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:172
|
||||
#: view/theme/frio/config.php:183
|
||||
msgid "Content background opacity"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:173
|
||||
#: view/theme/frio/config.php:184
|
||||
msgid "Set the background image"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:174
|
||||
#: view/theme/frio/config.php:185
|
||||
msgid "Background image style"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:179
|
||||
#: view/theme/frio/config.php:188
|
||||
msgid "Always open Compose page"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:188
|
||||
msgid ""
|
||||
"The New Post button always open the <a href=\"/compose\">Compose page</a> "
|
||||
"instead of the modal form. When this is disabled, the Compose page can be "
|
||||
"accessed with a middle click on the link or from the modal."
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:192
|
||||
msgid "Login page background image"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:183
|
||||
#: view/theme/frio/config.php:196
|
||||
msgid "Login page background color"
|
||||
msgstr ""
|
||||
|
||||
#: view/theme/frio/config.php:183
|
||||
#: view/theme/frio/config.php:196
|
||||
msgid "Leave background image and color empty for theme defaults"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-08-08 12:31-0400\n"
|
||||
"POT-Creation-Date: 2022-10-16 12:38-0400\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"
|
||||
|
|
@ -86,8 +86,8 @@ msgstr "Der Zugriff zu diesem Profil wurde eingeschränkt."
|
|||
|
||||
#: mod/cal.php:243 mod/events.php:374 src/Content/Nav.php:196
|
||||
#: src/Content/Nav.php:260 src/Module/BaseProfile.php:84
|
||||
#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:234
|
||||
#: view/theme/frio/theme.php:238
|
||||
#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:240
|
||||
#: view/theme/frio/theme.php:244
|
||||
msgid "Events"
|
||||
msgstr "Veranstaltungen"
|
||||
|
||||
|
|
@ -108,17 +108,17 @@ msgid "today"
|
|||
msgstr "Heute"
|
||||
|
||||
#: mod/cal.php:250 mod/events.php:384 src/Model/Event.php:461
|
||||
#: src/Util/Temporal.php:334
|
||||
#: src/Util/Temporal.php:338
|
||||
msgid "month"
|
||||
msgstr "Monat"
|
||||
|
||||
#: mod/cal.php:251 mod/events.php:385 src/Model/Event.php:462
|
||||
#: src/Util/Temporal.php:335
|
||||
#: src/Util/Temporal.php:339
|
||||
msgid "week"
|
||||
msgstr "Woche"
|
||||
|
||||
#: mod/cal.php:252 mod/events.php:386 src/Model/Event.php:463
|
||||
#: src/Util/Temporal.php:336
|
||||
#: src/Util/Temporal.php:340
|
||||
msgid "day"
|
||||
msgstr "Tag"
|
||||
|
||||
|
|
@ -160,7 +160,7 @@ msgid "The feed for this item is unavailable."
|
|||
msgstr "Der Feed für diesen Beitrag ist nicht verfügbar."
|
||||
|
||||
#: mod/editpost.php:38 mod/events.php:217 mod/follow.php:56 mod/follow.php:130
|
||||
#: mod/item.php:181 mod/item.php:186 mod/item.php:870 mod/message.php:69
|
||||
#: mod/item.php:181 mod/item.php:186 mod/item.php:865 mod/message.php:69
|
||||
#: mod/message.php:111 mod/notes.php:44 mod/ostatus_subscribe.php:33
|
||||
#: mod/photos.php:160 mod/photos.php:891 mod/repair_ostatus.php:31
|
||||
#: mod/settings.php:40 mod/settings.php:50 mod/settings.php:156
|
||||
|
|
@ -179,8 +179,8 @@ msgstr "Der Feed für diesen Beitrag ist nicht verfügbar."
|
|||
#: src/Module/Profile/Schedule.php:39 src/Module/Profile/Schedule.php:56
|
||||
#: src/Module/Register.php:77 src/Module/Register.php:90
|
||||
#: src/Module/Register.php:206 src/Module/Register.php:245
|
||||
#: src/Module/Search/Directory.php:37 src/Module/Settings/Account.php:49
|
||||
#: src/Module/Settings/Account.php:409 src/Module/Settings/Delegation.php:42
|
||||
#: src/Module/Search/Directory.php:37 src/Module/Settings/Account.php:50
|
||||
#: src/Module/Settings/Account.php:410 src/Module/Settings/Delegation.php:42
|
||||
#: src/Module/Settings/Delegation.php:70 src/Module/Settings/Display.php:42
|
||||
#: src/Module/Settings/Display.php:120
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:166
|
||||
|
|
@ -206,7 +206,7 @@ msgid "Save"
|
|||
msgstr "Speichern"
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1338 src/Content/Conversation.php:338
|
||||
#: src/Module/Contact/Poke.php:176 src/Object/Post.php:993
|
||||
#: src/Object/Post.php:993
|
||||
msgid "Loading..."
|
||||
msgstr "lädt..."
|
||||
|
||||
|
|
@ -253,7 +253,7 @@ msgid "audio link"
|
|||
msgstr "Audio-Link"
|
||||
|
||||
#: mod/editpost.php:103 src/Content/Conversation.php:352
|
||||
#: src/Module/Item/Compose.php:173
|
||||
#: src/Module/Item/Compose.php:200
|
||||
msgid "Set your location"
|
||||
msgstr "Deinen Standort festlegen"
|
||||
|
||||
|
|
@ -271,8 +271,8 @@ msgstr "Ort löschen"
|
|||
|
||||
#: mod/editpost.php:107 mod/message.php:200 mod/message.php:358
|
||||
#: mod/photos.php:1489 mod/wallmessage.php:142
|
||||
#: src/Content/Conversation.php:368 src/Content/Conversation.php:713
|
||||
#: src/Module/Item/Compose.php:177 src/Object/Post.php:538
|
||||
#: src/Content/Conversation.php:368 src/Content/Conversation.php:714
|
||||
#: src/Module/Item/Compose.php:204 src/Object/Post.php:538
|
||||
msgid "Please wait"
|
||||
msgstr "Bitte warten"
|
||||
|
||||
|
|
@ -289,12 +289,12 @@ msgid "Public post"
|
|||
msgstr "Öffentlicher Beitrag"
|
||||
|
||||
#: mod/editpost.php:120 src/Content/Conversation.php:357
|
||||
#: src/Module/Item/Compose.php:178
|
||||
#: src/Module/Item/Compose.php:205
|
||||
msgid "Set title"
|
||||
msgstr "Titel setzen"
|
||||
|
||||
#: mod/editpost.php:122 src/Content/Conversation.php:359
|
||||
#: src/Module/Item/Compose.php:179
|
||||
#: src/Module/Item/Compose.php:206
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr "Kategorien (kommasepariert)"
|
||||
|
||||
|
|
@ -304,11 +304,11 @@ msgstr "Z.B.: bob@example.com, mary@example.com"
|
|||
|
||||
#: mod/editpost.php:128 mod/events.php:513 mod/photos.php:1337
|
||||
#: mod/photos.php:1393 mod/photos.php:1467 src/Content/Conversation.php:383
|
||||
#: src/Module/Item/Compose.php:172 src/Object/Post.php:1003
|
||||
#: src/Module/Item/Compose.php:199 src/Object/Post.php:1003
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:118 mod/fbrowser.php:145
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:119 mod/fbrowser.php:146
|
||||
#: mod/follow.php:144 mod/photos.php:1004 mod/photos.php:1105 mod/tagrm.php:35
|
||||
#: mod/tagrm.php:127 mod/unfollow.php:97 src/Content/Conversation.php:386
|
||||
#: src/Module/Contact/Revoke.php:108 src/Module/RemoteFollow.php:127
|
||||
|
|
@ -317,37 +317,37 @@ msgid "Cancel"
|
|||
msgstr "Abbrechen"
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:343
|
||||
#: src/Module/Item/Compose.php:163 src/Object/Post.php:994
|
||||
#: src/Module/Item/Compose.php:190 src/Object/Post.php:994
|
||||
msgid "Bold"
|
||||
msgstr "Fett"
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:344
|
||||
#: src/Module/Item/Compose.php:164 src/Object/Post.php:995
|
||||
#: src/Module/Item/Compose.php:191 src/Object/Post.php:995
|
||||
msgid "Italic"
|
||||
msgstr "Kursiv"
|
||||
|
||||
#: mod/editpost.php:136 src/Content/Conversation.php:345
|
||||
#: src/Module/Item/Compose.php:165 src/Object/Post.php:996
|
||||
#: src/Module/Item/Compose.php:192 src/Object/Post.php:996
|
||||
msgid "Underline"
|
||||
msgstr "Unterstrichen"
|
||||
|
||||
#: mod/editpost.php:137 src/Content/Conversation.php:346
|
||||
#: src/Module/Item/Compose.php:166 src/Object/Post.php:997
|
||||
#: src/Module/Item/Compose.php:193 src/Object/Post.php:997
|
||||
msgid "Quote"
|
||||
msgstr "Zitat"
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:347
|
||||
#: src/Module/Item/Compose.php:167 src/Object/Post.php:998
|
||||
#: src/Module/Item/Compose.php:194 src/Object/Post.php:998
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: mod/editpost.php:139 src/Content/Conversation.php:349
|
||||
#: src/Module/Item/Compose.php:169 src/Object/Post.php:1000
|
||||
#: src/Module/Item/Compose.php:196 src/Object/Post.php:1000
|
||||
msgid "Link"
|
||||
msgstr "Link"
|
||||
|
||||
#: mod/editpost.php:140 src/Content/Conversation.php:350
|
||||
#: src/Module/Item/Compose.php:170 src/Object/Post.php:1001
|
||||
#: src/Module/Item/Compose.php:197 src/Object/Post.php:1001
|
||||
msgid "Link or Media"
|
||||
msgstr "Link oder Mediendatei"
|
||||
|
||||
|
|
@ -449,16 +449,16 @@ msgstr "Veranstaltung teilen"
|
|||
#: mod/photos.php:921 mod/photos.php:1025 mod/photos.php:1295
|
||||
#: mod/photos.php:1336 mod/photos.php:1392 mod/photos.php:1466
|
||||
#: src/Module/Admin/Item/Source.php:60 src/Module/Contact/Advanced.php:132
|
||||
#: src/Module/Contact/Poke.php:177 src/Module/Contact/Profile.php:327
|
||||
#: src/Module/Contact/Profile.php:327
|
||||
#: src/Module/Debug/ActivityPubConversion.php:140
|
||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||
#: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51
|
||||
#: src/Module/Delegation.php:148 src/Module/FriendSuggest.php:144
|
||||
#: src/Module/Install.php:252 src/Module/Install.php:294
|
||||
#: src/Module/Install.php:331 src/Module/Invite.php:178
|
||||
#: src/Module/Item/Compose.php:162 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Item/Compose.php:189 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:992
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:171
|
||||
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
|
||||
msgid "Submit"
|
||||
msgstr "Senden"
|
||||
|
|
@ -467,7 +467,7 @@ msgstr "Senden"
|
|||
msgid "Basic"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: mod/events.php:517 src/Module/Admin/Site.php:441 src/Module/Contact.php:474
|
||||
#: mod/events.php:517 src/Module/Admin/Site.php:441 src/Module/Contact.php:477
|
||||
#: src/Module/Profile/Profile.php:249
|
||||
msgid "Advanced"
|
||||
msgstr "Erweitert"
|
||||
|
|
@ -477,16 +477,16 @@ msgid "Failed to remove event"
|
|||
msgstr "Entfernen der Veranstaltung fehlgeschlagen"
|
||||
|
||||
#: mod/fbrowser.php:61 src/Content/Nav.php:194 src/Module/BaseProfile.php:64
|
||||
#: view/theme/frio/theme.php:232
|
||||
#: view/theme/frio/theme.php:238
|
||||
msgid "Photos"
|
||||
msgstr "Bilder"
|
||||
|
||||
#: mod/fbrowser.php:120 mod/fbrowser.php:147
|
||||
#: mod/fbrowser.php:121 mod/fbrowser.php:148
|
||||
#: src/Module/Settings/Profile/Photo/Index.php:129
|
||||
msgid "Upload"
|
||||
msgstr "Hochladen"
|
||||
|
||||
#: mod/fbrowser.php:142
|
||||
#: mod/fbrowser.php:143
|
||||
msgid "Files"
|
||||
msgstr "Dateien"
|
||||
|
||||
|
|
@ -510,8 +510,8 @@ msgstr "Diaspora-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zuge
|
|||
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:459 src/Content/Widget.php:80
|
||||
#: src/Model/Contact.php:1114 src/Model/Contact.php:1126
|
||||
#: mod/follow.php:138 src/Content/Item.php:400 src/Content/Widget.php:80
|
||||
#: src/Model/Contact.php:1169 src/Model/Contact.php:1180
|
||||
#: view/theme/vier/theme.php:181
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Verbinden/Folgen"
|
||||
|
|
@ -548,7 +548,7 @@ msgid "Add a personal note:"
|
|||
msgstr "Eine persönliche Notiz beifügen:"
|
||||
|
||||
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
|
||||
#: src/Module/Contact.php:444
|
||||
#: src/Module/Contact.php:447
|
||||
msgid "Status Messages and Posts"
|
||||
msgstr "Statusnachrichten und Beiträge"
|
||||
|
||||
|
|
@ -564,19 +564,19 @@ msgstr "Konnte den Originalbeitrag nicht finden."
|
|||
msgid "Empty post discarded."
|
||||
msgstr "Leerer Beitrag wurde verworfen."
|
||||
|
||||
#: mod/item.php:682
|
||||
#: mod/item.php:677
|
||||
msgid "Post updated."
|
||||
msgstr "Beitrag aktualisiert."
|
||||
|
||||
#: mod/item.php:692 mod/item.php:697
|
||||
#: mod/item.php:687 mod/item.php:692
|
||||
msgid "Item wasn't stored."
|
||||
msgstr "Eintrag wurde nicht gespeichert"
|
||||
|
||||
#: mod/item.php:708
|
||||
#: mod/item.php:703
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr "Eintrag konnte nicht geholt werden."
|
||||
|
||||
#: mod/item.php:848 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:843 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:42
|
||||
#: src/Module/Debug/ItemBody.php:57
|
||||
msgid "Item not found."
|
||||
|
|
@ -754,7 +754,7 @@ msgstr "Konnte Nachrichten nicht abrufen."
|
|||
msgid "Discard"
|
||||
msgstr "Verwerfen"
|
||||
|
||||
#: mod/message.php:133 src/Content/Nav.php:285 view/theme/frio/theme.php:239
|
||||
#: mod/message.php:133 src/Content/Nav.php:285 view/theme/frio/theme.php:245
|
||||
msgid "Messages"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
|
|
@ -1108,7 +1108,7 @@ msgid "Rotate CCW (left)"
|
|||
msgstr "Drehen EUS (links)"
|
||||
|
||||
#: mod/photos.php:1333 mod/photos.php:1389 mod/photos.php:1463
|
||||
#: src/Module/Contact.php:544 src/Module/Item/Compose.php:160
|
||||
#: src/Module/Contact.php:547 src/Module/Item/Compose.php:188
|
||||
#: src/Object/Post.php:989
|
||||
msgid "This is you"
|
||||
msgstr "Das bist du"
|
||||
|
|
@ -1118,12 +1118,12 @@ msgstr "Das bist du"
|
|||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: mod/photos.php:1424 src/Content/Conversation.php:629
|
||||
#: mod/photos.php:1424 src/Content/Conversation.php:630
|
||||
#: src/Object/Post.php:256
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:630
|
||||
#: mod/photos.php:1425 mod/settings.php:350 src/Content/Conversation.php:631
|
||||
#: src/Module/Admin/Users/Active.php:139
|
||||
#: src/Module/Admin/Users/Blocked.php:140 src/Module/Admin/Users/Index.php:153
|
||||
msgid "Delete"
|
||||
|
|
@ -1170,7 +1170,7 @@ msgstr "Ungültige Anfrage."
|
|||
msgid "Contact not found."
|
||||
msgstr "Kontakt nicht gefunden."
|
||||
|
||||
#: mod/removeme.php:65 src/Navigation/Notifications/Repository/Notify.php:483
|
||||
#: mod/removeme.php:65 src/Navigation/Notifications/Repository/Notify.php:467
|
||||
msgid "[Friendica System Notify]"
|
||||
msgstr "[Friendica-Systembenachrichtigung]"
|
||||
|
||||
|
|
@ -1247,8 +1247,8 @@ msgstr "Autorisierung entziehen"
|
|||
#: mod/settings.php:352 src/Module/Admin/Addons/Index.php:69
|
||||
#: src/Module/Admin/Features.php:87 src/Module/Admin/Logs/Settings.php:81
|
||||
#: src/Module/Admin/Site.php:436 src/Module/Admin/Themes/Index.php:113
|
||||
#: src/Module/Admin/Tos.php:83 src/Module/Settings/Account.php:562
|
||||
#: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:193
|
||||
#: src/Module/Admin/Tos.php:83 src/Module/Settings/Account.php:563
|
||||
#: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:201
|
||||
msgid "Save Settings"
|
||||
msgstr "Einstellungen speichern"
|
||||
|
||||
|
|
@ -1452,15 +1452,15 @@ msgstr "Keine Vorschläge verfügbar. Falls der Server frisch aufgesetzt wurde,
|
|||
msgid "Friend Suggestions"
|
||||
msgstr "Kontaktvorschläge"
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:354 src/Model/Item.php:2769
|
||||
#: mod/tagger.php:78 src/Content/Item.php:300 src/Model/Item.php:2855
|
||||
msgid "photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:348 src/Content/Item.php:358
|
||||
#: mod/tagger.php:78 src/Content/Item.php:294 src/Content/Item.php:304
|
||||
msgid "status"
|
||||
msgstr "Status"
|
||||
|
||||
#: mod/tagger.php:111 src/Content/Item.php:368
|
||||
#: mod/tagger.php:111 src/Content/Item.php:314
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt"
|
||||
|
|
@ -1598,17 +1598,17 @@ msgstr "Es wurde kein Konfigurationswert für das systemweite Theme gesetzt."
|
|||
msgid "Apologies but the website is unavailable at the moment."
|
||||
msgstr "Entschuldigung, aber die Webseite ist derzeit nicht erreichbar."
|
||||
|
||||
#: src/App/Page.php:276
|
||||
#: src/App/Page.php:281
|
||||
msgid "Delete this item?"
|
||||
msgstr "Diesen Beitrag löschen?"
|
||||
|
||||
#: src/App/Page.php:277
|
||||
#: src/App/Page.php:282
|
||||
msgid ""
|
||||
"Block this author? They won't be able to follow you nor see your public "
|
||||
"posts, and you won't be able to see their posts and their notifications."
|
||||
msgstr "Soll dieser Autor geblockt werden? Sie werden nicht in der Lage sein, dir zu folgen oder deine öffentlichen Beiträge zu sehen. Außerdem wirst du nicht in der Lage sein ihre Beiträge und Benachrichtigungen zu lesen."
|
||||
|
||||
#: src/App/Page.php:347
|
||||
#: src/App/Page.php:352
|
||||
msgid "toggle mobile"
|
||||
msgstr "mobile Ansicht umschalten"
|
||||
|
||||
|
|
@ -1636,18 +1636,18 @@ msgid "All contacts"
|
|||
msgstr "Alle Kontakte"
|
||||
|
||||
#: src/BaseModule.php:424 src/Content/Widget.php:235 src/Core/ACL.php:194
|
||||
#: src/Module/Contact.php:367 src/Module/PermissionTooltip.php:122
|
||||
#: src/Module/Contact.php:370 src/Module/PermissionTooltip.php:122
|
||||
#: src/Module/PermissionTooltip.php:144
|
||||
msgid "Followers"
|
||||
msgstr "Folgende"
|
||||
|
||||
#: src/BaseModule.php:429 src/Content/Widget.php:236
|
||||
#: src/Module/Contact.php:368
|
||||
#: src/Module/Contact.php:371
|
||||
msgid "Following"
|
||||
msgstr "Gefolgte"
|
||||
|
||||
#: src/BaseModule.php:434 src/Content/Widget.php:237
|
||||
#: src/Module/Contact.php:369
|
||||
#: src/Module/Contact.php:372
|
||||
msgid "Mutual friends"
|
||||
msgstr "Beidseitige Freundschaft"
|
||||
|
||||
|
|
@ -1687,63 +1687,63 @@ msgstr "Für die URL (%s) konnte kein Kontakt gefunden werden"
|
|||
msgid "The contact has been blocked from the node"
|
||||
msgstr "Der Kontakt wurde von diesem Knoten geblockt"
|
||||
|
||||
#: src/Console/MergeContacts.php:74
|
||||
#: src/Console/MergeContacts.php:75
|
||||
#, php-format
|
||||
msgid "%d %s, %d duplicates."
|
||||
msgstr "%d %s, Duplikat %d."
|
||||
|
||||
#: src/Console/MergeContacts.php:77
|
||||
#: src/Console/MergeContacts.php:78
|
||||
#, php-format
|
||||
msgid "uri-id is empty for contact %s."
|
||||
msgstr "URI-ID ist leer für den Kontakt %s."
|
||||
|
||||
#: src/Console/MergeContacts.php:90
|
||||
#: src/Console/MergeContacts.php:91
|
||||
#, php-format
|
||||
msgid "No valid first contact found for uri-id %d."
|
||||
msgstr "Kein gültiger erster Kontakt für die url-id %d gefunden."
|
||||
|
||||
#: src/Console/MergeContacts.php:101
|
||||
#: src/Console/MergeContacts.php:102
|
||||
#, php-format
|
||||
msgid "Wrong duplicate found for uri-id %d in %d (url: %s != %s)."
|
||||
msgstr "Falsches Dublikat für die URI-ID %d in %d gefunden (URI: %s != %s)."
|
||||
|
||||
#: src/Console/MergeContacts.php:105
|
||||
#: src/Console/MergeContacts.php:106
|
||||
#, php-format
|
||||
msgid "Wrong duplicate found for uri-id %d in %d (nurl: %s != %s)."
|
||||
msgstr "Falsches Dublikat für die URI-ID %d in %d (nurl: %s != %s)."
|
||||
|
||||
#: src/Console/MergeContacts.php:141
|
||||
#: src/Console/MergeContacts.php:142
|
||||
#, php-format
|
||||
msgid "Deletion of id %d failed"
|
||||
msgstr "Löschung der ID %d fehlgeschlagen"
|
||||
|
||||
#: src/Console/MergeContacts.php:143
|
||||
#: src/Console/MergeContacts.php:144
|
||||
#, php-format
|
||||
msgid "Deletion of id %d was successful"
|
||||
msgstr "Löschug der ID %d war erfolgreich"
|
||||
|
||||
#: src/Console/MergeContacts.php:149
|
||||
#: src/Console/MergeContacts.php:150
|
||||
#, php-format
|
||||
msgid "Updating \"%s\" in \"%s\" from %d to %d"
|
||||
msgstr "Aktualisieren \"%s\" nach \"%s\" von %d nach %d"
|
||||
|
||||
#: src/Console/MergeContacts.php:151
|
||||
#: src/Console/MergeContacts.php:152
|
||||
msgid " - found"
|
||||
msgstr "- gefunden"
|
||||
|
||||
#: src/Console/MergeContacts.php:158
|
||||
#: src/Console/MergeContacts.php:159
|
||||
msgid " - failed"
|
||||
msgstr "- fehlgeschlagen"
|
||||
|
||||
#: src/Console/MergeContacts.php:160
|
||||
#: src/Console/MergeContacts.php:161
|
||||
msgid " - success"
|
||||
msgstr "- Erfolg"
|
||||
|
||||
#: src/Console/MergeContacts.php:164
|
||||
#: src/Console/MergeContacts.php:165
|
||||
msgid " - deleted"
|
||||
msgstr "- gelöscht"
|
||||
|
||||
#: src/Console/MergeContacts.php:167
|
||||
#: src/Console/MergeContacts.php:168
|
||||
msgid " - done"
|
||||
msgstr "- erledigt"
|
||||
|
||||
|
|
@ -1806,12 +1806,12 @@ msgid "Enter new password: "
|
|||
msgstr "Neues Passwort eingeben:"
|
||||
|
||||
#: src/Console/User.php:210 src/Module/Security/PasswordTooLong.php:65
|
||||
#: src/Module/Settings/Account.php:74
|
||||
#: src/Module/Settings/Account.php:75
|
||||
msgid "Password update failed. Please try again."
|
||||
msgstr "Aktualisierung des Passworts gescheitert, bitte versuche es noch einmal."
|
||||
|
||||
#: src/Console/User.php:213 src/Module/Security/PasswordTooLong.php:68
|
||||
#: src/Module/Settings/Account.php:77
|
||||
#: src/Module/Settings/Account.php:78
|
||||
msgid "Password changed."
|
||||
msgstr "Passwort geändert."
|
||||
|
||||
|
|
@ -1990,7 +1990,7 @@ msgid "%s attends maybe."
|
|||
msgstr "%s nimmt eventuell teil."
|
||||
|
||||
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
|
||||
#: src/Content/Conversation.php:873
|
||||
#: src/Content/Conversation.php:874
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr "%s hat dies geteilt"
|
||||
|
|
@ -2063,7 +2063,7 @@ msgstr "<span %1$s>%2$d Personen</span> haben dies geteilt"
|
|||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr "Für <strong>jedermann</strong> sichtbar"
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:171
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:198
|
||||
#: src/Object/Post.php:1002
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr "Bitte gib eine Bild/Video/Audio/Webseiten-URL ein:"
|
||||
|
|
@ -2084,7 +2084,7 @@ msgstr "Wo hältst du dich jetzt gerade auf?"
|
|||
msgid "Delete item(s)?"
|
||||
msgstr "Einträge löschen?"
|
||||
|
||||
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:143
|
||||
#: src/Content/Conversation.php:324 src/Module/Item/Compose.php:175
|
||||
msgid "Created at"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
|
|
@ -2096,7 +2096,7 @@ msgstr "Neuer Beitrag"
|
|||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:168
|
||||
#: src/Content/Conversation.php:348 src/Module/Item/Compose.php:195
|
||||
#: src/Object/Post.php:999
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
|
@ -2105,119 +2105,119 @@ msgstr "Bild"
|
|||
msgid "Video"
|
||||
msgstr "Video"
|
||||
|
||||
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:184
|
||||
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:222
|
||||
msgid "Scheduled at"
|
||||
msgstr "Geplant für"
|
||||
|
||||
#: src/Content/Conversation.php:657 src/Object/Post.php:244
|
||||
#: src/Content/Conversation.php:658 src/Object/Post.php:244
|
||||
msgid "Pinned item"
|
||||
msgstr "Angehefteter Beitrag"
|
||||
|
||||
#: src/Content/Conversation.php:673 src/Object/Post.php:486
|
||||
#: src/Content/Conversation.php:674 src/Object/Post.php:486
|
||||
#: src/Object/Post.php:487
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr "Das Profil von %s auf %s betrachten."
|
||||
|
||||
#: src/Content/Conversation.php:686 src/Object/Post.php:474
|
||||
#: src/Content/Conversation.php:687 src/Object/Post.php:474
|
||||
msgid "Categories:"
|
||||
msgstr "Kategorien:"
|
||||
|
||||
#: src/Content/Conversation.php:687 src/Object/Post.php:475
|
||||
#: src/Content/Conversation.php:688 src/Object/Post.php:475
|
||||
msgid "Filed under:"
|
||||
msgstr "Abgelegt unter:"
|
||||
|
||||
#: src/Content/Conversation.php:695 src/Object/Post.php:500
|
||||
#: src/Content/Conversation.php:696 src/Object/Post.php:500
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr "%s von %s"
|
||||
|
||||
#: src/Content/Conversation.php:711
|
||||
#: src/Content/Conversation.php:712
|
||||
msgid "View in context"
|
||||
msgstr "Im Zusammenhang betrachten"
|
||||
|
||||
#: src/Content/Conversation.php:776
|
||||
#: src/Content/Conversation.php:777
|
||||
msgid "remove"
|
||||
msgstr "löschen"
|
||||
|
||||
#: src/Content/Conversation.php:780
|
||||
#: src/Content/Conversation.php:781
|
||||
msgid "Delete Selected Items"
|
||||
msgstr "Lösche die markierten Beiträge"
|
||||
|
||||
#: src/Content/Conversation.php:845 src/Content/Conversation.php:848
|
||||
#: src/Content/Conversation.php:851 src/Content/Conversation.php:854
|
||||
#: src/Content/Conversation.php:846 src/Content/Conversation.php:849
|
||||
#: src/Content/Conversation.php:852 src/Content/Conversation.php:855
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr "Du wurdest angeschrieben (%s)."
|
||||
|
||||
#: src/Content/Conversation.php:857
|
||||
#: src/Content/Conversation.php:858
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr "Du folgst %s."
|
||||
|
||||
#: src/Content/Conversation.php:860
|
||||
#: src/Content/Conversation.php:861
|
||||
msgid "You subscribed to one or more tags in this post."
|
||||
msgstr "Du folgst einem oder mehreren Hashtags dieses Beitrags."
|
||||
|
||||
#: src/Content/Conversation.php:875
|
||||
#: src/Content/Conversation.php:876
|
||||
msgid "Reshared"
|
||||
msgstr "Geteilt"
|
||||
|
||||
#: src/Content/Conversation.php:875
|
||||
#: src/Content/Conversation.php:876
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr "Geteilt von %s <%s>"
|
||||
|
||||
#: src/Content/Conversation.php:878
|
||||
#: src/Content/Conversation.php:879
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr "%s ist an der Unterhaltung beteiligt."
|
||||
|
||||
#: src/Content/Conversation.php:881
|
||||
#: src/Content/Conversation.php:882
|
||||
msgid "Stored for general reasons"
|
||||
msgstr ""
|
||||
msgstr "Aus allgemeinen Gründen aufbewahrt"
|
||||
|
||||
#: src/Content/Conversation.php:884
|
||||
#: src/Content/Conversation.php:885
|
||||
msgid "Global post"
|
||||
msgstr "Globaler Beitrag"
|
||||
|
||||
#: src/Content/Conversation.php:887
|
||||
#: src/Content/Conversation.php:888
|
||||
msgid "Sent via an relay server"
|
||||
msgstr "Über einen Relay-Server gesendet"
|
||||
|
||||
#: src/Content/Conversation.php:887
|
||||
#: src/Content/Conversation.php:888
|
||||
#, php-format
|
||||
msgid "Sent via the relay server %s <%s>"
|
||||
msgstr "Über den Relay-Server %s <%s> gesendet"
|
||||
|
||||
#: src/Content/Conversation.php:890
|
||||
#: src/Content/Conversation.php:891
|
||||
msgid "Fetched"
|
||||
msgstr "Abgerufen"
|
||||
|
||||
#: src/Content/Conversation.php:890
|
||||
#: src/Content/Conversation.php:891
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr "Wegen %s <%s> abgerufen"
|
||||
|
||||
#: src/Content/Conversation.php:893
|
||||
#: src/Content/Conversation.php:894
|
||||
msgid "Stored because of a child post to complete this thread."
|
||||
msgstr ""
|
||||
msgstr "Gespeichert wegen eines untergeordneten Beitrags zur Vervollständigung dieses Themas."
|
||||
|
||||
#: src/Content/Conversation.php:896
|
||||
#: src/Content/Conversation.php:897
|
||||
msgid "Local delivery"
|
||||
msgstr "Lokale Zustellung"
|
||||
|
||||
#: src/Content/Conversation.php:899
|
||||
#: src/Content/Conversation.php:900
|
||||
msgid "Stored because of your activity (like, comment, star, ...)"
|
||||
msgstr ""
|
||||
msgstr "Gespeichert aufgrund Ihrer Aktivität (Like, Kommentar, Stern, ...)"
|
||||
|
||||
#: src/Content/Conversation.php:902
|
||||
#: src/Content/Conversation.php:903
|
||||
msgid "Distributed"
|
||||
msgstr ""
|
||||
msgstr "Verteilt"
|
||||
|
||||
#: src/Content/Conversation.php:905
|
||||
#: src/Content/Conversation.php:906
|
||||
msgid "Pushed to us"
|
||||
msgstr ""
|
||||
msgstr "Zu uns gepusht"
|
||||
|
||||
#: src/Content/Feature.php:96
|
||||
msgid "General Features"
|
||||
|
|
@ -2335,56 +2335,51 @@ msgstr "weniger anzeigen"
|
|||
msgid "show more"
|
||||
msgstr "mehr anzeigen"
|
||||
|
||||
#: src/Content/Item.php:306
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr "%1$s stupste %2$s"
|
||||
|
||||
#: src/Content/Item.php:345 src/Model/Item.php:2767
|
||||
#: src/Content/Item.php:291 src/Model/Item.php:2853
|
||||
msgid "event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: src/Content/Item.php:438 view/theme/frio/theme.php:260
|
||||
#: src/Content/Item.php:383 view/theme/frio/theme.php:266
|
||||
msgid "Follow Thread"
|
||||
msgstr "Folge der Unterhaltung"
|
||||
|
||||
#: src/Content/Item.php:439 src/Model/Contact.php:1119
|
||||
#: src/Content/Item.php:384 src/Model/Contact.php:1174
|
||||
msgid "View Status"
|
||||
msgstr "Status anschauen"
|
||||
|
||||
#: src/Content/Item.php:440 src/Content/Item.php:462
|
||||
#: src/Model/Contact.php:1053 src/Model/Contact.php:1111
|
||||
#: src/Model/Contact.php:1120 src/Module/Directory.php:158
|
||||
#: src/Content/Item.php:385 src/Content/Item.php:403
|
||||
#: src/Model/Contact.php:1112 src/Model/Contact.php:1166
|
||||
#: src/Model/Contact.php:1175 src/Module/Directory.php:158
|
||||
#: src/Module/Settings/Profile/Index.php:225
|
||||
msgid "View Profile"
|
||||
msgstr "Profil anschauen"
|
||||
|
||||
#: src/Content/Item.php:441 src/Model/Contact.php:1121
|
||||
#: src/Content/Item.php:386 src/Model/Contact.php:1176
|
||||
msgid "View Photos"
|
||||
msgstr "Bilder anschauen"
|
||||
|
||||
#: src/Content/Item.php:442 src/Model/Contact.php:1112
|
||||
#: src/Model/Contact.php:1122
|
||||
#: src/Content/Item.php:387 src/Model/Contact.php:1167
|
||||
#: src/Model/Contact.php:1177
|
||||
msgid "Network Posts"
|
||||
msgstr "Netzwerkbeiträge"
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1113
|
||||
#: src/Model/Contact.php:1123
|
||||
#: src/Content/Item.php:388 src/Model/Contact.php:1168
|
||||
#: src/Model/Contact.php:1178
|
||||
msgid "View Contact"
|
||||
msgstr "Kontakt anzeigen"
|
||||
|
||||
#: src/Content/Item.php:444 src/Model/Contact.php:1124
|
||||
#: src/Content/Item.php:389 src/Model/Contact.php:1179
|
||||
msgid "Send PM"
|
||||
msgstr "Private Nachricht senden"
|
||||
|
||||
#: src/Content/Item.php:445 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Content/Item.php:390 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:398 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:449
|
||||
msgid "Block"
|
||||
msgstr "Sperren"
|
||||
|
||||
#: src/Content/Item.php:446 src/Module/Contact.php:399
|
||||
#: src/Content/Item.php:391 src/Module/Contact.php:402
|
||||
#: src/Module/Contact/Profile.php:349 src/Module/Contact/Profile.php:457
|
||||
#: src/Module/Notifications/Introductions.php:132
|
||||
#: src/Module/Notifications/Introductions.php:204
|
||||
|
|
@ -2392,14 +2387,10 @@ msgstr "Sperren"
|
|||
msgid "Ignore"
|
||||
msgstr "Ignorieren"
|
||||
|
||||
#: src/Content/Item.php:450 src/Object/Post.php:455
|
||||
#: src/Content/Item.php:395 src/Object/Post.php:455
|
||||
msgid "Languages"
|
||||
msgstr "Sprachen"
|
||||
|
||||
#: src/Content/Item.php:454 src/Model/Contact.php:1125
|
||||
msgid "Poke"
|
||||
msgstr "Anstupsen"
|
||||
|
||||
#: src/Content/Nav.php:90
|
||||
msgid "Nothing new here"
|
||||
msgstr "Keine Neuigkeiten"
|
||||
|
|
@ -2434,42 +2425,42 @@ msgid "Sign in"
|
|||
msgstr "Anmelden"
|
||||
|
||||
#: src/Content/Nav.php:192 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:433 src/Module/Contact/Profile.php:380
|
||||
#: src/Module/Settings/TwoFactor/Index.php:120 view/theme/frio/theme.php:230
|
||||
#: src/Module/Contact.php:436 src/Module/Contact/Profile.php:380
|
||||
#: src/Module/Settings/TwoFactor/Index.php:120 view/theme/frio/theme.php:236
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/Content/Nav.php:192 src/Content/Nav.php:275
|
||||
#: view/theme/frio/theme.php:230
|
||||
#: view/theme/frio/theme.php:236
|
||||
msgid "Your posts and conversations"
|
||||
msgstr "Deine Beiträge und Unterhaltungen"
|
||||
|
||||
#: src/Content/Nav.php:193 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:55 src/Module/Contact.php:457
|
||||
#: src/Module/BaseSettings.php:55 src/Module/Contact.php:460
|
||||
#: src/Module/Contact/Profile.php:382 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:231
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:237
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: src/Content/Nav.php:193 view/theme/frio/theme.php:231
|
||||
#: src/Content/Nav.php:193 view/theme/frio/theme.php:237
|
||||
msgid "Your profile page"
|
||||
msgstr "Deine Profilseite"
|
||||
|
||||
#: src/Content/Nav.php:194 view/theme/frio/theme.php:232
|
||||
#: src/Content/Nav.php:194 view/theme/frio/theme.php:238
|
||||
msgid "Your photos"
|
||||
msgstr "Deine Fotos"
|
||||
|
||||
#: src/Content/Nav.php:195 src/Module/BaseProfile.php:72
|
||||
#: src/Module/BaseProfile.php:75 src/Module/Contact.php:449
|
||||
#: view/theme/frio/theme.php:233
|
||||
#: src/Module/BaseProfile.php:75 src/Module/Contact.php:452
|
||||
#: view/theme/frio/theme.php:239
|
||||
msgid "Media"
|
||||
msgstr "Medien"
|
||||
|
||||
#: src/Content/Nav.php:195 view/theme/frio/theme.php:233
|
||||
#: src/Content/Nav.php:195 view/theme/frio/theme.php:239
|
||||
msgid "Your postings with media"
|
||||
msgstr "Deine Beiträge die Medien beinhalten"
|
||||
|
||||
#: src/Content/Nav.php:196 view/theme/frio/theme.php:234
|
||||
#: src/Content/Nav.php:196 view/theme/frio/theme.php:240
|
||||
msgid "Your events"
|
||||
msgstr "Deine Ereignisse"
|
||||
|
||||
|
|
@ -2534,8 +2525,8 @@ msgstr "Tags"
|
|||
|
||||
#: src/Content/Nav.php:237 src/Content/Nav.php:296
|
||||
#: src/Content/Text/HTML.php:899 src/Module/BaseProfile.php:125
|
||||
#: src/Module/BaseProfile.php:128 src/Module/Contact.php:370
|
||||
#: src/Module/Contact.php:464 view/theme/frio/theme.php:241
|
||||
#: src/Module/BaseProfile.php:128 src/Module/Contact.php:373
|
||||
#: src/Module/Contact.php:467 view/theme/frio/theme.php:247
|
||||
msgid "Contacts"
|
||||
msgstr "Kontakte"
|
||||
|
||||
|
|
@ -2548,7 +2539,7 @@ msgid "Conversations on this and other servers"
|
|||
msgstr "Unterhaltungen auf diesem und anderen Servern"
|
||||
|
||||
#: src/Content/Nav.php:260 src/Module/BaseProfile.php:87
|
||||
#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:238
|
||||
#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:244
|
||||
msgid "Events and Calendar"
|
||||
msgstr "Ereignisse und Kalender"
|
||||
|
||||
|
|
@ -2578,11 +2569,11 @@ msgstr "Nutzungsbedingungen"
|
|||
msgid "Terms of Service of this Friendica instance"
|
||||
msgstr "Die Nutzungsbedingungen dieser Friendica-Instanz"
|
||||
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:237
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:243
|
||||
msgid "Network"
|
||||
msgstr "Netzwerk"
|
||||
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:237
|
||||
#: src/Content/Nav.php:273 view/theme/frio/theme.php:243
|
||||
msgid "Conversations from your friends"
|
||||
msgstr "Unterhaltungen Deiner Kontakte"
|
||||
|
||||
|
|
@ -2607,7 +2598,7 @@ msgstr "Alle Benachrichtigungen anzeigen"
|
|||
msgid "Mark all system notifications as seen"
|
||||
msgstr "Markiere alle Systembenachrichtigungen als gelesen"
|
||||
|
||||
#: src/Content/Nav.php:285 view/theme/frio/theme.php:239
|
||||
#: src/Content/Nav.php:285 view/theme/frio/theme.php:245
|
||||
msgid "Private mail"
|
||||
msgstr "Private E-Mail"
|
||||
|
||||
|
|
@ -2629,15 +2620,15 @@ msgstr "Andere Seiten verwalten"
|
|||
|
||||
#: src/Content/Nav.php:294 src/Module/Admin/Addons/Details.php:114
|
||||
#: src/Module/Admin/Themes/Details.php:93 src/Module/BaseSettings.php:122
|
||||
#: src/Module/Welcome.php:52 view/theme/frio/theme.php:240
|
||||
#: src/Module/Welcome.php:52 view/theme/frio/theme.php:246
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/Content/Nav.php:294 view/theme/frio/theme.php:240
|
||||
#: src/Content/Nav.php:294 view/theme/frio/theme.php:246
|
||||
msgid "Account settings"
|
||||
msgstr "Kontoeinstellungen"
|
||||
|
||||
#: src/Content/Nav.php:296 view/theme/frio/theme.php:241
|
||||
#: src/Content/Nav.php:296 view/theme/frio/theme.php:247
|
||||
msgid "Manage/edit friends and contacts"
|
||||
msgstr "Freunde und Kontakte verwalten/bearbeiten"
|
||||
|
||||
|
|
@ -2681,38 +2672,38 @@ msgstr "nächste"
|
|||
msgid "last"
|
||||
msgstr "letzte"
|
||||
|
||||
#: src/Content/Text/BBCode.php:998 src/Content/Text/BBCode.php:1833
|
||||
#: src/Content/Text/BBCode.php:1834
|
||||
#: src/Content/Text/BBCode.php:1002 src/Content/Text/BBCode.php:1883
|
||||
#: src/Content/Text/BBCode.php:1884
|
||||
msgid "Image/photo"
|
||||
msgstr "Bild/Foto"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1188
|
||||
#: src/Content/Text/BBCode.php:1238
|
||||
#, php-format
|
||||
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:1213 src/Model/Item.php:3343
|
||||
#: src/Model/Item.php:3349 src/Model/Item.php:3350
|
||||
#: src/Content/Text/BBCode.php:1263 src/Model/Item.php:3429
|
||||
#: src/Model/Item.php:3435 src/Model/Item.php:3436
|
||||
msgid "Link to source"
|
||||
msgstr "Link zum Originalbeitrag"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1751 src/Content/Text/HTML.php:940
|
||||
#: src/Content/Text/BBCode.php:1801 src/Content/Text/HTML.php:940
|
||||
msgid "Click to open/close"
|
||||
msgstr "Zum Öffnen/Schließen klicken"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1782
|
||||
#: src/Content/Text/BBCode.php:1832
|
||||
msgid "$1 wrote:"
|
||||
msgstr "$1 hat geschrieben:"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1838 src/Content/Text/BBCode.php:1839
|
||||
#: src/Content/Text/BBCode.php:1888 src/Content/Text/BBCode.php:1889
|
||||
msgid "Encrypted content"
|
||||
msgstr "Verschlüsselter Inhalt"
|
||||
|
||||
#: src/Content/Text/BBCode.php:2057
|
||||
#: src/Content/Text/BBCode.php:2109
|
||||
msgid "Invalid source protocol"
|
||||
msgstr "Ungültiges Quell-Protokoll"
|
||||
|
||||
#: src/Content/Text/BBCode.php:2072
|
||||
#: src/Content/Text/BBCode.php:2124
|
||||
msgid "Invalid link protocol"
|
||||
msgstr "Ungültiges Link-Protokoll"
|
||||
|
||||
|
|
@ -2764,7 +2755,7 @@ msgstr "Name oder Interessen eingeben"
|
|||
msgid "Examples: Robert Morgenstein, Fishing"
|
||||
msgstr "Beispiel: Robert Morgenstein, Angeln"
|
||||
|
||||
#: src/Content/Widget.php:82 src/Module/Contact.php:391
|
||||
#: src/Content/Widget.php:82 src/Module/Contact.php:394
|
||||
#: src/Module/Directory.php:97 view/theme/vier/theme.php:183
|
||||
msgid "Find"
|
||||
msgstr "Finde"
|
||||
|
|
@ -2791,7 +2782,7 @@ msgid "Local Directory"
|
|||
msgstr "Lokales Verzeichnis"
|
||||
|
||||
#: src/Content/Widget.php:211 src/Model/Group.php:587
|
||||
#: src/Module/Contact.php:354 src/Module/Welcome.php:76
|
||||
#: src/Module/Contact.php:357 src/Module/Welcome.php:76
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
|
|
@ -2803,7 +2794,7 @@ msgstr "Jeder"
|
|||
msgid "Relationships"
|
||||
msgstr "Beziehungen"
|
||||
|
||||
#: src/Content/Widget.php:244 src/Module/Contact.php:306
|
||||
#: src/Content/Widget.php:244 src/Module/Contact.php:309
|
||||
#: src/Module/Group.php:293
|
||||
msgid "All Contacts"
|
||||
msgstr "Alle Kontakte"
|
||||
|
|
@ -2847,11 +2838,11 @@ msgstr "Personen"
|
|||
msgid "Organisations"
|
||||
msgstr "Organisationen"
|
||||
|
||||
#: src/Content/Widget.php:523 src/Model/Contact.php:1547
|
||||
#: src/Content/Widget.php:523 src/Model/Contact.php:1605
|
||||
msgid "News"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
#: src/Content/Widget.php:527 src/Module/Settings/Account.php:455
|
||||
#: src/Content/Widget.php:527 src/Module/Settings/Account.php:456
|
||||
msgid "Account Types"
|
||||
msgstr "Kontenarten"
|
||||
|
||||
|
|
@ -3291,32 +3282,37 @@ msgid "Could not connect to database."
|
|||
msgstr "Verbindung zur Datenbank gescheitert."
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:428
|
||||
#: src/Module/Settings/Display.php:182
|
||||
#: src/Module/Settings/Display.php:184
|
||||
msgid "Monday"
|
||||
msgstr "Montag"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:429
|
||||
#: src/Module/Settings/Display.php:185
|
||||
msgid "Tuesday"
|
||||
msgstr "Dienstag"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:430
|
||||
#: src/Module/Settings/Display.php:186
|
||||
msgid "Wednesday"
|
||||
msgstr "Mittwoch"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:431
|
||||
#: src/Module/Settings/Display.php:187
|
||||
msgid "Thursday"
|
||||
msgstr "Donnerstag"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:432
|
||||
#: src/Module/Settings/Display.php:188
|
||||
msgid "Friday"
|
||||
msgstr "Freitag"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:433
|
||||
#: src/Module/Settings/Display.php:189
|
||||
msgid "Saturday"
|
||||
msgstr "Samstag"
|
||||
|
||||
#: src/Core/L10n.php:403 src/Model/Event.php:427
|
||||
#: src/Module/Settings/Display.php:182
|
||||
#: src/Module/Settings/Display.php:183
|
||||
msgid "Sunday"
|
||||
msgstr "Sonntag"
|
||||
|
||||
|
|
@ -3440,57 +3436,9 @@ msgstr "Nov"
|
|||
msgid "Dec"
|
||||
msgstr "Dez"
|
||||
|
||||
#: src/Core/L10n.php:445
|
||||
msgid "poke"
|
||||
msgstr "anstupsen"
|
||||
|
||||
#: src/Core/L10n.php:445
|
||||
msgid "poked"
|
||||
msgstr "stupste"
|
||||
|
||||
#: src/Core/L10n.php:446
|
||||
msgid "ping"
|
||||
msgstr "anpingen"
|
||||
|
||||
#: src/Core/L10n.php:446
|
||||
msgid "pinged"
|
||||
msgstr "pingte"
|
||||
|
||||
#: src/Core/L10n.php:447
|
||||
msgid "prod"
|
||||
msgstr "knuffen"
|
||||
|
||||
#: src/Core/L10n.php:447
|
||||
msgid "prodded"
|
||||
msgstr "knuffte"
|
||||
|
||||
#: src/Core/L10n.php:448
|
||||
msgid "slap"
|
||||
msgstr "ohrfeigen"
|
||||
|
||||
#: src/Core/L10n.php:448
|
||||
msgid "slapped"
|
||||
msgstr "ohrfeigte"
|
||||
|
||||
#: src/Core/L10n.php:449
|
||||
msgid "finger"
|
||||
msgstr "befummeln"
|
||||
|
||||
#: src/Core/L10n.php:449
|
||||
msgid "fingered"
|
||||
msgstr "befummelte"
|
||||
|
||||
#: src/Core/L10n.php:450
|
||||
msgid "rebuff"
|
||||
msgstr "eine Abfuhr erteilen"
|
||||
|
||||
#: src/Core/L10n.php:450
|
||||
msgid "rebuffed"
|
||||
msgstr "abfuhrerteilte"
|
||||
|
||||
#: src/Core/Renderer.php:89 src/Core/Renderer.php:118
|
||||
#: src/Core/Renderer.php:145 src/Core/Renderer.php:179
|
||||
#: src/Render/FriendicaSmartyEngine.php:57
|
||||
#: src/Render/FriendicaSmartyEngine.php:60
|
||||
msgid ""
|
||||
"Friendica can't display this page at the moment, please contact the "
|
||||
"administrator."
|
||||
|
|
@ -3683,81 +3631,81 @@ msgstr "Interner Serverfehler"
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr "Legacy-Moduldatei nicht gefunden: %s"
|
||||
|
||||
#: src/Model/Contact.php:1115 src/Model/Contact.php:1127
|
||||
#: src/Model/Contact.php:1170 src/Model/Contact.php:1181
|
||||
msgid "UnFollow"
|
||||
msgstr "Entfolgen"
|
||||
|
||||
#: src/Model/Contact.php:1133 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1187 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:130
|
||||
#: src/Module/Notifications/Introductions.php:202
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
#: src/Model/Contact.php:1543
|
||||
#: src/Model/Contact.php:1601
|
||||
msgid "Organisation"
|
||||
msgstr "Organisation"
|
||||
|
||||
#: src/Model/Contact.php:1551
|
||||
#: src/Model/Contact.php:1609
|
||||
msgid "Forum"
|
||||
msgstr "Forum"
|
||||
|
||||
#: src/Model/Contact.php:2640
|
||||
#: src/Model/Contact.php:2795
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr "Nicht erlaubte Profil-URL."
|
||||
|
||||
#: src/Model/Contact.php:2645 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2800 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr "Blockierte Domain"
|
||||
|
||||
#: src/Model/Contact.php:2650
|
||||
#: src/Model/Contact.php:2805
|
||||
msgid "Connect URL missing."
|
||||
msgstr "Connect-URL fehlt"
|
||||
|
||||
#: src/Model/Contact.php:2659
|
||||
#: src/Model/Contact.php:2814
|
||||
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:2701
|
||||
#: src/Model/Contact.php:2856
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr "Die angegebene Profiladresse liefert unzureichende Informationen."
|
||||
|
||||
#: src/Model/Contact.php:2703
|
||||
#: src/Model/Contact.php:2858
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2706
|
||||
#: src/Model/Contact.php:2861
|
||||
msgid "An author or name was not found."
|
||||
msgstr "Es wurde kein Autor oder Name gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2709
|
||||
#: src/Model/Contact.php:2864
|
||||
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:2712
|
||||
#: src/Model/Contact.php:2867
|
||||
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:2713
|
||||
#: src/Model/Contact.php:2868
|
||||
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:2719
|
||||
#: src/Model/Contact.php:2874
|
||||
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:2724
|
||||
#: src/Model/Contact.php:2879
|
||||
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:2783
|
||||
#: src/Model/Contact.php:2938
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr "Konnte die Kontaktinformationen nicht empfangen."
|
||||
|
||||
|
|
@ -3877,66 +3825,66 @@ msgstr "Gruppenname:"
|
|||
msgid "Edit groups"
|
||||
msgstr "Gruppen bearbeiten"
|
||||
|
||||
#: src/Model/Item.php:1865
|
||||
#: src/Model/Item.php:1965
|
||||
#, php-format
|
||||
msgid "Detected languages in this post:\\n%s"
|
||||
msgstr "Erkannte Sprachen in diesem Beitrag:\\n%s"
|
||||
|
||||
#: src/Model/Item.php:2771
|
||||
#: src/Model/Item.php:2857
|
||||
msgid "activity"
|
||||
msgstr "Aktivität"
|
||||
|
||||
#: src/Model/Item.php:2773
|
||||
#: src/Model/Item.php:2859
|
||||
msgid "comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: src/Model/Item.php:2776
|
||||
#: src/Model/Item.php:2862
|
||||
msgid "post"
|
||||
msgstr "Beitrag"
|
||||
|
||||
#: src/Model/Item.php:2892
|
||||
#: src/Model/Item.php:2978
|
||||
#, php-format
|
||||
msgid "Content warning: %s"
|
||||
msgstr "Inhaltswarnung: %s"
|
||||
|
||||
#: src/Model/Item.php:3255
|
||||
#: src/Model/Item.php:3341
|
||||
msgid "bytes"
|
||||
msgstr "Byte"
|
||||
|
||||
#: src/Model/Item.php:3286
|
||||
#: src/Model/Item.php:3372
|
||||
#, 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:3288
|
||||
#: src/Model/Item.php:3374
|
||||
#, 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:3293
|
||||
#: src/Model/Item.php:3379
|
||||
#, 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:3295
|
||||
#: src/Model/Item.php:3381
|
||||
#, php-format
|
||||
msgid "%d voter."
|
||||
msgid_plural "%d voters."
|
||||
msgstr[0] "%d Stimme."
|
||||
msgstr[1] "%d Stimmen."
|
||||
|
||||
#: src/Model/Item.php:3297
|
||||
#: src/Model/Item.php:3383
|
||||
#, php-format
|
||||
msgid "Poll end: %s"
|
||||
msgstr "Abstimmung endet: %s"
|
||||
|
||||
#: src/Model/Item.php:3331 src/Model/Item.php:3332
|
||||
#: src/Model/Item.php:3417 src/Model/Item.php:3418
|
||||
msgid "View on separate page"
|
||||
msgstr "Auf separater Seite ansehen"
|
||||
|
||||
|
|
@ -4329,12 +4277,12 @@ msgid ""
|
|||
"\t\t\tThank you and welcome to %2$s."
|
||||
msgstr "\nDie Anmelde-Details sind die folgenden:\n\tAdresse der Seite:\t%3$s\n\tBenutzernamename:\t%1$s\n\tPasswort:\t%5$s\n\nDu kannst dein Passwort unter \"Einstellungen\" ändern, sobald du dich\nangemeldet hast.\n\nBitte nimm dir ein paar Minuten, um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst du ja auch einige Informationen über dich in deinem\nProfil veröffentlichen, damit andere Leute dich einfacher finden können.\nBearbeite hierfür einfach dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen dir, deinen kompletten Namen anzugeben und ein zu dir\npassendes Profilbild zu wählen, damit dich alte Bekannte wiederfinden.\nAußerdem ist es nützlich, wenn du auf deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die deine Interessen teilen.\n\nWir respektieren deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nSolltest du dein Nutzerkonto löschen wollen, kannst du dies unter %3$s/removeme jederzeit tun.\n\nDanke für deine Aufmerksamkeit und willkommen auf %2$s."
|
||||
|
||||
#: src/Moderation/DomainPatternBlocklist.php:218
|
||||
#: src/Moderation/DomainPatternBlocklist.php:228
|
||||
#, php-format
|
||||
msgid "[%s] Notice of remote server domain pattern block list update"
|
||||
msgstr "[%s] Die Liste der blockierten Domain Muster wurde aktualisiert"
|
||||
|
||||
#: src/Moderation/DomainPatternBlocklist.php:220
|
||||
#: src/Moderation/DomainPatternBlocklist.php:230
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Dear %s,\n"
|
||||
|
|
@ -4374,7 +4322,7 @@ msgstr "Einschalten"
|
|||
#: src/Module/Admin/Blocklist/Server/Add.php:121
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:117
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:93
|
||||
#: src/Module/Admin/Federation.php:200 src/Module/Admin/Item/Delete.php:64
|
||||
#: src/Module/Admin/Federation.php:201 src/Module/Admin/Item/Delete.php:64
|
||||
#: src/Module/Admin/Logs/Settings.php:79 src/Module/Admin/Logs/View.php:84
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:433
|
||||
#: src/Module/Admin/Storage.php:138 src/Module/Admin/Summary.php:233
|
||||
|
|
@ -4441,8 +4389,8 @@ msgstr "Aktive"
|
|||
msgid "List of active accounts"
|
||||
msgstr "Liste der aktiven Benutzerkonten"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:67 src/Module/Contact.php:314
|
||||
#: src/Module/Contact.php:374
|
||||
#: src/Module/Admin/BaseUsers.php:67 src/Module/Contact.php:317
|
||||
#: src/Module/Contact.php:377
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
|
|
@ -4450,8 +4398,8 @@ msgstr "Ausstehend"
|
|||
msgid "List of pending registrations"
|
||||
msgstr "Liste der anstehenden Benutzerkonten"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:75 src/Module/Contact.php:322
|
||||
#: src/Module/Contact.php:375
|
||||
#: src/Module/Admin/BaseUsers.php:75 src/Module/Contact.php:325
|
||||
#: src/Module/Contact.php:378
|
||||
msgid "Blocked"
|
||||
msgstr "Geblockt"
|
||||
|
||||
|
|
@ -4467,19 +4415,19 @@ msgstr "Gelöscht"
|
|||
msgid "List of pending user deletions"
|
||||
msgstr "Liste der auf Löschung wartenden Benutzer"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:100 src/Module/Settings/Account.php:493
|
||||
#: src/Module/Admin/BaseUsers.php:100 src/Module/Settings/Account.php:494
|
||||
msgid "Normal Account Page"
|
||||
msgstr "Normales Konto"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:101 src/Module/Settings/Account.php:500
|
||||
#: src/Module/Admin/BaseUsers.php:101 src/Module/Settings/Account.php:501
|
||||
msgid "Soapbox Page"
|
||||
msgstr "Marktschreier-Konto"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:102 src/Module/Settings/Account.php:507
|
||||
#: src/Module/Admin/BaseUsers.php:102 src/Module/Settings/Account.php:508
|
||||
msgid "Public Forum"
|
||||
msgstr "Öffentliches Forum"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:103 src/Module/Settings/Account.php:514
|
||||
#: src/Module/Admin/BaseUsers.php:103 src/Module/Settings/Account.php:515
|
||||
msgid "Automatic Friend Page"
|
||||
msgstr "Automatische Freunde-Seite"
|
||||
|
||||
|
|
@ -4487,19 +4435,19 @@ msgstr "Automatische Freunde-Seite"
|
|||
msgid "Private Forum"
|
||||
msgstr "Privates Forum"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:107 src/Module/Settings/Account.php:465
|
||||
#: src/Module/Admin/BaseUsers.php:107 src/Module/Settings/Account.php:466
|
||||
msgid "Personal Page"
|
||||
msgstr "Persönliche Seite"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:108 src/Module/Settings/Account.php:472
|
||||
#: src/Module/Admin/BaseUsers.php:108 src/Module/Settings/Account.php:473
|
||||
msgid "Organisation Page"
|
||||
msgstr "Organisationsseite"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:109 src/Module/Settings/Account.php:479
|
||||
#: src/Module/Admin/BaseUsers.php:109 src/Module/Settings/Account.php:480
|
||||
msgid "News Page"
|
||||
msgstr "Nachrichtenseite"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:110 src/Module/Settings/Account.php:486
|
||||
#: src/Module/Admin/BaseUsers.php:110 src/Module/Settings/Account.php:487
|
||||
msgid "Community Forum"
|
||||
msgstr "Gemeinschaftsforum"
|
||||
|
||||
|
|
@ -4545,7 +4493,7 @@ msgstr "Auswahl aufheben"
|
|||
|
||||
#: src/Module/Admin/Blocklist/Contact.php:101
|
||||
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
|
||||
#: src/Module/Contact.php:398 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact.php:401 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:449
|
||||
msgid "Unblock"
|
||||
msgstr "Entsperren"
|
||||
|
|
@ -4699,83 +4647,83 @@ msgstr "Warum werden Server die diesem Domainmuster entsprechen geblockt? Die Be
|
|||
#: src/Module/Admin/Blocklist/Server/Import.php:75
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:84
|
||||
msgid "Error importing pattern file"
|
||||
msgstr ""
|
||||
msgstr "Fehler beim Import der Muster Datei"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:90
|
||||
msgid "Local blocklist replaced with the provided file."
|
||||
msgstr ""
|
||||
msgstr "Lokale Blockliste wurde durch die bereitgestellte Datei ersetzt."
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:94
|
||||
#, php-format
|
||||
msgid "%d pattern was added to the local blocklist."
|
||||
msgid_plural "%d patterns were added to the local blocklist."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%d Muster wurde zur lokalen Blockliste hinzugefügt."
|
||||
msgstr[1] "%d Muster wurden zur lokalen Blockliste hinzugefügt."
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:96
|
||||
msgid "No pattern was added to the local blocklist."
|
||||
msgstr ""
|
||||
msgstr "Kein Muster wurde zur lokalen Blockliste hinzugefügt."
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:118
|
||||
msgid "Import a Server Domain Pattern Blocklist"
|
||||
msgstr ""
|
||||
msgstr "Server Domain Muster Blockliste importieren"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:119
|
||||
msgid ""
|
||||
"<p>This file can be downloaded from the <code>/friendica</code> path of any "
|
||||
"Friendica server.</p>"
|
||||
msgstr ""
|
||||
msgstr "<p>Diese Datei kann vom <code>/friendica</code> Pfad auf jedem Friendica Server heruntergeladen werden.</p>"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:120
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:104
|
||||
msgid "Upload file"
|
||||
msgstr ""
|
||||
msgstr "Datei hochladen"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:121
|
||||
msgid "Patterns to import"
|
||||
msgstr ""
|
||||
msgstr "Zu importierende Muster"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:122
|
||||
msgid "Domain Pattern"
|
||||
msgstr ""
|
||||
msgstr "Domain Muster"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:124
|
||||
msgid "Import Mode"
|
||||
msgstr ""
|
||||
msgstr "Importmodus"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:125
|
||||
msgid "Import Patterns"
|
||||
msgstr ""
|
||||
msgstr "Muster importieren"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:126
|
||||
#, php-format
|
||||
msgid "%d total pattern"
|
||||
msgid_plural "%d total patterns"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%dMuster gesamt"
|
||||
msgstr[1] "%dMuster gesamt"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:128
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:113
|
||||
msgid "Server domain pattern blocklist CSV file"
|
||||
msgstr ""
|
||||
msgstr "Server Domain Muster Blockliste CSV-Datei"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:129
|
||||
msgid "Append"
|
||||
msgstr ""
|
||||
msgstr "Anhängen"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:129
|
||||
msgid ""
|
||||
"Imports patterns from the file that weren't already existing in the current "
|
||||
"blocklist."
|
||||
msgstr ""
|
||||
msgstr "Importiert Muster aus der Datei, die nicht bereits in der aktuellen Blockliste vorhanden waren."
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:130
|
||||
msgid "Replace"
|
||||
msgstr ""
|
||||
msgstr "Ersetzen"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Import.php:130
|
||||
msgid "Replaces the current blocklist by the imported patterns."
|
||||
msgstr ""
|
||||
msgstr "Ersetzt die aktuelle Blockliste durch die importierten Muster."
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:84
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:108
|
||||
|
|
@ -4815,7 +4763,7 @@ msgstr "Die Liste der blockierten Domain Muster wird auf der Seite <a href=\"/fr
|
|||
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:102
|
||||
msgid "Import server domain pattern blocklist"
|
||||
msgstr ""
|
||||
msgstr "Server Domain Muster Blockliste importieren"
|
||||
|
||||
#: src/Module/Admin/Blocklist/Server/Index.php:103
|
||||
msgid "Add new entry to the blocklist"
|
||||
|
|
@ -4905,75 +4853,75 @@ msgstr "Feature festlegen: %s"
|
|||
msgid "Manage Additional Features"
|
||||
msgstr "Zusätzliche Features Verwalten"
|
||||
|
||||
#: src/Module/Admin/Federation.php:68
|
||||
#: src/Module/Admin/Federation.php:69
|
||||
msgid "Other"
|
||||
msgstr "Andere"
|
||||
|
||||
#: src/Module/Admin/Federation.php:140 src/Module/Admin/Federation.php:389
|
||||
#: src/Module/Admin/Federation.php:141 src/Module/Admin/Federation.php:390
|
||||
msgid "unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: src/Module/Admin/Federation.php:173
|
||||
#: src/Module/Admin/Federation.php:174
|
||||
#, php-format
|
||||
msgid "%2$s total system"
|
||||
msgid_plural "%2$s total systems"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/Module/Admin/Federation.php:174
|
||||
#, php-format
|
||||
msgid "%2$s active user last month"
|
||||
msgid_plural "%2$s active users last month"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%2$sServer gesamt"
|
||||
msgstr[1] "%2$s Server gesamt"
|
||||
|
||||
#: src/Module/Admin/Federation.php:175
|
||||
#, php-format
|
||||
msgid "%2$s active user last six months"
|
||||
msgid_plural "%2$s active users last six months"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgid "%2$s active user last month"
|
||||
msgid_plural "%2$s active users last month"
|
||||
msgstr[0] "%2$s aktiver Nutzer im letzten Monat"
|
||||
msgstr[1] "%2$s aktive Nutzer im letzten Monat"
|
||||
|
||||
#: src/Module/Admin/Federation.php:176
|
||||
#, php-format
|
||||
msgid "%2$s registered user"
|
||||
msgid_plural "%2$s registered users"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgid "%2$s active user last six months"
|
||||
msgid_plural "%2$s active users last six months"
|
||||
msgstr[0] "%2$s aktive Nutzer im letzten halben Jahr"
|
||||
msgstr[1] "%2$s aktive Nutzer im letzten halben Jahr"
|
||||
|
||||
#: src/Module/Admin/Federation.php:177
|
||||
#, php-format
|
||||
msgid "%2$s registered user"
|
||||
msgid_plural "%2$s registered users"
|
||||
msgstr[0] "%2$sregistrierter Nutzer"
|
||||
msgstr[1] "%2$s registrierte Nutzer"
|
||||
|
||||
#: src/Module/Admin/Federation.php:178
|
||||
#, php-format
|
||||
msgid "%2$s locally created post or comment"
|
||||
msgid_plural "%2$s locally created posts and comments"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%2$slokal erstellter Beitrag oder Kommentar"
|
||||
msgstr[1] "%2$slokal erstellte Beiträge und Kommentare"
|
||||
|
||||
#: src/Module/Admin/Federation.php:180
|
||||
#: src/Module/Admin/Federation.php:181
|
||||
#, php-format
|
||||
msgid "%2$s post per user"
|
||||
msgid_plural "%2$s posts per user"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%2$sBeitrag pro Nutzer"
|
||||
msgstr[1] "%2$sBeiträge pro Nutzer"
|
||||
|
||||
#: src/Module/Admin/Federation.php:185
|
||||
#: src/Module/Admin/Federation.php:186
|
||||
#, php-format
|
||||
msgid "%2$s user per system"
|
||||
msgid_plural "%2$s users per system"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "%2$sNutzer pro System"
|
||||
msgstr[1] "%2$sNutzer pro System"
|
||||
|
||||
#: src/Module/Admin/Federation.php:195
|
||||
#: src/Module/Admin/Federation.php:196
|
||||
msgid ""
|
||||
"This page offers you some numbers to the known part of the federated social "
|
||||
"network your Friendica node is part of. These numbers are not complete but "
|
||||
"only reflect the part of the network your node is aware of."
|
||||
msgstr "Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt."
|
||||
|
||||
#: src/Module/Admin/Federation.php:201 src/Module/BaseAdmin.php:90
|
||||
#: src/Module/Admin/Federation.php:202 src/Module/BaseAdmin.php:90
|
||||
msgid "Federation Statistics"
|
||||
msgstr "Föderation Statistik"
|
||||
|
||||
#: src/Module/Admin/Federation.php:205
|
||||
#: src/Module/Admin/Federation.php:206
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Currently this node is aware of %2$s node (%3$s active users last month, "
|
||||
|
|
@ -4983,8 +4931,8 @@ msgid_plural ""
|
|||
"Currently this node is aware of %2$s nodes (%3$s active users last month, "
|
||||
"%4$s active users last six months, %5$s registered users in total) from the "
|
||||
"following platforms:"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Derzeit kennt dieser Knoten %2$s andere Knoten (mit %3$s aktiven Nutzern im letzten Monat, %4$s aktiven Nutzern im letzten halben Jahr, %5$s registrierten Nutzern insgesamt) von den folgenden Plattformen:"
|
||||
msgstr[1] "Derzeit kennt dieser Knoten %2$s andere Knoten (mit %3$s aktiven Nutzern im letzten Monat, %4$s aktiven Nutzern im letzten halben Jahr, %5$s registrierten Nutzern insgesamt) von den folgenden Plattformen:"
|
||||
|
||||
#: src/Module/Admin/Item/Delete.php:53
|
||||
msgid "Item marked for deletion."
|
||||
|
|
@ -6068,13 +6016,13 @@ msgstr "Auf großen Knoten kann die Volltext-Suche das System ausbremsen."
|
|||
|
||||
#: src/Module/Admin/Site.php:539
|
||||
msgid "Generate counts per contact group when calculating network count"
|
||||
msgstr ""
|
||||
msgstr "Erstelle Zählungen je Kontaktgruppe bei der Berechnung der Netzwerkanzahl"
|
||||
|
||||
#: src/Module/Admin/Site.php:539
|
||||
msgid ""
|
||||
"On systems with users that heavily use contact groups the query can be very "
|
||||
"expensive."
|
||||
msgstr ""
|
||||
msgstr "Auf Systemen mit Benutzern, die häufig Kontaktgruppen verwenden, kann die Abfrage sehr aufwändig sein."
|
||||
|
||||
#: src/Module/Admin/Site.php:541
|
||||
msgid "Maximum number of parallel workers"
|
||||
|
|
@ -6653,12 +6601,12 @@ msgstr "Hinweis vom Nutzer"
|
|||
msgid "Deny"
|
||||
msgstr "Verwehren"
|
||||
|
||||
#: src/Module/Api/ApiResponse.php:272
|
||||
#: src/Module/Api/ApiResponse.php:279
|
||||
#, php-format
|
||||
msgid "API endpoint %s %s is not implemented"
|
||||
msgstr "API Endpunkt %s %s ist nicht implementiert"
|
||||
|
||||
#: src/Module/Api/ApiResponse.php:273
|
||||
#: src/Module/Api/ApiResponse.php:280
|
||||
msgid ""
|
||||
"The API endpoint is currently not implemented but might be in the future."
|
||||
msgstr "The API endpoint is currently not implemented but might be in the future."
|
||||
|
|
@ -6820,10 +6768,10 @@ 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."
|
||||
msgid_plural ""
|
||||
"Monthly posting limit of %d posts reached. The post was rejected."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[0] "Das monatliche Limit von %d Beitrag wurde erreicht. Der Beitrag wurde verworfen."
|
||||
msgstr[1] "Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen."
|
||||
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:460
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:463
|
||||
msgid "Profile Details"
|
||||
msgstr "Profildetails"
|
||||
|
||||
|
|
@ -6897,110 +6845,110 @@ msgid_plural "%d contacts edited."
|
|||
msgstr[0] "%d Kontakt bearbeitet."
|
||||
msgstr[1] "%d Kontakte bearbeitet."
|
||||
|
||||
#: src/Module/Contact.php:309
|
||||
#: src/Module/Contact.php:312
|
||||
msgid "Show all contacts"
|
||||
msgstr "Alle Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:317
|
||||
#: src/Module/Contact.php:320
|
||||
msgid "Only show pending contacts"
|
||||
msgstr "Zeige nur noch ausstehende Kontakte."
|
||||
|
||||
#: src/Module/Contact.php:325
|
||||
#: src/Module/Contact.php:328
|
||||
msgid "Only show blocked contacts"
|
||||
msgstr "Nur blockierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:330 src/Module/Contact.php:377
|
||||
#: src/Module/Contact.php:333 src/Module/Contact.php:380
|
||||
#: src/Object/Post.php:339
|
||||
msgid "Ignored"
|
||||
msgstr "Ignoriert"
|
||||
|
||||
#: src/Module/Contact.php:333
|
||||
#: src/Module/Contact.php:336
|
||||
msgid "Only show ignored contacts"
|
||||
msgstr "Nur ignorierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:338 src/Module/Contact.php:378
|
||||
#: src/Module/Contact.php:341 src/Module/Contact.php:381
|
||||
msgid "Archived"
|
||||
msgstr "Archiviert"
|
||||
|
||||
#: src/Module/Contact.php:341
|
||||
#: src/Module/Contact.php:344
|
||||
msgid "Only show archived contacts"
|
||||
msgstr "Nur archivierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:346 src/Module/Contact.php:376
|
||||
#: src/Module/Contact.php:349 src/Module/Contact.php:379
|
||||
msgid "Hidden"
|
||||
msgstr "Verborgen"
|
||||
|
||||
#: src/Module/Contact.php:349
|
||||
#: src/Module/Contact.php:352
|
||||
msgid "Only show hidden contacts"
|
||||
msgstr "Nur verborgene Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:357
|
||||
#: src/Module/Contact.php:360
|
||||
msgid "Organize your contact groups"
|
||||
msgstr "Verwalte deine Kontaktgruppen"
|
||||
|
||||
#: src/Module/Contact.php:389
|
||||
#: src/Module/Contact.php:392
|
||||
msgid "Search your contacts"
|
||||
msgstr "Suche in deinen Kontakten"
|
||||
|
||||
#: src/Module/Contact.php:390 src/Module/Search/Index.php:207
|
||||
#: src/Module/Contact.php:393 src/Module/Search/Index.php:207
|
||||
#, php-format
|
||||
msgid "Results for: %s"
|
||||
msgstr "Ergebnisse für: %s"
|
||||
|
||||
#: src/Module/Contact.php:397
|
||||
#: src/Module/Contact.php:400
|
||||
msgid "Update"
|
||||
msgstr "Aktualisierungen"
|
||||
|
||||
#: src/Module/Contact.php:399 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact.php:402 src/Module/Contact/Profile.php:349
|
||||
#: src/Module/Contact/Profile.php:457
|
||||
msgid "Unignore"
|
||||
msgstr "Ignorieren aufheben"
|
||||
|
||||
#: src/Module/Contact.php:401
|
||||
#: src/Module/Contact.php:404
|
||||
msgid "Batch Actions"
|
||||
msgstr "Stapelverarbeitung"
|
||||
|
||||
#: src/Module/Contact.php:436
|
||||
#: src/Module/Contact.php:439
|
||||
msgid "Conversations started by this contact"
|
||||
msgstr "Unterhaltungen, die von diesem Kontakt begonnen wurden"
|
||||
|
||||
#: src/Module/Contact.php:441
|
||||
#: src/Module/Contact.php:444
|
||||
msgid "Posts and Comments"
|
||||
msgstr "Statusnachrichten und Kommentare"
|
||||
|
||||
#: src/Module/Contact.php:452
|
||||
#: src/Module/Contact.php:455
|
||||
msgid "Posts containing media objects"
|
||||
msgstr "Beiträge die Medien Objekte beinhalten"
|
||||
|
||||
#: src/Module/Contact.php:467
|
||||
#: src/Module/Contact.php:470
|
||||
msgid "View all known contacts"
|
||||
msgstr "Alle bekannten Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:477
|
||||
#: src/Module/Contact.php:480
|
||||
msgid "Advanced Contact Settings"
|
||||
msgstr "Fortgeschrittene Kontakteinstellungen"
|
||||
|
||||
#: src/Module/Contact.php:511
|
||||
#: src/Module/Contact.php:514
|
||||
msgid "Mutual Friendship"
|
||||
msgstr "Beidseitige Freundschaft"
|
||||
|
||||
#: src/Module/Contact.php:515
|
||||
#: src/Module/Contact.php:518
|
||||
msgid "is a fan of yours"
|
||||
msgstr "ist ein Fan von dir"
|
||||
|
||||
#: src/Module/Contact.php:519
|
||||
#: src/Module/Contact.php:522
|
||||
msgid "you are a fan of"
|
||||
msgstr "Du bist Fan von"
|
||||
|
||||
#: src/Module/Contact.php:537
|
||||
#: src/Module/Contact.php:540
|
||||
msgid "Pending outgoing contact request"
|
||||
msgstr "Ausstehende ausgehende Kontaktanfrage"
|
||||
|
||||
#: src/Module/Contact.php:539
|
||||
#: src/Module/Contact.php:542
|
||||
msgid "Pending incoming contact request"
|
||||
msgstr "Ausstehende eingehende Kontaktanfrage"
|
||||
|
||||
#: src/Module/Contact.php:552 src/Module/Contact/Profile.php:334
|
||||
#: src/Module/Contact.php:555 src/Module/Contact/Profile.php:334
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr "Besuche %ss Profil [%s]"
|
||||
|
|
@ -7089,30 +7037,6 @@ msgid_plural "Contacts (%s)"
|
|||
msgstr[0] "Kontakt (%s)"
|
||||
msgstr[1] "Kontakte (%s)"
|
||||
|
||||
#: src/Module/Contact/Poke.php:135
|
||||
msgid "Error while sending poke, please retry."
|
||||
msgstr "Beim Versenden des Stupsers ist ein Fehler aufgetreten. Bitte erneut versuchen."
|
||||
|
||||
#: src/Module/Contact/Poke.php:148 src/Module/Search/Acl.php:55
|
||||
msgid "You must be logged in to use this module."
|
||||
msgstr "Du musst eingeloggt sein, um dieses Modul benutzen zu können."
|
||||
|
||||
#: src/Module/Contact/Poke.php:171
|
||||
msgid "Poke/Prod"
|
||||
msgstr "Anstupsen"
|
||||
|
||||
#: src/Module/Contact/Poke.php:172
|
||||
msgid "poke, prod or do other things to somebody"
|
||||
msgstr "Stupse Leute an oder mache anderes mit ihnen"
|
||||
|
||||
#: src/Module/Contact/Poke.php:174
|
||||
msgid "Choose what you wish to do to recipient"
|
||||
msgstr "Was willst du mit dem Empfänger machen:"
|
||||
|
||||
#: src/Module/Contact/Poke.php:175
|
||||
msgid "Make this post private"
|
||||
msgstr "Diesen Beitrag privat machen"
|
||||
|
||||
#: src/Module/Contact/Profile.php:127
|
||||
msgid "Failed to update contact record."
|
||||
msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
|
||||
|
|
@ -7370,45 +7294,45 @@ msgstr "Willst du das Folgen dieses Kontakt wirklich widerrufen? Dies kann nicht
|
|||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/Module/Conversation/Community.php:68
|
||||
msgid "Local Community"
|
||||
msgstr "Lokale Gemeinschaft"
|
||||
|
||||
#: src/Module/Conversation/Community.php:71
|
||||
msgid "Posts from local users on this server"
|
||||
msgstr "Beiträge von Nutzern dieses Servers"
|
||||
|
||||
#: src/Module/Conversation/Community.php:79
|
||||
msgid "Global Community"
|
||||
msgstr "Globale Gemeinschaft"
|
||||
|
||||
#: src/Module/Conversation/Community.php:82
|
||||
msgid "Posts from users of the whole federated network"
|
||||
msgstr "Beiträge von Nutzern des gesamten föderalen Netzwerks"
|
||||
|
||||
#: src/Module/Conversation/Community.php:115
|
||||
msgid "Own Contacts"
|
||||
msgstr "Eigene Kontakte"
|
||||
|
||||
#: src/Module/Conversation/Community.php:119
|
||||
msgid "Include"
|
||||
msgstr "Einschließen"
|
||||
|
||||
#: src/Module/Conversation/Community.php:120
|
||||
msgid "Hide"
|
||||
msgstr "Verbergen"
|
||||
|
||||
#: src/Module/Conversation/Community.php:137 src/Module/Search/Index.php:152
|
||||
#: src/Module/Search/Index.php:194
|
||||
msgid "No results."
|
||||
msgstr "Keine Ergebnisse."
|
||||
|
||||
#: src/Module/Conversation/Community.php:162
|
||||
#: src/Module/Conversation/Community.php:61
|
||||
msgid ""
|
||||
"This community stream shows all public posts received by this node. They may"
|
||||
" not reflect the opinions of this node’s users."
|
||||
msgstr "Diese Gemeinschaftsseite zeigt alle öffentlichen Beiträge, die auf diesem Knoten eingegangen sind. Der Inhalt entspricht nicht zwingend der Meinung der Nutzer dieses Servers."
|
||||
|
||||
#: src/Module/Conversation/Community.php:74
|
||||
msgid "Local Community"
|
||||
msgstr "Lokale Gemeinschaft"
|
||||
|
||||
#: src/Module/Conversation/Community.php:77
|
||||
msgid "Posts from local users on this server"
|
||||
msgstr "Beiträge von Nutzern dieses Servers"
|
||||
|
||||
#: src/Module/Conversation/Community.php:85
|
||||
msgid "Global Community"
|
||||
msgstr "Globale Gemeinschaft"
|
||||
|
||||
#: src/Module/Conversation/Community.php:88
|
||||
msgid "Posts from users of the whole federated network"
|
||||
msgstr "Beiträge von Nutzern des gesamten föderalen Netzwerks"
|
||||
|
||||
#: src/Module/Conversation/Community.php:121
|
||||
msgid "Own Contacts"
|
||||
msgstr "Eigene Kontakte"
|
||||
|
||||
#: src/Module/Conversation/Community.php:125
|
||||
msgid "Include"
|
||||
msgstr "Einschließen"
|
||||
|
||||
#: src/Module/Conversation/Community.php:126
|
||||
msgid "Hide"
|
||||
msgstr "Verbergen"
|
||||
|
||||
#: src/Module/Conversation/Community.php:143 src/Module/Search/Index.php:152
|
||||
#: src/Module/Search/Index.php:194
|
||||
msgid "No results."
|
||||
msgstr "Keine Ergebnisse."
|
||||
|
||||
#: src/Module/Conversation/Community.php:199
|
||||
msgid "Community option not available."
|
||||
msgstr "Optionen für die Gemeinschaftsseite nicht verfügbar."
|
||||
|
|
@ -7775,14 +7699,14 @@ msgstr "Ergebnisse für:"
|
|||
msgid "Site Directory"
|
||||
msgstr "Verzeichnis"
|
||||
|
||||
#: src/Module/Filer/RemoveTag.php:68
|
||||
msgid "Item was not removed"
|
||||
msgstr "Item wurde nicht entfernt"
|
||||
|
||||
#: src/Module/Filer/RemoveTag.php:71
|
||||
#: src/Module/Filer/RemoveTag.php:101
|
||||
msgid "Item was not deleted"
|
||||
msgstr "Item wurde nicht gelöscht"
|
||||
|
||||
#: src/Module/Filer/RemoveTag.php:111
|
||||
msgid "Item was not removed"
|
||||
msgstr "Item wurde nicht entfernt"
|
||||
|
||||
#: src/Module/Filer/SaveTag.php:72
|
||||
msgid "- select -"
|
||||
msgstr "- auswählen -"
|
||||
|
|
@ -7823,7 +7747,7 @@ msgstr "Auf diesem Server werden die folgenden, entfernten Server blockiert."
|
|||
|
||||
#: src/Module/Friendica.php:84
|
||||
msgid "Download this list in CSV format"
|
||||
msgstr ""
|
||||
msgstr "Liste im CSV-Format herunterladen"
|
||||
|
||||
#: src/Module/Friendica.php:98
|
||||
#, php-format
|
||||
|
|
@ -8208,40 +8132,46 @@ msgid ""
|
|||
"important, please visit http://friendi.ca"
|
||||
msgstr "Für weitere Informationen über das Friendica-Projekt und warum wir es für ein wichtiges Projekt halten, besuche bitte http://friendi.ca."
|
||||
|
||||
#: src/Module/Item/Compose.php:50
|
||||
#: src/Module/Item/Compose.php:85
|
||||
msgid "Please enter a post body."
|
||||
msgstr "Bitte gibt den Text des Beitrags an"
|
||||
|
||||
#: src/Module/Item/Compose.php:63
|
||||
#: src/Module/Item/Compose.php:98
|
||||
msgid "This feature is only available with the frio theme."
|
||||
msgstr "Diese Seite kann ausschließlich mit dem Frio Theme verwendet werden."
|
||||
|
||||
#: src/Module/Item/Compose.php:90
|
||||
#: src/Module/Item/Compose.php:122
|
||||
msgid "Compose new personal note"
|
||||
msgstr "Neue persönliche Notiz verfassen"
|
||||
|
||||
#: src/Module/Item/Compose.php:99
|
||||
#: src/Module/Item/Compose.php:131
|
||||
msgid "Compose new post"
|
||||
msgstr "Neuen Beitrag verfassen"
|
||||
|
||||
#: src/Module/Item/Compose.php:153
|
||||
#: src/Module/Item/Compose.php:187
|
||||
msgid "Visibility"
|
||||
msgstr "Sichtbarkeit"
|
||||
|
||||
#: src/Module/Item/Compose.php:174
|
||||
#: src/Module/Item/Compose.php:201
|
||||
msgid "Clear the location"
|
||||
msgstr "Ort löschen"
|
||||
|
||||
#: src/Module/Item/Compose.php:175
|
||||
#: src/Module/Item/Compose.php:202
|
||||
msgid "Location services are unavailable on your device"
|
||||
msgstr "Ortungsdienste sind auf Ihrem Gerät nicht verfügbar"
|
||||
|
||||
#: src/Module/Item/Compose.php:176
|
||||
#: src/Module/Item/Compose.php:203
|
||||
msgid ""
|
||||
"Location services are disabled. Please check the website's permissions on "
|
||||
"your device"
|
||||
msgstr "Ortungsdienste sind deaktiviert. Bitte überprüfe die Berechtigungen der Website auf deinem Gerät"
|
||||
|
||||
#: src/Module/Item/Compose.php:209
|
||||
msgid ""
|
||||
"You can make this page always open when you use the New Post button in the "
|
||||
"<a href=\"/settings/display\">Theme Customization settings</a>."
|
||||
msgstr "Wenn du magst, kannst du unter den <a href=\"/settings/display\">Benutzerdefinierte Theme-Einstellungen</a> einstellen, dass diese Seite immer geöffnet wird, wenn du den \"Neuer Beitrag\" Button verwendest."
|
||||
|
||||
#: src/Module/Item/Follow.php:52
|
||||
msgid "Unable to follow this item."
|
||||
msgstr "Konnte dem Beitrag nicht folgen."
|
||||
|
|
@ -8471,7 +8401,7 @@ msgid ""
|
|||
"class=\"btn btn-sm pull-right\">Cancel</a>"
|
||||
msgstr "Du betrachtest dein Profil gerade als <b>%s</b> <a href=\"%s\" class=\"btn btn-sm pull-right\">Abbrechen</a>"
|
||||
|
||||
#: src/Module/Profile/Profile.php:144 src/Module/Settings/Account.php:578
|
||||
#: src/Module/Profile/Profile.php:144 src/Module/Settings/Account.php:579
|
||||
msgid "Full Name:"
|
||||
msgstr "Kompletter Name:"
|
||||
|
||||
|
|
@ -8487,17 +8417,17 @@ msgstr "j F, Y"
|
|||
msgid "j F"
|
||||
msgstr "j F"
|
||||
|
||||
#: src/Module/Profile/Profile.php:164 src/Util/Temporal.php:163
|
||||
#: src/Module/Profile/Profile.php:164 src/Util/Temporal.php:166
|
||||
msgid "Birthday:"
|
||||
msgstr "Geburtstag:"
|
||||
|
||||
#: src/Module/Profile/Profile.php:167
|
||||
#: src/Module/Settings/Profile/Index.php:245 src/Util/Temporal.php:165
|
||||
#: src/Module/Settings/Profile/Index.php:245 src/Util/Temporal.php:168
|
||||
msgid "Age: "
|
||||
msgstr "Alter: "
|
||||
|
||||
#: src/Module/Profile/Profile.php:167
|
||||
#: src/Module/Settings/Profile/Index.php:245 src/Util/Temporal.php:165
|
||||
#: src/Module/Settings/Profile/Index.php:245 src/Util/Temporal.php:168
|
||||
#, php-format
|
||||
msgid "%d year old"
|
||||
msgid_plural "%d years old"
|
||||
|
|
@ -8602,7 +8532,7 @@ msgid "Please repeat your e-mail address:"
|
|||
msgstr "Bitte wiederhole deine E-Mail Adresse"
|
||||
|
||||
#: src/Module/Register.php:162 src/Module/Security/PasswordTooLong.php:97
|
||||
#: src/Module/Settings/Account.php:569
|
||||
#: src/Module/Settings/Account.php:570
|
||||
msgid "New Password:"
|
||||
msgstr "Neues Passwort:"
|
||||
|
||||
|
|
@ -8611,7 +8541,7 @@ msgid "Leave empty for an auto generated password."
|
|||
msgstr "Leer lassen, um das Passwort automatisch zu generieren."
|
||||
|
||||
#: src/Module/Register.php:163 src/Module/Security/PasswordTooLong.php:98
|
||||
#: src/Module/Settings/Account.php:570
|
||||
#: src/Module/Settings/Account.php:571
|
||||
msgid "Confirm:"
|
||||
msgstr "Bestätigen:"
|
||||
|
||||
|
|
@ -8732,6 +8662,10 @@ msgstr "Solltest du das freie Soziale Netzwerk noch nicht benutzen, kannst du <a
|
|||
msgid "Your Webfinger address or profile URL:"
|
||||
msgstr "Deine Webfinger Adresse oder Profil-URL"
|
||||
|
||||
#: src/Module/Search/Acl.php:55
|
||||
msgid "You must be logged in to use this module."
|
||||
msgstr "Du musst eingeloggt sein, um dieses Modul benutzen zu können."
|
||||
|
||||
#: src/Module/Search/Index.php:69
|
||||
msgid "Only logged in users are permitted to perform a search."
|
||||
msgstr "Nur eingeloggten Benutzern ist das Suchen gestattet."
|
||||
|
|
@ -8828,16 +8762,16 @@ msgid ""
|
|||
msgstr "Nutzerkonto nicht gefunden. Bitte registriere ein neues Konto oder melde dich mit einem existierendem Konto an um diene OpenID hinzuzufügen."
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:53
|
||||
#: src/Module/Settings/Account.php:66
|
||||
#: src/Module/Settings/Account.php:67
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Die Passwörter stimmen nicht überein."
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:60
|
||||
msgid "Password does not need changing."
|
||||
msgstr ""
|
||||
msgstr "Passwort muss nicht geändert werden."
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:73
|
||||
#: src/Module/Settings/Account.php:80
|
||||
#: src/Module/Settings/Account.php:81
|
||||
msgid "Password unchanged."
|
||||
msgstr "Passwort unverändert."
|
||||
|
||||
|
|
@ -8850,31 +8784,31 @@ msgid ""
|
|||
"Since version 2022.09, we've realized that any password longer than 72 "
|
||||
"characters is truncated during hashing. To prevent any confusion about this "
|
||||
"behavior, please update your password to be fewer or equal to 72 characters."
|
||||
msgstr ""
|
||||
msgstr "Mit der Version 2022.09 haben wir festgestellt, dass jedes Passwort, das länger als 72 Zeichen ist, beim Hashing abgeschnitten wird. Um Verwirrung über dieses Verhalten zu vermeiden, aktualisieren Sie Ihr Passwort bitte so, dass es höchstens 72 Zeichen hat."
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:89
|
||||
msgid "Update Password"
|
||||
msgstr "Passwort aktualisieren"
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:96
|
||||
#: src/Module/Settings/Account.php:571
|
||||
#: src/Module/Settings/Account.php:572
|
||||
msgid "Current Password:"
|
||||
msgstr "Aktuelles Passwort:"
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:96
|
||||
#: src/Module/Settings/Account.php:571
|
||||
#: src/Module/Settings/Account.php:572
|
||||
msgid "Your current password to confirm the changes"
|
||||
msgstr "Dein aktuelles Passwort um die Änderungen zu bestätigen"
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:97
|
||||
#: src/Module/Settings/Account.php:554
|
||||
#: src/Module/Settings/Account.php:555
|
||||
msgid ""
|
||||
"Allowed characters are a-z, A-Z, 0-9 and special characters except white "
|
||||
"spaces, accentuated letters and colon (:)."
|
||||
msgstr "Erlaubte Zeichen sind a-z, A-Z, 0-9 und Sonderzeichen, abgesehen von Leerzeichen, Doppelpunkten (:) und akzentuierten Buchstaben."
|
||||
|
||||
#: src/Module/Security/PasswordTooLong.php:97
|
||||
#: src/Module/Settings/Account.php:555
|
||||
#: src/Module/Settings/Account.php:556
|
||||
msgid "Password length is limited to 72 characters."
|
||||
msgstr "Die Länge des Passworts ist auf 72 Zeichen begrenzt."
|
||||
|
||||
|
|
@ -8978,119 +8912,119 @@ msgstr "Bitte gebe einen Code aus Ihrer Authentifizierungs-App ein"
|
|||
msgid "Verify code and complete login"
|
||||
msgstr "Code überprüfen und Anmeldung abschließen"
|
||||
|
||||
#: src/Module/Settings/Account.php:95
|
||||
#: src/Module/Settings/Account.php:96
|
||||
msgid "Please use a shorter name."
|
||||
msgstr "Bitte verwende einen kürzeren Namen."
|
||||
|
||||
#: src/Module/Settings/Account.php:98
|
||||
#: src/Module/Settings/Account.php:99
|
||||
msgid "Name too short."
|
||||
msgstr "Der Name ist zu kurz."
|
||||
|
||||
#: src/Module/Settings/Account.php:107
|
||||
#: src/Module/Settings/Account.php:108
|
||||
msgid "Wrong Password."
|
||||
msgstr "Falsches Passwort"
|
||||
|
||||
#: src/Module/Settings/Account.php:112
|
||||
#: src/Module/Settings/Account.php:113
|
||||
msgid "Invalid email."
|
||||
msgstr "Ungültige E-Mail-Adresse."
|
||||
|
||||
#: src/Module/Settings/Account.php:118
|
||||
#: src/Module/Settings/Account.php:119
|
||||
msgid "Cannot change to that email."
|
||||
msgstr "Ändern der E-Mail nicht möglich. "
|
||||
|
||||
#: src/Module/Settings/Account.php:148 src/Module/Settings/Account.php:200
|
||||
#: src/Module/Settings/Account.php:220 src/Module/Settings/Account.php:304
|
||||
#: src/Module/Settings/Account.php:353
|
||||
#: src/Module/Settings/Account.php:149 src/Module/Settings/Account.php:201
|
||||
#: src/Module/Settings/Account.php:221 src/Module/Settings/Account.php:305
|
||||
#: src/Module/Settings/Account.php:354
|
||||
msgid "Settings were not updated."
|
||||
msgstr "Einstellungen nicht aktualisiert"
|
||||
|
||||
#: src/Module/Settings/Account.php:365
|
||||
#: src/Module/Settings/Account.php:366
|
||||
msgid "Contact CSV file upload error"
|
||||
msgstr "Fehler beim Hochladen der Kontakt CSV Datei"
|
||||
|
||||
#: src/Module/Settings/Account.php:384
|
||||
#: src/Module/Settings/Account.php:385
|
||||
msgid "Importing Contacts done"
|
||||
msgstr "Kontakte wurden importiert."
|
||||
|
||||
#: src/Module/Settings/Account.php:397
|
||||
#: src/Module/Settings/Account.php:398
|
||||
msgid "Relocate message has been send to your contacts"
|
||||
msgstr "Die Umzugsbenachrichtigung wurde an Deine Kontakte versendet."
|
||||
|
||||
#: src/Module/Settings/Account.php:414
|
||||
#: src/Module/Settings/Account.php:415
|
||||
msgid "Unable to find your profile. Please contact your admin."
|
||||
msgstr "Konnte dein Profil nicht finden. Bitte kontaktiere den Admin."
|
||||
|
||||
#: src/Module/Settings/Account.php:456
|
||||
#: src/Module/Settings/Account.php:457
|
||||
msgid "Personal Page Subtypes"
|
||||
msgstr "Unterarten der persönlichen Seite"
|
||||
|
||||
#: src/Module/Settings/Account.php:457
|
||||
#: src/Module/Settings/Account.php:458
|
||||
msgid "Community Forum Subtypes"
|
||||
msgstr "Unterarten des Gemeinschaftsforums"
|
||||
|
||||
#: src/Module/Settings/Account.php:467
|
||||
#: src/Module/Settings/Account.php:468
|
||||
msgid "Account for a personal profile."
|
||||
msgstr "Konto für ein persönliches Profil."
|
||||
|
||||
#: src/Module/Settings/Account.php:474
|
||||
#: src/Module/Settings/Account.php:475
|
||||
msgid ""
|
||||
"Account for an organisation that automatically approves contact requests as "
|
||||
"\"Followers\"."
|
||||
msgstr "Konto für eine Organisation, das Kontaktanfragen automatisch als \"Follower\" annimmt."
|
||||
|
||||
#: src/Module/Settings/Account.php:481
|
||||
#: src/Module/Settings/Account.php:482
|
||||
msgid ""
|
||||
"Account for a news reflector that automatically approves contact requests as"
|
||||
" \"Followers\"."
|
||||
msgstr "Konto für einen Feedspiegel, das Kontaktanfragen automatisch als \"Follower\" annimmt."
|
||||
|
||||
#: src/Module/Settings/Account.php:488
|
||||
#: src/Module/Settings/Account.php:489
|
||||
msgid "Account for community discussions."
|
||||
msgstr "Konto für Diskussionsforen. "
|
||||
|
||||
#: src/Module/Settings/Account.php:495
|
||||
#: src/Module/Settings/Account.php:496
|
||||
msgid ""
|
||||
"Account for a regular personal profile that requires manual approval of "
|
||||
"\"Friends\" and \"Followers\"."
|
||||
msgstr "Konto für ein normales, persönliches Profil. Kontaktanfragen müssen manuell als \"Friend\" oder \"Follower\" bestätigt werden."
|
||||
|
||||
#: src/Module/Settings/Account.php:502
|
||||
#: src/Module/Settings/Account.php:503
|
||||
msgid ""
|
||||
"Account for a public profile that automatically approves contact requests as"
|
||||
" \"Followers\"."
|
||||
msgstr "Konto für ein öffentliches Profil, das Kontaktanfragen automatisch als \"Follower\" annimmt."
|
||||
|
||||
#: src/Module/Settings/Account.php:509
|
||||
#: src/Module/Settings/Account.php:510
|
||||
msgid "Automatically approves all contact requests."
|
||||
msgstr "Bestätigt alle Kontaktanfragen automatisch."
|
||||
|
||||
#: src/Module/Settings/Account.php:516
|
||||
#: src/Module/Settings/Account.php:517
|
||||
msgid ""
|
||||
"Account for a popular profile that automatically approves contact requests "
|
||||
"as \"Friends\"."
|
||||
msgstr "Konto für ein gefragtes Profil, das Kontaktanfragen automatisch als \"Friend\" annimmt."
|
||||
|
||||
#: src/Module/Settings/Account.php:521
|
||||
#: src/Module/Settings/Account.php:522
|
||||
msgid "Private Forum [Experimental]"
|
||||
msgstr "Privates Forum [Versuchsstadium]"
|
||||
|
||||
#: src/Module/Settings/Account.php:523
|
||||
#: src/Module/Settings/Account.php:524
|
||||
msgid "Requires manual approval of contact requests."
|
||||
msgstr "Kontaktanfragen müssen manuell bestätigt werden."
|
||||
|
||||
#: src/Module/Settings/Account.php:532
|
||||
#: src/Module/Settings/Account.php:533
|
||||
msgid "OpenID:"
|
||||
msgstr "OpenID:"
|
||||
|
||||
#: src/Module/Settings/Account.php:532
|
||||
#: src/Module/Settings/Account.php:533
|
||||
msgid "(Optional) Allow this OpenID to login to this account."
|
||||
msgstr "(Optional) Erlaube die Anmeldung für dieses Konto mit dieser OpenID."
|
||||
|
||||
#: src/Module/Settings/Account.php:540
|
||||
#: src/Module/Settings/Account.php:541
|
||||
msgid "Publish your profile in your local site directory?"
|
||||
msgstr "Darf dein Profil im lokalen Verzeichnis dieses Servers veröffentlicht werden?"
|
||||
|
||||
#: src/Module/Settings/Account.php:540
|
||||
#: src/Module/Settings/Account.php:541
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your profile will be published in this node's <a href=\"%s\">local "
|
||||
|
|
@ -9098,89 +9032,89 @@ msgid ""
|
|||
" system settings."
|
||||
msgstr "Dein Profil wird im <a href=\"%s\">lokalen Verzeichnis</a> dieses Knotens veröffentlicht. Je nach Systemeinstellungen kann es öffentlich auffindbar sein."
|
||||
|
||||
#: src/Module/Settings/Account.php:546
|
||||
#: src/Module/Settings/Account.php:547
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your profile will also be published in the global friendica directories "
|
||||
"(e.g. <a href=\"%s\">%s</a>)."
|
||||
msgstr "Dein Profil wird auch in den globalen Friendica Verzeichnissen (z.B. <a href=\"%s\">%s</a>) veröffentlicht werden."
|
||||
|
||||
#: src/Module/Settings/Account.php:559
|
||||
#: src/Module/Settings/Account.php:560
|
||||
msgid "Account Settings"
|
||||
msgstr "Kontoeinstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:560
|
||||
#: src/Module/Settings/Account.php:561
|
||||
#, php-format
|
||||
msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
|
||||
msgstr "Die Adresse deines Profils lautet <strong>'%s'</strong> oder '%s'."
|
||||
|
||||
#: src/Module/Settings/Account.php:568
|
||||
#: src/Module/Settings/Account.php:569
|
||||
msgid "Password Settings"
|
||||
msgstr "Passwort-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:570
|
||||
#: src/Module/Settings/Account.php:571
|
||||
msgid "Leave password fields blank unless changing"
|
||||
msgstr "Lass die Passwort-Felder leer, außer du willst das Passwort ändern"
|
||||
|
||||
#: src/Module/Settings/Account.php:572
|
||||
#: src/Module/Settings/Account.php:573
|
||||
msgid "Password:"
|
||||
msgstr "Passwort:"
|
||||
|
||||
#: src/Module/Settings/Account.php:572
|
||||
#: src/Module/Settings/Account.php:573
|
||||
msgid "Your current password to confirm the changes of the email address"
|
||||
msgstr "Dein aktuelles Passwort um die Änderungen deiner E-Mail Adresse zu bestätigen"
|
||||
|
||||
#: src/Module/Settings/Account.php:575
|
||||
#: src/Module/Settings/Account.php:576
|
||||
msgid "Delete OpenID URL"
|
||||
msgstr "OpenID URL löschen"
|
||||
|
||||
#: src/Module/Settings/Account.php:577
|
||||
#: src/Module/Settings/Account.php:578
|
||||
msgid "Basic Settings"
|
||||
msgstr "Grundeinstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:579
|
||||
#: src/Module/Settings/Account.php:580
|
||||
msgid "Email Address:"
|
||||
msgstr "E-Mail-Adresse:"
|
||||
|
||||
#: src/Module/Settings/Account.php:580
|
||||
#: src/Module/Settings/Account.php:581
|
||||
msgid "Your Timezone:"
|
||||
msgstr "Deine Zeitzone:"
|
||||
|
||||
#: src/Module/Settings/Account.php:581
|
||||
#: src/Module/Settings/Account.php:582
|
||||
msgid "Your Language:"
|
||||
msgstr "Deine Sprache:"
|
||||
|
||||
#: src/Module/Settings/Account.php:581
|
||||
#: src/Module/Settings/Account.php:582
|
||||
msgid ""
|
||||
"Set the language we use to show you friendica interface and to send you "
|
||||
"emails"
|
||||
msgstr "Wähle die Sprache, in der wir dir die Friendica-Oberfläche präsentieren sollen und dir E-Mail schicken"
|
||||
|
||||
#: src/Module/Settings/Account.php:582
|
||||
#: src/Module/Settings/Account.php:583
|
||||
msgid "Default Post Location:"
|
||||
msgstr "Standardstandort:"
|
||||
|
||||
#: src/Module/Settings/Account.php:583
|
||||
#: src/Module/Settings/Account.php:584
|
||||
msgid "Use Browser Location:"
|
||||
msgstr "Standort des Browsers verwenden:"
|
||||
|
||||
#: src/Module/Settings/Account.php:585
|
||||
#: src/Module/Settings/Account.php:586
|
||||
msgid "Security and Privacy Settings"
|
||||
msgstr "Sicherheits- und Privatsphäre-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:587
|
||||
#: src/Module/Settings/Account.php:588
|
||||
msgid "Maximum Friend Requests/Day:"
|
||||
msgstr "Maximale Anzahl von Kontaktanfragen/Tag:"
|
||||
|
||||
#: src/Module/Settings/Account.php:587 src/Module/Settings/Account.php:597
|
||||
#: src/Module/Settings/Account.php:588 src/Module/Settings/Account.php:598
|
||||
msgid "(to prevent spam abuse)"
|
||||
msgstr "(um SPAM zu vermeiden)"
|
||||
|
||||
#: src/Module/Settings/Account.php:589
|
||||
#: src/Module/Settings/Account.php:590
|
||||
msgid "Allow your profile to be searchable globally?"
|
||||
msgstr "Darf dein Profil bei Suchanfragen gefunden werden?"
|
||||
|
||||
#: src/Module/Settings/Account.php:589
|
||||
#: src/Module/Settings/Account.php:590
|
||||
msgid ""
|
||||
"Activate this setting if you want others to easily find and follow you. Your"
|
||||
" profile will be searchable on remote systems. This setting also determines "
|
||||
|
|
@ -9188,43 +9122,43 @@ msgid ""
|
|||
"indexed or not."
|
||||
msgstr "Aktiviere diese Einstellung, wenn du von anderen einfach gefunden und gefolgt werden möchtest. Dei Profil wird dann auf anderen Systemen leicht durchsuchbar. Außerdem regelt diese Einstellung ob Friendica Suchmaschinen mitteilen soll, ob dein Profil indiziert werden soll oder nicht."
|
||||
|
||||
#: src/Module/Settings/Account.php:590
|
||||
#: src/Module/Settings/Account.php:591
|
||||
msgid "Hide your contact/friend list from viewers of your profile?"
|
||||
msgstr "Liste der Kontakte vor Betrachtern des Profil verbergen?"
|
||||
|
||||
#: src/Module/Settings/Account.php:590
|
||||
#: src/Module/Settings/Account.php:591
|
||||
msgid ""
|
||||
"A list of your contacts is displayed on your profile page. Activate this "
|
||||
"option to disable the display of your contact list."
|
||||
msgstr "Auf deiner Profilseite wird eine Liste deiner Kontakte angezeigt. Aktiviere diese Option wenn du das nicht möchtest."
|
||||
|
||||
#: src/Module/Settings/Account.php:591
|
||||
#: src/Module/Settings/Account.php:592
|
||||
msgid "Hide your profile details from anonymous viewers?"
|
||||
msgstr "Profil-Details vor unbekannten Betrachtern verbergen?"
|
||||
|
||||
#: src/Module/Settings/Account.php:591
|
||||
#: src/Module/Settings/Account.php:592
|
||||
msgid ""
|
||||
"Anonymous visitors will only see your profile picture, your display name and"
|
||||
" the nickname you are using on your profile page. Your public posts and "
|
||||
"replies will still be accessible by other means."
|
||||
msgstr "Anonyme Besucher deines Profils werden ausschließlich dein Profilbild, deinen Namen sowie deinen Spitznamen sehen. Deine öffentlichen Beiträge und Kommentare werden weiterhin sichtbar sein."
|
||||
|
||||
#: src/Module/Settings/Account.php:592
|
||||
#: src/Module/Settings/Account.php:593
|
||||
msgid "Make public posts unlisted"
|
||||
msgstr "Öffentliche Beiträge nicht listen"
|
||||
|
||||
#: src/Module/Settings/Account.php:592
|
||||
#: src/Module/Settings/Account.php:593
|
||||
msgid ""
|
||||
"Your public posts will not appear on the community pages or in search "
|
||||
"results, nor be sent to relay servers. However they can still appear on "
|
||||
"public feeds on remote servers."
|
||||
msgstr "Deine öffentlichen Beiträge werden nicht auf der Gemeinschaftsseite oder in den Suchergebnissen erscheinen, außerdem werden sie nicht an Relay-Server geschickt. Sie werden aber weiterhin in allen öffentlichen Feeds, auch auf entfernten Servern, erscheinen."
|
||||
|
||||
#: src/Module/Settings/Account.php:593
|
||||
#: src/Module/Settings/Account.php:594
|
||||
msgid "Make all posted pictures accessible"
|
||||
msgstr "Alle geposteten Bilder zugreifbar machen"
|
||||
|
||||
#: src/Module/Settings/Account.php:593
|
||||
#: src/Module/Settings/Account.php:594
|
||||
msgid ""
|
||||
"This option makes every posted picture accessible via the direct link. This "
|
||||
"is a workaround for the problem that most other networks can't handle "
|
||||
|
|
@ -9232,131 +9166,127 @@ msgid ""
|
|||
"public on your photo albums though."
|
||||
msgstr "Diese Option macht jedes veröffentlichte Bild über den direkten Link zugänglich. Dies ist eine Problemumgehung für das Problem, dass die meisten anderen Netzwerke keine Berechtigungen für Bilder verarbeiten können. Nicht öffentliche Bilder sind in Ihren Fotoalben jedoch immer noch nicht für die Öffentlichkeit sichtbar."
|
||||
|
||||
#: src/Module/Settings/Account.php:594
|
||||
#: src/Module/Settings/Account.php:595
|
||||
msgid "Allow friends to post to your profile page?"
|
||||
msgstr "Dürfen deine Kontakte auf deine Pinnwand schreiben?"
|
||||
|
||||
#: src/Module/Settings/Account.php:594
|
||||
#: src/Module/Settings/Account.php:595
|
||||
msgid ""
|
||||
"Your contacts may write posts on your profile wall. These posts will be "
|
||||
"distributed to your contacts"
|
||||
msgstr "Deine Kontakte können Beiträge auf deiner Pinnwand hinterlassen. Diese werden an deine Kontakte verteilt."
|
||||
|
||||
#: src/Module/Settings/Account.php:595
|
||||
#: src/Module/Settings/Account.php:596
|
||||
msgid "Allow friends to tag your posts?"
|
||||
msgstr "Dürfen deine Kontakte deine Beiträge mit Schlagwörtern versehen?"
|
||||
|
||||
#: src/Module/Settings/Account.php:595
|
||||
#: src/Module/Settings/Account.php:596
|
||||
msgid "Your contacts can add additional tags to your posts."
|
||||
msgstr "Deine Kontakte dürfen deine Beiträge mit zusätzlichen Schlagworten versehen."
|
||||
|
||||
#: src/Module/Settings/Account.php:596
|
||||
#: src/Module/Settings/Account.php:597
|
||||
msgid "Permit unknown people to send you private mail?"
|
||||
msgstr "Dürfen dir Unbekannte private Nachrichten schicken?"
|
||||
|
||||
#: src/Module/Settings/Account.php:596
|
||||
#: src/Module/Settings/Account.php:597
|
||||
msgid ""
|
||||
"Friendica network users may send you private messages even if they are not "
|
||||
"in your contact list."
|
||||
msgstr "Nutzer des Friendica Netzwerks können dir private Nachrichten senden, selbst wenn sie nicht in deine Kontaktliste sind."
|
||||
|
||||
#: src/Module/Settings/Account.php:597
|
||||
#: src/Module/Settings/Account.php:598
|
||||
msgid "Maximum private messages per day from unknown people:"
|
||||
msgstr "Maximale Anzahl privater Nachrichten von Unbekannten pro Tag:"
|
||||
|
||||
#: src/Module/Settings/Account.php:599
|
||||
#: src/Module/Settings/Account.php:600
|
||||
msgid "Default Post Permissions"
|
||||
msgstr "Standard-Zugriffsrechte für Beiträge"
|
||||
|
||||
#: src/Module/Settings/Account.php:603
|
||||
#: src/Module/Settings/Account.php:604
|
||||
msgid "Expiration settings"
|
||||
msgstr "Verfalls-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:604
|
||||
#: src/Module/Settings/Account.php:605
|
||||
msgid "Automatically expire posts after this many days:"
|
||||
msgstr "Beiträge verfallen automatisch nach dieser Anzahl von Tagen:"
|
||||
|
||||
#: src/Module/Settings/Account.php:604
|
||||
#: src/Module/Settings/Account.php:605
|
||||
msgid "If empty, posts will not expire. Expired posts will be deleted"
|
||||
msgstr "Wenn leer, verfallen Beiträge nie automatisch. Verfallene Beiträge werden gelöscht."
|
||||
|
||||
#: src/Module/Settings/Account.php:605
|
||||
#: src/Module/Settings/Account.php:606
|
||||
msgid "Expire posts"
|
||||
msgstr "Beiträge verfallen lassen"
|
||||
|
||||
#: src/Module/Settings/Account.php:605
|
||||
#: src/Module/Settings/Account.php:606
|
||||
msgid "When activated, posts and comments will be expired."
|
||||
msgstr "Ist dies aktiviert, werden Beiträge und Kommentare verfallen."
|
||||
|
||||
#: src/Module/Settings/Account.php:606
|
||||
#: src/Module/Settings/Account.php:607
|
||||
msgid "Expire personal notes"
|
||||
msgstr "Persönliche Notizen verfallen lassen"
|
||||
|
||||
#: src/Module/Settings/Account.php:606
|
||||
#: src/Module/Settings/Account.php:607
|
||||
msgid ""
|
||||
"When activated, the personal notes on your profile page will be expired."
|
||||
msgstr "Ist dies aktiviert, werden persönliche Notizen auf deiner Pinnwand verfallen."
|
||||
|
||||
#: src/Module/Settings/Account.php:607
|
||||
#: src/Module/Settings/Account.php:608
|
||||
msgid "Expire starred posts"
|
||||
msgstr "Markierte Beiträge verfallen lassen"
|
||||
|
||||
#: src/Module/Settings/Account.php:607
|
||||
#: src/Module/Settings/Account.php:608
|
||||
msgid ""
|
||||
"Starring posts keeps them from being expired. That behaviour is overwritten "
|
||||
"by this setting."
|
||||
msgstr "Markierte Beiträge verfallen eigentlich nicht. Mit dieser Option kannst du sie verfallen lassen."
|
||||
|
||||
#: src/Module/Settings/Account.php:608
|
||||
#: src/Module/Settings/Account.php:609
|
||||
msgid "Only expire posts by others"
|
||||
msgstr "Nur Beiträge anderer verfallen lassen."
|
||||
|
||||
#: src/Module/Settings/Account.php:608
|
||||
#: src/Module/Settings/Account.php:609
|
||||
msgid ""
|
||||
"When activated, your own posts never expire. Then the settings above are "
|
||||
"only valid for posts you received."
|
||||
msgstr "Wenn aktiviert werden deine eigenen Beiträge niemals verfallen. Die obigen Einstellungen betreffen dann ausschließlich die Beiträge von anderen Accounts."
|
||||
|
||||
#: src/Module/Settings/Account.php:611
|
||||
#: src/Module/Settings/Account.php:612
|
||||
msgid "Notification Settings"
|
||||
msgstr "Benachrichtigungseinstellungen"
|
||||
|
||||
#: src/Module/Settings/Account.php:612
|
||||
#: src/Module/Settings/Account.php:613
|
||||
msgid "Send a notification email when:"
|
||||
msgstr "Benachrichtigungs-E-Mail senden, wenn:"
|
||||
|
||||
#: src/Module/Settings/Account.php:613
|
||||
#: src/Module/Settings/Account.php:614
|
||||
msgid "You receive an introduction"
|
||||
msgstr "– du eine Kontaktanfrage erhältst"
|
||||
|
||||
#: src/Module/Settings/Account.php:614
|
||||
#: src/Module/Settings/Account.php:615
|
||||
msgid "Your introductions are confirmed"
|
||||
msgstr "– eine Deiner Kontaktanfragen akzeptiert wurde"
|
||||
|
||||
#: src/Module/Settings/Account.php:615
|
||||
#: src/Module/Settings/Account.php:616
|
||||
msgid "Someone writes on your profile wall"
|
||||
msgstr "– jemand etwas auf Deine Pinnwand schreibt"
|
||||
|
||||
#: src/Module/Settings/Account.php:616
|
||||
#: src/Module/Settings/Account.php:617
|
||||
msgid "Someone writes a followup comment"
|
||||
msgstr "– jemand auch einen Kommentar verfasst"
|
||||
|
||||
#: src/Module/Settings/Account.php:617
|
||||
#: src/Module/Settings/Account.php:618
|
||||
msgid "You receive a private message"
|
||||
msgstr "– du eine private Nachricht erhältst"
|
||||
|
||||
#: src/Module/Settings/Account.php:618
|
||||
#: src/Module/Settings/Account.php:619
|
||||
msgid "You receive a friend suggestion"
|
||||
msgstr "– du eine Empfehlung erhältst"
|
||||
|
||||
#: src/Module/Settings/Account.php:619
|
||||
#: src/Module/Settings/Account.php:620
|
||||
msgid "You are tagged in a post"
|
||||
msgstr "– du in einem Beitrag erwähnt wirst"
|
||||
|
||||
#: src/Module/Settings/Account.php:620
|
||||
msgid "You are poked/prodded/etc. in a post"
|
||||
msgstr "– du von jemandem angestupst oder sonstwie behandelt wirst"
|
||||
|
||||
#: src/Module/Settings/Account.php:622
|
||||
msgid "Create a desktop notification when:"
|
||||
msgstr "Benachrichtigungen anzeigen wenn:"
|
||||
|
|
@ -9553,121 +9483,121 @@ msgstr "Das gewählte Theme ist nicht verfügbar"
|
|||
msgid "%s - (Unsupported)"
|
||||
msgstr "%s - (Nicht unterstützt)"
|
||||
|
||||
#: src/Module/Settings/Display.php:192
|
||||
#: src/Module/Settings/Display.php:200
|
||||
msgid "Display Settings"
|
||||
msgstr "Anzeige-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Display.php:194
|
||||
#: src/Module/Settings/Display.php:202
|
||||
msgid "General Theme Settings"
|
||||
msgstr "Allgemeine Theme-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Display.php:195
|
||||
#: src/Module/Settings/Display.php:203
|
||||
msgid "Custom Theme Settings"
|
||||
msgstr "Benutzerdefinierte Theme-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Display.php:196
|
||||
#: src/Module/Settings/Display.php:204
|
||||
msgid "Content Settings"
|
||||
msgstr "Einstellungen zum Inhalt"
|
||||
|
||||
#: src/Module/Settings/Display.php:197 view/theme/duepuntozero/config.php:70
|
||||
#: view/theme/frio/config.php:161 view/theme/quattro/config.php:72
|
||||
#: src/Module/Settings/Display.php:205 view/theme/duepuntozero/config.php:70
|
||||
#: view/theme/frio/config.php:172 view/theme/quattro/config.php:72
|
||||
#: view/theme/vier/config.php:120
|
||||
msgid "Theme settings"
|
||||
msgstr "Theme-Einstellungen"
|
||||
|
||||
#: src/Module/Settings/Display.php:198
|
||||
#: src/Module/Settings/Display.php:206
|
||||
msgid "Calendar"
|
||||
msgstr "Kalender"
|
||||
|
||||
#: src/Module/Settings/Display.php:204
|
||||
#: src/Module/Settings/Display.php:212
|
||||
msgid "Display Theme:"
|
||||
msgstr "Theme:"
|
||||
|
||||
#: src/Module/Settings/Display.php:205
|
||||
#: src/Module/Settings/Display.php:213
|
||||
msgid "Mobile Theme:"
|
||||
msgstr "Mobiles Theme"
|
||||
|
||||
#: src/Module/Settings/Display.php:208
|
||||
#: src/Module/Settings/Display.php:216
|
||||
msgid "Number of items to display per page:"
|
||||
msgstr "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: "
|
||||
|
||||
#: src/Module/Settings/Display.php:208 src/Module/Settings/Display.php:209
|
||||
#: src/Module/Settings/Display.php:216 src/Module/Settings/Display.php:217
|
||||
msgid "Maximum of 100 items"
|
||||
msgstr "Maximal 100 Beiträge"
|
||||
|
||||
#: src/Module/Settings/Display.php:209
|
||||
#: src/Module/Settings/Display.php:217
|
||||
msgid "Number of items to display per page when viewed from mobile device:"
|
||||
msgstr "Zahl der Beiträge, die pro Netzwerkseite auf mobilen Geräten angezeigt werden sollen:"
|
||||
|
||||
#: src/Module/Settings/Display.php:210
|
||||
#: src/Module/Settings/Display.php:218
|
||||
msgid "Update browser every xx seconds"
|
||||
msgstr "Browser alle xx Sekunden aktualisieren"
|
||||
|
||||
#: src/Module/Settings/Display.php:210
|
||||
#: src/Module/Settings/Display.php:218
|
||||
msgid "Minimum of 10 seconds. Enter -1 to disable it."
|
||||
msgstr "Minimum sind 10 Sekunden. Gib -1 ein, um abzuschalten."
|
||||
|
||||
#: src/Module/Settings/Display.php:211
|
||||
#: src/Module/Settings/Display.php:219
|
||||
msgid "Automatic updates only at the top of the post stream pages"
|
||||
msgstr "Automatische Updates nur, wenn du oben auf den Beitragsstream-Seiten bist."
|
||||
|
||||
#: src/Module/Settings/Display.php:211
|
||||
#: src/Module/Settings/Display.php:219
|
||||
msgid ""
|
||||
"Auto update may add new posts at the top of the post stream pages, which can"
|
||||
" affect the scroll position and perturb normal reading if it happens "
|
||||
"anywhere else the top of the page."
|
||||
msgstr "Das automatische Aktualisieren des Streams kann neue Beiträge am Anfang des Stream einfügen. Dies kann die angezeigte Position im Stream beeinflussen, wenn du gerade nicht den Anfang des Streams betrachtest."
|
||||
|
||||
#: src/Module/Settings/Display.php:212
|
||||
#: src/Module/Settings/Display.php:220
|
||||
msgid "Display emoticons"
|
||||
msgstr "Zeige Emoticons"
|
||||
|
||||
#: src/Module/Settings/Display.php:212
|
||||
#: src/Module/Settings/Display.php:220
|
||||
msgid "When enabled, emoticons are replaced with matching symbols."
|
||||
msgstr "Wenn dies aktiviert ist, werden Text-Emoticons in Beiträgen durch Symbole ersetzt."
|
||||
|
||||
#: src/Module/Settings/Display.php:213
|
||||
#: src/Module/Settings/Display.php:221
|
||||
msgid "Infinite scroll"
|
||||
msgstr "Endloses Scrollen"
|
||||
|
||||
#: src/Module/Settings/Display.php:213
|
||||
#: src/Module/Settings/Display.php:221
|
||||
msgid "Automatic fetch new items when reaching the page end."
|
||||
msgstr "Automatisch neue Beiträge laden, wenn das Ende der Seite erreicht ist."
|
||||
|
||||
#: src/Module/Settings/Display.php:214
|
||||
#: src/Module/Settings/Display.php:222
|
||||
msgid "Enable Smart Threading"
|
||||
msgstr "Intelligentes Threading aktivieren"
|
||||
|
||||
#: src/Module/Settings/Display.php:214
|
||||
#: src/Module/Settings/Display.php:222
|
||||
msgid "Enable the automatic suppression of extraneous thread indentation."
|
||||
msgstr "Schaltet das automatische Unterdrücken von überflüssigen Thread-Einrückungen ein."
|
||||
|
||||
#: src/Module/Settings/Display.php:215
|
||||
#: src/Module/Settings/Display.php:223
|
||||
msgid "Display the Dislike feature"
|
||||
msgstr "Das \"Nicht-mögen\" Feature anzeigen"
|
||||
|
||||
#: src/Module/Settings/Display.php:215
|
||||
#: src/Module/Settings/Display.php:223
|
||||
msgid ""
|
||||
"Display the Dislike button and dislike reactions on posts and comments."
|
||||
msgstr "Einen \"Ich mag das nicht\" Button und die dislike Reaktion auf Beiträge und Kommentare anzeigen."
|
||||
|
||||
#: src/Module/Settings/Display.php:216
|
||||
#: src/Module/Settings/Display.php:224
|
||||
msgid "Display the resharer"
|
||||
msgstr "Teilenden anzeigen"
|
||||
|
||||
#: src/Module/Settings/Display.php:216
|
||||
#: src/Module/Settings/Display.php:224
|
||||
msgid "Display the first resharer as icon and text on a reshared item."
|
||||
msgstr "Zeige das Profilbild des ersten Kontakts von dem ein Beitrag geteilt wurde."
|
||||
|
||||
#: src/Module/Settings/Display.php:217
|
||||
#: src/Module/Settings/Display.php:225
|
||||
msgid "Stay local"
|
||||
msgstr "Bleib lokal"
|
||||
|
||||
#: src/Module/Settings/Display.php:217
|
||||
#: src/Module/Settings/Display.php:225
|
||||
msgid "Don't go to a remote system when following a contact link."
|
||||
msgstr "Gehe nicht zu einem Remote-System, wenn einem Kontaktlink gefolgt wird"
|
||||
|
||||
#: src/Module/Settings/Display.php:219
|
||||
#: src/Module/Settings/Display.php:227
|
||||
msgid "Beginning of week:"
|
||||
msgstr "Wochenbeginn:"
|
||||
|
||||
|
|
@ -9723,8 +9653,8 @@ msgstr "Profilbild"
|
|||
msgid "Location"
|
||||
msgstr "Wohnort"
|
||||
|
||||
#: src/Module/Settings/Profile/Index.php:230 src/Util/Temporal.php:93
|
||||
#: src/Util/Temporal.php:95
|
||||
#: src/Module/Settings/Profile/Index.php:230 src/Util/Temporal.php:95
|
||||
#: src/Util/Temporal.php:97
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Verschiedenes"
|
||||
|
||||
|
|
@ -10594,206 +10524,190 @@ msgstr "%1$s hat in der Unterhaltung von %3$s kommentiert"
|
|||
msgid "%1$s commented on your thread %2$s"
|
||||
msgstr "%1$s hat in deiner Unterhaltung %2$s kommentiert"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:222
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:736
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:225
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:721
|
||||
msgid "[Friendica:Notify]"
|
||||
msgstr "[Friendica Meldung]"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:286
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:289
|
||||
#, php-format
|
||||
msgid "%s New mail received at %s"
|
||||
msgstr "%sNeue Nachricht auf %s empfangen"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:288
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:291
|
||||
#, php-format
|
||||
msgid "%1$s sent you a new private message at %2$s."
|
||||
msgstr "%1$s hat dir eine neue, private Nachricht auf %2$s geschickt."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:289
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:292
|
||||
msgid "a private message"
|
||||
msgstr "eine private Nachricht"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:289
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:292
|
||||
#, php-format
|
||||
msgid "%1$s sent you %2$s."
|
||||
msgstr "%1$s schickte dir %2$s."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:291
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:294
|
||||
#, php-format
|
||||
msgid "Please visit %s to view and/or reply to your private messages."
|
||||
msgstr "Bitte besuche %s, um Deine privaten Nachrichten anzusehen und/oder zu beantworten."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:321
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:324
|
||||
#, php-format
|
||||
msgid "%1$s commented on %2$s's %3$s %4$s"
|
||||
msgstr "%1$s kommentierte %2$s's %3$s%4$s"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:326
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:329
|
||||
#, php-format
|
||||
msgid "%1$s commented on your %2$s %3$s"
|
||||
msgstr "%1$s kommentierte auf (%2$s) %3$s"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:330
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:333
|
||||
#, php-format
|
||||
msgid "%1$s commented on their %2$s %3$s"
|
||||
msgstr "%1$s hat den eigenen %2$s %3$s kommentiert"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:334
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:770
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:337
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:755
|
||||
#, php-format
|
||||
msgid "%1$s Comment to conversation #%2$d by %3$s"
|
||||
msgstr "%1$sKommentar von %3$s auf Unterhaltung %2$d"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:336
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:339
|
||||
#, php-format
|
||||
msgid "%s commented on an item/conversation you have been following."
|
||||
msgstr "%s hat einen Beitrag kommentiert, dem du folgst."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:340
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:355
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:374
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:785
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:343
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:358
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:770
|
||||
#, php-format
|
||||
msgid "Please visit %s to view and/or reply to the conversation."
|
||||
msgstr "Bitte besuche %s, um die Konversation anzusehen und/oder zu kommentieren."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:347
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:350
|
||||
#, php-format
|
||||
msgid "%s %s posted to your profile wall"
|
||||
msgstr "%s%s hat auf deine Pinnwand gepostet"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:349
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:352
|
||||
#, php-format
|
||||
msgid "%1$s posted to your profile wall at %2$s"
|
||||
msgstr "%1$s schrieb um %2$s auf Deine Pinnwand"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:350
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:353
|
||||
#, php-format
|
||||
msgid "%1$s posted to [url=%2$s]your wall[/url]"
|
||||
msgstr "%1$s hat etwas auf [url=%2$s]Deiner Pinnwand[/url] gepostet"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:362
|
||||
#, php-format
|
||||
msgid "%1$s %2$s poked you"
|
||||
msgstr "%1$s%2$shat dich angestubst"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:364
|
||||
#, php-format
|
||||
msgid "%1$s poked you at %2$s"
|
||||
msgstr "%1$s hat dich auf %2$s angestupst"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:365
|
||||
#, php-format
|
||||
msgid "%1$s [url=%2$s]poked you[/url]."
|
||||
msgstr "%1$s [url=%2$s]hat dich angestupst[/url]."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:382
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:366
|
||||
#, php-format
|
||||
msgid "%s Introduction received"
|
||||
msgstr "%sVorstellung erhalten"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:384
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:368
|
||||
#, php-format
|
||||
msgid "You've received an introduction from '%1$s' at %2$s"
|
||||
msgstr "Du hast eine Kontaktanfrage von '%1$s' auf %2$s erhalten"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:385
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:369
|
||||
#, php-format
|
||||
msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
|
||||
msgstr "Du hast eine [url=%1$s]Kontaktanfrage[/url] von %2$s erhalten."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:390
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:436
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:374
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:420
|
||||
#, php-format
|
||||
msgid "You may visit their profile at %s"
|
||||
msgstr "Hier kannst du das Profil betrachten: %s"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:392
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:376
|
||||
#, php-format
|
||||
msgid "Please visit %s to approve or reject the introduction."
|
||||
msgstr "Bitte besuche %s, um die Kontaktanfrage anzunehmen oder abzulehnen."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:399
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:383
|
||||
#, php-format
|
||||
msgid "%s A new person is sharing with you"
|
||||
msgstr "%sEine neue Person teilt nun mit dir"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:401
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:402
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:385
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:386
|
||||
#, php-format
|
||||
msgid "%1$s is sharing with you at %2$s"
|
||||
msgstr "%1$s teilt mit dir auf %2$s"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:409
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:393
|
||||
#, php-format
|
||||
msgid "%s You have a new follower"
|
||||
msgstr "%sDu hast einen neuen Kontakt"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:411
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:412
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:395
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:396
|
||||
#, php-format
|
||||
msgid "You have a new follower at %2$s : %1$s"
|
||||
msgstr "Du hast einen neuen Kontakt auf %2$s: %1$s"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:425
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:409
|
||||
#, php-format
|
||||
msgid "%s Friend suggestion received"
|
||||
msgstr "%sKontaktvorschlag erhalten"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:427
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:411
|
||||
#, php-format
|
||||
msgid "You've received a friend suggestion from '%1$s' at %2$s"
|
||||
msgstr "Du hast einen Kontakt-Vorschlag von '%1$s' auf %2$s erhalten"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:428
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:412
|
||||
#, php-format
|
||||
msgid ""
|
||||
"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
|
||||
msgstr "Du hast einen [url=%1$s]Kontakt-Vorschlag[/url] %2$s von %3$s erhalten."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:434
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:418
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:435
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:419
|
||||
msgid "Photo:"
|
||||
msgstr "Foto:"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:438
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:422
|
||||
#, php-format
|
||||
msgid "Please visit %s to approve or reject the suggestion."
|
||||
msgstr "Bitte besuche %s, um den Vorschlag zu akzeptieren oder abzulehnen."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:446
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:461
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:430
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:445
|
||||
#, php-format
|
||||
msgid "%s Connection accepted"
|
||||
msgstr "%sKontaktanfrage bestätigt"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:448
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:463
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:432
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:447
|
||||
#, php-format
|
||||
msgid "'%1$s' has accepted your connection request at %2$s"
|
||||
msgstr "'%1$s' hat Deine Kontaktanfrage auf %2$s bestätigt"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:449
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:464
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:433
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:448
|
||||
#, php-format
|
||||
msgid "%2$s has accepted your [url=%1$s]connection request[/url]."
|
||||
msgstr "%2$s hat Deine [url=%1$s]Kontaktanfrage[/url] akzeptiert."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:454
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:438
|
||||
msgid ""
|
||||
"You are now mutual friends and may exchange status updates, photos, and "
|
||||
"email without restriction."
|
||||
msgstr "Ihr seid nun beidseitige Kontakte und könnt Statusmitteilungen, Bilder und E-Mails ohne Einschränkungen austauschen."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:456
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:440
|
||||
#, php-format
|
||||
msgid "Please visit %s if you wish to make any changes to this relationship."
|
||||
msgstr "Bitte besuche %s, wenn du Änderungen an eurer Beziehung vornehmen willst."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:469
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:453
|
||||
#, php-format
|
||||
msgid ""
|
||||
"'%1$s' has chosen to accept you a fan, which restricts some forms of "
|
||||
|
|
@ -10802,33 +10716,33 @@ msgid ""
|
|||
"automatically."
|
||||
msgstr "'%1$s' hat sich entschieden dich als Fan zu akzeptieren, dies schränkt einige Kommunikationswege - wie private Nachrichten und einige Interaktionsmöglichkeiten auf der Profilseite - ein. Wenn dies eine Berühmtheiten- oder Gemeinschaftsseite ist, werden diese Einstellungen automatisch vorgenommen."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:471
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:455
|
||||
#, php-format
|
||||
msgid ""
|
||||
"'%1$s' may choose to extend this into a two-way or more permissive "
|
||||
"relationship in the future."
|
||||
msgstr "'%1$s' kann den Kontaktstatus zu einem späteren Zeitpunkt erweitern und diese Einschränkungen aufheben. "
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:473
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:457
|
||||
#, php-format
|
||||
msgid "Please visit %s if you wish to make any changes to this relationship."
|
||||
msgstr "Bitte besuche %s, wenn du Änderungen an eurer Beziehung vornehmen willst."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:483
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:467
|
||||
msgid "registration request"
|
||||
msgstr "Registrierungsanfrage"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:485
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:469
|
||||
#, php-format
|
||||
msgid "You've received a registration request from '%1$s' at %2$s"
|
||||
msgstr "Du hast eine Registrierungsanfrage von %2$s auf '%1$s' erhalten"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:486
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:470
|
||||
#, php-format
|
||||
msgid "You've received a [url=%1$s]registration request[/url] from %2$s."
|
||||
msgstr "Du hast eine [url=%1$s]Registrierungsanfrage[/url] von %2$s erhalten."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:491
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:475
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Full Name:\t%s\n"
|
||||
|
|
@ -10836,17 +10750,17 @@ msgid ""
|
|||
"Login Name:\t%s (%s)"
|
||||
msgstr "Kompletter Name: %s\nURL der Seite: %s\nLogin Name: %s(%s)"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:497
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:481
|
||||
#, php-format
|
||||
msgid "Please visit %s to approve or reject the request."
|
||||
msgstr "Bitte besuche %s, um die Anfrage zu bearbeiten."
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:764
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:749
|
||||
#, php-format
|
||||
msgid "%s %s tagged you"
|
||||
msgstr "%s %s hat dich erwähnt"
|
||||
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:767
|
||||
#: src/Navigation/Notifications/Repository/Notify.php:752
|
||||
#, php-format
|
||||
msgid "%s %s shared a new post"
|
||||
msgstr "%s%shat einen Beitrag geteilt"
|
||||
|
|
@ -11076,28 +10990,28 @@ msgstr "Zeige mehr"
|
|||
msgid "Show fewer"
|
||||
msgstr "Zeige weniger"
|
||||
|
||||
#: src/Protocol/OStatus.php:1475
|
||||
#: src/Protocol/OStatus.php:1471
|
||||
#, php-format
|
||||
msgid "%s is now following %s."
|
||||
msgstr "%s folgt nun %s"
|
||||
|
||||
#: src/Protocol/OStatus.php:1476
|
||||
#: src/Protocol/OStatus.php:1472
|
||||
msgid "following"
|
||||
msgstr "folgen"
|
||||
|
||||
#: src/Protocol/OStatus.php:1479
|
||||
#: src/Protocol/OStatus.php:1475
|
||||
#, php-format
|
||||
msgid "%s stopped following %s."
|
||||
msgstr "%s hat aufgehört %s, zu folgen"
|
||||
|
||||
#: src/Protocol/OStatus.php:1480
|
||||
#: src/Protocol/OStatus.php:1476
|
||||
msgid "stopped following"
|
||||
msgstr "wird nicht mehr gefolgt"
|
||||
|
||||
#: src/Render/FriendicaSmartyEngine.php:53
|
||||
#: src/Render/FriendicaSmartyEngine.php:56
|
||||
#, php-format
|
||||
msgid "The folder %s must be writable by webserver."
|
||||
msgstr ""
|
||||
msgstr "Das Verzeichnis %s muss für den Web-Server beschreibbar sein."
|
||||
|
||||
#: src/Security/Authentication.php:226
|
||||
msgid "Login failed."
|
||||
|
|
@ -11139,86 +11053,86 @@ msgstr "der Administrator von %s"
|
|||
msgid "thanks"
|
||||
msgstr "danke"
|
||||
|
||||
#: src/Util/Temporal.php:167
|
||||
#: src/Util/Temporal.php:170
|
||||
msgid "YYYY-MM-DD or MM-DD"
|
||||
msgstr "YYYY-MM-DD oder MM-DD"
|
||||
|
||||
#: src/Util/Temporal.php:275
|
||||
#: src/Util/Temporal.php:278
|
||||
#, php-format
|
||||
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:318
|
||||
#: src/Util/Temporal.php:321
|
||||
msgid "never"
|
||||
msgstr "nie"
|
||||
|
||||
#: src/Util/Temporal.php:325
|
||||
#: src/Util/Temporal.php:328
|
||||
msgid "less than a second ago"
|
||||
msgstr "vor weniger als einer Sekunde"
|
||||
|
||||
#: src/Util/Temporal.php:333
|
||||
#: src/Util/Temporal.php:337
|
||||
msgid "year"
|
||||
msgstr "Jahr"
|
||||
|
||||
#: src/Util/Temporal.php:333
|
||||
#: src/Util/Temporal.php:337
|
||||
msgid "years"
|
||||
msgstr "Jahre"
|
||||
|
||||
#: src/Util/Temporal.php:334
|
||||
#: src/Util/Temporal.php:338
|
||||
msgid "months"
|
||||
msgstr "Monate"
|
||||
|
||||
#: src/Util/Temporal.php:335
|
||||
#: src/Util/Temporal.php:339
|
||||
msgid "weeks"
|
||||
msgstr "Wochen"
|
||||
|
||||
#: src/Util/Temporal.php:336
|
||||
#: src/Util/Temporal.php:340
|
||||
msgid "days"
|
||||
msgstr "Tage"
|
||||
|
||||
#: src/Util/Temporal.php:337
|
||||
#: src/Util/Temporal.php:341
|
||||
msgid "hour"
|
||||
msgstr "Stunde"
|
||||
|
||||
#: src/Util/Temporal.php:337
|
||||
#: src/Util/Temporal.php:341
|
||||
msgid "hours"
|
||||
msgstr "Stunden"
|
||||
|
||||
#: src/Util/Temporal.php:338
|
||||
#: src/Util/Temporal.php:342
|
||||
msgid "minute"
|
||||
msgstr "Minute"
|
||||
|
||||
#: src/Util/Temporal.php:338
|
||||
#: src/Util/Temporal.php:342
|
||||
msgid "minutes"
|
||||
msgstr "Minuten"
|
||||
|
||||
#: src/Util/Temporal.php:339
|
||||
#: src/Util/Temporal.php:343
|
||||
msgid "second"
|
||||
msgstr "Sekunde"
|
||||
|
||||
#: src/Util/Temporal.php:339
|
||||
#: src/Util/Temporal.php:343
|
||||
msgid "seconds"
|
||||
msgstr "Sekunden"
|
||||
|
||||
#: src/Util/Temporal.php:349
|
||||
#: src/Util/Temporal.php:353
|
||||
#, php-format
|
||||
msgid "in %1$d %2$s"
|
||||
msgstr "in %1$d %2$s"
|
||||
|
||||
#: src/Util/Temporal.php:352
|
||||
#: src/Util/Temporal.php:356
|
||||
#, php-format
|
||||
msgid "%1$d %2$s ago"
|
||||
msgstr "%1$d %2$s her"
|
||||
|
||||
#: src/Worker/Delivery.php:525
|
||||
#: src/Worker/Delivery.php:524
|
||||
msgid "(no subject)"
|
||||
msgstr "(kein Betreff)"
|
||||
|
||||
#: src/Worker/PushSubscription.php:111
|
||||
#: src/Worker/PushSubscription.php:110
|
||||
msgid "Notification from Friendica"
|
||||
msgstr "Benachrichtigung von Friendica"
|
||||
|
||||
#: src/Worker/PushSubscription.php:112
|
||||
#: src/Worker/PushSubscription.php:111
|
||||
msgid "Empty Post"
|
||||
msgstr "Leerer Beitrag"
|
||||
|
||||
|
|
@ -11254,113 +11168,124 @@ msgstr "slackr"
|
|||
msgid "Variations"
|
||||
msgstr "Variationen"
|
||||
|
||||
#: view/theme/frio/config.php:142
|
||||
#: view/theme/frio/config.php:153
|
||||
msgid "Light (Accented)"
|
||||
msgstr "Hell (Akzentuiert)"
|
||||
|
||||
#: view/theme/frio/config.php:143
|
||||
#: view/theme/frio/config.php:154
|
||||
msgid "Dark (Accented)"
|
||||
msgstr "Dunkel (Akzentuiert)"
|
||||
|
||||
#: view/theme/frio/config.php:144
|
||||
#: view/theme/frio/config.php:155
|
||||
msgid "Black (Accented)"
|
||||
msgstr "Schwarz (Akzentuiert)"
|
||||
|
||||
#: view/theme/frio/config.php:156
|
||||
#: view/theme/frio/config.php:167
|
||||
msgid "Note"
|
||||
msgstr "Hinweis"
|
||||
|
||||
#: view/theme/frio/config.php:156
|
||||
#: view/theme/frio/config.php:167
|
||||
msgid "Check image permissions if all users are allowed to see the image"
|
||||
msgstr "Überprüfe, dass alle Benutzer die Berechtigung haben dieses Bild anzusehen"
|
||||
|
||||
#: view/theme/frio/config.php:162
|
||||
#: view/theme/frio/config.php:173
|
||||
msgid "Custom"
|
||||
msgstr "Benutzerdefiniert"
|
||||
|
||||
#: view/theme/frio/config.php:163
|
||||
#: view/theme/frio/config.php:174
|
||||
msgid "Legacy"
|
||||
msgstr "Vermächtnis"
|
||||
|
||||
#: view/theme/frio/config.php:164
|
||||
#: view/theme/frio/config.php:175
|
||||
msgid "Accented"
|
||||
msgstr "Akzentuiert"
|
||||
|
||||
#: view/theme/frio/config.php:165
|
||||
#: view/theme/frio/config.php:176
|
||||
msgid "Select color scheme"
|
||||
msgstr "Farbschema auswählen"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Select scheme accent"
|
||||
msgstr "Wähle einen Akzent für das Thema"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Blue"
|
||||
msgstr "Blau"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Red"
|
||||
msgstr "Rot"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Purple"
|
||||
msgstr "Violett"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Green"
|
||||
msgstr "Grün"
|
||||
|
||||
#: view/theme/frio/config.php:166
|
||||
#: view/theme/frio/config.php:177
|
||||
msgid "Pink"
|
||||
msgstr "Rosa"
|
||||
|
||||
#: view/theme/frio/config.php:167
|
||||
#: view/theme/frio/config.php:178
|
||||
msgid "Copy or paste schemestring"
|
||||
msgstr "Farbschema kopieren oder einfügen"
|
||||
|
||||
#: view/theme/frio/config.php:167
|
||||
#: view/theme/frio/config.php:178
|
||||
msgid ""
|
||||
"You can copy this string to share your theme with others. Pasting here "
|
||||
"applies the schemestring"
|
||||
msgstr "Du kannst den String mit den Farbschema Informationen mit anderen Teilen. Wenn du einen neuen Farbschema-String hier einfügst wird er für deine Einstellungen übernommen."
|
||||
|
||||
#: view/theme/frio/config.php:168
|
||||
#: view/theme/frio/config.php:179
|
||||
msgid "Navigation bar background color"
|
||||
msgstr "Hintergrundfarbe der Navigationsleiste"
|
||||
|
||||
#: view/theme/frio/config.php:169
|
||||
#: view/theme/frio/config.php:180
|
||||
msgid "Navigation bar icon color "
|
||||
msgstr "Icon Farbe in der Navigationsleiste"
|
||||
|
||||
#: view/theme/frio/config.php:170
|
||||
#: view/theme/frio/config.php:181
|
||||
msgid "Link color"
|
||||
msgstr "Linkfarbe"
|
||||
|
||||
#: view/theme/frio/config.php:171
|
||||
#: view/theme/frio/config.php:182
|
||||
msgid "Set the background color"
|
||||
msgstr "Hintergrundfarbe festlegen"
|
||||
|
||||
#: view/theme/frio/config.php:172
|
||||
#: view/theme/frio/config.php:183
|
||||
msgid "Content background opacity"
|
||||
msgstr "Opazität des Hintergrunds von Beiträgen"
|
||||
|
||||
#: view/theme/frio/config.php:173
|
||||
#: view/theme/frio/config.php:184
|
||||
msgid "Set the background image"
|
||||
msgstr "Hintergrundbild festlegen"
|
||||
|
||||
#: view/theme/frio/config.php:174
|
||||
#: view/theme/frio/config.php:185
|
||||
msgid "Background image style"
|
||||
msgstr "Stil des Hintergrundbildes"
|
||||
|
||||
#: view/theme/frio/config.php:179
|
||||
#: view/theme/frio/config.php:188
|
||||
msgid "Always open Compose page"
|
||||
msgstr "Immer die Composer Seite öffnen"
|
||||
|
||||
#: view/theme/frio/config.php:188
|
||||
msgid ""
|
||||
"The New Post button always open the <a href=\"/compose\">Compose page</a> "
|
||||
"instead of the modal form. When this is disabled, the Compose page can be "
|
||||
"accessed with a middle click on the link or from the modal."
|
||||
msgstr "Neue Beiträge werden immer in der <a href=\"/compose\">Composer Seite</a> anstelle des Dialoges bearbeitet. Ist diese Option deaktiviert, kann die Composer Seite durch einen Klick mit der mittleren Maustaste geöffnet werden."
|
||||
|
||||
#: view/theme/frio/config.php:192
|
||||
msgid "Login page background image"
|
||||
msgstr "Hintergrundbild der Login-Seite"
|
||||
|
||||
#: view/theme/frio/config.php:183
|
||||
#: view/theme/frio/config.php:196
|
||||
msgid "Login page background color"
|
||||
msgstr "Hintergrundfarbe der Login-Seite"
|
||||
|
||||
#: view/theme/frio/config.php:183
|
||||
#: view/theme/frio/config.php:196
|
||||
msgid "Leave background image and color empty for theme defaults"
|
||||
msgstr "Wenn die Theme-Vorgaben verwendet werden sollen, lass bitte die Felder für die Hintergrundfarbe und das Hintergrundbild leer."
|
||||
|
||||
|
|
@ -11408,11 +11333,11 @@ msgstr "Zum Inhalt der Seite gehen"
|
|||
msgid "Back to top"
|
||||
msgstr "Zurück nach Oben"
|
||||
|
||||
#: view/theme/frio/theme.php:212
|
||||
#: view/theme/frio/theme.php:218
|
||||
msgid "Guest"
|
||||
msgstr "Gast"
|
||||
|
||||
#: view/theme/frio/theme.php:215
|
||||
#: view/theme/frio/theme.php:221
|
||||
msgid "Visitor"
|
||||
msgstr "Besucher"
|
||||
|
||||
|
|
|
|||
|
|
@ -521,12 +521,17 @@ $a->strings['You subscribed to one or more tags in this post.'] = 'Du folgst ein
|
|||
$a->strings['Reshared'] = 'Geteilt';
|
||||
$a->strings['Reshared by %s <%s>'] = 'Geteilt von %s <%s>';
|
||||
$a->strings['%s is participating in this thread.'] = '%s ist an der Unterhaltung beteiligt.';
|
||||
$a->strings['Stored for general reasons'] = 'Aus allgemeinen Gründen aufbewahrt';
|
||||
$a->strings['Global post'] = 'Globaler Beitrag';
|
||||
$a->strings['Sent via an relay server'] = 'Über einen Relay-Server gesendet';
|
||||
$a->strings['Sent via the relay server %s <%s>'] = 'Über den Relay-Server %s <%s> gesendet';
|
||||
$a->strings['Fetched'] = 'Abgerufen';
|
||||
$a->strings['Fetched because of %s <%s>'] = 'Wegen %s <%s> abgerufen';
|
||||
$a->strings['Stored because of a child post to complete this thread.'] = 'Gespeichert wegen eines untergeordneten Beitrags zur Vervollständigung dieses Themas.';
|
||||
$a->strings['Local delivery'] = 'Lokale Zustellung';
|
||||
$a->strings['Stored because of your activity (like, comment, star, ...)'] = 'Gespeichert aufgrund Ihrer Aktivität (Like, Kommentar, Stern, ...)';
|
||||
$a->strings['Distributed'] = 'Verteilt';
|
||||
$a->strings['Pushed to us'] = 'Zu uns gepusht';
|
||||
$a->strings['General Features'] = 'Allgemeine Features';
|
||||
$a->strings['Photo Location'] = 'Aufnahmeort';
|
||||
$a->strings['Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map.'] = 'Die Foto-Metadaten werden ausgelesen. Dadurch kann der Aufnahmeort (wenn vorhanden) in einer Karte angezeigt werden.';
|
||||
|
|
@ -553,7 +558,6 @@ $a->strings['Forums'] = 'Foren';
|
|||
$a->strings['External link to forum'] = 'Externer Link zum Forum';
|
||||
$a->strings['show less'] = 'weniger anzeigen';
|
||||
$a->strings['show more'] = 'mehr anzeigen';
|
||||
$a->strings['%1$s poked %2$s'] = '%1$s stupste %2$s';
|
||||
$a->strings['event'] = 'Veranstaltung';
|
||||
$a->strings['Follow Thread'] = 'Folge der Unterhaltung';
|
||||
$a->strings['View Status'] = 'Status anschauen';
|
||||
|
|
@ -565,7 +569,6 @@ $a->strings['Send PM'] = 'Private Nachricht senden';
|
|||
$a->strings['Block'] = 'Sperren';
|
||||
$a->strings['Ignore'] = 'Ignorieren';
|
||||
$a->strings['Languages'] = 'Sprachen';
|
||||
$a->strings['Poke'] = 'Anstupsen';
|
||||
$a->strings['Nothing new here'] = 'Keine Neuigkeiten';
|
||||
$a->strings['Go back'] = 'Geh zurück';
|
||||
$a->strings['Clear notifications'] = 'Bereinige Benachrichtigungen';
|
||||
|
|
@ -812,18 +815,6 @@ $a->strings['Sep'] = 'Sep';
|
|||
$a->strings['Oct'] = 'Okt';
|
||||
$a->strings['Nov'] = 'Nov';
|
||||
$a->strings['Dec'] = 'Dez';
|
||||
$a->strings['poke'] = 'anstupsen';
|
||||
$a->strings['poked'] = 'stupste';
|
||||
$a->strings['ping'] = 'anpingen';
|
||||
$a->strings['pinged'] = 'pingte';
|
||||
$a->strings['prod'] = 'knuffen';
|
||||
$a->strings['prodded'] = 'knuffte';
|
||||
$a->strings['slap'] = 'ohrfeigen';
|
||||
$a->strings['slapped'] = 'ohrfeigte';
|
||||
$a->strings['finger'] = 'befummeln';
|
||||
$a->strings['fingered'] = 'befummelte';
|
||||
$a->strings['rebuff'] = 'eine Abfuhr erteilen';
|
||||
$a->strings['rebuffed'] = 'abfuhrerteilte';
|
||||
$a->strings['Friendica can\'t display this page at the moment, please contact the administrator.'] = 'Friendica kann die Seite im Moment nicht darstellen. Bitte kontaktiere das Administratoren Team.';
|
||||
$a->strings['template engine cannot be registered without a name.'] = 'Die Template Engine kann nicht ohne einen Namen registriert werden.';
|
||||
$a->strings['template engine is not registered!'] = 'Template Engine wurde nicht registriert!';
|
||||
|
|
@ -1247,6 +1238,29 @@ $a->strings['Also purges all the locally stored content authored by the known co
|
|||
];
|
||||
$a->strings['Block reason'] = 'Begründung der Blockierung';
|
||||
$a->strings['The reason why you blocked this server domain pattern. This reason will be shown publicly in the server information page.'] = 'Warum werden Server die diesem Domainmuster entsprechen geblockt? Die Begründung wird öffentlich auf der Server-Informationsseite sichtbar sein.';
|
||||
$a->strings['Error importing pattern file'] = 'Fehler beim Import der Muster Datei';
|
||||
$a->strings['Local blocklist replaced with the provided file.'] = 'Lokale Blockliste wurde durch die bereitgestellte Datei ersetzt.';
|
||||
$a->strings['%d pattern was added to the local blocklist.'] = [
|
||||
0 => '%d Muster wurde zur lokalen Blockliste hinzugefügt.',
|
||||
1 => '%d Muster wurden zur lokalen Blockliste hinzugefügt.',
|
||||
];
|
||||
$a->strings['No pattern was added to the local blocklist.'] = 'Kein Muster wurde zur lokalen Blockliste hinzugefügt.';
|
||||
$a->strings['Import a Server Domain Pattern Blocklist'] = 'Server Domain Muster Blockliste importieren';
|
||||
$a->strings['<p>This file can be downloaded from the <code>/friendica</code> path of any Friendica server.</p>'] = '<p>Diese Datei kann vom <code>/friendica</code> Pfad auf jedem Friendica Server heruntergeladen werden.</p>';
|
||||
$a->strings['Upload file'] = 'Datei hochladen';
|
||||
$a->strings['Patterns to import'] = 'Zu importierende Muster';
|
||||
$a->strings['Domain Pattern'] = 'Domain Muster';
|
||||
$a->strings['Import Mode'] = 'Importmodus';
|
||||
$a->strings['Import Patterns'] = 'Muster importieren';
|
||||
$a->strings['%d total pattern'] = [
|
||||
0 => '%dMuster gesamt',
|
||||
1 => '%dMuster gesamt',
|
||||
];
|
||||
$a->strings['Server domain pattern blocklist CSV file'] = 'Server Domain Muster Blockliste CSV-Datei';
|
||||
$a->strings['Append'] = 'Anhängen';
|
||||
$a->strings['Imports patterns from the file that weren\'t already existing in the current blocklist.'] = 'Importiert Muster aus der Datei, die nicht bereits in der aktuellen Blockliste vorhanden waren.';
|
||||
$a->strings['Replace'] = 'Ersetzen';
|
||||
$a->strings['Replaces the current blocklist by the imported patterns.'] = 'Ersetzt die aktuelle Blockliste durch die importierten Muster.';
|
||||
$a->strings['Blocked server domain pattern'] = 'Blockierte Server Domain Muster';
|
||||
$a->strings['Reason for the block'] = 'Begründung für die Blockierung';
|
||||
$a->strings['Delete server domain pattern'] = 'Server Domain Muster löschen';
|
||||
|
|
@ -1254,6 +1268,7 @@ $a->strings['Check to delete this entry from the blocklist'] = 'Markieren, um di
|
|||
$a->strings['Server Domain Pattern Blocklist'] = 'Server Domain Muster Blockliste';
|
||||
$a->strings['This page can be used to define a blocklist of server domain patterns from the federated network that are not allowed to interact with your node. For each domain pattern you should also provide the reason why you block it.'] = 'Auf dieser Seite kannst du Muster definieren mit denen Server Domains aus dem föderierten Netzwerk daran gehindert werden mit deiner Instanz zu interagieren. Es ist ratsam für jedes Muster anzugeben, warum du es zur Blockliste hinzugefügt hast.';
|
||||
$a->strings['The list of blocked server domain patterns will be made publically available on the <a href="/friendica">/friendica</a> page so that your users and people investigating communication problems can find the reason easily.'] = 'Die Liste der blockierten Domain Muster wird auf der Seite <a href="/friendica">/friendica</a> öffentlich einsehbar gemacht, damit deine Nutzer und Personen, die Kommunikationsprobleme erkunden, die Ursachen einfach finden können.';
|
||||
$a->strings['Import server domain pattern blocklist'] = 'Server Domain Muster Blockliste importieren';
|
||||
$a->strings['Add new entry to the blocklist'] = 'Neuen Eintrag in die Blockliste';
|
||||
$a->strings['Save changes to the blocklist'] = 'Änderungen der Blockliste speichern';
|
||||
$a->strings['Current Entries in the Blocklist'] = 'Aktuelle Einträge der Blockliste';
|
||||
|
|
@ -1276,8 +1291,40 @@ $a->strings['Lock feature %s'] = 'Feature festlegen: %s';
|
|||
$a->strings['Manage Additional Features'] = 'Zusätzliche Features Verwalten';
|
||||
$a->strings['Other'] = 'Andere';
|
||||
$a->strings['unknown'] = 'Unbekannt';
|
||||
$a->strings['%2$s total system'] = [
|
||||
0 => '%2$sServer gesamt',
|
||||
1 => '%2$s Server gesamt',
|
||||
];
|
||||
$a->strings['%2$s active user last month'] = [
|
||||
0 => '%2$s aktiver Nutzer im letzten Monat',
|
||||
1 => '%2$s aktive Nutzer im letzten Monat',
|
||||
];
|
||||
$a->strings['%2$s active user last six months'] = [
|
||||
0 => '%2$s aktive Nutzer im letzten halben Jahr',
|
||||
1 => '%2$s aktive Nutzer im letzten halben Jahr',
|
||||
];
|
||||
$a->strings['%2$s registered user'] = [
|
||||
0 => '%2$sregistrierter Nutzer',
|
||||
1 => '%2$s registrierte Nutzer',
|
||||
];
|
||||
$a->strings['%2$s locally created post or comment'] = [
|
||||
0 => '%2$slokal erstellter Beitrag oder Kommentar',
|
||||
1 => '%2$slokal erstellte Beiträge und Kommentare',
|
||||
];
|
||||
$a->strings['%2$s post per user'] = [
|
||||
0 => '%2$sBeitrag pro Nutzer',
|
||||
1 => '%2$sBeiträge pro Nutzer',
|
||||
];
|
||||
$a->strings['%2$s user per system'] = [
|
||||
0 => '%2$sNutzer pro System',
|
||||
1 => '%2$sNutzer pro System',
|
||||
];
|
||||
$a->strings['This page offers you some numbers to the known part of the federated social network your Friendica node is part of. These numbers are not complete but only reflect the part of the network your node is aware of.'] = 'Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt.';
|
||||
$a->strings['Federation Statistics'] = 'Föderation Statistik';
|
||||
$a->strings['Currently this node is aware of %2$s node (%3$s active users last month, %4$s active users last six months, %5$s registered users in total) from the following platforms:'] = [
|
||||
0 => 'Derzeit kennt dieser Knoten %2$s andere Knoten (mit %3$s aktiven Nutzern im letzten Monat, %4$s aktiven Nutzern im letzten halben Jahr, %5$s registrierten Nutzern insgesamt) von den folgenden Plattformen:',
|
||||
1 => 'Derzeit kennt dieser Knoten %2$s andere Knoten (mit %3$s aktiven Nutzern im letzten Monat, %4$s aktiven Nutzern im letzten halben Jahr, %5$s registrierten Nutzern insgesamt) von den folgenden Plattformen:',
|
||||
];
|
||||
$a->strings['Item marked for deletion.'] = 'Eintrag wurden zur Löschung markiert';
|
||||
$a->strings['Delete Item'] = 'Eintrag löschen';
|
||||
$a->strings['Delete this Item'] = 'Diesen Eintrag löschen';
|
||||
|
|
@ -1509,6 +1556,8 @@ $a->strings['Temp path'] = 'Temp-Pfad';
|
|||
$a->strings['If you have a restricted system where the webserver can\'t access the system temp path, enter another path here.'] = 'Solltest du ein eingeschränktes System haben, auf dem der Webserver nicht auf das temp-Verzeichnis des Systems zugreifen kann, setze hier einen anderen Pfad.';
|
||||
$a->strings['Only search in tags'] = 'Nur in Tags suchen';
|
||||
$a->strings['On large systems the text search can slow down the system extremely.'] = 'Auf großen Knoten kann die Volltext-Suche das System ausbremsen.';
|
||||
$a->strings['Generate counts per contact group when calculating network count'] = 'Erstelle Zählungen je Kontaktgruppe bei der Berechnung der Netzwerkanzahl';
|
||||
$a->strings['On systems with users that heavily use contact groups the query can be very expensive.'] = 'Auf Systemen mit Benutzern, die häufig Kontaktgruppen verwenden, kann die Abfrage sehr aufwändig sein.';
|
||||
$a->strings['Maximum number of parallel workers'] = 'Maximale Anzahl parallel laufender Worker';
|
||||
$a->strings['On shared hosters set this to %d. On larger systems, values of %d are great. Default value is %d.'] = 'Wenn dein Knoten bei einem Shared Hoster ist, setze diesen Wert auf %d. Auf größeren Systemen funktioniert ein Wert von %d recht gut. Standardeinstellung sind %d.';
|
||||
$a->strings['Enable fastlane'] = 'Aktiviere Fastlane';
|
||||
|
|
@ -1680,6 +1729,10 @@ $a->strings['Weekly posting limit of %d post reached. The post was rejected.'] =
|
|||
0 => 'Das wöchentliche Limit von %d Beitrag wurde erreicht. Die Nachricht wurde verworfen.',
|
||||
1 => 'Das wöchentliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen.',
|
||||
];
|
||||
$a->strings['Monthly posting limit of %d post reached. The post was rejected.'] = [
|
||||
0 => 'Das monatliche Limit von %d Beitrag wurde erreicht. Der Beitrag wurde verworfen.',
|
||||
1 => 'Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen.',
|
||||
];
|
||||
$a->strings['Profile Details'] = 'Profildetails';
|
||||
$a->strings['Only You Can See This'] = 'Nur du kannst das sehen';
|
||||
$a->strings['Scheduled Posts'] = 'Geplante Beiträge';
|
||||
|
|
@ -1757,12 +1810,6 @@ $a->strings['Contact (%s)'] = [
|
|||
0 => 'Kontakt (%s)',
|
||||
1 => 'Kontakte (%s)',
|
||||
];
|
||||
$a->strings['Error while sending poke, please retry.'] = 'Beim Versenden des Stupsers ist ein Fehler aufgetreten. Bitte erneut versuchen.';
|
||||
$a->strings['You must be logged in to use this module.'] = 'Du musst eingeloggt sein, um dieses Modul benutzen zu können.';
|
||||
$a->strings['Poke/Prod'] = 'Anstupsen';
|
||||
$a->strings['poke, prod or do other things to somebody'] = 'Stupse Leute an oder mache anderes mit ihnen';
|
||||
$a->strings['Choose what you wish to do to recipient'] = 'Was willst du mit dem Empfänger machen:';
|
||||
$a->strings['Make this post private'] = 'Diesen Beitrag privat machen';
|
||||
$a->strings['Failed to update contact record.'] = 'Aktualisierung der Kontaktdaten fehlgeschlagen.';
|
||||
$a->strings['Contact has been unblocked'] = 'Kontakt wurde wieder freigegeben';
|
||||
$a->strings['Contact has been blocked'] = 'Kontakt wurde blockiert';
|
||||
|
|
@ -1822,6 +1869,7 @@ $a->strings['Contact is being deleted.'] = 'Kontakt wurde gelöscht.';
|
|||
$a->strings['Follow was successfully revoked.'] = 'Folgen wurde erfolgreich widerrufen.';
|
||||
$a->strings['Do you really want to revoke this contact\'s follow? This cannot be undone and they will have to manually follow you back again.'] = 'Willst du das Folgen dieses Kontakt wirklich widerrufen? Dies kann nicht rückgängig gemacht werden und der Kontakt muss Ihnen manuell wieder folgen.';
|
||||
$a->strings['Yes'] = 'Ja';
|
||||
$a->strings['This community stream shows all public posts received by this node. They may not reflect the opinions of this node’s users.'] = 'Diese Gemeinschaftsseite zeigt alle öffentlichen Beiträge, die auf diesem Knoten eingegangen sind. Der Inhalt entspricht nicht zwingend der Meinung der Nutzer dieses Servers.';
|
||||
$a->strings['Local Community'] = 'Lokale Gemeinschaft';
|
||||
$a->strings['Posts from local users on this server'] = 'Beiträge von Nutzern dieses Servers';
|
||||
$a->strings['Global Community'] = 'Globale Gemeinschaft';
|
||||
|
|
@ -1830,7 +1878,6 @@ $a->strings['Own Contacts'] = 'Eigene Kontakte';
|
|||
$a->strings['Include'] = 'Einschließen';
|
||||
$a->strings['Hide'] = 'Verbergen';
|
||||
$a->strings['No results.'] = 'Keine Ergebnisse.';
|
||||
$a->strings['This community stream shows all public posts received by this node. They may not reflect the opinions of this node’s users.'] = 'Diese Gemeinschaftsseite zeigt alle öffentlichen Beiträge, die auf diesem Knoten eingegangen sind. Der Inhalt entspricht nicht zwingend der Meinung der Nutzer dieses Servers.';
|
||||
$a->strings['Community option not available.'] = 'Optionen für die Gemeinschaftsseite nicht verfügbar.';
|
||||
$a->strings['Not available.'] = 'Nicht verfügbar.';
|
||||
$a->strings['No such group'] = 'Es gibt keine solche Gruppe';
|
||||
|
|
@ -1919,8 +1966,8 @@ $a->strings['No entries (some entries may be hidden).'] = 'Keine Einträge (eini
|
|||
$a->strings['Find on this site'] = 'Auf diesem Server suchen';
|
||||
$a->strings['Results for:'] = 'Ergebnisse für:';
|
||||
$a->strings['Site Directory'] = 'Verzeichnis';
|
||||
$a->strings['Item was not removed'] = 'Item wurde nicht entfernt';
|
||||
$a->strings['Item was not deleted'] = 'Item wurde nicht gelöscht';
|
||||
$a->strings['Item was not removed'] = 'Item wurde nicht entfernt';
|
||||
$a->strings['- select -'] = '- auswählen -';
|
||||
$a->strings['Suggested contact not found.'] = 'Vorgeschlagener Kontakt wurde nicht gefunden.';
|
||||
$a->strings['Friend suggestion sent.'] = 'Kontaktvorschlag gesendet.';
|
||||
|
|
@ -1930,6 +1977,7 @@ $a->strings['Installed addons/apps:'] = 'Installierte Apps und Addons';
|
|||
$a->strings['No installed addons/apps'] = 'Es sind keine Addons oder Apps installiert';
|
||||
$a->strings['Read about the <a href="%1$s/tos">Terms of Service</a> of this node.'] = 'Erfahre mehr über die <a href="%1$s/tos">Nutzungsbedingungen</a> dieses Knotens.';
|
||||
$a->strings['On this server the following remote servers are blocked.'] = 'Auf diesem Server werden die folgenden, entfernten Server blockiert.';
|
||||
$a->strings['Download this list in CSV format'] = 'Liste im CSV-Format herunterladen';
|
||||
$a->strings['This is Friendica, version %s that is running at the web location %s. The database version is %s, the post update version is %s.'] = 'Diese Friendica-Instanz verwendet die Version %s, sie ist unter der folgenden Adresse im Web zu finden %s. Die Datenbankversion ist %s und die Post-Update-Version %s.';
|
||||
$a->strings['Please visit <a href="https://friendi.ca">Friendi.ca</a> to learn more about the Friendica project.'] = 'Bitte besuche <a href="https://friendi.ca">Friendi.ca</a>, um mehr über das Friendica-Projekt zu erfahren.';
|
||||
$a->strings['Bug reports and issues: please visit'] = 'Probleme oder Fehler gefunden? Bitte besuche';
|
||||
|
|
@ -2022,6 +2070,7 @@ $a->strings['Visibility'] = 'Sichtbarkeit';
|
|||
$a->strings['Clear the location'] = 'Ort löschen';
|
||||
$a->strings['Location services are unavailable on your device'] = 'Ortungsdienste sind auf Ihrem Gerät nicht verfügbar';
|
||||
$a->strings['Location services are disabled. Please check the website\'s permissions on your device'] = 'Ortungsdienste sind deaktiviert. Bitte überprüfe die Berechtigungen der Website auf deinem Gerät';
|
||||
$a->strings['You can make this page always open when you use the New Post button in the <a href="/settings/display">Theme Customization settings</a>.'] = 'Wenn du magst, kannst du unter den <a href="/settings/display">Benutzerdefinierte Theme-Einstellungen</a> einstellen, dass diese Seite immer geöffnet wird, wenn du den "Neuer Beitrag" Button verwendest.';
|
||||
$a->strings['Unable to follow this item.'] = 'Konnte dem Beitrag nicht folgen.';
|
||||
$a->strings['System down for maintenance'] = 'System zur Wartung abgeschaltet';
|
||||
$a->strings['This Friendica node is currently in maintenance mode, either automatically because it is self-updating or manually by the node administrator. This condition should be temporary, please come back in a few minutes.'] = 'Diese Friendica Instanz befindet sich derzeit im Wartungsmodus, entweder aufgrund von automatischen Updateprozessen oder weil die Administratoren der Instanz den Wartungsmodus aktiviert haben. Dies sollte ein vorübergehender Zustand sein. Bitte versuche es in ein paar Minuten erneut.';
|
||||
|
|
@ -2135,6 +2184,7 @@ $a->strings['Friend/Connection Request'] = 'Kontaktanfrage';
|
|||
$a->strings['Enter your Webfinger address (user@domain.tld) or profile URL here. If this isn\'t supported by your system, you have to subscribe to <strong>%s</strong> or <strong>%s</strong> directly on your system.'] = 'Gib entweder deine Webfinger- (user@domain.tld) oder die Profil-Adresse an. Wenn dies von deinem System nicht unterstützt wird, folge bitte <strong>%s</strong> oder <strong>%s</strong> direkt von deinem System. ';
|
||||
$a->strings['If you are not yet a member of the free social web, <a href="%s">follow this link to find a public Friendica node and join us today</a>.'] = 'Solltest du das freie Soziale Netzwerk noch nicht benutzen, kannst du <a href="%s">diesem Link folgen</a> um eine öffentliche Friendica Instanz zu finden um noch heute dem Netzwerk beizutreten.';
|
||||
$a->strings['Your Webfinger address or profile URL:'] = 'Deine Webfinger Adresse oder Profil-URL';
|
||||
$a->strings['You must be logged in to use this module.'] = 'Du musst eingeloggt sein, um dieses Modul benutzen zu können.';
|
||||
$a->strings['Only logged in users are permitted to perform a search.'] = 'Nur eingeloggten Benutzern ist das Suchen gestattet.';
|
||||
$a->strings['Only one search per minute is permitted for not logged in users.'] = 'Es ist nur eine Suchanfrage pro Minute für nicht eingeloggte Benutzer gestattet.';
|
||||
$a->strings['Items tagged with: %s'] = 'Beiträge, die mit %s getaggt sind';
|
||||
|
|
@ -2157,8 +2207,10 @@ $a->strings['OpenID protocol error. No ID returned'] = 'OpenID Protokollfehler.
|
|||
$a->strings['Account not found. Please login to your existing account to add the OpenID to it.'] = 'Nutzerkonto nicht gefunden. Bitte melde dich an und füge die OpenID zu deinem Konto hinzu.';
|
||||
$a->strings['Account not found. Please register a new account or login to your existing account to add the OpenID to it.'] = 'Nutzerkonto nicht gefunden. Bitte registriere ein neues Konto oder melde dich mit einem existierendem Konto an um diene OpenID hinzuzufügen.';
|
||||
$a->strings['Passwords do not match.'] = 'Die Passwörter stimmen nicht überein.';
|
||||
$a->strings['Password does not need changing.'] = 'Passwort muss nicht geändert werden.';
|
||||
$a->strings['Password unchanged.'] = 'Passwort unverändert.';
|
||||
$a->strings['Password Too Long'] = 'Passwort ist zu lang';
|
||||
$a->strings['Since version 2022.09, we\'ve realized that any password longer than 72 characters is truncated during hashing. To prevent any confusion about this behavior, please update your password to be fewer or equal to 72 characters.'] = 'Mit der Version 2022.09 haben wir festgestellt, dass jedes Passwort, das länger als 72 Zeichen ist, beim Hashing abgeschnitten wird. Um Verwirrung über dieses Verhalten zu vermeiden, aktualisieren Sie Ihr Passwort bitte so, dass es höchstens 72 Zeichen hat.';
|
||||
$a->strings['Update Password'] = 'Passwort aktualisieren';
|
||||
$a->strings['Current Password:'] = 'Aktuelles Passwort:';
|
||||
$a->strings['Your current password to confirm the changes'] = 'Dein aktuelles Passwort um die Änderungen zu bestätigen';
|
||||
|
|
@ -2267,7 +2319,6 @@ $a->strings['Someone writes a followup comment'] = '– jemand auch einen Kommen
|
|||
$a->strings['You receive a private message'] = '– du eine private Nachricht erhältst';
|
||||
$a->strings['You receive a friend suggestion'] = '– du eine Empfehlung erhältst';
|
||||
$a->strings['You are tagged in a post'] = '– du in einem Beitrag erwähnt wirst';
|
||||
$a->strings['You are poked/prodded/etc. in a post'] = '– du von jemandem angestupst oder sonstwie behandelt wirst';
|
||||
$a->strings['Create a desktop notification when:'] = 'Benachrichtigungen anzeigen wenn:';
|
||||
$a->strings['Someone tagged you'] = 'Dich jemand erwähnt';
|
||||
$a->strings['Someone directly commented on your post'] = 'Jemand einen Beitrag von dir kommentiert hat';
|
||||
|
|
@ -2580,9 +2631,6 @@ $a->strings['Please visit %s to view and/or reply to the conversation.'] = 'Bitt
|
|||
$a->strings['%s %s posted to your profile wall'] = '%s%s hat auf deine Pinnwand gepostet';
|
||||
$a->strings['%1$s posted to your profile wall at %2$s'] = '%1$s schrieb um %2$s auf Deine Pinnwand';
|
||||
$a->strings['%1$s posted to [url=%2$s]your wall[/url]'] = '%1$s hat etwas auf [url=%2$s]Deiner Pinnwand[/url] gepostet';
|
||||
$a->strings['%1$s %2$s poked you'] = '%1$s%2$shat dich angestubst';
|
||||
$a->strings['%1$s poked you at %2$s'] = '%1$s hat dich auf %2$s angestupst';
|
||||
$a->strings['%1$s [url=%2$s]poked you[/url].'] = '%1$s [url=%2$s]hat dich angestupst[/url].';
|
||||
$a->strings['%s Introduction received'] = '%sVorstellung erhalten';
|
||||
$a->strings['You\'ve received an introduction from \'%1$s\' at %2$s'] = 'Du hast eine Kontaktanfrage von \'%1$s\' auf %2$s erhalten';
|
||||
$a->strings['You\'ve received [url=%1$s]an introduction[/url] from %2$s.'] = 'Du hast eine [url=%1$s]Kontaktanfrage[/url] von %2$s erhalten.';
|
||||
|
|
@ -2677,6 +2725,7 @@ $a->strings['%s is now following %s.'] = '%s folgt nun %s';
|
|||
$a->strings['following'] = 'folgen';
|
||||
$a->strings['%s stopped following %s.'] = '%s hat aufgehört %s, zu folgen';
|
||||
$a->strings['stopped following'] = 'wird nicht mehr gefolgt';
|
||||
$a->strings['The folder %s must be writable by webserver.'] = 'Das Verzeichnis %s muss für den Web-Server beschreibbar sein.';
|
||||
$a->strings['Login failed.'] = 'Anmeldung fehlgeschlagen.';
|
||||
$a->strings['Login failed. Please check your credentials.'] = 'Anmeldung fehlgeschlagen. Bitte überprüfe deine Angaben.';
|
||||
$a->strings['Welcome %s'] = 'Willkommen %s';
|
||||
|
|
@ -2737,6 +2786,8 @@ $a->strings['Set the background color'] = 'Hintergrundfarbe festlegen';
|
|||
$a->strings['Content background opacity'] = 'Opazität des Hintergrunds von Beiträgen';
|
||||
$a->strings['Set the background image'] = 'Hintergrundbild festlegen';
|
||||
$a->strings['Background image style'] = 'Stil des Hintergrundbildes';
|
||||
$a->strings['Always open Compose page'] = 'Immer die Composer Seite öffnen';
|
||||
$a->strings['The New Post button always open the <a href="/compose">Compose page</a> instead of the modal form. When this is disabled, the Compose page can be accessed with a middle click on the link or from the modal.'] = 'Neue Beiträge werden immer in der <a href="/compose">Composer Seite</a> anstelle des Dialoges bearbeitet. Ist diese Option deaktiviert, kann die Composer Seite durch einen Klick mit der mittleren Maustaste geöffnet werden.';
|
||||
$a->strings['Login page background image'] = 'Hintergrundbild der Login-Seite';
|
||||
$a->strings['Login page background color'] = 'Hintergrundfarbe der Login-Seite';
|
||||
$a->strings['Leave background image and color empty for theme defaults'] = 'Wenn die Theme-Vorgaben verwendet werden sollen, lass bitte die Felder für die Hintergrundfarbe und das Hintergrundbild leer.';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
<div class="generic-page-wrapper">
|
||||
<h2>{{$compose_title}}</h2>
|
||||
<h2>{{$l10n.compose_title}}</h2>
|
||||
{{if $l10n.always_open_compose}}
|
||||
<p>{{$l10n.always_open_compose nofilter}}</p>
|
||||
{{/if}}
|
||||
<div id="profile-jot-wrapper">
|
||||
<form class="comment-edit-form" data-item-id="{{$id}}" id="comment-edit-form-{{$id}}" action="compose/{{$type}}" method="post">
|
||||
{{*<!--<input type="hidden" name="return" value="{{$return_path}}" />-->*}}
|
||||
|
|
@ -8,74 +11,72 @@
|
|||
<input type="hidden" name="wall" value="{{$wall}}" />
|
||||
|
||||
<div id="jot-title-wrap">
|
||||
<input type="text" name="title" id="jot-title" class="jothidden jotforms form-control" placeholder="{{$placeholdertitle}}" title="{{$placeholdertitle}}" value="{{$title}}" tabindex="1" dir="auto" />
|
||||
<input type="text" name="title" id="jot-title" class="jothidden jotforms form-control" placeholder="{{$l10n.placeholdertitle}}" title="{{$l10n.placeholdertitle}}" value="{{$title}}" tabindex="1" dir="auto" />
|
||||
</div>
|
||||
{{if $placeholdercategory}}
|
||||
{{if $l10n.placeholdercategory}}
|
||||
<div id="jot-category-wrap">
|
||||
<input name="category" id="jot-category" class="jothidden jotforms form-control" type="text" placeholder="{{$placeholdercategory}}" title="{{$placeholdercategory}}" value="{{$category}}" tabindex="2" dir="auto" />
|
||||
<input name="category" id="jot-category" class="jothidden jotforms form-control" type="text" placeholder="{{$l10n.placeholdercategory}}" title="{{$l10n.placeholdercategory}}" value="{{$category}}" tabindex="2" dir="auto" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<p class="comment-edit-bb-{{$id}} comment-icon-list">
|
||||
<span>
|
||||
<button type="button" class="btn btn-sm icon bb-img" aria-label="{{$edimg}}" title="{{$edimg}}" data-role="insert-formatting" data-bbcode="img" data-id="{{$id}}" tabindex="7">
|
||||
<button type="button" class="btn btn-sm icon bb-img" aria-label="{{$l10n.edimg}}" title="{{$l10n.edimg}}" data-role="insert-formatting" data-bbcode="img" data-id="{{$id}}" tabindex="7">
|
||||
<i class="fa fa-picture-o"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm icon bb-attach" aria-label="{{$edattach}}" title="{{$edattach}}" ondragenter="return commentLinkDrop(event, {{$id}});" ondragover="return commentLinkDrop(event, {{$id}});" ondrop="commentLinkDropper(event);" onclick="commentGetLink({{$id}}, '{{$prompttext}}');" tabindex="8">
|
||||
<button type="button" class="btn btn-sm icon bb-attach" aria-label="{{$l10n.edattach}}" title="{{$l10n.edattach}}" ondragenter="return commentLinkDrop(event, {{$id}});" ondragover="return commentLinkDrop(event, {{$id}});" ondrop="commentLinkDropper(event);" onclick="commentGetLink({{$id}}, '{{$l10n.prompttext}}');" tabindex="8">
|
||||
<i class="fa fa-paperclip"></i>
|
||||
</button>
|
||||
</span>
|
||||
<span>
|
||||
<button type="button" class="btn btn-sm icon bb-url" aria-label="{{$edurl}}" title="{{$edurl}}" onclick="insertFormatting('url',{{$id}});" tabindex="9">
|
||||
<button type="button" class="btn btn-sm icon bb-url" aria-label="{{$l10n.edurl}}" title="{{$l10n.edurl}}" onclick="insertFormatting('url',{{$id}});" tabindex="9">
|
||||
<i class="fa fa-link"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm icon underline" aria-label="{{$eduline}}" title="{{$eduline}}" onclick="insertFormatting('u',{{$id}});" tabindex="10">
|
||||
<button type="button" class="btn btn-sm icon underline" aria-label="{{$l10n.eduline}}" title="{{$l10n.eduline}}" onclick="insertFormatting('u',{{$id}});" tabindex="10">
|
||||
<i class="fa fa-underline"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm icon italic" aria-label="{{$editalic}}" title="{{$editalic}}" onclick="insertFormatting('i',{{$id}});" tabindex="11">
|
||||
<button type="button" class="btn btn-sm icon italic" aria-label="{{$l10n.editalic}}" title="{{$l10n.editalic}}" onclick="insertFormatting('i',{{$id}});" tabindex="11">
|
||||
<i class="fa fa-italic"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm icon bold" aria-label="{{$edbold}}" title="{{$edbold}}" onclick="insertFormatting('b',{{$id}});" tabindex="12">
|
||||
<button type="button" class="btn btn-sm icon bold" aria-label="{{$l10n.edbold}}" title="{{$l10n.edbold}}" onclick="insertFormatting('b',{{$id}});" tabindex="12">
|
||||
<i class="fa fa-bold"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm icon quote" aria-label="{{$edquote}}" title="{{$edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13">
|
||||
<button type="button" class="btn btn-sm icon quote" aria-label="{{$l10n.edquote}}" title="{{$l10n.edquote}}" onclick="insertFormatting('quote',{{$id}});" tabindex="13">
|
||||
<i class="fa fa-quote-left"></i>
|
||||
</button>
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
<textarea id="comment-edit-text-{{$id}}" class="comment-edit-text form-control text-autosize" name="body" placeholder="{{$default}}" rows="7" tabindex="3" dir="auto" dir="auto">{{$body}}</textarea>
|
||||
<textarea id="comment-edit-text-{{$id}}" class="comment-edit-text form-control text-autosize" name="body" placeholder="{{$l10n.default}}" rows="7" tabindex="3" dir="auto" dir="auto">{{$body}}</textarea>
|
||||
</p>
|
||||
|
||||
<p class="comment-edit-submit-wrapper">
|
||||
{{if $type == 'post'}}
|
||||
<span role="presentation" class="form-inline">
|
||||
<input type="text" name="location" class="form-control" id="jot-location" value="{{$location}}" placeholder="{{$location_set}}"/>
|
||||
<input type="text" name="location" class="form-control" id="jot-location" value="{{$location}}" placeholder="{{$l10n.location_set}}"/>
|
||||
<button type="button" class="btn btn-sm icon" id="profile-location"
|
||||
data-title-set="{{$location_set}}"
|
||||
data-title-disabled="{{$location_disabled}}"
|
||||
data-title-unavailable="{{$location_unavailable}}"
|
||||
data-title-clear="{{$location_clear}}"
|
||||
title="{{$location_set}}"
|
||||
data-title-set="{{$l10n.location_set}}"
|
||||
data-title-disabled="{{$l10n.location_disabled}}"
|
||||
data-title-unavailable="{{$l10n.location_unavailable}}"
|
||||
data-title-clear="{{$l10n.location_clear}}"
|
||||
title="{{$l10n.location_set}}"
|
||||
tabindex="6">
|
||||
<i class="fa fa-map-marker" aria-hidden="true"></i>
|
||||
</button>
|
||||
</span>
|
||||
{{/if}}
|
||||
<span role="presentation" id="profile-rotator-wrapper">
|
||||
<img role="presentation" id="profile-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
|
||||
<img role="presentation" id="profile-rotator" src="images/rotator.gif" alt="{{$l10n.wait}}" title="{{$l10n.wait}}" style="display: none;" />
|
||||
</span>
|
||||
<span role="presentation" id="character-counter" class="grey text-info"></span>
|
||||
{{if $preview}}
|
||||
<button type="button" class="btn btn-defaul btn-sm" onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" tabindex="5"><i class="fa fa-eye"></i> {{$preview}}</button>
|
||||
{{/if}}
|
||||
<button type="submit" class="btn btn-primary btn-sm" id="comment-edit-submit-{{$id}}" name="submit" tabindex="4"><i class="fa fa-envelope"></i> {{$submit}}</button>
|
||||
<button type="button" class="btn btn-defaul btn-sm" onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" tabindex="5"><i class="fa fa-eye"></i> {{$l10n.preview}}</button>
|
||||
<button type="submit" class="btn btn-primary btn-sm" id="comment-edit-submit-{{$id}}" name="submit" tabindex="4"><i class="fa fa-envelope"></i> {{$l10n.submit}}</button>
|
||||
</p>
|
||||
|
||||
<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div>
|
||||
|
||||
{{if $type == 'post'}}
|
||||
<h3>{{$visibility_title}}</h3>
|
||||
<h3>{{$l10n.visibility_title}}</h3>
|
||||
{{$acl_selector nofilter}}
|
||||
|
||||
<div class="jotplugins">
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@ function theme_post(App $a)
|
|||
'background_image',
|
||||
'bg_image_option',
|
||||
'login_bg_image',
|
||||
'login_bg_color'
|
||||
'login_bg_color',
|
||||
'always_open_compose',
|
||||
] as $field) {
|
||||
if (isset($_POST['frio_' . $field])) {
|
||||
DI::pConfig()->set(local_user(), 'frio', $field, $_POST['frio_' . $field]);
|
||||
|
|
@ -73,7 +74,8 @@ function theme_admin_post(App $a)
|
|||
'background_image',
|
||||
'bg_image_option',
|
||||
'login_bg_image',
|
||||
'login_bg_color'
|
||||
'login_bg_color',
|
||||
'always_open_compose',
|
||||
] as $field) {
|
||||
if (isset($_POST['frio_' . $field])) {
|
||||
DI::config()->set('frio', $field, $_POST['frio_' . $field]);
|
||||
|
|
@ -84,48 +86,57 @@ function theme_admin_post(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
function theme_content(App $a)
|
||||
function theme_content(): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
return;
|
||||
return '';
|
||||
}
|
||||
$arr = [];
|
||||
|
||||
$node_scheme = DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'scheme'));
|
||||
$arr = [
|
||||
'scheme' => DI::pConfig()->get(local_user(), 'frio', 'scheme',
|
||||
DI::pConfig()->get(local_user(), 'frio', 'schema',
|
||||
DI::config()->get('frio', 'scheme',
|
||||
DI::config()->get('frio', 'schema')
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
$arr['scheme'] = DI::pConfig()->get(local_user(), 'frio', 'scheme', DI::pConfig()->get(local_user(), 'frio', 'schema', $node_scheme));
|
||||
$arr['scheme_accent'] = DI::pConfig()->get(local_user(), 'frio', 'scheme_accent' , DI::config()->get('frio', 'scheme_accent'));
|
||||
$arr['share_string'] = '';
|
||||
$arr['nav_bg'] = DI::pConfig()->get(local_user(), 'frio', 'nav_bg' , DI::config()->get('frio', 'nav_bg'));
|
||||
$arr['nav_icon_color'] = DI::pConfig()->get(local_user(), 'frio', 'nav_icon_color' , DI::config()->get('frio', 'nav_icon_color'));
|
||||
$arr['link_color'] = DI::pConfig()->get(local_user(), 'frio', 'link_color' , DI::config()->get('frio', 'link_color'));
|
||||
$arr['background_color'] = DI::pConfig()->get(local_user(), 'frio', 'background_color', DI::config()->get('frio', 'background_color'));
|
||||
$arr['contentbg_transp'] = DI::pConfig()->get(local_user(), 'frio', 'contentbg_transp', DI::config()->get('frio', 'contentbg_transp'));
|
||||
$arr['background_image'] = DI::pConfig()->get(local_user(), 'frio', 'background_image', DI::config()->get('frio', 'background_image'));
|
||||
$arr['bg_image_option'] = DI::pConfig()->get(local_user(), 'frio', 'bg_image_option' , DI::config()->get('frio', 'bg_image_option'));
|
||||
'share_string' => '',
|
||||
'scheme_accent' => DI::pConfig()->get(local_user(), 'frio', 'scheme_accent' , DI::config()->get('frio', 'scheme_accent')),
|
||||
'nav_bg' => DI::pConfig()->get(local_user(), 'frio', 'nav_bg' , DI::config()->get('frio', 'nav_bg')),
|
||||
'nav_icon_color' => DI::pConfig()->get(local_user(), 'frio', 'nav_icon_color' , DI::config()->get('frio', 'nav_icon_color')),
|
||||
'link_color' => DI::pConfig()->get(local_user(), 'frio', 'link_color' , DI::config()->get('frio', 'link_color')),
|
||||
'background_color' => DI::pConfig()->get(local_user(), 'frio', 'background_color' , DI::config()->get('frio', 'background_color')),
|
||||
'contentbg_transp' => DI::pConfig()->get(local_user(), 'frio', 'contentbg_transp' , DI::config()->get('frio', 'contentbg_transp')),
|
||||
'background_image' => DI::pConfig()->get(local_user(), 'frio', 'background_image' , DI::config()->get('frio', 'background_image')),
|
||||
'bg_image_option' => DI::pConfig()->get(local_user(), 'frio', 'bg_image_option' , DI::config()->get('frio', 'bg_image_option')),
|
||||
'always_open_compose' => DI::pConfig()->get(local_user(), 'frio', 'always_open_compose', DI::config()->get('frio', 'always_open_compose', false)),
|
||||
];
|
||||
|
||||
return frio_form($arr);
|
||||
}
|
||||
|
||||
function theme_admin(App $a)
|
||||
function theme_admin(): string
|
||||
{
|
||||
if (!local_user()) {
|
||||
return;
|
||||
return '';
|
||||
}
|
||||
$arr = [];
|
||||
|
||||
$arr['scheme'] = DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'schema'));
|
||||
$arr['scheme_accent'] = DI::config()->get('frio', 'scheme_accent');
|
||||
$arr['share_string'] = '';
|
||||
$arr['nav_bg'] = DI::config()->get('frio', 'nav_bg');
|
||||
$arr['nav_icon_color'] = DI::config()->get('frio', 'nav_icon_color');
|
||||
$arr['link_color'] = DI::config()->get('frio', 'link_color');
|
||||
$arr['background_color'] = DI::config()->get('frio', 'background_color');
|
||||
$arr['contentbg_transp'] = DI::config()->get('frio', 'contentbg_transp');
|
||||
$arr['background_image'] = DI::config()->get('frio', 'background_image');
|
||||
$arr['bg_image_option'] = DI::config()->get('frio', 'bg_image_option');
|
||||
$arr['login_bg_image'] = DI::config()->get('frio', 'login_bg_image');
|
||||
$arr['login_bg_color'] = DI::config()->get('frio', 'login_bg_color');
|
||||
$arr = [
|
||||
'scheme' => DI::config()->get('frio', 'scheme', DI::config()->get('frio', 'schema')),
|
||||
'scheme_accent' => DI::config()->get('frio', 'scheme_accent'),
|
||||
'share_string' => '',
|
||||
'nav_bg' => DI::config()->get('frio', 'nav_bg'),
|
||||
'nav_icon_color' => DI::config()->get('frio', 'nav_icon_color'),
|
||||
'link_color' => DI::config()->get('frio', 'link_color'),
|
||||
'background_color' => DI::config()->get('frio', 'background_color'),
|
||||
'contentbg_transp' => DI::config()->get('frio', 'contentbg_transp'),
|
||||
'background_image' => DI::config()->get('frio', 'background_image'),
|
||||
'bg_image_option' => DI::config()->get('frio', 'bg_image_option'),
|
||||
'login_bg_image' => DI::config()->get('frio', 'login_bg_image'),
|
||||
'login_bg_color' => DI::config()->get('frio', 'login_bg_color'),
|
||||
'always_open_compose' => DI::config()->get('frio', 'always_open_compose', false),
|
||||
];
|
||||
|
||||
return frio_form($arr);
|
||||
}
|
||||
|
|
@ -173,6 +184,8 @@ function frio_form($arr)
|
|||
'$background_image' => array_key_exists('background_image', $disable) ? '' : ['frio_background_image', DI::l10n()->t('Set the background image'), $arr['background_image'], $background_image_help, false],
|
||||
'$bg_image_options_title' => DI::l10n()->t('Background image style'),
|
||||
'$bg_image_options' => Image::get_options($arr),
|
||||
|
||||
'$always_open_compose' => ['frio_always_open_compose', DI::l10n()->t('Always open Compose page'), $arr['always_open_compose'], DI::l10n()->t('The New Post button always open the <a href="/compose">Compose page</a> instead of the modal form. When this is disabled, the Compose page can be accessed with a middle click on the link or from the modal.')],
|
||||
];
|
||||
|
||||
if (array_key_exists('login_bg_image', $arr) && !array_key_exists('login_bg_image', $disable)) {
|
||||
|
|
@ -183,7 +196,5 @@ function frio_form($arr)
|
|||
$ctx['$login_bg_color'] = ['frio_login_bg_color', DI::l10n()->t('Login page background color'), $arr['login_bg_color'], DI::l10n()->t('Leave background image and color empty for theme defaults'), false];
|
||||
}
|
||||
|
||||
$o = Renderer::replaceMacros($t, $ctx);
|
||||
|
||||
return $o;
|
||||
return Renderer::replaceMacros($t, $ctx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,10 +87,12 @@ $(document).ready(function () {
|
|||
if ($("#jot-popup").is(":hidden")) {
|
||||
$jotButton.hide();
|
||||
}
|
||||
$jotButton.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
jotShow();
|
||||
});
|
||||
if ($jotButton.hasClass('modal-open')) {
|
||||
$jotButton.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
jotShow();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
let $body = $("body");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{{* The button to open the jot - in This theme we move the button with js to the second nav bar *}}
|
||||
<a class="btn btn-sm btn-primary pull-right" id="jotOpen" href="compose/{{$posttype}}{{if $content}}?body={{$content}}{{/if}}" aria-label="{{$new_post}}" title="{{$new_post}}"><i class="fa fa-pencil-square-o fa-2x"></i></a>
|
||||
<a class="btn btn-sm btn-primary pull-right{{if !$always_open_compose}} modal-open{{/if}}" id="jotOpen" href="compose/{{$posttype}}{{if $content}}?body={{$content}}{{/if}}" aria-label="{{$new_post}}" title="{{$new_post}}"><i class="fa fa-pencil-square-o fa-2x"></i></a>
|
||||
|
||||
<div id="jot-content">
|
||||
<div id="jot-sections">
|
||||
|
|
|
|||
|
|
@ -209,6 +209,8 @@
|
|||
});
|
||||
</script>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$always_open_compose}}
|
||||
|
||||
<div class="settings-submit-wrapper pull-right">
|
||||
<button type="submit" value="{{$submit}}" class="settings-submit btn btn-primary" name="frio-settings-submit">{{$submit}}</button>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue