Merge pull request #1 from friendica/develop

Update from friendica/friendica
This commit is contained in:
Casper 2019-11-14 22:36:36 +00:00 committed by GitHub
commit 91ba4bb2ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
143 changed files with 4831 additions and 4393 deletions

View file

@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 2019.09-rc (Dalmatian Bellflower)
-- DB_UPDATE_VERSION 1322
-- Friendica 2019.12-dev (Dalmatian Bellflower)
-- DB_UPDATE_VERSION 1324
-- ------------------------------------------
@ -793,7 +793,6 @@ CREATE TABLE IF NOT EXISTS `manage` (
--
CREATE TABLE IF NOT EXISTS `notify` (
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
`hash` varchar(64) NOT NULL DEFAULT '' COMMENT '',
`type` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
@ -810,7 +809,6 @@ CREATE TABLE IF NOT EXISTS `notify` (
`name_cache` tinytext COMMENT 'Cached bbcode parsing of name',
`msg_cache` mediumtext COMMENT 'Cached bbcode parsing of msg',
PRIMARY KEY(`id`),
INDEX `hash_uid` (`hash`,`uid`),
INDEX `seen_uid_date` (`seen`,`uid`,`date`),
INDEX `uid_date` (`uid`,`date`),
INDEX `uid_type_link` (`uid`,`type`,`link`(190))
@ -1281,7 +1279,9 @@ CREATE TABLE IF NOT EXISTS `user-item` (
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user',
`ignored` boolean COMMENT 'Ignore this thread if set',
PRIMARY KEY(`uid`,`iid`)
`pinned` boolean COMMENT 'The item is pinned on the profile page',
PRIMARY KEY(`uid`,`iid`),
INDEX `uid_pinned` (`uid`,`pinned`)
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific item data';
--

View file

@ -2554,6 +2554,7 @@ function api_get_attachments(&$body)
{
$text = $body;
$text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $text);
$text = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", '[img]$1[/img]', $text);
$URLSearchString = "^\[\]";
$ret = preg_match_all("/\[img\]([$URLSearchString]*)\[\/img\]/ism", $text, $images);

View file

@ -801,10 +801,12 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
/**
* Fetch all comments from a query. Additionally set the newest resharer as thread owner.
*
* @param $thread_items Database statement with thread posts
* @param array $thread_items Database statement with thread posts
* @param boolean $pinned Is the item pinned?
*
* @return array items with parents and comments
*/
function conversation_fetch_comments($thread_items) {
function conversation_fetch_comments($thread_items, $pinned) {
$comments = [];
$parentlines = [];
$lineno = 0;
@ -822,6 +824,10 @@ function conversation_fetch_comments($thread_items) {
$parentlines[] = $lineno;
}
if ($row['gravity'] == GRAVITY_PARENT) {
$row['pinned'] = $pinned;
}
$comments[] = $row;
$lineno++;
}
@ -872,7 +878,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid)
$thread_items = Item::selectForUser(local_user(), array_merge(Item::DISPLAY_FIELDLIST, ['contact-uid', 'gravity']), $condition, $params);
$comments = conversation_fetch_comments($thread_items);
$comments = conversation_fetch_comments($thread_items, $parent['pinned'] ?? false);
if (count($comments) != 0) {
$items = array_merge($items, $comments);
@ -1451,7 +1457,9 @@ function conv_sort(array $item_list, $order)
}
}
if (stristr($order, 'received')) {
if (stristr($order, 'pinned_received')) {
usort($parents, 'sort_thr_pinned_received');
} elseif (stristr($order, 'received')) {
usort($parents, 'sort_thr_received');
} elseif (stristr($order, 'commented')) {
usort($parents, 'sort_thr_commented');
@ -1488,6 +1496,24 @@ function conv_sort(array $item_list, $order)
return $parents;
}
/**
* @brief usort() callback to sort item arrays by pinned and the received key
*
* @param array $a
* @param array $b
* @return int
*/
function sort_thr_pinned_received(array $a, array $b)
{
if ($b['pinned'] && !$a['pinned']) {
return 1;
} elseif (!$b['pinned'] && $a['pinned']) {
return -1;
}
return strcmp($b['received'], $a['received']);
}
/**
* @brief usort() callback to sort item arrays by the received key
*

View file

@ -503,17 +503,9 @@ function notification($params)
if ($show_in_notification_page) {
Logger::log("adding notification entry", Logger::DEBUG);
do {
$dups = false;
$hash = Strings::getRandomHex();
if (DBA::exists('notify', ['hash' => $hash])) {
$dups = true;
}
} while ($dups == true);
/// @TODO One statement is enough
$datarray = [];
$datarray['hash'] = $hash;
$datarray['name'] = $params['source_name'];
$datarray['name_cache'] = strip_tags(BBCode::convert($params['source_name']));
$datarray['url'] = $params['source_link'];
@ -536,7 +528,7 @@ function notification($params)
}
// create notification entry in DB
$fields = ['hash' => $datarray['hash'], 'name' => $datarray['name'], 'url' => $datarray['url'],
$fields = ['name' => $datarray['name'], 'url' => $datarray['url'],
'photo' => $datarray['photo'], 'date' => $datarray['date'], 'uid' => $datarray['uid'],
'link' => $datarray['link'], 'iid' => $datarray['iid'], 'parent' => $datarray['parent'],
'type' => $datarray['type'], 'verb' => $datarray['verb'], 'otype' => $datarray['otype'],
@ -545,26 +537,6 @@ function notification($params)
$notify_id = DBA::lastInsertId();
// we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums
// After we've stored everything, look again to see if there are any duplicates and if so remove them
$p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d) AND `link` = '%s' AND `uid` = %d ORDER BY `id`",
intval(NOTIFY_TAGSELF),
intval(NOTIFY_COMMENT),
DBA::escape($params['link']),
intval($params['uid'])
);
if ($p && (count($p) > 1)) {
for ($d = 1; $d < count($p); $d ++) {
DBA::delete('notify', ['id' => $p[$d]['id']]);
}
// only continue on if we stored the first one
if ($notify_id != $p[0]['id']) {
L10n::popLang();
return false;
}
}
$itemlink = System::baseUrl().'/notify/view/'.$notify_id;
$msg = Renderer::replaceMacros($epreamble, ['$itemlink' => $itemlink]);
$msg_cache = format_notification_message($datarray['name_cache'], strip_tags(BBCode::convert($msg)));

View file

@ -596,9 +596,9 @@ function settings_post(App $a)
$fields = ['username' => $username, 'email' => $email, 'timezone' => $timezone,
'allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow, 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny,
'notify-flags' => $notify, 'page-flags' => $notify, 'account-type' => $account_type, 'default-location' => $defloc,
'notify-flags' => $notify, 'page-flags' => $page_flags, 'account-type' => $account_type, 'default-location' => $defloc,
'allow_location' => $allow_location, 'maxreq' => $maxreq, 'expire' => $expire, 'def_gid' => $def_gid, 'blockwall' => $blockwall,
'hidewall' => $hide_wall, 'blocktags' => $blocktags, 'unkmail' => $unkmail, 'cntunkmail' => $cntunkmail, 'language' => $language];
'hidewall' => $hidewall, 'blocktags' => $blocktags, 'unkmail' => $unkmail, 'cntunkmail' => $cntunkmail, 'language' => $language];
if ($delete_openid) {
$fields['openid'] = '';
@ -1253,7 +1253,7 @@ function settings_content(App $a)
'$importcontact' => L10n::t('Import Contacts'),
'$importcontact_text' => L10n::t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'),
'$importcontact_button' => L10n::t('Upload File'),
'$importcontact_maxsize' => Config::get('system', max_csv_file_size, 30720),
'$importcontact_maxsize' => Config::get('system', 'max_csv_file_size', 30720),
'$relocate' => L10n::t('Relocate'),
'$relocate_text' => L10n::t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."),
'$relocate_button' => L10n::t("Resend relocate message to contacts"),

View file

@ -14,7 +14,7 @@ function update_contact_content(App $a)
echo "<section>";
if ($_GET["force"] == 1) {
$text = Contact::content(true);
$text = Contact::content([], true);
} else {
$text = '';
}

View file

@ -28,7 +28,7 @@ function update_profile_content(App $a) {
* on the client side and then swap the image back.
*/
$text = Profile::content($profile_uid);
$text = Profile::content([], $profile_uid);
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />";

View file

@ -63,6 +63,11 @@ class Module
*/
private $module_class;
/**
* @var array The module parameters
*/
private $module_parameters;
/**
* @var bool true, if the module is a backend module
*/
@ -89,6 +94,14 @@ class Module
return $this->module_class;
}
/**
* @return array The module parameters extracted from the route
*/
public function getParameters()
{
return $this->module_parameters;
}
/**
* @return bool True, if the current module is a backend module
* @see Module::BACKEND_MODULES for a list
@ -98,10 +111,11 @@ class Module
return $this->isBackend;
}
public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, bool $isBackend = false, bool $printNotAllowedAddon = false)
public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, array $moduleParameters = [], bool $isBackend = false, bool $printNotAllowedAddon = false)
{
$this->module = $module;
$this->module_class = $moduleClass;
$this->module_parameters = $moduleParameters;
$this->isBackend = $isBackend;
$this->printNotAllowedAddon = $printNotAllowedAddon;
}
@ -129,7 +143,7 @@ class Module
$isBackend = in_array($module, Module::BACKEND_MODULES);;
return new Module($module, $this->module_class, $isBackend, $this->printNotAllowedAddon);
return new Module($module, $this->module_class, [], $isBackend, $this->printNotAllowedAddon);
}
/**
@ -148,6 +162,7 @@ class Module
$printNotAllowedAddon = false;
$module_class = null;
$module_parameters = [];
/**
* ROUTING
*
@ -156,6 +171,7 @@ class Module
**/
try {
$module_class = $router->getModuleClass($args->getCommand());
$module_parameters = $router->getModuleParameters();
} catch (MethodNotAllowedException $e) {
$module_class = MethodNotAllowed::class;
} catch (NotFoundException $e) {
@ -185,7 +201,7 @@ class Module
$module_class = $module_class ?: PageNotFound::class;
}
return new Module($this->module, $module_class, $this->isBackend, $printNotAllowedAddon);
return new Module($this->module, $module_class, $module_parameters, $this->isBackend, $printNotAllowedAddon);
}
/**
@ -233,18 +249,18 @@ class Module
Core\Hook::callAll($this->module . '_mod_init', $placeholder);
call_user_func([$this->module_class, 'init']);
call_user_func([$this->module_class, 'init'], $this->module_parameters);
// "rawContent" is especially meant for technical endpoints.
// This endpoint doesn't need any theme initialization or other comparable stuff.
call_user_func([$this->module_class, 'rawContent']);
call_user_func([$this->module_class, 'rawContent'], $this->module_parameters);
if ($server['REQUEST_METHOD'] === 'POST') {
Core\Hook::callAll($this->module . '_mod_post', $post);
call_user_func([$this->module_class, 'post']);
call_user_func([$this->module_class, 'post'], $this->module_parameters);
}
Core\Hook::callAll($this->module . '_mod_afterpost', $placeholder);
call_user_func([$this->module_class, 'afterpost']);
call_user_func([$this->module_class, 'afterpost'], $this->module_parameters);
}
}

View file

@ -308,7 +308,7 @@ class Page implements ArrayAccess
$arr = ['content' => $content];
Hook::callAll($moduleClass . '_mod_content', $arr);
$content = $arr['content'];
$arr = ['content' => call_user_func([$moduleClass, 'content'])];
$arr = ['content' => call_user_func([$moduleClass, 'content'], $module->getParameters())];
Hook::callAll($moduleClass . '_mod_aftercontent', $arr);
$content .= $arr['content'];
} catch (HTTPException $e) {

View file

@ -39,6 +39,11 @@ class Router
*/
private $httpMethod;
/**
* @var array Module parameters
*/
private $parameters = [];
/**
* @param array $server The $_SERVER variable
* @param RouteCollector|null $routeCollector Optional the loaded Route collector
@ -60,12 +65,21 @@ class Router
*
* @throws HTTPException\InternalServerErrorException In case of invalid configs
*/
public function addRoutes(array $routes)
public function loadRoutes(array $routes)
{
$routeCollector = (isset($this->routeCollector) ?
$this->routeCollector :
new RouteCollector(new Std(), new GroupCountBased()));
$this->addRoutes($routeCollector, $routes);
$this->routeCollector = $routeCollector;
return $this;
}
private function addRoutes(RouteCollector $routeCollector, array $routes)
{
foreach ($routes as $route => $config) {
if ($this->isGroup($config)) {
$this->addGroup($route, $config, $routeCollector);
@ -75,10 +89,6 @@ class Router
throw new HTTPException\InternalServerErrorException("Wrong route config for route '" . print_r($route, true) . "'");
}
}
$this->routeCollector = $routeCollector;
return $this;
}
/**
@ -91,15 +101,7 @@ class Router
private function addGroup(string $groupRoute, array $routes, RouteCollector $routeCollector)
{
$routeCollector->addGroup($groupRoute, function (RouteCollector $routeCollector) use ($routes) {
foreach ($routes as $route => $config) {
if ($this->isGroup($config)) {
$this->addGroup($route, $config, $routeCollector);
} elseif ($this->isRoute($config)) {
$routeCollector->addRoute($config[1], $route, $config[0]);
}else {
throw new HTTPException\InternalServerErrorException("Wrong route config for route '" . print_r($route, true) . "'");
}
}
$this->addRoutes($routeCollector, $routes);
});
}
@ -169,13 +171,15 @@ class Router
$cmd = '/' . ltrim($cmd, '/');
$dispatcher = new \FastRoute\Dispatcher\GroupCountBased($this->routeCollector->getData());
$dispatcher = new Dispatcher\GroupCountBased($this->routeCollector->getData());
$moduleClass = null;
$this->parameters = [];
$routeInfo = $dispatcher->dispatch($this->httpMethod, $cmd);
if ($routeInfo[0] === Dispatcher::FOUND) {
$moduleClass = $routeInfo[1];
$this->parameters = $routeInfo[2];
} elseif ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) {
throw new HTTPException\MethodNotAllowedException(L10n::t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1])));
} else {
@ -184,4 +188,14 @@ class Router
return $moduleClass;
}
/**
* Returns the module parameters.
*
* @return array parameters
*/
public function getModuleParameters()
{
return $this->parameters;
}
}

View file

@ -22,7 +22,7 @@ abstract class BaseModule extends BaseObject
* Extend this method if you need to do any shared processing before both
* content() or post()
*/
public static function init()
public static function init(array $parameters = [])
{
}
@ -32,7 +32,7 @@ abstract class BaseModule extends BaseObject
* Extend this method if the module is supposed to return communication data,
* e.g. from protocol implementations.
*/
public static function rawContent()
public static function rawContent(array $parameters = [])
{
// echo '';
// exit;
@ -47,7 +47,7 @@ abstract class BaseModule extends BaseObject
*
* @return string
*/
public static function content()
public static function content(array $parameters = [])
{
$o = '';
@ -60,7 +60,7 @@ abstract class BaseModule extends BaseObject
* Extend this method if the module is supposed to process POST requests.
* Doesn't display any content
*/
public static function post()
public static function post(array $parameters = [])
{
// $a = self::getApp();
// $a->internalRedirect('module');
@ -71,9 +71,8 @@ abstract class BaseModule extends BaseObject
*
* Unknown purpose
*/
public static function afterpost()
public static function afterpost(array $parameters = [])
{
}
/*

View file

@ -1680,7 +1680,7 @@ class BBCode extends BaseObject
$text = str_replace(["\r","\n"], ['<br />', '<br />'], $text);
// Remove all hashtag addresses
if ((!$try_oembed || $simple_html) && !in_array($simple_html, [3, 7, 9])) {
if ($simple_html && !in_array($simple_html, [3, 7, 9])) {
$text = preg_replace("/([#@!])\[url\=(.*?)\](.*?)\[\/url\]/ism", '$1$3', $text);
} elseif ($simple_html == 3) {
// The ! is converted to @ since Diaspora only understands the @

View file

@ -35,24 +35,24 @@ class LegacyModule extends BaseModule
require_once $file_path;
}
public static function init()
public static function init(array $parameters = [])
{
self::runModuleFunction('init');
self::runModuleFunction('init', $parameters);
}
public static function content()
public static function content(array $parameters = [])
{
return self::runModuleFunction('content');
return self::runModuleFunction('content', $parameters);
}
public static function post()
public static function post(array $parameters = [])
{
self::runModuleFunction('post');
self::runModuleFunction('post', $parameters);
}
public static function afterpost()
public static function afterpost(array $parameters = [])
{
self::runModuleFunction('afterpost');
self::runModuleFunction('afterpost', $parameters);
}
/**
@ -62,7 +62,7 @@ class LegacyModule extends BaseModule
* @return string
* @throws \Exception
*/
private static function runModuleFunction($function_suffix)
private static function runModuleFunction($function_suffix, array $parameters = [])
{
$function_name = static::$moduleName . '_' . $function_suffix;
@ -70,7 +70,7 @@ class LegacyModule extends BaseModule
$a = self::getApp();
return $function_name($a);
} else {
return parent::{$function_suffix}();
return parent::{$function_suffix}($parameters);
}
}
}

View file

@ -58,7 +58,7 @@ class Item extends BaseObject
'author-id', 'author-link', 'author-name', 'author-avatar', 'author-network',
'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'owner-network',
'contact-id', 'contact-uid', 'contact-link', 'contact-name', 'contact-avatar',
'writable', 'self', 'cid', 'alias',
'writable', 'self', 'cid', 'alias', 'pinned',
'event-id', 'event-created', 'event-edited', 'event-start', 'event-finish',
'event-summary', 'event-desc', 'event-location', 'event-type',
'event-nofinish', 'event-adjust', 'event-ignore', 'event-id',
@ -114,6 +114,80 @@ class Item extends BaseObject
return self::$legacy_mode;
}
/**
* Set the pinned state of an item
*
* @param integer $iid Item ID
* @param integer $uid User ID
* @param boolean $pinned Pinned state
*/
public static function setPinned(int $iid, int $uid, bool $pinned)
{
DBA::update('user-item', ['pinned' => $pinned], ['iid' => $iid, 'uid' => $uid], true);
}
/**
* Get the pinned state
*
* @param integer $iid Item ID
* @param integer $uid User ID
*
* @return boolean pinned state
*/
public static function getPinned(int $iid, int $uid)
{
$useritem = DBA::selectFirst('user-item', ['pinned'], ['iid' => $iid, 'uid' => $uid]);
if (!DBA::isResult($useritem)) {
return false;
}
return (bool)$useritem['pinned'];
}
/**
* @brief Select pinned rows from the item table for a given user
*
* @param integer $uid User ID
* @param array $selected Array of selected fields, empty for all
* @param array $condition Array of fields for condition
* @param array $params Array of several parameters
*
* @return boolean|object
* @throws \Exception
*/
public static function selectPinned(int $uid, array $selected = [], array $condition = [], $params = [])
{
$useritems = DBA::select('user-item', ['iid'], ['uid' => $uid, 'pinned' => true]);
if (!DBA::isResult($useritems)) {
return $useritems;
}
$pinned = [];
while ($useritem = self::fetch($useritems)) {
$pinned[] = $useritem['iid'];
}
DBA::close($useritems);
if (empty($pinned)) {
return [];
}
if (empty($condition) || !is_array($condition)) {
$condition = ['iid' => $pinned];
} else {
reset($condition);
$first_key = key($condition);
if (!is_int($first_key)) {
$condition['iid'] = $pinned;
} else {
$values_string = substr(str_repeat("?, ", count($pinned)), 0, -2);
$condition[0] = '(' . $condition[0] . ") AND `iid` IN (" . $values_string . ")";
$condition = array_merge($condition, $pinned);
}
}
return self::selectThreadForUser($uid, $selected, $condition, $params);
}
/**
* @brief returns an activity index from an activity string
*
@ -585,7 +659,7 @@ class Item extends BaseObject
'iaid' => 'internal-iaid'];
if ($usermode) {
$fields['user-item'] = ['ignored' => 'internal-user-ignored'];
$fields['user-item'] = ['pinned', 'ignored' => 'internal-user-ignored'];
}
$fields['item-activity'] = ['activity', 'activity' => 'internal-activity'];

View file

@ -715,4 +715,25 @@ class Photo extends BaseObject
return DBA::exists('photo', ['resource-id' => $guid]);
}
/**
* Tests if the link points to a locally stored picture page
*
* @param string $name Page link
* @return boolean
* @throws \Exception
*/
public static function isLocalPage($name)
{
$a = \get_app();
$base = $a->getBaseURL();
$guid = str_replace(Strings::normaliseLink($base), '', Strings::normaliseLink($name));
$guid = preg_replace("=/photos/.*/image/(.*)=ism", '$1', $guid);
if (empty($guid)) {
return false;
}
return DBA::exists('photo', ['resource-id' => $guid]);
}
}

View file

@ -11,7 +11,7 @@ use Friendica\BaseModule;
*/
class AccountManagementControlDocument extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$output = [
'version' => 1,

View file

@ -11,7 +11,7 @@ use Friendica\Core\System;
*/
class Acctlink extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$addr = trim($_GET['addr'] ?? '');

View file

@ -11,9 +11,9 @@ use Friendica\Util\Strings;
class Details extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
$a = self::getApp();
@ -35,9 +35,9 @@ class Details extends BaseAdminModule
$a->internalRedirect('admin/addons');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -9,9 +9,9 @@ use Friendica\Module\BaseAdminModule;
class Index extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -11,9 +11,9 @@ use Friendica\Model;
class Contact extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
$contact_url = $_POST['contact_url'] ?? '';
$block_reason = $_POST['contact_block_reason'] ?? '';
@ -41,9 +41,9 @@ class Contact extends BaseAdminModule
self::getApp()->internalRedirect('admin/blocklist/contact');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -10,9 +10,9 @@ use Friendica\Util\Strings;
class Server extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
if (empty($_POST['page_blocklist_save']) && empty($_POST['page_blocklist_edit'])) {
return;
@ -50,9 +50,9 @@ class Server extends BaseAdminModule
self::getApp()->internalRedirect('admin/blocklist/server');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -12,9 +12,9 @@ use Friendica\Module\BaseAdminModule;
class DBSync extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -10,9 +10,9 @@ use Friendica\Module\BaseAdminModule;
class Features extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
parent::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
@ -42,9 +42,9 @@ class Features extends BaseAdminModule
self::getApp()->internalRedirect('admin/features');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$arr = [];
$features = Feature::get(false);

View file

@ -10,9 +10,9 @@ use Friendica\Module\BaseAdminModule;
class Federation extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
// get counts on active friendica, diaspora, redmatrix, hubzilla, gnu
// social and statusnet nodes this node is knowing

View file

@ -10,9 +10,9 @@ use Friendica\Util\Strings;
class Delete extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
if (empty($_POST['page_deleteitem_submit'])) {
return;
@ -36,9 +36,9 @@ class Delete extends BaseAdminModule
self::getApp()->internalRedirect('admin/item/delete');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$t = Renderer::getMarkupTemplate('admin/item/delete.tpl');

View file

@ -13,9 +13,9 @@ use Friendica\Module\BaseAdminModule;
class Source extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -11,9 +11,9 @@ use Psr\Log\LogLevel;
class Settings extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
if (!empty($_POST['page_logs'])) {
parent::checkFormSecurityTokenRedirectOnError('/admin/logs', 'admin_logs');
@ -37,9 +37,9 @@ class Settings extends BaseAdminModule
self::getApp()->internalRedirect('admin/logs');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -10,9 +10,9 @@ use Friendica\Util\Strings;
class View extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$t = Renderer::getMarkupTemplate('admin/logs/view.tpl');
$f = Config::get('system', 'logfile');

View file

@ -6,9 +6,9 @@ use Friendica\Module\BaseAdminModule;
class PhpInfo extends BaseAdminModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
parent::rawContent();
parent::rawContent($parameters);
phpinfo();
exit();

View file

@ -19,9 +19,9 @@ use Friendica\Util\DateTimeFormat;
*/
class Queue extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -21,9 +21,9 @@ require_once __DIR__ . '/../../../boot.php';
class Site extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
self::checkFormSecurityTokenRedirectOnError('/admin/site', 'admin_site');
@ -412,9 +412,9 @@ class Site extends BaseAdminModule
$a->internalRedirect('admin/site' . $active_panel);
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -20,9 +20,9 @@ use Friendica\Util\Network;
class Summary extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -11,9 +11,9 @@ use Friendica\Util\Strings;
class Details extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
$a = self::getApp();
@ -39,9 +39,9 @@ class Details extends BaseAdminModule
}
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -9,7 +9,7 @@ use Friendica\Util\Strings;
class Embed extends BaseAdminModule
{
public static function init()
public static function init(array $parameters = [])
{
$a = self::getApp();
@ -23,9 +23,9 @@ class Embed extends BaseAdminModule
}
}
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
$a = self::getApp();
@ -53,9 +53,9 @@ class Embed extends BaseAdminModule
}
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -11,9 +11,9 @@ use Friendica\Util\Strings;
class Index extends BaseAdminModule
{
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -9,9 +9,9 @@ use Friendica\Module\BaseAdminModule;
class Tos extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
parent::checkFormSecurityTokenRedirectOnError('/admin/tos', 'admin_tos');
@ -32,9 +32,9 @@ class Tos extends BaseAdminModule
self::getApp()->internalRedirect('admin/tos');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$tos = new \Friendica\Module\Tos();
$t = Renderer::getMarkupTemplate('admin/tos.tpl');

View file

@ -15,9 +15,9 @@ use Friendica\Util\Temporal;
class Users extends BaseAdminModule
{
public static function post()
public static function post(array $parameters = [])
{
parent::post();
parent::post($parameters);
$a = self::getApp();
@ -131,9 +131,9 @@ class Users extends BaseAdminModule
$a->internalRedirect('admin/users');
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
$a = self::getApp();

View file

@ -16,7 +16,7 @@ use Friendica\Util\Proxy as ProxyUtils;
*/
class AllFriends extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$app = self::getApp();

View file

@ -13,7 +13,7 @@ use Friendica\Core\Renderer;
*/
class Apps extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
$privateaddons = Config::get('config', 'private_addons');
if ($privateaddons === "1" && !local_user()) {
@ -21,7 +21,7 @@ class Apps extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$apps = Nav::getAppMenu();

View file

@ -20,7 +20,7 @@ class Attach extends BaseModule
/**
* @brief Return to user an attached file given the id
*/
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();
if ($a->argc != 2) {

View file

@ -23,7 +23,7 @@ require_once 'boot.php';
*/
abstract class BaseAdminModule extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!is_site_admin()) {
return;
@ -35,7 +35,7 @@ abstract class BaseAdminModule extends BaseModule
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
if (!is_site_admin()) {
return '';
@ -48,7 +48,7 @@ abstract class BaseAdminModule extends BaseModule
return '';
}
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -9,7 +9,7 @@ use Friendica\Core\Renderer;
class BaseSettingsModule extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -14,7 +14,7 @@ use Friendica\Util\Strings;
*/
class Bookmarklet extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$_GET['mode'] = 'minimal';

View file

@ -75,7 +75,7 @@ class Contact extends BaseModule
$a->internalRedirect('contact');
}
public static function post()
public static function post(array $parameters = [])
{
$a = self::getApp();
@ -240,7 +240,7 @@ class Contact extends BaseModule
Model\Contact::remove($orig_record['id']);
}
public static function content($update = 0)
public static function content(array $parameters = [], $update = 0)
{
if (!local_user()) {
return Login::form($_SERVER['REQUEST_URI']);

View file

@ -18,7 +18,7 @@ use Friendica\Util\Proxy;
*/
class Hovercard extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$contact_url = $_REQUEST['url'] ?? '';

View file

@ -13,7 +13,7 @@ use Friendica\Core\Renderer;
*/
class Credits extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
/* fill the page with credits */
$credits_string = file_get_contents('CREDITS.txt');

View file

@ -14,7 +14,7 @@ use Friendica\Util\XML;
*/
class Babel extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
function visible_whitespace($s)
{

View file

@ -14,7 +14,7 @@ use Friendica\Util\Network;
*/
class Feed extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
info(L10n::t('You must be logged in to use this module'));
@ -22,7 +22,7 @@ class Feed extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$result = [];
if (!empty($_REQUEST['url'])) {

View file

@ -12,7 +12,7 @@ use Friendica\Network\HTTPException;
*/
class ItemBody extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\UnauthorizedException(L10n::t('Access denied.'));

View file

@ -10,7 +10,7 @@ use Friendica\Util\Temporal;
class Localtime extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
$time = ($_REQUEST['time'] ?? '') ?: 'now';
@ -21,7 +21,7 @@ class Localtime extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$app = self::getApp();

View file

@ -13,7 +13,7 @@ use Friendica\Network\Probe as NetworkProbe;
*/
class Probe extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
$e = new HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.'));

View file

@ -12,7 +12,7 @@ use Friendica\Network\Probe;
*/
class WebFinger extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
$e = new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Only logged in users are permitted to perform a probing.'));

View file

@ -17,7 +17,7 @@ use Friendica\Network\HTTPException\ForbiddenException;
*/
class Delegation extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -92,7 +92,7 @@ class Delegation extends BaseModule
// NOTREACHED
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
throw new ForbiddenException(L10n::t('Permission denied.'));

View file

@ -17,7 +17,7 @@ use Friendica\Util\Strings;
*/
class Fetch extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();

View file

@ -21,13 +21,13 @@ class Receive extends BaseModule
/** @var LoggerInterface */
private static $logger;
public static function init()
public static function init(array $parameters = [])
{
/** @var LoggerInterface $logger */
self::$logger = self::getClass(LoggerInterface::class);
}
public static function post()
public static function post(array $parameters = [])
{
/** @var Configuration $config */
$config = self::getClass(Configuration::class);

View file

@ -21,7 +21,7 @@ use Friendica\Util\Strings;
*/
class Directory extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();

View file

@ -23,7 +23,7 @@ use Friendica\Protocol\OStatus;
*/
class Feed extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -12,7 +12,7 @@ use Friendica\Util\XML;
*/
class RemoveTag extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\ForbiddenException();

View file

@ -14,7 +14,7 @@ use Friendica\Util\XML;
*/
class SaveTag extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
info(L10n::t('You must be logged in to use this module'));
@ -22,7 +22,7 @@ class SaveTag extends BaseModule
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();
$logger = $a->getLogger();

View file

@ -18,7 +18,7 @@ use Friendica\Util\DateTimeFormat;
*/
class FollowConfirm extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
$a = self::getApp();

View file

@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub;
*/
class Followers extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();

View file

@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub;
*/
class Following extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();

View file

@ -15,7 +15,7 @@ use Friendica\Model\User;
*/
class Friendica extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();
@ -88,7 +88,7 @@ class Friendica extends BaseModule
]);
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();

View file

@ -19,7 +19,7 @@ require_once 'boot.php';
class Group extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
$a = self::getApp();
@ -132,7 +132,7 @@ class Group extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$change = false;

View file

@ -8,7 +8,7 @@ use Friendica\Network\HTTPException;
class MethodNotAllowed extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
throw new HTTPException\MethodNotAllowedException(L10n::t('Method Not Allowed.'));
}

View file

@ -8,7 +8,7 @@ use Friendica\Network\HTTPException;
class PageNotFound extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
throw new HTTPException\NotFoundException(L10n::t('Page not found.'));
}

View file

@ -15,7 +15,7 @@ use Friendica\Util\Strings;
class Hashtag extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$result = [];

View file

@ -14,7 +14,7 @@ use Friendica\Util\Strings;
*/
class Help extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
Nav::setSelected('help');

View file

@ -12,7 +12,7 @@ use Friendica\Core\Renderer;
*/
class Home extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();

View file

@ -19,7 +19,7 @@ use Friendica\Util\Network;
*/
class Inbox extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();

View file

@ -46,7 +46,7 @@ class Install extends BaseModule
*/
private static $installer;
public static function init()
public static function init(array $parameters = [])
{
$a = self::getApp();
@ -76,7 +76,7 @@ class Install extends BaseModule
self::$currentWizardStep = ($_POST['pass'] ?? '') ?: self::SYSTEM_CHECK;
}
public static function post()
public static function post(array $parameters = [])
{
$a = self::getApp();
$configCache = $a->getConfigCache();
@ -149,7 +149,7 @@ class Install extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();
$configCache = $a->getConfigCache();

View file

@ -16,7 +16,7 @@ use Friendica\Util\Strings;
*/
class Invite extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\ForbiddenException(L10n::t('Permission denied.'));
@ -104,7 +104,7 @@ class Invite extends BaseModule
notice(L10n::tt('%d message sent.', '%d messages sent.', $total) . EOL);
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\ForbiddenException(L10n::t('Permission denied.'));

View file

@ -21,7 +21,7 @@ use Friendica\Util\Crypto;
class Compose extends BaseModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!empty($_REQUEST['body'])) {
$_REQUEST['return'] = 'network';
@ -32,7 +32,7 @@ class Compose extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
return Login::form('compose', false);

View file

@ -16,7 +16,7 @@ use Friendica\Network\HTTPException;
*/
class Ignore extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
/** @var L10n $l10n */
$l10n = self::getClass(L10n::class);

View file

@ -13,7 +13,7 @@ use Friendica\Util\Strings;
*/
class Like extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
if (!Session::isAuthenticated()) {
throw new HTTPException\ForbiddenException();

View file

@ -30,7 +30,7 @@ use LightOpenID;
*/
class Login extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();
@ -41,7 +41,7 @@ class Login extends BaseModule
return self::form(Session::get('return_path'), intval(Config::get('config', 'register_policy')) !== \Friendica\Module\Register::CLOSED);
}
public static function post()
public static function post(array $parameters = [])
{
$openid_identity = Session::get('openid_identity');
$openid_server = Session::get('openid_server');

View file

@ -23,7 +23,7 @@ class Logout extends BaseModule
/**
* @brief Process logout requests
*/
public static function init()
public static function init(array $parameters = [])
{
$visitor_home = null;
if (remote_user()) {

View file

@ -20,7 +20,7 @@ use Friendica\Util\Strings;
*/
class Magic extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
$a = self::getApp();
$ret = ['success' => false, 'url' => '', 'message' => ''];

View file

@ -14,7 +14,7 @@ use Friendica\Util\Strings;
*/
class Maintenance extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$config = self::getApp()->getConfig();

View file

@ -7,7 +7,7 @@ use Friendica\Core\Renderer;
class Manifest extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();

View file

@ -13,7 +13,7 @@ use Friendica\Core\System;
*/
class NodeInfo extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
$config = self::getApp()->getConfig();
@ -22,7 +22,7 @@ class NodeInfo extends BaseModule
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();

View file

@ -14,14 +14,14 @@ use Friendica\Network\HTTPException;
*/
class Notify extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\UnauthorizedException(L10n::t('Permission denied.'));
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();
@ -45,7 +45,7 @@ class Notify extends BaseModule
* @return string|void
* @throws HTTPException\InternalServerErrorException
*/
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -15,7 +15,7 @@ use Friendica\Protocol\ActivityPub;
*/
class Objects extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();

View file

@ -17,7 +17,7 @@ use Friendica\Util\Strings;
*/
class Oembed extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -16,7 +16,7 @@ class OpenSearch extends BaseModule
/**
* @throws \Exception
*/
public static function rawContent()
public static function rawContent(array $parameters = [])
{
header('Content-type: application/opensearchdescription+xml');

View file

@ -14,7 +14,7 @@ use Friendica\Protocol\ActivityPub;
*/
class Outbox extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();

View file

@ -27,7 +27,7 @@ use Friendica\Util\Strings;
*/
class Owa extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
$ret = [ 'success' => false ];

View file

@ -23,7 +23,7 @@ class Photo extends BaseModule
* Fetch a photo or an avatar, in optional size, check for permissions and
* return the image
*/
public static function init()
public static function init(array $parameters = [])
{
$a = self::getApp();
// @TODO: Replace with parameter from router

40
src/Module/Pinned.php Normal file
View file

@ -0,0 +1,40 @@
<?php
namespace Friendica\Module;
use Friendica\BaseModule;
use Friendica\Model\Item;
/**
* Toggle pinned items
*/
class Pinned extends BaseModule
{
public static function rawContent(array $parameters = [])
{
if (!local_user()) {
throw new \Friendica\Network\HTTPException\ForbiddenException();
}
if (empty($parameters['item'])) {
throw new \Friendica\Network\HTTPException\BadRequestException();
}
$itemId = intval($parameters['item']);
$pinned = !Item::getPinned($itemId, local_user());
Item::setPinned($itemId, local_user(), $pinned);
// See if we've been passed a return path to redirect to
$returnPath = $_REQUEST['return'] ?? '';
if (!empty($returnPath)) {
$rand = '_=' . time() . (strpos($returnPath, '?') ? '&' : '?') . 'rand';
self::getApp()->internalRedirect($returnPath . $rand);
}
// the json doesn't really matter, it will either be 0 or 1
echo json_encode((int)$pinned);
exit();
}
}

View file

@ -33,7 +33,7 @@ class Profile extends BaseModule
public static $which = '';
public static $profile = 0;
public static function init()
public static function init(array $parameters = [])
{
$a = self::getApp();
@ -51,7 +51,7 @@ class Profile extends BaseModule
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
if (ActivityPub::isRequest()) {
$user = DBA::selectFirst('user', ['uid'], ['nickname' => self::$which]);
@ -75,7 +75,7 @@ class Profile extends BaseModule
}
}
public static function content($update = 0)
public static function content(array $parameters = [], $update = 0)
{
$a = self::getApp();
@ -177,7 +177,7 @@ class Profile extends BaseModule
}
if (!$update) {
$tab = Strings::escapeTags(trim($_GET['tab'] ?? ''));
$tab = Strings::escapeTags(trim($_GET['tab'] ?? ''));
$o .= ProfileModel::getTabs($a, $tab, $is_owner, $a->profile['nickname']);
@ -349,7 +349,13 @@ class Profile extends BaseModule
$items = DBA::toArray($items_stmt);
$o .= conversation($a, $items, $pager, 'profile', $update, false, 'received', $a->profile['profile_uid']);
if ($pager->getStart() == 0 && !empty($a->profile['profile_uid'])) {
$pinned_items = Item::selectPinned($a->profile['profile_uid'], ['uri', 'pinned'], ['true' . $sql_extra]);
$pinned = Item::inArray($pinned_items);
$items = array_merge($items, $pinned);
}
$o .= conversation($a, $items, $pager, 'profile', $update, false, 'pinned_received', $a->profile['profile_uid']);
if (!$update) {
$o .= $pager->renderMinimal(count($items));

View file

@ -18,7 +18,7 @@ use Friendica\Util\Proxy as ProxyUtils;
class Contacts extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('User not found.'));

View file

@ -30,7 +30,7 @@ class Proxy extends BaseModule
* Sets application instance and checks if /proxy/ path is writable.
*
*/
public static function init()
public static function init(array $parameters = [])
{
// Set application instance here
$a = self::getApp();

View file

@ -12,7 +12,7 @@ use Friendica\Network\HTTPException\BadRequestException;
*/
class PublicRSAKey extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();

View file

@ -11,7 +11,7 @@ use Friendica\Model\GContact;
*/
class RandomProfile extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -11,7 +11,7 @@ use Friendica\Util\XML;
*/
class ReallySimpleDiscovery extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
header('Content-Type: text/xml');

View file

@ -35,7 +35,7 @@ class Register extends BaseModule
*
* @return string
*/
public static function content()
public static function content(array $parameters = [])
{
// logged in users can register others (people/pages/groups)
// even with closed registrations, unless specifically prohibited by site policy.
@ -152,7 +152,7 @@ class Register extends BaseModule
* Extend this method if the module is supposed to process POST requests.
* Doesn't display any content
*/
public static function post()
public static function post(array $parameters = [])
{
BaseModule::checkFormSecurityTokenRedirectOnError('/register', 'register');
@ -261,6 +261,11 @@ class Register extends BaseModule
$a->internalRedirect('register/');
}
// Is there text in the tar pit?
if (!empty($_POST['registertarpit'])) {
\notice(L10n::t('You have entered too much information.'));
$a->internalRedirect('register/');
}
Model\Register::createForApproval($user['uid'], Config::get('system', 'language'), $_POST['permonlybox']);

View file

@ -9,7 +9,7 @@ use Friendica\BaseModule;
*/
class RobotsTxt extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$allDisalloweds = [
'/settings/',

View file

@ -31,7 +31,7 @@ class Acl extends BaseModule
const TYPE_PRIVATE_MESSAGE = 'm';
const TYPE_ANY_CONTACT = 'a';
public static function rawContent()
public static function rawContent(array $parameters = [])
{
if (!local_user()) {
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this module.'));

View file

@ -13,7 +13,7 @@ use Friendica\Util\Strings;
*/
class Directory extends BaseSearchModule
{
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
notice(L10n::t('Permission denied.'));

View file

@ -23,7 +23,7 @@ use Friendica\Util\Strings;
class Index extends BaseSearchModule
{
public static function content()
public static function content(array $parameters = [])
{
$search = (!empty($_GET['q']) ? Strings::escapeTags(trim(rawurldecode($_GET['q']))) : '');

View file

@ -10,7 +10,7 @@ use Friendica\Util\Strings;
class Saved extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
/** @var Arguments $args */
$args = self::getClass(Arguments::class);

View file

@ -20,7 +20,7 @@ use Friendica\Util\Strings;
*/
class Delegation extends BaseSettingsModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!local_user() || !empty(self::getApp()->user['uid']) && self::getApp()->user['uid'] != local_user()) {
throw new HTTPException\ForbiddenException(L10n::t('Permission denied.'));
@ -46,9 +46,9 @@ class Delegation extends BaseSettingsModule
DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]);
}
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
if (!local_user()) {
throw new HTTPException\ForbiddenException(L10n::t('Permission denied.'));

View file

@ -20,7 +20,7 @@ class AppSpecific extends BaseSettingsModule
{
private static $appSpecificPassword = null;
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
return;
@ -38,7 +38,7 @@ class AppSpecific extends BaseSettingsModule
}
}
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -81,13 +81,13 @@ class AppSpecific extends BaseSettingsModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
return Login::form('settings/2fa/app_specific');
}
parent::content();
parent::content($parameters);
$appSpecificPasswords = AppSpecificPassword::getListForUser(local_user());

View file

@ -17,7 +17,7 @@ use PragmaRX\Google2FA\Google2FA;
class Index extends BaseSettingsModule
{
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -73,13 +73,13 @@ class Index extends BaseSettingsModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
return Login::form('settings/2fa');
}
parent::content();
parent::content($parameters);
$has_secret = (bool) PConfig::get(local_user(), '2fa', 'secret');
$verified = PConfig::get(local_user(), '2fa', 'verified');

View file

@ -18,7 +18,7 @@ use Friendica\Module\Login;
*/
class Recovery extends BaseSettingsModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
return;
@ -36,7 +36,7 @@ class Recovery extends BaseSettingsModule
}
}
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -53,13 +53,13 @@ class Recovery extends BaseSettingsModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
return Login::form('settings/2fa/recovery');
}
parent::content();
parent::content($parameters);
if (!RecoveryCode::countValidForUser(local_user())) {
RecoveryCode::generateForUser(local_user());

View file

@ -24,7 +24,7 @@ use PragmaRX\Google2FA\Google2FA;
*/
class Verify extends BaseSettingsModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
return;
@ -43,7 +43,7 @@ class Verify extends BaseSettingsModule
}
}
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -69,13 +69,13 @@ class Verify extends BaseSettingsModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
return Login::form('settings/2fa/verify');
}
parent::content();
parent::content($parameters);
$company = 'Friendica';
$holder = Session::get('my_address');

View file

@ -32,9 +32,9 @@ class UserExport extends BaseSettingsModule
* If there is an action required through the URL / path, react
* accordingly and export the requested data.
**/
public static function content()
public static function content(array $parameters = [])
{
parent::content();
parent::content($parameters);
/**
* options shown on "Export personal data" page
@ -59,7 +59,7 @@ class UserExport extends BaseSettingsModule
* to the browser which then offers a save / open dialog
* to the user.
**/
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$args = self::getClass(Arguments::class);
if ($args->getArgc() == 3) {

View file

@ -12,7 +12,7 @@ use Friendica\Core\System;
*/
class Smilies extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();
@ -26,7 +26,7 @@ class Smilies extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
$smilies = Content\Smilies::getList();
$count = count($smilies['texts'] ?? []);

View file

@ -10,51 +10,36 @@ use Friendica\Model\Item;
*/
class Starred extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$a = self::getApp();
$starred = 0;
$itemId = null;
if (!local_user()) {
exit();
throw new \Friendica\Network\HTTPException\ForbiddenException();
}
// @TODO: Replace with parameter from router
if ($a->argc > 1) {
$itemId = intval($a->argv[1]);
if (empty($parameters['item'])) {
throw new \Friendica\Network\HTTPException\BadRequestException();
}
if (!$itemId) {
exit();
}
$itemId = intval($parameters['item']);
$item = Item::selectFirstForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $itemId]);
if (empty($item)) {
exit();
throw new \Friendica\Network\HTTPException\NotFoundException();
}
if (!intval($item['starred'])) {
$starred = 1;
}
$starred = !(bool)$item['starred'];
Item::update(['starred' => $starred], ['id' => $itemId]);
// See if we've been passed a return path to redirect to
$returnPath = $_REQUEST['return'] ?? '';
if ($returnPath) {
$rand = '_=' . time();
if (strpos($returnPath, '?')) {
$rand = "&$rand";
} else {
$rand = "?$rand";
}
$a->internalRedirect($returnPath . $rand);
if (!empty($returnPath)) {
$rand = '_=' . time() . (strpos($returnPath, '?') ? '&' : '?') . 'rand';
self::getApp()->internalRedirect($returnPath . $rand);
}
// the json doesn't really matter, it will either be 0 or 1
echo json_encode($starred);
echo json_encode((int)$starred);
exit();
}
}

View file

@ -8,7 +8,7 @@ use Friendica\Core\System;
class Statistics extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
$config = self::getApp()->getConfig();
@ -17,7 +17,7 @@ class Statistics extends BaseModule
}
}
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$config = self::getApp()->getConfig();
$logger = self::getApp()->getLogger();

View file

@ -10,7 +10,7 @@ use Friendica\Util\Strings;
*/
class Theme extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
header("Content-Type: text/css");

View file

@ -10,7 +10,7 @@ use Friendica\Core\Theme;
*/
class ThemeDetails extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
if (!empty($_REQUEST['theme'])) {
$theme = $_REQUEST['theme'];

View file

@ -9,7 +9,7 @@ use Friendica\BaseModule;
*/
class ToggleMobile extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$a = self::getApp();

View file

@ -47,7 +47,7 @@ class Tos extends BaseModule
* dealings with their own node so a TOS is not necessary.
*
**/
public static function init()
public static function init(array $parameters = [])
{
if (strlen(Config::get('system','singleuser'))) {
self::getApp()->internalRedirect('profile/' . Config::get('system','singleuser'));
@ -66,7 +66,7 @@ class Tos extends BaseModule
* @return string
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
public static function content() {
public static function content(array $parameters = []) {
$tpl = Renderer::getMarkupTemplate('tos.tpl');
if (Config::get('system', 'tosdisplay')) {
return Renderer::replaceMacros($tpl, [

View file

@ -15,14 +15,14 @@ use Friendica\Model\TwoFactor\RecoveryCode;
*/
class Recovery extends BaseModule
{
public static function init()
public static function init(array $parameters = [])
{
if (!local_user()) {
return;
}
}
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -48,7 +48,7 @@ class Recovery extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
self::getApp()->internalRedirect();

View file

@ -18,7 +18,7 @@ class Verify extends BaseModule
{
private static $errors = [];
public static function post()
public static function post(array $parameters = [])
{
if (!local_user()) {
return;
@ -45,7 +45,7 @@ class Verify extends BaseModule
}
}
public static function content()
public static function content(array $parameters = [])
{
if (!local_user()) {
self::getApp()->internalRedirect();

View file

@ -11,7 +11,7 @@ use Friendica\Core\Renderer;
*/
class Welcome extends BaseModule
{
public static function content()
public static function content(array $parameters = [])
{
$config = self::getApp()->getConfig();

View file

@ -13,7 +13,7 @@ use Friendica\Util\Crypto;
*/
class HostMeta extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();

View file

@ -11,7 +11,7 @@ use Friendica\Model\Search;
*/
class XSocialRelay extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();
$config = $app->getConfig();

View file

@ -17,7 +17,7 @@ use Friendica\Util\Strings;
*/
class Xrd extends BaseModule
{
public static function rawContent()
public static function rawContent(array $parameters = [])
{
$app = self::getApp();

View file

@ -140,8 +140,11 @@ class Post extends BaseObject
$sparkle = '';
$buttons = '';
$dropping = false;
$pinned = '';
$pin = false;
$star = false;
$ignore = false;
$ispinned = "unpinned";
$isstarred = "unstarred";
$indent = '';
$shiny = '';
@ -190,6 +193,8 @@ class Post extends BaseObject
if (DBA::isResult($parent)) {
$origin = $parent['origin'];
}
} elseif ($item['pinned']) {
$pinned = L10n::t('pinned item');
}
if ($origin && ($item['id'] != $item['parent']) && ($item['network'] == Protocol::ACTIVITYPUB)) {
@ -284,6 +289,19 @@ class Post extends BaseObject
}
if ($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) {
if ($origin) {
$ispinned = ($item['pinned'] ? 'pinned' : 'unpinned');
$pin = [
'do' => L10n::t('pin'),
'undo' => L10n::t('unpin'),
'toggle' => L10n::t('toggle pin status'),
'classdo' => $item['pinned'] ? 'hidden' : '',
'classundo' => $item['pinned'] ? '' : 'hidden',
'pinned' => L10n::t('pinned'),
];
}
$isstarred = (($item['starred']) ? "starred" : "unstarred");
$star = [
@ -407,6 +425,9 @@ class Post extends BaseObject
'owner_name' => $owner_name_e,
'plink' => Item::getPlink($item),
'edpost' => $edpost,
'ispinned' => $ispinned,
'pin' => $pin,
'pinned' => $pinned,
'isstarred' => $isstarred,
'star' => $star,
'ignore' => $ignore,

View file

@ -5,6 +5,8 @@
namespace Friendica\Protocol\ActivityPub;
use Friendica\Database\DBA;
use Friendica\Content\Text\HTML;
use Friendica\Content\Text\Markdown;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
use Friendica\Model\Contact;
@ -874,6 +876,52 @@ class Receiver
return $attachlist;
}
/**
* Fetch the original source or content with the "language" Markdown or HTML
*
* @param array $object
* @param array $object_data
*
* @return array
* @throws \Exception
*/
private static function getSource($object, $object_data)
{
$object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/bbcode');
$object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value');
if (!empty($object_data['source'])) {
return $object_data;
}
$object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/markdown');
$object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value');
if (!empty($object_data['source'])) {
$object_data['source'] = Markdown::toBBCode($object_data['source']);
return $object_data;
}
$object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/html');
$object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value');
if (!empty($object_data['source'])) {
$object_data['source'] = HTML::toBBCode($object_data['source']);
return $object_data;
}
$markdown = JsonLD::fetchElement($object, 'as:content', '@value', '@language', 'text/markdown');
if (!empty($markdown)) {
$object_data['source'] = Markdown::toBBCode($markdown);
return $object_data;
}
$html = JsonLD::fetchElement($object, 'as:content', '@value', '@language', 'text/html');
if (!empty($html)) {
$object_data['source'] = HTML::toBBCode($markdown);
return $object_data;
}
return $object_data;
}
/**
* Fetches data from the object part of an activity
*
@ -924,8 +972,7 @@ class Receiver
$object_data['name'] = JsonLD::fetchElement($object, 'as:name', '@value');
$object_data['summary'] = JsonLD::fetchElement($object, 'as:summary', '@value');
$object_data['content'] = JsonLD::fetchElement($object, 'as:content', '@value');
$object_data['source'] = JsonLD::fetchElement($object, 'as:source', 'as:content', 'as:mediaType', 'text/bbcode');
$object_data['source'] = JsonLD::fetchElement($object_data, 'source', '@value');
$object_data = self::getSource($object, $object_data);
$object_data['start-time'] = JsonLD::fetchElement($object, 'as:startTime', '@value');
$object_data['end-time'] = JsonLD::fetchElement($object, 'as:endTime', '@value');
$object_data['location'] = JsonLD::fetchElement($object, 'as:location', 'as:name', '@type', 'as:Place');

View file

@ -19,6 +19,7 @@ use Friendica\Model\Contact;
use Friendica\Model\Conversation;
use Friendica\Model\Item;
use Friendica\Model\Profile;
use Friendica\Model\Photo;
use Friendica\Model\Term;
use Friendica\Model\User;
use Friendica\Protocol\Activity;
@ -1097,19 +1098,34 @@ class Transmitter
}
/**
* Remove image elements and replaces them with links to the image
* Remove image elements since they are added as attachment
*
* @param string $body
*
* @return string with replaced elements
* @return string with removed images
*/
private static function removePictures($body)
{
// Simplify image codes
$body = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/ism", '[img]$3[/img]', $body);
$body = preg_replace("/\[img\=(.*?)\](.*?)\[\/img\]/ism", '[img]$1[/img]', $body);
$body = preg_replace("/\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]/Usi", '[url]$1[/url]', $body);
$body = preg_replace("/\[img\]([^\[\]]*)\[\/img\]/Usi", '[url]$1[/url]', $body);
// Now remove local links
$body = preg_replace_callback(
'/\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]/Usi',
function ($match) {
// We remove the link when it is a link to a local photo page
if (Photo::isLocalPage($match[1])) {
return '';
}
// otherwise we just return the link
return '[url]' . $match[1] . '[/url]';
},
$body
);
// Remove all pictures
$body = preg_replace("/\[img\]([^\[\]]*)\[\/img\]/Usi", '', $body);
return $body;
}
@ -1254,6 +1270,12 @@ class Transmitter
$data['content'] = BBCode::convert($body, false, 9);
}
$regexp = "/[@!]\[url\=([^\[\]]*)\].*?\[\/url\]/ism";
$richbody = preg_replace_callback($regexp, ['self', 'mentionCallback'], $item['body']);
$data['contentMap']['text/html'] = BBCode::convert($richbody, false);
$data['contentMap']['text/markdown'] = BBCode::toMarkdown($item["body"]);
$data['source'] = ['content' => $item['body'], 'mediaType' => "text/bbcode"];
if (!empty($item['signed_text']) && ($item['uri'] != $item['thr-parent'])) {

View file

@ -2476,7 +2476,7 @@ class Diaspora
return false;
}
$cid = Contact::getIdForURL($ret['url'], $uid);
$cid = Contact::getIdForURL($ret['url'], $importer['uid']);
if (!empty($cid)) {
$contact = DBA::selectFirst('contact', [], ['id' => $cid, 'network' => Protocol::NATIVE_SUPPORT]);
} else {

View file

@ -34,7 +34,7 @@
use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1323);
define('DB_UPDATE_VERSION', 1324);
}
return [
@ -868,7 +868,6 @@ return [
"comment" => "notifications",
"fields" => [
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
"hash" => ["type" => "varchar(64)", "not null" => "1", "default" => "", "comment" => ""],
"type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
"name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
"url" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@ -887,7 +886,6 @@ return [
],
"indexes" => [
"PRIMARY" => ["id"],
"hash_uid" => ["hash", "uid"],
"seen_uid_date" => ["seen", "uid", "date"],
"uid_date" => ["uid", "date"],
"uid_type_link" => ["uid", "type", "link(190)"],
@ -1384,10 +1382,12 @@ return [
"iid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["item" => "id"], "comment" => "Item id"],
"uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => ["user" => "uid"], "comment" => "User id"],
"hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide an item from the user"],
"ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"]
"ignored" => ["type" => "boolean", "comment" => "Ignore this thread if set"],
"pinned" => ["type" => "boolean", "comment" => "The item is pinned on the profile page"]
],
"indexes" => [
"PRIMARY" => ["uid", "iid"]
"PRIMARY" => ["uid", "iid"],
"uid_pinned" => ["uid", "pinned"]
]
],
"worker-ipc" => [

View file

@ -171,7 +171,7 @@ return [
$_SERVER, null
],
'call' => [
['addRoutes', [include __DIR__ . '/routes.config.php'], Dice::CHAIN_CALL],
['loadRoutes', [include __DIR__ . '/routes.config.php'], Dice::CHAIN_CALL],
],
],
L10n::class => [

View file

@ -179,8 +179,9 @@ return [
'/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]],
],
'/pretheme' => [Module\ThemeDetails::class, [R::GET]],
'/probe' => [Module\Debug\Probe::class, [R::GET]],
'/pinned/{item:\d+}' => [Module\Pinned::class, [R::GET]],
'/pretheme' => [Module\ThemeDetails::class, [R::GET]],
'/probe' => [Module\Debug\Probe::class, [R::GET]],
'/profile' => [
'/{nickname}' => [Module\Profile::class, [R::GET]],

View file

@ -200,7 +200,7 @@ class ModeTest extends MockedTest
public function testIsBackendButIndex()
{
$server = [];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, true);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], true);
$mobileDetect = new MobileDetect();
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
@ -214,7 +214,7 @@ class ModeTest extends MockedTest
public function testIsNotBackend()
{
$server = [];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
$mobileDetect = new MobileDetect();
$mode = (new Mode())->determineRunMode(false, $module, $server, $mobileDetect);
@ -232,7 +232,7 @@ class ModeTest extends MockedTest
'HTTP_X_REQUESTED_WITH' => 'xmlhttprequest',
];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
$mobileDetect = new MobileDetect();
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
@ -246,7 +246,7 @@ class ModeTest extends MockedTest
public function testIsNotAjax()
{
$server = [];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
$mobileDetect = new MobileDetect();
$mode = (new Mode())->determineRunMode(true, $module, $server, $mobileDetect);
@ -260,7 +260,7 @@ class ModeTest extends MockedTest
public function testIsMobileIsTablet()
{
$server = [];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
$mobileDetect = \Mockery::mock(MobileDetect::class);
$mobileDetect->shouldReceive('isMobile')->andReturn(true);
$mobileDetect->shouldReceive('isTablet')->andReturn(true);
@ -278,7 +278,7 @@ class ModeTest extends MockedTest
public function testIsNotMobileIsNotTablet()
{
$server = [];
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, false);
$module = new Module(Module::DEFAULT, Module::DEFAULT_CLASS, [], false);
$mobileDetect = \Mockery::mock(MobileDetect::class);
$mobileDetect->shouldReceive('isMobile')->andReturn(false);
$mobileDetect->shouldReceive('isTablet')->andReturn(false);

View file

@ -152,7 +152,7 @@ class ModuleTest extends DatabaseTest
$config = \Mockery::mock(Configuration::class);
$config->shouldReceive('get')->with('config', 'private_addons', false)->andReturn($privAdd)->atMost()->once();
$router = (new App\Router([]))->addRoutes(include __DIR__ . '/../../../static/routes.config.php');
$router = (new App\Router([]))->loadRoutes(include __DIR__ . '/../../../static/routes.config.php');
$module = (new App\Module($name))->determineClass(new App\Arguments('', $command), $router, $config);

View file

@ -159,7 +159,7 @@ class RouterTest extends TestCase
{
$router = (new Router([
'REQUEST_METHOD' => Router::GET
]))->addRoutes($routes);
]))->loadRoutes($routes);
$this->assertEquals(Module\Home::class, $router->getModuleClass('/'));
$this->assertEquals(Module\Friendica::class, $router->getModuleClass('/group/route'));
@ -174,7 +174,7 @@ class RouterTest extends TestCase
{
$router = (new Router([
'REQUEST_METHOD' => Router::POST
]))->addRoutes($routes);
]))->loadRoutes($routes);
// Don't find GET
$this->assertEquals(Module\NodeInfo::class, $router->getModuleClass('/post/it'));

View file

@ -626,6 +626,25 @@ function dostar(ident) {
});
}
function dopin(ident) {
ident = ident.toString();
$('#like-rotator-' + ident).show();
$.get('pinned/' + ident, function(data) {
if (data.match(/1/)) {
$('#pinned-' + ident).addClass('pinned');
$('#pinned-' + ident).removeClass('unpinned');
$('#pin-' + ident).addClass('hidden');
$('#unpin-' + ident).removeClass('hidden');
} else {
$('#pinned-' + ident).addClass('unpinned');
$('#pinned-' + ident).removeClass('pinned');
$('#pin-' + ident).removeClass('hidden');
$('#unpin-' + ident).addClass('hidden');
}
$('#like-rotator-' + ident).hide();
});
}
function doignore(ident) {
ident = ident.toString();
$('#like-rotator-' + ident).show();

View file

</
@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-15 07:45+0200\n"
"POT-Creation-Date: 2019-11-04 10:26+0100\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"
@ -18,824 +18,780 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: include/items.php:354 src/Module/Admin/Themes/Details.php:53
#: src/Module/Admin/Themes/Index.php:43 src/Module/Debug/ItemBody.php:27
#: src/Module/Debug/ItemBody.php:40
msgid "Item not found."
msgstr ""
#: include/items.php:392
msgid "Do you really want to delete this item?"
msgstr ""
#: include/items.php:394 mod/api.php:109 mod/profiles.php:526
#: mod/profiles.php:529 mod/profiles.php:551 mod/dfrn_request.php:640
#: mod/follow.php:163 mod/message.php:150 mod/suggest.php:73
#: mod/settings.php:1089 mod/settings.php:1095 mod/settings.php:1102
#: mod/settings.php:1106 mod/settings.php:1110 mod/settings.php:1114
#: mod/settings.php:1118 mod/settings.php:1122 mod/settings.php:1142
#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145
#: mod/settings.php:1146 src/Module/Register.php:97 src/Module/Contact.php:423
msgid "Yes"
msgstr ""
#: include/items.php:397 include/conversation.php:1251 mod/tagrm.php:20
#: mod/tagrm.php:115 mod/unfollow.php:132 mod/dfrn_request.php:650
#: mod/editpost.php:110 mod/fbrowser.php:110 mod/fbrowser.php:139
#: mod/follow.php:174 mod/message.php:153 mod/photos.php:1084
#: mod/photos.php:1191 mod/suggest.php:76 mod/settings.php:678
#: mod/settings.php:704 src/Module/Contact.php:426
msgid "Cancel"
msgstr ""
#: include/items.php:444 mod/api.php:34 mod/api.php:39 mod/delegate.php:30
#: mod/delegate.php:48 mod/delegate.php:59 mod/ostatus_subscribe.php:18
#: mod/regmod.php:89 mod/repair_ostatus.php:16 mod/uimport.php:17
#: mod/unfollow.php:22 mod/unfollow.php:77 mod/unfollow.php:109
#: mod/wall_attach.php:76 mod/wall_attach.php:79 mod/wall_upload.php:107
#: mod/wall_upload.php:110 mod/wallmessage.php:19 mod/wallmessage.php:43
#: mod/wallmessage.php:82 mod/wallmessage.php:106 mod/profiles.php:182
#: mod/profiles.php:499 mod/cal.php:301 mod/common.php:27 mod/crepair.php:90
#: mod/dfrn_confirm.php:64 mod/editpost.php:21 mod/follow.php:57
#: mod/follow.php:134 mod/fsuggest.php:63 mod/manage.php:130 mod/message.php:56
#: mod/message.php:101 mod/network.php:37 mod/notes.php:27 mod/photos.php:178
#: mod/photos.php:962 mod/poke.php:141 mod/profile_photo.php:32
#: mod/profile_photo.php:177 mod/profile_photo.php:197 mod/suggest.php:39
#: mod/events.php:208 mod/item.php:170 mod/notifications.php:73
#: mod/settings.php:52 mod/settings.php:165 mod/settings.php:667
#: src/Module/Attach.php:42 src/Module/FollowConfirm.php:27
#: src/Module/Group.php:31 src/Module/Group.php:77 src/Module/Invite.php:22
#: src/Module/Invite.php:110 src/Module/Notifications/Notify.php:19
#: src/Module/Profile/Contacts.php:50 src/Module/Register.php:192
#: src/Module/Search/Directory.php:18 src/Module/Contact.php:340
msgid "Permission denied."
msgstr ""
#: include/api.php:1119
#: include/api.php:1121
#, php-format
msgid "Daily posting limit of %d post reached. The post was rejected."
msgid_plural "Daily posting limit of %d posts reached. The post was rejected."
msgstr[0] ""
msgstr[1] ""
#: include/api.php:1133
#: include/api.php:1135
#, php-format
msgid "Weekly posting limit of %d post reached. The post was rejected."
msgid_plural "Weekly posting limit of %d posts reached. The post was rejected."
msgstr[0] ""
msgstr[1] ""
#: include/api.php:1147
#: include/api.php:1149
#, php-format
msgid "Monthly posting limit of %d post reached. The post was rejected."
msgstr ""
#: include/api.php:4589 mod/photos.php:91 mod/photos.php:196 mod/photos.php:640
#: mod/photos.php:1090 mod/photos.php:1107 mod/photos.php:1610
#: mod/profile_photo.php:85 mod/profile_photo.php:94 mod/profile_photo.php:103
#: mod/profile_photo.php:210 mod/profile_photo.php:298
#: mod/profile_photo.php:308 src/Model/User.php:796 src/Model/User.php:804
#: src/Model/User.php:812
#: include/api.php:4566 mod/profile_photo.php:85 mod/profile_photo.php:94
#: mod/profile_photo.php:103 mod/profile_photo.php:210
#: mod/profile_photo.php:298 mod/profile_photo.php:308 mod/photos.php:90
#: mod/photos.php:181 mod/photos.php:628 mod/photos.php:1055
#: mod/photos.php:1072 mod/photos.php:1580 src/Model/User.php:841
#: src/Model/User.php:849 src/Model/User.php:857
msgid "Profile Photos"
msgstr ""
#: include/conversation.php:161 include/conversation.php:298
#: src/Model/Item.php:3309
#: include/conversation.php:167 include/conversation.php:304
#: src/Model/Item.php:3322
msgid "event"
msgstr ""
#: include/conversation.php:164 include/conversation.php:174
#: include/conversation.php:301 include/conversation.php:310
#: mod/subthread.php:88 mod/tagger.php:69
#: include/conversation.php:170 include/conversation.php:180
#: include/conversation.php:307 include/conversation.php:316
#: mod/subthread.php:91 mod/tagger.php:72
msgid "status"
msgstr ""
#: include/conversation.php:169 include/conversation.php:306
#: mod/subthread.php:88 mod/tagger.php:69 src/Model/Item.php:3311
#: include/conversation.php:175 include/conversation.php:312
#: mod/subthread.php:91 mod/tagger.php:72 src/Model/Item.php:3324
msgid "photo"
msgstr ""
#: include/conversation.php:182
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr ""
#: include/conversation.php:184
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
#: include/conversation.php:186
#, php-format
msgid "%1$s attends %2$s's %3$s"
msgstr ""
#: include/conversation.php:188
#, php-format
msgid "%1$s doesn't attend %2$s's %3$s"
msgid "%1$s likes %2$s's %3$s"
msgstr ""
#: include/conversation.php:190
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
#: include/conversation.php:192
#, php-format
msgid "%1$s attends %2$s's %3$s"
msgstr ""
#: include/conversation.php:194
#, php-format
msgid "%1$s doesn't attend %2$s's %3$s"
msgstr ""
#: include/conversation.php:196
#, php-format
msgid "%1$s attends maybe %2$s's %3$s"
msgstr ""
#: include/conversation.php:225
#: include/conversation.php:231
#, php-format
msgid "%1$s is now friends with %2$s"
msgstr ""
#: include/conversation.php:266
#: include/conversation.php:272
#, php-format
msgid "%1$s poked %2$s"
msgstr ""
#: include/conversation.php:320 mod/tagger.php:102
#: include/conversation.php:326 mod/tagger.php:105
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
#: include/conversation.php:342
#: include/conversation.php:348
msgid "post/item"
msgstr ""
#: include/conversation.php:343
#: include/conversation.php:349
#, php-format
msgid "%1$s marked %2$s's %3$s as favorite"
msgstr ""
#: include/conversation.php:569 mod/profiles.php:352 mod/photos.php:1442
#: include/conversation.php:574 mod/photos.php:1407 mod/profiles.php:352
msgid "Likes"
msgstr ""
#: include/conversation.php:570 mod/profiles.php:355 mod/photos.php:1442
#: include/conversation.php:575 mod/photos.php:1407 mod/profiles.php:355
msgid "Dislikes"
msgstr ""
#: include/conversation.php:571 include/conversation.php:1566
#: mod/photos.php:1443
#: include/conversation.php:576 include/conversation.php:1577
#: mod/photos.php:1408
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
#: include/conversation.php:572 mod/photos.php:1443
#: include/conversation.php:577 mod/photos.php:1408
msgid "Not attending"
msgstr ""
#: include/conversation.php:573 mod/photos.php:1443
#: include/conversation.php:578 mod/photos.php:1408
msgid "Might attend"
msgstr ""
#: include/conversation.php:574
#: include/conversation.php:579
msgid "Reshares"
msgstr ""
#: include/conversation.php:654 mod/photos.php:1499 src/Object/Post.php:209
#: include/conversation.php:659 mod/photos.php:1469 src/Object/Post.php:206
msgid "Select"
msgstr ""
#: include/conversation.php:655 mod/photos.php:1500 mod/settings.php:738
#: src/Module/Admin/Users.php:288 src/Module/Contact.php:805
#: src/Module/Contact.php:1086
#: include/conversation.php:660 mod/photos.php:1470 mod/settings.php:730
#: src/Module/Admin/Users.php:288 src/Module/Contact.php:826
#: src/Module/Contact.php:1107
msgid "Delete"
msgstr ""
#: include/conversation.php:681 src/Object/Post.php:383 src/Object/Post.php:384
#: include/conversation.php:689 src/Object/Post.php:383 src/Object/Post.php:384
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: include/conversation.php:694 src/Object/Post.php:371
#: include/conversation.php:702 src/Object/Post.php:371
msgid "Categories:"
msgstr ""
#: include/conversation.php:695 src/Object/Post.php:372
#: include/conversation.php:703 src/Object/Post.php:372
msgid "Filed under:"
msgstr ""
#: include/conversation.php:702 src/Object/Post.php:397
#: include/conversation.php:710 src/Object/Post.php:397
#, php-format
msgid "%s from %s"
msgstr ""
#: include/conversation.php:717
#: include/conversation.php:725
msgid "View in context"
msgstr ""
#: include/conversation.php:719 include/conversation.php:1232
#: mod/wallmessage.php:141 mod/editpost.php:86 mod/message.php:260
#: mod/message.php:442 mod/photos.php:1415 src/Module/Item/Compose.php:193
#: include/conversation.php:727 include/conversation.php:1243
#: mod/editpost.php:87 mod/message.php:260 mod/message.php:442
#: mod/photos.php:1380 mod/wallmessage.php:141 src/Module/Item/Compose.php:197
#: src/Object/Post.php:424
msgid "Please wait"
msgstr ""
#: include/conversation.php:783
#: include/conversation.php:791
msgid "remove"
msgstr ""
#: include/conversation.php:787
#: include/conversation.php:795
msgid "Delete Selected Items"
msgstr ""
#: include/conversation.php:942 view/theme/frio/theme.php:363
#: include/conversation.php:950 view/theme/frio/theme.php:363
msgid "Follow Thread"
msgstr ""
#: include/conversation.php:943 src/Model/Contact.php:1225
#: include/conversation.php:951 src/Model/Contact.php:1255
msgid "View Status"
msgstr ""
#: include/conversation.php:944 include/conversation.php:962 mod/match.php:87
#: mod/suggest.php:87 src/Model/Contact.php:1165 src/Model/Contact.php:1218
#: src/Model/Contact.php:1226 src/Module/AllFriends.php:74
#: src/Module/BaseSearchModule.php:133 src/Module/Directory.php:150
#: include/conversation.php:952 include/conversation.php:970 mod/suggest.php:87
#: mod/match.php:87 src/Model/Contact.php:1185 src/Model/Contact.php:1247
#: src/Model/Contact.php:1256 src/Module/AllFriends.php:74
#: src/Module/BaseSearchModule.php:137 src/Module/Directory.php:148
msgid "View Profile"
msgstr ""
#: include/conversation.php:945 src/Model/Contact.php:1227
#: include/conversation.php:953 src/Model/Contact.php:1257
msgid "View Photos"
msgstr ""
#: include/conversation.php:946 src/Model/Contact.php:1219
#: src/Model/Contact.php:1228
#: include/conversation.php:954 src/Model/Contact.php:1248
#: src/Model/Contact.php:1258
msgid "Network Posts"
msgstr ""
#: include/conversation.php:947 src/Model/Contact.php:1220
#: src/Model/Contact.php:1229
#: include/conversation.php:955 src/Model/Contact.php:1249
#: src/Model/Contact.php:1259
msgid "View Contact"
msgstr ""
#: include/conversation.php:948 src/Model/Contact.php:1231
#: include/conversation.php:956 src/Model/Contact.php:1261
msgid "Send PM"
msgstr ""
#: include/conversation.php:949 src/Module/Admin/Blocklist/Contact.php:67
#: src/Module/Admin/Users.php:289 src/Module/Contact.php:585
#: src/Module/Contact.php:802 src/Module/Contact.php:1061
#: include/conversation.php:957 src/Module/Admin/Blocklist/Contact.php:67
#: src/Module/Admin/Users.php:289 src/Module/Contact.php:606
#: src/Module/Contact.php:823 src/Module/Contact.php:1082
msgid "Block"
msgstr ""
#: include/conversation.php:950 mod/notifications.php:63
#: mod/notifications.php:197 mod/notifications.php:290
#: src/Module/Contact.php:586 src/Module/Contact.php:803
#: src/Module/Contact.php:1069
#: include/conversation.php:958 mod/notifications.php:66
#: mod/notifications.php:201 mod/notifications.php:294
#: src/Module/Contact.php:607 src/Module/Contact.php:824
#: src/Module/Contact.php:1090
msgid "Ignore"
msgstr ""
#: include/conversation.php:954 src/Model/Contact.php:1232
#: include/conversation.php:962 src/Model/Contact.php:1262
msgid "Poke"
msgstr ""
#: include/conversation.php:959 mod/match.php:88 mod/follow.php:160
#: mod/suggest.php:88 view/theme/vier/theme.php:201 src/Content/Widget.php:66
#: src/Model/Contact.php:1221 src/Module/AllFriends.php:75
#: src/Module/BaseSearchModule.php:134
#: include/conversation.php:967 mod/suggest.php:88 mod/follow.php:160
#: mod/match.php:88 view/theme/vier/theme.php:178 src/Content/Widget.php:67
#: src/Model/Contact.php:1250 src/Model/Contact.php:1263
#: src/Module/AllFriends.php:75 src/Module/BaseSearchModule.php:138
msgid "Connect/Follow"
msgstr ""
#: include/conversation.php:1084
#: include/conversation.php:1095
#, php-format
msgid "%s likes this."
msgstr ""
#: include/conversation.php:1087
#: include/conversation.php:1098
#, php-format
msgid "%s doesn't like this."
msgstr ""
#: include/conversation.php:1090
#: include/conversation.php:1101
#, php-format
msgid "%s attends."
msgstr ""
#: include/conversation.php:1093
#: include/conversation.php:1104
#, php-format
msgid "%s doesn't attend."
msgstr ""
#: include/conversation.php:1096
#: include/conversation.php:1107
#, php-format
msgid "%s attends maybe."
msgstr ""
#: include/conversation.php:1099 include/conversation.php:1142
#: include/conversation.php:1110 include/conversation.php:1153
#, php-format
msgid "%s reshared this."
msgstr ""
#: include/conversation.php:1107
#: include/conversation.php:1118
msgid "and"
msgstr ""
#: include/conversation.php:1113
#: include/conversation.php:1124
#, php-format
msgid "and %d other people"
msgstr ""
#: include/conversation.php:1121
#: include/conversation.php:1132
#, php-format
msgid "<span %1$s>%2$d people</span> like this"
msgstr ""
#: include/conversation.php:1122
#: include/conversation.php:1133
#, php-format
msgid "%s like this."
msgstr ""
#: include/conversation.php:1125
#: include/conversation.php:1136
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this"
msgstr ""
#: include/conversation.php:1126
#: include/conversation.php:1137
#, php-format
msgid "%s don't like this."
msgstr ""
#: include/conversation.php:1129
#: include/conversation.php:1140
#, php-format
msgid "<span %1$s>%2$d people</span> attend"
msgstr ""
#: include/conversation.php:1130
#: include/conversation.php:1141
#, php-format
msgid "%s attend."
msgstr ""
#: include/conversation.php:1133
#: include/conversation.php:1144
#, php-format
msgid "<span %1$s>%2$d people</span> don't attend"
msgstr ""
#: include/conversation.php:1134
#: include/conversation.php:1145
#, php-format
msgid "%s don't attend."
msgstr ""
#: include/conversation.php:1137
#: include/conversation.php:1148
#, php-format
msgid "<span %1$s>%2$d people</span> attend maybe"
msgstr ""
#: include/conversation.php:1138
#: include/conversation.php:1149
#, php-format
msgid "%s attend maybe."
msgstr ""
#: include/conversation.php:1141
#: include/conversation.php:1152
#, php-format
msgid "<span %1$s>%2$d people</span> reshared this"
msgstr ""
#: include/conversation.php:1171
#: include/conversation.php:1182
msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: include/conversation.php:1172 src/Module/Item/Compose.php:187
#: src/Object/Post.php:888
#: include/conversation.php:1183 src/Module/Item/Compose.php:191
#: src/Object/Post.php:893
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
#: include/conversation.php:1173
#: include/conversation.php:1184
msgid "Tag term:"
msgstr ""
#: include/conversation.php:1174 src/Module/Filer/SaveTag.php:48
#: include/conversation.php:1185 src/Module/Filer/SaveTag.php:48
msgid "Save to Folder:"
msgstr ""
#: include/conversation.php:1175
#: include/conversation.php:1186
msgid "Where are you right now?"
msgstr ""
#: include/conversation.php:1176
#: include/conversation.php:1187
msgid "Delete item(s)?"
msgstr ""
#: include/conversation.php:1208
#: include/conversation.php:1219
msgid "New Post"
msgstr ""
#: include/conversation.php:1211
#: include/conversation.php:1222
msgid "Share"
msgstr ""
#: include/conversation.php:1212 mod/wallmessage.php:139 mod/editpost.php:72
#: mod/message.php:258 mod/message.php:439
#: include/conversation.php:1223 mod/editpost.php:73 mod/message.php:258
#: mod/message.php:439 mod/wallmessage.php:139
msgid "Upload photo"
msgstr ""
#: include/conversation.php:1213 mod/editpost.php:73
#: include/conversation.php:1224 mod/editpost.php:74
msgid "upload photo"
msgstr ""
#: include/conversation.php:1214 mod/editpost.php:74
#: include/conversation.php:1225 mod/editpost.php:75
msgid "Attach file"
msgstr ""
#: include/conversation.php:1215 mod/editpost.php:75
#: include/conversation.php:1226 mod/editpost.php:76
msgid "attach file"
msgstr ""
#: include/conversation.php:1216 src/Module/Item/Compose.php:179
#: src/Object/Post.php:880
#: include/conversation.php:1227 src/Module/Item/Compose.php:183
#: src/Object/Post.php:885
msgid "Bold"
msgstr ""
#: include/conversation.php:1217 src/Module/Item/Compose.php:180
#: src/Object/Post.php:881
#: include/conversation.php:1228 src/Module/Item/Compose.php:184
#: src/Object/Post.php:886
msgid "Italic"
msgstr ""
#: include/conversation.php:1218 src/Module/Item/Compose.php:181
#: src/Object/Post.php:882
#: include/conversation.php:1229 src/Module/Item/Compose.php:185
#: src/Object/Post.php:887
msgid "Underline"
msgstr ""
#: include/conversation.php:1219 src/Module/Item/Compose.php:182
#: src/Object/Post.php:883
#: include/conversation.php:1230 src/Module/Item/Compose.php:186
#: src/Object/Post.php:888
msgid "Quote"
msgstr ""
#: include/conversation.php:1220 src/Module/Item/Compose.php:183
#: src/Object/Post.php:884
#: include/conversation.php:1231 src/Module/Item/Compose.php:187
#: src/Object/Post.php:889
msgid "Code"
msgstr ""
#: include/conversation.php:1221 src/Module/Item/Compose.php:184
#: src/Object/Post.php:885
#: include/conversation.php:1232 src/Module/Item/Compose.php:188
#: src/Object/Post.php:890
msgid "Image"
msgstr ""
#: include/conversation.php:1222 src/Module/Item/Compose.php:185
#: src/Object/Post.php:886
#: include/conversation.php:1233 src/Module/Item/Compose.php:189
#: src/Object/Post.php:891
msgid "Link"
msgstr ""
#: include/conversation.php:1223 src/Module/Item/Compose.php:186
#: src/Object/Post.php:887
#: include/conversation.php:1234 src/Module/Item/Compose.php:190
#: src/Object/Post.php:892
msgid "Link or Media"
msgstr ""
#: include/conversation.php:1224 mod/editpost.php:82
#: src/Module/Item/Compose.php:189
#: include/conversation.php:1235 mod/editpost.php:83
#: src/Module/Item/Compose.php:193
msgid "Set your location"
msgstr ""
#: include/conversation.php:1225 mod/editpost.php:83
#: include/conversation.php:1236 mod/editpost.php:84
msgid "set location"
msgstr ""
#: include/conversation.php:1226 mod/editpost.php:84
#: include/conversation.php:1237 mod/editpost.php:85
msgid "Clear browser location"
msgstr ""
#: include/conversation.php:1227 mod/editpost.php:85
#: include/conversation.php:1238 mod/editpost.php:86
msgid "clear location"
msgstr ""
#: include/conversation.php:1229 mod/editpost.php:99
#: src/Module/Item/Compose.php:194
#: include/conversation.php:1240 mod/editpost.php:100
#: src/Module/Item/Compose.php:198
msgid "Set title"
msgstr ""
#: include/conversation.php:1231 mod/editpost.php:101
#: src/Module/Item/Compose.php:195
#: include/conversation.php:1242 mod/editpost.php:102
#: src/Module/Item/Compose.php:199
msgid "Categories (comma-separated list)"
msgstr ""
#: include/conversation.php:1233 mod/editpost.php:87
#: include/conversation.php:1244 mod/editpost.php:88
msgid "Permission settings"
msgstr ""
#: include/conversation.php:1234 mod/editpost.php:116
#: include/conversation.php:1245 mod/editpost.php:117
msgid "permissions"
msgstr ""
#: include/conversation.php:1243 mod/editpost.php:96
#: include/conversation.php:1254 mod/editpost.php:97
msgid "Public post"
msgstr ""
#: include/conversation.php:1247 mod/editpost.php:107 mod/photos.php:1433
#: mod/photos.php:1472 mod/photos.php:1532 mod/events.php:550
#: src/Module/Item/Compose.php:188 src/Object/Post.php:889
#: include/conversation.php:1258 mod/editpost.php:108 mod/events.php:556
#: mod/photos.php:1398 mod/photos.php:1437 mod/photos.php:1502
#: src/Module/Item/Compose.php:192 src/Object/Post.php:894
msgid "Preview"
msgstr ""
#: include/conversation.php:1256
#: include/conversation.php:1262 include/items.php:392 mod/suggest.php:76
#: mod/dfrn_request.php:652 mod/editpost.php:111 mod/fbrowser.php:110
#: mod/fbrowser.php:139 mod/follow.php:174 mod/message.php:153
#: mod/photos.php:1049 mod/photos.php:1156 mod/settings.php:670
#: mod/settings.php:696 mod/tagrm.php:20 mod/tagrm.php:115 mod/unfollow.php:132
#: src/Module/Contact.php:447
msgid "Cancel"
msgstr ""
#: include/conversation.php:1267
msgid "Post to Groups"
msgstr ""
#: include/conversation.php:1257
#: include/conversation.php:1268
msgid "Post to Contacts"
msgstr ""
#: include/conversation.php:1258
#: include/conversation.php:1269
msgid "Private post"
msgstr ""
#: include/conversation.php:1263 mod/editpost.php:114 src/Model/Profile.php:550
#: src/Module/Contact.php:301
#: include/conversation.php:1274 mod/editpost.php:115 src/Model/Profile.php:546
#: src/Module/Contact.php:322
msgid "Message"
msgstr ""
#: include/conversation.php:1264 mod/editpost.php:115
#: include/conversation.php:1275 mod/editpost.php:116
msgid "Browser"
msgstr ""
#: include/conversation.php:1536
#: include/conversation.php:1547
msgid "View all"
msgstr ""
#: include/conversation.php:1560
#: include/conversation.php:1571
msgid "Like"
msgid_plural "Likes"
msgstr[0] ""
msgstr[1] ""
#: include/conversation.php:1563
#: include/conversation.php:1574
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] ""
msgstr[1] ""
#: include/conversation.php:1569
#: include/conversation.php:1580
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
#: include/conversation.php:1572 src/Content/ContactSelector.php:243
#: include/conversation.php:1583 src/Content/ContactSelector.php:243
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
#: include/enotify.php:57
#: include/enotify.php:58
msgid "Friendica Notification"
msgstr ""
#: include/enotify.php:60
#: include/enotify.php:61
msgid "Thank You,"
msgstr ""
#: include/enotify.php:63
#: include/enotify.php:64
#, php-format
msgid "%1$s, %2$s Administrator"
msgstr ""
#: include/enotify.php:65
#: include/enotify.php:66
#, php-format
msgid "%s Administrator"
msgstr ""
#: include/enotify.php:134
#: include/enotify.php:135
#, php-format
msgid "[Friendica:Notify] New mail received at %s"
msgstr ""
#: include/enotify.php:136
#: include/enotify.php:137
#, php-format
msgid "%1$s sent you a new private message at %2$s."
msgstr ""
#: include/enotify.php:137
#: include/enotify.php:138
msgid "a private message"
msgstr ""
#: include/enotify.php:137
#: include/enotify.php:138
#, php-format
msgid "%1$s sent you %2$s."
msgstr ""
#: include/enotify.php:139
#: include/enotify.php:140
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
#: include/enotify.php:172
#: include/enotify.php:173
#, php-format
msgid "%1$s tagged you on [url=%2$s]a %3$s[/url]"
msgstr ""
#: include/enotify.php:178
#: include/enotify.php:179
#, php-format
msgid "%1$s commented on [url=%2$s]a %3$s[/url]"
msgstr ""
#: include/enotify.php:188
#: include/enotify.php:189
#, php-format
msgid "%1$s tagged you on [url=%2$s]%3$s's %4$s[/url]"
msgstr ""
#: include/enotify.php:195
#: include/enotify.php:196
#, php-format
msgid "%1$s commented on [url=%2$s]%3$s's %4$s[/url]"
msgstr ""
#: include/enotify.php:207
#: include/enotify.php:208
#, php-format
msgid "%1$s tagged you on [url=%2$s]your %3$s[/url]"
msgstr ""
#: include/enotify.php:213
#: include/enotify.php:214
#, php-format
msgid "%1$s commented on [url=%2$s]your %3$s[/url]"
msgstr ""
#: include/enotify.php:224
#: include/enotify.php:225
#, php-format
msgid "%1$s tagged you on [url=%2$s]their %3$s[/url]"
msgstr ""
#: include/enotify.php:230
#: include/enotify.php:231
#, php-format
msgid "%1$s commented on [url=%2$s]their %3$s[/url]"
msgstr ""
#: include/enotify.php:243
#: include/enotify.php:244
#, php-format
msgid "[Friendica:Notify] %s tagged you"
msgstr ""
#: include/enotify.php:245
#: include/enotify.php:246
#, php-format
msgid "%1$s tagged you at %2$s"
msgstr ""
#: include/enotify.php:247
#: include/enotify.php:248
#, php-format
msgid "[Friendica:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
#: include/enotify.php:249
#: include/enotify.php:250
#, php-format
msgid "%s commented on an item/conversation you have been following."
msgstr ""
#: include/enotify.php:254 include/enotify.php:269 include/enotify.php:284
#: include/enotify.php:303 include/enotify.php:319
#: include/enotify.php:255 include/enotify.php:270 include/enotify.php:285
#: include/enotify.php:304 include/enotify.php:320
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
#: include/enotify.php:261
#: include/enotify.php:262
#, php-format
msgid "[Friendica:Notify] %s posted to your profile wall"
msgstr ""
#: include/enotify.php:263
#: include/enotify.php:264
#, php-format
msgid "%1$s posted to your profile wall at %2$s"
msgstr ""
#: include/enotify.php:264
#: include/enotify.php:265
#, php-format
msgid "%1$s posted to [url=%2$s]your wall[/url]"
msgstr ""
#: include/enotify.php:276
#: include/enotify.php:277
#, php-format
msgid "[Friendica:Notify] %s shared a new post"
msgstr ""
#: include/enotify.php:278
#: include/enotify.php:279
#, php-format
msgid "%1$s shared a new post at %2$s"
msgstr ""
#: include/enotify.php:279
#: include/enotify.php:280
#, php-format
msgid "%1$s [url=%2$s]shared a post[/url]."
msgstr ""
#: include/enotify.php:291
#: include/enotify.php:292
#, php-format
msgid "[Friendica:Notify] %1$s poked you"
msgstr ""
#: include/enotify.php:293
#: include/enotify.php:294
#, php-format
msgid "%1$s poked you at %2$s"
msgstr ""
#: include/enotify.php:294
#: include/enotify.php:295
#, php-format
msgid "%1$s [url=%2$s]poked you[/url]."
msgstr ""
#: include/enotify.php:311
#: include/enotify.php:312
#, php-format
msgid "[Friendica:Notify] %s tagged your post"
msgstr ""
#: include/enotify.php:313
#: include/enotify.php:314
#, php-format
msgid "%1$s tagged your post at %2$s"
msgstr ""
#: include/enotify.php:314
#: include/enotify.php:315
#, php-format
msgid "%1$s tagged [url=%2$s]your post[/url]"
msgstr ""
#: include/enotify.php:326
#: include/enotify.php:327
msgid "[Friendica:Notify] Introduction received"
msgstr ""
#: include/enotify.php:328
#, php-format
msgid "You've received an introduction from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:329
#, php-format
msgid "You've received an introduction from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:330
#, php-format
msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
msgstr ""
#: include/enotify.php:334 include/enotify.php:380
#: include/enotify.php:335 include/enotify.php:381
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
#: include/enotify.php:336
#: include/enotify.php:337
#, php-format
msgid "Please visit %s to approve or reject the introduction."
msgstr ""
#: include/enotify.php:343
#: include/enotify.php:344
msgid "[Friendica:Notify] A new person is sharing with you"
msgstr ""
#: include/enotify.php:345 include/enotify.php:346
#: include/enotify.php:346 include/enotify.php:347
#, php-format
msgid "%1$s is sharing with you at %2$s"
msgstr ""
#: include/enotify.php:353
#: include/enotify.php:354
msgid "[Friendica:Notify] You have a new follower"
msgstr ""
#: include/enotify.php:355 include/enotify.php:356
#: include/enotify.php:356 include/enotify.php:357
#, php-format
msgid "You have a new follower at %2$s : %1$s"
msgstr ""
#: include/enotify.php:369
#: include/enotify.php:370
msgid "[Friendica:Notify] Friend suggestion received"
msgstr ""
#: include/enotify.php:371
#, php-format
msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:372
#, php-format
msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:373
#, php-format
msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
msgstr ""
#: include/enotify.php:378
#: include/enotify.php:379
msgid "Name:"
msgstr ""
#: include/enotify.php:379
#: include/enotify.php:380
msgid "Photo:"
msgstr ""
#: include/enotify.php:382
#: include/enotify.php:383
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
#: include/enotify.php:390 include/enotify.php:405
#: include/enotify.php:391 include/enotify.php:406
msgid "[Friendica:Notify] Connection accepted"
msgstr ""
#: include/enotify.php:392 include/enotify.php:407
#, php-format
msgid "'%1$s' has accepted your connection request at %2$s"
msgstr ""
#: include/enotify.php:393 include/enotify.php:408
#, php-format
msgid "'%1$s' has accepted your connection request at %2$s"
msgstr ""
#: include/enotify.php:394 include/enotify.php:409
#, php-format
msgid "%2$s has accepted your [url=%1$s]connection request[/url]."
msgstr ""
#: include/enotify.php:398
#: include/enotify.php:399
msgid ""
"You are now mutual friends and may exchange status updates, photos, and "
"email without restriction."
msgstr ""
#: include/enotify.php:400
#: include/enotify.php:401
#, php-format
msgid "Please visit %s if you wish to make any changes to this relationship."
msgstr ""
#: include/enotify.php:413
#: include/enotify.php:414
#, php-format
msgid ""
"'%1$s' has chosen to accept you a fan, which restricts some forms of "
@ -844,37 +800,37 @@ msgid ""
"automatically."
msgstr ""
#: include/enotify.php:415
#: include/enotify.php:416
#, php-format
msgid ""
"'%1$s' may choose to extend this into a two-way or more permissive "
"relationship in the future."
msgstr ""
#: include/enotify.php:417
#: include/enotify.php:418
#, php-format
msgid "Please visit %s if you wish to make any changes to this relationship."
msgstr ""
#: include/enotify.php:427 mod/removeme.php:46
#: include/enotify.php:428 mod/removeme.php:46
msgid "[Friendica System Notify]"
msgstr ""
#: include/enotify.php:427
#: include/enotify.php:428
msgid "registration request"
msgstr ""
#: include/enotify.php:429
#, php-format
msgid "You've received a registration request from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:430
#, php-format
msgid "You've received a registration request from '%1$s' at %2$s"
msgstr ""
#: include/enotify.php:431
#, php-format
msgid "You've received a [url=%1$s]registration request[/url] from %2$s."
msgstr ""
#: include/enotify.php:435
#: include/enotify.php:436
#, php-format
msgid ""
"Full Name:\t%s\n"
@ -882,107 +838,53 @@ msgid ""
"Login Name:\t%s (%s)"
msgstr ""
#: include/enotify.php:441
#: include/enotify.php:442
#, php-format
msgid "Please visit %s to approve or reject the request."
msgstr ""
#: mod/api.php:84 mod/api.php:106
msgid "Authorize application connection"
#: include/items.php:355 src/Module/Admin/Themes/Details.php:53
#: src/Module/Admin/Themes/Index.php:43 src/Module/Debug/ItemBody.php:27
#: src/Module/Debug/ItemBody.php:40
msgid "Item not found."
msgstr ""
#: mod/api.php:85
msgid "Return to your app and insert this Securty Code:"
#: include/items.php:387
msgid "Do you really want to delete this item?"
msgstr ""
#: mod/api.php:94 src/Module/BaseAdminModule.php:56
msgid "Please login to continue."
#: include/items.php:389 mod/suggest.php:73 mod/api.php:110
#: mod/dfrn_request.php:642 mod/follow.php:163 mod/message.php:150
#: mod/profiles.php:526 mod/profiles.php:529 mod/profiles.php:551
#: mod/settings.php:1081 mod/settings.php:1087 mod/settings.php:1094
#: mod/settings.php:1098 mod/settings.php:1102 mod/settings.php:1106
#: mod/settings.php:1110 mod/settings.php:1114 mod/settings.php:1134
#: mod/settings.php:1135 mod/settings.php:1136 mod/settings.php:1137
#: mod/settings.php:1138 src/Module/Contact.php:444 src/Module/Register.php:91
msgid "Yes"
msgstr ""
#: mod/api.php:108
msgid ""
"Do you want to authorize this application to access your posts and contacts, "
"and/or create new posts for you?"
msgstr ""
#: mod/api.php:110 mod/profiles.php:526 mod/profiles.php:530
#: mod/profiles.php:551 mod/dfrn_request.php:640 mod/follow.php:163
#: mod/settings.php:1089 mod/settings.php:1095 mod/settings.php:1102
#: mod/settings.php:1106 mod/settings.php:1110 mod/settings.php:1114
#: mod/settings.php:1118 mod/settings.php:1122 mod/settings.php:1142
#: mod/settings.php:1143 mod/settings.php:1144 mod/settings.php:1145
#: mod/settings.php:1146 src/Module/Register.php:98
msgid "No"
msgstr ""
#: mod/delegate.php:42
msgid "Parent user not found."
msgstr ""
#: mod/delegate.php:149
msgid "No parent user"
msgstr ""
#: mod/delegate.php:164
msgid "Parent Password:"
msgstr ""
#: mod/delegate.php:164
msgid ""
"Please enter the password of the parent account to legitimize your request."
msgstr ""
#: mod/delegate.php:171
msgid "Parent User"
msgstr ""
#: mod/delegate.php:174
msgid ""
"Parent users have total control about this account, including the account "
"settings. Please double check whom you give this access."
msgstr ""
#: mod/delegate.php:175 mod/settings.php:677 mod/settings.php:784
#: mod/settings.php:874 mod/settings.php:953 mod/settings.php:1178
#: src/Module/Admin/Addons/Index.php:52 src/Module/Admin/Features.php:69
#: src/Module/Admin/Logs/Settings.php:65 src/Module/Admin/Themes/Index.php:97
#: src/Module/Admin/Tos.php:50 src/Module/Admin/Site.php:568
msgid "Save Settings"
msgstr ""
#: mod/delegate.php:176 src/Content/Nav.php:263
msgid "Delegate Page Management"
msgstr ""
#: mod/delegate.php:177
msgid "Delegates"
msgstr ""
#: mod/delegate.php:179
msgid ""
"Delegates are able to manage all aspects of this account/page except for "
"basic account settings. Please do not delegate your personal account to "
"anybody that you do not trust completely."
msgstr ""
#: mod/delegate.php:180
msgid "Existing Page Delegates"
msgstr ""
#: mod/delegate.php:182
msgid "Potential Delegates"
msgstr ""
#: mod/delegate.php:184 mod/tagrm.php:114
msgid "Remove"
msgstr ""
#: mod/delegate.php:185
msgid "Add"
msgstr ""
#: mod/delegate.php:186
msgid "No entries."
#: include/items.php:439 mod/ostatus_subscribe.php:18 mod/repair_ostatus.php:16
#: mod/notes.php:27 mod/profile_photo.php:32 mod/profile_photo.php:177
#: mod/profile_photo.php:197 mod/suggest.php:39 mod/api.php:35 mod/api.php:40
#: mod/cal.php:291 mod/common.php:27 mod/crepair.php:90 mod/dfrn_confirm.php:65
#: mod/editpost.php:22 mod/events.php:214 mod/follow.php:57 mod/follow.php:134
#: mod/fsuggest.php:63 mod/item.php:174 mod/message.php:56 mod/message.php:101
#: mod/network.php:38 mod/notifications.php:76 mod/photos.php:163
#: mod/photos.php:927 mod/poke.php:142 mod/profiles.php:182
#: mod/profiles.php:499 mod/regmod.php:89 mod/settings.php:54
#: mod/settings.php:167 mod/settings.php:659 mod/uimport.php:17
#: mod/unfollow.php:22 mod/unfollow.php:77 mod/unfollow.php:109
#: mod/wall_attach.php:63 mod/wall_attach.php:66 mod/wall_upload.php:95
#: mod/wall_upload.php:98 mod/wallmessage.php:19 mod/wallmessage.php:43
#: mod/wallmessage.php:82 mod/wallmessage.php:106 src/Module/Attach.php:42
#: src/Module/Group.php:31 src/Module/Group.php:77 src/Module/Invite.php:22
#: src/Module/Invite.php:110 src/Module/Notifications/Notify.php:20
#: src/Module/Profile/Contacts.php:50 src/Module/Search/Directory.php:19
#: src/Module/Settings/Delegation.php:26 src/Module/Settings/Delegation.php:54
#: src/Module/Contact.php:361 src/Module/Delegation.php:98
#: src/Module/FollowConfirm.php:27 src/Module/Register.php:186
msgid "Permission denied."
msgstr ""
#: mod/oexchange.php:32
@ -1017,7 +919,7 @@ msgstr ""
msgid "failed"
msgstr ""
#: mod/ostatus_subscribe.php:89 src/Object/Post.php:285
#: mod/ostatus_subscribe.php:89 src/Object/Post.php:282
msgid "ignored"
msgstr ""
@ -1038,9 +940,9 @@ msgid "Profile Visibility Editor"
msgstr ""
#: mod/profperm.php:117 view/theme/frio/theme.php:268 src/Content/Nav.php:161
#: src/Model/Profile.php:889 src/Model/Profile.php:925
#: src/Module/Welcome.php:38 src/Module/Contact.php:618
#: src/Module/Contact.php:847
#: src/Model/Profile.php:885 src/Model/Profile.php:921
#: src/Module/Welcome.php:38 src/Module/Contact.php:639
#: src/Module/Contact.php:868
msgid "Profile"
msgstr ""
@ -1056,19 +958,6 @@ msgstr ""
msgid "All Contacts (with secure profile access)"
msgstr ""
#: mod/regmod.php:53
msgid "Account approved."
msgstr ""
#: mod/regmod.php:77
#, php-format
msgid "Registration revoked for %s"
msgstr ""
#: mod/regmod.php:84
msgid "Please login."
msgstr ""
#: mod/removeme.php:46
msgid "User deleted their account"
msgstr ""
@ -1108,216 +997,1043 @@ msgid_plural "Errors"
msgstr[0] ""
msgstr[1] ""
#: mod/tagrm.php:31
msgid "Tag(s) removed"
msgstr ""
#: mod/tagrm.php:101
msgid "Remove Item Tag"
msgstr ""
#: mod/tagrm.php:103
msgid "Select a tag to remove: "
msgstr ""
#: mod/uimport.php:30
msgid "User imports on closed servers can only be done by an administrator."
msgstr ""
#: mod/uimport.php:39 src/Module/Register.php:59
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr ""
#: mod/uimport.php:54 src/Module/Register.php:141
msgid "Import"
msgstr ""
#: mod/uimport.php:56
msgid "Move account"
msgstr ""
#: mod/uimport.php:57
msgid "You can import an account from another Friendica server."
msgstr ""
#: mod/uimport.php:58
msgid ""
"You need to export your account from the old server and upload it here. We "
"will recreate your old account here with all your contacts. We will try also "
"to inform your friends that you moved here."
msgstr ""
#: mod/uimport.php:59
msgid ""
"This feature is experimental. We can't import contacts from the OStatus "
"network (GNU Social/Statusnet) or from Diaspora"
msgstr ""
#: mod/uimport.php:60
msgid "Account file"
msgstr ""
#: mod/uimport.php:60
msgid ""
"To export your account, go to \"Settings->Export your personal data\" and "
"select \"Export account\""
msgstr ""
#: mod/unfollow.php:36 mod/unfollow.php:92
msgid "You aren't following this contact."
msgstr ""
#: mod/unfollow.php:46 mod/unfollow.php:98
msgid "Unfollowing is currently not supported by your network."
msgstr ""
#: mod/unfollow.php:67
msgid "Contact unfollowed"
msgstr ""
#: mod/unfollow.php:118
msgid "Disconnect/Unfollow"
msgstr ""
#: mod/unfollow.php:128 mod/dfrn_request.php:647 mod/follow.php:170
msgid "Your Identity Address:"
msgstr ""
#: mod/unfollow.php:131 mod/dfrn_request.php:649 mod/follow.php:76
msgid "Submit Request"
msgstr ""
#: mod/unfollow.php:137 mod/follow.php:179 mod/notifications.php:190
#: mod/notifications.php:282 src/Module/Admin/Blocklist/Contact.php:83
#: src/Module/Contact.php:603
msgid "Profile URL"
msgstr ""
#: mod/unfollow.php:147 mod/follow.php:195 src/Model/Profile.php:920
#: src/Module/Contact.php:842
msgid "Status Messages and Posts"
msgstr ""
#: mod/update_community.php:23 mod/update_contact.php:23
#: mod/update_display.php:24 mod/update_network.php:33 mod/update_notes.php:36
#: mod/update_profile.php:34
msgid "[Embedded content - reload page to view]"
msgstr ""
#: mod/wall_attach.php:26 mod/wall_attach.php:33 mod/wall_attach.php:85
#: mod/wall_upload.php:42 mod/wall_upload.php:58 mod/wall_upload.php:116
#: mod/wall_upload.php:167 mod/wall_upload.php:170
msgid "Invalid request."
#: mod/notes.php:34 src/Model/Profile.php:971
msgid "Personal Notes"
msgstr ""
#: mod/wall_attach.php:103
msgid "Sorry, maybe your upload is bigger than the PHP configuration allows"
#: mod/notes.php:46 mod/editpost.php:72 src/Content/Text/HTML.php:905
#: src/Module/Filer/SaveTag.php:49
msgid "Save"
msgstr ""
#: mod/wall_attach.php:103
msgid "Or - did you try to upload an empty file?"
#: mod/ping.php:272
msgid "{0} wants to be your friend"
msgstr ""
#: mod/wall_attach.php:114
#: mod/ping.php:288
msgid "{0} requested registration"
msgstr ""
#: mod/profile_photo.php:58
msgid "Image uploaded but image cropping failed."
msgstr ""
#: mod/profile_photo.php:88 mod/profile_photo.php:97 mod/profile_photo.php:106
#: mod/profile_photo.php:311
#, php-format
msgid "File exceeds size limit of %s"
msgid "Image size reduction [%s] failed."
msgstr ""
#: mod/wall_attach.php:129
msgid "File upload failed."
#: mod/profile_photo.php:125
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr ""
#: mod/wall_upload.php:198 mod/photos.php:683 mod/photos.php:686
#: mod/photos.php:715 mod/profile_photo.php:152
#: mod/profile_photo.php:133
msgid "Unable to process image"
msgstr ""
#: mod/profile_photo.php:152 mod/photos.php:674 mod/photos.php:677
#: mod/photos.php:706 mod/wall_upload.php:186
#, php-format
msgid "Image exceeds size limit of %s"
msgstr ""
#: mod/wall_upload.php:212 mod/photos.php:738 mod/profile_photo.php:161
#: mod/profile_photo.php:161 mod/photos.php:729 mod/wall_upload.php:200
msgid "Unable to process image."
msgstr ""
#: mod/wall_upload.php:243
msgid "Wall Photos"
#: mod/profile_photo.php:244
msgid "Upload File:"
msgstr ""
#: mod/wall_upload.php:251 mod/photos.php:767 mod/profile_photo.php:303
#: mod/profile_photo.php:245
msgid "Select a profile:"
msgstr ""
#: mod/profile_photo.php:246 mod/profiles.php:583 src/Module/Welcome.php:39
msgid "Upload Profile Photo"
msgstr ""
#: mod/profile_photo.php:247 mod/fbrowser.php:112 mod/fbrowser.php:141
msgid "Upload"
msgstr ""
#: mod/profile_photo.php:250
msgid "or"
msgstr ""
#: mod/profile_photo.php:251
msgid "skip this step"
msgstr ""
#: mod/profile_photo.php:251
msgid "select a photo from your photo albums"
msgstr ""
#: mod/profile_photo.php:264
msgid "Crop Image"
msgstr ""
#: mod/profile_photo.php:265
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
#: mod/profile_photo.php:267
msgid "Done Editing"
msgstr ""
#: mod/profile_photo.php:301
msgid "Image uploaded successfully."
msgstr ""
#: mod/profile_photo.php:303 mod/photos.php:758 mod/wall_upload.php:239
msgid "Image upload failed."
msgstr ""
#: mod/wallmessage.php:52 mod/wallmessage.php:115
#: mod/suggest.php:28
msgid "Contact suggestion successfully ignored."
msgstr ""
#: mod/suggest.php:52
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
#: mod/suggest.php:71
msgid "Do you really want to delete this suggestion?"
msgstr ""
#: mod/suggest.php:89 mod/suggest.php:109
msgid "Ignore/Hide"
msgstr ""
#: mod/suggest.php:106 mod/match.php:102 src/Content/Widget.php:43
#: src/Module/AllFriends.php:91 src/Module/BaseSearchModule.php:135
msgid "Connect"
msgstr ""
#: mod/suggest.php:119 view/theme/vier/theme.php:181 src/Content/Widget.php:70
msgid "Friend Suggestions"
msgstr ""
#: mod/api.php:85 mod/api.php:107
msgid "Authorize application connection"
msgstr ""
#: mod/api.php:86
msgid "Return to your app and insert this Securty Code:"
msgstr ""
#: mod/api.php:95 src/Module/BaseAdminModule.php:56
msgid "Please login to continue."
msgstr ""
#: mod/api.php:109
msgid ""
"Do you want to authorize this application to access your posts and contacts, "
"and/or create new posts for you?"
msgstr ""
#: mod/api.php:111 mod/dfrn_request.php:642 mod/follow.php:163
#: mod/profiles.php:526 mod/profiles.php:530 mod/profiles.php:551
#: mod/settings.php:1081 mod/settings.php:1087 mod/settings.php:1094
#: mod/settings.php:1098 mod/settings.php:1102 mod/settings.php:1106
#: mod/settings.php:1110 mod/settings.php:1114 mod/settings.php:1134
#: mod/settings.php:1135 mod/settings.php:1136 mod/settings.php:1137
#: mod/settings.php:1138 src/Module/Register.php:92
msgid "No"
msgstr ""
#: mod/cal.php:31 mod/cal.php:35 mod/community.php:32 mod/follow.php:20
#: src/Module/Debug/ItemBody.php:18 src/Module/Diaspora/Receive.php:39
#: src/Module/Item/Ignore.php:25
msgid "Access denied."
msgstr ""
#: mod/cal.php:130 mod/display.php:296 src/Module/Profile.php:175
msgid "Access to this profile has been restricted."
msgstr ""
#: mod/cal.php:261 mod/events.php:389 view/theme/frio/theme.php:271
#: view/theme/frio/theme.php:275 src/Content/Nav.php:164
#: src/Content/Nav.php:228 src/Model/Profile.php:949 src/Model/Profile.php:960
msgid "Events"
msgstr ""
#: mod/cal.php:262 mod/events.php:390
msgid "View"
msgstr ""
#: mod/cal.php:263 mod/events.php:392
msgid "Previous"
msgstr ""
#: mod/cal.php:264 mod/events.php:393 src/Module/Install.php:174
msgid "Next"
msgstr ""
#: mod/cal.php:267 mod/events.php:398 src/Model/Event.php:429
msgid "today"
msgstr ""
#: mod/cal.php:268 mod/events.php:399 src/Util/Temporal.php:313
#: src/Model/Event.php:430
msgid "month"
msgstr ""
#: mod/cal.php:269 mod/events.php:400 src/Util/Temporal.php:314
#: src/Model/Event.php:431
msgid "week"
msgstr ""
#: mod/cal.php:270 mod/events.php:401 src/Util/Temporal.php:315
#: src/Model/Event.php:432
msgid "day"
msgstr ""
#: mod/cal.php:271 mod/events.php:402
msgid "list"
msgstr ""
#: mod/cal.php:284 src/Model/User.php:415 src/Console/NewPassword.php:88
msgid "User not found"
msgstr ""
#: mod/cal.php:300
msgid "This calendar format is not supported"
msgstr ""
#: mod/cal.php:302
msgid "No exportable data found"
msgstr ""
#: mod/cal.php:319
msgid "calendar"
msgstr ""
#: mod/common.php:90
msgid "No contacts in common."
msgstr ""
#: mod/common.php:141 src/Module/Contact.php:891
msgid "Common Friends"
msgstr ""
#: mod/community.php:25 mod/dfrn_request.php:599 mod/display.php:200
#: mod/photos.php:841 mod/videos.php:115 src/Module/Debug/Probe.php:20
#: src/Module/Debug/WebFinger.php:19 src/Module/Search/Index.php:31
#: src/Module/Search/Index.php:36 src/Module/Directory.php:31
msgid "Public access denied."
msgstr ""
#: mod/community.php:68
msgid "Community option not available."
msgstr ""
#: mod/community.php:85
msgid "Not available."
msgstr ""
#: mod/community.php:95
msgid "Local Community"
msgstr ""
#: mod/community.php:98
msgid "Posts from local users on this server"
msgstr ""
#: mod/community.php:106
msgid "Global Community"
msgstr ""
#: mod/community.php:109
msgid "Posts from users of the whole federated network"
msgstr ""
#: mod/community.php:155 src/Module/Search/Index.php:178
msgid "No results."
msgstr ""
#: mod/community.php:207
msgid ""
"This community stream shows all public posts received by this node. They may "
"not reflect the opinions of this nodes users."
msgstr ""
#: mod/crepair.php:79
msgid "Contact settings applied."
msgstr ""
#: mod/crepair.php:81
msgid "Contact update failed."
msgstr ""
#: mod/crepair.php:102 mod/dfrn_confirm.php:126 mod/fsuggest.php:32
#: mod/fsuggest.php:75 mod/redir.php:32 mod/redir.php:122 mod/redir.php:137
#: src/Module/Group.php:92 src/Module/FollowConfirm.php:46
msgid "Contact not found."
msgstr ""
#: mod/crepair.php:115
msgid ""
"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect "
"information your communications with this contact may stop working."
msgstr ""
#: mod/crepair.php:116
msgid ""
"Please use your browser 'Back' button <strong>now</strong> if you are "
"uncertain what to do on this page."
msgstr ""
#: mod/crepair.php:130 mod/crepair.php:132
msgid "No mirroring"
msgstr ""
#: mod/crepair.php:130
msgid "Mirror as forwarded posting"
msgstr ""
#: mod/crepair.php:130 mod/crepair.php:132
msgid "Mirror as my own posting"
msgstr ""
#: mod/crepair.php:145
msgid "Return to contact editor"
msgstr ""
#: mod/crepair.php:147
msgid "Refetch contact data"
msgstr ""
#: mod/crepair.php:149 mod/events.php:558 mod/fsuggest.php:92
#: mod/message.php:261 mod/message.php:441 mod/photos.php:956
#: mod/photos.php:1066 mod/photos.php:1352 mod/photos.php:1397
#: mod/photos.php:1436 mod/photos.php:1501 mod/poke.php:185
#: mod/profiles.php:562 view/theme/duepuntozero/config.php:72
#: view/theme/frio/config.php:127 view/theme/quattro/config.php:74
#: view/theme/vier/config.php:122 src/Module/Debug/Localtime.php:45
#: src/Module/Invite.php:157 src/Module/Item/Compose.php:182
#: src/Module/Contact.php:581 src/Module/Delegation.php:131
#: src/Module/Install.php:212 src/Module/Install.php:252
#: src/Module/Install.php:288 src/Object/Post.php:884
msgid "Submit"
msgstr ""
#: mod/crepair.php:150
msgid "Remote Self"
msgstr ""
#: mod/crepair.php:153
msgid "Mirror postings from this contact"
msgstr ""
#: mod/crepair.php:155
msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact."
msgstr ""
#: mod/crepair.php:159 mod/settings.php:671 mod/settings.php:697
#: src/Module/Admin/Blocklist/Contact.php:73 src/Module/Admin/Users.php:272
#: src/Module/Admin/Users.php:283 src/Module/Admin/Users.php:297
#: src/Module/Admin/Users.php:313
msgid "Name"
msgstr ""
#: mod/crepair.php:160
msgid "Account Nickname"
msgstr ""
#: mod/crepair.php:161
msgid "@Tagname - overrides Name/Nickname"
msgstr ""
#: mod/crepair.php:162
msgid "Account URL"
msgstr ""
#: mod/crepair.php:163
msgid "Account URL Alias"
msgstr ""
#: mod/crepair.php:164
msgid "Friend Request URL"
msgstr ""
#: mod/crepair.php:165
msgid "Friend Confirm URL"
msgstr ""
#: mod/crepair.php:166
msgid "Notification Endpoint URL"
msgstr ""
#: mod/crepair.php:167
msgid "Poll/Feed URL"
msgstr ""
#: mod/crepair.php:168
msgid "New photo from this URL"
msgstr ""
#: mod/dfrn_confirm.php:71 mod/profiles.php:43 mod/profiles.php:152
#: mod/profiles.php:196 mod/profiles.php:511
msgid "Profile not found."
msgstr ""
#: mod/dfrn_confirm.php:127
msgid ""
"This may occasionally happen if contact was requested by both persons and it "
"has already been approved."
msgstr ""
#: mod/dfrn_confirm.php:228
msgid "Response from remote site was not understood."
msgstr ""
#: mod/dfrn_confirm.php:235 mod/dfrn_confirm.php:241
msgid "Unexpected response from remote site: "
msgstr ""
#: mod/dfrn_confirm.php:250
msgid "Confirmation completed successfully."
msgstr ""
#: mod/dfrn_confirm.php:262
msgid "Temporary failure. Please wait and try again."
msgstr ""
#: mod/dfrn_confirm.php:265
msgid "Introduction failed or was revoked."
msgstr ""
#: mod/dfrn_confirm.php:270
msgid "Remote site reported: "
msgstr ""
#: mod/dfrn_confirm.php:375
#, php-format
msgid "Number of daily wall messages for %s exceeded. Message failed."
msgid "No user record found for '%s' "
msgstr ""
#: mod/wallmessage.php:60 mod/message.php:70
msgid "No recipient selected."
#: mod/dfrn_confirm.php:385
msgid "Our site encryption key is apparently messed up."
msgstr ""
#: mod/wallmessage.php:63
msgid "Unable to check your home location."
#: mod/dfrn_confirm.php:396
msgid "Empty site URL was provided or URL could not be decrypted by us."
msgstr ""
#: mod/wallmessage.php:66 mod/message.php:77
msgid "Message could not be sent."
#: mod/dfrn_confirm.php:412
msgid "Contact record was not found for you on our site."
msgstr ""
#: mod/wallmessage.php:69 mod/message.php:80
msgid "Message collection failure."
#: mod/dfrn_confirm.php:426
#, php-format
msgid "Site public key not available in contact record for URL %s."
msgstr ""
#: mod/wallmessage.php:72 mod/message.php:83
msgid "Message sent."
#: mod/dfrn_confirm.php:442
msgid ""
"The ID provided by your system is a duplicate on our system. It should work "
"if you try again."
msgstr ""
#: mod/wallmessage.php:89 mod/wallmessage.php:98
msgid "No recipient."
#: mod/dfrn_confirm.php:453
msgid "Unable to set your contact credentials on our system."
msgstr ""
#: mod/wallmessage.php:123 mod/message.php:204 mod/message.php:360
msgid "Please enter a link URL:"
#: mod/dfrn_confirm.php:509
msgid "Unable to update your contact profile details on our system"
msgstr ""
#: mod/wallmessage.php:128 mod/message.php:246
msgid "Send Private Message"
#: mod/dfrn_confirm.php:539 mod/dfrn_request.php:562 src/Model/Contact.php:2589
msgid "[Name Withheld]"
msgstr ""
#: mod/wallmessage.php:129
#: mod/dfrn_poll.php:123 mod/dfrn_poll.php:526
#, php-format
msgid "%1$s welcomes %2$s"
msgstr ""
#: mod/dfrn_request.php:100
msgid "This introduction has already been accepted."
msgstr ""
#: mod/dfrn_request.php:118 mod/dfrn_request.php:356
msgid "Profile location is not valid or does not contain profile information."
msgstr ""
#: mod/dfrn_request.php:122 mod/dfrn_request.php:360
msgid "Warning: profile location has no identifiable owner name."
msgstr ""
#: mod/dfrn_request.php:125 mod/dfrn_request.php:363
msgid "Warning: profile location has no profile photo."
msgstr ""
#: mod/dfrn_request.php:129 mod/dfrn_request.php:367
#, php-format
msgid "%d required parameter was not found at the given location"
msgid_plural "%d required parameters were not found at the given location"
msgstr[0] ""
msgstr[1] ""
#: mod/dfrn_request.php:167
msgid "Introduction complete."
msgstr ""
#: mod/dfrn_request.php:203
msgid "Unrecoverable protocol error."
msgstr ""
#: mod/dfrn_request.php:230
msgid "Profile unavailable."
msgstr ""
#: mod/dfrn_request.php:251
#, php-format
msgid "%s has received too many connection requests today."
msgstr ""
#: mod/dfrn_request.php:252
msgid "Spam protection measures have been invoked."
msgstr ""
#: mod/dfrn_request.php:253
msgid "Friends are advised to please try again in 24 hours."
msgstr ""
#: mod/dfrn_request.php:277
msgid "Invalid locator"
msgstr ""
#: mod/dfrn_request.php:313
msgid "You have already introduced yourself here."
msgstr ""
#: mod/dfrn_request.php:316
#, php-format
msgid "Apparently you are already friends with %s."
msgstr ""
#: mod/dfrn_request.php:336
msgid "Invalid profile URL."
msgstr ""
#: mod/dfrn_request.php:342 src/Model/Contact.php:2212
msgid "Disallowed profile URL."
msgstr ""
#: mod/dfrn_request.php:348 src/Model/Contact.php:2217
#: src/Module/Friendica.php:59
msgid "Blocked domain"
msgstr ""
#: mod/dfrn_request.php:415 src/Module/Contact.php:143
msgid "Failed to update contact record."
msgstr ""
#: mod/dfrn_request.php:435
msgid "Your introduction has been sent."
msgstr ""
#: mod/dfrn_request.php:473
msgid ""
"Remote subscription can't be done for your network. Please subscribe "
"directly on your system."
msgstr ""
#: mod/dfrn_request.php:489
msgid "Please login to confirm introduction."
msgstr ""
#: mod/dfrn_request.php:497
msgid ""
"Incorrect identity currently logged in. Please login to <strong>this</"
"strong> profile."
msgstr ""
#: mod/dfrn_request.php:511 mod/dfrn_request.php:526
msgid "Confirm"
msgstr ""
#: mod/dfrn_request.php:522
msgid "Hide this contact"
msgstr ""
#: mod/dfrn_request.php:524
#, php-format
msgid "Welcome home %s."
msgstr ""
#: mod/dfrn_request.php:525
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr ""
#: mod/dfrn_request.php:634
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr ""
#: mod/dfrn_request.php:636
#, php-format
msgid ""
"If you wish for %s to respond, please check that the privacy settings on "
"your site allow private mail from unknown senders."
"If you are not yet a member of the free social web, <a href=\"%s\">follow "
"this link to find a public Friendica site and join us today</a>."
msgstr ""
#: mod/wallmessage.php:130 mod/message.php:247 mod/message.php:430
msgid "To:"
#: mod/dfrn_request.php:639
msgid "Friend/Connection Request"
msgstr ""
#: mod/wallmessage.php:131 mod/message.php:251 mod/message.php:432
msgid "Subject:"
#: mod/dfrn_request.php:640
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@gnusocial.de"
msgstr ""
#: mod/wallmessage.php:137 mod/message.php:255 mod/message.php:435
#: src/Module/Invite.php:150
msgid "Your message:"
#: mod/dfrn_request.php:641 mod/follow.php:162
msgid "Please answer the following:"
msgstr ""
#: mod/wallmessage.php:140 mod/editpost.php:76 mod/message.php:259
#: mod/message.php:440
#: mod/dfrn_request.php:642 mod/follow.php:163
#, php-format
msgid "Does %s know you?"
msgstr ""
#: mod/dfrn_request.php:643 mod/follow.php:164
msgid "Add a personal note:"
msgstr ""
#: mod/dfrn_request.php:645
msgid "Friendica"
msgstr ""
#: mod/dfrn_request.php:646
msgid "GNU Social (Pleroma, Mastodon)"
msgstr ""
#: mod/dfrn_request.php:647
msgid "Diaspora (Socialhome, Hubzilla)"
msgstr ""
#: mod/dfrn_request.php:648
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search "
"bar."
msgstr ""
#: mod/dfrn_request.php:649 mod/follow.php:170 mod/unfollow.php:128
msgid "Your Identity Address:"
msgstr ""
#: mod/dfrn_request.php:651 mod/follow.php:76 mod/unfollow.php:131
msgid "Submit Request"
msgstr ""
#: mod/display.php:255 mod/display.php:332
msgid "The requested item doesn't exist or has been deleted."
msgstr ""
#: mod/display.php:410
msgid "The feed for this item is unavailable."
msgstr ""
#: mod/editpost.php:29 mod/editpost.php:39
msgid "Item not found"
msgstr ""
#: mod/editpost.php:46
msgid "Edit post"
msgstr ""
#: mod/editpost.php:77 mod/message.php:259 mod/message.php:440
#: mod/wallmessage.php:140
msgid "Insert web link"
msgstr ""
#: mod/editpost.php:78
msgid "web link"
msgstr ""
#: mod/editpost.php:79
msgid "Insert video link"
msgstr ""
#: mod/editpost.php:80
msgid "video link"
msgstr ""
#: mod/editpost.php:81
msgid "Insert audio link"
msgstr ""
#: mod/editpost.php:82
msgid "audio link"
msgstr ""
#: mod/editpost.php:96 src/Core/ACL.php:309 src/Module/Item/Compose.php:204
msgid "CC: email addresses"
msgstr ""
#: mod/editpost.php:103 src/Core/ACL.php:310
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
#: mod/events.php:120 mod/events.php:122
msgid "Event can not end before it has started."
msgstr ""
#: mod/events.php:129 mod/events.php:131
msgid "Event title and start time are required."
msgstr ""
#: mod/events.php:391
msgid "Create New Event"
msgstr ""
#: mod/events.php:514
msgid "Event details"
msgstr ""
#: mod/events.php:515
msgid "Starting date and Title are required."
msgstr ""
#: mod/events.php:516 mod/events.php:521
msgid "Event Starts:"
msgstr ""
#: mod/events.php:516 mod/events.php:548 mod/profiles.php:592
msgid "Required"
msgstr ""
#: mod/events.php:529 mod/events.php:554
msgid "Finish date/time is not known or not relevant"
msgstr ""
#: mod/events.php:531 mod/events.php:536
msgid "Event Finishes:"
msgstr ""
#: mod/events.php:542 mod/events.php:555
msgid "Adjust for viewer timezone"
msgstr ""
#: mod/events.php:544
msgid "Description:"
msgstr ""
#: mod/events.php:546 mod/notifications.php:276 src/Model/Event.php:69
#: src/Model/Event.php:96 src/Model/Event.php:438 src/Model/Event.php:934
#: src/Model/Profile.php:443 src/Module/Contact.php:628
#: src/Module/Directory.php:135
msgid "Location:"
msgstr ""
#: mod/events.php:548 mod/events.php:550
msgid "Title:"
msgstr ""
#: mod/events.php:551 mod/events.php:552
msgid "Share this event"
msgstr ""
#: mod/events.php:559 src/Model/Profile.php:886
msgid "Basic"
msgstr ""
#: mod/events.php:560 src/Model/Profile.php:887 src/Module/Admin/Site.php:573
#: src/Module/Contact.php:901
msgid "Advanced"
msgstr ""
#: mod/events.php:561 mod/photos.php:974 mod/photos.php:1348
#: src/Core/ACL.php:315
msgid "Permissions"
msgstr ""
#: mod/events.php:577
msgid "Failed to remove event"
msgstr ""
#: mod/events.php:579
msgid "Event removed"
msgstr ""
#: mod/fbrowser.php:43 view/theme/frio/theme.php:269 src/Content/Nav.php:162
#: src/Model/Profile.php:929
msgid "Photos"
msgstr ""
#: mod/fbrowser.php:52 mod/fbrowser.php:76 mod/photos.php:181
#: mod/photos.php:938 mod/photos.php:1055 mod/photos.php:1072
#: mod/photos.php:1554 mod/photos.php:1569 src/Model/Photo.php:560
#: src/Model/Photo.php:569
msgid "Contact Photos"
msgstr ""
#: mod/fbrowser.php:136
msgid "Files"
msgstr ""
#: mod/follow.php:46
msgid "The contact could not be added."
msgstr ""
#: mod/follow.php:87
msgid "You already added this contact."
msgstr ""
#: mod/follow.php:99
msgid "Diaspora support isn't enabled. Contact can't be added."
msgstr ""
#: mod/follow.php:106
msgid "OStatus support is disabled. Contact can't be added."
msgstr ""
#: mod/follow.php:113
msgid "The network type couldn't be detected. Contact can't be added."
msgstr ""
#: mod/follow.php:179 mod/notifications.php:194 mod/notifications.php:286
#: mod/unfollow.php:137 src/Module/Admin/Blocklist/Contact.php:83
#: src/Module/Contact.php:624
msgid "Profile URL"
msgstr ""
#: mod/follow.php:183 mod/notifications.php:280 src/Model/Profile.php:816
#: src/Module/Contact.php:634
msgid "Tags:"
msgstr ""
#: mod/follow.php:195 mod/unfollow.php:147 src/Model/Profile.php:916
#: src/Module/Contact.php:863
msgid "Status Messages and Posts"
msgstr ""
#: mod/fsuggest.php:44
msgid "Suggested contact not found."
msgstr ""
#: mod/fsuggest.php:57
msgid "Friend suggestion sent."
msgstr ""
#: mod/fsuggest.php:79
msgid "Suggest Friends"
msgstr ""
#: mod/fsuggest.php:81
#, php-format
msgid "Suggest a friend for %s"
msgstr ""
#: mod/hcard.php:21
msgid "No profile"
msgstr ""
#: mod/item.php:127
msgid "Unable to locate original post."
msgstr ""
#: mod/item.php:330
msgid "Empty post discarded."
msgstr ""
#: mod/item.php:801
#, php-format
msgid ""
"This message was sent to you by %s, a member of the Friendica social network."
msgstr ""
#: mod/item.php:803
#, php-format
msgid "You may visit them online at %s"
msgstr ""
#: mod/item.php:804
msgid ""
"Please contact the sender by replying to this post if you do not wish to "
"receive these messages."
msgstr ""
#: mod/item.php:808
#, php-format
msgid "%s posted an update."
msgstr ""
#: mod/lockview.php:49 mod/lockview.php:60
msgid "Remote privacy information not available."
msgstr ""
#: mod/lockview.php:72
msgid "Visible to:"
msgstr ""
#: mod/lockview.php:78 mod/lockview.php:113 src/Content/Widget.php:193
#: src/Module/Item/Compose.php:101 src/Module/Profile/Contacts.php:126
#: src/Module/Contact.php:792
msgid "Followers"
msgstr ""
#: mod/lockview.php:84 mod/lockview.php:119 src/Module/Item/Compose.php:108
msgid "Mutuals"
msgstr ""
#: mod/lostpass.php:27
msgid "No valid account found."
msgstr ""
#: mod/lostpass.php:39
msgid "Password reset request issued. Check your email."
msgstr ""
#: mod/lostpass.php:45
#, php-format
msgid ""
"\n"
"\t\tDear %1$s,\n"
"\t\t\tA request was recently received at \"%2$s\" to reset your account\n"
"\t\tpassword. In order to confirm this request, please select the "
"verification link\n"
"\t\tbelow or paste it into your web browser address bar.\n"
"\n"
"\t\tIf you did NOT request this change, please DO NOT follow the link\n"
"\t\tprovided and ignore and/or delete this email, the request will expire "
"shortly.\n"
"\n"
"\t\tYour password will not be changed unless we can verify that you\n"
"\t\tissued this request."
msgstr ""
#: mod/lostpass.php:56
#, php-format
msgid ""
"\n"
"\t\tFollow this link soon to verify your identity:\n"
"\n"
"\t\t%1$s\n"
"\n"
"\t\tYou will then receive a follow-up message containing the new password.\n"
"\t\tYou may change that password from your account settings page after "
"logging in.\n"
"\n"
"\t\tThe login details are as follows:\n"
"\n"
"\t\tSite Location:\t%2$s\n"
"\t\tLogin Name:\t%3$s"
msgstr ""
#: mod/lostpass.php:75
#, php-format
msgid "Password reset requested at %s"
msgstr ""
#: mod/lostpass.php:90
msgid ""
"Request could not be verified. (You may have previously submitted it.) "
"Password reset failed."
msgstr ""
#: mod/lostpass.php:103
msgid "Request has expired, please make a new one."
msgstr ""
#: mod/lostpass.php:118
msgid "Forgot your Password?"
msgstr ""
#: mod/lostpass.php:119
msgid ""
"Enter your email address and submit to have your password reset. Then check "
"your email for further instructions."
msgstr ""
#: mod/lostpass.php:120 src/Module/Login.php:355
msgid "Nickname or Email: "
msgstr ""
#: mod/lostpass.php:121
msgid "Reset"
msgstr ""
#: mod/lostpass.php:136 src/Module/Login.php:367
msgid "Password Reset"
msgstr ""
#: mod/lostpass.php:137
msgid "Your password has been reset as requested."
msgstr ""
#: mod/lostpass.php:138
msgid "Your new password is"
msgstr ""
#: mod/lostpass.php:139
msgid "Save or copy your new password - and then"
msgstr ""
#: mod/lostpass.php:140
msgid "click here to login"
msgstr ""
#: mod/lostpass.php:141
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
msgstr ""
#: mod/lostpass.php:148
#, php-format
msgid ""
"\n"
"\t\t\tDear %1$s,\n"
"\t\t\t\tYour password has been changed as requested. Please retain this\n"
"\t\t\tinformation for your records (or change your password immediately to\n"
"\t\t\tsomething that you will remember).\n"
"\t\t"
msgstr ""
#: mod/lostpass.php:154
#, php-format
msgid ""
"\n"
"\t\t\tYour login details are as follows:\n"
"\n"
"\t\t\tSite Location:\t%1$s\n"
"\t\t\tLogin Name:\t%2$s\n"
"\t\t\tPassword:\t%3$s\n"
"\n"
"\t\t\tYou may change that password from your account settings page after "
"logging in.\n"
"\t\t"
msgstr ""
#: mod/lostpass.php:170
#, php-format
msgid "Your password has been changed at %s"
msgstr ""
#: mod/match.php:49
msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
#: mod/match.php:102 mod/suggest.php:106 src/Content/Widget.php:42
#: src/Module/AllFriends.php:91 src/Module/BaseSearchModule.php:131
msgid "Connect"
msgstr ""
#: mod/match.php:115 src/Content/Pager.php:198
msgid "first"
msgstr ""
@ -1326,7 +2042,7 @@ msgstr ""
msgid "next"
msgstr ""
#: mod/match.php:130 src/Module/BaseSearchModule.php:92
#: mod/match.php:130 src/Module/BaseSearchModule.php:96
msgid "No matches"
msgstr ""
@ -1334,9 +2050,605 @@ msgstr ""
msgid "Profile Match"
msgstr ""
#: mod/profiles.php:43 mod/profiles.php:152 mod/profiles.php:196
#: mod/profiles.php:511 mod/dfrn_confirm.php:70
msgid "Profile not found."
#: mod/message.php:33 mod/message.php:116 src/Content/Nav.php:257
msgid "New Message"
msgstr ""
#: mod/message.php:70 mod/wallmessage.php:60
msgid "No recipient selected."
msgstr ""
#: mod/message.php:74
msgid "Unable to locate contact information."
msgstr ""
#: mod/message.php:77 mod/wallmessage.php:66
msgid "Message could not be sent."
msgstr ""
#: mod/message.php:80 mod/wallmessage.php:69
msgid "Message collection failure."
msgstr ""
#: mod/message.php:83 mod/wallmessage.php:72
msgid "Message sent."
msgstr ""
#: mod/message.php:110 mod/notifications.php:48 mod/notifications.php:202
#: mod/notifications.php:258
msgid "Discard"
msgstr ""
#: mod/message.php:123 view/theme/frio/theme.php:276 src/Content/Nav.php:254
msgid "Messages"
msgstr ""
#: mod/message.php:148
msgid "Do you really want to delete this message?"
msgstr ""
#: mod/message.php:166
msgid "Conversation not found."
msgstr ""
#: mod/message.php:171
msgid "Message deleted."
msgstr ""
#: mod/message.php:176 mod/message.php:190
msgid "Conversation removed."
msgstr ""
#: mod/message.php:204 mod/message.php:360 mod/wallmessage.php:123
msgid "Please enter a link URL:"
msgstr ""
#: mod/message.php:246 mod/wallmessage.php:128
msgid "Send Private Message"
msgstr ""
#: mod/message.php:247 mod/message.php:430 mod/wallmessage.php:130
msgid "To:"
msgstr ""
#: mod/message.php:251 mod/message.php:432 mod/wallmessage.php:131
msgid "Subject:"
msgstr ""
#: mod/message.php:255 mod/message.php:435 mod/wallmessage.php:137
#: src/Module/Invite.php:150
msgid "Your message:"
msgstr ""
#: mod/message.php:289
msgid "No messages."
msgstr ""
#: mod/message.php:352
msgid "Message not available."
msgstr ""
#: mod/message.php:406
msgid "Delete message"
msgstr ""
#: mod/message.php:408 mod/message.php:540
msgid "D, d M Y - g:i A"
msgstr ""
#: mod/message.php:423 mod/message.php:537
msgid "Delete conversation"
msgstr ""
#: mod/message.php:425
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr ""
#: mod/message.php:429
msgid "Send Reply"
msgstr ""
#: mod/message.php:512
#, php-format
msgid "Unknown sender - %s"
msgstr ""
#: mod/message.php:514
#, php-format
msgid "You and %s"
msgstr ""
#: mod/message.php:516
#, php-format
msgid "%s and You"
msgstr ""
#: mod/message.php:543
#, php-format
msgid "%d message"
msgid_plural "%d messages"
msgstr[0] ""
msgstr[1] ""
#: mod/network.php:525
#, php-format
msgid ""
"Warning: This group contains %s member from a network that doesn't allow non "
"public messages."
msgid_plural ""
"Warning: This group contains %s members from a network that doesn't allow "
"non public messages."
msgstr[0] ""
msgstr[1] ""
#: mod/network.php:528
msgid "Messages in this group won't be send to these receivers."
msgstr ""
#: mod/network.php:595
msgid "No such group"
msgstr ""
#: mod/network.php:616 src/Module/Group.php:288
msgid "Group is empty"
msgstr ""
#: mod/network.php:620
#, php-format
msgid "Group: %s"
msgstr ""
#: mod/network.php:646
msgid "Private messages to this person are at risk of public disclosure."
msgstr ""
#: mod/network.php:649 src/Module/AllFriends.php:35
#: src/Module/AllFriends.php:43
msgid "Invalid contact."
msgstr ""
#: mod/network.php:928
msgid "Latest Activity"
msgstr ""
#: mod/network.php:931
msgid "Sort by latest activity"
msgstr ""
#: mod/network.php:936
msgid "Latest Posts"
msgstr ""
#: mod/network.php:939
msgid "Sort by post received date"
msgstr ""
#: mod/network.php:946 mod/profiles.php:579
msgid "Personal"
msgstr ""
#: mod/network.php:949
msgid "Posts that mention or involve you"
msgstr ""
#: mod/network.php:956
msgid "New"
msgstr ""
#: mod/network.php:959
msgid "Activity Stream - by date"
msgstr ""
#: mod/network.php:967
msgid "Shared Links"
msgstr ""
#: mod/network.php:970
msgid "Interesting Links"
msgstr ""
#: mod/network.php:977
msgid "Starred"
msgstr ""
#: mod/network.php:980
msgid "Favourite Posts"
msgstr ""
#: mod/notifications.php:39
msgid "Invalid request identifier."
msgstr ""
#: mod/notifications.php:100 src/Content/Nav.php:249
msgid "Notifications"
msgstr ""
#: mod/notifications.php:119
msgid "Network Notifications"
msgstr ""
#: mod/notifications.php:124
msgid "System Notifications"
msgstr ""
#: mod/notifications.php:129
msgid "Personal Notifications"
msgstr ""
#: mod/notifications.php:134
msgid "Home Notifications"
msgstr ""
#: mod/notifications.php:157
msgid "Show unread"
msgstr ""
#: mod/notifications.php:157
msgid "Show all"
msgstr ""
#: mod/notifications.php:168
msgid "Show Ignored Requests"
msgstr ""
#: mod/notifications.php:168
msgid "Hide Ignored Requests"
msgstr ""
#: mod/notifications.php:181 mod/notifications.php:266
msgid "Notification type:"
msgstr ""
#: mod/notifications.php:184
msgid "Suggested by:"
msgstr ""
#: mod/notifications.php:196 mod/notifications.php:283
#: src/Module/Contact.php:615
msgid "Hide this contact from others"
msgstr ""
#: mod/notifications.php:198 mod/notifications.php:292
#: src/Model/Contact.php:1270 src/Module/Admin/Users.php:286
msgid "Approve"
msgstr ""
#: mod/notifications.php:218
msgid "Claims to be known to you: "
msgstr ""
#: mod/notifications.php:219
msgid "yes"
msgstr ""
#: mod/notifications.php:219
msgid "no"
msgstr ""
#: mod/notifications.php:220 mod/notifications.php:224
msgid "Shall your connection be bidirectional or not?"
msgstr ""
#: mod/notifications.php:221 mod/notifications.php:225
#, php-format
msgid ""
"Accepting %s as a friend allows %s to subscribe to your posts, and you will "
"also receive updates from them in your news feed."
msgstr ""
#: mod/notifications.php:222
#, php-format
msgid ""
"Accepting %s as a subscriber allows them to subscribe to your posts, but you "
"will not receive updates from them in your news feed."
msgstr ""
#: mod/notifications.php:226
#, php-format
msgid ""
"Accepting %s as a sharer allows them to subscribe to your posts, but you "
"will not receive updates from them in your news feed."
msgstr ""
#: mod/notifications.php:237
msgid "Friend"
msgstr ""
#: mod/notifications.php:238
msgid "Sharer"
msgstr ""
#: mod/notifications.php:238
msgid "Subscriber"
msgstr ""
#: mod/notifications.php:278 src/Model/Profile.php:449
#: src/Model/Profile.php:828 src/Module/Contact.php:632
#: src/Module/Directory.php:143
msgid "About:"
msgstr ""
#: mod/notifications.php:282 src/Model/Profile.php:446
#: src/Model/Profile.php:767 src/Module/Directory.php:140
msgid "Gender:"
msgstr ""
#: mod/notifications.php:289 src/Model/Profile.php:554
#: src/Module/Contact.php:316
msgid "Network:"
msgstr ""
#: mod/notifications.php:303
msgid "No introductions."
msgstr ""
#: mod/notifications.php:337
#, php-format
msgid "No more %s notifications."
msgstr ""
#: mod/openid.php:30
msgid "OpenID protocol error. No ID returned."
msgstr ""
#: mod/openid.php:67
msgid ""
"Account not found. Please login to your existing account to add the OpenID "
"to it."
msgstr ""
#: mod/openid.php:69
msgid ""
"Account not found. Please register a new account or login to your existing "
"account to add the OpenID to it."
msgstr ""
#: mod/openid.php:75 src/Module/Login.php:90 src/Module/Login.php:144
msgid "Login failed."
msgstr ""
#: mod/photos.php:112 src/Model/Profile.php:932
msgid "Photo Albums"
msgstr ""
#: mod/photos.php:113 mod/photos.php:1609
msgid "Recent Photos"
msgstr ""
#: mod/photos.php:115 mod/photos.php:1117 mod/photos.php:1611
msgid "Upload New Photos"
msgstr ""
#: mod/photos.php:133 mod/settings.php:62 src/Module/BaseSettingsModule.php:18
msgid "everybody"
msgstr ""
#: mod/photos.php:170
msgid "Contact information unavailable"
msgstr ""
#: mod/photos.php:192
msgid "Album not found."
msgstr ""
#: mod/photos.php:250
msgid "Album successfully deleted"
msgstr ""
#: mod/photos.php:252
msgid "Album was empty."
msgstr ""
#: mod/photos.php:578
msgid "a photo"
msgstr ""
#: mod/photos.php:578
#, php-format
msgid "%1$s was tagged in %2$s by %3$s"
msgstr ""
#: mod/photos.php:680
msgid "Image upload didn't complete, please try again"
msgstr ""
#: mod/photos.php:683
msgid "Image file is missing"
msgstr ""
#: mod/photos.php:688
msgid ""
"Server can't accept new file upload at this time, please contact your "
"administrator"
msgstr ""
#: mod/photos.php:714
msgid "Image file is empty."
msgstr ""
#: mod/photos.php:846
msgid "No photos selected"
msgstr ""
#: mod/photos.php:912 mod/videos.php:168
msgid "Access to this item is restricted."
msgstr ""
#: mod/photos.php:966
msgid "Upload Photos"
msgstr ""
#: mod/photos.php:970 mod/photos.php:1062
msgid "New album name: "
msgstr ""
#: mod/photos.php:971
msgid "or select existing album:"
msgstr ""
#: mod/photos.php:972
msgid "Do not show a status post for this upload"
msgstr ""
#: mod/photos.php:988 mod/photos.php:1356 mod/settings.php:1206
msgid "Show to Groups"
msgstr ""
#: mod/photos.php:989 mod/photos.php:1357 mod/settings.php:1207
msgid "Show to Contacts"
msgstr ""
#: mod/photos.php:1044
msgid "Do you really want to delete this photo album and all its photos?"
msgstr ""
#: mod/photos.php:1046 mod/photos.php:1067
msgid "Delete Album"
msgstr ""
#: mod/photos.php:1073
msgid "Edit Album"
msgstr ""
#: mod/photos.php:1074
msgid "Drop Album"
msgstr ""
#: mod/photos.php:1079
msgid "Show Newest First"
msgstr ""
#: mod/photos.php:1081
msgid "Show Oldest First"
msgstr ""
#: mod/photos.php:1102 mod/photos.php:1594
msgid "View Photo"
msgstr ""
#: mod/photos.php:1139
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
#: mod/photos.php:1141
msgid "Photo not available"
msgstr ""
#: mod/photos.php:1151
msgid "Do you really want to delete this photo?"
msgstr ""
#: mod/photos.php:1153 mod/photos.php:1353
msgid "Delete Photo"
msgstr ""
#: mod/photos.php:1244
msgid "View photo"
msgstr ""
#: mod/photos.php:1246
msgid "Edit photo"
msgstr ""
#: mod/photos.php:1247
msgid "Delete photo"
msgstr ""
#: mod/photos.php:1248
msgid "Use as profile photo"
msgstr ""
#: mod/photos.php:1255
msgid "Private Photo"
msgstr ""
#: mod/photos.php:1261
msgid "View Full Size"
msgstr ""
#: mod/photos.php:1321
msgid "Tags: "
msgstr ""
#: mod/photos.php:1324
msgid "[Select tags to remove]"
msgstr ""
#: mod/photos.php:1339
msgid "New album name"
msgstr ""
#: mod/photos.php:1340
msgid "Caption"
msgstr ""
#: mod/photos.php:1341
msgid "Add a Tag"
msgstr ""
#: mod/photos.php:1341
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
#: mod/photos.php:1342
msgid "Do not rotate"
msgstr ""
#: mod/photos.php:1343
msgid "Rotate CW (right)"
msgstr ""
#: mod/photos.php:1344
msgid "Rotate CCW (left)"
msgstr ""
#: mod/photos.php:1378 src/Object/Post.php:310
msgid "I like this (toggle)"
msgstr ""
#: mod/photos.php:1379 src/Object/Post.php:311
msgid "I don't like this (toggle)"
msgstr ""
#: mod/photos.php:1394 mod/photos.php:1433 mod/photos.php:1498
#: src/Module/Item/Compose.php:180 src/Module/Contact.php:1023
#: src/Object/Post.php:881
msgid "This is you"
msgstr ""
#: mod/photos.php:1396 mod/photos.php:1435 mod/photos.php:1500
#: src/Object/Post.php:420 src/Object/Post.php:883
msgid "Comment"
msgstr ""
#: mod/photos.php:1529
msgid "Map"
msgstr ""
#: mod/photos.php:1600 mod/videos.php:245
msgid "View Album"
msgstr ""
#: mod/poke.php:178
msgid "Poke/Prod"
msgstr ""
#: mod/poke.php:179
msgid "poke, prod or do other things to somebody"
msgstr ""
#: mod/poke.php:180
msgid "Recipient"
msgstr ""
#: mod/poke.php:181
msgid "Choose what you wish to do to recipient"
msgstr ""
#: mod/poke.php:184
msgid "Make this post private"
msgstr ""
#: mod/profiles.php:62
@ -1431,20 +2743,6 @@ msgstr ""
msgid "Edit Profile Details"
msgstr ""
#: mod/profiles.php:562 mod/crepair.php:149 mod/fsuggest.php:92
#: mod/manage.php:183 mod/message.php:261 mod/message.php:441
#: mod/photos.php:991 mod/photos.php:1101 mod/photos.php:1387
#: mod/photos.php:1432 mod/photos.php:1471 mod/photos.php:1531 mod/poke.php:184
#: mod/events.php:552 view/theme/duepuntozero/config.php:72
#: view/theme/frio/config.php:127 view/theme/quattro/config.php:74
#: view/theme/vier/config.php:120 src/Module/Debug/Localtime.php:45
#: src/Module/Invite.php:157 src/Module/Item/Compose.php:178
#: src/Module/Contact.php:560 src/Module/Install.php:212
#: src/Module/Install.php:252 src/Module/Install.php:288
#: src/Object/Post.php:879
msgid "Submit"
msgstr ""
#: mod/profiles.php:563
msgid "Change Profile Photo"
msgstr ""
@ -1457,7 +2755,7 @@ msgstr ""
msgid "View all profiles"
msgstr ""
#: mod/profiles.php:567 mod/profiles.php:662 src/Model/Profile.php:423
#: mod/profiles.php:567 mod/profiles.php:662 src/Model/Profile.php:419
msgid "Edit visibility"
msgstr ""
@ -1493,11 +2791,6 @@ msgstr ""
msgid "Additional information"
msgstr ""
#: mod/profiles.php:579 mod/network.php:992
#: src/Core/NotificationsManager.php:158
msgid "Personal"
msgstr ""
#: mod/profiles.php:580
msgid "Relation"
msgstr ""
@ -1506,10 +2799,6 @@ msgstr ""
msgid "Miscellaneous"
msgstr ""
#: mod/profiles.php:583 mod/profile_photo.php:246 src/Module/Welcome.php:39
msgid "Upload Profile Photo"
msgstr ""
#: mod/profiles.php:584
msgid "Your Gender:"
msgstr ""
@ -1518,7 +2807,7 @@ msgstr ""
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
#: mod/profiles.php:586 src/Model/Profile.php:808
#: mod/profiles.php:586 src/Model/Profile.php:804
msgid "Sexual Preference:"
msgstr ""
@ -1530,10 +2819,6 @@ msgstr ""
msgid "Profile Name:"
msgstr ""
#: mod/profiles.php:592 mod/events.php:510 mod/events.php:542
msgid "Required"
msgstr ""
#: mod/profiles.php:594
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
@ -1568,7 +2853,7 @@ msgstr ""
msgid "Country:"
msgstr ""
#: mod/profiles.php:604 src/Util/Temporal.php:149
#: mod/profiles.php:604 src/Util/Temporal.php:148
msgid "Age: "
msgstr ""
@ -1602,11 +2887,11 @@ msgstr ""
msgid "Homepage URL:"
msgstr ""
#: mod/profiles.php:613 src/Model/Profile.php:816
#: mod/profiles.php:613 src/Model/Profile.php:812
msgid "Hometown:"
msgstr ""
#: mod/profiles.php:614 src/Model/Profile.php:824
#: mod/profiles.php:614 src/Model/Profile.php:820
msgid "Political Views:"
msgstr ""
@ -1630,11 +2915,11 @@ msgstr ""
msgid "(Used for searching profiles, never shown to others)"
msgstr ""
#: mod/profiles.php:618 src/Model/Profile.php:840
#: mod/profiles.php:618 src/Model/Profile.php:836
msgid "Likes:"
msgstr ""
#: mod/profiles.php:619 src/Model/Profile.php:844
#: mod/profiles.php:619 src/Model/Profile.php:840
msgid "Dislikes:"
msgstr ""
@ -1674,11 +2959,11 @@ msgstr ""
msgid "Contact information and Social Networks"
msgstr ""
#: mod/profiles.php:659 src/Model/Profile.php:419
#: mod/profiles.php:659 src/Model/Profile.php:415
msgid "Profile Image"
msgstr ""
#: mod/profiles.php:661 src/Model/Profile.php:422
#: mod/profiles.php:661 src/Model/Profile.php:418
msgid "visible to everybody"
msgstr ""
@ -1686,1820 +2971,278 @@ msgstr ""
msgid "Edit/Manage Profiles"
msgstr ""
#: mod/profiles.php:669 src/Model/Profile.php:409 src/Model/Profile.php:430
#: mod/profiles.php:669 src/Model/Profile.php:405 src/Model/Profile.php:426
msgid "Change profile photo"
msgstr ""
#: mod/profiles.php:670 src/Model/Profile.php:410
#: mod/profiles.php:670 src/Model/Profile.php:406
msgid "Create New Profile"
msgstr ""
#: mod/cal.php:34 mod/cal.php:38 mod/community.php:40 mod/follow.php:20
#: src/Module/Debug/ItemBody.php:18
msgid "Access denied."
#: mod/regmod.php:53
msgid "Account approved."
msgstr ""
#: mod/cal.php:140 mod/display.php:303 src/Module/Profile.php:185
msgid "Access to this profile has been restricted."
msgstr ""
#: mod/cal.php:271 mod/events.php:383 view/theme/frio/theme.php:271
#: view/theme/frio/theme.php:275 src/Content/Nav.php:164
#: src/Content/Nav.php:228 src/Model/Profile.php:953 src/Model/Profile.php:964
msgid "Events"
msgstr ""
#: mod/cal.php:272 mod/events.php:384
msgid "View"
msgstr ""
#: mod/cal.php:273 mod/events.php:386
msgid "Previous"
msgstr ""
#: mod/cal.php:274 mod/events.php:387 src/Module/Install.php:174
msgid "Next"
msgstr ""
#: mod/cal.php:277 mod/events.php:392 src/Model/Event.php:428
msgid "today"
msgstr ""
#: mod/cal.php:278 mod/events.php:393 src/Util/Temporal.php:314
#: src/Model/Event.php:429
msgid "month"
msgstr ""
#: mod/cal.php:279 mod/events.php:394 src/Util/Temporal.php:315
#: src/Model/Event.php:430
msgid "week"
msgstr ""
#: mod/cal.php:280 mod/events.php:395 src/Util/Temporal.php:316
#: src/Model/Event.php:431
msgid "day"
msgstr ""
#: mod/cal.php:281 mod/events.php:396
msgid "list"
msgstr ""
#: mod/cal.php:294 src/Model/User.php:384 src/Console/NewPassword.php:88
msgid "User not found"
msgstr ""
#: mod/cal.php:310
msgid "This calendar format is not supported"
msgstr ""
#: mod/cal.php:312
msgid "No exportable data found"
msgstr ""
#: mod/cal.php:329
msgid "calendar"
msgstr ""
#: mod/common.php:90
msgid "No contacts in common."
msgstr ""
#: mod/common.php:141 src/Module/Contact.php:870
msgid "Common Friends"
msgstr ""
#: mod/community.php:33 mod/dfrn_request.php:597 mod/photos.php:850
#: mod/search.php:87 mod/search.php:93 mod/videos.php:118 mod/display.php:201
#: src/Module/Debug/Probe.php:20 src/Module/Debug/WebFinger.php:19
#: src/Module/Directory.php:30
msgid "Public access denied."
msgstr ""
#: mod/community.php:76
msgid "Community option not available."
msgstr ""
#: mod/community.php:93
msgid "Not available."
msgstr ""
#: mod/community.php:103
msgid "Local Community"
msgstr ""
#: mod/community.php:106
msgid "Posts from local users on this server"
msgstr ""
#: mod/community.php:114
msgid "Global Community"
msgstr ""
#: mod/community.php:117
msgid "Posts from users of the whole federated network"
msgstr ""
#: mod/community.php:163 mod/search.php:222
msgid "No results."
msgstr ""
#: mod/community.php:215
msgid ""
"This community stream shows all public posts received by this node. They may "
"not reflect the opinions of this nodes users."
msgstr ""
#: mod/crepair.php:79
msgid "Contact settings applied."
msgstr ""
#: mod/crepair.php:81
msgid "Contact update failed."
msgstr ""
#: mod/crepair.php:102 mod/dfrn_confirm.php:125 mod/fsuggest.php:32
#: mod/fsuggest.php:75 mod/redir.php:32 mod/redir.php:140
#: src/Module/FollowConfirm.php:46 src/Module/Group.php:92
msgid "Contact not found."
msgstr ""
#: mod/crepair.php:115
msgid ""
"<strong>WARNING: This is highly advanced</strong> and if you enter incorrect "
"information your communications with this contact may stop working."
msgstr ""
#: mod/crepair.php:116
msgid ""
"Please use your browser 'Back' button <strong>now</strong> if you are "
"uncertain what to do on this page."
msgstr ""
#: mod/crepair.php:130 mod/crepair.php:132
msgid "No mirroring"
msgstr ""
#: mod/crepair.php:130
msgid "Mirror as forwarded posting"
msgstr ""
#: mod/crepair.php:130 mod/crepair.php:132
msgid "Mirror as my own posting"
msgstr ""
#: mod/crepair.php:145
msgid "Return to contact editor"
msgstr ""
#: mod/crepair.php:147
msgid "Refetch contact data"
msgstr ""
#: mod/crepair.php:150
msgid "Remote Self"
msgstr ""
#: mod/crepair.php:153
msgid "Mirror postings from this contact"
msgstr ""
#: mod/crepair.php:155
msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact."
msgstr ""
#: mod/crepair.php:159 mod/settings.php:679 mod/settings.php:705
#: src/Module/Admin/Blocklist/Contact.php:73 src/Module/Admin/Users.php:272
#: src/Module/Admin/Users.php:283 src/Module/Admin/Users.php:297
#: src/Module/Admin/Users.php:313
msgid "Name"
msgstr ""
#: mod/crepair.php:160
msgid "Account Nickname"
msgstr ""
#: mod/crepair.php:161
msgid "@Tagname - overrides Name/Nickname"
msgstr ""
#: mod/crepair.php:162
msgid "Account URL"
msgstr ""
#: mod/crepair.php:163
msgid "Account URL Alias"
msgstr ""
#: mod/crepair.php:164
msgid "Friend Request URL"
msgstr ""
#: mod/crepair.php:165
msgid "Friend Confirm URL"
msgstr ""
#: mod/crepair.php:166
msgid "Notification Endpoint URL"
msgstr ""
#: mod/crepair.php:167
msgid "Poll/Feed URL"
msgstr ""
#: mod/crepair.php:168
msgid "New photo from this URL"
msgstr ""
#: mod/dfrn_confirm.php:126
msgid ""
"This may occasionally happen if contact was requested by both persons and it "
"has already been approved."
msgstr ""
#: mod/dfrn_confirm.php:227
msgid "Response from remote site was not understood."
msgstr ""
#: mod/dfrn_confirm.php:234 mod/dfrn_confirm.php:240
msgid "Unexpected response from remote site: "
msgstr ""
#: mod/dfrn_confirm.php:249
msgid "Confirmation completed successfully."
msgstr ""
#: mod/dfrn_confirm.php:261
msgid "Temporary failure. Please wait and try again."
msgstr ""
#: mod/dfrn_confirm.php:264
msgid "Introduction failed or was revoked."
msgstr ""
#: mod/dfrn_confirm.php:269
msgid "Remote site reported: "
msgstr ""
#: mod/dfrn_confirm.php:374
#: mod/regmod.php:77
#, php-format
msgid "No user record found for '%s' "
msgid "Registration revoked for %s"
msgstr ""
#: mod/dfrn_confirm.php:384
msgid "Our site encryption key is apparently messed up."
#: mod/regmod.php:84
msgid "Please login."
msgstr ""
#: mod/dfrn_confirm.php:395
msgid "Empty site URL was provided or URL could not be decrypted by us."
msgstr ""
#: mod/dfrn_confirm.php:411
msgid "Contact record was not found for you on our site."
msgstr ""
#: mod/dfrn_confirm.php:425
#, php-format
msgid "Site public key not available in contact record for URL %s."
msgstr ""
#: mod/dfrn_confirm.php:441
msgid ""
"The ID provided by your system is a duplicate on our system. It should work "
"if you try again."
msgstr ""
#: mod/dfrn_confirm.php:452
msgid "Unable to set your contact credentials on our system."
msgstr ""
#: mod/dfrn_confirm.php:508
msgid "Unable to update your contact profile details on our system"
msgstr ""
#: mod/dfrn_confirm.php:538 mod/dfrn_request.php:560 src/Model/Contact.php:2551
msgid "[Name Withheld]"
msgstr ""
#: mod/dfrn_poll.php:125 mod/dfrn_poll.php:530
#, php-format
msgid "%1$s welcomes %2$s"
msgstr ""
#: mod/dfrn_request.php:98
msgid "This introduction has already been accepted."
msgstr ""
#: mod/dfrn_request.php:116 mod/dfrn_request.php:354
msgid "Profile location is not valid or does not contain profile information."
msgstr ""
#: mod/dfrn_request.php:120 mod/dfrn_request.php:358
msgid "Warning: profile location has no identifiable owner name."
msgstr ""
#: mod/dfrn_request.php:123 mod/dfrn_request.php:361
msgid "Warning: profile location has no profile photo."
msgstr ""
#: mod/dfrn_request.php:127 mod/dfrn_request.php:365
#, php-format
msgid "%d required parameter was not found at the given location"
msgid_plural "%d required parameters were not found at the given location"
msgstr[0] ""
msgstr[1] ""
#: mod/dfrn_request.php:165
msgid "Introduction complete."
msgstr ""
#: mod/dfrn_request.php:201
msgid "Unrecoverable protocol error."
msgstr ""
#: mod/dfrn_request.php:228
msgid "Profile unavailable."
msgstr ""
#: mod/dfrn_request.php:249
#, php-format
msgid "%s has received too many connection requests today."
msgstr ""
#: mod/dfrn_request.php:250
msgid "Spam protection measures have been invoked."
msgstr ""
#: mod/dfrn_request.php:251
msgid "Friends are advised to please try again in 24 hours."
msgstr ""
#: mod/dfrn_request.php:275
msgid "Invalid locator"
msgstr ""
#: mod/dfrn_request.php:311
msgid "You have already introduced yourself here."
msgstr ""
#: mod/dfrn_request.php:314
#, php-format
msgid "Apparently you are already friends with %s."
msgstr ""
#: mod/dfrn_request.php:334
msgid "Invalid profile URL."
msgstr ""
#: mod/dfrn_request.php:340 src/Model/Contact.php:2182
msgid "Disallowed profile URL."
msgstr ""
#: mod/dfrn_request.php:346 src/Model/Contact.php:2187
#: src/Module/Friendica.php:59
msgid "Blocked domain"
msgstr ""
#: mod/dfrn_request.php:413 src/Module/Contact.php:143
msgid "Failed to update contact record."
msgstr ""
#: mod/dfrn_request.php:433
msgid "Your introduction has been sent."
msgstr ""
#: mod/dfrn_request.php:471
msgid ""
"Remote subscription can't be done for your network. Please subscribe "
"directly on your system."
msgstr ""
#: mod/dfrn_request.php:487
msgid "Please login to confirm introduction."
msgstr ""
#: mod/dfrn_request.php:495
msgid ""
"Incorrect identity currently logged in. Please login to <strong>this</"
"strong> profile."
msgstr ""
#: mod/dfrn_request.php:509 mod/dfrn_request.php:524
msgid "Confirm"
msgstr ""
#: mod/dfrn_request.php:520
msgid "Hide this contact"
msgstr ""
#: mod/dfrn_request.php:522
#, php-format
msgid "Welcome home %s."
msgstr ""
#: mod/dfrn_request.php:523
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr ""
#: mod/dfrn_request.php:632
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr ""
#: mod/dfrn_request.php:634
#, php-format
msgid ""
"If you are not yet a member of the free social web, <a href=\"%s\">follow "
"this link to find a public Friendica site and join us today</a>."
msgstr ""
#: mod/dfrn_request.php:637
msgid "Friend/Connection Request"
msgstr ""
#: mod/dfrn_request.php:638
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@gnusocial.de"
msgstr ""
#: mod/dfrn_request.php:639 mod/follow.php:162
msgid "Please answer the following:"
msgstr ""
#: mod/dfrn_request.php:640 mod/follow.php:163
#, php-format
msgid "Does %s know you?"
msgstr ""
#: mod/dfrn_request.php:641 mod/follow.php:164
msgid "Add a personal note:"
msgstr ""
#: mod/dfrn_request.php:643
msgid "Friendica"
msgstr ""
#: mod/dfrn_request.php:644
msgid "GNU Social (Pleroma, Mastodon)"
msgstr ""
#: mod/dfrn_request.php:645
msgid "Diaspora (Socialhome, Hubzilla)"
msgstr ""
#: mod/dfrn_request.php:646
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search "
"bar."
msgstr ""
#: mod/editpost.php:28 mod/editpost.php:38
msgid "Item not found"
msgstr ""
#: mod/editpost.php:45
msgid "Edit post"
msgstr ""
#: mod/editpost.php:71 mod/notes.php:46 src/Content/Text/HTML.php:887
#: src/Module/Filer/SaveTag.php:49
msgid "Save"
msgstr ""
#: mod/editpost.php:77
msgid "web link"
msgstr ""
#: mod/editpost.php:78
msgid "Insert video link"
msgstr ""
#: mod/editpost.php:79
msgid "video link"
msgstr ""
#: mod/editpost.php:80
msgid "Insert audio link"
msgstr ""
#: mod/editpost.php:81
msgid "audio link"
msgstr ""
#: mod/editpost.php:95 src/Core/ACL.php:308 src/Module/Item/Compose.php:200
msgid "CC: email addresses"
msgstr ""
#: mod/editpost.php:102 src/Core/ACL.php:309
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
#: mod/fbrowser.php:43 view/theme/frio/theme.php:269 src/Content/Nav.php:162
#: src/Model/Profile.php:933
msgid "Photos"
msgstr ""
#: mod/fbrowser.php:52 mod/fbrowser.php:76 mod/photos.php:196
#: mod/photos.php:973 mod/photos.php:1090 mod/photos.php:1107
#: mod/photos.php:1584 mod/photos.php:1599 src/Model/Photo.php:574
#: src/Model/Photo.php:583
msgid "Contact Photos"
msgstr ""
#: mod/fbrowser.php:112 mod/fbrowser.php:141 mod/profile_photo.php:247
msgid "Upload"
msgstr ""
#: mod/fbrowser.php:136
msgid "Files"
msgstr ""
#: mod/follow.php:46
msgid "The contact could not be added."
msgstr ""
#: mod/follow.php:87
msgid "You already added this contact."
msgstr ""
#: mod/follow.php:99
msgid "Diaspora support isn't enabled. Contact can't be added."
msgstr ""
#: mod/follow.php:106
msgid "OStatus support is disabled. Contact can't be added."
msgstr ""
#: mod/follow.php:113
msgid "The network type couldn't be detected. Contact can't be added."
msgstr ""
#: mod/follow.php:183 mod/notifications.php:276 src/Model/Profile.php:820
#: src/Module/Contact.php:613
msgid "Tags:"
msgstr ""
#: mod/fsuggest.php:44
msgid "Suggested contact not found."
msgstr ""
#: mod/fsuggest.php:57
msgid "Friend suggestion sent."
msgstr ""
#: mod/fsuggest.php:79
msgid "Suggest Friends"
msgstr ""
#: mod/fsuggest.php:81
#, php-format
msgid "Suggest a friend for %s"
msgstr ""
#: mod/hcard.php:20
msgid "No profile"
msgstr ""
#: mod/lockview.php:47 mod/lockview.php:58
msgid "Remote privacy information not available."
msgstr ""
#: mod/lockview.php:67
msgid "Visible to:"
msgstr ""
#: mod/lockview.php:73 mod/lockview.php:108 src/Content/Widget.php:192
#: src/Module/Item/Compose.php:97 src/Module/Profile/Contacts.php:126
#: src/Module/Contact.php:771
msgid "Followers"
msgstr ""
#: mod/lockview.php:79 mod/lockview.php:114 src/Module/Item/Compose.php:104
msgid "Mutuals"
msgstr ""
#: mod/lostpass.php:26
msgid "No valid account found."
msgstr ""
#: mod/lostpass.php:38
msgid "Password reset request issued. Check your email."
msgstr ""
#: mod/lostpass.php:44
#, php-format
msgid ""
"\n"
"\t\tDear %1$s,\n"
"\t\t\tA request was recently received at \"%2$s\" to reset your account\n"
"\t\tpassword. In order to confirm this request, please select the "
"verification link\n"
"\t\tbelow or paste it into your web browser address bar.\n"
"\n"
"\t\tIf you did NOT request this change, please DO NOT follow the link\n"
"\t\tprovided and ignore and/or delete this email, the request will expire "
"shortly.\n"
"\n"
"\t\tYour password will not be changed unless we can verify that you\n"
"\t\tissued this request."
msgstr ""
#: mod/lostpass.php:55
#, php-format
msgid ""
"\n"
"\t\tFollow this link soon to verify your identity:\n"
"\n"
"\t\t%1$s\n"
"\n"
"\t\tYou will then receive a follow-up message containing the new password.\n"
"\t\tYou may change that password from your account settings page after "
"logging in.\n"
"\n"
"\t\tThe login details are as follows:\n"
"\n"
"\t\tSite Location:\t%2$s\n"
"\t\tLogin Name:\t%3$s"
msgstr ""
#: mod/lostpass.php:74
#, php-format
msgid "Password reset requested at %s"
msgstr ""
#: mod/lostpass.php:89
msgid ""
"Request could not be verified. (You may have previously submitted it.) "
"Password reset failed."
msgstr ""
#: mod/lostpass.php:102
msgid "Request has expired, please make a new one."
msgstr ""
#: mod/lostpass.php:117
msgid "Forgot your Password?"
msgstr ""
#: mod/lostpass.php:118
msgid ""
"Enter your email address and submit to have your password reset. Then check "
"your email for further instructions."
msgstr ""
#: mod/lostpass.php:119 src/Module/Login.php:318
msgid "Nickname or Email: "
msgstr ""
#: mod/lostpass.php:120
msgid "Reset"
msgstr ""
#: mod/lostpass.php:135 src/Module/Login.php:330
msgid "Password Reset"
msgstr ""
#: mod/lostpass.php:136
msgid "Your password has been reset as requested."
msgstr ""
#: mod/lostpass.php:137
msgid "Your new password is"
msgstr ""
#: mod/lostpass.php:138
msgid "Save or copy your new password - and then"
msgstr ""
#: mod/lostpass.php:139
msgid "click here to login"
msgstr ""
#: mod/lostpass.php:140
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
msgstr ""
#: mod/lostpass.php:147
#, php-format
msgid ""
"\n"
"\t\t\tDear %1$s,\n"
"\t\t\t\tYour password has been changed as requested. Please retain this\n"
"\t\t\tinformation for your records (or change your password immediately to\n"
"\t\t\tsomething that you will remember).\n"
"\t\t"
msgstr ""
#: mod/lostpass.php:153
#, php-format
msgid ""
"\n"
"\t\t\tYour login details are as follows:\n"
"\n"
"\t\t\tSite Location:\t%1$s\n"
"\t\t\tLogin Name:\t%2$s\n"
"\t\t\tPassword:\t%3$s\n"
"\n"
"\t\t\tYou may change that password from your account settings page after "
"logging in.\n"
"\t\t"
msgstr ""
#: mod/lostpass.php:169
#, php-format
msgid "Your password has been changed at %s"
msgstr ""
#: mod/manage.php:179
msgid "Manage Identities and/or Pages"
msgstr ""
#: mod/manage.php:180
msgid ""
"Toggle between different identities or community/group pages which share "
"your account details or which you have been granted \"manage\" permissions"
msgstr ""
#: mod/manage.php:181
msgid "Select an identity to manage: "
msgstr ""
#: mod/message.php:33 mod/message.php:116 src/Content/Nav.php:257
msgid "New Message"
msgstr ""
#: mod/message.php:74
msgid "Unable to locate contact information."
msgstr ""
#: mod/message.php:110 mod/notifications.php:49 mod/notifications.php:198
#: mod/notifications.php:254
msgid "Discard"
msgstr ""
#: mod/message.php:123 view/theme/frio/theme.php:276 src/Content/Nav.php:254
msgid "Messages"
msgstr ""
#: mod/message.php:148
msgid "Do you really want to delete this message?"
msgstr ""
#: mod/message.php:166
msgid "Conversation not found."
msgstr ""
#: mod/message.php:171
msgid "Message deleted."
msgstr ""
#: mod/message.php:176 mod/message.php:190
msgid "Conversation removed."
msgstr ""
#: mod/message.php:289
msgid "No messages."
msgstr ""
#: mod/message.php:352
msgid "Message not available."
msgstr ""
#: mod/message.php:406
msgid "Delete message"
msgstr ""
#: mod/message.php:408 mod/message.php:540
msgid "D, d M Y - g:i A"
msgstr ""
#: mod/message.php:423 mod/message.php:537
msgid "Delete conversation"
msgstr ""
#: mod/message.php:425
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr ""
#: mod/message.php:429
msgid "Send Reply"
msgstr ""
#: mod/message.php:512
#, php-format
msgid "Unknown sender - %s"
msgstr ""
#: mod/message.php:514
#, php-format
msgid "You and %s"
msgstr ""
#: mod/message.php:516
#, php-format
msgid "%s and You"
msgstr ""
#: mod/message.php:543
#, php-format
msgid "%d message"
msgid_plural "%d messages"
msgstr[0] ""
msgstr[1] ""
#: mod/network.php:183 mod/search.php:35
msgid "Remove term"
msgstr ""
#: mod/network.php:190 mod/search.php:44
msgid "Saved Searches"
msgstr ""
#: mod/network.php:191 src/Model/Group.php:483
msgid "add"
msgstr ""
#: mod/network.php:571
#, php-format
msgid ""
"Warning: This group contains %s member from a network that doesn't allow non "
"public messages."
msgid_plural ""
"Warning: This group contains %s members from a network that doesn't allow "
"non public messages."
msgstr[0] ""
msgstr[1] ""
#: mod/network.php:574
msgid "Messages in this group won't be send to these receivers."
msgstr ""
#: mod/network.php:641
msgid "No such group"
msgstr ""
#: mod/network.php:662 src/Module/Group.php:288
msgid "Group is empty"
msgstr ""
#: mod/network.php:666
#, php-format
msgid "Group: %s"
msgstr ""
#: mod/network.php:692
msgid "Private messages to this person are at risk of public disclosure."
msgstr ""
#: mod/network.php:695 src/Module/AllFriends.php:35
#: src/Module/AllFriends.php:43
msgid "Invalid contact."
msgstr ""
#: mod/network.php:974
msgid "Commented Order"
msgstr ""
#: mod/network.php:977
msgid "Sort by Comment Date"
msgstr ""
#: mod/network.php:982
msgid "Posted Order"
msgstr ""
#: mod/network.php:985
msgid "Sort by Post Date"
msgstr ""
#: mod/network.php:995
msgid "Posts that mention or involve you"
msgstr ""
#: mod/network.php:1002
msgid "New"
msgstr ""
#: mod/network.php:1005
msgid "Activity Stream - by date"
msgstr ""
#: mod/network.php:1013
msgid "Shared Links"
msgstr ""
#: mod/network.php:1016
msgid "Interesting Links"
msgstr ""
#: mod/network.php:1023
msgid "Starred"
msgstr ""
#: mod/network.php:1026
msgid "Favourite Posts"
msgstr ""
#: mod/notes.php:34 src/Model/Profile.php:975
msgid "Personal Notes"
msgstr ""
#: mod/photos.php:113 src/Model/Profile.php:936
msgid "Photo Albums"
msgstr ""
#: mod/photos.php:114 mod/photos.php:1639
msgid "Recent Photos"
msgstr ""
#: mod/photos.php:116 mod/photos.php:1152 mod/photos.php:1641
msgid "Upload New Photos"
msgstr ""
#: mod/photos.php:134 mod/settings.php:60 src/Module/BaseSettingsModule.php:18
msgid "everybody"
msgstr ""
#: mod/photos.php:185
msgid "Contact information unavailable"
msgstr ""
#: mod/photos.php:207
msgid "Album not found."
msgstr ""
#: mod/photos.php:265
msgid "Album successfully deleted"
msgstr ""
#: mod/photos.php:267
msgid "Album was empty."
msgstr ""
#: mod/photos.php:590
msgid "a photo"
msgstr ""
#: mod/photos.php:590
#, php-format
msgid "%1$s was tagged in %2$s by %3$s"
msgstr ""
#: mod/photos.php:689
msgid "Image upload didn't complete, please try again"
msgstr ""
#: mod/photos.php:692
msgid "Image file is missing"
msgstr ""
#: mod/photos.php:697
msgid ""
"Server can't accept new file upload at this time, please contact your "
"administrator"
msgstr ""
#: mod/photos.php:723
msgid "Image file is empty."
msgstr ""
#: mod/photos.php:855
msgid "No photos selected"
msgstr ""
#: mod/photos.php:947 mod/videos.php:210
msgid "Access to this item is restricted."
msgstr ""
#: mod/photos.php:1001
msgid "Upload Photos"
msgstr ""
#: mod/photos.php:1005 mod/photos.php:1097
msgid "New album name: "
msgstr ""
#: mod/photos.php:1006
msgid "or select existing album:"
msgstr ""
#: mod/photos.php:1007
msgid "Do not show a status post for this upload"
msgstr ""
#: mod/photos.php:1009 mod/photos.php:1383 mod/events.php:555
#: src/Core/ACL.php:314
msgid "Permissions"
msgstr ""
#: mod/photos.php:1023 mod/photos.php:1391 mod/settings.php:1213
msgid "Show to Groups"
msgstr ""
#: mod/photos.php:1024 mod/photos.php:1392 mod/settings.php:1214
msgid "Show to Contacts"
msgstr ""
#: mod/photos.php:1079
msgid "Do you really want to delete this photo album and all its photos?"
msgstr ""
#: mod/photos.php:1081 mod/photos.php:1102
msgid "Delete Album"
msgstr ""
#: mod/photos.php:1108
msgid "Edit Album"
msgstr ""
#: mod/photos.php:1109
msgid "Drop Album"
msgstr ""
#: mod/photos.php:1114
msgid "Show Newest First"
msgstr ""
#: mod/photos.php:1116
msgid "Show Oldest First"
msgstr ""
#: mod/photos.php:1137 mod/photos.php:1624
msgid "View Photo"
msgstr ""
#: mod/photos.php:1174
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
#: mod/photos.php:1176
msgid "Photo not available"
msgstr ""
#: mod/photos.php:1186
msgid "Do you really want to delete this photo?"
msgstr ""
#: mod/photos.php:1188 mod/photos.php:1388
msgid "Delete Photo"
msgstr ""
#: mod/photos.php:1279
msgid "View photo"
msgstr ""
#: mod/photos.php:1281
msgid "Edit photo"
msgstr ""
#: mod/photos.php:1282
msgid "Delete photo"
msgstr ""
#: mod/photos.php:1283
msgid "Use as profile photo"
msgstr ""
#: mod/photos.php:1290
msgid "Private Photo"
msgstr ""
#: mod/photos.php:1296
msgid "View Full Size"
msgstr ""
#: mod/photos.php:1356
msgid "Tags: "
msgstr ""
#: mod/photos.php:1359
msgid "[Select tags to remove]"
msgstr ""
#: mod/photos.php:1374
msgid "New album name"
msgstr ""
#: mod/photos.php:1375
msgid "Caption"
msgstr ""
#: mod/photos.php:1376
msgid "Add a Tag"
msgstr ""
#: mod/photos.php:1376
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
#: mod/photos.php:1377
msgid "Do not rotate"
msgstr ""
#: mod/photos.php:1378
msgid "Rotate CW (right)"
msgstr ""
#: mod/photos.php:1379
msgid "Rotate CCW (left)"
msgstr ""
#: mod/photos.php:1413 src/Object/Post.php:313
msgid "I like this (toggle)"
msgstr ""
#: mod/photos.php:1414 src/Object/Post.php:314
msgid "I don't like this (toggle)"
msgstr ""
#: mod/photos.php:1429 mod/photos.php:1468 mod/photos.php:1528
#: src/Module/Item/Compose.php:176 src/Module/Contact.php:1002
#: src/Object/Post.php:876
msgid "This is you"
msgstr ""
#: mod/photos.php:1431 mod/photos.php:1470 mod/photos.php:1530
#: src/Object/Post.php:420 src/Object/Post.php:878
msgid "Comment"
msgstr ""
#: mod/photos.php:1559
msgid "Map"
msgstr ""
#: mod/photos.php:1630 mod/videos.php:287
msgid "View Album"
msgstr ""
#: mod/ping.php:272
msgid "{0} wants to be your friend"
msgstr ""
#: mod/ping.php:288
msgid "{0} requested registration"
msgstr ""
#: mod/poke.php:177
msgid "Poke/Prod"
msgstr ""
#: mod/poke.php:178
msgid "poke, prod or do other things to somebody"
msgstr ""
#: mod/poke.php:179
msgid "Recipient"
msgstr ""
#: mod/poke.php:180
msgid "Choose what you wish to do to recipient"
msgstr ""
#: mod/poke.php:183
msgid "Make this post private"
msgstr ""
#: mod/profile_photo.php:58
msgid "Image uploaded but image cropping failed."
msgstr ""
#: mod/profile_photo.php:88 mod/profile_photo.php:97 mod/profile_photo.php:106
#: mod/profile_photo.php:311
#, php-format
msgid "Image size reduction [%s] failed."
msgstr ""
#: mod/profile_photo.php:125
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr ""
#: mod/profile_photo.php:133
msgid "Unable to process image"
msgstr ""
#: mod/profile_photo.php:244
msgid "Upload File:"
msgstr ""
#: mod/profile_photo.php:245
msgid "Select a profile:"
msgstr ""
#: mod/profile_photo.php:250
msgid "or"
msgstr ""
#: mod/profile_photo.php:251
msgid "skip this step"
msgstr ""
#: mod/profile_photo.php:251
msgid "select a photo from your photo albums"
msgstr ""
#: mod/profile_photo.php:264
msgid "Crop Image"
msgstr ""
#: mod/profile_photo.php:265
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
#: mod/profile_photo.php:267
msgid "Done Editing"
msgstr ""
#: mod/profile_photo.php:301
msgid "Image uploaded successfully."
msgstr ""
#: mod/search.php:92
msgid "Only logged in users are permitted to perform a search."
msgstr ""
#: mod/search.php:114
msgid "Only one search per minute is permitted for not logged in users."
msgstr ""
#: mod/search.php:134 src/Content/Text/HTML.php:893 src/Content/Nav.php:200
msgid "Search"
msgstr ""
#: mod/search.php:228
#, php-format
msgid "Items tagged with: %s"
msgstr ""
#: mod/search.php:230 src/Module/Contact.php:794
#, php-format
msgid "Results for: %s"
msgstr ""
#: mod/subthread.php:104
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr ""
#: mod/suggest.php:28
msgid "Contact suggestion successfully ignored."
msgstr ""
#: mod/suggest.php:52
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
#: mod/suggest.php:71
msgid "Do you really want to delete this suggestion?"
msgstr ""
#: mod/suggest.php:89 mod/suggest.php:109
msgid "Ignore/Hide"
msgstr ""